Počátky grafiky na PC: grafické karty CGA a Hercules

22. 10. 2009
Doba čtení: 16 minut

Sdílet

V dnešní části seriálu o architekturách počítačů a jejich grafických subsystémech si popíšeme standardní i nestandardní grafické režimy podporované kartami CGA (Color Graphics Adapter) a Hercules, včetně poněkud neobvyklé organizace obrazové paměti u těchto karet.

Obsah

1. Standardní monochromatický grafický režim karty CGA: 640×200

2. Standardní čtyřbarevný grafický režim karty CGA: 320×200

3. Změna řídicích registrů karty CGA a nestandardní režimy zobrazování

4. Grafická karta Hercules – první vážnější konkurence IBM

5. Technické parametry karty Hercules

6. Textový režim karty Hercules

7. Grafický režim karty Hercules

8. Hercules GRAFIX BIOS interface

9. Odkazy na Internetu

1. Standardní monochromatický grafický režim karty CGA: 640×200

V předchozí části seriálu o architekturách počítačů jsme si popsali základní parametry grafických karet MDA (Monochrome Display Adapter) a CGA (Color Graphics Adapter). Víme již, že se jedná o první grafické karty určené pro počítače PC, které v roce 1981 začala zákazníkům nabízet firma IBM. Zatímco karta MDA podporovala pouze textový režim s 25 řádky a 80 znaky na řádek, lze na kartě CGA pracovat i s grafickými režimy, přičemž parametry těchto režimů (rozlišení, počet obrazových řádků, časování synchronizačních signálů) bylo možné nastavovat pomocí konfiguračních registrů čipu Motorola MC6845 a pomocného obvodu, který převáděl hodnoty načítané z video paměti na barvy pixelů.

pc84

Obrázek 1: Hra Spacewar (resp. její úprava pro IBM PC) běžící v grafickém režimu 640×200 pixelů karty CGA.

Vzhledem k tomu, že přímá změna hodnot konfiguračních registrů při nastavování grafického režimu je poměrně složitá a některé hodnoty dokonce mohly vést ke zničení připojeného monitoru (elektronika tehdejších monitorů byla velmi jednoduchá a především – nejednalo se o multifrekvenční monitory, které jsou vůči nekorektnímu nastavení již odolnější), byly do BIOSu zavedeny služby určené jak pro nastavení grafických či textových režimů, tak i služby umožňující provádění základních grafických operací – výpis znaku, vykreslení pixelu, posun kurzoru, přečtení hodnoty pixelu atd. V případě grafické karty CGA byly pomocí služeb BIOSu dostupné dva režimy – monochromatický režim s rozlišením 640×200 pixelů a čtyřbarevný režim, který nabízel rozlišení 320×200 pixelů. Nejprve si popíšeme práci v monochromatickém režimu, která nebyla zcela jednoduchá, ač by se na první pohled mohlo znát, že v tomto případě bude situace velmi jednoduchá.

pc84

Obrázek 2: Úvodní obrazovka hry Golden Axe spuštěná v grafickém režimu karty CGA. Jedná se o čtyřbarevný režim s rozlišením 320×200 pixelů.

V monochromatickém režimu karty CGA s rozlišením 640×200 pixelů se na obrazovce pracovalo s celkem 128000 pixely, pro jejichž uložení ve video paměti bylo nutné alokovat 16000 bajtů. Ovšem přístup k jednotlivým pixelům nebyl zcela přímočarý, protože celá obrazová paměť byla rozdělena na dvě podoblasti. První podoblast byla (z hlediska mikroprocesoru) mapována na adresy 0×b800:0×0000–0×b900:0×ffff, druhá oblast na adresy 0×ba00:0×0000–0×bb00:0×ffff (opět je použito adresování segment:offset). V první oblasti obrazové paměti byly umístěny sudé obrazové řádky, ve druhé oblasti řádky liché; vždy osmdesát bajtů na řádek (80×8=640). Z této organizace obrazové paměti, která byla použita kvůli omezené rychlosti použitých paměťových čipů, vyplývá, že i na první pohled poměrně jednoduché operace, jako je vykreslení úsečky, se implementovaly poměrně obtížně a byly z tohoto důvodu také pomalé.

pc84

Obrázek 3: Pro porovnání – tentýž obrázek, ovšem spuštěný v šestnáctibarevném režimu karty EGA. Rozlišení sice zůstalo zachováno, ale větší počet barev je na první pohled patrný.

