CP/M Image Manager
Z PMD 85 Infoserver
(Opravy a doplnenie) |
(kategorizacia) |
||
Riadok 112: | Riadok 112: | ||
Keďže ale CIM vyžaduje čisté RAW obrazy diskov, tak sme vytvorili ďalšie dve utility [[download:36|Dsk2Raw a Raw2Dsk]], o ktorých sme veľmi stručne [http://pmd85.borik.net/wiki/Blog:Image_Zbrojováčkovských_diskiet písali tu]. | Keďže ale CIM vyžaduje čisté RAW obrazy diskov, tak sme vytvorili ďalšie dve utility [[download:36|Dsk2Raw a Raw2Dsk]], o ktorých sme veľmi stručne [http://pmd85.borik.net/wiki/Blog:Image_Zbrojováčkovských_diskiet písali tu]. | ||
+ | |||
+ | [[Category:Utility]] |
Verzia zo dňa a času 11:26, 3. máj 2014
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čet 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ý); path/ predstavuje zdrojový adresár, kde sa budú hľadať súbory, ktoré sa majú pridať; cpm_name je maska pridávaných súborov - -e
zmazanie súboru/súborov z disku; cpm_name je maska mazaných súborov - -x
extrahovanie súboru/súborov z disku; path/ predstavuje cieľový adresár, kam sa extrahované súbory uložia; cpm_name je maska extrahovaných súborov - -h
zobrazí obsah súboru ako HEX-DUMP; cpm_name je jednoznačné meno súboru - -t
zobrazí obsah súboru ako ASCII výpis; cpm_name je jednoznačné meno súboru - -w
zápis sytému na disk zo súboru; path/ predstavuje zdrojový adresár, kde sa nachádza súbor in_system_file - -i
zápis sytému na disk z iného disku rovnakého typu - -s
extrahovanie sytému z disku do súboru; path/ predstavuje cieľový adresár, kam sa uloží súbor out_system_file - -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 path/), ktorý obsahuje zástupné znaky, uzavretý v apostrofoch, aby sa zabránilo automatickému expandovaniu zástupných znakov! - in_system_file, out_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 obrazu fyzickej diskety
Pre vytvorenie obrazu fyzickej diskety existuje utilita CPDRead, ktorej výsledkom je súbor typu DSK. Pre opačný proces, teda zápis obrazu diskety 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.