Počátky (barevné) grafiky v PC a noteboocích

I ten nejlevnější mini-notebook dnes umí obsloužit monitor s vysokým rozlišením a vykresluje v miliónech barev. Kromě toho zvládne akcelerovat přehrávání filmu aspoň v DVD kvalitě a nechybí mu ani akcelerace 3D grafiky. Všechny tyto vymoženosti jsou dnes brány jako naprostý základ, ale nebylo tomu vždy.

Když přišly první počítače PC, mohl si zákazník zvolit mezi kartou schopnou zobrazit jen text (s pěkně prokreslenými písmeny) a kartou schopnou zpracovat i grafiku, ale v podstatně nižším rozlišením. Druhá se označovala zkratkou CGA (Color Graphics Adapter) a ta se také dostala ve zmenšené verzi do prvních notebooků kompatibilních s PC.

Nemám dnes v plánu rozebírat do hloubky technické pozadí CGA, ale mám doma jeden počítač třídy PC XT včetně barevného RGBI monitoru a kompozitního výstupu, a tak pomocí několika fotografií předvedu, jak tehdy programy v praxi vypadaly a kde byla největší úskalí.

Technické okénko

Většina lidí, co přišli do kontaktu s PC aspoň na začátku 90. let, si CGA pamatuje jako něco, co bylo schopné zobrazit v nízkém rozlišení (320×200) současně čtyři barvy – zpravidla černou, bílou, růžovou a bledě modrou. Ona toho uměla trochu více. Základem karty byl tehdy hojně využívaný čip Motorola MC6845 doplněný o celou řadu podpůrných obvodů a 16 kB paměti.

Řešení bylo navrženo tak, aby bylo použitelné s klasickým televizorem, nebo počítačovým monitorem s TTL logikou a RGBI vstupem. Kompozitní televizní výstup byl barevný a s ohledem na americký původ je pochopitelné, že pracoval v normě NTSC. Pro televizory vybavené pouze anténním vstupem bylo možné dokoupit RF modulátor, který výstup z počítače přimíchal jako další kanál mezi běžné stanice. Nativní rozlišení 640×200 při obrazové frekvenci 60 Hz bylo pro signál NTSC jako dělané, a tak na rozdíl od nových grafických karet nebylo nutné obraz jakkoli dále upravovat a prohánět přes další filtry znamenající degradaci obrazu.

RGBI výstup by šel přiřadit spíše k DVI/HDMI než k VGA, neboť se obrazová informace přenášela digitálně. Zkratka RGBI ukrývá označení čtyř signálových bitů, ze kterých se složila výsledná barva pixelu – červené, zelené, modré a intenzity. Čtyři bity dohromady dávají 16 možností (barev) a intenzita určovala, zda se použije světlá, nebo tmavá verze barvy.

Textový režim

V poslední době mě několik lidí přesvědčovalo, že víc než čtyři barvy CGA neumí zobrazit. Není to pravda. Plných 16 barev se používalo v textovém režimu, který se schopnostmi kromě nižšího rozlišení (tj. méně prokreslených znaků v matici 8×8 pixelů) neliší od pozdějších karet.

V textovém režimu tehdy běžel nespočet aplikací. I když bylo 16 barev dle specifikací omezeno pouze na něj, stále to ještě nebylo něco, co by nestálo za řeč.

Hi-res grafický režim (2 barvy)

Textový režim původních karet od IBM (CGA a MDA) měl pro našince jednu velkou nevýhodu. V jeho znakové sadě chyběly pro češtinu specifické znaky (háčky, kroužky,…). Uživatel si buď koupil novou znakovou sadu a příslušnou ROM (švába na kartě) vyměnil, nebo musel s češtinou pracovat v programech, které využívaly grafický režim. Jedním takovým hodně známým programem je původní textový editor T602. Kdo zažil počítače v dřevních dobách, určitě s ním přišel do kontaktu.

T602 byla v ČR velmi oblíbená. Vykreslování v grafice mělo význam i kvůli různým písmům (vysoké, široké, tučné). Lepší možnosti byly vykoupeny nižší rychlostí (v praxi ne o moc) a monochromatickým obrazem. CGA v nejvyšším rozlišení (640×200) umožňovala navolit pouze jednu barvu (z dostupných 16) a pozadí bylo fixně černé. Malá daň za odstranění problémů se znakovými sadami (a tedy jistotu, že bude text všude správně).

Low-res grafický režim (4 barvy)

Aplikace, které potřebovaly vykreslovat grafiku v barvách, používaly nižší rozlišení – 320×200 (na šířku poloviční). Tím pádem každý pixel mohly definovat dva bity místo jednoho, což dělá 4 různé barvy. Nevím, co si v IBM šlehli, když barvy vybírali, ale výchozí paleta kombinuje již zmíněnou kombinaci černé, bílé, růžové a bledě modré. Nic proti, ale skoro každá barva by byla lepší než růžová a bledě modrá.

