Programovßnφ registr∙

     Zobrazovacφ adaptΘry EGA a VGA majφ n∞kolik registr∙,
kterΘ ovliv≥ujφ funcki t∞chto adaptΘr∙. O n∞kter²ch z t∞chto
registr∙ jsme se ji₧ zmφnili v popisu p°φstupu do pam∞ti
adaptΘru. Registry lze rozd∞lit do Üesti skupin:
     - externφ registry (External registers)
     - registry sequenceru (Sequencer registers)
     - CRTC registry (CRTC = Cathode Ray Tube Controller -
       kontroler obrazovky)
     - registry grafickΘho kontroleru (Grapics Controller
       registers)
     - atributovΘ registry (Attribute registers)
     - DAC (Digital to Analog Converter = Φφslicov∞
       anologov² p°evodnφk) registry - ty mß pouze VGA
Registry pat°φcφ do tΘ₧e skupiny majφ v∞tÜinou ·zce spjat²
v²znam a ovlßdajφ jednu z Φßstφ tvorby a zobrazovanφ dat na
obrazovce. Sequencer °φdφ tok dat mezi videopam∞tφ a
atributov²m kontrolerem. Atributov² kontroler mß na starosti
prßci s barvou a paletami barev. DAC p°evßdφ v kart∞ VGA
digitßlnφ informaci o barv∞ na p°φsluÜnß nap∞tφ pro
analogov² monitor. Pomocφ CRTC registr∙ lze ovlßdat Φasovßnφ
obrazovky. Grafick² kontroler ovlßdß m≤dy p°φstupu k
obrazovΘ pam∞ti. Externφ registry zajiÜ¥ujφ n∞kolik funkcφ,
kterΘ nejsou za°azeny v ostatnφch skupinßch registr∙. DAC
regsitry jsou p°φtomny pouze na kartßch VGA, nebo¥ EGA
pou₧φvß digitßlnφ p°enos obrazov²ch informacφ do monitoru.
     K v∞tÜin∞ registr∙ (v²jimku tvo°φ externφ registry) se
p°istupuje nep°φmo. Ka₧dß skupina registr∙ mß vlastnφ
adresov² a datov² registr. Tyto dva registry jsou mapovßny
na vstupn∞-v²stupnφch portech procesoru. Pokud chcete
p°istupovat k n∞jakΘmu registru, musφte nejprve na p°φsluÜn²
port nßle₧φcφ adresovΘmu registru zapsat index vßmi
po₧adovanΘho registru a pak m∙₧ete na portu odpovφdajφcφmu
datovΘmu registru pracovat s vßmi po₧adovan²m registrem.
Pokud tedy chcete zapsat hodnotu 10 do Map mask registru
(ten mß index 2 v sequenceru), m∙₧ete pou₧φt nßsledujφcφ
rutinu:

     mov   DX, 3c4h    ;Φφslo portu adresovΘho registru sequenceru
     mov   AL, 2       ;index Map mask registru
     out   DX, AL      ;zapsßnφ hodnoty na port
     inc   DX          ;v DX je port datovΘho registru sequenceru
     mov   AL, 10      ;po₧adovanß hodnota pro Map mask
     out   DX, AL      ;zapsßnφ hodnoty v AL na port

Port adresovΘho i datovΘho registru le₧φ hned vedle sebe.
Mikroprocesory 80x86 umo₧≥ujφ pomocφ jednΘ instrukce
(OUT DX, AX) zßpis na dva nßsledujφcφ porty. V∞tÜina
grafick²ch karet umo₧≥uje p°φstup k registr∙m pomocφ tΘto
programovacφ techniky. Obecn∞ pak lze psßt:

     mov   DX, Port adresnφho registru
     mov   AL, Index po₧adovanΘho registru
     mov   AH, Hodnota zapisovanß do po₧adovanΘho registru
     out   DX, AX

V²Üe uvedenß rutina modifikujφcφ Map mask registr lze
pou₧itφm tΘto finty p°epsat do tvaru krßtkΘ rutinky:

     mov   DX, 3c4h
     mov   AX, 2 + 256 * 10
     out   DX, AX

Adresov² registr si uchvßvß svou hodnotu a₧ do dalÜφ zm∞ny.
Modifikujete-li tedy pouze jeden registr ze skupiny staΦφ
nastavit adresnφ registr jednou a m∞nit pouze hodnoty
zapisovanΘ do datovΘho registru. Zm∞nu adresnφho registru je
v takov²ch p°φpadech v²hodnΘ umφstit vn∞ cyklu. M∙sφte vÜak
b²t opatrnφ a vylouΦit to, ₧e vßm index zapsan² v adresnφm
registru zm∞nφ volßnφ slu₧by BIOS nebo program aktivovan²
pomocφ p°eruÜenφ. Pokud si nejste jisti, ₧e nem∙₧e dojφt ke
zm∞n∞ tohoto registru vyvolßnφm n∞jakΘho rezidentnφho
programu, radÜi zaka₧te po dobu provßd∞nφ operacφ p°eruÜenφ.
     Do registr∙ na kart∞ EGA lze pouze zapisovat. VGA
umo₧≥uje Φφst aktußlnφ stav registr∙ s v²jimkou
latch-registr∙, adresnφho registru atributovΘho kontroleru a
Input-status registru. ZjiÜt∞nφ aktußlnφho nastavenφ karty
VGA je tedy pouze otßzkou p°eΦtenφ n∞kolika hodnot z port∙.
U EGA je u₧ situace slo₧it∞jÜφ. Pokud je aktivnφ videom≤d
nasatven pomocφ BIOS, m∞ly by b²t pot°ebnΘ obsahy registr∙
spolu s dalÜφmi informacemi ulo₧eny v uklßdacφ oblasti BIOS.
     Pokud pou₧φvßte adaptΘr VGA a chcete modifikovat
n∞kter² z jeho registr∙, m∞li byste nejprve naΦφst obsah
tohoto registru, potΘ zm∞nit pouze po₧adovanΘ bity a
v²sledek zapsat zp∞t na port. Zajistφte tak kompatibilitu s
nßsledujφcφmi verzemi zobrazovacφch adaptΘr∙.


                     Externφ registry

Externφ registry poskytujφ na adaptΘrech EGA a VGA n∞kolik
u₧iteΦn²ch funkcφ. Narozdφl od v∞tÜiny registr∙
zobrazovacφho adaptΘru se k t∞mto registr∙m p°istupuje
p°φmo. Ka₧d² z t∞chto registr∙ mß vyhrazen vlastnφ port.

Miscellaneous Output register                    Port: 3c2h
                                                pouze zßpis
===========================================================
Popis: Tento registr umo₧≥uje zm∞nu n∞kolika nastavenφ
       adaptΘru, kterΘ ovliv≥ujφ jeho Φinnost.

       Hardwarov² reset poΦφtaΦe nastavφ vÜechny bity v
       tomto registru na 0.

       Tento registr je urΦen pouze pro zßpis, a to jak na
       EGA tak i na VGA. Pokud mßte VGA kartu m∙₧ete si
       p°eΦφst nastavenφ tohoto registru z portu 3cch.

       Bity 2 a 3 mohou b²t pou₧ity ke zm∞n∞ Φasovßnφ. Pokud
       na feature-konektor p°ipojφte zdroj kmitßnφ o vyÜÜφ
       frekvenci ne₧ je obvyklΘ a zm∞nφte nastavenφ CRTC
       registr∙, m∙₧ete dosßhnout vyÜÜφho rozliÜenφ.

  Bity   Popis
  ----   ---------------------------------------------------
    0    Volba port∙ pro CRTC registry (3d?h/3b?h)
              Tento bit urΦuje umφst∞nφ port∙ CRTC
         kontroleru a Input-status registru 1. Nastavenφ
         tohoto bitu na 0 urΦuje kompatibiltu
         s monochromatick²mi adaptΘry (MDA), Φφsla port∙
         jsou 3b?h. Naopak nasatvenφ tohoto bitu na jedna
         znamenß Φφsla port∙ 3d?h, co₧ odpovφdß barevn²m
         adaptΘr∙m.
              P°ed tφm ne₧ budete pracovat s CRTC registry
         Φi p°φpadn∞ s Input-status registrem 1, m∞li byste
         pomocφ tohoto bitu zjistit, na kter²ch portech jsou
         p°φsluÜnΘ registry dostupnΘ.

    1    Povolenφ p°φstupu do RAM
              Nastavenφ tohoto bitu na 0 znemo₧nφ procesoru
         p°φstup k pam∞ti videoadaptΘru. Standardnφ
         nastavenφ tohoto bitu je 1, tj. p°φstup k pam∞ti je
         povolen.

  2-3    Nastavenφ rychlosti ΦasovaΦe
              Tyto bity urΦujφ frekvenci ΦasovaΦe podle
         nßsledujφcφ tabulky:
         /--------------------------------------------\
         | Hodnota | EGA             |  VGA           |
         |---------+-----------------+----------------|
         |   00b   | 14MHz           |  25MHz         |
         |---------+-----------------+----------------|
         |   01b   | 16MHz           |  28MHz         |
         |---------+----------------------------------|
         |   10b   | Frekvence je urΦena externφm     |
         |         | signßlem (z feature-konektoru)   |
         |---------+----------------------------------|
         |   11b   | Nepou₧ito       | Nepou₧ito      |
         \--------------------------------------------/
         P°ed zm∞nou tohoto nastavenφ byste m∞li pomocφ
         Reset-registru sequenceru vyvolat synchronnφ reset
         adaptΘru.

    4    Vypnutφ internφho ovladaΦe obrazovky    (pouze EGA)
              Tento bit urΦuje p∙vodce videosignßlu pro
         monitor. Obvykle je tento bit nastaven na 0 a
         adaptΘr EGA ovlßdß p°ipojen² monitor. Pokud je bit
         nastaven na 1, signßl pro monitor pochßzφ z
         v²stupnφch pin∙ feature-konektoru. Proto₧e tento
         konektor obsahuje i vstupnφ piny, m∙₧e za°φzenφ
         p°ipojenΘ pomocφ feature-konektoru kombinovat
         signßl z karty EGA se signßlem z n∞jakΘho jinΘho
         zdroje (nap°φklad z videa).

    5    Strßnkov² bit pro proklßdßnΘ m≤dy
              Tento bit p°epφnß mezi dv∞ma 64K strßnkami
         pam∞ti z celΘ 128K roviny, kdy₧ je aktivnφ m≤d s
         proklßdßnφm °ßdku, tj. sudΘ °ßdky jsou v jednΘ
         strßnce pam∞ti a lichΘ v druhΘ. NastavenΘ tohoto
         bitu na 0 mapuje do segmentu vyhrazenΘho pro
         videoadaptΘr dolnφch 64K a nastavenφ na 1 mapuje
         hornφch 64K.

    6    Polarita horizontßlnφho zatem≥ovacφho impulsu
              Polarita horizontßlnφho zp∞tnΘho paprsku je
         kladnß, pokud je tento bit nastaven na 0, a
         zßpornß, pokud je nasatven na 1. Digitßlnφ monitory
         pou₧φvajφ kladnou polaritu. Na analogov²vh
         monitorech tento bit spolu s bitem 7 urΦujφ poΦet
         °ßdek na obrazovce.

   7     Polarita vertikßlnφho zatem≥ovacφho impulsu
              Polarita vertikßlnφho zp∞tnΘhoo impulsu je
         kladnß, pokud je tento bit nastaven na 0, a
         zßpornß, pokud je nastaven 1. Monochraomatick²
         monitor pou₧φvß zßpornou polaritu, barevnΘ monitory
         pou₧φvajφ kladnΘ polarity a analogovΘ monitory
         pou₧φvajφ tento bit spolu s bitem 6 k urΦenφ poΦtu
         °ßdek na obrazovce.
         PoΦty °ßdek na obrazovce pro analogovΘ monitory
         jsou k≤dovßny nßsledujφcφm zp∙sobem:
         /------------------------------------\
         | Bity 6 a 7 | EGA       | VGA       |
         |------------+-----------+-----------|
         |    00b     | 200 °ßdek | Nepou₧ito |
         |    01b     | 350 °ßdek | 350 °ßdek |
         |    10b     | Nepou₧ito | 400 °ßdek |
         |    11b     | Nepou₧ito | 480 °ßdek |
         \------------------------------------/

Feature Control Register                          Port: 3?ah
                                                 pouze zßpis
============================================================
Popis: Na kart∞ EGA jsou bity tohoto registru pou₧ity
       k ovlßdßnφ signßl∙ na dvou pinech feature-konektoru
       (piny FC0 a FC1). Pomocφ t∞chto dvou signßl∙ m∙₧ete
       ovlßdat za°φzenφ p°ipojenΘ k feature-konektoru.

       ╚φslo portu je bu∩ 3bah (monochromatickΘ adaptΘry)
       nebo 3dah (barevnΘ adaptΘry).

       VGA tyto bity nepou₧φvß, bit 3 musφ b²t nastaven na
       0. Karta VGA umo₧≥uje Φtenφ obsahu tohoto registru na
       portu 3cah.

  EGA:
  Bity   Popis
  ----   ---------------------------------------------------
    0    Nastavenφ tohoto bitu je promφtßno na pin 21
         feature-konektoru (FC0).

    1    Nastavenφ tohoto bitu je promφtßno na pin 20
         feature-konektoru (FC1).

  2-7    Rezervovßno

  VGA:
  Bity   Popis
  ----   ---------------------------------------------------
  0-7    Rezervovßno (bit 3 musφ b²t nula)

