MICRO-POKEer és a ROM visszafejtése

ZX Spectrum hardverek és illesztők...
Avatar
Asimo
Hozzászólások: 147
Csatlakozott: 2012.01.09. 18:49

MICRO-POKEer és a ROM visszafejtése

Hozzászólás Szerző: Asimo » 2015.02.02. 16:36

Sziasztok!

Bali megkért, készítsek összefoglalót arról, amit a MICRO-POKEer-ről megtudtam. Aki nem ismeri az eszközt: Ez egy Multiface-hez hasonló interfész, amivel meg lehet állítani az éppen futó programot, ki lehet menteni a teljes memóriát, örökélet-pókot lehet beírni. A Multiface-nél kevesebbet tud, de még így is nagyon hasznos kis eszköz. A Micro-Studio valamikor 1988-1989 környékén dobta piacra. Ha jól emlékszem, én egy Karácsonyi vásáron (BME aula) találkoztam vele, de hirdették az SpV-ben is. 2000 Ft-ért lehetett hozzájutni.

Részletes infókat a honlapomon találtok (visszafejtett ROM lista, kapcsolási rajz, fotók).

A ROM-ban található szöveg szerint a kódot a V&REW vagy W&REW software Hungary készítette. Nem hallottam még róluk és az interneten sem találtam utalást. Az interfész menüjében viszont csak a MICRO-STUDIO van megemlítve.

A MICRO-POKEer nagyon egyszerű felépítésű. Található benne egy 8 KByte méretű EPROM (M2764A), 2db 7432-es VAGY kapu és egy 7474-es D Flip-Flop. RAM nincs benne, mint pl. a Multiface-ben. Az én MICRO-POKEer verzióm NYÁK lemeze nagyon barkács szagú. Valószínűleg kézzel rajzolták és házilag marták.

A ROM egy része az eredeti ZX Spectrum ROM-jából lett átemelve (pl. Load/Save rutinok, karakterkészlet). A 8K EPROM több mint fele üres, sőt, az EPROM akár 16K-sra is cserélhető, így rengeteg fejlesztési potenciál van benne.

Az elektronika úgy van kialakítva, hogy a 7Fh (127d) portra írt zéróval lehet visszakapcsolni az eredeti ROM-ot, illetve visszatérni a megszakított programba. Érdekesség, ha 1-et írunk a 7Fh portra, akkor bekapcsol a kütyü. Ezt nem használja ki az eszköz (pl. az elmentett snapshot), de egy alternatív firmware-ben esetleg hasznos lehet.

A futó program megszakítása a kék gomb megnyomásával történik, mikor az eszköz a /ROMCS jel segítségével a saját ROM-ját lapozza be, a vezérlés pedig az NMI címre kerül (66h). Itt még nem történik kiírás a képernyőre, csak csendben várakozik a billentyűkre. Mivel nincs saját RAM-ja az interfésznek, ezért bármilyen képernyőre írás "belerondít" a futó programba. Ha visszakerül a vezérlés a programra és az nem frissíti a felülírt területet, akkor a MICRO-POKEer által kiírt szöveg végleg ottmarad. Ezért pl. a Micro-Monitor - amivel a memóriát lehet írni/olvasni - beviteli mezőjét bárhová ki lehet tenni (irányítás Q/A/O/P gombokkal).

A kimentett snapshot kap egy Basic loadert, ami egy gépi kódú betöltőt is tartalmaz. A Basic loader először betölt egy screen-t, ami a program megállítás pillanatában látható képernyőt tartalmazza, majd a loadert a Basic területről a képernyőmemória elejére másolja és ezzel betölti a teljes elmentett memóriát, ezután a vezérlést átadja a programnak. Van egy csel itt: az elmentett screen 2 bájttal hosszabb, mint a teljes képernyőmemória (6914 bájt). Ez a plusz két bájt tartalmazza a program megállításkor elmentett SP (stack pointer) értékét. Így ezt a betöltés után visszaállítja és az elmentett állapot a megállítás pillanatától folytatható (a stack-ben van az NMI feldolgozásakor elmentett PC - program counter). Ennek a megoldásnak van egy szépséghibája: A képernyő első 66 bájtját felülírja, ami több mint két pixel-sor. Itt is igaz a fenti állítás: ha nem frissíti ezt a részt a program, akkor az végig ott rontja a képet.

