Úvod k BIOSu, Přehled sys. přerušení, Přehled služeb BIOSu, Hardwarová přerušení, Konfigurace BIOSu, Uprade BIOSu

Služby Biosu

Služby video-INT 10h

Toto přerušení je používáno k obsluze požadavků VIDEO. Obsahuje řadu různých funkcí, její volání se provádí přiřazením čísla funkce do registru AH.Tyto služby jsou prováděny jak ROM Biosem tak i Biosem na video kartě.

Nastav VIDEO mód

vstup AH=00h
AL=Číslo video módu

Provede nastavení VIDEO módu karty, přičem vymaže obrazovku a nastaví příslušné proměnné BIOSu. Tabulka módu:

AL-mód Typ módu Formát obrazu Počet barev Adaptér Bázová adresa Použitelný monitor
00h Textový 40*25 znaků 16/8 (šedá) CGA,EGA B800h Kompozitní
01h Textový 40*25 znaků 16/8 CGA,EGA B800h Kompozitní,CGA,EGA
02h Textový 80*25 znaků 16/8 (šedá) CGA,EGA B800h CGA
03h Textový 80*25 znaků 16/8 CGA,EGA B800h Kompozitní,CGA,EGA
04h Grafický 320*200 bodů 4 CGA,EGA B800h Kompozitní,CGA,EGA
05h Grafický 320*200 bodů 4(šedá) CGA,EGA B800h Kompozitní
06h Grafický 640*200 bodů 2 CGA,EGA B800h Kompozitní,CGA,EGA
07h Textový 80*25 znaků černá, bílá, jas MGA,EGA B800h MGA
0Dh Grafický 320*200 bodů 16 EGA A000h CGA
0Eh Grafický 640*200 bodů 16 EGA A000h CGA
0Fh Grafický 640*350 bodů černá, bílá, jas EGA A800h MGA,EGA
10h Grafický 640*350 bodů 4 nebo 16 EGA A800h EGA
13h Grafický 320*200 bodů 16 ze 64 EGA A000h EGA
14h Grafický 640*200 bodů černá, bílá, jas EGA A000h EGA
15h Grafický 640*350 bodů černá, bílá, jas EGA A000h EGA
16h Grafický 640*350 bodů 16 ze 64 EGA A000h EGA
18h Grafický 640*480 bodů 16 z 262144 VGA A000h VGA
19h Grafický 320*200 bodů 256 z 262144 VGA A000h VGA

Nastav velikost kurzoru

vstup AH=01h
CH=Bity 0-4-číslo počáteční linky
Bity 5,6-zobrazení kurzoru
CL=Koncová linka

Nataví velikost kurzoru v textovém módu. Jako parametr vstupují 2 hodnoty. V registru CH v bitech 0-4 je číslo linky řádku na které kurzor začíná. Bity 5,6 určují chování kurzoru. Při hodnotě 00b kurzor nebliká, 01b kurzor se nezobrazí, 10b kurzor bliká pomalu a při hodnotě 11b kurzor bliká rychle. Druhý parametr v CH pak určuje číslo koncové linky.

Nastav pozici kurzoru

vstup AH=02h
BH=číslo videostránky
DH=Řádek
DL=Sloupec

Funkce provede nastavení pozice kurzoru na obrazovce v textovém módu. Do registru BH se ukládá specifikující číslo videostránky, v ní se provede nastavení pozice kurzoru. Registr DH určuje řádek nastavované pozice, pokud je nastaven na 25 kurzor se nezobrazí. Registr DL určuje sloupec nastavované pozice.

Čti pozici kurzoru

vstup AH=03h
BH=Číslo videostránky
výstup DH=Řádek pozice
DL=Sloupec pozice
CH=Počáteční linka
CL=Koncová linka

Tato funkce zjistí pozici a velikost kurzoru na obrazovce. Vstupem přitom je číslo video stránky v BH. Na výstupu z funkce je v registru DH řádek a registru DL sloupec pozice kurzoru. A v registru CH počáteční a v registru CL koncová linka kurzoru uvnitř znaku.

Čti stav světelného pera

vstup AH=04h
výstup AH=Aktivita pera
DH=Řádek aktivace
DL=Sloupec aktivace
BX=X-ová souřadnice bodu
CX=Y-ová souřadnice bodu

