Přejít na obsah
ARCHIVEKArchiv e-mailových konferencí o 8bitových počítačích Archiv Pandory 1999 až 2013

Původní podoba příspěvku

Petr Žydek Zpět na příspěvek

Surová data tak, jak byla v roce 2013 stažena z Pandory (HTML zdroj bez úprav, osobní e-mailové adresy jsou maskované).

<!-------------------------------------------------------------->
<table width="100%"><tr><td align="left" valign="middle"><B>Re: Re: Sekundární adaptér - hardwarová  VGA:</B></td><td align=right valign="middle"></td></tr></table><BR><pre>
Konečně věcný dotaz zainteresovaného bastlíře.

&quot;Zda to bude karta pro horni slot...&quot;
Karta by se měla vejít do horního slotu, možná včetně &quot;nějakého PS/2&quot;
<img src="BODY_IMAGES_WRAP_GIF"> (rád si nechám poradit) a možná včetně RTL8019 (přijde mi
<img src="BODY_IMAGES_WRAP_GIF">komfortnější než obvod Microchip SPI). Možná se pletu, ale je
<img src="BODY_IMAGES_WRAP_GIF">složitější nainicializovat RTL a pak používat funkce send packet/receive
<img src="BODY_IMAGES_WRAP_GIF">packet, než dělat totéž tím Mikročipem? Taky co jiného k tomu na desku
<img src="BODY_IMAGES_WRAP_GIF">přidat. Pro realizaci O.S. s GUI docela šikovná sestava, ne? :-) Ale netrvám
<img src="BODY_IMAGES_WRAP_GIF">na tom (kartu s RTL8019AS na pokusy mám).

&quot;Jake chipy tam budou a zda maji technicke manualy&quot; - RTG3105i nebo RTG3105iEH. 
<img src="BODY_IMAGES_WRAP_GIF">Dokumentaci jsem sepsal na základě reverse engineeringu karty PINE PT-505S,
<img src="BODY_IMAGES_WRAP_GIF">všechno jsem propískával ručně. Jinak stačí jen obecné znalosti
<img src="BODY_IMAGES_WRAP_GIF">programovaní VGA na úrovni registrů, např.:
http://www.osdever.net/FreeVGA/home.htm
http://wiki.osdev.org/VGA
http://www.kosek.cz/clanky/egavga/
Speciality, které se týkají jen RTG3105, mám sepsané soukromě.

&quot;Jsou to chipy bezne k dostani?&quot; - v tuto chvíli raději soukromě mailem.
<img src="BODY_IMAGES_WRAP_GIF">Zdroj mám, ale v současné době nebudu nadšencem, jako v době koupě 100ks 
<img src="BODY_IMAGES_WRAP_GIF">WD2791. Jak jsem dopadl? Pro dobrotu na žebrotu.

&quot;Dulezite je, k cemu to nekdo bude moci pouzit a zda napr. nejaka CP/M to bude
<img src="BODY_IMAGES_WRAP_GIF">umet pouzivat.&quot; - téměř všude, kde je Z-80 (plus stavebnicové stroje jako
<img src="BODY_IMAGES_WRAP_GIF">SAPI), různá MCU apod. U Sharpa jsem využil fíčury inhibit bank. To může 
<img src="BODY_IMAGES_WRAP_GIF">limitovat stroje s už tak přetěžovaným memory bankingem jako např.
<img src="BODY_IMAGES_WRAP_GIF">Sinclair. CP/M - dual head asi nikdo nikdy neplánoval (jedině mezičlánek v
<img src="BODY_IMAGES_WRAP_GIF">podobě aplikace v CP/M), ale když to někdo přepíše pro textový VGA režim
<img src="BODY_IMAGES_WRAP_GIF">RTG3105, proč ne? :-)

&quot;...jako PCG700 a nebo neco okolo MC6845...&quot; - Motorola je ale spíš CGAčko.
<img src="BODY_IMAGES_WRAP_GIF">Ten Realtek je snad nejmenší VGA čip do ISA na světě a má v sobě DAC (a i
<img src="BODY_IMAGES_WRAP_GIF">VGA BIOS, což netřeba, leda jako CGROM, ale s tím nepočítám). Trident
<img src="BODY_IMAGES_WRAP_GIF">9000i umí totéž, ale je větší. Výhody VGA jsou snad jasné - monitory
<img src="BODY_IMAGES_WRAP_GIF">jsou všude. Umím si představit tu krásu - vlevo na stole např. ACER V193
<img src="BODY_IMAGES_WRAP_GIF">(výstup z GDG přes Davidův konvertor), vpravo tentýž monitor (karta VGA).

