Difference between revisions of "Tömörített ROM fájlrendszer készítése (ROM: eszköz)"
(Created page with "[https://enterpriseforever.com/programozas/fajltomorites-enterprise-on/?action=dlattach;attach=22927 A romload.lua, romfsdev.asm, és romfile.asm aktuális verziója]. [https...") |
|||
(One intermediate revision by the same user not shown) | |||
Line 1: | Line 1: | ||
− | + | =A konvertálás menete= | |
− | + | Első lépésben a programo(ka)t ROM: eszköz használatára kell módosítani, amihez segítség a linkeknél található epfileio.rom változat, amelyben az eszköz neve FILE: helyett ROM:, és nem alapértelmezett. | |
− | [https://enterpriseforever.com/programozas/fajltomorites-enterprise-on/ | + | Ezt követi a romfsdev.asm fordítása (SjASM 0.39g6), majd a csomagolás a romload.lua segítségével. Az utóbbihoz a script indítása után a ROM-ra másolandó programokat egyszerűen be kell tölteni LOAD paranccsal, figyelve arra, hogy minden szükséges fájl betöltődjön (ez utántöltős játékoknál okozhat problémát), majd az utolsó után '''load "ROM:_EOF"''' paranccsal menthető a kész ROM. A script a monitor ablakban kiírja a tömörített méreteket, és az esetleges hibákat. |
+ | |||
+ | =Paraméterek= | ||
+ | |||
+ | A romfsdev.asm több funkciót is tartalmaz, amelyek feltételesen fordíthatók: | ||
+ | |||
+ | * '''NO_SPECIAL_FUNC''': Ha 0, akkor az eszköz támogatja az EXOS 11 hívást, amely tetszőleges alfunkciószámra visszaadja a fájlrendszer kezdőcímét a C (szegmens) és DE (cím az 1. lapon) regiszterekben. A tiltása 8 bájt helyet takarít meg. | ||
+ | * '''NO_ROMDIR_CMD''': A :ROMDIR parancs tiltása ha nem 0, 70 bájt méretcsökkenés. | ||
+ | * '''NO_HELP_STRING''': A :HELP parancs tiltása ha nem 0. Az engedélyezéséhez a :ROMDIR támogatására is szükség van, és 143-174 bájt területet igényel. | ||
+ | * '''NO_START_FILE''': Ha 0, akkor az Enterprise logónál az "1" billentyűvel betölthető az első fájl, amely egyébként "*" néven is megnyitható. A tiltása 39 bájttal csökkenti a ROM méretét. | ||
+ | * '''NO_BORDER_FX''': Keretcsíkozás tiltása ha nem 0, az engedélyezése 4 bájtot igényel. | ||
+ | |||
+ | A romload.lua elején is található néhány fontos paraméter, itt adhatók meg a konvertálás során használt fájlnevek és elérési útvonalak. Az outputOffset állítására nincs szükség, ha a ROM kód mérete megállapítható lefordított romfsdev.asm alapján. | ||
+ | |||
+ | =A FILE bővítés ROM: változata= | ||
+ | |||
+ | Ez megtalálható a romfile.asm forrás fájlban, EnterMice támogatást is tartalmaz, ami hely megtakarítása céljára tiltható. A start.asm erre épülő egyszerű példa program, lefordítva érdemes lehet első fájlként beépíteni több programos ROM esetén. | ||
+ | |||
+ | =Linkek= | ||
+ | |||
+ | [https://enterpriseforever.com/programozas/fajltomorites-enterprise-on/msg75639/#msg75639 A romload.lua, romfsdev.asm, és romfile.asm aktuális verziója]. |
Latest revision as of 10:12, 22 April 2019
A konvertálás menete
Első lépésben a programo(ka)t ROM: eszköz használatára kell módosítani, amihez segítség a linkeknél található epfileio.rom változat, amelyben az eszköz neve FILE: helyett ROM:, és nem alapértelmezett.
Ezt követi a romfsdev.asm fordítása (SjASM 0.39g6), majd a csomagolás a romload.lua segítségével. Az utóbbihoz a script indítása után a ROM-ra másolandó programokat egyszerűen be kell tölteni LOAD paranccsal, figyelve arra, hogy minden szükséges fájl betöltődjön (ez utántöltős játékoknál okozhat problémát), majd az utolsó után load "ROM:_EOF" paranccsal menthető a kész ROM. A script a monitor ablakban kiírja a tömörített méreteket, és az esetleges hibákat.
Paraméterek
A romfsdev.asm több funkciót is tartalmaz, amelyek feltételesen fordíthatók:
- NO_SPECIAL_FUNC: Ha 0, akkor az eszköz támogatja az EXOS 11 hívást, amely tetszőleges alfunkciószámra visszaadja a fájlrendszer kezdőcímét a C (szegmens) és DE (cím az 1. lapon) regiszterekben. A tiltása 8 bájt helyet takarít meg.
- NO_ROMDIR_CMD: A :ROMDIR parancs tiltása ha nem 0, 70 bájt méretcsökkenés.
- NO_HELP_STRING: A :HELP parancs tiltása ha nem 0. Az engedélyezéséhez a :ROMDIR támogatására is szükség van, és 143-174 bájt területet igényel.
- NO_START_FILE: Ha 0, akkor az Enterprise logónál az "1" billentyűvel betölthető az első fájl, amely egyébként "*" néven is megnyitható. A tiltása 39 bájttal csökkenti a ROM méretét.
- NO_BORDER_FX: Keretcsíkozás tiltása ha nem 0, az engedélyezése 4 bájtot igényel.
A romload.lua elején is található néhány fontos paraméter, itt adhatók meg a konvertálás során használt fájlnevek és elérési útvonalak. Az outputOffset állítására nincs szükség, ha a ROM kód mérete megállapítható lefordított romfsdev.asm alapján.
A FILE bővítés ROM: változata
Ez megtalálható a romfile.asm forrás fájlban, EnterMice támogatást is tartalmaz, ami hely megtakarítása céljára tiltható. A start.asm erre épülő egyszerű példa program, lefordítva érdemes lehet első fájlként beépíteni több programos ROM esetén.
Linkek
A romload.lua, romfsdev.asm, és romfile.asm aktuális verziója.