Výsledkem této funkce je určená pozice a stav světelného pera. Je bez vstupních parametrů, ale zato má pět výstupních parametrů. A to v registru AH vystupuje Aktivace pera,0-není aktivováno a ostatní parametry nemají význam,1-je aktivováno. V registru DH se vrací řádek a v registru DL sloupec aktivace světelného pera, tyto registry jsou použity v textových reimech zobrazení, jinak vracejí nulu. Je li pero aktivní v grafickém módu, pak v registrech BX, CX se vrací XY-ová souřadnice bodu aktivace pera.

Vyber aktivní stránku

vstup AH=05h
AL=Číslo stránky

Aktivuje se videostránka, její číslo je v registru AL.

Posuň okno na horu

vstup AH=06h
AL=Velikost posuvu
CH=Řádek levého horního okraje okna
CL=Sloupec levého horního okraje okna
DH=Řádek pravého dolního okraje okna
DL=Sloupec pravého dolního okraje okna
BH=Atribut

Provede se posuv okna na horu o počet řádků v registru AL, jeho X,Y-ová souřadnice levého horního rohu posouvaného okna je v registrech CH,CL a X,Y-ová souřadnice pravého dolního rohu posouvaného okna je v registrech DH,DL. V registru BX pak je VIDEO atribut pro použité prázdné řádky. Při posuvu se horní řádky okna ztrácejí a dolní jsou nahrazovány prázdnými řádky.

Posuň okno dolů

vstup AH=07h
AL=Velikost posuvu
CH=Řádek levého horního okraje okna
CL=Sloupec levého horního okraje okna
DH=Řádek pravého dolního okraje okna
DL=Sloupec pravého dolního okraje okna
BH=Atribut

Tato funkce funguje naprosto stejně jako předelá funkce, ale posuv se provádí směrem dolů o zadaný počet řádků V registru AL. Přičem se při posuvu dolní řádky okna ztrácejí a horní jsou nahrazovány prázdnými řádky.

Čti znak a jeho atribut

vstup AH=08h
BH=Videostránka
výstup AL=Kód znaku
AH=Atribut znaku

Výstupem funkce je kód znaku v registru AL a atribut znaku v registru AH ze specifikované videostránky v registru BH na aktuální pozici kurzoru.

Zapi znak a jeho atribut

vstup AH=09h
AL=Kód znaku
BL=Atribut znaku
BH=Videostránka
CX=Počet opakování

Funkce provede výtisk znaku s kódem ve registru AL a s atributem v registru BL na aktuální pozici kurzoru, ve videostránce uvedené v registru BH. Znak se opakovaně vytiskne vedle sebe v počtu udaném registrem CX.

Zapi znak

vstup AH=0Ah
AL=Kód znaku
BH=Videostránka
CX=Počet opakování

Zapíe se znak s kódem v registru AL na aktuální pozici kurzoru ve videostránce udané registrem BH. Přičem ponechává původní atribut této pozice. V registru CX pak je počet opakování tisku znaku vedle sebe.

Nastav paletu barev nebo pozadí

vstup AH=0Bh

Funkce provede nastavení barvy pozadí nebo palety barev. Je ale použitelná jen u adaptéru CGA. Potřebuje dva vstupní parametry v registrech BH, BL, jejich hodnoty jsou uvedeny v tabulce.

BHMódBL
00hGrafika 320*200D4-Jas zobrazených bodů
  D3-Jas pozadí
  D2-D0-RGB sloky barvy pozdí
Textový módD4-Jas barvy pozadí
  D3-Jas pozadí
  D2-D1-RGB sloky barvy pozadí
01hGrafika 320*200Výběr palety barev-0-pozadí,červená, zelená, hnědá
  1-pozadí,CYAN,MAGENTA,bílá

Zapi bod grafiky

vstup AH=0Ch
AL=Atribut bodu
BH=Videostránka
CX=Vodorovná souřadnice
DX=Svislá souřadnice

Zapíe grafický atribut bodu. Jejím vstupem je číslo videostránky v registru BH, XY-ová souřadnice bodu v registrech CX,DX a hodnota atributu v registru AL. Jeli u něho nastaven bit D7, pak je prováděn XOR původních hodnot s poadovanými hodnotami.

Čti hodnotu budu grafiky

vstup AH=0Dh
BH=Videostránka
CX=Vodorovná souřadnice
DX=Svislá souřadnice
výstup AL=Hodnota atributu

Pokud této funkci se vloí do registrů BH číslo videostránky a do CX,DX souřadnice X,Y bodu, v registru AL vrátí grafické atributy specifikovaného bodu.

