MRM Manager

Z PMD 85 Infoserver

MRM Manager


MrmMngr
Autor:Roman Bórik
Verzia:v1.3 (06/2022)
Operačný systém:windows | unix
Lokalizácia:angličtina
Licencia:Copyright © 2022 RM-TEAM
Download: mrmmngr13.zip - ZIP archív obsahujúci binárku pre win32 konzolu + zdrojové texty s Makefile pre Linux

Obsah


MRM Manager je PC konzolová utilita určená pre spravovanie MRM obrazov, teda súborov určených pre napálenie do EPROM/FLASH, slúžiacich ako pamäť v ROM MEGAmodule.

Utilita umožňuje pohodlne vytvárať a konfigurovať súbor MRM obrazu, pridávať, mazať a extrahovať súbory i ďalšie operácie.

V rovnakom adresári, kde sa nachádza MRM Manager musia byť aj tieto súbory:

  • mrm-boot.bin : boot kód, ktorý je vždy na začiatku MRM obrazu
  • mrm-ldr.bin : kód univerzálneho loadera (viď prepínač -ml)
  • unpckpsc.bin : kód rozpakovacej rutiny pre spakované obrázky z programu GRED (viď prepínač -psc)

Použitie

MRM Manager je konzolová utilita, takže sa dá s výhodou použiť v dávkových súboroch. Požadované chovanie utility sa volí príslušnými prepínačmi.

Príkazový riadok môže mať podľa použitých prepínačov niekoľko foriem - každá pre konkrétnu jednu operáciu s MRM súborom. Prepínače uvedené v hranatých zátvorkách sú pre danú operáciu voliteľné.

mrmmngr imgname.mrm -c [fmask[.T]]
mrmmngr imgname.mrm -ic [-is num] [-id num] [-ib [path/]bootfile.ext]
mrmmngr imgname.mrm -ir [-is num] [-id num] [-ib [path/]bootfile.ext]
mrmmngr imgname.mrm -ii
mrmmngr imgname.mrm -fa [path/]filename.ext [-fn fname.T] [-ln lname] [-sa num] [-al] [-ar] [-ow] [-psc]
mrmmngr imgname.mrm -fc [path/]complex-file-name [-ow]
mrmmngr imgname.mrm -fl [path/]complex-file-names-list [-ow]
mrmmngr imgname.mrm -fr fname.T [path/]filename.ext
mrmmngr imgname.mrm -fp fname.T [-fn newfn.T] [-ln lname] [-sa num] [-al] [-ar]
mrmmngr imgname.mrm -fd fmask[.T]
mrmmngr imgname.mrm -fx [path/]fmask[.T] [-cfn [-cfnl [path/]complex-file-names-list]]
mrmmngr imgname.mrm -ml fname.T pname.T cname.T [-ln lname] [-sa num] [-mon MX] [-scs] [-ow]
mrmmngr imgname.mrm -li fname.T

Jednotlivé prepínače majú nasledujúci význam. Ak sa niektorý voliteľný prepínač neuvedie, jeho predvolená hodnota je tu uvedená v hranatých zátvorkách.

  • -c
    zobrazí katalóg MRM obrazu; pokiaľ je uvedené fmask.T, zobrazí sa zoznam podľa uvedenej masky
  • -ic
    vytvorenie nového MRM obrazu
  • -ir
    rekonfigurovanie MRM obrazu; je možné zmeniť geometriu MRM obrazu aj BOOT kód
  • -ii
    zobrazenie informácií o MRM obraze
  • -is
    veľkosť MRM obrazu v kB [512]
  • -id
    počet položiek adresára [32]
  • -ib
    voľba špecifického súboru MRM Bootera [mrm-boot.bin]
  • -fa
    pridanie súboru do MRM obrazu
  • -fc
    pridanie súboru s "komplexným menom" do MRM obrazu
  • -fl
    pridanie skupiny súborov do MRM obrazu
  • -fr
    nahradenie súboru v MRM obraze
  • -fp
    zmena parametrov súboru (meno, dlhé meno, štart adresa, atribúty)
  • -fd
    zmazanie súborov z obrazu podľa uvedenej masky súborov
  • -fx
    extrahovanie súborov z obrazu podľa uvedenej masky súborov
  • -cfn
    vytvorenie komplexných mien extrahovaných súborov
  • -cfnl
    vytvorenie súboru so zoznamom extrahovaných súborov s komplexnými menami
  • -ml
    vytvorenie Loader súboru
  • -li
    zobrazenie informácií o súbore Loadera
  • -fn
    určenie mena súboru vo formáte 8.1 (max. 8 znakov mena + jeden znak typ)
  • -ln
    dlhé meno súboru pre zobrazenie v zozname spustiteľných súborov (max. 16 znakov)
  • -sa
    štart adresa (počiatočná/nahrávacia) [0]
  • -al
    nastavenie/zmena atribútu List
  • -ar
    nastavenie/zmena atribútu AllRAM
  • -ow
    prepísať existujúci súbor
  • -psc
    vložiť rozpakovaciu rutinu pre dáta spakovaného obrázku z programu GRED
  • -mon
    určenie typu Monitora v Loaderi; parameter môže byť 1, 1X, 2, 2X alebo mname.T
  • -scs
    potlačiť zmazanie obrazovky v Loaderi