Input Status Register 0                           Port: 3c2h
Vstupnφ stavov² registr 0                        pouze Φtenφ
============================================================
Popis: Tento registr zp°φstup≥uje n∞kolik d∙le₧it²ch
       informacφ o grafickΘ kart∞. Na obou adaptΘrech EGA i
       VGA je urΦen pouze pro Φtenφ.

       Na adaptΘrech EGA bity 5 a 6 odpovφdajφ signßl∙m FEAT
       0 a FEAT 1 z feature-konektoru. Mohou b²t vyu₧ity pro
       komunikaci mezi programem a za°φzenφm p°ipojen²m p°es
       feature-konektor. Na kart∞ VGA jsou tyto dva bity
       rezervovßny.

  Bity   Popis
  ----   ---------------------------------------------------
  0-4    Nepou₧ito

    5    Tento bit odpovφdß signßlu na pinu 19
         feature-konektoru (FEAT 0) - pouze EGA

    6    Tento bit odpovφdß signßlu na pinu 17
         feature-konektoru (FEAT 1) - pouze EGA

    7    P°eruÜenφ obrazovky
              Tento bit je nastaven na 1, pokud bylo
         vyvolßno p°eruÜenφ IRQ2 zaΦßtkem vertikßlnφho
         zatem≥ovacφho impulsu. Pou₧φvß se pro kontrolu zda
         p°eruÜenφ bylo opravdu vyvolßno kartou EGA/VGA,
         nebo¥ IRQ2 je pou₧φvßno i jin²mi za°φzenφmi (u AT
         je na n∞j v kaskßd∞ napojen dalÜφ °adiΦ p°eruÜenφ).
         Tento bit z∙stavß nastaven na 1 do tΘ doby, ne₧ je
         smazßn. Obsluha p°eruÜenφ by tedy m∞la tento bit
         smazat a znovu povolit p°eruÜenφ pomocφ registru
         CRTC - Konec vertikßlnφho zp∞tnΘho chodu (index
         tohoto registru je 11h).

Input Status Register 1                           Port: 3?ah
Vstupnφ stavov² registr 1                        pouze Φtenφ
============================================================
Popis: Tento registr zp°∙stup≥uje n∞kolik d∙le₧it²ch
       informacφ o grafickΘ kart∞. Na obou adaptΘrech EGA i
       VGA je urΦen pouze pro Φtenφ.

       ╚φslo portu je bu∩ 3bah (monochromatickΘ adaptΘry)
       nebo 3dah (barevnΘ adaptΘry).

  Bity   Popis
  ----   ---------------------------------------------------
    0    P°φstup adaptΘru k pam∞ti
              Tento bit je nastaven na jedna b∞hem aktivnφho
         zobrazovacφho intervalu (tj. adaptΘr p°istupuje k
         videopam∞ti). B∞hem zatem≥ovacφho impulsu je tento
         bit nastaven na 0. Tento bit je zde umφst∞n pro
         zachovßnφ zp∞tnΘ kompatibility s CGA. U karty CGA
         dochßzelo p°i souΦasnΘm p°φstupu videodaptΘru i
         procesoru do pam∞ti k poruchßm obrazu (tzv.
         sn∞₧enφ). Zßpis do pam∞ti adaptΘru EGA/VGA m∙₧e b²t
         provßd∞n kdykoli, bez jak²chkoli vedlejÜφch efekt∙.

    1    Sv∞telnΘ pero je p°ilo₧eno k obrazovce - pouze EGA
              Tento bit je nastaven na jedna, pokud je
         sv∞telnΘ pero p°ilo₧eno k obrazovce. Pokud je
         sv∞telnΘ pero neaktivnφ obsahuje tento bit 0.

    2    SpφnaΦ sv∞telnΘho pera - pouze EGA
              Tento bit je nastaven na jedna, pokud je
         spφnaΦ sv∞telnΘho pera otev°en², a na hodnotu 0 je
         nastaven, pokud je sepnut².

    3    Indikace vertikßlnφho zatem≥ovacφho signßlu
              Tento bit je nastaven na 1 p°i zp∞tnΘm
         vertikßlnφm zatem≥ovacφm impulsu, tj. kdy₧ se
         elektronov² paprsek obrazovky, kter² vytvß°φ na
         stφnφtku obraz, vracφ z pravΘho dolnφho rohu
         obrazovky do levΘho hornφho. Po skonΦenφ
         zatem≥ovacφho signßlu je tento bit nastaven a₧ do
         dalÜφho zatemn∞nφ na nula.

  4-5    DiagnostickΘ pou₧itφ
              Tyto dva bity odpovφdajφ nastavenφ dvou bit∙
         registru atribut∙. V²b∞r bit∙ je uskuteΦn∞n pomocφ
         bit∙ 4 a 5 registru atributovΘho kontroleru pro
         p°φstup k bitov²m rovinßm (Color Enable Register).

  6-7    Nepou₧ito

Video Subsystem Enable Register                   Port: 3c3h
Registr ovlßdßnφ aktivity videokarty               pouze VGA
============================================================
Popis: Tento registr ovlßdß aktivitu karty VGA. Pomocφ bitu
       1 registru Miscellaneous-Output (povolenφ p°φstupu do
       RAM) m∙₧e b²t zßkßzan procesoru p°φstup k pam∞ti a k
       registr∙m videodaptΘru. Pokud je zakßzßn p°φstup
       procesoru do pam∞ti a k registr∙m videodaptΘru, m∙₧e
       b²t i nadßle vytvß°en adaptΘrem obraz. Podmφnkou pro
       vytvß°enφ obrazu je nastavenφ bitu 1 registru pro
       ovlßdßnφ aktivity videokarty na jedna.

  Bity   Popis
  ----   ---------------------------------------------------
    0     = 1  Je generovßn obraz.
          = 0  Nenφ generovßn obraz.

  1-7    Rezervovßno


                    Registry sequenceru

     ┌lohou sequenceru v procesu vytvß°enφ obrazu je
ovlßdßnφ toku dat z pam∞ti a grafickΘho kontroleru do
atributovΘho kontroleru. V ka₧dΘm cyklu hodin b∞hem
aktivnφho zobrazovacφho intervalu musφ sequencer dodat
atributovΘmu kontroleru 4 bity, kterΘ jsou p°evedeny na
pixel odpovφdajφcφ barvy. V grafick²ch re₧imech je v₧dy
z bitov²ch rovin p°eΦten byte. BitovΘ roviny jsou Φty°i,
p°eΦtenΘ jsou tedy 4 byte. Tyto 4 byte se ulo₧φ do 4
posuvn²ch registr∙, odkud jsou po Φtve°icφch bit∙ posφlßny
do atributovΘho kontroleru k vytvo°enφ barvy. V textov²ch
re₧imech je ASCII k≤d znaku pou₧it jako odkaz do znakovΘho
bloku, ve kterΘm je bitovß definice tvaru znaku. Z tΘto
definice a atributu je op∞t vytvo°ena Φtve°ice byte, kterß
je posuvn²m registrem postoupena atributovΘmu kontroleru.
     Na kart∞ EGA atributov² kontroler p°φmo ovlßdß
obrazovku. Karta VGA pou₧φvß v²stup atributovΘho kontroleru
jako odkaz do tabulky DAC. Z tΘto tabulky jsou p°eΦteny
intenzity zßkladnφch barev a po p°evedenφ na odpovφdajφcφ
nap∞tφ jsou poslßny na obrazovku.
     Registry sequenceru ovlßdßjφ kmitoΦet hodin, posuvnΘ
registry a umφst∞nφ znakovΘho generßtoru. Sequencer
rozd∞luje p°φstup procesoru a adaptΘru k pam∞ti, urΦuje
bitovΘ mapy p°φstupnΘ procesoru. V∞tÜina b∞₧n²ch aplikacφ
z registr∙ sequenceru vyu₧φvß pouze Map Mask a Character Map
Select registry.

Sequencer Adress Register                         Port: 3c4h
Adresov² registr sequenceru
============================================================
Popis: Obsah tohoto registru urΦuje, kter² z registr∙
       sequenceru bude mapovßn na datovΘm portu 3c5h. Pro
       p°φstup k registru sequenceru musφte na tento port
       zapsat index vßmi po₧adovanΘho registru sequenceru.
       /---------------------------------------------------\
       |Index| Registr                                     |
       |-----+---------------------------------------------|
       |  0  | Reset                                       |
       |  1  | Re₧im ΦasovaΦe (Clocking Mode)              |
       |  2  | Map mask                                    |
       |  3  | V²b∞r znakovΘho bloku (Character Map Select)|
       |  4  | Pam∞¥ov² re₧im (Memory Mode)                |
       \---------------------------------------------------/

Reset Register                                    Port: 3c5h
Reset registr                                    Index:    0
============================================================
Popis: Tento registr je pou₧φvßn k resetovßnφ sequenceru. To
       je nezbytnΘ pro zachovßnφ obsahu obrazovky p°i zm∞n∞
       re₧imu ΦasovaΦe. Aby sequencer pracoval musφ b²t oba
       bity 0 a 1 nastaveny na jedna.

  Bity   Popis
  ----   ---------------------------------------------------
    0    Asynchronφ smazßnφ sequenceru
              Nastavenφ tohoto bitu na 0 zp∙sobφ smazßnφ a
         zastavenφ sequenceru. V²stupy se uvedou do stavu s
         vysokou impendacφ. Tφm m∙₧e b²t zap°φΦin∞na ztrßta
         obrazov²ch dat.

    1    Synchronφ smazßnφ sequenceru
              Nastavenφ tohoto bitu na 0 zp∙sobφ smazßnφ a
         zastavenφ sequenceru. Do tohoto stavu by m∞l b²t
         sequencer uveden, pokud se m∞nφ re₧im ΦasovaΦe nebo
         rychlost ΦasovaΦe.

  2-7    Nepou₧ito

Clocking Mode Register                            Port: 3c5h
Re₧im ΦasovaΦe                                   Index:    1
============================================================
Popis: Tento registr ovliv≥uje n∞kterΘ funkce souvisejφcφ s
       Φasovßnφm adaptΘru. P°ed tφm, ne₧ m∞nφte n∞jakΘ
       nastavenφ tohoto registru, m∞li byste provΘst
       synchronnφ reset sequenceru.

  Bity   Popis
  ----   ---------------------------------------------------
    0    8/9 takt∙ na jeden znak
              Pokud je tento bit nastaven na 1, generujφ se
         standardnφ, 8 bod∙ ÜirokΘ znaky. Pokud je nastaven
         na 0, generujφ se 9 bod∙ ÜirokΘ znaky (pouze v MDA
         a VGA textov²ch m≤dech).

    1    èφ°ka pßsma pro p°φstup do pam∞ti - pouze EGA
              Tento bit ovlßdß p°φstupov² Φas do pam∞ti pro
         videoadaptΘr. Nastavenφ tohoto bitu na jedna
         vyhradφ adaptΘru 2 z 5 pam∞¥ov²ch cykl∙. Nastavenφ
         tohoto bitu na nula vyhradφ pro adaptΘr 4 z 5
         pam∞¥ov²vh cykl∙. Proto₧e m≤dy s vyÜÜφm rozliÜenφm
         pot°ebujφ Φφst vφce dat b∞hem jednoho °ßdku,
         vy₧adujφ vÜechny m≤dy krom∞ 0, 1, 4, 5 a 0dh 4 z 5
         cykl∙. Nastavenφ tohoto bitu ovlivnφ waitstates
         generovanΘ adaptΘrem. B∞hem zp∞tnΘho chodu paprsku
         pokraΦuje na EGA p°id∞lovßnφ p°φstupu k pam∞ti. Na
         VGA je p°i zp∞tnΘm chodu p°φstup k pam∞ti zcela
         vyhrazen procesoru.

    2    4/2 posuvnΘ registry
              Obvykle je tento bit nastaven na 0. Data z
         pam∞ti jsou posφlßna do atributovΘho kontroleru
         pomocφ 4 8bitov²ch posuvn²ch registr∙. Nastavenφ
         tohoto bitu na jedna kombinuje data ze dvou
         bitov²ch rovin do 16bitov²ch posuvn²ch registr∙.
         Tyto registry jsou nynφ vÜak pouze dva. Snφ₧φ se
         tak poΦet barev, ale zv∞tÜφ dostupnß pam∞¥.

    3    1/2 hodinovΘ frekvence
              Po nastavenφ tohoto bitu na jedna se bude
         frekvence z ΦasovaΦe d∞lit dv∞ma. Toto zdvojenφ
         Φasov²ch interval∙ se pou₧φvß pro zobrazenφ m≤d∙
         s rozliÜenφm 320 x 200 Φi textov²ch m≤d∙ se 40
         znaky na °ßdku.

    4    4->1 posuvnΘ registry
              Nastavenφ tohoto bitu na jedna aktivuje Φtenφ
         z jednΘ bitovΘ roviny po 32 bitech, kterΘ se potΘ
         ulo₧φ do posuvn²ch registr∙. Äßdn² ze standardnφch
         m≤d∙ nepou₧φvß toto nastavenφ, nebo¥ je k dispozici
         dostateΦn∞ velk² adresnφ prostor.

    5    Vypnutφ obrazovky
              Nastavenφ tohoto bitu na jedna vypne
         generovßnφ obrazu na stφnφtku p°i zachovßnφ vÜech
         internφch funkcφ videoadaptΘru. Vypφnßnφ obrazovky
         lze pou₧φt v p°φpad∞, kdy pot°ebujeme vyhradit
         vÜechen p°φstupov² Φas do videopam∞ti procesoru
         (nap°φklad pro prßci s velk²m objemem dat). DalÜφ
         pou₧itφ je v jednoduchΘch screensaveru (Üet°iΦi
         obrazovky).

  6-7    Nepou₧ito

Map Mask Register                                 Port: 3c5h
Map mask registr                                 Index:    2
============================================================
Popis: Map mask registr povoluje a zakazuje modifikaci
       jednotliv²ch bitov²ch map b∞hem zßpisu do pam∞ti.
       Ka₧d² bit nastaven² na jedna umo₧nφ modifikaci
       p°φsluÜnΘ bitovΘ roviny.

       Pokud pou₧φvßte m≤dy s odd∞len²mi sud²mi a lich²mi
       °ßdky, m∞ly by mφt bity 0 a 1 stejnou hodnotu, stejn∞
       tak by m∞ly mφt bity 2 a 3 stejnou hodnotu. Pokud
       pou₧ivßte re₧im z°et∞zenφ 4 bitov²ch map (je nastaven
       v grafickΘm re₧imu 320 x 200, 256 barev), m∞ly by mφt
       vÜechny bity stejnou hodnotu.

       Tento registr je aktivnφ ve vÜech zapisovacφch
       re₧imech, tj. ovliv≥uje veÜkerß data zapisovanß do
       pam∞ti videoadaptΘru.

  Bity   Popis
  ----   ---------------------------------------------------
    0     = 1  Povolena modifikace bitovΘ roviny 0

    1     = 1  Povolena modifikace bitovΘ roviny 1

    2     = 1  Povolena modifikace bitovΘ roviny 2

    3     = 1  Povolena modifikace bitovΘ roviny 3

  4-7    Nepou₧ito

