Mód 13h

Defaultní paleta v režimu 13h. První řádek (16 barev) odpovídá odstínům 16barevných grafických režimů.

Jako mód 13h (též režim 13h, anglicky mode 13h) se označuje grafický režim karet Video Graphics Array (VGA) na osobních počítačích IBM PC kompatibilní. Standard VGA přišel v roce 1987 a mód 13h (13 hexadecimálně) byl jedním z nich. Název je od hodnoty parametru registru AX, kterým se (softwarovým přerušením 10h) nastavoval.

Vlastnosti

  • šířka: 320 pixelů
  • výška: 200 pixelů
  • poměr stran: 16:10
  • počet barev: 256

Paleta

Obrázek ve 256 barvách
Obrázek v „true color“

Mód 13h byl vůbec prvním grafickým režimem na PC, který měl 256 barev (barevných atributů). Každý z těchto atributů mohl mít přiřazen svůj odstín (složky RGB, dohromady nazývané paleta). Složky byly 6bitové (hodnoty 0 až 63 pro každou z R,G,B), bylo tedy možno vybírat z 218 = 262 144 odstínů. Nastavením nových odstínů pro daný barevný atribut se automaticky změnily všechny příslušné pixely na obrazovce (což samo o sobě mohlo být využito pro zdánlivé animace, ztmavování/zesvětlování, barevné přechody apod.). Podobně jako u jiných režimů, změna palety byla tak rychlá, že šla provést v intervalu návratu paprsku (při vykreslování obrazu na CRT monitoru).

Pro 256barevné režimy vznikly i některé standardy grafických formátů: GIF, PCX, PNG, TGA.

Mód 13h dokázal (ovšem ne příliš kvalitně) simulovat high colorové režimy – buď 6bitové (tj. 64stupňový) grayscale nebo 3:3:2 (pseudo)high color. První způsob dokázal grafiku s počtem barev nad 256 namapovat do pole 64 ze svých 256 barevných atributů, s odstíny odpovídající stupním šedi (přičemž ostatní atributy mohly být využity na jakékoli jiné barvy) – ovšem za cenu ztráty barevné informace.

Druhý subrežim (3:3:2 high color) u každého barevného atributu (respektive jeho bitové reprezentace) rozdělil následujícím způsobem: z jeho 8 bitů připadly nejvyšší 3 bity na 8 intenzit modré složky, prostřední 3 bity na 8 intenzit zelené složky, a nejnižší 2 bity na 4 intenzity červené složky, z nichž všech se skládala výsledná barva. Vzhledem k tomu, že lidské oko je schopno rozlišit mnohem více odstínů (desítky až stovky tisíc), nepůsobil (alespoň subjektivně) tento mód dokonale a nenašel velkého využití.

Linear Frame Buffering

Možná ještě větší změnou u módu 13h bylo představení LFB (linear frame buffer) – videopaměťového buferu s lineárním přístupem. Videopaměť dosavadních grafických režimů byla přístupná netriviálním přepínáním mezi čtyřmi paměťovými buffery[zdroj?] (nazývanými „mapy“ popř. „banky“); v případě módu 13h bylo všech 320×200, tj. 64 000 pixelů/bajtů (1 pixel = 1 bajt) přístupno adresováním přes 16bitový ofset (segment začínal na 0A000h). Adresa libovolného pixelu na souřadnicích (x, y) byl tedy . To umožňovalo práci s videopamětí coby s lineárním dvojrozměrným polem s výhodami, které to přinášelo (snadno šlo aplikovat různé filtry, konvoluce, rozostření, detekci hran, atd.). Zejména v jazyce symbolických adres šlo dosáhnout díky tomuto zjednodušení značného zrychlení. Tehdejší PC (i80386, 486SX/DX, Pentium, …) zvládaly v tomto režimu zobrazovat 3D grafiku v přijatelných rychlostech a fps.[zdroj?]

Éra módu 13h

Mód 13h se stal velice populárním grafickým režimem pro PC a MS-DOS pro grafické 16bitové a později 32bitové aplikace a hry a to po následujících dekádu.[zdroj?] Vzhledem k nižšímu rozlišení nebyl vhodný pro aplikace (s výjimkou grafických).

Teprve v druhé polovině 90. let začaly převládat 256barevné SVGA režimy a barevná rozlišení high color a true color, stejně jako MS-DOS ustupoval Microsoft Windows 95. Speciální kategorií programů, které si oblíbily tento režim, byly počítačové hrybitmapovou grafikou, ve „folkloru“ pak amatérské hry, fanouškovské magazíny a demoscéna.[zdroj?] Z ostatních platforem v průběhu času ty 8bitové přestávaly PC konkurovat výkonnostně.[zdroj?] Naopak, Amiga měla již v době uvedením VGA módu 13h své grafické režimy s 12bitovou barevnou hloubkou (4096 barev, de facto 4:4:4 high color).

Další generace grafických karet se standardem VESA zajistila zpětnou kompatibilitu s režimy VGA; stejně tak zůstala u lineárního videopaměťového bufferingu. „Neoficiálně“ šlo vlastnosti režimu 13h mírně upravit (tzv. tweakovat) a získat tak řadu dalších odvozených rozlišení – populární z nich bylo rozlišení 256×256/256 barev ve kterém v 16bitovém indexu do videopaměti jeho vyšší bajt přímo představoval souřadnici y a spodní bajt x.

Odkazy

Související články

  • Video Graphics Array
  • VESA

Externí odkazy

Média použitá na této stránce

24 bit.png
Autor: Thegreenj, Licence: CC BY-SA 3.0
Illustration in truecolor
VGA palette with black borders.svg
Default VGA palette (256 colors) serving for 4 different needs in a single colour table[1]
  • The first 16 colours are encoded exactly as with all 16 colour modes (0Dh/0Eh/10h/12h) which in turn use the same 4 bit encoding as the colour attributes of all text modes (*1)
  • The next 16 deliver an even lit 4 bit black (10h) to white (1Fh) grayscale ( binary coded gray scale)
  • 216 (3x8x3x3) colours: an evenly spaced, HSV colour cylinder (*2) based on a
    • 24 hue RGB wheel, starting at blue, with 8 subdivisions per R,G and B, resulting in 24 (3x8) discrete "hues". Each of those is present in
    • 3 level of saturation (colourfulness)
    • 3 level of intensity(value of brightness)
  • 8 color (= 256 - (16 + 16 + 216)) definitions are guaranteed free for user applications ( user definable colours)
8 bit.png
Autor: Thegreenj, Licence: CC BY-SA 3.0
Illustration at 8 bits