Az Ultimo egy Windows rendszer alatt futó Primo emulátor, amit Grósz Attila fejleszt. Az alábbi leírás ismerteti az emulátor képességeit és fejlesztésének lépéseit.

Ultimo - Primo emulátor

(C) 2002-2021 Grósz Attila (gyros KUKAC freemail PONT hu)

Mi ez?

Emulátor, olyan program, ami egy adott hardver (jelen esetben számítógép) működését imitálja egy másik típusú hardveren. Ebben a konkrét esetben egy 8-bites magyar mikroszámítógépet emulálunk a PC hardveren, ami pillanatnyilag 32-bites.

Mi a Primo?

A Primo magyar 8-bites számítógép volt, 1984 és 1986 között gyártotta a Microkey, fejlesztése az MTA SZTAKI-ban történt. Iskolai használatra szánták, de végül különböző okok miatt erre nem bizonyult alkalmasnak.

Processzora az egykori NDK-ban Z-80 processzor alapján licenszelt U880 volt. ROM programja sok hasonlóságot mutat a TRS-80 Model I -gyel, ami Magyarországon leginkább HT-1080Z-ként volt ismeretes.

A gép sok szempontból egyedi megoldásokat tartalmazott. További információkért és az emulátor új verzióiért érdemes meglátogatni a http://primo.homeserver.hu weboldalt.

Az Ultimo emulátor képességei

Az Ultimo emulátor hiányosságai

A program használata

Futtatás

Klikk az EXE-re. A menük remélhetőleg magukért beszélnek.

Parancssori opciók:

Ultimo.exe [/b] [/d] [/h] [/ma32|a48|a64|b32|b48|b64] [/t] [/w] [PTP file/PRI file]

/a : autostart tiltása PRI állomány parancsori indítása esetén
/b : ROM/RAM banking engedélyezése (pl. Spectrum emulációhoz)
/d : dupla képernyő az alapértelmezett
/h : hang bekapcsolása indításkor
/i : i:RRGGBB formátumban megadva alapértelmezés szerinti szövegszín módosítása
/m : Primo modell beállítása (a32, a48, a64, b32, b48, b64, c64)
/p : p:RRGGBB formátumban megadva alapértelmezés szerinti háttérszín módosítása
/t : turbó kapcsoló be (3,75 Mhz)
/w : az emulátor maximális sebességgel fut

Egyenlőre csak PTP file-ok parancssori indítása támogatott.

Monitor

A programban egy egyszerű beépített monitor es disassembler is található. Ennek előhívása az ESC[-APE] gomb lenyomásával történik. Második leütésére a program visszatér az emulált gép képernyőjéhez. További monitorkezelő gombok:

Joystick

A joystick emuláció a numerikus billentyűzeten és a PC-hez csatlakoztatott esetleges botkormányon keresztül valósul meg. Az alábbi numerikus billentyűkkel az egyes joystick emulált:

A PC-hez csatlakoztatott esetleges botkormányt az Ultimo kettes joystickként használja.

Magnó

A kazettás magnetofon a Primohoz kapcsolható egyik legelterjedtebb és ezért legfontosabb periféria. A hozzá tartozó kétfajta PC-s formátum egyenlőre a PTP és a WAV (tömörítetlen PCM).

A legelterjedtebb a PTP formátum, ami László József munkája. Az Ultimo mind az írást mind az olvasást támogatja ezen formátumban. A PTP formátum hátránya, hogy csak az eredeti ROM magnóformátumával képes megbírkózni. Előnye az elterjedtég, a gyorsaság és a kis méret. Működési elve röviden annyi, hogy az alap ROM programban ún. csapdákat helyezünk el, és az eredeti Primo magnókezelő rutinok helyett az emulátor függvényeit hívjuk meg, így lehetőseg nyílik az eredetinél jóval gyorsabb töltésre vagy mentésre.

Kezelés: a PTP formátumú állományt a menün keresztül vagy az ALT és az F5 együttes lenyomásával csatoljuk az emulátorhoz. Ezután csak ki kell adni a LOAD parancsot az emulált gépnek, és a töltés elindul. Ha a betöltött program nem autostartos akkor általában a RUN parancs beírásával indítható.