Na obrázku je vidět letiště v Chicagu ze hry Flight Simulator 3.0 (mimochodem tohle letiště už asi 10 let neexistuje). Nedostatek barev se řešil střídáním pixelů dvou barev. Zrovna výsledek ve Flight Simulatoru nebyl nejlepší a kolikrát jsem měl problém na první pohled rozeznat vodu od země a podobně. V jiných hrách si s možnostmi vyhráli, jak jen to šlo. Zde například můžete vidět úvodní obrazovku hry Titus the Fox:

Titus the Fox už je hra nová (proti počítači), takže má i verze pro lepší grafické karty. Pro srovnání mám ještě obrázek z IBM PS/2 vybaveného kartou VGA (320×200, 256 barev).

Jedinou volně měnitelnou barvou v paletách byla barva pozaďová (standardně černá). V některých hrách se rovnou měnila na modrou a brala se paleta jako taková volná variace na téma „stupně šedi“. Duck Tales je typický příklad.

Paleta číslo dvě byla pro oči příjemnější a do her se hodila více – kombinovala černou, zelenou, červenou a žlutou.

Oficiálně měla CGA umět pouze tyto dvě palety a každou z nich nabízet ve světlé a tmavé variantě. Existoval však trik, kterým se dosáhlo nedokumentované třetí palety, která byla shodná s první, ale místo růžové měla červenou. Nejedna hra ji s oblibou používala a nutno dodat, že výsledek s ní byl rozhodně lepší.

Jenže třetí paleta měla dvě nevýhody. Aby šla aktivovat, musela se vypnout podpora barev kompozitního (TV) výstupu. Kdo měl připojený televizor, měl v těchto hrách místo barev jen stupně šedi. Druhá nevýhoda už nebyla tak závažná – šlo o nedokumentovanou funkci, kterou pozdější karty IBM (EGA, VGA) nepodporovaly. Ve výsledku tak místo červené byla zpět růžová. Velký problém to ovšem nebyl – hry, které si s paletami hrály nad rámec dokumentace, často vznikaly až v dobách, kdy už byla na trhu novější karta EGA, a tak pro novější karty měly plný 16barevný režim (čtyřbarevný volili jen ti, co měli CGA).

Ještě více low-res grafický režim (16 barev)

Když už jsme u těch grafických módů nad rámec specifikace, programátoři si vymysleli ještě způsob, jak v nízkém rozlišení 160×100 dosáhnout všech 16 barev. Jde o malý hack, kdy si grafická karta myslí, že pracuje textovém režimu. Původní CGA zvládá tento režim bez větších obtíží, ale různé alternativní karty mohly mít problémy.

Tento režim používala například oblíbená kratochvíle studentů základních škol – Tunneler. Na franzouzském klonu IBM PC XT, který mám teď doma, v něm při překreslování létají přes obraz modré a zelené čárky (tzv. sněžení). Pravděpodobně použitá grafická karta není přesnou kopií původní CGA.

Výstup na televizor

Kompozitní výstup grafické karty nabídl až překvapivě vysokou kvalitu zobrazení. Podle nastavení pracoval buď v černobílém, nebo barevném režimu. Přepínání mezi nimi mělo své opodstatnění – v černobílém byl obraz ostřejší, neboť v barevném byly po stranách ostrých hran nechtěné barevné přechody (dáno normou NTSC a způsobem, jakým byla barvová informace přidána k původní jasové složky).

Plný textový režim (80×25) automaticky vypínal podporu barev, aby zůstal text čitelný a musím uznat, že ostrost signálu byla na špičkové úrovni. V mém případě byla mírná neostrost dodána až televizí, ale kvalitní kompozitní monitor by to zvládl bez ní. Kdo chtěl s původní CGA barvy v textovém režimu, musel přepnout na „horší“ textový režim 40×25 znaků.

Čtyřbarevná RGB grafika fungovala i v televizoru, ale kvůli způsobu generování barev barvy nebyly přesné (tmavší a méně kontrastní).

Generování barev pomocí vhodného množství černobílých svislých čas se správným zpožděním (fází) přinášelo výhodu v možnosti generovat více barev bez omezení na palety. Toho využívaly některé hry včetně mých oblíbených jako Space Quest a již zmíněného Flight Simulatoru.

Oběma hrám tento speciální grafický režim značně přidal po vizuální stránce. U Fligh Simulatoru je vidět, že informační panely letadla musí mít kvůli čitelnosti některé prvky tlustší, ale výhled z kokpitu je s více barvami proti čtyřbarevné verzi přirozenější. Zde je ještě srovnání v detailu:

Notebooky

Přestože u stolních počítačů už se našinec na přelomu 80. a 90. let setkával s novějšími kartami typu VGA, případně v levných počítačích s monochromatickou grafikou Hercules, notebooky s CGA kompatibilními kartami pracovaly až někdy do roku 1992. Bylo to dáno prostým faktem, že k procesorům třídy XT (8088 a 8086) nemělo cenu párovat lepší grafiky kvůli rychlosti a zejména mezi levnými a malými notebooky byly 10MHz varianty úsporných procesorů 80C86-2 docela oblíbené.