http://www.volny.cz/ekrakonos/vga1/cz_vga1.htm - tohle je pěkné soft/hard
<img src="BODY_IMAGES_WRAP_GIF">řešení (jedno z mnohých), ale jen textové. RTG umí &quot;všechno&quot; a interní
<img src="BODY_IMAGES_WRAP_GIF">řešení v Sharpu je mnohem rychlejší, zápis do VRAM jde udělat běžnými 
<img src="BODY_IMAGES_WRAP_GIF">instrukcemi pro práci s pamětí. Atd., atd.

&quot;Osobne bych radeji delal nejakou kartu na hradlovym poli&quot; - mám radši
<img src="BODY_IMAGES_WRAP_GIF">řešení hardwarová, kvůli &quot;trvanlivosti obsahu&quot;.

&quot;a aby to umelo sprity.&quot; - to nebyl cíl návrhu. Ale asi by to šlo řešit
<img src="BODY_IMAGES_WRAP_GIF">softwarově přepínáním sad znaků za pochodu.



Řešení hardwaru - vycházím z ISA karty PT-505S. Pokud zmíním v textu
<img src="BODY_IMAGES_WRAP_GIF">vývody adresové sběrnice, myslím tím ty na straně RTG, ne Sharp slotu!

Zápis do VRAM je úplně stejný jako v PC na rozsahu A0000-BFFFFh (dle
<img src="BODY_IMAGES_WRAP_GIF">režimu). Virtuální 20bitovou adresu tvoří pomocný registr na portu 4Bh
<img src="BODY_IMAGES_WRAP_GIF">(nebo 4Dh, není určeno - zatím drátováno napevno), smysl mají jen sudé
<img src="BODY_IMAGES_WRAP_GIF">hodnoty v rozsahu A0 až BFh a Sharp dodá 13 nižších bitů při zápisu do
<img src="BODY_IMAGES_WRAP_GIF">E000-FFFFh. Přesněji:
AD19 -&gt; HIGH (zápis do VRAM povolen) po instrukci OUT E5h, LOW po instrukci OUT
<img src="BODY_IMAGES_WRAP_GIF">E6h (nebo HW resetu). Udržováno jednobitovým registrem. Jedná se o totožnou
<img src="BODY_IMAGES_WRAP_GIF">funkci jakou má slepý signál INH5 na desce Sharpa.
AD18 -&gt; trvale GND
AD17 -&gt; trvale HIGH
AD16..13 -&gt; popsaný pomocný registr na portu 4Bh, neuplatní se všechny
<img src="BODY_IMAGES_WRAP_GIF">bity
AD12..0 -&gt; dodá Sharp při zápisu na adresy v rozsahu E000-FFFFh

Příklad: textový režim 80x25 znaků od adresy B8000, znak &quot;A&quot; v levém
<img src="BODY_IMAGES_WRAP_GIF">horním rohu obrazovky

LD A, B8h
OUT (4Bh), A
OUT (E5h), A
LD A, 41h
LD (E000h), A
OUT (E6h), A

Plnění CGRAM se děje též od B8000 s odlišně nastavenými registry VGA
<img src="BODY_IMAGES_WRAP_GIF">GDC(05,06) a TS(02,04) oproti normálu.

Zápis (čtení) I/O portů
Úplně stejný jako na PC. Pro jednoduchost hardwaru se AD8..9 uvedou do HIGH, 
<img src="BODY_IMAGES_WRAP_GIF">AD7 se invertuje oproti Sharp slotu. Kdo zná registry VGA na PC, orientuje se
<img src="BODY_IMAGES_WRAP_GIF">velice snadno.

adresa MZ-800 (hex); čtení/zápis; adresa PC (hex); popis
40; WR; 3C0; ATC register - address/data (0..17h)
41; RD; 3C1; ATC register - data
42; WR; 3C2; miscellaneous output register
43; WR+RD; 3C3; VGA enable
44; WR+RD; 3C4; TSEQ register - address (0..4h)
45; WR+RD; 3C5; TSEQ register - data
46; WR+RD; 3C6; Pallette mask
47; RD/WR; 3C7; DAC state/DAC address read mode register
48; WR; 3C8; DAC address write mode register
49; WR; 3C9; DAC data register
4A; RD; 3CA; feature control register
4B; WR; jen MZ-800, viz text
4C; RD ;3CC; miscellaneous output register
4D; alternativa k 4Bh
4E; WR+RD; 3CE; GDC register - address (0..8h)
4F; WR+RD; 3CF; GDC register - data
54; WR+RD; 3D4; CRTC register - address (0..18h)
55; WR+RD; 3D5; CRTC register - data
5A; RD; 3DA; input status register &amp; ATC address-data switch
5A; WR; 3DA; feature control register

Speciální porty RTG3105iEH 3D6, 3D7, 3D8, 3D9, 3DD a nedokumentované registry
<img src="BODY_IMAGES_WRAP_GIF">GDC a CRTC jsou (zatím) nad rámec tohoto textu.

Petr de Zviqov
</pre>