Character Map Select Register                     Port: 3c5h
Regsitr v²b∞ru znakovΘho bloku                   Index:    3
============================================================
Popis: Tento registr urΦuje, kterß Φßst bitovΘ roviny
       obsahuje definici znakovovΘ sady pro textovΘ re₧imy.
       Bitovß rovina 2 je rozd∞lena na 4 Φßsti po 8K (na
       kartßch EGA s mΘn∞ ne₧ 256K p°φsluÜφ ka₧d²ch 64K
       jednΘ Φßsti). Na kartßch EGA m∙₧e ka₧dß tato Φßst
       obsahovat jeden znakov² blok z celkov²ch Φty°. VGA
       m∙₧e obsahovat v jednΘ 8K Φßsti dva znakovΘ bloky.
       Dva z t∞chto osmi (u EGA Φty°) znakov²ch blok∙ mohou
       b²t vybrßny jako primßrnφ a sekundßrnφ znakovΘ sady.
       Obvykle jsou primßrnφ a sekundßrnφ znakovß sada
       toto₧nΘ a je mo₧no zobrazovat pouze 256 znak∙. Pokud
       je ale obsah znakov²ch sad rozdφln², urΦuje bit 3
       atributu (intenzita) pou₧φvanou znakovou sadu. Znaky
       s nastavenou intenzitou se pak objevφ jako dalÜφch
       256 pou₧iteln²ch znak∙.

       EGA musφ mφt vφce ne₧ 64K pam∞ti, aby podporovala dv∞
       znakovΘ sady najednou.

       Tento registr by m∞l b²t nastavovßn po resetu
       sequenceru, proto₧e asynchronφ smazßnφ sequenceru
       vynuluje tento registr.

  Bity   Popis
  ----   ---------------------------------------------------
  0-1    V²b∞r primßrnφ znakovΘ sady
               Hodnota t∞chto dvou bit∙ urΦuje 8K Φast bitovΘ
         roviny 2 pou₧itou k ulo₧enφ primßrnφ znakovΘ sady.
         Hodnota 0-3 odpovφdß znakovΘmu bloku 0-3.

  2-3    V²b∞r sekundßrnφ znakovΘ sady
               Hodnota t∞chto dvou bit∙ urΦuje 8K Φast bitovΘ
         roviny 2 pou₧itou k ulo₧enφ sekundßrnφ znakovΘ sady
         (bit 3 atributu = 1). Hodnota 0-3 odpovφdß
         znakovΘmu bloku 0-3.

    4    NejvyÜÜφ bit v²b∞ru sekundßrnφ znakovΘ sady - pouze VGA
               Tento bit se p°ipojuje na VGA k bit∙m 2 a 3.
         Sekundßrnφ znakovß sada m∙₧e b²t na adaptΘru VGA
         ulo₧ena v jednom z osmi znakov²ch blok∙.

    5    NejvyÜÜφ bit v²b∞ru primßrnφ znakovΘ sady - pouze VGA
               Tento bit na VGA rozÜi°uje bity 0 a 1.
         Umo₧≥uje volbu primßrnφ znakovΘ sady z celkem osmi
         znakov²ch blok∙.

  6-7    Nepou₧ito

Memory Mode Registr                               Port: 3c5h
Pam∞¥ov² re₧im sequenceru                        Index:    4
============================================================
Popis: Tento registr ovliv≥uje p°φstup sequenceru k pam∞ti.

  Bity   Popis
  ----   ---------------------------------------------------
    0    Textov² re₧im
               Tento bit je nastaven na jedna v textov²ch
         re₧imech a na nula v grafick²ch. V textov²ch
         re₧imech je bitovß rovina 2 vyhrazena pro znakov²
         generßtor.

    1    RozÜφ°enφ pam∞ti
               Tento bit je nastaven na jedna, pokud mß
         adaptΘr vφce ne₧ 64K pam∞ti. V opaΦnΘm p°φpad∞ je
         nastaven nula.

    2    Pam∞¥ov² m≤d s odd∞len²mi sud²mi a lich²mi adresami
               Kdy₧ je tento bit nastaven na jedna, data na
         sud²ch adresßch jsou mapovßna do sud²ch bitov²ch
         rovin a data na lich²ch adresßch jsou mapovßna do
         lich²ch bitov²ch map. Toto nastavenφ se t²kß pouze
         sequenceru. Pokud je pomocφ bitu 4 registru re₧imu
         grafickΘho kontroleru p°epnut i grafick² kontroler
         do tohoto re₧imu, snadno se emulujφ m≤dy CGA. Tento
         pam∞¥ov² model je pou₧it i v textov²ch re₧imech,
         kde jsou ASCII k≤dy znak∙ ulo₧eny v jednΘ bitovΘ
         rovin∞ a atributy v druhΘ.

    3    Z°et∞zenφ 4 bitov²ch map - pouze VGA
               Nastavenφ tohoto bitu na jedna uvede v
         Φinnost mapovßnφ podobnΘ tomu p°edchozφmu. Adresy
         jsou vÜak rozd∞leny do Φty° skupin. Adresy, kterΘ
         jsou nßsobkem Φty° jsou ulo₧eny v bitovΘ rovin∞ 0.
         Adresy, kterΘ po vyd∞lenφ Φty°mi dßvajφ zbytek
         jedna jsou ulo₧eny v bitovΘ rovin∞ 1 atd. Tento
         pam∞¥ov² re₧im vyu₧φvß m≤d 13h (320 x 200, 256
         barev). Ka₧dß bitovß rovina obsahuje jen ka₧d²
         Φtvrt² byte. Procesor vÜak vidφ celou pam∞¥ovou
         oblast souvisle.

  4-7    Nepou₧ito


                       Registry CRTC

     Registry CRTC tvo°φ nejv∞tÜφ skupinu registr∙ adaptΘru
EGA a VGA. Ovlßdajφ veÜkerΘ funkce t²kajφcφ se Φasovanφ
a synchronizace vytvß°enφ obrazu. JedineΦnostφ registr∙ CRTC
je to, ₧e se mohou vyskytovat na dvou r∙zn²ch portech.
V monochromatick²ch re₧imech se pro p°φstup k CRTC registr∙m
pou₧φvajφ porty 3b4h/3b5h a v barevn²ch re₧imech se
pou₧φvajφ porty 3d4h/3d5h. Toto dvojφ umφst∞nφ je d∙sledkem
zachovßvßnφ zp∞tnΘ kompatibility s MDA a CGA. Tyto adaptΘry
majφ toti₧ registry CRTC umφst∞ny na rozdφln²ch portech.
     Jeliko₧ registr∙ CRTC je velikΘ mno₧stvφ a jejich
souvislost by nemusela b²t na prvnφ pohled z°ejmß, povφme se
nejprve n∞co o zp∙sobu tvorby obrazu na stφnφtku monitoru.
Obraz je vytvß°en tφm, ₧e vrstva luminescenΦnφ lßtky je
aktivovßna pomocφ elektronovΘho paprsku. Tato aktivace se
projevφ rozsvφcenφm ozß°enΘ Φßsti luminoforu. ╚φm siln∞jÜφ
elektronov² svazek dopadal na stφnφtko, tφm jasn∞jÜφ bude
obraz. Na barevnΘm displeji jsou naneseny luminofory t°φ
zßkladnφch barev (bu∩ v tenk²ch prou₧cφch vedle sebe, nebo
jako trojice teΦek), kterΘ po slo₧enφ dßvajφ v²slednou
barvu.
     Elektronov² paprsek zaΦφnß sv∙j pohyb v levΘm hornφm
rohu obrazovky. P°i pohybu doprava vykresluje jednu °ßdku.
Kdy₧ dosßhne pravΘho okraje stφnφtka, paprsek se deaktivuje
a p°esovß se na nßsledujφcφ °ßdku vlevo (tzv. zp∞tn² chod
paprsku). Tento cel² proces se opakuje, dokud nenφ
vykreslena celß obrazovka. Z pravΘho okraje poslednφ °ßdky
se deaktivovan² paprsek p°esouvß zp∞t do levΘho hornφho
rohu. Samotn² obraz videopam∞ti nezabφrß celou tuto plochu.
Okolo obrazu je jeÜt∞ rßmeΦek vypln∞n² urΦitou barvou (viz
obr. 9).
     Registry CRTC m∙₧eme rozd∞lit do dvou skupin podle toho
zda ovliv≥ujφ zobrazovßnφ jednΘ °ßdky (horizontßlnφ) nebo
sklßdßnφ t∞chto °ßdek do v²slednΘho obrazu (vertikßlnφ).
Tvorbu obrazu a velikost rozliÜenφ ovliv≥ujφ tyto registry:
  Horizontßlnφ - Celkov² poΦet znak∙ (index 0)
                 PoΦet zobrazovan²ch znak∙ (index 1)
                 ZaΦßtek zatemn∞nφ (index 2)
                 Konec zetemn∞nφ (index 3)
                 ZaΦßtek zp∞tnΘho impulsu (index 4)
                 Konec zp∞tnΘho chodu paprsku (index 5)
  Vertikßlnφ  -  Celkov² poΦet °ßdek (index 6)
                 ZaΦßtek zp∞tnΘho chodu paprsku (index 10h)
                 Konec zp∞tnΘho chodu (index 11h)
                 PoΦet zobrazovan²ch °ßdek (index 12h)
                 ZaΦßtek zatemn∞nφ (index 15h)
                 Konec zatemn∞nφ (index 16h)
N∞kterΘ z t∞chto registr∙ jsou vφce ne₧ osmibitovΘ.
Zb²vajφcφ bity majφ umφst∞ny v registru p°eteΦenφ
(Overflow-register) s indexem 7.
     Horizontßlnφ hodnoty jsou ve znacφch. PoΦφtßnφ
horizontßlnφ pozice zaΦφnß od nuly a konΦφ celkov²m poΦtem
znak∙ (index 0) plus jedna (EGA) nebo plus Φty°i (VGA). Data
jsou zobrazovßna od 0 do poΦtu zobrazovan²ch znak∙. Ten b²vß
obvykle 39 nebo 79. Dostßvßme tak 40 nebo 80 znak∙ na °ßdku
(v grafice krßt 8 - poΦet bit∙ na znak - dostßvßme 320 nebo
640). Na pozici nßsledujφcφ za poslednφm zobrazen²m znakem
obvykle zaΦφnß zatemn∞nφ (hodnota registru b²vß nejΦast∞ji
40 nebo 80) p°i zatemn∞nφ se generuje rßmeΦek. O n∞kolik
znak∙ pozd∞ji zaΦφnß zp∞tn² chod paprsku. Registry urΦujφcφ
konec zatemn∞nφ a zp∞tnΘho chodu pou₧φvajφ pouze sv²ch 5
nejni₧Üφch bit∙. Pokud 5 nejni₧Üφch bit∙ aktußln∞ kreslenΘho
znaku odpovφdß konci zatemn∞nφ, zaΦne se vykreslovat lev²
rßmeΦek. PotΘ u₧ se Φekß jen na to a₧ bude konec zp∞tnΘho
chodu odpovφdat aktußlnφ poloze paprsku a zaΦφnß
vykreslovßnφ novΘ °ßdky. Proto₧e mezi koncem zp∞tnΘho chodu
a zaΦßtkem vykreslovßnφ novΘ °ßdky je mßlo Φasu, lze
zaΦßtek vykreslovßnφ novΘ °ßdky posunout pomocφ bit∙ 5 a 6
registru konec zatemn∞nφ.
     Vertikßlnφ registry majφ obdobn² v²znam, pouze jejich
jednotkou nejsou znaky, ale °ßdky. Vertikßlnφ snφmkovacφ
frekvence b²vß obvykle v rozsahu od 50 do 90 Hz. Obecn∞ lze
°φcφ, Φφm v∞tÜφ je tato frekvence, tφm ost°ejÜφ
a kvalitn∞jÜφ je obraz. Pokud je tato frekvence menÜφ ne₧
60 Hz, m∙₧e nßm obraz p°ipadat nestßl² a klepajφcφ se.

CRTC Adress register                              Port: 3?4h
Adresov² registr CRTC
============================================================
Popis: Adresov² registr CRTC urΦuje, kter² z registr∙ CRTC
       bude p°φstupn² p°es datov² registr CRTC. Tento
       registr se m∙₧e vyskytovat na dvou r∙zn²ch portech.
       Na adaptΘru VGA m∙₧ete zjistit pomocφ bitu 0 registru
       p°eΦtenΘho z portu 3cch, kterß ze dvou mo₧nostφ
       umφst∞nφ je prßv∞ pou₧φvßna.
       /-------------------------------------------------------\
       |Index| Registr                                         |
       |-----+-------------------------------------------------|
       | 00h | Celkov² horizontßlnφ poΦet znak∙                |
       | 01h | Horizontßlnφ poΦet zobrazovan²ch znak∙          |
       | 02h | ZaΦßtek horizontßlnφho zatemn∞nφ                |
       | 03h | Konec horizontßlnφho zatemn∞nφ                  |
       | 04h | ZaΦßtek horizontßlnφho zp∞tnΘho chodu paprsku   |
       | 05h | Konec horizontßlnφho zp∞tnΘho chodu paprsku     |
       | 06h | Celkov² vertikßlnφ poΦet °ßdek                  |
       | 07h | Registr p°eteΦenφ                               |
       | 08h | Verikßlnφ posun ve znakov²ch re₧imech           |
       | 09h | PoΦet °ßdek na znak                             |
       | 0ah | ZaΦßtek kurzoru                                 |
       | 0bh | Konec kurzoru                                   |
       | 0ch | PoΦßteΦnφ adresa - vyÜÜφ byte                   |
       | 0dh | PoΦßteΦnφ adresa - ni₧Üφ byte                   |
       | 0eh | Pozice kurzoru - vyÜÜφ byte                     |
       | 0fh | Pozice kurzoru - ni₧Üφ byte                     |
       | 10h | ZaΦßtek vertikßlnφho zp∞tnΘho chodu             |
       |     | EGA Φtenφ - Pozice sv∞telnΘho pera - vyÜÜφ byte |
       | 11h | Konec vertikßlnφho zp∞tnΘho chodu               |
       |     | EGA Φtenφ - Pozice sv∞telnΘho pera - ni₧Üφ byte |
       | 12h | Vertikßlnφ poΦet zobrazovan²ch °ßdek            |
       | 13h | Offset                                          |
       | 14h | Pozice podtr₧enφ                                |
       | 15h | ZaΦßtek vertikßlnφho zatemn∞nφ                  |
       | 16h | Konec vertikßlnφho zatemn∞nφ                    |
       | 17h | Ovlßdßnφ re₧imu                                 |
       | 18h | Porovnßnφ °ßdky                                 |
       \-------------------------------------------------------/