Poznámky:

  • `lname` musí byť v úvodzovkách, ak obsahuje medzery.
  • `fname.T`, `newfn.T`, `pname.T`, `cname.T` a `mname.T` sú mená súborov vo formáte 8.1 a musia byť v úvodzovkách, ak obsahujú medzery alebo znaky </> pre presmerovanie vstupu/výstupu. Malé písmená sa vždy zmenia na veľké.
  • `fmask` je maska súboru, ktorá môže obsahovať zástupné znaky * a ?.
  • `T` musí byť jediný znak. Ak sa neuvedie v maske súborov, znamená to všetky typy. Pozor: znak otáznik ? je platný typ súboru.
  • `complex-file-name` je zložené (komplexné) meno súboru, ktorého formát je `fname_lname_sa_attr.T` (špeciálne znaky musia byť v tvare #HH)
  • `complex-file-names-list` je názov textového súboru so zoznamom súborov s menami v komplexnom tvare
  • Všetky numerické hodnoty num musia byť nezáporné celé čísla a môžu byť zadané desiatkovo (12345), osmičkovo (01234) alebo šestnástkovo (0x1234).

Operácie Managera

V nasledujúcom zhrnieme detaily jednotlivých operácií.

Zobrazenie katalógu MRM obrazu -c

mrmmngr imgname.mrm -c [fmask[.T]]

V katalógu sa zobrazujú všetky súbory, ktoré sú v adresári MRM obrazu. Ak je v prepínači použitá maska, zobrazia sa iba tie súbory, ktoré zodpovedajú maske. Ak sa neuvedie Typ súboru, znamená to všetky súbory (otáznik je platný Typ súboru, ako pri kazetových súboroch).

V zozname súborov sa vľavo zobrazuje poradové číslo súboru v adresári. Zatiaľ je to iba informatívny údaj, ale do budúcna sa uvažuje o možnosti posúvať položky v adresári a nastaviť si poradie súborov dodatočne podľa potreby, keďže MRM Booter zobrazuje súbory v zozname tak, ako sú v adresári.

Vytvorenie nového MRM obrazu -ic

mrmmngr imgname.mrm -ic [-is num] [-id num] [-ib [path/]bootfile.ext]

Predvolene sa vytvára MRM obraz o veľkosti 512 kB. Túto hodnotu možno určiť prepínačom -is v intervale od 32 do 8192 (kB). Počet položiek adresára je predvolene 32. Prepínačom -id ju možno nastaviť v intervale od 4 do 256.

Do MRM obrazu sa na jeho začiatok pripraví Boot kód zo súboru mrm-boot.bin. Ak je to potrebné, môže sa prepínačom -ib zvoliť iný súbor s Boot kódom. Súbor s Boot kódom sa overuje na správnosť skontrolovaním jeho tzv. Prologu (viď zdrojové súbory).

Prekonfigurovanie MRM obrazu -ir

mrmmngr imgname.mrm -ir [-is num] [-id num] [-ib [path/]bootfile.ext]

Existujúci MRM obraz možno prekonfigurovať, čo znamená, že je možné zmeniť jeho veľkosť (prepínač -is) a aj počet položiek adresára (prepínač -id). MRM Manager zachová všetky súbory v rovnakom poradí. Samozrejme, nie je možné zvoliť menšiu veľkosť, ako je už súbormi obsadené miesto v obraze. Rovnako tak, nie je možné zvoliť menej položiek adresára, ako je už obsadených položiek.

Zároveň je možné týmto prepínačom nahradiť existujúci Boot kód novým. Ak nový Boot kód zaberá iný počet sektorov ako pôvodný, MRM Manager príslušne poposúva adresár i súbory v obraze.

Zobrazenie informácií o MRM obraze -ii

mrmmngr imgname.mrm -ii

Zobrazí dôležité informácie o MRM obraze, ako sú veľkosť, počet položiek adresára, počet súborov, voľné miesto atď.

Pridanie súboru do MRM obrazu -fa

mrmmngr imgname.mrm -fa [path/]filename.ext [-fn fname.T] [-ln lname] [-sa num] [-al] [-ar] [-ow] [-psc]

Pri pridávaní súboru do MRM obrazu je možné určiť všetky parametre, ktoré sú v adresárovej položke. Ak sa nepoužije prepínač -fn, ako krátke Meno súboru sa použije prvých 8 znakov z filename a ako Typ sa použije prvé písmeno z prípony ext. Dlhé Meno súboru (prepínač -ln) má zmysel pre súbory, ktoré sa budú zobrazovať v zozname spustiteľných súborov a krátke Meno nie je dostačujúce. Ak sa teda dlhé Meno neuvedie a súbor bude mať nastavený atribút List, v zozname spustiteľných súborov sa použije krátke Meno súboru bez Typu. Prepínačom -sa sa určuje štart adresa, resp. adresa, od ktorej sa súbor nahrá do pamäte - predvolene je to 0. Prepínačmi -al a -ar sa nastavia príslušné atribúty List - zobrazenie súboru v zozname, resp. AllRAM - nahranie súboru do pamäte v AllRAM režime.

MRM Manager nedovolí pridať súbor s rovnakým menom, aký sa už v adresári nachádza. Prepínačom -ow je možné vynútiť prepísanie už existujúceho súboru.

Spakovaný obrázok z programu GRED (typ C) obsahuje iba spakované dáta bez rutiny. Pri pridávaní tohto súboru do MRM obrazu umožňuje MRM Manager pomocou prepínača -psc vložiť na začiatok tohto súboru rozpakovaciu rutinu, ktorá je v súbore unpckpsc.bin. Táto rozpakovacia rutina je preložená pre beh od adresy 1000h a preto je nutné pri pridávaní súboru použiť tiež prepínač -sa 0x1000.

Pridanie súboru s komplexným menom do MRM obrazu -fc

mrmmngr imgname.mrm -fc [path/]complex-file-name [-ow]

Prepínač -fc je alternatívou k prepínaču -fa, kedy sú všetky potrebné parametre súboru v jeho komplexnom mene - complex-file-name a jednotlivé parametre sú v mene oddelené znakom "podčiarkovník" _ - fname_lname_sa_attr.T. fname, lname a T sú vyššie popísané meno, dlhé meno a prípona, avšak pokiaľ obsahujú nejaké špeciálne znaky, ktoré sa nemôžu vyskytnúť v "DOSovskom" mene súboru, musia byť uvedené ako "escapované" v tvare #HH, kde HH je kód daného znaku v hexadecimálnom tvare. sa a attr sú desiatkové čísla určujúce počiatočnú adresu (0 až 65535) a atribúty súboru (ako byte 0 až 255).

Napríklad pre meno súboru BOULDER.?, dlhé meno BOULDER DASH, štartovaciu adresu 336 a atribút List je komplexné meno BOULDER_BOULDER#20DASH_336_1.#3F.

Pridanie skupiny súborov do MRM obrazu -fl

mrmmngr imgname.mrm -fl [path/]complex-file-names-list [-ow]

Týmto prepínačom je možné pridať do MRM obrazu "dávkovo" niekoľko súborov naraz. Ich komplexné mená (prípadne aj s cestami) musia byť uložené v textovom súbore `complex-file-names-list`. Na jednom riadku musí byť vždy jeden súbor.

Nahradenie súboru v MRM obraze -fr

mrmmngr imgname.mrm -fr fname.T [path/]filename.ext

V MRM obraze je možné nahradiť existujúci súbor iným obsahom. fname.T určuje súbor, ktorý sa má nahradiť a [path/]filename.ext je zdrojový súbor.

Zmena parametrov súboru v MRM obraze -fp

mrmmngr imgname.mrm -fp fname.T [-fn newfn.T] [-ln lname] [-sa num] [-al] [-ar]

Konkrétnemu súboru fname.T možno zmeniť krátke Meno (-fn newfn.T), Dlhé meno (-ln lname) aj štart adresu (-sa num). Prepínačmi -al a -ar sa atribút v adresárovej položke zmenia na opačné.

Zmazanie súborov z MRM obrazu -fd

mrmmngr imgname.mrm -fd fmask[.T]

Z MRM obrazu možno zmazať súbory hromadne určením masky súborov fmask[.T]. MRM Manager sa nepýta na potvrdenie zmazania! Po zmazaní súborov sa adresár aj dátová oblasť v MRM obraze "strasú", čím sa odstránia "diery", ktoré by v adresári alebo dátovej oblasti po zmazaní súborov vznikli.

Extrahovanie súborov z MRM obrazu -fx

mrmmngr imgname.mrm -fx [path/]fmask[.T] [-cfn [-cfnl [path/]complex-file-names-list]]

Z MRM obrazu možno extrahovať súbory hromadne určením masky súborov fmask[.T]. Zároveň možno určiť cieľovú cestu path/, kam sa extrahované súbory uložia. Prípadne existujúce súbory na disku sa prepíšu. Dodatočným prepínačom -cfn môžeme určiť, aby sa extrahované súbory vytvárali s komplexnými menami, ktoré potom možno použiť s prepínačmi -fc a -fl. Prepínačom -cfnl môžeme naviac určiť, aby sa zároveň vytvoril aj `complex-file-names-list`.

Vytvorenie súboru Loadera -ml

mrmmngr imgname.mrm -ml fname.T pname.T cname.T [-ln lname] [-sa num] [-mon MX] [-scs] [-ow]

MRM Manager umožňuje vytvoriť priamo do MRM obrazu súbor Loadera. Tu je nutné určiť meno súboru Loadera fname.T (typ súboru je obvykle L), meno súboru so spakovaným obrázkom pname.T (typ súboru by mal byť Q (QuidoScr) alebo C (GRED)) a meno súboru kódu hry cname.T.

Súboru Loadera má automaticky nastavený atribút List a tak, ak je to potrebné, možno nastaviť súboru Dlhé Meno prepínačom -ln. Loader normálne spúšťa hlavný kód od adresy uvedenej v adresárovej položke súboru cname.T. Prepínačom -sa ale možno určiť inú adresu.

Ak program potrebuje pre svoj beh konkrétny Monitor, je to možné určiť prepínačom -mon. Parametrom prepínača môže byť:

  • 1 : súbor Monitora MONIT1.?
  • 1X : súbor Monitora MONIT1.? - nebude sa inicializovať
  • 2 : súbor Monitora MONIT2.?
  • 2X : súbor Monitora MONIT2.? - nebude sa inicializovať
  • mname.T : meno súboru s vlastným Monitorom - nebude sa inicializovať

Posledná možnosť sa dá využiť aj ako nahranie ďalšieho súboru programu.

Prepínač -scs potlačí zmazanie obrazovky po spustení Loadera. Prepínačom -ow je možné vynútiť prepísanie už existujúceho súboru Loadera s rovnakým menom.

Zobrazenie informácií o súbore Loadera -li

mrmmngr imgname.mrm -li fname.T

Zobrazí všetky informácie o súbore loadera fname[.T].