CP/M Image Manager
Z PMD 85 Infoserver
Verzia zo dňa a času 17:59, 2. január 2012
CP/M Image Manager | |
Autor: | RM-TEAM |
---|---|
Verzia: | v1.2 (01/2012) |
Operačný systém: | windows | unix |
Lokalizácia: | angličtina |
Licencia: | Copyright © 2012 RM-TEAM |
Download: | cim12.zip - ZIP archív obsahujúci binárky pre win32 konzolu + zdrojové texty a makefile pre Linux |
Obsah |
CP/M Image Manager (CIM) je konzolová utilita určená pre spravovanie obrazov CP/M diskov (disk image). Umožňuje obrazy diskov vytvárať, "formátovať" a aj zobrazovať zoznam súborov na disku. Na obrazy diskov možno súbory pridávať, súbory z nich mazať, extrahovať ich, zobrazovať obsah súboru textovo, či ako hexdump. Naviac je možné na disk pridať systémové stopy, extrahovať ich, alebo nakopírovať z iného obrazu disku.
Obrazy CP/M diskov
Obrazy CP/M diskov, ktoré CIM akceptuje sú vždy čisté (RAW) kópie všetkých sektorov pôvodných diskov bez akýchkoľvek dodatočných informácií o formáte a podobne. Poradie strán, stôp a sektorov by malo zodpovedať tomu, ako sa na disk "pozerá" BIOS systému CP/M. Zároveň sa predpokladá, že veľkosť sektorov a počtu sektorov na stopu musia byť pre každú stopu na disku rovnaké. Výnimkou z tohto pravidla môžu byť systémové stopy, u ktorých sa niekedy volil iný formát, aby sa systém optimálne vošiel na čo najmenší počet stôp.
To, o aký obraz disku sa jedná, rozlišuje CIM podľa prípony súboru obrazu disku. Vzhľadom na špecifickosť formátu CP/M diskov a zásadné odlišnosti vo formátoch diskov rôznych systémov, súčasťou CIMu je konfiguračný súbor cim.ini, ktorý popisuje formáty pre jednotlivé typy diskov.
Konfiguračný súbor
Konfiguračný súbor je bežný textový súbor rozdelený do sekcií a každá sekcia popisuje jeden formát obrazu disku. Začiatok sekcie predstavuje riadok obsahujúci názov prípony súboru obrazu disku uzavretý v hranatých zátvorkách. Koniec sekcie predstavuje začiatok novej sekcie alebo skutočný koniec súboru.
Obsahom sekcie je zoznam parametrov a ich hodnôt v tvare parameter=hodnota
. Každý parameter s jeho hodnotou musia byť na samostatnom riadku. Na poradí parametrov čiastočne závisí, pretože niektoré parametre sú na sebe navzájom závislé. Všetky hodnoty parametrov sú čísla v desiatkovej sústave.
Konfiguračný súbor môže kdekoľvek obsahovať prázdny alebo komentárový riadok. Riadok s komentárom začína bodkočiarkou a je, rovnako ako prázdny riadok, ignorovaný.
Konfiguračné parametre
Každá definícia obrazu disku (sekcia) musí obsahovať 7 povinných parametrov a prípadne ešte jeden nepovinný parameter. Jednotlivé parametre zodpovedajú viac-menej tabuľke DPB (Disk Parameter Block) z BIOSu CP/M.
- SPT
určuje celkový počet logických sektorov na stopu (veľkosť logického sektora je 128 bytov). Pokiaľ je fyzický sektor väčší ako logický, parameter SPT je rovný súčinu počtu fyzických sektorov na stope a počtu logických sektorov, ktoré sa vojdu do sektora fyzického. - XLT
prekladová tabuľka - čiarkami oddelené čísla sektorov (číslovanie sektorov začína číslom 1), ktoré musia byť jedinečné a ich počet musí byť SPT. Parameter XLT môže mať hodnotu 0, pokiaľ preklad čísel sektorov nie je potrebný. - BLS
veľkosť alokačného bloku v kB (1, 2, 4, 8 alebo 16). - EXM
maska rozšírenia (extent mask) - je určená z hodnôt parametrov BLS a DSM
BLS DSM<256 DSM>255
1kB 0 -
2kB 1 0
4kB 3 1
8kB 7 3
16kB 15 7
- DSM
určuje celkovú kapacitu disku v alokačných blokoch mínus jedna (číslo posledného alokačného bloku). - DRM
určuje celkový počet položiek adresára mínus jedna (číslo poslednej položky adresára). - OFF
počet rezervovaných systémových stôp na začiatku disku - OFFX
voliteľný parameter určujúci počet logických sektorov, ktoré od začiatku disku systém zaberá. To je užitočné ak veľkosť systémových stôp na disku nie je rovnaká ako veľkosť dátových stôp. Ak je parameter OFFX uvedený, parameter OFF určuje iba číslo prvej dátovej stopy disku.
Pre názornosť ukážka definície pre štandardný 8" disk - 77 stôp, 26 sektorov po 128 bytov, jedna strana.
; standard IBM 8" jednostranne [CPM] SPT=26 XLT=1,7,13,19,25,5,11,17,23,3,9,15,21,2,8,14,20,26,6,12,18,24,4,10,16,22 BLS=1 EXM=0 DSM=242 DRM=63 OFF=2
Ako už bolo spomenuté, tieto definície vychádzajú z definícií diskových parametrov v module BIOS CP/M, takže by nemal byť problém zadefinovať tieto parametre aj pre iné typy a veľkosti diskových jednotiek, podľa existujúcich tabuliek v konkrétnom BIOSe.
Konfiguračný súbor cim.ini, ktorý je súčasťou CIMu obsahuje niekoľko definícií pre rôzne CP/M disky.
Použitie
CIM je konzolová utilita, takže sa dá s výhodou použíť 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:
- cim imagefile.ext [ -u usr ] -c [ cpm_name ]
- cim imagefile.ext [ -f | -q ] [ -u usr ] [ -a [path/]cpm_name ]
- cim imagefile.ext [ -u usr ] -e cpm_name
- cim imagefile.ext [ -u usr ] -x [path/]cpm_name
- cim imagefile.ext [ -u usr ] -h cpm_name
- cim imagefile.ext [ -u usr ] -t cpm_name
- cim imagefile.ext -w [path/]in_system_file
- cim imagefile.ext -i [path/]imagefile2.ext
- cim imagefile.ext -s [path/]out_system_file
- -c
zobrazí katalóg disku; pokiaľ je uvedené cpm_name, zobrazí sa zoznam podľa uvedenej masky - -f
prevedie naformátovanie disku (ak súbor obrazu disku neexistuje, bude vytvorený) - -q
prevedie rýchle naformátovanie disku - zmazanie adresára (ak súbor obrazu disku neexistuje, bude vytvorený) - -a
pridanie súboru/súborov na disk (ak súbor obrazu disku neexistuje, bude vytvorený) - -e
zmazanie súboru/súborov z disku - -x
extrahovanie súboru/súborov z disku - -h
zobrazí obsah súboru ako HEX-DUMP - -t
zobrazí obsah súboru ako ASCII výpis - -w
zápis sytému na disk zo súboru - -i
zápis sytému na disk z iného disku rovnakého typu - -s
extrahovanie sytému z disku do súboru - -u
určuje číslo užívateľskej oblasti 0 až 15
Ak nie je tento parameter uvedený, spracované sú súbory všetkých užívateľov a v prípade prepínača -a sa zapisuje iba do užívateľskej oblasti 0. - imagefile.ext, imagefile2.ext
meno súboru obrazu disku s príponou - cpm_name
meno súboru v CP/M formáte 8.3, ktoré môže obsahovať zástupné znaky '*' a '?' a môže byť uvedené vrátane cesty pre pridávanie a extrahovanie súborov.
Pozor: v prípade Linuxu musí byť cpm_name (vrátane cesty), ktorý obsahuje zástupné znaky, uzavretý v apostrofoch, aby sa zabránilo automatickému expandovaniu zástupných znakov! - system_file
binárny súbor so samotným systémom
Kopírovanie súborov medzi obrazmi
Pre kopírovanie medzi obrazmi diskov (aj rôznych typov) bol vytvorený dávkový súbor imgcopy.bat resp. imgcopy.sh.
- imgcopy img_src img_dest file_set_mask
- img_src
zdrojový súbor obrazu disku s príponou; súbor musí existovať - img_dest
cieľový súbor obrazu disku s príponou - file_set_mask
meno súboru v CP/M formáte 8.3, ktoré môže obsahovať zástupné znaky '*' a '?'
Vytvorenie obrazov diskov z fyzických diskov
Pre vytvorenie obrazu diskety existuje utilita CPDRead, ktorej výsledkom je súbor typu DSK. Pre opačný proces, teda zápis obrazu disku na fyzickú disketu, existuje utilita CPDWrite. Utilita CPCDiskXP je spojením predchádzajúcich dvoch DOSovských utilít pre Windows XP (osobne som ale túto utilitu ešte nepoužíval).
Keďže ale CIM vyžaduje čisté RAW obrazy diskov, tak sme vytvorili ďalšie dve utility Dsk2Raw a Raw2Dsk, o ktorých sme veľmi stručne písali tu.