Horizontal Total Register                         Port: 3?5h
Celkov² horizontßlnφ poΦet znak∙                 Index:  00h
============================================================
Popis: Tento registr obsahuje poΦet znak∙ v jednΘ
       horizontßlnφ °ßdce plus znaky odpovφdajφcφ zp∞tnΘmu
       chodu paprsku. Internφ ΦφtaΦ se po dosa₧enφ tΘto
       hodnoty vynuluje. Nov² interval pro dalÜφ °ßdku zaΦne
       jeden takt po vynulovßnφ ΦφtaΦe.

       Hodnota v tomto registru je u EGA o 2 menÜφ a u VGA o
       5 menÜφ ne₧ skuteΦn² poΦet znakov²ch dΘlek na jednΘ
       °ßdce.

       AdaptΘr v₧dy pova₧uje prvnφ zobrazitelnou pozici za
       prvnφ pozici v ΦφtaΦi. Nßsledujφcφ intervaly p°φsluÜφ
       pravΘmu rßmeΦku, zp∞tnΘmu chodu paprsku a levΘmu
       rßmeΦku.

       Tento registr ovliv≥uje horizintßlnφ velikost pixelu.
       ╚φm je hodnota tohoto registru vyÜÜφ, tφm vφce znak∙
       se musφ na jednΘ °ßdce zobrazit a tφm menÜφ musφ b²t
       jeden bod.

  Bity   Popis
  ----   ---------------------------------------------------
  0-7    Celkov² horizontßlnφ poΦet znak∙ (o dv∞ menÜφ na
         EGA a o p∞t menÜφ na VGA).

Horizontal Display Enable End Register            Port: 3?5h
Horizontßlnφ poΦet zobrazovan²ch znak∙           Index:  01h
============================================================
Popis: Tento registr obsahuje poΦet znakov²ch Üφ°ek v
       zobrazovanΘ oblasti. Pokud internφ ΦφtaΦ dosßhne
       hodnoty v tomto registru, zaΦφnß vykreslovßnφ pravΘ
       Φßsti rßmeΦku.

       Hodnota v tomto registru je o 1 menÜφ ne₧ poΦet
       zobraziteln²ch znak∙. Hodnota 0 tedy znamenß, ₧e bude
       zobrazovßn jeden znak na °ßdku.

  Bity   Popis
  ----   ---------------------------------------------------
  0-7    Horizontßlnφ poΦet zobrazovan²ch znak∙ mφnus jedna
         (obvykle 39 nebo 79).

Start Horizontal Blanking Register                Port: 3?5h
ZaΦßtek horizontßlnφho zatemn∞nφ                 Index:  02h
============================================================
Popis: Pokud ΦφtaΦ dosßhne hodnoty tohoto registru, zaΦne
       horizontßlnφ zatemn∞nφ, tj. zaΦne se vykreslovat
       prav² rßmeΦek. Vykreslovßnφ pravΘ Φßsti rßmeΦku
       skonΦφ v okam₧iku, kdy ΦφtaΦ dosßhne hodnoty registru
       zaΦßtek zp∞tnΘho chodu.

  Bity   Popis
  ----   ---------------------------------------------------
  0-7    Pozice, na kterΘ se zeΦne zobrazovat pravß Φßst
         rßmeΦku.

End Horizontal Blanking Register                  Port: 3?5h
Konec horizontßlnφho zatemn∞nφ                   Index:  03h
============================================================
Popis: Tento registr obsahuje hodnotu ΦφtaΦe, p°i kter se
       p°estane s vykreslovßnφm rßmeΦku. Obsahuje pouze 5
       mΘn∞ v²znamn²ch bit∙ tΘto hodnoty. Ty v²znamn∞jÜφ
       jsou shodnΘ s bity v registru pro zaΦßtek
       horizontßlnφho zatm∞nφ.

       Tento registr takΘ obsahuje kontrolu nad pauzou,
       kterß p°edchßzφ zobrazovßnφ novΘ °ßdky. B∞hem tΘto
       pauzy musφ mφt CRTC dost Φasu k p°φstupu do
       videopam∞ti, ke znakovΘmu generßtoru a k atribut∙m.
       Pokud je tato pauza p°φliÜ malß, m∙₧e b²t prvnφ znak
       zobrazovßn vφcekrßt. Pokud je pauza p°φliÜ velkß,
       m∙₧e b²t n∞kolik prvnφch znak∙ nezobrazen²ch.

  Bity   Popis
  ----   ---------------------------------------------------
  0-4    Konec horizontßlnφho zatemn∞nφ.

  5-6    Pauza po napln∞nφ internφho horizontßlnφho ΦφtaΦe
          = 00b  Äßdnß pauza
          = 01b  Pauza odpovφdajφcφ vykreslenφ jednoho znaku
          = 10b  Pauza odpovφdajφcφ vykreslenφ dvou znak∙
          = 11b  Pauza odpovφdajφcφ vykreslenφ t°φ znak∙

    7    EGA - Nepou₧ito
         VGA - UrΦeno pro testovßnφ, m∞lo by b²t nastaveno
               na 1.

Start Horizontal Retrace Pulse Register           Port: 3?5h
ZaΦßtek horizontßlnφho zp∞tnΘho chodu paprsku    Index:  04h
============================================================
Popis: Tento registr obsahuje hodnotu ΦφtaΦe, p°i kterΘ
       bude vygenerovßn impuls zp∞tnΘho chodu a elektronov²
       paprsek bude p°esouvßn doleva. Zp∞tn² chod m∙₧e b²t
       prodlou₧en pomocφ n∞kter²ch bit∙ registru konec
       zp∞tnΘho chodu paprsku.

  Bity   Popis
  ----   ---------------------------------------------------
  0-7    Hodnota internφho ΦφtaΦe, p°i kterΘ zaΦne b²t
         generovßn signßl pro zp∞tn² chod paprsku.

End Horizontal Retrace Register                   Port: 3?5h
Konec horizontßlnφho zp∞tnΘho chodu paprsku      Index:  05h
============================================================
Popis: Tento registr obsahuje p∞t mΘn∞ v²znamn²ch bit∙,
       kterΘ p°i shod∞ s internφm ΦφtaΦem ukonΦφ zp∞tn² chod
       elektronovΘho paprsku. T°i v²znamn∞jÜφ bity jsou
       shodnΘ s registrem urΦujφcφm zaΦßtek zp∞tnΘho chodu.

       Bity 5-6 urΦujφ pauzu, o kterou bude prodlou₧en
       zp∞tn² chod paprsku. M∙₧e b²t pou₧ita pro
       synchronizaci se zatem≥ovßnφm.

       Tento registr obsahuje na adaptΘrech VGA v bitu 7
       Üest² bit registru konec horizontßlnφho zatemn∞nφ.

  Bity   Popis
  ----   ---------------------------------------------------
  0-4    P∞t mΘn∞ v²znamn²ch bit∙ ΦφtaΦe, p°i kter²ch skonΦφ
         zp∞tn² chod paprsku.

  5-6    Pauza po nßvratu paprsku
          = 00b  Äßdnß pauza
          = 01b  Pauza odpovφdajφcφ vykreslenφ jednoho znaku
          = 10b  Pauza odpovφdajφcφ vykreslenφ dvou znak∙
          = 11b  Pauza odpovφdajφcφ vykreslenφ t°φ znak∙

    7    RozÜφ°enφ horizontßlnφho scrolovßnφ - pouze EGA
               Tento bit je normßln∞ nastaven na 0. Pokud
         mßte EGA kartu s vφce ne₧ 64K pam∞ti, m∙₧ete tento
         bit pou₧φt pro rozÜφ°enφ rozsahu scrolovßnφ. pro
         vyu₧itφ tΘto schopnosti nejprve nastavte tento bit
         na 0. PotΘ scrolujte b∞₧n²m zp∙sobem o 8 pixel∙.
         Nastavte tento bit na 1 a op∞t b∞₧n²m zp∙sobem
         scrolujet o osm bod∙. PotΘ zm∞nte poΦßteΦnφ adresu
         zobrazovan²ch dat a cel² proces opakujte. Karta VGA
         mß obdobn² bit v registru pro poΦet °ßdek na znak.

    7    6. bit registru konec horizontßlnφho zatemn∞nφ - pouze VGA
               Tento bit rozÜi°uje registr konce
         horizontßlnφho zatemn∞nφ.

Vertical Total Register                           Port: 3?5h
Celkov² vertikßlnφ poΦet °ßdek                   Index:  06h
============================================================
Popis: Tento registr obsahuje osm mΘn∞ v²znamn²ch bit∙ poΦtu
       zobrazovan²ch °ßdek plus poΦet °ßdek pot°ebn²ch na
       zat∞mn∞nφ a zp∞tn² chod paprsku. Internφ vertikßlnφ
       ΦφtaΦ bude pracovat od 0 do tΘto hodnoty. V registru
       p°eteΦenφ jsou ulo₧eny bit 8 a 9 (VGA) tohoto
       registru.

  Bity   Popis
  ----   ---------------------------------------------------
  0-7    Osm mΘn∞ v²znamn²ch bit∙ celkovΘho poΦtu °ßdek.

CRTC Overflow register                            Port: 3?5h
Registr p°eteΦenφ                                Index:  07h
============================================================
Popis: tento registr obsahuje nejv²znamn∞jÜφ bity n∞kter²ch
       registr∙ CRTC, kterΘ p°ekroΦily osmibitov² rozsah.

  Bity   Popis
  ----   ---------------------------------------------------
    0    9. bit registru celkov² vertikßlnφ poΦet °ßdek

    1    9. bit registru vertikßlnφ poΦet zobrazovan²ch
         °ßdek

    2    9. bit registru zaΦßtek vertikßlnφho zp∞tnΘho chodu

    3    9. bit registru zaΦßtek vertikßlnφho zatemn∞nφ

    4    9. bit registru porovnßnφ °ßdky

    5    10. bit registru celkov² vertikßlnφ poΦet °ßdek -
         pouze VGA

    6    10. bit registru vertikßlnφ poΦet zobrazovan²ch
         °ßdek - pouze VGA

    7    10. bit registru zaΦßtek vertikßlnφho zp∞tnΘho
         chodu - pouze VGA

Preset Row Scan Register                          Port: 3?5h
Vertikßlnφ poΦet ve znakov²ch re₧imech           Index:  08h
============================================================
Popis: Prvnφ zobrazovanß °ßdka je urΦena obsahem registru
       poΦßteΦnφ adresa zobrazovßnφ plus offset urΦen² tφmto
       registrem. Tento registr obsahuje poΦßteΦnφ °ßdku pro
       zobrazovßnφ (normßln∞ 0). Tento registr se pou₧φvß
       pro implmentaci plynulΘho scrolovßnφ v textov²ch
       re₧imech. UrΦuje na kolikßtΘ °ßdce znaku zaΦne
       zobrazovßnφ. Hodnota tohoto registru by tedy nem∞la
       p°esßhnout poΦet °ßdek jednoho znaku. V grafick²ch
       re₧imech by m∞l b²t tento registr nastaven na nula.
       PlynulΘ vertikßlnφ scrolovßnφ lze v grafick²ch
       re₧imech provßd∞t za pou₧itφ samotnΘho registru
       poΦßteΦnφ adresy zobrazovßnφ.

       Zm∞na tohoto registru se promφtne a₧ do nßsledujφcφho
       zobrazovacφho intervalu. Pouze pokud je zm∞na
       provedena b∞hem vykreslovßnφ prvnφ °ßdky, je reakce
       na zm∞nu nastavenφ okam₧itß. Tento registr by tedy
       m∞l b²t m∞n∞n bu∩ b∞hem vertikßlnφho zp∞tnΘho chodu
       paprsku nebo b∞hem prvnφho horizontßlnφho zp∞tnΘho
       chodu.

  Bity   Popis
  ----   ---------------------------------------------------
  0-4    ╚φslo prvnφ zobrazovanΘ °ßdky po skonΦenφ
         vertikßlnφho zp∞tnΘho chodu.

  5-6    4. a 5. bit horizontßlnφho scrolovßnφ - pouze VGA
               Tyto bity rozÜi°ujφ registr pro horizontßlnφ
         posun obrazu doleva. Toto rozÜφ°enφ je nutnΘ pokud
         je pou₧φvßno z°et∞zenφ bitov²ch map.

    7    Nepou₧ito

Maximum Scan Line Register                        Port: 3?5h
PoΦet °ßdek na znak                              Index:  09h
============================================================
Popis: Registr obsahuje v²Üku pou₧φvan²ch znak∙ mφnus jedna.
       Tento registr mß uveden² v²znam pouze v textov²ch
       re₧imech.

  Bity   Popis
  ----   ---------------------------------------------------
  0-4    V²Üka pou₧φvan²ch znak∙ mφnus jedna

    5    10. bit registru zaΦßtek vertikßlnφho zatemn∞nφ -
         pouze VGA

    6    10. bit registru porovnßnφ °ßdky - pouze VGA

    7    Konverze 200 na 400 - pouze VGA
               Pokud je tento bit nasatven na jedna, je
         ka₧dß °ßdka v 200 °ßdkovΘm re₧imu zobrazovßna
         dvakrßt. Dosahuje se tak stejnΘ kvality zobranφ
         jako p°i vertikßlnφm rozliÜenφ 400.