2. Standardní čtyřbarevný grafický režim karty CGA: 320×200

Druhým standardním grafickým režimem podporovaným kartou CGA, který bylo možné nastavit pomocí služeb BIOSu, byl čtyřbarevný režim nabízející rozlišení 320×200 pixelů. V tomto režimu je každý pixel v obrazové paměti uložen ve dvou bitech (čtyři pixely v každém bajtu), což znamená, že je opět využito celkem 16000 bajtů video paměti z dostupných 16 kB. Obrazová paměť je rozdělena podobným způsobem (sudé/liché řádky) jako u režimu monochromatického, což je pochopitelné, protože z hlediska čipu MC6845 se jedná o naprosto stejný mód, liší se jen způsob interpretace načtených dat. U všech režimů karty CGA se však vyskytuje jeden fenomén, který uživatelé jiných počítačů neznali – souběžný přístup mikroprocesoru a grafického řadiče do obrazové paměti nebyl kupodivu nijak ošetřen, což způsobovalo nechvalně známé „sněžení“. Jediná možnost, jak zabránit „sněžení“, byl zápis do obrazové paměti při vertikálním zatemnění elektronového paprsku (horizontální zatemnění má příliš krátký interval).

pc84

Obrázek 4: Teprve s 256 barvami (grafická karta VGA) bylo možné odstranit dithering.

3. Změna řídicích registrů karty CGA a nestandardní režimy zobrazování

Kromě základních (řekněme standardních) grafických režimů, které se nastavovaly pomocí služeb BIOSu, byly díky poměrně širokým možnostem čipu MC6845 podporovány i mnohé další grafické módy. První z těchto módů je „legální“ tj. zmiňuje se o něm i dokumentace firmy IBM (ale například náš SYSMAN již nikoli, což je však pochopitelné – viz další text). V tomto režimu bylo možné zobrazit rastrový obraz o rozměrech 160×200 pixelů, přičemž každý pixel mohl nabývat jedné ze šestnácti barev, podobně jako v textovém režimu. Potřebná kapacita video paměti je stejná, jako v případě režimu monochromatického – 16000 bajtů. Tento režim však byl použitelný pouze pro kompozitní video, tj. například pro televizory připojené ke grafické kartě pomocí konektoru RCA. Vzhledem k tomu, že obrazová frekvence je rovna 60Hz, neměl tento režim pro naši oblast (ČR, Evropa) velký smysl, protože tento kmitočet je určen pro televizory podporující normu NTSC.

pc84

Obrázek 5: Další porovnání – screenshot ze hry Golden Axe spuštěné ve čtyřbarevném režimu grafické karty CGA.

Druhý nestandardní mód je již možné použít na jakémkoli monitoru. Ve své podstatě se jedná o režim textový, u nějž je pomocí řídicích registrů čipu MC6845 upravena výška znaků na pouhé dva skenovací řádky. Z toho vyplývá, že se zobrazuje 80 znaků na 100 textových řádků (u CGA je počet skenovacích řádků vždy roven 200, a to i v textových režimech). Pokud se bude zobrazovat pouze znak ve tvaru polovičního obdélníku (viz rozšířená tabulka ASCII), zvyšuje se rozlišení tohoto pseudografického režimu na 160×100 „pixelů“, přičemž každý pixel může nabývat jedné z šestnácti barev (programátor tedy mění pouze barvové atributy znaků, tj. každý lichý bajt). Z jakého důvodu se však nemůže zvýšit vertikální rozlišení na plných 200 řádků, tj. snížit výšku znaku na jeden skenovací řádek? V tomto případě totiž narážíme na neefektivní práci s obrazovou pamětí, protože pro každý znak se musí uložit i jeho barvový atribut (dva bajty). Pro rozlišení 160×100 pixelů je zapotřebí alokovat: 80×100 znaků=8000×2 bytů=16000 bytů, tj. dostáváme se na horní mez kapacity obrazové paměti.

pc84

Obrázek 6: Táž scéna, ovšem zobrazená kartou EGA v šestnácti barvách.

