V Sysmanovi je jedna pamatna veta: "Graficka karta VGA ma s kartou EGA jednu spolecnou vlastnost. Jsou to nocni mury programatoru"
Na klasicke VGA, v dobach malych cernobilych monitoru, jsme pouzivali sadu 512 znaku k tomu, abychom mohli kombinovat normalni a dvojnasobne siroke znaky. Sekundarni sada mela ve spodni casti leve poloviny znaku a v horni casti prave poloviny znaku, takze kdyz jsem chtel zobrazit dvojnasobne siroky znak, treba A, vybral jsem sekundarni sadu a do textu jsem vlozil znaky 0x41 a 0xc1. Jelo to v 8 bitech na znak = 640x480, aby to nedelalo problemy s devatym sloupcem. Vypadalo to celkem dobre.
Nebyla noční můra až u pozdějších SVGA karet, které podporovaly rozlišení do 1024x768 v Hi/TrueColor a paletové režimy, ale každá měla nějak specifické mapování oblastí paměti a driver pro každou z asi třiceti tehdejších grafik měl pár stovek řádků v assembleru?
K tomu šlo nějak nastavit v podstatě jakékoli rozlišení programováním generátoru hodinového signálu a odvozováním synchronizace řádků, sloupců, snímkové frekvence, zpětných běhů, oblastí mimo obrazovku aneb modelines v Linuxu a X11 generované na základě datasheetu monitoru.
31. 7. 2024, 11:19 editováno autorem komentáře