Cursor Start Register                             Port: 3?5h
ZaΦßtek kurzoru                                  Index:  0ah
============================================================
Popis: Obsah tohoto registru urΦuje Φφslo °ßdky znakovΘho
       boxu, na kterΘ zaΦne b²t zobrazovßn kurzor. Poslednφ
       °ßdka kurzoru se nastavuje pomocφ registru konec
       kurzoru (index 0bh). Tento registr je platn² pouze v
       textov²ch re₧imech. ╪ßdky jsou Φφslovßny odshora
       dol∙, od 0 do poΦtu byte na znak mφnus jedna.

       Pokud je na adaptΘrech EGA poΦßteΦnφ °ßdka kurzoru
       v∞tÜφ ne₧ koncovß, zobrazφ se inverznφ kurzor. Na VGA
       toto nastavenφ vede ke zmizenφ kurzoru.

  Bity   Popis
  ----   ---------------------------------------------------
  0-4    ZaΦßtek kurzoru
               ╚φslo °ßdky, na kterΘ zaΦne zobrazovßnφ
         kurzoru.

    5    Vypnutφ kurzoru - pouze VGA
               Pokud je tento bit nastaven na jedna, kurzor
         nenφ zobrazovßn.

  6-7    Nepou₧ito

Cursor End Register                               Port: 3?5h
Konec kurzoru                                    Index:  0bh
============================================================
Popis: Obsah tohoto registru urΦuje Φφslo °ßdky znakovΘho
       boxu, na kterΘm p°estane zobrazovßnφ kurzoru. Prvnφ
       zobrazovanß °ßdka kurzoru se nastavuje pomocφ
       registru zaΦßtek kurzoru (index 0ah). ╚φslovßnφ °ßdek
       zaΦφnß odshora od nuly.

       Tento registr obsahuje bity 5 a 6, kterΘ umo₧≥ujφ
       ovlßdat pauzu po vyslßnφ kontrolnφho signßlu kurzoru.

  Bity   Popis
  ----   ---------------------------------------------------
  0-4    Konec kurzoru
               ╚φslo °ßdky, na kterΘ skonΦφ zobrazovßnφ
         kurzoru.

  5-6    Spo₧d∞nφ kontrolnφho signßlu kurzoru
          = 00b  Äßdnß pauza
          = 01b  Pauza odpovφdajφcφ vykreslenφ jednoho znaku
          = 10b  Pauza odpovφdajφcφ vykreslenφ dvou znak∙
          = 11b  Pauza odpovφdajφcφ vykreslenφ t°φ znak∙

    7    Nepou₧ito

Start Address High Register                       Port: 3?5h
PoΦßteΦnφ adresa - vyÜÜφ byte                    Index:  0ch
============================================================
Popis: Tento registr obsahuje osm nejv²znamn∞jÜφch bit∙
       adresy (z pohledu CRTC), na kterΘ je prvnφ
       zobrazovan²m znak (v textov²ch re₧imech) nebo prvnφ
       zobrazovan² pixel (v grafick²ch re₧imech). Osm mΘn∞
       v²znamn²ch bit∙ je ulo₧eno v registru s indexem 0dh.

       Tento registr umo₧≥uje snadnou implementaci
       vertikßlnφho scrolovßnφ. Zm∞na tohoto registru se
       projevuje na zaΦßtku zp∞tnΘho chodu paprsku. Registr
       by tedy m∞l b²t nastaven b∞hem aktivnφho
       zobrazovacφho intervalu.

  Bity   Popis
  ----   ---------------------------------------------------
  0-7    V²znamn∞jÜφch osm bit∙ adresy poΦßtku zobrazovßnφ.

Start Adddress Low Register                       Port: 3?5h
PoΦßteΦnφ adresa - ni₧Üφ byte                    Index:  0dh
============================================================
Popis: Tento registr obsahuje osm mΘn∞ v²znamn²ch bit∙
       adresy (z pohledu CRTC), na kterΘ je prvnφ
       zobrazovan² znak (v textov²ch re₧imech) nebo prvnφ
       zobrazovan² pixel (v grafick²ch re₧imech). Osm
       v²znamn∞jÜφch bit∙ je ulo₧eno v registru s indexem
       0ch.

       Tento registr umo₧≥uje snadnou implementaci
       vertikßlnφho scrolovßnφ. Zm∞na tohoto registru se
       projevuje na zaΦßtku zp∞tnΘho chodu paprsku. Registr
       by tedy m∞l b²t nastaven b∞hem aktivnφho
       zobrazovacφho intervalu.

  Bity   Popis
  ----   ---------------------------------------------------
  0-7    Osm mΘn∞ v²znamn²ch bit∙ adresy poΦßtku zobrazovßnφ.

Cursor Location High Register                     Port: 3?5h
Pozice kurzoru - vyÜÜφ byte                      Index:  0eh
============================================================
Popis: Tento registr obsahuje osm v²znamn∞jÜφch bit∙
       16bitovΘ adresy CRTC, na kterΘ je umφst∞n kurzor.
       Zb²vajφcφch osm mΘn∞ v²znamn²ch bit∙ je ulo₧eno v
       nßsledujcφm registru (index 0fh).

  Bity   Popis
  ----   ---------------------------------------------------
  0-7    Osm v²znamn∞jÜφch bit∙ adresy pozice kurzoru.

Cursor Location Low Register                      Port: 3?5h
Pozice kurzoru - ni₧Üφ byte                      Index:  0fh
============================================================
Popis: Tento registr uchovßvß osm mΘn∞ v²znamn²ch bit∙
       adresy CRTC, na kterΘ je umφst∞n kurzor. Osm
       v²znamn∞jÜφch bit∙ je ulo₧eno v registru p°edchozφm
       (index 0eh).

  Bity   Popis
  ----   ---------------------------------------------------
  0-7    Osm mΘn∞ v²znamn²ch bit∙ adresy pozice kurzoru.

Vertical Retrace Start Register                   Port: 3?5h
ZaΦßtek vertikßlnφho zp∞tnΘho chodu              Index:  10h
============================================================
Popis: Tento registr obsahuje osm mΘn∞ v²znamn²ch bit∙
       hodnoty, kterß p°i shod∞ s internφm vertikßlnφm
       ΦφtaΦem vyvolß zp∞tn² chod paprsku. ╚φtaΦ nab²vß
       hodnot od 0 do celkovΘho poΦtu vertikßlnφch °ßdek.
       Devat² a desßt² bit tohoto registru jsou ulo₧eny v
       registru p°eteΦenφ (index 07h).

  Bity   Popis
  ----   ---------------------------------------------------
  0-7    8 mΘn∞ v²znamn²ch bit∙ hodnoty ΦφtaΦe vyvolßvajφcφ
         zp∞tn² chod paprsku.

Light Pen High Register                           Port: 3?5h
Pozice sv∞telnΘho pera - vyÜÜφ byte
Pouze EGA, pouze Φtenφ                           Index:  10h
============================================================
Popis: Pokud je sv∞telnΘ pero p°ilo₧eno k obrazovce, vracφ
       tento registr osm vφce v²znamn²ch bit∙ adresy, kterß
       odpovφdß pozici sv∞telnΘho pera.

       Tuto funkci podporuje pouze EGA. VGA sv∞telnΘ pero
       nepodporuje.

  Bity   Popis
  ----   ---------------------------------------------------
  0-7    Osm v²znamn∞jÜφch bit∙ adresy sv∞telnΘho pera.

Vertical Retrace End Register                     Port: 3?5h
Konec vertikßlnφho zp∞tnΘho chodu                Index:  11h
============================================================
Popis: Tento registr obsahuje Φty°i mΘn∞ v²znamnΘ bity,
       kterΘ p°i shod∞ s ΦφtaΦem ukonΦφ zp∞tn² chod paprsku.
       Zb²vajφcφ v²znamn∞jÜφ bity jsou shodnΘ s bity
       registru zaΦßtek zp∞tnΘho chodu.

       Tento registr taktΘ₧ obsahuje bity pro mazßnφ a
       povolenφ vertikßlnφho p°eruÜenφ (IRQ 2). Pokud
       pou₧φvßte vertikßlnφ p°eruÜenφ, m∞la by jeho obslu₧nß
       rutina p°ed sv²m skonΦenφm smazat p°eruÜenφ a znovu
       ho povolit. To lze provΘst zapsßnφm nul do bit∙ 4 a 5
       a potΘ zapsßnφm jedniΦky do bitu 4. P°eruÜenφ IRQ 2
       m∙₧e b²t vyvolßno i jin²m za°φzenφm ne₧
       videoadaptΘrem (u AT jsou na n∞m kaskßdov∞ p°ipojena
       p°eruÜenφ 8 a₧ 15). Pokud bylo p°eruÜenφ vyvolßno
       adaptΘrem je nastaven bit 7 vstupnφho stavovΘho
       registru 0 (port 3c2h).

  Bity   Popis
  ----   ---------------------------------------------------
  0-3    4 mΘn∞ v²znamnΘ bity ΦφtaΦe pro ukonΦenφ zp∞tnΘho
         chodu paprsku.

    4    Smazßnφ vertikßlnφho p°eruÜenφ
               Nastavenφ tohoto bitu na 0 sma₧e p°edeÜlou
         aktivaci vertikßlnφho p°eruÜenφ.

    5    Povolenφ vertikßlnφho p°eruÜenφ
               Zapsßnφ nuly do tohoto bitu povol² generovßnφ
         vertikßlnφho p°eruÜenφ p°i ka₧dΘm vyvolßnφ
         vertikßlnφho zp∞tnΘho chodu paprsku.

    6    Nastav 5 obnovovacφch cykl∙ - pouze VGA
               Tento registr urΦuje poΦet pam∞¥ov²ch
         obnovovacφch cykl∙ b∞hem zobrazovßnφ jednΘ °ßdky.
         Normßln∞ je tento bit nastaven na 0 a jsou
         generovßny t°i signßly pro osv∞₧enφ pam∞ti. Pokud
         je bit nastaven na jedna, je generovßno p∞t
         osv∞₧enφ RAM, co₧ dovoluje p°ipojit monitor s
         °ßdkovou frekvencφ 15.75 kHz.

    7    Ochrana R0-R7 - pouze VGA
               Registry CRTC s indexy 0 - 7 mohou b²t
         chrßn∞ny proti p°epsßnφ nastavenφm tohoto bitu na
         jedna. Registry 0-7 obsahujφ d∙le₧itΘ informace o
         Φasovßnφ adaptΘru a tak by m∞ly b²t tφtmto zp∙sobem
         chrßn∞ny p°ed ne₧ßdoucφm p°epsßnφm.

Light Pen Low Register                            Port: 3?5h
Pozice sv∞telnΘho pera - ni₧Üφ byte
Pouze EGA, pouze Φtenφ                           Index:  11h
============================================================
Popis: Pokud je sv∞telnΘ pero p°ilo₧eno k obrazovce, vracφ
       tento registr osm mΘn∞ v²znamn²ch bit∙ adresy, kterß
       odpovφdß pozici sv∞telnΘho pera.

       Tuto funkci podporuje pouze EGA. VGA sv∞telnΘ pero
       nepodporuje.

  Bity   Popis
  ----   ---------------------------------------------------
  0-7    Osm mΘn∞ v²znamn²ch bit∙ adresy sv∞telnΘho pera.

Vertical Display Enable Register                  Port: 3?5h
Vertikßlnφ poΦet zobrazovan²ch °ßdek             Index:  12h
============================================================
Popis: Tento registr obsahuje osm mΘn∞ v²znamn²ch bit∙
       celkovΘho poΦtu zobrazovan²ch °ßdek. ╪ßdky jsou
       Φφslovßny od 0, tudφ₧ registr obsahuje o jedniΦku
       menÜφ Φφslo, ne₧ je poΦet zobrazovan²ch °ßdek. Bity 8
       a 9 jsou obsa₧eny v registru p°eteΦenφ (index 07h).

  Bity   Popis
  ----   ---------------------------------------------------
  0-7    Osm mΘn∞ v²znamn²ch bit∙ poΦtu zobrazovan²ch °ßdek
         mφnus jedna.