Tento poměrně zajímavý režim, použitý například i v několika hrách, je možné nastavit i u dalších grafických karet, přesněji řečeno u všech karet, které emulují funkce čipu MC6845, tj. například u karty EGAVGA. Ve většině případů to ale postrádá smysl, protože jejich grafické režimy již nejsou omezeny malým počtem barev tak, jak je tomu u grafické karty CGA. Programátoři se v minulosti pokoušeli nastavovat i další grafické režimy. Teoreticky to není problematické, protože čip MC6845 je velmi flexibilní, ale mnohé monitory nedokázaly korektně pracovat v těch případech, kdy se změnilo časování horizontálních a vertikálních synchronizačních signálů – grafická karta CGA měla pouze jeden krystal sloužící ke generování hodinového signálu (vstup do čipu MC6845), takže například při změně horizontálního rozlišení (počtu pixelů na obrazovém řádku) se buď musel snížit počet obrazových řádků, nebo muselo dojít ke změně obrazové frekvence.

pc84

Obrázek 7: Stejná scéna zobrazená kartou VGA (256 barev).

Pro doplnění přidávám vzpomínky jednoho uživatele grafické karty CGA:

Sending random bytes to the video registers, by the way, was extremely dangerous. If I had known that then, I wouldn't have even tried at all; I was lucky I didn't break anything. The monitors back then (1987 and earlier) were fixed frequency monitors, and ran at low frequencies. If you told the video card to do something outside of those frequencies, you stood an excellent change of damaging the monitor. A friend of mine was trying to get the rumored CGA 16-color mode to work and destroyed his Compaq's build-in monitor, a small monochrome monitor that emulated color with different shades of gray. He went to nearest Compaq dealership to get it replaced, and when they refused to fix it, he answered with something like, „Well, I could demonstrate how easy it is to break the monitor to your customers by typing a three-line BASIC program on, oh… this machine over here,“ and pointed to their top-of-the-line machine that some customers were huddled around. They quickly replaced his monitor to shut him up. :-)

4. Grafická karta Hercules – první vážnější konkurence IBM

V minulé části seriálu o architekturách počítačů jsme si popsali grafický adaptér MDA a v předchozích kapitolách i parametry grafické karty CGA. Obě zmíněné karty mají i přes mnohé rozdíly několik společných vlastností. Jedná se o karty navržené a prodávané (od roku 1981) firmou IBM, které jsou vybavené rozhraním pro osmibitovou variantu universální interní sběrnice ISA (Industry Standard Architecture). Obě karty jsou taktéž založeny na minule popsaném grafickém řadiči Motorola MC6845, což by sice na první pohled mohlo znamenat určitou míru kompatibility, ale přesný opak byl pravdou – firma IBM u obou karet zvolila odlišné řádkové frekvence (18,432 kHz u karty MDA a 15,75 kHz u karty CGA) i jiný typ videosignálů, což ve výsledku vedlo k tomu, že pro každou kartu musel být použitý odlišný monitor. Zatímco grafická karta CGA nabízela možnost barevného zobrazení (viz předchozí kapitoly) na úkor menšího – pro mnohé uživatele neakceptovatelného – horizontálního i vertikálního zobrazení, umožňovala sice karta MDA zobrazení čitelného textu, ovšem bez možnosti použití jakéhokoli grafického režimu.

pc84

Obrázek 8: Slavný textový editor T602 spuštěný na počítači s grafickou kartou Hercules.

V této situaci se, pravděpodobně poprvé, projevila jedna z největších předností architektury IBM PC – modularita. Zatímco firma IBM nereagovala na oprávněné výtky, které od uživatelů přicházely především kvůli vlastnostem grafické karty CGA (i mnohé osmibitové počítače totiž měly grafický subsystém vyřešený mnohem elegantněji), objevil se v roce 1982 konkurenční výrobek – grafická karta Hercules Graphics Card (HGC) firmy Hercules Computer Technology. Výrobce tuto grafickou kartu navrhl tak, aby ji bylo možné použít s monitorem určeným pro kartu MDA, ovšem včetně možnosti přepnutí do monochromatického grafického režimu s relativně vysokým rozlišením 720×348 pixelů. Dodržení zpětné kompatibility s kartou MDA nebylo složité – v textovém i grafickém režimu (viz další text) byly použity takové frekvence synchronizačních signálů (řádková a snímková frekvence), která odpovídaly signálům generovaným kartou MDA.

pc84

Obrázek 9: T602 zobrazený kartou CGA (reálný obraz má ve skutečnosti jen 200 řádků, nikoli 400).

