AllRAM

Z PMD 85 Infoserver

(Rozdiel medzi revíziami)

Djb (Diskusia | príspevky)
(begin work)
Ďalší rozdiel →

Verzia zo dňa a času 12:35, 30. december 2008


AllRAM mód

AllRAM mód je možné zapnúť pri modeloch PMD 85-2A a PMD 85-3, tie majú 64kB RAM.

V oboch prípadoch sa stránkovanie robí 4. bitom portu PC systémového 8255. Ak je na PC4 úroveň H, číta sa z ROM, ak je na PC4 úroveň L, číta sa z RAM. Zápis je stále do RAM, aj keď je nastránkovaná ROM (teda RAM nie je "úplne odpojená"), čo osobne považujeme za veľmi užitočnú vlastnosť, ktorú programy pekne využívajú. Dôležitou vecou je, že na PC4 je pull-up odpor, ktorý udržiava úroveň H na PC4, ak je horná polovica portu PC naprogramovaná ako vstup. To vlastne udržiava pripojenú ROM, ak sa stránkovanie nepoužíva.

Takže:

1 MVI A,8AH  ; SK A: MOD 0, PA-OUT, PCH-INP, SK B: MOD 0, PB-INP, PCL-OUT
OUT 0F7H
nastaví PCH na vstup a tým je stránkovanie "vypnuté" (ale do RAM sa dá samozrejme stále zapisovať)
2 MVI A,82H  ; SK A: MOD 0, PA-OUT, PCH-OUT, SK B: MOD 0, PB-INP, PCL-OUT
OUT 0F7H
nastaví PCH na výstup (stránkovanie je zapnuté) a keďže pri inicializácii 8255 sa nulujú aj výstupné latche, tak je hneď odpojená ROM
3 MVI A,09H
OUT 0F7H
nastaví PC4 na úroveň H - pripojená je ROM
4 MVI A,08H
OUT 0F7H
nastaví PC4 na úroveň L - ROM je odpojená

PMD 85-2A

Programy pre PMD 85-2A, ktoré chcú využívať rozšírenú pamäť a potrebujú aj ROM, tak to robia napríklad aj tak, že je nastavený režim (1), prekopírujú Monitor (8000H8FFFH) z ROM do RAM (na to isté miesto) a nastavia režim (2).

Tým je už ROM odpojená, Monitor je v RAM od 8000H a RAM od 9000H0BFFFH je celá prístupná.

PMD 85-3

Keďže PMD 85-3 má Monitor od adresy 0E000H, teda sa prekrýva s VideoRAM, tak k prepínaniu do AllRAM módu (odpájaniu ROM) dochádza vždy pri práci s VideoRAM. Na to Monitor používa príklady (3) a (4).

PMD 85-3 používa aj PC5 ako riadiaci bit. Ak je na PC5 úroveň H, tak sa ROM zrkadlí v celom pamäťovom priestore od 0000H, 2000H, ... až po 0E000H. Tam sa využíva práve skutočnosť, že po resete sú všetky porty 8255 vstupné, takže na PC5 je pull-up úroveň H a to "nastránkuje" ROM od adresy 0000H, kde CPU po resete začína. Potom sa po vykonaní (2) nastaví PC4 a PC5 do L a ROM sa odpojí, to už je ale v RAM na adrese 0E0B3H pripravené (3), čo pristránkuje späť ROM (viď. kód na adrese 0E0A3H v Monitore PMD 85-3).

režim kompatibility

K trvalému prepnutiu do AllRAM módu v PMD 85-3 dôjde pri prechode do režimu kompatibility s PMD 85-2 príkazom JUMP FFF0. Vtedy sa premodifikujú a relokujú prvé 4kB Monitora PMD 85-3 tak, aby zodpovedal Monitoru PMD 85-2 a prekopíruje sa do RAM od adresy 8000H.

Consul 2717

AllRAM mód podporuje aj Consul 2717 (Zbrojováček), tam sa však používa iný bit, naviac je tam možnosť preadresovať pamäť od 0C000H do 0CFFFH a zmeniť rozlíšenie z 288x256 na 384x256.

emulácia

V emulátore sa AllRAM mód plne emuluje a aktivovaný AllRAM mód indikuje modrá LED na informačnom panely.