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

From Enterprise Wiki
Revision as of 10:12, 22 April 2019 by IstvanV (talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

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.