Interní displeje většinou měly rozlišení 640×200 a zvládaly 4 stupně šedi. Textový mód kvůli čitelnosti nepodporoval barvy (ani jako stupně šedi) a v grafických módech se logicky nepracovalo s paletami. Následující obrázek ukazuje opět Flight Simulator (který je vděčným příkladem díky nespočtu podporovaných grafických módů) v konfiguraci pro LCD:

Pro ty, kteří si chtěli dopřát barev, notebooky měly grafické výstupy stejné jako stolní počítače (a se stejnými možnostmi). Notebooky amerických značek měly RGBI i kompozitní výstup pro televizor. U evropských značek často kompozitní výstup chyběl kvůli odlišné televizní normě (PAL).

Závěrem

První pokusy o grafiku na PC nebyly světoborné, ale dají se s ohledem na zaměření počítače pochopit. IBM mělo lepší grafické karty už v roce 1984 (EGA, PGC), ale dlouhý život CGA měla na svědomí především cena, nízká rychlost novějších karet s procesory horšími než 80286 a potřeby uživatelů, kteří měli u kancelářského počítače priority posunuté trochu jinam (k výpočetnímu výkonu, velikosti RAM apod.).

Komentáře k článku

  1. 1. Michal  28.6.2011  19:21:29

    Muzu se zeptat jak se jmenovala ta hra ve ktere byly ty kocky? Ma byt na obrazku co je za textem: „Čtyřbarevná RGB grafika fungovala i v televizoru, ale kvůli způsobu generování barev barvy nebyly přesné (tmavší a méně kontrastní).“ Trinacty obrazek shora. Diky

  2. 2. swarm  28.6.2011  19:28:24

    [1] Alley Cat. To je taková klasika, že jsem jméno ani nepsal.

  3. 3. Honza.Mac  3.7.2011  15:57:39

    T602 a M602 jsme se učili na ZŠ v roce 1998!!! naštěstí na SŠ v roce 2002 jsme už brali Office a Windows :-)

  4. 4. Tralalák  3.7.2011  17:16:09

    Ale ten čas letí.
    Face Off! hockey, Gunboat, Monkey Island, Cat, Tetris, Tapper, North & South, Tunneler, Fox, Duck Tales, F-16, F-117A aj tá Formula 1 atď. na tom som vyrastal :o)
    Díky za článok

  5. 5. AG  7.7.2011  8:51:25

    Vzdy ked pises o tychto starych masinach, musim sa pozastavit nad tym, ze tie stroje este stale po desatrociach funguju. Budu aj dnesne pocitace behat o 20 rokov? Minimalne zdroje urcite nie.

    Aka bola vtedy asi poruchovost pocitacov? Co na nich odchadzalo/opravovalo sa/reklamovalo? :)

  6. 6. swarm  10.7.2011  15:28:03

    [5] Poruchovost některých počítačů byla hodně vysoká. Obecně ale součástky nebyly provozované na kraji svých možností, takže mohla být jejich životnost u dobře navrženého počítače vyšší. Předpokládám, že i z dnešní doby se ledacos dochová (i kdyby šlo jen o každý tisící kus, bude toho dost, aby se mi za 20 let něco z toho dostalo na blog do nostalgického článku ;).

    I to retro, o kterém tu píšu, bylo používané intenzivně třeba jen prvních 5-10 let a zbytek času sloužilo jen zřídka pro radost na zapnutí a zavzpomínání. Navíc mám teorii, že jakmile se prošvihne čas vestavěného kurvítka, je už zařízení téměř nesmrtelné. Doma mám notebooky postupně z různých let a všechny jedou a ani po letech žádný z nich nezdechnul.

    Více o tom, co se mi válí doma ze starých notebooků – http://swarm.cz/exponaty/
    Více o kurvítkách – http://necyklopedie.wikia.com/wiki/Kurv%C3%ADtko

    Myslim, že jestli na něco dnešní počítače zdechnou, bude to nekvalitní pájka, kvůli „eko“ nařízením. To je ta veselá nálepka ROHS na noteboocích z posledních let.

  7. 7. IBM  8.12.2014  15:21:15

    mi měli v roce 2011 ve škole tři počítače jeden měl Windows 3.11 a procesor Intel 80386 16MHz
    devadesát procent času na něm běžel DOOM a počítač měl EGA grafiku
    druhý byl identický
    já pracoval na tom třetím z těch ten měl procesor Intel 8088 4,77MHz 640KB RAM měl monochromatický monitor 9″ a systém MS-DOS 5.10 pracoval sem na něm v textovém editoru T602 těd je rok 2014 a tehdy sem byl v 3 třídě dnes sem v třídě 5 a mám rát starý počítače


Napsat komentář