FORMÁTUMOK
A CAS kazettás file formátum viszonylag kis méretet tesz lehetővé, és kompatibilis majdnem az összes TRS-80 emulátorral is. A file azt a bitfolyamot tartalmazza byte-onként csomagolva, amit a kazettakezelő rutin megpróbált a szalagra írni és nem a tényleges megnókimeneti jeleket. A formátum gyakorlatilag egy az egyben a magnó portra küldött bitek byte-okba csomagolt formája, és tartalmazza az összes szinkronmezőt is. Ennek az az oka, hogy néhány TRS-80 emulátor a CAS file-ok töltését/mentését nem ROM csapdákkal oldotta meg, hanem a kazettaportra küldött jelek valósidejű futáskori mérésével, így valójában az eredeti ROM rutinjai dolgoznak az emulátor helyett.
A CAS formátum BASIC programok esetén
Minden BASIC program a 17129, azaz 42E9h címen kezdődik (erre mutat a 16548-16549, azaz 40A4h-40A5h címen lévő mutató). A BASIC program végére a memóriában (vagyis EOF mögé) a 16633-16634, azaz 40F9h-40FAh címen lévő pointer mutat.
|
|
255 darab nulla byte |
|
|
Szinkron byte |
|
|
BASIC fejléc byte-ok |
|
|
Program név (1 karakteres) |
soronként ismétlődő adatok |
(address pointer) |
Következő BASIC sor címe (alacsony-magas helyiérték) |
(BASIC line number) |
BASIC sor száma binárisan (alacsony-magas helyiérték) |
|
(BASIC line) |
BASIC sor szövege (tokenizálva) | |
|
Sorvégjel (EOL) | |
|
|
Fájl végjel (EOF) (az utolsó BASIC sor címmezője ide mutat) |
Fontos megjegyezni, hogy a korai TRS-80 modellek (Level I BASIC) az utasításokat is stringként mentik el, így Level II BASIC interpreter esetén nem tölthetők be.
A CAS formátum gépi kódú (SYSTEM) programok esetén
Gépi kódú programok SYSTEM üzemmódban tölthetők be: a memóriába helyezhetők és a kezdőcímre ugorva futtathatók. Már nem csak egy, hanem 6 karakteres névvel rendelkeznek, és a név ismerete nélkül igen nehéz ezeket betölteni (a SYSTEM parancs után mindenképpen meg kell adni a nevet a betöltéshez).
|
|
255 darab nulla byte |
|
|
Szinkron byte |
|
|
SYSTEM fejléc byte |
|
|
Program név (6 karakteres) |
blokkonként ismétlődő adatok |
|
Adat fejléc byte |
(block length) |
Adatblokk hossza 01h...FFh, 00h esetén 256 byte |
|
(load address) |
Adatblokk betöltési cím (alacsony-magas helyiérték) |
|
(data bytes) |
Adatblokk byte-jai | |
(checksum) |
A betöltési cím és az adatblokk byte-ok ellenőrző összege, 1 byte |
|
|
|
Fájl végjel (indítási cím bevezető byte) |
|
(start adress) |
Indítási cím (alacsony-magas helyiérték) |
A CAS formátum Editor/Assembler forrásprogramok esetén
A TRS80 Editor/Assembler program a HT-1080Z esetén is népszerű volt.
|
|
255 darab nulla byte |
|
|
Szinkron byte |
|
|
Forrás formátum fejléc byte |
|
|
Program név (6 karakteres) |
soronként ismétlődő adatok |
(line number) |
Sorszám ASCII formában, minden byte 7. bitje egyes (magas) |
|
Forráskód sor kezdő byte | |
(source line) |
Forráskód sor (max. 128 byte) | |
|
Forráskód sor végét jelző byte | |
|
|
Fájl végjel |
(Majzik István, Grósz Attila)