I způsob práce v textovém režimu se od karty MDA téměř nelišil, což znamenalo, že na této kartě bylo možné provozovat všechny aplikace pracující v textovém režimu (navíc bylo možné s využitím rezidentních programů simulovat i grafické režimy karty CGA, přičemž se jednotlivé barevné odstíny nahrazovaly ditheringem). Především z těchto důvodů byla grafická karta Hercules v první polovině osmdesátých let minulého století velmi oblíbená a do svých sestav ji instalovali i tehdejší přední výrobci osobních počítačů. K velké oblíbenosti přispěla i poměrně nízká cena, takže se karta Hercules používala i v době nástupu grafické karty EGA, jejímž popisem se budeme zabývat až v následující části tohoto seriálu. Firma Hercules Computer Technology vytvořila i následníka této grafické karty – Hercules Plus – jenž se odlišoval především v tom, že bylo možné programově měnit znakovou sadu v textovém režimu a docílit tak například zobrazení českých znaků (u původního Herculesu či MDA se znaková sada měnila přeprogramováním paměti EPROM).

pc84

Obrázek 10: T602 zobrazený kartou EGA v rozlišení 640×350 v šestnácti barvách.

5. Technické parametry karty Hercules

Grafická karta Hercules je založena, podobně jako oba již popsané grafické adaptéry firmy IBM, na čipu Motorola MC6845, nebo (v případě klonů) na VLSI obvodu se stejnými vlastnostmi i významem řídicích portů. Jak bude z dalšího popisu patrné, je čip MC6845 v této kartě zapojen a naprogramován poněkud jiným způsobem než tomu bylo u grafické karty CGAMDA. Kartu Hercules lze připojit do osmibitové sběrnice ISA (v dokumentaci firmy IBM také označované termínem PC-BUS), přičemž se předpokládalo, že frekvence hodinových signálů této sběrnice bude rovna 4,77 MHz (frekvence základního oscilátoru 14,285 MHz je při generování hodinových signálů dělená třemi). Modernější osobní počítače měly frekvenci hodinových signálů sběrnice ISA zvýšenou na 8, 8.33, 10 či 12 MHz, ovšem při takto vysokých frekvencích mohlo na kartě Hercules docházet k výpadkům dat při zápisu do video paměti. Na grafické kartě byl kromě řadiče, podpůrných obvodů a video paměti přítomný i jeden paralelní port, což také přispívalo k oblíbenosti Herculesu mezi zákazníky, protože první personální počítače typu IBM PC tyto porty neměly nainstalovány přímo na základní desce a bylo je zapotřebí zvlášť dokupovat (a tím mimo jiné přicházet o jednu pozici na ISA sběrnici).

pc84

Obrázek 11: Textový editor T602 zobrazený poměrně neznámou kartou MCGA, která v režimu nejvyššího rozlišení 640×480 měla jen jednu bitovou rovinu a tím pádem podporovala pouze dvě barvy.

Kapacita obrazové paměti byla oproti kartě CGA zvýšena na dvojnásobek, tj. na 32 kB. Kromě paměťových modulů tvořících obrazovou paměť byla na kartě nainstalována i paměť typu ROM popř. EPROM, ve které byla uložena znaková sada. tj. bitové podoby znaků (viz další kapitola). Ovládání grafického čipu bylo prováděno pomocí parametrů ukládaných přes vstupně/výstupní porty umístěné na adresách 0×3b00×3bf, přičemž na adresy 0×3b4 a 0×3b5 byly namapovány řídicí registry čipu MC6845 (těchto registrů je, jak již víme z předchozí části tohoto seriálu, celkem osmnáct). Vhodnou změnou parametrů docházelo k přepínání mezi textovým a grafickým režimem, bylo však možné také měnit parametry zobrazení grafiky (rozlišení, zpoždění synchronizačních signálů, pozice hardwarového textového kurzoru, mikroposun textových řádků apod.), čehož se často používalo při emulaci grafických režimů karty CGA.

pc84

Obrázek 12: Nejlepší rozlišení i největší počet barev pro textový editor T602 nabízela grafická karta VGA – 640×480 pixelů v šestnácti barvách (editor však využil jen podmnožinu barvové palety).

Čtením stavových bitů z portu 0×3ba bylo možné testovat průběh horizontálního i vertikálního zatemnění (synchronizace používaná například ve hrách) a číst polohu hrotu světelného pera. Vzhledem k tomu, že grafická paměť byla z hlediska mikroprocesoru mapována od adresy b000:0000 do adresy b000:7fff (způsob adresování segment:offset), nedocházelo k překryvu s obrazovou pamětí grafické karty CGA a proto lze tyto dvě karty provozovat současně i na jednom počítači. Taktéž nedochází k překryvům vstupně/výstupních portů, neboť ty jsou v případě karty CGA umístěny o 16 bajtů výše. Hercules je v případě použití této kombinace využit pro kvalitní zobrazování textu a monochromatické grafiky, CGA pro zobrazení barevné (ehm :-) grafiky. Další poměrně oblíbenou kombinací z pozdější doby byla VGA+Hercules, ovšem v tomto případě Hercules většinou sloužil pro práci v textovém režimu (IDE firmy Borland, AutoCAD atd.).

