Podceňovaná CGA grafika prvních PC a kompozitní výstup

Už dlouho jsem si říkal, že bych se měl ještě vrátit k barevné grafice na prvních počítačích IBM PC ze začátku 80. let. Kdo si přičichl k počítačům v devadesátých letech, si už obvykle pamatuje CGA jen jako příšerně zvolenou kombinaci čtyř barev (černá, bílá, bledě modrá a růžová). V době, kdy PC vzniklo, však hry mohly vypadat i mnohem lépe – lépe než na některých dalších platformách té doby.

cga-again-fs3-composite

O PC se tvrdí, že mělo v počátcích hroznou grafiku. Byl to kancelářský počítač, takže nikdo velké zaměření na grafické možnosti nemohl čekat. Ty hrozné čtyřbarevné palety, které jsme mohli vidět na počítačích v pozdější době, když se náhodou zapnula nějaká stará hra, rozhodně nebyly maximem původního PC. Bylo to spíš pozůstatkem doby, kdy podporu pro CGA vývojáři neřešili víc, než je nutné, a na trhu už byly dávno grafické karty podporující novější standardy.

Začátkem 80. let, když ještě nic jiného pro PC pořádně neexistovalo, však vycházely hry (a nebylo jich málo), které měly grafiku mnohem lepší. Klidně lepší než na Apple II, Atari a dalších. Může za to kompozitní výstup. Původní CGA karty měly totiž obvykle dva obrazové výstupy – RGBI a kompozitní. RGBI se používalo pro digitální připojení počítačových monitorů, kde byla prioritou ostrost textu. Pro každý pixel se barva definovala hodnotou 0/1 na čtyřech vodičích (červená, zelená, modrá, intenzita), což dávalo ve všech kombinacích dohromady 16 barev. Plné ostrosti a barev si uživatel mohl „užít“ v textovém režimu 80×25 znaků, kde se obrazovka vykreslovala v rozlišení 640×200 právě při 16 barvách. Pokud jste však chtěli grafický režim, měli jste v 640×200 už jen dvě barvy a jediné další rozlišení ze standardních módů bylo 320×200 při čtyřech barvách v několika předdefinovaných paletách.

cga-again-fs3-rgbi

Pro domácí (herní) nasazení byl vhodnější druhý výstup – ten kompozitní –, který už v pozdějších grafických kartách nebyl, takže jej ti, kteří začali s počítači později, neměli možnost poznat. S ním bylo možné využívat mechanismu, kterým se v zámořské televizní formě NTSC generovaly barvy. Pomocí vhodného střídaní bodů určitých úrovní vedle sebe bylo možné získat více než jen čtyři základní barvy. Bylo to však za cenu efektivního rozlišení 160×200 (v té době nic neobvyklého). Této vlastnosti NTSC využívalo mnoho počítačů a první s tím přišel Steve Wozniak u původního Apple II.

Hry na PC v kompozitním zobrazení vypadaly opravdu dobře. Dokonce tak dobře, že dneska mi občas někdo nechce věřit, že by to snad skutečně mohlo být výsledkem práce CGA. Zde se můžete podívat, jak vypadaly v dávných dobách hry běžící na prvním počítači typu IBM PC (5150):

Možná někoho napadne, že to není moc chytře vymyšlené, protože bylo nutné připojit televizor místo monitoru. IBM tento výstup opravdu zamýšlela čistě pro připojování televizoru, čímž mohl zákazník alespoň zprvu ušetřit za nákup počítačového monitoru. Od řady jiných výrobců však bylo možné koupit, jak kompozitní monitory (taková kvalitnější a ostřejší televize bez TV tuneru), nebo přímo monitory s přepínáním vstupu mezi RGBI a kompozitním (s počítačem se propojily oběma kabely a přepínačem se měnil vstup za chodu). Tento mechanismus ostatně byl později i u jiných platforem – fungoval tak třeba Commodore 128 s originálním monitorem (o jeho výstupech jsem psal v reportu z loňského Bytefestu). U těch, co na PC hráli hry, nebylo využívání kompozitního výstupu ničím výjimečným.

cga-again-space-quest-dosbox

Není náhodou, že jsem tento zápisek napsal zrovna teď. Měl jsem ho v hlavě dokonce ještě delší, ale jeden můj oblíbený autor na Youtube (8-bit Guy, doporučuju i další videa) dostal stejný nápad a zpracoval to moc pěkně:

Komentáře k článku

  1. 1. dex  3.4.2016  21:20:35

    Takže vzhledem k tomu, jakou technologií byl barevný CGA obraz na NTSC televizi vytvářen, předpokládám, že u nás s PALem bychom stejně neměli šanci?
    Existuje vůbec nějaká PAL CGA videokarta pro PC?

  2. 2. Puppy  3.4.2016  21:51:55

    [1] Sinclair PC200 http://www.oocities.org/peterochocki/computers/1980comp/sinpc200.htm

    Special features: PAL modulator for connection to a television, as well as a monitor output.

  3. 3. swarm  3.4.2016  23:39:04

    [1] [2] Nevím, jestli byla nějaká barevná PAL CGA. Přece jen v době, kdy se PC rozšiřovalo v americe, tak možná tady nebyla taková potřeba kompozitního výstupu. Pokud už se do evropy PC vyváželo, tak to bylo spíše jen pro business use. V USA byla situace trochu jiná.

    Co jsem měl kdysi doma jeden francouzský klon PC XT, tak tam byla CGA karta s NTSC výstupem. PALová verze by určitě nebyla nemožná (ostatně u jiných platforem, které barvy generovaly stejně, nějaké PAL verze vznikly), ale určitě by byla složitější a možná by nebyla poptávka. Hlavně po roce 1985 už to úplně ztratilo význam s příchodem EGA a potom VGA.

    Btw PC200 má, pokud vím, Logout. Ten by mohl ověřit, co z toho leze za signál. Zdá se mi divné, že by RGBA jel na 60Hz a TV výstup jen na 50.

  4. 4. Macek333  4.4.2016  9:22:18

    [3] možná za to může norma NSTC – 29.97 půlsnímků za sekundu, což s 60 Hz jde dobře kombinovat. Oproti PAL (25/50). Ale je to jen dohad :-)

  5. 5. swarm  4.4.2016  20:36:22

    [4] Jo, tohle je jisté. Tam je ale ještě problém s tím, že hack, kterým staré počítače generovaly barvy, byl použitelný jen na NTSC a na PALu nefungoval, protože tam to bylo poněkud složitější.


Napsat komentář