Az interfész turbo save üzemmódot is tud. Ez pontosan dupla sebességet jelent. Sajnos nagyon sok magnóval ez visszatölthetetlen. Ráadásul, mivel nem ment turbo loadert a Basic betöltőbe, így MICRO-POKEer nélkül vissza sem lehet tölteni a turbo-s mentést. Az interfésznek van turbo load opciója.

Az én MICRO-POKEer verziómon nincs továbbmenő élcsatlakozó, így pl. a Kempston joystick interfészemet sem tudtam használni (mivel azon sincs). Így egy kicsit macerásabb a használata.

Mivel tud többet a Multiface: A benne található 8K RAM-ba el tudja menteni a teljes képernyő memóriát, így bármilyen szöveget/menüt ki tud tenni a képre, a végén vissza tudja állítani teljesen a program képernyőjét. Ezt a 8K RAM-ot sok másra is lehet használni, pl. ún. toolkit-et lehet feltölteni és futtatni benne. Ilyen volt a Genie (disassembler) vagy a Lifeguard (örökélet kereső). Van rajta Kempston joystick port is, így kapásból meg lehet spórolni egy plusz interfészt.

A Turbo Loader bizonytalansága miatt, annak idején felajánlottam a Micro-Studio-nak, hogy átírom megbízhatóbbra a betöltőt. Tetszett az ötletem, de mégsem valósult meg, már nem emlékszem miért. Nem sokkal később Amigára váltottam, így részemről feledésbe merült a téma. A turbo load/save az eredeti ROM rutin másolata, néhány konstans időzítés átírásával, így a javítása sem több pár percnél.

Annak ellenére, hogy a MICRO-POKEer-nek vannak hiányosságai, nagyon jól hekkelhető kütyü.

Avatar
Bali
Alapító tag
Hozzászólások: 2293
Csatlakozott: 2012.01.06. 13:34
Tartózkodási hely: Budapest III.
Kapcsolat:

Re: MICRO-POKEer és a ROM visszafejtése

Hozzászólás Szerző: Bali » 2015.02.10. 10:34

Köszi, hamarosan ki is teszem.
Az eagle file-t is elküldenéd majd?
-= Bali =-
(c) 1983-2017 Evil-Soft

Avatar
Bali
Alapító tag
Hozzászólások: 2293
Csatlakozott: 2012.01.06. 13:34
Tartózkodási hely: Budapest III.
Kapcsolat:

Re: MICRO-POKEer és a ROM visszafejtése

Hozzászólás Szerző: Bali » 2015.02.25. 14:23

Találtam a ROM mentéseink között egy micro-POKEernek titulált rom-ot, ez már 16K-s, de többet nem tudni róla. Ebben már van egy Mini monitor és a TOPSOFT olvasható még a rom kódban.
mpoker_rom.zip
micro-POKEeer rom v1.??
(10.15 KiB) Letöltve 24 alkalommal.
Esetleg jelentkezne, aki küldte! Szerintem egyébként Józsi volt. :)

Ha minden igaz, akkor ez a rom a v2-es Micro-POKEer-é lesz.
uPoker_v2_1.jpg
micro-POKEer v2
-= Bali =-
(c) 1983-2017 Evil-Soft

Avatar
njozsef
Alapító tag
Hozzászólások: 60
Csatlakozott: 2012.01.06. 18:49

Re: MICRO-POKEer és a ROM visszafejtése

Hozzászólás Szerző: njozsef » 2015.02.25. 20:17

A fényképet én küldtem, valószínűleg ennek a ROM-ját mentette el Bali.
DSC_0225.jpg
Sajnos a ROM verzióját nem sikerült a menüből kiderítenem, a MICRO-POKEer-en 1.6 szerepel.
DSC_0224.jpg
Annak idején volt egy másik MICRO-POKEer-em, emlékeim szerint nem ilyen menüje volt. A képernyő alsó sávjában kiírta a verziót és talán még scroll-ozott is valamit. A nálam lévő az eszközből csak ezt sikerült kinyernem a H gomb megnyomásával.
DSC_0221.jpg
DSC_0222.jpg
Kb. 15 mp után jelenik meg a TOVASOFT felirat.
DSC_0223.jpg

