Konference: SAPI-1 a československé mikropočítače
Od: | Jiri Biba |
Datum: | 21.5.2012 02:30 |
Předmět: | Re: RE: Simulator CP/M Altair 8800 |
Re: RE: Simulator CP/M Altair 8800: |
Tak jsem se chvili stoural v tom simulatoru a je to naprosta bomba co to vsecko umi a co tam vsecko je.
Aby jste nemuseli dlouho badat, tak lehky popis:
Spusti se : Altairz80.exe, tim se nastartuje vlastni simulator na PC. Vypise se SIM>
pak se napise DO CPM2 coz je definicni soubor pro CP/M 2.2. Pak uz je vypis A: a jsme v systemu. Predem je ale potreba si udelat nejakej podadresar a do nej rozpakovat zazipovany soubory ALTAIRZ80 a CPM2. Ale taky klidne cokoliv, co jsem dal na Drop v adresarich System, Jazyky, Tool a podobne.
No a ted jak to vlastne funguje:
V tom definicnim souboru CPM2 je nadefinovan procesor, disky, HDD, porty atd. Vse je popsany v DOC souborech. Po spusteni jsou rovnou nadefinovany dve virtualni 1 megovy diskety a na nich je uz hromada souboru CP/M. Pod PC jsou videt jako soubory s priponou DSK, dylka 1088KB. Na zacatku jsou nadefinovany pouze A: B: ale muze se nadefinovat jeste C: az H: Ale to neni vse, od I: do P: se da nadefinovat asi 10 formatu disket z dalnoveku od 90Kb az do 1,2 vcetne 8". Ale nejdulezitejsi je, ze se da nadefinovat 8 kousku HDD 8 Mb!
Vse se dela v tom definicnim souboru CPM2. Je to textak a trochu ho popisu. Prvni radek "d track" je definice disket, do toho nehrabte, jinak to nejde. Je to definice formatu na kterym je CP/M system. Pak je prideleni disket "attach dsk0 cpm2.dsk" to je prideleni jmena (image) diskety A: a musi byt presne takhle. Ale dalsi, dsk1, (B:) atd, se muze uz priradit cokoliv, co jsem dal na Dropa a ma priponu DSK a delku 1088Kb.
Dal je mozno priradit od hdsk0 (disk I:) ruzny formaty disket a HDD. Takze treba definice HDD o maximalni velikosti 8Mb je:
Set hdsk0 format=hdsk - definice formatu HDD I: a pak
attach hdsk0= icko.dsk a uz mame HDD
Nebo se da takhle nadefinovat 8"
Set hdsk1 format= sssd8s - definice formatu standard 8" J: a pak
attach hdsk1= jecko.dsk
Ale je mozny nadefinovat v podstate jakoukoliv geometrii disku, je to popsany v PDF.
Takze s timhle jde vlastne zkouset i fyzicky pristup na disky. Omezeni ale je, ze to neumi vic nez 128 byte v sektoru, takze 3,5 a 5,25 v PC formatu to neumi. Ale to neni podstatny. Podstatny je, ze pokud se vytvori nejaky novy disk, co jeste neexistuje, tak ho CPM po spusteni nadefinuje a naformatuje.
Takze k dispozice je hromada datovyho prostoru. Zkousel jsem taky CP/3 a MP/M a vsechno to asi chodi. Ale jakym fofrem! Zkousel jsem rychlostni test a ten simulator jede na mym dilenskym starickym Celeronu 1000 Mhz s hodinama 108Mhz !!! Z80 na Sapi jde jen na 2 MHz. Samozrejme zde jde zapnout brzditko na 4 MHz.
Pod CP/M2. 2 jsem odzkousel vse, co je na diskete CPM2. Vse s priponou COM, co dokazu posoudit, je funkcni. Je tam nekolik krasnych vecicek, ktery jsem dosud nevidel, treba prevadec zdrojaku 8080 na Z80. Jsou tam komentovany Bdos, Bios, Ccp. Pak je tam CCPZ, ktery umi podstatne vic, nez originalni CCP od Digital Research. Vyzkousel jsem v tom hromadu prekladu, vse bylo v mziku hotovy a bez chyb.
No a co s formatem CP/M v DSK souborech aby to slo poslat nekam jinam? Na to jsou programky pod CP/M R a W, ktery umeji prevod z CPM do PC a naopak. Takze cesta z Sapi do tohodle simulatoru je:
V Sapi se Pipem posle pres COM1: treba soubor IDE.MAC, ten se v PC zachyti z COM1: pomoci Hyperterminalu a umisti se do adresare kde je simulator. Pak se spusti CP/M a napise se R IDE.MAC a ten se prenese do image disku A: a tam se jiz s nim muze delat to samy jako v Sapi.
Obracene to probiha stejne, spusti se W IDE.PRN pak se posle pres Hyperterminal a Pip do Sapi. Pokud se pracuje s binarkou, musi se prevest na HEX a na druhy strane zase vratit Hex do binarky.
Pres diskety to bohuzel nejde, simulator asi neumi ovladat v PC diskety naprimo.
No a jeste jsem nevyzkousel, jak je to s logickejma a fyzickejma I/O zarizenima. Stat nabizi zkratky zarizeni, ktery nejsou v priruckach CPM popisovany. Ale vypada to, ze derovac a snimac pujdou pripojit pres COM a tiskarna pres LPT ale je otazka, zda se to nemusi v definici CPM2 nejak nadefinovat. Tam jsem se jeste nedostal.
Takze to je zatim vse, zase nekdy az bude cas.
Jirka
Ostatní příspěvky vlákna:
[2012/1 (114)] [2012/2 (102)] [2012/3 (30)] [2012/4 (9)] [2012/5 (18)] [2012/6 (32)] [2012/7 (143)] [2012/8 (197)] [2012/9 (161)] [2012/10 (43)] [2012/11 (90)] [2012/12 (37)]