Zapi znak do aktivní videostránky s posuvem kurzoru

vstup AH=0Eh
AL=Kód znaku
BL=Barva tisknutého znaku

Funkce zapíe do aktuální stránky na aktuální pozici kurzoru znak s kódem v AL a barvou titěného znaku v BL. Kurzor se pak posune o jednu pozici. Pokud je na konci řádky přejde na dalí, na konci obrazovky posune obrazovky o řádek nahoru a zapisuje na začátek spodní řádky. Znaky s kódy 7,8,10,12 nejsou zobrazovány ale přímo prováděny.

Čti video mód

vstup AH=0Fh
vystup AL=Číslo módu
AH=Počet znaku na řádce
BH=Videostránka

Tato funkce má na výstupu tři parametry, a to v AL číslo aktuálního video módu, v AH počet znaků na řádce v textovém reimu, v BH je číslo aktuální videostránky.

Nastav paletu EGA

vstup AH=10h
AL=Číslo podsluby

Tato funkce není implementovaná v ROM Biosu ale v rozíření grafického adaptéru EGA. Tato funkce obsahuje čtyři subfunkce, k jejich specifikaci se používá registr AL. V tabulce je uveden význam těchto podfunkcí.
ALVýznam
00hNastav hodnotu jednoho z registrů atributů palety barev. Vstupní parametry:
  BL-číslo registru atributů, do něho se má zapsat hodnota atributů barev (nejnií čtyři bity,ostatní bity nevyuity).
  BH-zapisovaná hodnota ve tvaru
  D7-D6-nevyuity
  D5-D0-rgb,RGB atributy nastavované barvy
01hNastavení barvy registru pozadí. Používá se registr BH obsahující zapisovanou hodnotu ve tvaru jako u subfunkce 00h
02h Nastavení vech registrů palety barev a registrů pozadí. Vstupním parametrem je ukazatel v registru ES:DX na adresu sedmnácti bajtů v paměti obsahující atributy jednotlivých barev z palety a barvy pozadí ve tvaru jako u subfunkce 00h.
03hPovolení vyího jasu nebo blikání znaků.Vstupní parametr je v BL.
  BL-0-povolení vyí intenzity jasu pozadí (barva pozadí můe být zvolena jako jedna ze estnácti)
  1-povolení blikání znaků (barva pozadí můe být volena jako jedna z osmi,zobrazované znaky mohou být blikající).

Doplňkové funkce

vstup AH=12h
BL=Specifikace subfunkce

Tato funkce je implementovaná ve video Biosu grafického adaptéru EGA. Jeli v registru BL hodnota 10h, pak v registru BH vrací mód činnosti (0-barevný,1-monochromatický), v registru BL pak vrací kód velikosti paměti VIDEORAM (0-64 kB,1-128 kB,3-256 kB), v registru CH vrací hodnotu z parametrického konektoru a v registru CL nastavení přepínačů adaptéru. Pokud je při vstupu v registru BL hodnota 20h, pak tato funkce provede výběr alternativní tiskové rutiny pro obsluhu PRINT SCREEN.

Zapi řetězec

vstup AH=13h
ES:BP=Ukazatel na řetězec CX=Délka řetězce
DH=Řádek počáteční pozice tisku
DL=Sloupec počáteční pozice tisku
BH=Videostránka
AL=Způsob zápisu

Další funkce která je obsažené pouze v grafickém adaptéru EGA. Zapíše řetězec znaků na něj ukazují registry ES:BP, jen je dlouhý CX, od pozice na obrazovce danou registry DH,DL, do videostránky v BH. Registr AL pak určuje jakým způsobem má být zapsán. Přičem bity D7-D2 tohoto registru musí být nulové.Pokud D1=0, pak je řetězec složen ze znaků a tributy jsou dány obsahem registru BL. Jinak při D1=1 je řetězec sloen s posloupnosti znak,atribut,znak,atribut atd. Bit D0=1 kurzor se přesune nakonec titěného řetězce, D0=0 pak kurzor zůstane na původní pozici.

Hardwarová konfigurace-INT 11h

V registru AX vrací hodnotu informující o konfiguraci hardwaru systému. Tato hodnota je shodná s hodnotou v datové oblasti Biosu.

Velikost použitelné paměti-INT 10h

V registru AX vrací počet kilobajtů základní paměti počítače.