Ezen az oldalon a Primo használatához, Primo szoftverek (esetleg hardverek) fejlesztéséhez hasznos eszközöket, megoldásokat gyűjtjük össze.


Konverterek programformátumok között

A Primo programokat magnókazettákon terjesztették, a magnóról lejátszott hangot olvasta be a Primo. A kazettás programfájlok tartalmát az emulátorok számára (valamint WAV hangfáljba való visszakonvertáláshoz) a PTP formátum rögzíti. A Primo-hoz csatolt lemezegységen lévő programok a PRI formátumban vannak archiválva (ezek a lemezegységen található program formátummal azonosak).

A formátumok közötti konvertáláshoz a következő programok használhatók:


A BIN2PTP eszköz

Az "Ultimo Primo Bin to PTP file converter" 2024-ben készült és a Fast&Force fejlesztése. Gépi kódú (Z80 bináris) programot tud a Primo PTP formátumába konvertálni. Angol nyelvű leírása a projekthez csatolt readme fájlban olvasható. Ez alapján röviden összefoglalva a használata a következő:

Indítás: bin2ptp file_name.bin load_address [start_address]
Példa 1: bin2ptp.exe primo_game1.bin 17408
Példa 2: bin2ptp.exe primo_game2.bin 17408 18201

Tudnivalók:

Használati lépések például egy Primo játék fejlesztéséhez:

  1. Z80 assembly program készítése a Primohoz tetszőleges Z80 assembler IDE segítségével.
    Ehhez hasznos információk találhatók a Primo hardver kézikönyvben valamint a Primo szoftver kézikönyvben.
    Fejlesztőeszközként javasolt a TVC Developer Tool.

  2. A Z80 kódot a $4400 címtől (17408 decimális) kell elhelyezni.
    Példakód a TVC Developer Tool eszközben:

    org $4400 ; organize code to RAM area of Primo
    genbinary ; TVC DevTool will generate raw binary file of machine-code
    jp START_MUSIC
    dw 399 ; 32.7 Hz C1
    dw 422 ; 34.65 Hz CISZ1
     ...
     ...
    dw 0 ; 0 Hz MUTE

    START_MUSIC nop ; the program code
     ...
     ...

  3. A Z80 assembly programból Z80 bináris készítése.
    A TVC Developer Tool eszközben ez megtehető a CTRL+SHIFT+B gombbal, így a kimenet egy bináris gépi kódú fájl lesz .bin kiterjesztéssel.

  4. A bin2ptp eszközzel a PTP fájl elkészítése:
    bin2ptp.exe music.bin 17408

  5. Az Ultimo emulátor futtatása:
    - Magnó menü, a PTP fájl csatolása.
    - LOAD <return> parancs az emulátorban (emulált Primo-ban).
    - A program betöltődik és automatikusan elindul.

A Windows alatt futtatható eszköz és forráskódja egy csomagban letölhető (a forráskód egy éjszaka alatt készült el Notepad++-ban, és DotNet 6.0 SDK parancssorral fordítható le).

(c) 2024 by Fast&Force


A z88dk C fejlesztői környezet

A z88dk egy multiplatform C fejlesztői környezet, ami a Z80 processzort is támogatja. Tartalmaz C fordítót, linkert, könyvtárakat különféle Z80 alapú számítógépek programjainak előállításához. Részletek az eszköz oldalán, valamint a kapcsolódó Wiki oldalakon találhatók.

Vass Sándor elkészítette a z88dk-hoz a Primo támogatást, amit befogadtak a projektbe. Így lehet Primóra is programot fordítani és PTP vagy PRI formátumú fájlt generálni.

A PRI-ben assembly kód hívás található, a PTP-ben pedig egy BASIC program indul el 10 A=CALL(...) hívással. Ez utóbbinak az az előnye, hogy amikor a main() C függvény lefut és visszatér, akkor a Primo visszaadja a promptot (és nem lefagy/resetelődik/stb...), továbbá ki lehet írni magnóra és ez alapján be lehet tölteni fizikai hardveren is.

