BGD: Porovnání verzí
(→Popis portů) |
(→Popis portů) |
||
Řádka 53: | Řádka 53: | ||
== Popis portů == | == Popis portů == | ||
− | 2C R Nuluje | + | 2C R Nuluje požadavek VBI přerušení |
W Registr režimu displeje | W Registr režimu displeje | ||
D0 = 1-povolení zvukového generátoru | D0 = 1-povolení zvukového generátoru | ||
Řádka 68: | Řádka 68: | ||
OUT (C),A | OUT (C),A | ||
výška tónu je asi 200Hz pro 0xFF a 23kHz pro 0x00 | výška tónu je asi 200Hz pro 0xFF a 23kHz pro 0x00 | ||
+ | |||
+ | 2D W maska VBI přerušení | ||
+ | D0 = 1-přerušení povoleno 0-zakázáno | ||
+ | R stav VBI přerušení | ||
+ | D0 = 1-požadavek VBI přerušení (i když je zakázané maskou) nuluje se čtením 2C | ||
+ | D1 = rezerva | ||
+ | D2 = rezerva | ||
+ | D3 = stav masky přerušení | ||
+ | |||
+ | 2E R čte byte z klávesnice, zároveň nuluje požadavek na přerušení od klávesnice | ||
+ | |||
+ | 2F W maska přerušení od klávesnice | ||
+ | D0 = 1-přerušení povoleno 0-zakázáno | ||
+ | R stav přerušení od klávesnice | ||
+ | D0 = 1-požadavek přerušení od klávesnice (i když je zakázané maskou) nuluje se čtením 2E | ||
+ | D1 = rezerva | ||
+ | D2 = rezerva | ||
+ | D3 = stav masky přerušení | ||
+ | |||
+ | VBI přerušení je stejně jako u jiných osmibitů odvozené přímo od snímkových implulsů pro televizi. Má tedy kmitočet 50Hz, periodu 20ms. |
Verze z 25. 11. 2021, 16:13
BGD je grafický displej s vlastní videopamětí 64KB, nezávislou na operační paměti počítače. Jde vlastně o dvě stránky videopaměti 32KB, které lze z pohledu zobrazování přepínat změnou jediného bitu a implementovat tak double buffering.
Adresa videopaměti v paměťovém prostoru počítače je 0xE na adresních vodičích A19-A16. Je tedy nutná přítomnost desky MAP-F, která provádí mapování do 64KB adresního prostoru Z80. Všechny desky, které používají mapování adres musí být ve vaně sběrnice zasunuté v těsném sousedství, bez mezer. Většinou jde o desky BGD, MAP-F a RAM-1M.
Pracovní režimy displeje
MO Textový režim 64x21 znaků. Začátek VRAM: 7580-7FFF nebo F580-FFFF Na lichých adresách jsou ASCII kódy znaků, na sudých atributy určující barvu Formát atributu: D7 inkoust G D6 inkoust R D5 inkoust B D4 inkoust I D3 papír G D2 papír R D1 papír B D0 papír I RGB samozřejmě znamená červenou zelenou a modrou, I zvyšuje jasovou intenzitu barvy.
M1 Grafický režim 512x256, atributy 8x1 Začátek VRAM: 0000-7FFF nebo 8000-FFFF Na lichých adresách jsou osmice pixelů, na sudých atributy určující barvu Formát atributu: D7 inkoust G D6 inkoust R D5 inkoust B D4 inkoust I D3 papír G D2 papír R D1 papír B D0 papír I Podobá se textovému režimu, ale místo ASCII znaku je přímo byte, který se posílá do posuvného registru.
M2 Grafický režim 256x256, každý pixel má vlastní barvu Začátek VRAM: 0000-7FFF nebo 8000-FFFF Formát bajtů: D7 pix0 G D6 pix0 R D5 pix0 B D4 pix0 I D3 pix1 G D2 pix1 R D1 pix1 B D0 pix1 I
Deska má dva výstupy, RGB + synchronizace a černobílý kompozitní výstup. Interpretace barev na RGB výstupu je přibližně stejná, jako u ZX-Spectra, bit I zvýší jas barvy, ale nemá vliv na černou.
Chování černobílého výstupu je odlišné. Hodnota bitů {GRBI} určuje absolutní jas bodu. Lze tedy na něm vytvářet plnohodnotné obrázky v 16 stupních šedi.
Popis portů
2C R Nuluje požadavek VBI přerušení W Registr režimu displeje D0 = 1-povolení zvukového generátoru D1 = 0-režim M1 1-režim M2 D2 = 0-grafické režimy 1-textový režim M0 D3 = volba stránky 0-zobrazuje se horní 8000-FFFF 1-zobrazuje se dolní 0000-7FFF Při nahrávání výšky tónu do zvukového generátoru se využívá vlastnosti instrukce OUT (C),A kde na A7:0 je adresa portu v C a na A15:8 je obsah párového registru B. např.: LD A,mode LD B,ton LD C,0x2C SET 0,A OUT (C),A výška tónu je asi 200Hz pro 0xFF a 23kHz pro 0x00
2D W maska VBI přerušení D0 = 1-přerušení povoleno 0-zakázáno R stav VBI přerušení D0 = 1-požadavek VBI přerušení (i když je zakázané maskou) nuluje se čtením 2C D1 = rezerva D2 = rezerva D3 = stav masky přerušení
2E R čte byte z klávesnice, zároveň nuluje požadavek na přerušení od klávesnice
2F W maska přerušení od klávesnice D0 = 1-přerušení povoleno 0-zakázáno R stav přerušení od klávesnice D0 = 1-požadavek přerušení od klávesnice (i když je zakázané maskou) nuluje se čtením 2E D1 = rezerva D2 = rezerva D3 = stav masky přerušení
VBI přerušení je stejně jako u jiných osmibitů odvozené přímo od snímkových implulsů pro televizi. Má tedy kmitočet 50Hz, periodu 20ms.