Blog:Pamäťové rozšírenie 256kB RAM
Z PMD 85 Infoserver
D (rekat a odsadenie) |
(fix nazvoslovia) |
||
| Riadok 33: | Riadok 33: | ||
| height="24" align="center" style="background-color:#f2f2f2" | — | | height="24" align="center" style="background-color:#f2f2f2" | — | ||
| height="24" align="center" style="background-color:#ccf" | VRAM | | height="24" align="center" style="background-color:#ccf" | VRAM | ||
| - | | height="24" align="center" style="background-color:#fcf" | | + | | height="24" align="center" style="background-color:#fcf" | REG1 |
| - | | height="24" align="center" style="background-color:#fcf" | | + | | height="24" align="center" style="background-color:#fcf" | REG0 |
| - | | height="24" align="center" style="background-color:#ffc" | | + | | height="24" align="center" style="background-color:#ffc" | PAGE3 |
| - | | height="24" align="center" style="background-color:#ffc" | | + | | height="24" align="center" style="background-color:#ffc" | PAGE2 |
| - | | height="24" align="center" style="background-color:#ffc" | | + | | height="24" align="center" style="background-color:#ffc" | PAGE1 |
| - | | height="24" align="center" style="background-color:#ffc" | | + | | height="24" align="center" style="background-color:#ffc" | PAGE0 |
|- | |- | ||
|} | |} | ||
| - | * {{Kbd| | + | * bity {{Kbd|PAGE<x>}} určuje číslo stránky, ktorá bude namapovaná do oblasti určenej bitmi {{Kbd|REG<x>}}. |
* ktorákoľvek stránka tak môže byť namapovaná do ktorejkoľvek oblasti. | * 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ť'''! | * mapovanie je platné vždy '''iba pre jednu konkrétnu stránku a oblasť'''! | ||
Verzia zo dňa a času 08:10, 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 | REG1 | REG0 | PAGE3 | PAGE2 | PAGE1 | PAGE0 |
- bity PAGE<x> určuje číslo stránky, ktorá bude namapovaná do oblasti určenej bitmi REG<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