Offset Register                                   Port: 3?5h
Offset                                           Index:  13h
============================================================
Popis: Tento registr obsahuje velikost videopam∞ti
       spot°ebovanΘ na jednu zobrazovacφ °ßdku. Tato
       velikost nemusφ odpovφdat skuteΦnΘ velikosti
       zobrazovanΘ °ßdky. Pokud je v∞tÜφ, m∙₧e toho b²t
       v²hodn∞ u₧ito p°i horizontßlnφm scrolovßnφ obrazovky.
       DΘlka °ßdky je udßvßna ve dvojicφch, Φtve°icφch nebo
       osmicφch byte (platnΘ nastavenφ lze zjistit v
       registru sequenecru ovlßdajφcφm re₧im ΦasovaΦe (index
       01h).

  Bity   Popis
  ----   ---------------------------------------------------
  0-7    Logickß dΘlka jednΘ °ßdky (d∞lenß 2, 4 nebo 8).

Underline Location Register                       Port: 3?5h
Pozice podtr₧enφ                                 Index:  14h
============================================================
Popis: Tento registr nastavuje pozici podtr₧enφ ve znakovΘm
       boxu. Pozice se poΦφtß od nuly od shora znakovΘho
       boxu.

  Bity   Popis
  ----   ---------------------------------------------------
  0-4    Pozice podtr₧enφ ve znakovΘm boxu.

    5    Adresa po 4 taktech - pouze VGA
               Nastavenφ tohoto bitu na jedna vyd∞lφ
         frekvenci, kterß zv∞tÜuje ΦφtaΦ adresy pam∞ti,
         Φty°ikrßt. Adresa bude m∞n∞na a₧ po ka₧dΘm ΦtvrtΘm
         taktu.

    6    Pam∞¥ov² m≤d dvojslov - pouze VGA
               Nastavenφm tohoto bitu na jedna si vynutφte
         pou₧φvanφ dvojslovovΘho adresovßnφ. P°ed pou₧itφm
         tΘto mo₧nosti musφte nastavit bit 6 registru
         ovlßdßnφ re₧imu (index 17h) na nula.

    7    Nepou₧ito

Start Vertical Blanking Register                  Port: 3?5h
ZaΦßtek vertikßlnφho zatemn∞nφ                   Index:  15h
============================================================
Popis: Tento registr obsahuje osm mΘn∞ v²znamn²ch bit∙, po
       jejich₧ dosa₧enφ ΦφteΦem bude generovßn zaΦßtek
       vertikßlnφho zatemn∞nφ, tj. zaΦne se vykreslovat
       spodnφ Φßst rßmeΦku. 9. bit tohoto registru je ulo₧en
       v registru p°eteΦenφ (index 07h) a 10. bit (pro VGA)
       v registru poΦet °ßdek na znak (index 09h).

  Bity   Popis
  ----   ---------------------------------------------------
  0-7    8 mΘn∞ v²znamn²ch bit∙ hodnoty ΦφtaΦe, p°i kterΘ
         zaΦne vertikßlnφ zatemn∞nφ.

End Vertical Blanking                             Port: 3?5h
Konec vertikßlnφho zatemn∞nφ                     Index:  16h
============================================================
Popis: Tento registr obsahuje 5 (VGA 8) mΘn∞ v²znamn²ch bit∙
       hodnoty, p°i jejφ₧ shod∞ s internφm vertikßlnφm
       ΦφtaΦem p°estane b²t generovßno vertikßlnφ zatemn∞nφ,
       tj. skonΦφ vykreslovßnbφ hornφ Φßsti rßmeΦku.
       V²znamn∞jÜφ bity jsou shodnΘ s bity v registru pro
       zaΦßtek vertikßlnφho zatemn∞nφ.

  Bity   Popis
  ----   ---------------------------------------------------
  0-4    Pouze EGA
               5 mΘn∞ v²znamn²ch bit∙ hodnoty ΦφtaΦe, p°i
         kterΘ se ukonΦφ vertikßlnφ zatemn∞nφ.

  0-7    Pouze VGA
               8 mΘn∞ v²znamn²ch bit∙ hodnoty ΦφtaΦe, p°i
         kterΘ se ukonΦφ vertikßlnφ zatemn∞nφ.

Mode Control Register                             Port: 3?5h
Ovlßdßnφ re₧imu                                  Index:  17h
============================================================
Popis: Tento registr umo₧≥uje ovlßdat zp∙sob mapovßnφ
       videopam∞ti. Je obdobou registru pam∞¥ovΘho re₧imu
       sequenceru a re₧imu grafickΘho kontroleru.

  Bity   Popis
  ----   ---------------------------------------------------
    0    Podpora kompatibilnφch re₧im∙
               Nastavenφ tohoto bitu na 0 vytvo°φ dv∞
         oblasti pam∞ti, jednu pro sudΘ a druhou pro lichΘ
         °ßdky. Oblasti zaΦφnajφ v₧dy na offsetu, kter² je
         nßseobkem 8K. Dosa₧eno je toho zßm∞nou bitu 13
         adresy pam∞ti za poslednφ bit Φφsla °ßdku. Toto
         nastavenφ umo₧≥uje emulaci zobrazovacφch re₧im∙
         kompatibilnφch s CGA.

     1   V²b∞r adresy podle bitu 1 ΦφtaΦe °ßdek
               Funkce tohoto bitu je podobnß funkci
         p°edchozφho bitu. Pokud je bit nastaven na 0,
         adresnφ bit 14 je nahrozovßn bitem 1 Φφsla °ßdku.

     2   Zdvojenφ vertikßlnφho ΦφtaΦe °ßdek
               Pokud je tento bit nastaven na nula, je
         vertikßlnφ ΦφtaΦ zv∞tÜen o jedna po ka₧dΘm
         horizontßlφm zp∞tnΘm chodu paprsku. Pokud je bit
         nastaven na 1, je ΦφtaΦ zv∞tÜen po ka₧dΘm druhΘm
         zp∞tnΘm horizontßlnφm chodu. Umo₧≥uje to
         zdvojnßsobit vertikßlnφ rozliÜenφ.

     3   Adresa po 2 taktech
               Nastavenφ tohoto bitu na nula si vynutφ
         zv∞tÜenφ adresnφho ΦφtaΦe po ka₧dΘm impulsu
         ΦasovaΦe. Pokud je bit nastaven na jedna, je adresa
         zv∞tÜena po ka₧dΘm druhΘm taktu.

     4   Ovlßdßnφ v²stup∙ - pouze EGA
               Normßln∞ je tento bit nastaven na nula. Jeho
         nasatvenφ na jedna uvede v²stupy adaptΘru do stavu
         s vysokou impendancφ.

     5   Zarovnßvßnφ adresy
               Tento bit je pou₧φvßn ve spojenφ s bitem 6
         tohoto registru. V bajtovΘm m≤du nemß v²znam. Ve
         word m≤du nastavenφ tohoto bitu na jedna umφstφ
         adresnφ bit 15 na mφsto adresnφho bitu 0. Pokud je
         tento bit 0, nastavφ se na adresnφ bit 0 adresnφ
         bit 13. Bit 13 je pou₧φvßn pro spojovßnφ bitov²ch
         map na kartßch EGA s 64K pam∞ti.

     6   V²b∞r m≤du - byte/word
               Byte m≤d je zvolen nastavenφm tohoto bitu na
         1 a word m≤d nastavenφm tohoto bitu na 0. Word m≤d
         umo₧≥uje st°φdßnφ dvou bitov²ch rovin (nap°φklad
         znaky a atributy v textov²ch re₧imech). V tomto
         m≤du jsou adresnφ bity posunuty doleva a bit nula
         je nahrazen bitem 13 nebo 15. VGA podoruje takΘ
         double-word m≤d, kdy je adresa posunuta o dva bity
         doleva a bity 0 a 1 jsou nahrazeny bity 12 a 13.

     7   Hardwarov² reset
               Nastavenφ tohoto bitu na jedna povoluje
         generovßnφ signßl∙ pro vertikßlnφ a horizontßlnφ
         zp∞tnΘ chody paprsku (normßlnφ nastavenφ).
         Nastavenφ na nula p°eruÜφ generovßnφ t∞chto
         signßl∙.

Line Compare Register                             Port: 3?5h
Porovnßnφ °ßdky                                  Index:  18h
============================================================
Popis: Tento registr obsahuje osm mΘn∞ v²znamn²ch bit∙
       hodnoty °ßdkovΘho ΦφtaΦe. Po dosa₧enφ tΘto hodnoty
       ΦφtaΦem dojde k vynulovßnφ ΦφtaΦe. Pou₧itφ tΘto
       techniky m∙₧e Φßst obrazovky eliminovat ze
       scrolovßnφ. Tato technika m∙₧e b²t pou₧ita takΘ
       k implementovßnφ dvou oken. Prvnφ Φßst obrazovky
       zobrazuje data od adresy urΦenΘ registrem poΦßteΦnφ
       adresa (index 0ch a 0dh). DruhΘ okno zobrazuje v₧dy
       data od adresy 0. V 200 °ßdkov²ch m≤dech by zde m∞la
       b²t ulo₧ena pouze sudß hodnota. 9. bit tohoto
       registru je ulo₧en v registru p°eteΦenφ (index 07h)
       a 10. bit v registru poΦet °ßdek na znak (index 09h).

  Bity   Popis
  ----   ---------------------------------------------------
  0-7    Osm mΘn∞ v²znamn²ch bit∙ hodnoty ΦφtaΦe, p°i kterΘ
         se tento °ßdkov² ΦφtaΦ vynuluje.


              Registry grafickΘho kontroleru

     Grafick² kontroler mß na starosti komunikaci
videopam∞ti s procesorem. Jeho registry tedy ovlßdajφ zp∙sob
prßce CPU s videopam∞tφ. N∞kterΘ z registr∙ grafickΘho
kontroleru umo₧≥ujφ emulaci CGA re₧im∙.
     Funkce registr∙ nßm m∙₧e b²t z°ejm∞jÜφ pokud si
osv∞₧φme operace provßd∞nΘ kontrolerem p°i Φtenφ a zßpisu do
pam∞ti. Ke ka₧dΘ bitovΘ rovin∞ p°φsluÜφ jeden 8bitov²
latch-registr. V grafick²ch m≤dech nep°istupuje do pam∞ti
p°φmo procesor, ale aritmeticko-logickß jednotka (ALU)
adaptΘru. P°i Φtenφ z videopam∞ti, jsou data naΦtena do tzv.
latch-registr∙. Obvykle je z celΘ osmice bod∙ m∞n∞n pouze
jeden. Latch-registry tedy slou₧φ k uchovßnφ hodnoty
nemodifikovan²ch bit∙. P°i zßpisu do pam∞ti, jsou p°φsluÜn∞
(v zßvislosti na zapisovacφm re₧imu) upraveny naposled ΦtenΘ
latch-registry a jejich obsah je ulo₧en do videopam∞ti.
Latch-registry by m∞ly b²t naΦteny p°ed modifikacφ pam∞ti
pomocφ instrukce MOV (nebo n∞jakΘ jejφ obdoby).
     Grafick² kontroler umo₧≥uje volit z n∞kolika zp∙sob∙
kombinovßnφ dat v latch-registrech s daty z procesoru. Data
mohou b²t s latch-registry kombinovßna pomocφ logick²ch
operacφ AND, OR, XOR, mohou b²t rotovßna. BitovΘ pozice
mohou b²t maskovßny atd.

Graphics 1 and 2 Address Register                 Port: 3ceh
Adresov² registr grafickΘho kontroleru
============================================================
Popis: Obsah tohoto registru urΦuje, kter² registr bude
       mapovßn na port 3cfh. Index pot°ebnΘho registru se
       zapisuje na port 3ceh.
       /-----------------------------------------------------\
       |Index | Registr                                      |
       |------+----------------------------------------------|
       |  0   | Set/Reset                                    |
       |  1   | Povolenφ Set/Reset (Enable Set/Reset)        |
       |  2   | Porovnßnφ barev (Color Compare)              |
       |  3   | Kombinace dat (Data Rotate)                  |
       |  4   | Mapa pro Φtenφ (Read Map Select)             |
       |  5   | Re₧im grafickΘho kontroleru (Mode Register)  |
       |  6   | R∙znΘ (Miscellaneous)                        |
       |  7   | Eliminace barev (Color Don't Care)           |
       |  8   | Bit mask                                     |
       \-----------------------------------------------------/

Set/Reset Register                                Port: 3cfh
Set/Reset registr                                Index:    0
============================================================
Popis: Tento registr urΦuje bitovΘ roviny, do kter²ch bude
       v₧dy p°i modifikovßnφ videopam∞ti zapsßna nula nebo
       jedniΦka. Nastavenφ bitovΘ roviny do SET re₧imu
       zp∙sobφ, ₧e p°i ka₧dΘm zßpisu do videopam∞ti bude do
       maskovan²ch bit∙ (registrem Bit mask) zapsßna
       jedniΦka. RESET re₧im zp∙sobφ zapsßnφ nul do
       maskovan²ch bit∙.

       Tento registr je platn² pouze v zapisovacφch re₧imech
       0 a 3. Pokud ho chcete pou₧φvat v zapisovacφm re₧imu
       0, musφte nejprve p°φsluÜn²m bitem registru Povolenφ
       Set/Reset povolit permanentnφ zapisovßnφ do bitovΘ
       roviny.

  Bity   Popis
  ----   ---------------------------------------------------
    0     = 0  RESET m≤d pro bitovou rovinu 0
          = 1  SET m≤d pro bitovou rovinu 0

    1     = 0  RESET m≤d pro bitovou rovinu 1
          = 1  SET m≤d pro bitovou rovinu 1

    2     = 0  RESET m≤d pro bitovou rovinu 2
          = 1  SET m≤d pro bitovou rovinu 2

    3     = 0  RESET m≤d pro bitovou rovinu 3
          = 1  SET m≤d pro bitovou rovinu 3

Enable Set/Reset Register                         Port: 3cfh
Povolenφ Set/Reset                               Index:    1
============================================================
Popis: Tento registr slou₧φ k aktivovßnφ slu₧by Set/Reset
       pro jednotlivΘ bitovΘ roviny. Nastavenφ bitu tohoto
       registru na jedna aktivuje pou₧φvßnφ nastavenφ
       Set/Reset registru pro urΦitou bitovouu rovinu.

  Bity   Popis
  ----   ---------------------------------------------------
    0    Povolenφ Set/Reset registru pro bitovou rovinu 0

    1    Povolenφ Set/Reset registru pro bitovou rovinu 1

    2    Povolenφ Set/Reset registru pro bitovou rovinu 2

    3    Povolenφ Set/Reset registru pro bitovou rovinu 3

Color Compare Register                            Port: 3cfh
Porovnßnφ barev                                  Index:    2
============================================================
Popis: Tento registr slou₧φ k uchovßnφ barvy, kterß je
       porovnßvßna s obsahem videopam∞ti. Po p°eΦtenφ pam∞ti
       budou bity, kterΘ odpovφdajφ pixel∙m s barvou shodnou
       s barvou v tomto registru, nastaveny ma jedna. Bity
       neshodujφcφch se pixel∙ budou nastaveny na nula.
       Tento registr pracuje pouze ve Φtecφm m≤du 1.
       Jakßkoliv z bitov²ch rovin m∙₧e b²t z porovnßvßnφ
       vy°azena pomocφ registru pro eliminaci barev (index
       7).

  Bity   Popis
  ----   ---------------------------------------------------
  0-3    Porovnßvanß barva

  4-7    Nepou₧ito

Data Rotate Register                              Port: 3cfh
Kombinace dat                                    Index:    3
============================================================
Popis: Tento registr ovlßdß dv∞ funkce. Tou prvnφ je mo₧nost
       data zapisovanß procesorem do videopam∞ti zrotovat o
       n (0-7) bod∙. Druhou funkcφ je mo₧nost zm∞ny zp∙sobu
       kombinovßnφ dat z procesoru s daty v
       latch-registrech.

       Pokud je nastaveno pou₧itφ rotace a logickΘ operace
       najednou, nejprve se provede rotace. Tento registr
       nepracuje v zapisovacφm m≤du 1 (pracuje pouze s daty
       zapisovan²mi procesorem).

       Rotace ovlivnφ zapisovanß data pouze v zapisovacφm
       m≤du 0.

  Bity   Popis
  ----   ---------------------------------------------------
  0-2    PoΦet rotacφ vpravo

  3-4    Zp∙sob zßpisu
          00b  ZapiÜ data beze zm∞ny
          01b  AND dat s latch-registry
          10b  OR dat s latch-registry
          11b  XOR dat s latch-registry

  5-7    Nepou₧ito

Read Map Select Register                          Port: 3cfh
Mapa pro Φtenφ                                   Index:    4
============================================================
Popis: Tento registr vybφrß bitovou rovinu, jejφ₧ obsah bude
       vrßcen p°i Φtenφ z videopam∞ti v Φtecφm m≤du 0.

  Bity   Popis
  ----   ---------------------------------------------------
  0-1    ╚φslo bitovΘ roviny urΦenΘ ke Φtenφ

  2-7    Nepou₧ito

Mode Register                                     Port: 3cfh
Re₧im grafickΘho kontroleru                      Index:    5
============================================================
Popis: Tento registr urΦuje, kter² ze t°φ (Φty° - VGA)
       zapisovacφch a dvou Φtecφch re₧im∙ bude pou₧it. Spolu
       s registrem s indexem 6 (Miscellaneous) obsahujφ
       n∞kterß nastavenφ t²kajφcφ se organizace pam∞ti.

  Bity   Popis
  ----   ---------------------------------------------------
  0-1    Zapisovacφ m≤d
          00b = Zapisovacφ m≤d 0. Map mask registr
                (sequencer, index 2) urΦuje bitovΘ mapy pro
                zßpis. Bit mask registr (index 8) slou₧φ k
                povolenφ nebo zakßzßnφ modifikace pixel∙ v
                rßmci byte. Data jsou zapisovßna do ka₧dΘ
                odmaskovanΘ bitovΘ roviny (pokud ovÜem nenφ
                pro p°φsluÜnou rovinu aktivovßn Set/Reset
                m≤d). P°ed uklßdßnφm do pam∞ti se musφ
                naΦφst jejφ obsah do latch-registr∙.
          01b = Zapisovacφ m≤d 1. Do pam∞ti je zapsßn pouze
                obsah latch-registr∙. Pou₧φvß se p°i
                p°esouvßnφ ·sek∙ videopam∞ti.
          10b = Zapisovacφ m≤d 2. Bit mask registr urΦuje
                modifikovanΘ bity. Do videopam∞ti se
                zapisuje Φφslo po₧adovanΘ barvy. P°ed
                zßpisem je nutno naΦφst latch-registry.
          11b = Pouze VGA: Na po₧adovanou adresu je ulo₧en
                v²sledek logickΘ operace AND mezi Bit mask
                registrem (index 8) a hodnotou obsa₧enou
                v Set/Reset registru. Pro tento re₧im nemusφ
                b²t aktivnφ Enable Set/Reset registr (index
                1).

    2    Test grafickΘho kontroleru - pouze EGA
               Nastavenφ tohoto bitu na jedna uvede v²stupy
         kontroleru do stavu s vysokou impendancφ.

    3    ╚tecφ m≤d
          0 = Do CPU je naΦten jeden byte zvolenΘ bitovΘ
              mapy
          1 = Do CPU je naΦten v²sledek porovnßnφ barev
              pixel∙ na po₧adovanΘ adrese s registrem pro
              porovnßnφ barev (index 2).

    4    SudΘ/lichΘ
               Pokud je tento bit nastaven na jedna jsou
         lichΘ adresy ulo₧eny v lich²ch bitov²ch rovinßch a
         sudΘ adresy v sud²ch bitov²ch rovinßch. Toto
         nasatvenφ se t²kß pouze grafickΘho kontroleru.
         Vyu₧φvß se zejmΘna v textov²ch re₧imech a v
         re₧imech zachovßvajφcφch komaptibilitu s CGA. Pokud
         je tento bit nastaven na jedna, je obvykle i
         sequencer nastaven do pat°iΦnΘho re₧imu (bit 2
         pam∞¥ovΘho re₧imu, index 4).

    5    Posuvn² registr
               Kdy₧ je tento bit nastaven na jedna, jsou
         sudΘ bity z obrazovΘ pam∞ti zapisovßny do sud²ch
         bitov²ch map a stejn∞ tak jsou lichΘ bity
         zapisovßny do lich²ch bitov²ch map. Tak jsou dva za
         sebou v pam∞ti zapsanΘ bity rozd∞leny do dvou
         posuvn²ch registr∙. To umo₧≥uje emulaci barev CGA
         re₧im∙.

    6    256barevn² re₧im - pouze VGA
               Tento bit mß podobnou funkci jako bit 5. Data
         jsou do posuvn²ch registr∙ p°esouvßna tak, ₧e jeden
         byte je p°eveden na matici 2 x 4 bity. To je
         pot°ebnΘ pro atributov² kontroler, jeho₧ vÜechny
         funkce nefungujφ v 256barevnΘm re₧imu.

Miscellaneous Register                            Port: 3cfh
R∙znΘ                                            Index:    6
============================================================
Popis: Tento registr ovlßdß n∞kterΘ funkce souvisejφcφ s
       organizacφ pam∞ti grafickΘho kontroleru.

  Bity   Popis
  ----   ---------------------------------------------------
    0    Grafick² re₧im
               Tento bit je nastaven na jedna v grafick²ch
         re₧imech a na nula v textov²ch.

    1    Z°et∞zenφ lich²ch map do sud²ch
               Tento bit je pou₧φvßn ve spojenφ s bitem 4
         registru re₧imu grafickΘho kontroleru (index 4).
         LichΘ adresy jsou zapsßny do lich²ch bitov²ch map a
         sudΘ adresy jsou zapsßny do sud²ch bitov²ch map.
         P°i nastavenφ tohoto bitu na jedna je nejmΘn∞
         v²znamn² bit adresy zam∞n∞n s bitem 13 nebo 15
         (podle poΦtu instalovanΘ pam∞ti). To zp∙sobφ, ₧e v
         pam∞ti jsou nejprve bitovΘ roviny 0 a 2 a a₧ za
         nimi nßsledujφ roviny 1 a 3.

  2-3    Mapovßnφ pam∞ti
               Tyto bity urΦujφ umφst∞nφ a velikost
         adresnφho procesoru, do kterΘho se bude mapovat
         videopam∞¥.
         /------------------------------\
         | Hodnota | PoΦßtek | Velikost |
         |---------+---------+----------|
         |   00b   |  a0000h |    128K  |
         |   01b   |  a0000h |     64K  |
         |   10b   |  b0000h |     32K  |
         |   11b   |  b8000h |     32K  |
         \------------------------------/

  4-7    Nepou₧ito

Color Don't Care Register                         Port: 3cfh
Eliminace barev                                  Index:    7
============================================================
Popis: Tento registr umo₧≥uje vynechat n∞kterΘ bitovΘ roviny
       z porovnßvßnφ barev, pokud je aktivnφ Φtecφ m≤d 0.
       Pokud je tento registr nastaven na 0fh, jsou na shodu
       barvy porovnßvßny vÜechny bitovΘ roviny. Pokud
       registr obsahuje nulu, porovnßvßnφ vyhovuje jakßkoliv
       barva.

  Bity   Popis
  ----   ---------------------------------------------------
    0     = 0  Kontroluje se zda obsah bitovΘ roviny 0
               odpovφdß bitu 0 registru porovnßnφ barev
               (index 2)

    1     = 0  Kontroluje se zda obsah bitovΘ roviny 1
               odpovφdß bitu 1 registru porovnßnφ barev
               (index 2)

    2     = 0  Kontroluje se zda obsah bitovΘ roviny 2
               odpovφdß bitu 2 registru porovnßnφ barev
               (index 2)

    3     = 0  Kontroluje se zda obsah bitovΘ roviny 3
               odpovφdß bitu 3 registru porovnßnφ barev
               (index 2)

  4-7    Nepou₧ito

Bit Mask Register                                 Port: 3cfh
Bit mask registr                                 Index:    8
============================================================
Popis: Tento registr omezuje p°φstup k jednotliv²m bit∙m
       jednΘ adresy videopam∞ti. Nastavenφ odpovφdajφcφch
       bit∙ na jedna povolφ modifikaci p°φsluÜn²ch bit∙
       videopam∞ti. Pro zßpis jednoho bodu je tedy pouze
       jeden bit tohoto registru nastaven na jedna. P°ed
       zßpisem do pam∞ti je pot°eba naΦφst obsah latch
       registr∙.

       Zapisovacφ m≤d 1 tφmto registrem nenφ ovlivn∞n
       (narozdφl od Map mask registru).

  Bity   Popis
  ----   ---------------------------------------------------
  0-7    Nastavenφ bitu na jedna povolφ modifikace
         p°φsluÜnΘho bitu na adrese videopam∞ti.


             Registry atributovΘho kontroleru

     Registry atributovΘho kontroleru ovlßdajφ p°i°azenφ
barev jednotliv²m Φφsl∙m barev, rßmeΦku a pozadφ. Obvykle do
atributovΘho kontroleru p°ichßzejφ 4 bity. Ty jsou pou₧ity
jako odkaz do palety, ze kterΘ je vybrßna p°φsluÜnß barva k
zobrazenφ. Na VGA je hodnota tohoto paletovΘho registru po
·pravßch p°edßna DAC.
     Registry atributovΘho kontroleru jsou p°φstupnΘ p°es
port 3c0h. Tento port mß jednu zvlßÜtnost. Slou₧φ zßrove≥
jako adresov² i datov² port registr∙ atributovΘho
kontroleru. Po ka₧dΘm zßpisu se jeho funkce m∞nφ. Nem∙₧eme
tedy mφt jistotu, zda je na portu prßv∞ datov² Φi adresov²
registr (zm∞nu mohla provΘst nap°φklad n∞jakß rutina b∞₧φcφ
pod p°eruÜenφm). Na port 3c0h se namapuje adresov² registr
atributovΘho kontroleru po ka₧dΘm Φtenφ vstupnφho stavovΘho
registru 1 (port 3?ah). ╚tenφ tohoto registru mß jeÜt∞ jednu
v²hodu. Jeho bit 0 indukuje probφhßnφ zp∞tnΘho chodu paprsku
a atributovΘ registry by m∞ly b²t m∞n∞ny jen b∞hem tΘto
doby. Pokud tedy chceme m∞nit n∞kter² z registr∙
atributovΘho kontroleru, m∞li bychom  nejprve poΦkat na
zp∞tn² chod paprsku a potΘ m∞nit registr. Nap°φklad takto:

       mov     DX, 3dah       ;Φφslo portu vstupnφho stavovΘho registru 1 (3bah pro MDA)
 WaitRetrace:
       in      AL, DX         ;Φtenφ obsahu registru
       and     AL, 1          ;odmaskovßnφ bitu 0
       jnz     WaitRetrace    ;Φekßnφ na zp∞tn² chod elektronovΘho paprsku
       mov     DX, 3c0h       ;Φφslo portu pro registry atributovΘho kontroleru
       mov     AL, Index      ;index po₧adovanΘho registru pro zm∞nu
       out     DX, AL         ;nastavenφ adresovΘho registru
       mov     AL, Hodnota    ;novß hodnota do registru
       out     DX, AL         ;zßpis do datovΘho registru

Na kartßch VGA lze nastavenφ atributov²ch registr∙ Φφst z
portu 3c1h.

Attribute Address Register                        Port: 3c0h
Adresov² registr atributovΘho kontroleru
============================================================
Popis: Do tohoto registru se zapisuje index registru, kter²
       bude p°φstupn² pro zßpis na portu 3c0h a pro Φtenφ na
       portu 3c1h (druhß mo₧nost je pouze na VGA). Nastavenφ
       portu 3c0h do adresovΘho m≤du se provede p°eΦtenφm
       vstupnφho stavovΘho registru 1 (port 3bah nebo 3dah).

       Na kartßch EGA musφ b²t bit 5 p°ed zm∞nou paletov²ch
       regitr∙ nastaven na nula a po zm∞n∞ nastaven zp∞t na
       jedna.
       /----------------------------------------------------\
       |Index| Registr                                      |
       |-----+----------------------------------------------|
       |0-0fh| Registry palety                              |
       | 10h | Re₧im atributovΘho kontroleru (Mode Control) |
       | 11h | Barva rßmeΦku (Overscan Color)               |
       | 12h | Povolenφ bitov²ch rovin (Color Plane Enable) |
       | 13h | Horizontßlnφ posun (Horizontal Pel Panning)  |
       | 14h | V²b∞r barvy (Color Select)                   |
       \----------------------------------------------------/

  Bity   Popis
  ----   ---------------------------------------------------
  0-4    Index registru atributovΘho kontroleru

    5    Povolenφ p°φstupu k palet∞ - pouze EGA
               Nastavenφ tohoto bitu na jedna povolφ p°φstup
         karty EGA k paletov²m registr∙m.

  6-7    Nepou₧ito

Palette Registers                                 Port: 3c0h
Registry palety                                  Index: 0-0fh
============================================================
Popis: Tyto registry obsahujφ informace o zobrazovanΘ barv∞
       p°φsluÜejφcφ Φφslu barvy. Ka₧dß barva (Φφslo 0-15) mß
       sv∙j paletov² registr. Ten obsahuje informace, kterΘ
       urΦujφ barvu skuteΦn∞ zobrazovanΘ barvy. Na kart∞ EGA
       slou₧φ k urΦenφ skuteΦn∞ zobrazovanΘ barvy Üest bit∙.
       Po dvojicφch nßle₧φ jednotliv²m zßkladnφm barvßm.
       Mohou tak vytvß°et a₧ 64 r∙zn²ch odstφn∙ (najednou
       zobraziteln²ch je jich vÜak po°ßd jen 16). Na
       kartßch VGA je hodnota paletovΘho registru pou₧ita
       jako odkaz do 18bitovΘho DAC registru, kter² obsahuje
       jeden z 262144 mo₧n²ch odstφn∙ pou₧it²ch pro
       zobrazenφ danΘ barvy. Pomocφ registru pro v²b∞r barvy
       (index 14h) mohou b²t informace jdoucφ z paletov²ch
       registr∙ do DAC upraveny.

EGA:
  Bity   Popis
  ----   ---------------------------------------------------
    0    Modrß

    1    Zelenß

    2    ╚ervenß

    3    Intenzivnφ modrß

    4    Intenzivnφ zelenß

    5    Intenzivnφ Φervenß

  6-7    Nepou₧ito

VGA:
  Bity   Popis
  ----   ---------------------------------------------------
  0-5    Odkaz do jednoho z DAC registr∙

  6-7    Nepou₧ito

Mode Control Register                             Port: 3c0h
Re₧im atributovΘho kontroleru                    Index:  10h
============================================================
Popis: Tento registr uchovßvß informace o pracovnφm re₧imu
       atributovΘho kontroleru.

  Bity   Popis
  ----   ---------------------------------------------------
    0    Textov²/grafick² re₧im
          = 0  textov² re₧im
          = 1  grafick² re₧im

    1    Monochromatick²/barevn² displej
          = 0  urΦuje pou₧itφ barevnΘho adaptΘru
          = 1  urΦuje pou₧itφ monochromatickΘho adaptΘru

    2    Podpora ΦßrovΘ grafiky
               Tento bit je pou₧φvßn v zobrazovacφm m≤du 7,
         pokud jsou pou₧φvßny 9 bod∙ ÜirokΘ znaky. Pokud je
         tento bit nastaven na jedna, je u znak∙ s ASCII
         k≤dem c0h-dfh kopφrovßn osm² bit do devßtΘho, tj.
         Φßrovß grafika z∙stane nep°eruÜenß. Pokud je
         nastaven na nula, je devßt² pod znaku vykreslen
         barvou pozadφ.

    3    Volba intenzita/blikßnφ
          = 0  7. bit atributu bude pova₧ovßn za intenzitu
               barvy pozadφ
          = 1  7. bit atributu bude urΦovat blikßnφ znaku

    4    Nepou₧ito

    5    Vypnutφ horizontßlnφho posuvu - pouze VGA
          = 0  Horizontßlnφ posun je aplikovßn na cel² obraz
          = 1  Horizontßlnφ posun je aplikovßn pouze na
               hornφ Φßst obrazu. ╚ßst obrazu nßsledujφcφ za
               °ßdkou obsa₧enou v registru pro porovnßnφ
               °ßdky (CRTC index 18h) nebude posouvßna.

    6    èφ°ka posuvu - pouze VGA
               Nastavenφ tohoto bitu na jedna, zp∙sobφ ₧e
         ka₧dΘmu bodu p°φsluÜφ 8 bit∙ (re₧im 13h, 256
         barev). V ostatnφch re₧imech by m∞l b²t tento bit
         nastaven na nula.

    7    P°emapovßnφ bit∙ 4 a 5 - pouze VGA
          = 0  Obsahy peltov²ch registr∙ jsou do DAC
               posφlßny p°φmo, bez modifikacφ.
          = 1  Bity 4 a 5 paletovΘho regsitru jsou nahrazeny
               bity 0 a 1 registru v²b∞r barvy (index 14h) a
               teprve potΘ poslßny do DAC.

Overscan Color Register                           Port: 3c0h
Barva rßmeΦku                                    Index:  11h
============================================================
Popis: Tento registr urΦuje barvu rßmeΦku pomocφ intenzit
       slo₧ek zßkladnφch barev (EGA) nebo pomocφ odkazu do
       DAC registru (VGA).

       Barva rßmeΦku b²vß obvykle Φernß (registr obsahuje
       0). V n∞kter²ch m≤dech s vyÜÜφm rozliÜenφm nelze
       pou₧φt jinΘ barvy rßmeΦku ne₧ ΦernΘ.

EGA:
  Bity   Popis
  ----   ---------------------------------------------------
    0    Modrß

    1    Zelenß

    2    ╚ervenß

    3    Intenzivnφ modrß

    4    Intenzivnφ zelenß

    5    Intenzivnφ Φervenß

  6-7    Nepou₧ito

VGA:
  Bity   Popis
  ----   ---------------------------------------------------
  0-5    Odkaz do jednoho z DAC registr∙

  6-7    Nepou₧ito

Color Plane Enable Register                       Port: 3c0h
Povolenφ bitov²ch rovin                          Index:  12h
============================================================
Popis: Tento registr urΦuje bitovΘ roviny, ze kter²ch bude
       brßna informace o Φφsle barvy bodu pro odkaz do
       registr∙ palety. Obvykle tento registr obsahuje
       hodnotu 0fh, tj. barva je zφskßvßna ze vÜech Φty°
       bitov²ch rovin.

  Bity   Popis
  ----   ---------------------------------------------------
    0     = 1  Barva je brßna i z bitovΘ roviny 0

    1     = 1  Barva je brßna i z bitovΘ roviny 1

    2     = 1  Barva je brßna i z bitovΘ roviny 2

    3     = 1  Barva je brßna i z bitovΘ roviny 3

  4-5    Volba diagnostick²ch bit∙
               Tyto bity urΦujφ, kterΘ bity atributovΘho
         registru se objevφ v bitech 4 a 5 vstupnφho
         stavovΘho registru 1.
                  /-----------------\
                  | Hodnota | Bity  |
                  |---------+-------|
                  |   00b   | 2 a 0 |
                  |   01b   | 5 a 4 |
                  |   10b   | 3 a 1 |
                  |   11b   | 7 a 6 |
                  \-----------------/

  6-7    Nepou₧ito

Horizontal PEL Panning Register                   Port: 3c0h
Horizontßlnφ posun                               Index:  13h
============================================================
Popis: Tento registr urΦuje o kolik bod∙ bude obraz posunut
       doleva. P°i pou₧itφ virtußlnφ obrazovky (viditelnß
       Φßst obrazovky je pouze Φßstφ v∞tÜφ virtußlnφ
       obrazovky) jej lze s v²hodou uplatnit pro dosa₧enφ
       horizontßlnφho scrolovßnφ.

  Bity   Popis
  ----   ---------------------------------------------------
  0-3    PoΦet bod∙, o kterΘ se obraz posune doleva.
         /-----------------------------------------\
         |        |      Posunutφ pro r∙znΘ        |
         |Obsah   |      zobrazovacφ re₧imy        |
         |registru|--------------------------------|
         |        | 7, 0-3 VGA | 13h VGA | Ostatnφ |
         |--------+------------+---------+---------|
         |  000b  |     1      |    0    |    0    |
         |  001b  |     2      |  nelze  |    1    |
         |  010b  |     3      |    1    |    2    |
         |  011b  |     4      |  nelze  |    3    |
         |  100b  |     5      |    2    |    4    |
         |  101b  |     6      |  nelze  |    5    |
         |  110b  |     7      |    3    |    6    |
         |  111b  |     8      |  nelze  |    7    |
         | 1000b  |     0      |  nelze  |  nelze  |
         \-----------------------------------------/

Color Select Register - pouze VGA                 Port: 3c0h
V²b∞r barvy                                      Index:  14h
============================================================
Popis: Tento registr umo₧≥uje rozÜφ°it barvu v paletovΘm
       registru na 8 bit∙. Obsahuje dva bity, kterΘ se
       p°idajφ k 6bitovΘ hodnot∞ paletovΘho registru.
       Dosßhneme tak mo₧nosti v²b∞ru ze vÜech 256 DAC
       registr∙. Obsahuje takΘ dva bity, kterΘ mohou
       nahradit bity 4 a 5 paletovΘho registru.

       Tento registr neovliv≥uje zobrazovacφ m≤d 13h.

  Bity   Popis
  ----   ---------------------------------------------------
  0-1    Tyto bity nahrazujφ bity 4 a 5 paletov²ch registr∙,
         pokud je bit 7 re₧imu atributovΘho kontroleru
         nastaven na jedna.

  2-3    Tyto bity se p°idßvajφ k hodnot∞ jdoucφ z
         paletovΘho registru do DAC.

  4-7    Nepou₧ito


   Registry Φφslicov∞-anologovΘho p°evodnφku - pouze VGA

     DAC p°evßdφ binßrnφ barevnou informaci na analogov²
signßl pro monitor. Pou₧φvß k tomu DAC registry, kterΘ jsou
funkΦn∞ obdobnΘ s paletov²mi registry. Ka₧d² DAC registr
obsahuje 18bitovou hodnotu, kterΘ se sklßdß z Üesti bit∙ pro
ka₧dou zßkladnφ barvu (Φervenß, modrß, zelenß).
Osmnßctibitovß hodnota nßm dßvß mo₧nost v²b∞ru jednΘ z
262144 mo₧n²ch barev v ka₧dΘm z 256 DAC registr∙. Standardn∞
prvnφch 16 DAC registr∙ obsahuje barvy shodnΘ s barvami na
EGA. DalÜφch 16 DAC registr∙ obsahuje r∙znΘ stupn∞ Üedi.
Zbyl²ch 224 registr∙ obsahuje r∙znΘ barvy. Pouze v re₧imu
13h m∙₧e b²t zobrazeno vÜech 256 barev najednou. B∞₧n∞ m∙₧e
b²t najednou zobrazeno 16 barev. Pomocφ atributovΘho
kontroleru vÜak m∙₧eme zm∞nit Üestnßctici pou₧φvan²ch DAC
registr∙ a dosßhnout tak zajφmav²ch efekt∙ okam₧itou zm∞nou
vÜech barev.

DAC State Register                                Port: 3c7h
Stavov² registr DAC                   pouze VGA, pouze Φtenφ
============================================================
Popis: Tento registr umo₧≥uje zjistit aktußlnφ stav datovΘho
       registru DAC, kter² m∙₧e b²t ve dvou re₧imech
       - zapisovacφm nebo Φtecφm. B∞hem Φtecφho re₧imu m∙₧e
       b²t obsah tohoto registru pouze Φten a b∞hem
       zapisovacφho re₧imu naopak nesmφ b²t Φten obsah
       tohoto registru.

  Bity   Popis
  ----   ---------------------------------------------------
  0-1     = 00b  Zapisovacφ re₧im
          = 11b  ╚tecφ re₧im

  2-7    Rezervovßno

PEL Address Read Mode                             Port: 3c7h
Adresov² registr pro Φtecφ re₧im      pouze VGA, pouze zßpis
============================================================
Popis: Tento registr urΦuje Φφslo DAC registru, kter² bude
       Φten. Po nastavenφ tohoto registru m∙₧ete z datovΘho
       registru p°eΦφst po sob∞ t°i 6bitovΘ hodnoty
       (intenzitu ΦervenΘ slo₧ky, intenzitu zelenΘ slo₧ky a
       intenzitu modrΘ slo₧ky). Po p°eΦtenφ t∞chto t°φ
       hodnot se obsah adresovΘho registru automatick² zv²Üφ
       a bude ukazovat na nßsledujφcφ DAC registr.

       Zßpis na datov² port b∞hem Φtenφ m∙₧e poÜkodit
       informace ulo₧enΘ v DAC palet∞.

       Dokumentace karty VGA uvßdφ, ₧e jednotlivΘ p°φstupy k
       datovΘmu registru by m∞ly nßsledovat nejd°φve po 240
       nanosekundßch.

  Bity   Popis
  ----   ---------------------------------------------------
  0-7    ╚φslo DAC registru pro Φtenφ

PEL Address Write Mode                            Port: 3c8h
Adresov² registr pro zßpis            pouze VGA, pouze zßpis
============================================================
Popis: Tento registr urΦuje Φφslo DAC registru, do kterΘho
       bude zapisovßno. Po nastavenφ tohoto registru na
       odpovφdajφcφ hodnotu, m∙₧ete do datovΘho registru
       zapsat po sob∞ t°i 6bitovΘ hodnoty odpovφdajφcφ
       postupn∞ intenzit∞ ΦervenΘ slo₧ky, intenzit∞ zelenΘ
       slo₧ky a koneΦn∞ intenzit∞ modrΘ slo₧ky barvy. Po
       zßpisu t°φ hodnot na datov² registr se automaticky
       zv²Üφ obsah adresovΘho registru pro zßpis.

       ╚tenφ z datovΘho portu b∞hem zßpisu m∙₧e poÜkodit
       informace ulo₧enΘ v DAC tabulce.

       Dokumentace karty VGA uvßdφ, ₧e jednotlivΘ p°φstupy k
       datovΘmu registru by m∞ly nßsledovat nejd°φve po 240
       nanosekundßch.

  Bity   Popis
  ----   ---------------------------------------------------
  0-7    ╚φslo DAC registru pro zßpis

PEL Data Register                                 Port: 3c9h
Datov² registr                                     pouze VGA
============================================================
Popis: Tento registr umo₧≥uje zapisovat a Φφst nastavenφ
       jednotliv²ch DAC registr∙. P°i ka₧dΘm p°φstupu k DAC
       registru by se m∞ly pou₧φt t°i Φtenφ/zßpisy pro
       vÜechny t°i zßkladnφ slo₧ky - posob∞ Φervenß, zelenß
       a modrß. Ka₧dΘ slo₧ce p°φsluÜφ 6 bit∙.

       Dokumentace karty VGA uvßdφ, ₧e jednotlivΘ p°φstupy k
       datovΘmu registru by m∞ly nßsledovat nejd°φve po 240
       nanosekundßch.

  Bity   Popis
  ----   ---------------------------------------------------
  0-5    Hodnota urΦenß ke Φtenφ/zßpisu

  6-7    Rezervovßno

PEL Mask                                          Port: 3c6h
Maska pro p°φstup k DAC registr∙m                  pouze VGA
============================================================
Popis: S hodnotou jdoucφ do DAC a obsahem tohoto registru se
       provßdφ binßrnφ AND a teprve v²sledek tΘto operace
       sm∞°uje do DAC. Standardn∞ je hodnota registru 0ffh,
       tj. na p°φchozφch datech se nic nezm∞nφ. Ni₧Üφ
       hodnota sni₧uje poΦet pou₧iteln²ch barev.

  Bity   Popis
  ----   ---------------------------------------------------
  0-7    Hodnota masky

[PokraΦovßnφ] | [Obsah]


Copyright © Ji°φ Kosek