Mód 13h

Technology
12 hours ago
8
4
2
Avatar
Author
Albert Flores

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, 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

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). +more 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. +more 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 (nazývanými „mapy“ popř. +more „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 [0xA000:y*320+x]. 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.

É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. 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. +more 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. Z ostatních platforem v průběhu času ty 8bitové přestávaly PC konkurovat výkonnostně. 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. +more 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

[url=https://web. archive. +moreorg/web/20140702154140/http://www. brackeen. com/vga/index. html]David Brackeen's 256-Color VGA Programming in C[/url] * [url=http://atrevida. comprenica. com/atrtut07. html]Introduction to VGA . Mode 13[/url] * [url=http://asm. inightmare. org/index. php. tutorial=1&location=11]Assembler for Dummies: Mode 13[/url].

Kategorie:Hardware IBM

5 min read
Share this post:
Like it 8

Leave a Comment

Please, enter your name.
Please, provide a valid email address.
Please, enter your comment.
Enjoy this post? Join Cesko.wiki
Don’t forget to share it
Top