Mentés esetén a SAVE parancsot írjuk be, mögé idézőjelben a kívánt állománynévvel (lehetőleg ékezet nélkül). Az Ultimo ekkor a mentést ezen névvel az aktuális PC-s könyvtárba végzi el.

A másik kazettás formátum a jól ismert WAV. Mind a mentés mind a beolvasás támogatott. Mentésnél először a menün keresztül létrehozzuk a kívánt WAV állományt, majd "lenyomjuk" a virtuális Play/Record gombot (F5). A SAVE parancs kiadása után elkezdődik a mentés. Ez eltarthat egy darabig. A folyamat felgyorsítható ha az emulátort az ALT+F3 billentyűkkel teljes sebességre kapcsoljuk. Ha újra megjelenik az 'Ok' üzenet, a mentés befejeződött. Kapcsoljuk ki a Play/Record gombot és zárjuk le a WAV file-t (ez nagyon fontos!).

Ezzel a módszerrel tetszőleges betöltővel rendelkező állományokat is elmenthetünk és azokat aztán egyszerűen transzferálhatjuk az igazi Primo-ra.

Egyelőre a tapasztalatok szerint a 22 kHz-es felvételek a legmegbízhatóbbak.

Beolvasásnál hasonlóan járunk el, mint a mentésnél, csak értelemszerűen nem a létrehozás, hanem a megnyitás menüpontot kell választani.

Lemezegység

A Primora csatolt lemezegység a Commodore soros buszának protokollját használja. Az Ultimoban csak az újabb címzésű (40h-7fh) soros busz van emulálva, ami egyes A sorozatú és az összes B sorozatú gépben található.

A lemezegység emulációja a Windows file rendszerén keresztül történik. A floppy kezeléséhez be kell tölteni a CDOS nevű programot PTP, PRI vagy PSS formátumban. Ha az emulált Primo B sorozatú, akkor a BRK (PC-n: TAB) és a Reset (PC-n: F1) együttes lenyomásával az emulátor megkísérli betölteni az E.PRI nevű file-t, ami gyakorlatilag a CDOS. Ezután szükséges kiadni egy CMD RESET parancsot, hogy a CDOS megfelelően tudjon működni. Ez egyelőre úgy tűnik csak az emulátornak szükséges, az igazi gépen nem, tehát valami valószínűleg még nem tökéletes.

A CDOS betöltése es reset-elése után lehetséges lemezparancsokat kiadni, pl.:

CMD $
CMD LOAD"*"
CMD SAVE"program"

A programok mentése/töltése mindig az aktuális könyvtárba/-ból történik az ismert PRI formátumban.

A CDOS teljes dokumentációja megtalálható egy külön PDF állományban a Primo web lapon.

Printer

Az Ultimo-ban mind a soros CBM, mind a Centronics nyomtatók emulációja megvalósul. A CBM soros printerek támogatásához természetesen szükséges a floppy emulációnál már említett CDOS program is, ami a soros vonalakat kezeli, mivel ezt a Primo ROM programja alapesetben nem tartalmazza. Az aktuális betöltött BASIC program listáját például az alábbi paranccsal küldhetjük a soros Commodore nyomtatóra:

CMD LLIST

További információkért érdemes a CDOS kézikönyvéhez fordulni.
http://primo.homeserver.hu/doc/konyvek/primofuzetek-cdos.pdf

A Centronics típusú párhuzamos nyomtatót a Primo ROM programja alapesetben támogatja, így ehhez külön szoftver betöltése nem szükséges. A fenti CDOS parancs BASIC megfelelője:

LLIST

A nyomtató kimenete minden esetben az Ultimo könyvtárába létrehozott PRINTER.TXT file-ba íródik. Ezt a továbbiakban már tetszőleges PC-s programmal nyomtathatjuk vagy módosíthatjuk.

Köszönetnyilvánítások

Verziók

v1.5.3

v1.5.2

v1.5.1

v1.5

v1.4

v1.3

v1.2

v1.1

v1.0

v0.50

v0.45b

v0.45

v0.40

v0.35

v0.25

(Grósz Attila)