Difference between revisions of "Tömörített ROM fájlrendszer készítése (ROM: eszköz)"

From Enterprise Wiki
Jump to: navigation, search
(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:
[https://enterpriseforever.com/programozas/fajltomorites-enterprise-on/?action=dlattach;attach=22927 A romload.lua, romfsdev.asm, és romfile.asm aktuális verziója].
+
=A konvertálás menete=
  
[https://enterpriseforever.com/programozas/fajltomorites-enterprise-on/msg73163/#msg73163 Rövid leírás a konvertálásról].
+
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/msg73250/#msg73250 Régebbi verziók a módosítások leírásával].
+
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.