Blog:Pamäťové rozšírenie 256kB RAM

Z PMD 85 Infoserver

(Rozdiel medzi revíziami)

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

Verzia zo dňa a času 07:37, 19. máj 2014

Pamäťové rozšírenie 256kB RAM pre PMD 85-2A a PMD 85-3

Pôvodné pamäťové čipy 4164 sú nahradené čipmi 41256. Mapovanie rozšírenej pamäti zabezpečuje hradlové pole.

  • 256kB pamäti sa delí na 16 stránok po 16kB: (PG00 až PG15).
  • Pamäťový priestor CPU sa delí na 4 oblasti:
    • REG0 - od adresy 0000h
    • REG1 - od adresy 4000h
    • REG2 - od adresy 8000h
    • REG3 - od adresy C000h


Základné stránky PG00 až PG03 sú mapované do zodpovedajúcich oblastí REG0 až REG3. Ak nie je pre danú oblasť zvolená iná stránka, je tam namapovaná stránka základná.

Stránky PG03 a PG07 zdieľa aj Video-procesor. Ten pristupuje ku týmto stránkam nezávisle od CPU a teda tieto stránky vôbec nemusia byť namapované v adresnom priestore CPU.

  • stránka PG03 je VRAM-0
  • stránka PG07 je VRAM-1

stránkovanie

Stránkovanie je prístupné na porte 6Dh. Z portu je možné zapísanú hodnotu aj prečítať. Po resete je port vynulovaný, čo znamená, že sú v pamäťovom priestore namapované všetky základné stránky a zobrazuje sa VRAM-0.

7 6 5 4 3 2 1 0
— VRAM MAP1 MAP0 BANK3 BANK2 BANK1 BANK0
  • BANK<x> určuje číslo stránky, ktorá bude namapovaná do oblasti MAP<x>.
  • ktorákoľvek stránka tak môže byť namapovaná do ktorejkoľvek oblasti.
  • mapovanie je platné vždy iba pre jednu konkrétnu stránku a oblasť!
  • bit VRAM určuje, ktorá VideoRAM sa bude zobrazovať (PG03 alebo PG07).
  • ROM sa stránkuje obvyklým spôsobom na 4. bite portu PC sytémovej 8255 (viď. AllRAM).
  • Ak je ROM nastránkovaná, zápis do časti RAM pod ROM je možný ako obvykle.

príklad použitia

Z popisu stránkovacieho portu je vidieť, že voľba banky s rovnakým číslom, ako je číslo oblasti znamená, že v pamäťovom priestore sú vždy základné stránky a teda zápis hodnôt 00h, 11h, 22h alebo 33h na port 6Dh je ekvivalentné. To je možné využiť na test prítomnosti pamäťového rozšírenia.

MVI     A,33h           ; test na prítomnosť pamäťového rozšírenia
OUT     6Dh
IN      6Dh             ; prečítaj zapísanú hodnotu
CPI     33h
JZ      MEM256_OK       ; pamäťové rozšírenie je prítomné
JNZ     MEM256_NO       ; pamäťové rozšírenie sa nenašlo

MVI     A,82h           ; povolenie a zapnutie AllRAM
OUT     0F7h

MVI     A,09h           ; ROM pripojená
OUT     0F7h

MVI     A,08h           ; ROM odpojená - AllRAM
OUT     0F7h

MVI     A,16h           ; stránka 6 do oblasti 1, zobrazuje sa VRAM-0
OUT     6Dh             ; v pamäťovom priestore sú stránky 0,6,2,3

MVI     A,7Fh           ; stránka 15 do oblasti 3, zobrazuje sa VRAM-1
OUT     6Dh             ; v pamäťovom priestore sú stránky 0,1,2,15

MVI     A,07h           ; stránka 7 do oblasti 0, zobrazuje sa VRAM-0
OUT     6Dh             ; v pamäťovom priestore sú stránky 7,1,2,3

MVI     A,6Ch           ; stránka 12 do oblasti 2, zobrazuje sa VRAM-1
OUT     6Dh             ; v pamäťovom priestore sú stránky 0,1,12,3