Avatar
njozsef
Alapító tag
Hozzászólások: 60
Csatlakozott: 2012.01.06. 18:49

Re: MICRO-POKEer és a ROM visszafejtése

Hozzászólás Szerző: njozsef » 2015.02.25. 20:18

Itt van az SPV-ben megjelent hirdetés.
SPV_2a.jpg

Avatar
Bali
Alapító tag
Hozzászólások: 2293
Csatlakozott: 2012.01.06. 13:34
Tartózkodási hely: Budapest III.
Kapcsolat:

Re: MICRO-POKEer és a ROM visszafejtése

Hozzászólás Szerző: Bali » 2015.02.26. 13:16

Íme a kész ismertető:
http://sinclair.hu?hardver/periferia/micropokeer

Józsi:
Nyilván az előző eszköz volt nálam, hisz ez még le van ragasztva, asszem ugyanakkor megnyerted a Micro-POKEer v2 periféria ismertetőt! :)
-= Bali =-
(c) 1983-2017 Evil-Soft

Avatar
njozsef
Alapító tag
Hozzászólások: 60
Csatlakozott: 2012.01.06. 18:49

Re: MICRO-POKEer és a ROM visszafejtése

Hozzászólás Szerző: njozsef » 2015.02.26. 22:26

Bali! Tőlem csak ezt a MICOR-POKEer-t kaphattad meg és ennek menthetted le a ROM-ját. Szétszedtem, így néz ki belülről.
DSC_0227.jpg
DSC_0228.jpg
DSC_0230.jpg
A korábbi MICRO-POKEer-t biztosan nem járt nálad, mert azt eladtam a 48K-s Spectrumommal együtt, hogy megvehessem a 128K-s gépet. Mindez kb. 25 éve történt. :) Úgy emlékeztem, hogy volt egy pársoros leírás az SPV-ben az eszközről, de csak ezt találtam.
spv12-32-micro-studio.jpg

Avatar
Zozosoft
Hozzászólások: 781
Csatlakozott: 2012.01.06. 14:03
Kapcsolat:

Re: MICRO-POKEer és a ROM visszafejtése

Hozzászólás Szerző: Zozosoft » 2015.02.26. 22:55

A programfékről mesélhetnétek egy kicsit!

csaba
Alapító tag
Hozzászólások: 251
Csatlakozott: 2012.01.09. 19:18
Rádióamatőr hívójel: HG5BMU
Tartózkodási hely: Surány
Kapcsolat:

Re: MICRO-POKEer és a ROM visszafejtése

Hozzászólás Szerző: csaba » 2015.03.02. 08:52

Ha pl. a Z80 WAIT bemenetére változtatható kitöltésű négyszögjelet kapcsolunk, a cpu a jel alacsony szintű ideéig üres ciklusokat hajt végre az utasítások beolvasásakor.
Minél többb az alacsony szint a kitöltési tényezőben annál többet várakozik, annál lassabb a program futása.
Ez a bemenet lassú perifériákhoz lett kitalálva, pl az SM illesztőben amíg a szektor írás olvasás megtörténik, a memória ezen a bemeneten keresztül várakoztatja a cpu-t.
A pokeren ezt az a sarokban levő 555 csinálhatja.

Kiki
Hozzászólások: 35
Csatlakozott: 2012.01.09. 01:26

Re: MICRO-POKEer és a ROM visszafejtése

Hozzászólás Szerző: Kiki » 2015.03.19. 19:58

Állati jópofa volt még a programfék használatakor, hogy a "többcsatornás zizregős" zenék lejátszását lelassítva, a hangmagasság eltolódott lefelé, mint amikor a kazettás magnó nyúzza a szalagot.
Érdekesség még, hogy amikor ezt egy osztálytársamnak elmeséltem kiröhögött, és azt mondta, ez digitális zene - lehetetlen. (Amigás volt)

Válasz küldése

Ki van itt

Jelenlévő fórumozók: nincs regisztrált felhasználó valamint 1 vendég