6. Textový režim karty Hercules

V×textovém režimu je grafická karta Hercules prakticky stoprocentně kompatibilní s kartou MDA, tj. pracuje se s textem o 80 sloupcích a 25 řádcích, včetně stejného způsobu práce s atributy jednotlivých znaků (podtržení apod.). Text je zobrazován v rozlišení 720 350 pixelů, což umožňuje na jeden znak použít masku o velikosti 9×14 pixelů. Textovou obrazovku lze mapovat buď od adresy b000:0000 nebo od adresy b800:0000. Jedinou nevýhodou textového režimu grafické karty Hercules je fakt, že znaková sada je uložena v paměti EPROM typu 27C64 a nelze ji tedy programově změnit, pouze „přepálit“ (pro zajímavost – všechny Herculesy s „přepálenou“ znakovou sadou, které jsem viděl, používaly kódování Kamenických, viz další odstavec). Tvary znaků jsou v paměti EPROM uloženy tak, jakoby jejich maska měla velikost 8×16 pixelů, avšak pro každý znak se při jeho vykreslování dva řádky ignorují a podle pozice znaku v ASCII tabulce se doplňuje devátý sloupec pixelů, čímž se dostáváme k výsledné masce 9×14 pixelů (devátý sloupec vzniká kopií osmého sloupce u znaků představujících rámečky).

Z výše uvedených informací vyplývá, že pro uložení celé znakové sady by měly dostačovat pouhé čtyři kilobajty, neboť 16 řádků×1 bajt×256 znaků=4096 bajtů. Ovšem vzhledem k tomu, že paměť EPROM 27C64 má kapacitu 8 kB, jsou horní 4 kB nevyužity. Vhodnou hardwarovou úpravou je však možné implementovat dvě znakové sady – u nás se většinou používala originální sada US-ASCII a již zmíněné české znaky v kódu Kamenických. Kromě původní karty Hercules se vyráběla taktéž již zmíněná karta Hercules Plus, která se od původního modelu odlišuje především v tom, že znakovou sadu ukládá do paměti typu (D)RAM a umožňuje tak programově měnit používanou znakovou sadu. U této karty je dokonce možné rozšířit počet znaků ve znakové sadě až na teoretickou hodnotu 212=4096 tím způsobem, že se čtyři bity v atributovém bajtu použijí na definici atributů znaků a zbylé čtyři bity se připojí k osmibitovému ASCII kódu znaku. Ne všechny kódy však mohou být skutečně využity, protože velikost paměti vyhrazené pro znakovou sadu dosahuje 48 kB a ne 64 kB.

7. Grafický režim karty Hercules

Grafický režim karty Hercules je, ostatně jako téměř ve všech obdobných případech, mnohem zajímavější a flexibilnější, než režim textový. Hercules podporoval na svou dobu poměrně vysoké rozlišení 720×348 obrazových bodů zobrazovaných černobíle nebo dvoubarevně. Konkrétní barvy použité při zobrazování byly závislé na typu obrazovky monitoru; kromě obligátní kombinace černá+zelená byla mezi výrobci obrazovek oblíbená například kombinace tmavě modrá a světle červená nebo tmavě modrá a žlutá. Horizontální rozlišení grafického režimu je stejné, jako v případě režimu textového, protože platí 80 znaků na řádku × 9 horizontálních pixelů na znak = 720 pixelů. Vertikální rozlišení se však liší o dva skenovací řádky. V textovém režimu je vertikální rozlišení, tj. počet obrazových řádků, rovno 350 pixelům, protože platí vztah: 25 textových řádků × 14 skenovacích/o­brazových řádků na výšku znaku=350 skenovacích řádků celkem. V grafickém režimu je zvolena hodnota 348 skenovacích řádků proto, že je toto číslo dělitelné čtyřmi, což souvisí s režimem přístupu do obrazové paměti, jehož princip bude popsán v následujícím odstavci (ostatně změnou řídicích registrů čipu MC6845 lze počet obrazových řádků v určitém rozsahu měnit).