Windows alatt a z88dk telepítéséhez szükséges a letöltött z88dk csomag kibontása egy könyvtárba, a ZCCCFG rendszerváltozó beállítása a {z88dk}\lib\config könyvtárra, valamint a PATH rendszerváltozóhoz a {z88dk}\bin könyvtár hozzáadása (itt {z88dk} jelöli azt a könyvtárat, ahová a kibontás történt). Ezután már használható a fordító.

Vass Sándor által a 8kiralyno.zip programhoz adott readme fájl alapján a használat a 8kiralyno.c program lefordításának példáján bemutatva:

PTP formátumba történő fordítás (a warningokkal nem kell foglalkozni):
zcc +primo 8kiralyno.c -o 8kiralyno.ptp -create-app -Cz"-t ptp"

PRI formátumba történő fordítás:
zcc +primo 8kiralyno.c -o 8kiralyno.pri -create-app -Cz"-t pri"


A Zombi szoftver

A Zombi szoftvert Keresztes József fejlesztette. A következőket írta a programról:

"A Zombi szoftver kifejlesztésének ötlete 2011 augusztusára tehető. Mivel a Primo .ptp formátum adott volt, jó lett volna egy olyan szoftver is, ami támogatja egy PC-s szövegszerkesztővel írt Z80 assembly forráskód átalakítását erre a formára. Egyrészt azért, mert lehet nálunk olyan régi program, mely nem magnószalagon maradt meg (nálam pl. papíron), másrészt, hogy az ezután írt programok kényelmesen elkészíthetők legyenek egy PC-s szövegszerkesztővel, és gyorsan futtathatók az emulátorokkal. Továbbá egymás között elég legyen az olvasható Z80 forrást megosztani, a futtatására könnyen képesek legyünk.

A project kezdetben a "z80ptp" nevet viselte, mivel eredetileg csak az volt a cél, hogy a Primo .ptp formáját támogassa. Nekem is Primo számítógépem volt, erre fejlesztettem kisebb programokat az 1980-as években, és jelenleg is ezeket az emulátorokat használom. Azonban ha távolabbra tekintünk, és másokkal beszélgetünk, hamar rájövünk, hogy érdemes a hatókört kiterjeszteni más Z80 processzor alapú gépek irányába. Így tehát a cél az lett, hogy olyan formátumokat is támogasson, melyek leírása hozzáférhető.

A project fő eleme a Z80 fordító, mely gépi kódra alakítja a forrást. A szintaxis a Microkey Primo levelezőlistán résztvevő tagokkal közösen lett kialakítva, de pár egyéb fejlettebb képesség nem került bele, például: makrók használata, include, stringek kezelése. Ezek megvalósítása a fejlesztési időt jóval meghosszabbította volna, és eredetileg én sem terveztem egy mindent tudó komplex fordítót."

A Zombiról további információk a honlapján találhatók: http://xesj.hu/zombi

Az utóbbi időben a honlap tartalma sajnos eltűnt, így az alábbi tartalom a 2011-ben részlegesen archivált verzióból származik:

A program használata:

A Z80 forráskódot írjuk meg kedvenc szövegszerkesztőnkkel, majd a Zombi-val készítsük el azt a fájl formátumot, amit egyből betölthetünk az emulátorokba. Miután letöltöttük a Zombi-t, szükségünk van még a Java futtatókörnyezet legalább 6-os verziójára.
Ha megírtuk az elso.z80 fájlunkat, így lehet elkészíteni a .ptp, .mac, .dic formátumokat:

java -jar Zombi.jar elso.z80 ptp

A példában a letöltött Zombi-0.6.jar fájlt átneveztük Zombi.jar -ra, a könnyebb hivatkozás miatt.
Az első paraméter mindig a Z80 forrás fájl, az utána következő paraméterek az elkészítendő fájl formátumok (ez lehet ptp, mac, cas, dic). Ha a programot paraméter nélkül indítjuk, akkor a grafikus felülete lesz látható, itt minden beállítás a felületen adható meg.

javaw -jar Zombi.jar

Az archivált változat és néhány példaprogram:

Várjuk a további információkat, vagy a program új weblapjának elérhetőségét.


Egyéb hasznos segédprogramok

Néhány klasszikus segédprogram és eszköz, ami hasznos lehet Primo szoftverek fejlesztéséhez, valamint a Primo használatához:


(A programok szerzői, valamint Majzik István, Varga Viktor)