Pred nedávnom sme mali tématický SinDiKAT, venovali sme sa CP/M. Keďže som tam mal Sama, pozrel som sa na to celé trochu bližšie.
Implementácia CP/M pre Sam Coupé je vo verzií 2.2. Beží v grafickom móde 3, 80 stĺpcov a 24 riadkov, funguje aj na 256kB aj na 512kB verzií počítača. Stačí mu jedna disketová mechanika, zvyšná volná pamäť sa používa ako RAMDISK (124kB pri 256kB verzií Sama, 380kB pri 512kB verzií). Existuje aj verzia pracujúca s hardiskom, na tú sa ale musí patchovať ROM a tak ju nepoužívam.
Pro-Dos po nabootovaní
Formát diskety je totožný s Amstrad PCW 8256. Je to 80 stôp, 9 sektorov na stopu, 512B sektor, dve strany, 720kB. Adresár má dĺžku 256 položiek (RAMDISK len 128). Obrazy diskiet sú len čisté dáta a tak je možné s nimi priamo pracovať pomocou dd pod linuxom, prípadne SAMdisk pod Windows. Keďže nemám prístup k Windows, ďalej budem popisovať len situáciu pod linuxom.
Výpis adresára
Pre zápis obrazu diskety je treba vytvoriť nové zariadenie # mknod /dev/fd0u800 b 2 120, na zápis potom stačí # dd if=name.dsk of=/dev/fd0u800 (toto je postup aj pre zápis bežných diskiet pre Sam Coupé).
Zobrazenie GIFu
Na kopírovanie súborov do a z virtuálnych diskiet používam cpmtools (existuje port aj pre Windows). Po nainštalovaní treba najprv upravit definíciu formátu diskety. Súbor diskdefs (u mňa sa nachádza v /usr/local/share/diskdefs) obsahuje definície diskových formátov, takže tam doplníme ten náš:
diskdef pro-dos
seclen 512
tracks 160
sectrk 9
blocksize 2048
maxdir 256
skew 0
boottrk 1
os 2.2
end
Keď máme definíciu diskety, môžeme si nejakú vytvoriť. Príkazom dd if=/dev/zero of=skusobny.dsk count=1440 si vytvoríme prázdny súbor. Ďalej pomocou mkfs.cpm -f pro-dos skusobny.dsk vytvoríme súborový systém . Nakoniec stačí cpmcp -f pro-dos skusobny.dsk GIF.COM test.gif 0: na nakopírovanie súborov (v tomto prípade testovací program na zobrazovanie GIFov, aj keď CP/M 2.2 nepodporuje grafiku, takže je tento program Sam Coupé only). Kopírovanie súborov funguje aj v opačnom smere. CPMtools toho vedia o kúsok viac, cpmls vypíše adresár diskety, cpmrm maže súbory a tak ďalej. Bližšie info je na domovskej stránke cpmtools.
dBASEII
Ďalšia vec, ktorú treba občas riešiť je terminál. Niektoré programy majú vlastný inštalátor a tam máme na výber typ terminálu. Pro-Dos emuluje VT-52. Nie vždy sa tam však taký nachádza, dá sa úspešne použiť „Zenith“ terminál, prípadne sa dajú zadať definície terminálu ručne.
Filebase
Na SinDiKATe sme skúšali čítať diskety medzi rôznymi počítačmi. Spectrum bez problémov číta diskety zo Sama (a naopak), CPC má jednostranný formát a C128 nemal 3,5″ mechaniku.
Výber terminálu
CP/M je určite zaujímavý systém a oplatí sa s ním aspoň na chvílu pohrať. Ak nič iné, je tu skvelá možnosť porovnať „enterprise“ softvérové riešenia z pred tridsiatich rokov a dnes. 🙂
Domovská stránka cpmtools: http://www.moria.de/~michael/cpmtools/ a Pro-Dos: http://www.samcoupe-pro-dos.co.uk/
ellvis
Když už teda rozjíždět takový OS, tak bych vyžadoval HDD. Co chcete jako s jednou disketou dokazovat… To mi připomíná když jsem kdysi v roce 1994 zkoušel GEOS na C-64 a v něm DTP program tuším že GeoWrite / GeoPublish… v podstatě nepoužitelné v praxi
viem si predstavit ze tych diskiet moze mat clovek viac, hadam aj tri.
No, ja si teda myslim, ze CP/M se provozovala temer vyhradne na disketach. O nekom, kdo mel v te dobe HDD jsem fakt neslysel. A i dnesni implementace vyuzivajici CF nebo HDD jsou pomerne zridkave. Floppy a RADdisk jsou zaklad.