Periféria ismertető: Micro-POKEer

4 csillagos Cikk értékelése: 4,92 (12 szavazatból)

Gyártó: MICRO-STÚDIÓ
Kiadás: 1987
Eredeti ár: 2000.00 HUF
Ugrás a projekt oldalra

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 hírdették az SpV-ben is. 2000 Ft-ért lehetett hozzájutni.

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.

Funciók

  • Programok fagyasztása (NMI gomb)
  • SCREEN tartalom Load/Save (16384-23295; 6,75 KBájt)
  • Teljes RAM tartalom Load/Save (16384-65535; teljes 48 KBájt)
  • Turbo Load/Save (dupla sebességgel)
  • Peek/Poke/ugrás memória címre
  • Meleg reset
  • Hideg reset

A hardver

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.

Megszakítás

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).

Snapshot

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.

Turbo

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.

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.

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.

Értékelés

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


Kapcsolódó dokumentumok
Dokumentum Nyelv Kategória Hardver Hossz (kb) Tipus
Micro-POKEer ROM disassembly Angol Hardver kézikönyv ZX Spectrum 20 PDF

Visszalépés az előző oldalra