Pokud porovnáme signálové poměry obou podporovaných režimů, je grafický režim totožný s režimem textovým. Snížení počtu skenovacích řádků se projeví pouze delším časovým okamžikem vertikálního zpětného běhu elektronového paprsku. Obrazová paměť je při zapnutí grafického režimu rozdělena do čtyřech oblastí. V paměťové oblasti b000:0000-b000:1fff se nachází skenovací řádky 0, 4, 8,…, v oblasti b000:2000-b000:3fff řádky 1, 5, 9,…, na adresách b000:4000-b000:5fff řádky 2, 6, 10, … a konečně v paměťové oblasti b000:6000-b000:7fff skenovací řádky 3, 7, 11, … . Přístup k jednotlivým pixelům je tak poměrně komplikovaný, což umocňuje také fakt, že v jednom bytu je uložena vždy osmice pixelů. Celková spotřeba paměti pro grafický režim karty Hercules se dá vypočítat snadno. Na jeden řádek je zapotřebí alokovat 720/8=90 bytů, na celý snímek pak 90×348 = 31320 bajtů. Zbylých 1440 bajtů obrazové paměti, která má, jak již víme z předchozího textu kapacitu 32 kB, zůstává nevyužito.

Adresa pro operaci zápisu či čtení pixelu zadaného souřadnicemi x, y se vypočte následovně:

offset = 0x2000 * (y % 4) + 90 * (y >> 2) + (x >> 3)

Index bitu, který se má zapsat či přečíst na výše vypočtené adrese, lze vyjádřit takto:

offset bit = 7 - (x % 8)
pc84

Obrázek 13: Porovnání textových režimů: Volkov Commander na kartě CGA.

pc84

Obrázek 14: Volkov Commander na kartě VGA při přepnutí textového režimu tak, aby šířka znaků byla 8 pixelů (standardně se vykreslují znaky o šířce 9 pixelů).

bitcoin_skoleni

8. Hercules GRAFIX BIOS interface

Vzhledem k tomu, že grafická karta Hercules byla od roku 1982 přímým konkurentem grafických karet MDACGA, není podporována BIOSem počítačů PC, což pravděpodobně mělo (alespoň podle mínění firmy IBM) zbrzdit úspěch této karty. Připomeňme si, že BIOS byl jednou z mála věcí osobních počítačů (PC), kterou nemohli další výrobci jednoduše kopírovat ani modifikovat (přesněji řečeno – technicky je kopie BIOSu samozřejmě velmi jednoduchá, právně však nikoli, proto se také BIOSy u některých firem znovu přepisovaly tak, aby odpovídaly chování původního IBM BIOSu). Ve skutečnosti se však BIOSové služby pro obsluhu grafiky v reálných aplikacích stejně příliš často nepoužívaly, protože byly pomalé a neefektivní (veškerá obsluha grafiky implementovaná v BIOSu spočívá na čtyřech službách – nastavení textového či grafického režimu, čtení pixelu, zápis pixelu a výpis řetězce). Ke kartě Hercules však existovalo rozšíření BIOSu nazvané Hercules GRAFIX BIOS interface, které podporovalo zejména následující (mnohdy netriviální) činnosti a algoritmy:

Grafická operace
nastavení textového režimu
nastavení grafického režimu
operace putpixel (zápis barvy pixelu)
operace getpixel (čtení barvy pixelu)
moveto (přesun grafického kurzoru)
drawto (vykreslení úsečky)
draw arc (vykreslení oblouku)
draw circle (vykreslení kružnice)
block fill (vyplnění obdélníkové oblasti)
fill area (vyplnění obecné oblasti)

9. Odkazy na Internetu

  1. Support/perip­heral/other chips – 6800 family
    http://www.cpu-world.com/…rt/6800.html
  2. Motorola 6845
    http://en.wikipedia.org/…otorola_6845
  3. The 6845 Cathode Ray Tube Controller (CRTC)
    http://www.tinyvga.com/6845
  4. IBM Monochrome Display Adapter
    http://en.wikipedia.org/…play_Adapter
  5. Color Graphics Adapter
    http://en.wikipedia.org/…hics_Adapter
  6. Wikipedia CZ: Sběrnice:
    http://cs.wikipedia.org/…b%C4%9Brnice
  7. Wikipedia EN: Industry Standard Architecture:
     http://en.wikipedia.org/…Architecture

Autor článku

Vystudoval VUT FIT a v současné době pracuje na projektech vytvářených v jazycích Python a Go.