generated by the CPU when the -ERROR pin is asserted by the coprocessor
AT's and clones usually wire the coprocessor to use IRQ13, but not all get it right
SeeAlso: INT 09“hardware”,INT 75
AH = 00h AL = mode (see below)
Return: AL = video mode flag (Phoenix BIOS) 20h mode > 7 30h modes 0-5 and 7 3Fh mode 6 AL = CRT controller mode byte (Phoenix 386 BIOS v1.10)
IBM standard modes do not clear the screen if the high bit of AL is set (EGA or higher only)
the Tseng ET4000 chipset is used by the Orchid Prodesigner II, Diamond SpeedSTAR VGA, Groundhog Graphics Shadow VGA, Boca Super X VGA
the installation check for Ahead adapters is the signature “AHEAD” at C000h:0025h
the installation check for ATI adapters is the signature “761295520” at C000h:0031h; the byte at C000h:0043h indicates the chipset revision:
the two bytes at C000h:0040h indicate the adapter type
the byte at C000h:0042h contains feature flags
the byte at C000h:0044h contains additional feature flags if chipset byte > 30h
the installation check for Genoa video adapters is the signature 77h XXh 99h 66h at C000h:0037h, where XXh is
the installation check for Paradise adapters is the signature “VGA=” at C000h:007Dh
SeeAlso: AX=0070h,AX=007Eh,AX=10F0h,AX=6F05h,AH=FFh“GO32”,INT 5F/AH=00h
SeeAlso: INT 62/AX=0001h
Values for video mode:
text / grph | text resol | pixel box | pixel resol | colors | display pages | screen addr | system | |
---|---|---|---|---|---|---|---|---|
00h | T | 40×25 | 8×8 | 16gray | 8 | B800 | CGA,PCjr | |
T | 40×25 | 8×14 | 16gray | 8 | B800 | EGA | ||
T | 40×25 | 8×16 | 16 | 8 | B800 | MCGA | ||
T | 40×25 | 9×16 | 16 | 8 | B800 | VGA | ||
01h | T | 40×25 | 8×8 | 16 | 8 | B800 | CGA,PCjr | |
T | 40×25 | 8×14 | 16 | 8 | B800 | EGA | ||
T | 40×25 | 8×16 | 16 | 8 | B800 | MCGA | ||
T | 40×25 | 9×16 | 16 | 8 | B800 | VGA | ||
02h | T | 80×25 | 8×8 | 16gray | 4 | B800 | CGA,PCjr | |
T | 80×25 | 8×14 | 16gray | 4 | B800 | EGA | ||
T | 80×25 | 8×16 | 16 | 4 | B800 | MCGA | ||
T | 80×25 | 9×16 | 16 | 4 | B800 | VGA | ||
03h | T | 80×25 | 8×8 | 16 | 4 | B800 | CGA,PCjr | |
T | 80×25 | 8×14 | 16 | 4 | B800 | EGA | ||
T | 80×25 | 8×16 | 16 | 4 | B800 | MCGA | ||
T | 80×25 | 9×16 | 16 | 4 | B800 | VGA | ||
04h | G | 40×25 | 8×8 | 320×200 | 4 | B800 | CGA,PCjr,EGA,MCGA,VGA | |
05h | G | 40×25 | 8×8 | 320×200 | 4gray | B800 | CGA,PCjr,EGA | |
G | 40×25 | 8×8 | 320×200 | 4 | B800 | MCGA,VGA | ||
06h | G | 80×25 | 8×8 | 640×200 | 2 | B800 | CGA,PCjr,EGA,MCGA,VGA | |
07h | T | 80×25 | 9×14 | mono | var | B000 | MDA,Hercules,EGA | |
T | 80×25 | 9×16 | mono | B000 | VGA | |||
08h | G | 20×25 | 8×8 | 160×200 | 16 | PCjr, Tandy 1000 | ||
T | 132×25 | 8×8 | 16 | B800 | ATI EGA/VGA Wonder [1] | |||
T | 132×25 | 8×8 | mono | B000 | ATI EGA/VGA Wonder [1] | |||
G | 90×43 | 8×8 | 720×352 | mono | B000 | Hercules + MSHERC.COM | ||
09h | G | 40×25 | 8×8 | 320×200 | 16 | PCjr | ||
0Ah | G | 80×25 | 8×8 | 640×200 | 4 | PCjr, Tandy 1000 | ||
0Bh | reserved (used internally by EGA BIOS) | |||||||
G | 640×200 | 16 | Tandy 1000 SL/TL | |||||
0Ch | reserved (used internally by EGA BIOS) | |||||||
0Dh | G | 40×25 | 8×8 | 320×200 | 16 | 8 | A000 | EGA,VGA |
0Eh | G | 80×25 | 8×8 | 640×200 | 16 | 4 | A000 | EGA,VGA |
0Fh | G | 80×25 | 8×14 | 640×350 | mono | 2 | A000 | EGA,VGA |
10h | G | 80×25 | 8×14 | 640×350 | 4 | 2 | A000 | 64k EGA |
G | 640×350 | 16 | A000 | 256k EGA,VGA | ||||
11h | G | 80×30 | 8×16 | 640×480 | mono | A000 | VGA,MCGA,ATI EGA,ATI VIP | |
12h | G | 80×30 | 8×16 | 640×480 | 16/256k | A000 | VGA,ATI VIP | |
G | 80×30 | 8×16 | 640×480 | 16/64 | A000 | ATI EGA Wonder | ||
G | 640×480 | 16 | UltraVision+256K EGA | |||||
13h | G | 40×25 | 8×8 | 320×200 | 256/256k | A000 | VGA,MCGA,ATI VIP | |
14h | T | 132×25 | Nx16 | 16 | XGA, IBM Enhanced VGA [2] | |||
G | 80×25 | 8×8 | 640×200 | Lava Chrome II EGA | ||||
G | 640×400 | 16 | Tecmar VGA/AD | |||||
15h | G | 80×25 | 8×14 | 640×350 | Lava Chrome II EGA | |||
16h | G | 80×25 | 8×14 | 640×350 | Lava Chrome II EGA | |||
G | 800×600 | 16 | Tecmar VGA/AD | |||||
17h | G | 80×34 | 8×14 | 640×480 | Lava Chrome II EGA | |||
T | 132×25 | Tecmar VGA/AD | ||||||
18h | T | 132×44 | 8×8 | mono | Tseng Labs EVA | |||
T | 132×44 | 8×8 | 16/256 | 2 | B000 | Tseng ET4000 chipset | ||
G | 80×34 | 8×14 | 640×480 | Lava Chrome II EGA | ||||
G | 1 | 024×768 | 16 | Tecmar VGA/AD | ||||
19h | T | 132×25 | 8×14 | mono | Tseng Labs EVA | |||
T | 132×25 | 8×14 | 16/256 | 4 | B000 | Tseng ET4000 chipset | ||
1Ah | T | 132×28 | 8×13 | mono | Tseng Labs EVA | |||
T | 132×28 | 8×13 | 16/256 | 4 | B000 | Tseng ET4000 chipset | ||
G | 640×350 | 256 | Tecmar VGA/AD | |||||
1Bh | G | 640×400 | 256 | Tecmar VGA/AD | ||||
1Ch | G | 640×480 | 256 | Tecmar VGA/AD | ||||
1Dh | G | 800×600 | 256 | Tecmar VGA/AD | ||||
20h | G | 240×128 | B000 | HP 95LX | ||||
21h | T | 132×60 | 16 | 2 | B800 | Tseng ET4000 chipset | ||
G | 80×43 | 8×8 | 720×348 | mono | B000 | DESQview 2.x+Hercules [3] | ||
22h | T | 132×44 | 8×8 | Tseng Labs EVA | ||||
T | 132×44 | 8×8 | 16/256 | 2 | B800 | Tseng ET4000 chipset | ||
T | 132×44 | 8×8 | Ahead Systems EGA2001 | |||||
T | 132×44 | 8×8 | 16 | 2 | B800 | Ahead B | ||
T | 132×44 | 16 | Orchid Prodesigner VGA | |||||
T | 132×43 | Allstar Peacock (VGA) | ||||||
G | 80×43 | 8×8 | 720×348 | mono | B800 | DESQview 2.x+Hercules [3] | ||
23h | T | 132×25 | 6×14 | Tseng Labs EVA | ||||
T | 132×25 | 8×14 | 16/256 | 4 | B800 | Tseng ET4000 chipset | ||
T | 132×25 | 8×14 | Ahead Systems EGA2001 | |||||
T | 132×25 | 8×14 | 16 | 4 | B800 | Ahead B | ||
T | 132×25 | 8×8 | 16 | B800 | ATI EGA Wonder,ATI VIP | |||
T | 132×28 | Allstar Peacock (VGA) | ||||||
T | 132×28 | 16 | Orchid Prodesigner VGA | |||||
24h | T | 132×28 | 6×13 | Tseng Labs EVA | ||||
T | 132×28 | 8×13 | 16/256 | 4 | B800 | Tseng ET4000 chipset | ||
T | 132×28 | 8×12 | 16 | 1 | B800 | Ahead B | ||
T | 132×25 | Allstar Peacock (VGA) | ||||||
T | 132×25 | 16 | Orchid Prodesigner VGA | |||||
25h | G | 80×60 | 8×8 | 640×480 | Tseng Labs EVA | |||
G | 80×60 | 8×8 | 640×480 | 16/256 | 1 | A000 | Tseng ET4000 chipset | |
G | 640×480 | 16 | VEGA VGA | |||||
G | 80×60 | 8×8 | 640×480 | 16 | A000 | Orchid Prodesigner VGA | ||
G | 80×60 | 8×8 | 640×480 | 16 | 1 | A000 | Ahead B (same as 26h) | |
G | 640×480 | 16 | NEC GB-1 | |||||
26h | T | 80×60 | 8×8 | Tseng Labs EVA | ||||
T | 80×60 | 8×8 | 16/256 | 2 | B800 | Tseng ET4000 chipset | ||
T | 80×60 | Allstar Peacock (VGA) | ||||||
T | 80×60 | 16 | Orchid ProDesigner VGA | |||||
G | 80×60 | 8×8 | 640×480 | Ahead Systems EGA2001 | ||||
G | 80×60 | 8×8 | 640×480 | 16 | 1 | A000 | Ahead B (same as 25h) | |
27h | T | 132×25 | 8×8 | mono | B000 | ATI EGA Wonder,ATI VIP | ||
G | 720×512 | 16 | VEGA VGA | |||||
G | 720×512 | 16 | Genoa | |||||
28h | T | ???x??? | VEGA VGA | |||||
29h | G | 800×600 | 16 | VEGA VGA | ||||
G | 100×37 | 8×16 | 800×600 | 16 | A000 | Orchid | ||
G | 800×600 | 16 | A000 | STB,Genoa,Sigma | ||||
G | 800×600 | 16 | Allstar Peacock (VGA) | |||||
G | 100×37 | 8×16 | 800×600 | 16/256 | 1 | A000 | Tseng ET3000/4000 chipset | |
G | 800×600 | ??? | EIZO MDB10 | |||||
2Ah | T | 100×40 | Allstar Peacock (VGA) | |||||
T | 100×40 | 8×16 | 16 | Orchid Prodesigner VGA | ||||
T | 100×40 | 8×15 | 16/256 | 4 | B800 | Tseng ET4000 chipset | ||
2Dh | G | 640×350 | 256 | VEGA VGA | ||||
G | 640×350 | 256/256k | A000 | Orchid, Genoa, STB | ||||
G | 80×25 | 8×14 | 640×350 | 256/256k | 1 | A000 | Tseng ET3000/4000 chipset | |
2Eh | G | 640×480 | 256 | VEGA VGA | ||||
G | 80×30 | 8×16 | 640×480 | 256/256k | A000 | Orchid | ||
G | 640×480 | 256/256k | A000 | STB,Genoa,Sigma | ||||
G | 80×30 | 8×16 | 640×480 | 256/256k | 1 | A000 | Tseng ET3000/4000 chipset | |
2Fh | T | 160×50 | 8×8 1 | 280×400 | 16 | 4 | B800 | Ahead B (Wizard/3270) |
G | 720×512 | 256 | VEGA VGA | |||||
G | 720×512 | 256 | Genoa | |||||
G | 80×25 | 8×16 | 640×400 | 256/256k | 1 | A000 | Tseng ET4000 chipset | |
30h | G | 800×600 | 256 | VEGA VGA | ||||
G | 100×37 | 8×16 | 800×600 | 256/256k | A000 | Orchid | ||
G | 800×600 | 256/256k | A000 | STB,Genoa,Sigma | ||||
G | 720×350 | 2 | 3270 PC | |||||
G | 800×600 | 256 | Cardinal | |||||
G | ???x??? | B800 | AT&T 6300 | |||||
G | 100×37 | 8×16 | 800×600 | 256/256k | 1 | A000 | Tseng ET3000/4000 chipset | |
32h | T | 80×34 | 8×10 | 16 | 4 | B800 | Ahead B (Wizard/3270) | |
33h | T | 132×44 | 8×8 | 16 | B800 | ATI EGA Wonder,ATI VIP | ||
T | 80×34 | 8×8 | 16 | 4 | B800 | Ahead B (Wizard/3270) | ||
34h | T | 80×66 | 8×8 | 16 | 4 | B800 | Ahead B (Wizard/3270) | |
36h | G | 960×720 | 16 | VEGA VGA | ||||
G | 960×720 | 16 | STB | |||||
G | 960×720 | 16 | Tseng ET3000 only | |||||
37h | G | 1 | 024×768 | 16 | VEGA VGA | |||
G | 128×48 | 8×16 1 | 024×768 | 16 | A000 | Orchid | ||
G | 1 | 024×768 | 16 | A000 | STB,Genoa,Sigma | |||
G | 1 | 024×768 | 16 | Definicon | ||||
G | 128×48 | 8×16 1 | 024×768 | 16 | 1 | A000 | Tseng ET3000/4000 | |
T | 132×44 | 8×8 | mono | B800 | ATI EGA Wonder,ATI VIP | |||
38h | G | 1 | 024×768 | 256 | STB VGA/EM-16 Plus (1MB) | |||
G | 128×48 | 8×16 1 | 024×768 | 256/256k | 1 | A000 | Tseng ET4000 chipset | |
G | 1 | 024×768 | 256 | Orchid ProDesigner II | ||||
3Dh | G | 1 | 280×1024 | 16 | Definicon | |||
G | 128×64 | 8×16 1 | 280×1024 | 16 | 1 | A000 | Tseng ET4000 BIOS v3.00[6] | |
3Eh | G | 1 | 280×961 | 16 | Definicon | |||
40h | G | 80×25 | 8×16 | 640×400 | 2 | 1 | B800 | AT&T 6300, AT&T VDC600 |
G | 80×25 | 8×16 | 640×400 | 2 | 1 | B800 | Compaq Portable | |
T | 80×43 | VEGA VGA, Tecmar VGA/AD | ||||||
T | 80×43 | Video7 V-RAM VGA | ||||||
T | 80×43 | Tatung VGA | ||||||
T | 100×30 | 16 | MORSE VGA | |||||
41h | G | 640×200 | 16 | 1 | AT&T 6300 | |||
T | 132×25 | VEGA VGA | ||||||
T | 132×25 | Tatung VGA | ||||||
T | 132×25 | Video7 V-RAM VGA | ||||||
T | 100×50 | 16 | MORSE VGA | |||||
42h | G | 80×25 | 8×16 | 640×400 | 16 | AT&T 6300, AT&T VDC600 | ||
T | 132×43 | VEGA VGA | ||||||
T | 132×43 | Tatung VGA | ||||||
T | 132×43 | Video7 V-RAM VGA | ||||||
T | 80×34 | 9×10 | 4 | 4 | B800 | Ahead B (Wizard/3270) | ||
T | 100×60 | 16 | MORSE VGA | |||||
43h | G | 640×200 of 640×400 viewport | AT&T 6300 (unsupported) | |||||
T | 80×60 | VEGA VGA | ||||||
T | 80×60 | Tatung VGA | ||||||
T | 80×60 | Video7 V-RAM VGA | ||||||
T | 80×45 | 9×8 | 4 | 4 | B800 | Ahead B (Wizard/3270) | ||
T | 100×75 | 16 | MORSE VGA | |||||
44h | disable VDC and DEB output | AT&T 6300 | ||||||
T | 100×60 | VEGA VGA | ||||||
T | 100×60 | Tatung VGA | ||||||
T | 100×60 | Video7 V-RAM VGA | ||||||
45h | T | 132×28 | Tatung VGA | |||||
T | 132×28 | Video7 V-RAM VGA | ||||||
46h | G | 100×40 | 8×15 | 800×600 | 2 | AT&T VDC600 | ||
47h | G | 100×37 | 8×16 | 800×600 | 16 | AT&T VDC600 | ||
48h | G | 80×50 | 8×8 | 640×400 | 2 | B800 | AT&T 6300, AT&T VDC600 | |
49h | G | 80×30 | 8×16 | 640×480 | Lava Chrome II EGA | |||
4Dh | T | 120×25 | VEGA VGA | |||||
4Eh | T | 120×43 | VEGA VGA | |||||
4Fh | T | 132×25 | VEGA VGA | |||||
T | 132×60 | some Oak Tech VGA | ||||||
50h | G | 80×30 | 8×16 | 640×480 | 16 | Paradise EGA-480 | ||
T | 80×30 | 8×16 | 16/256k | B800 | Trident TVGA 8800/8900 | |||
T | 80×34 | Lava Chrome II EGA | ||||||
T | 80×43 | mono | VEGA VGA | |||||
G | 640×480 | mono??? | Taxan 565 EGA | |||||
T | 132×25 | 9×14 | mono | Ahead Systems EGA2001 | ||||
T | 132×25 | 9×14 | 4 | 4 | B800 | Ahead B | ||
T | 132×25 | 8×14 | 16 | 8 | B800 | OAK Technologies VGA-16 | ||
T | 132×30 | 16 | MORSE VGA | |||||
51h | T | 80×30 | 8×16 | Paradise EGA-480 | ||||
T | 80×30 | Lava Chrome II EGA | ||||||
G | 80×34 | 8×14 | 640×480 | 16 | ATI EGA Wonder | |||
T | 80×43 | 8×11 | 16/256k | B800 | Trident TVGA 8800/8900 | |||
T | 132×25 | mono | VEGA VGA | |||||
T | 132×43 | 8×8 | 16 | 5 | B800 | OAK Technologies VGA-16 | ||
T | 132×28 | 9×12 | 4 | 4 | B800 | Ahead B | ||
T | 132×50 | 16 | MORSE VGA | |||||
52h | T | 80×60 | Lava Chrome II EGA | |||||
T | 80×60 | 8×8 | 16/256k | B800 | Trident TVGA 8800/8900 | |||
G | 94×29 | 8×14 | 752×410 | 16 | ATI EGA Wonder | |||
G | 100×75 | 8×8 | 800×600 | 16 | 1 | A000 | OAK Technologies VGA-16 | |
T | 132×43 | mono | VEGA VGA | |||||
T | 132×44 | 9×8 | mono | Ahead Systems EGA2001 | ||||
T | 132×44 | 9×8 | 4 | 2 | B800 | Ahead B | ||
T | 132×60 | 16 | MORSE VGA | |||||
53h | G | 100×40 | 8×14 | 800×560 | 16 | ATI EGA Wonder,ATI VIP | ||
G | 640×480 | 256 | Oak VGA | |||||
T | 132×25 | 8×14 | 16/256k | B800 | Trident TVGA 8800/8900 | |||
T | 132×43 | Lava Chrome II EGA | ||||||
T | 80×60 | 16 | MORSE VGA | |||||
G | AX PC | |||||||
54h | G | 100×42 | 8×14 | 800×600 | 16 | A000 | ATI EGA Wonder, VGA Wonder | |
G | 800×600 | 256 | Oak VGA | |||||
T | 132×25 | Lava Chrome II EGA | ||||||
T | 132×30 | 8×16 | 16/256k | B800 | Trident TVGA 8800/8900 | |||
T | 132×43 | 8×8 | Paradise EGA-480 | |||||
T | 132×43 | 7×9 | 16/256k | B800 | Paradise VGA | |||
T | 132×43 | 8×9 | 16/256k | B800 | Paradise VGA on multisync | |||
T | 132×43 | Taxan 565 EGA | ||||||
T | 132×43 | AST VGA Plus | ||||||
T | 132×43 | Hewlett-Packard D1180A | ||||||
T | 132×43 | 7×9 | 16 | AT&T VDC600 | ||||
55h | T | 80×66 | 8×8 | 16/256k | A000 | ATI VIP | ||
T | 132×25 | 8×14 | Paradise EGA-480 | |||||
T | 132×25 | 7×16 | 16/256k | B800 | Paradise VGA | |||
T | 132×25 | 8×16 | 16/256k | B800 | Paradise VGA on multisync | |||
T | 132×25 | Taxan 565 EGA | ||||||
T | 132×25 | AST VGA Plus | ||||||
T | 132×25 | Hewlett-Packard D1180A | ||||||
T | 132×25 | 7×16 | 16 | AT&T VDC600 | ||||
T | 132×43 | 8×11 | 16/256k | B800 | Trident TVGA 8800/8900 | |||
G | 94×29 | 8×14 | 752×410 | Lava Chrome II EGA | ||||
G | 128×48 | 8×16 1 | 024×768 | 16/256k | A000 | ATI VGA Wonder v4+ [4] | ||
G | 1 | 024×768 | 16/256h | ATI VGA Wonder Plus | ||||
56h | T | 132×43 | 8×8 | 3??? | 2 | B000 | NSI Smart EGA+ | |
T | 132×43 | 7×9 | 4 | B000 | Paradise VGA | |||
T | 132×43 | 8×9 | 4 | B000 | Paradise VGA on multisync | |||
T | 132×43 | mono | Taxan 565 EGA | |||||
T | 132×43 | 7×9 | 2 | AT&T VDC600 | ||||
T | 132×60 | 8×8 | 16/256k | B800 | Trident TVGA 8800/8900 | |||
G | 1 | 024×768 | 16 | Oak VGA | ||||
57h | T | 132×25 | 8×14 | 3??? | 4 | B000 | NSI Smart EGA+ | |
T | 132×25 | 7×16 | 4 | B000 | Paradise VGA | |||
T | 132×25 | 8×16 | 4 | B000 | Paradise VGA on multisync | |||
T | 132×25 | mono | Taxan 565 EGA | |||||
T | 132×25 | 7×16 | 2 | AT&T VDC600 | ||||
T | 132×25 | 9×14 | 16/256k | B800 | Trident TVGA 8800/8900 | |||
58h | G | 100×75 | 8×8 | 800×600 | 16/256k | A000 | Paradise VGA | |
G | 100×75 | 8×8 | 800×600 | 16 | AT&T VDC600 | |||
T | 80×33 | 8×14 | 16 | B800 | ATI EGA Wonder,ATI VIP | |||
G | 800×600 | 16 | AST VGA Plus, Compaq VGA | |||||
G | 800×600 | 16 | Dell VGA | |||||
G | 800×600 | 16 | Hewlett-Packard D1180A | |||||
G | 800×600 | ??? | ELT VGA PLUS 16 | |||||
T | 132×30 | 9×16 | 16/256k | B800 | Trident TVGA 8800/8900 | |||
59h | G | 100×75 | 8×8 | 800×600 | 2 | A000 | Paradise VGA | |
G | 100×75 | 8×8 | 800×600 | 2 | AT&T VDC600 | |||
T | 80×66 | 8×8 | 16/256k | A000 | ATI VIP | |||
G | 800×600 | 2 | AST VGA Plus, Compaq VGA | |||||
G | 800×600 | 2 | Dell VGA | |||||
G | 800×600 | 2 | Hewlett-Packard D1180A | |||||
T | 132×43 | 9×11 | 16/256k | B800 | Trident TVGA 8800/8900 | |||
5Ah | T | 132×60 | 9×8 | 16/256k | B800 | Trident TVGA 8800/8900 | ||
5Bh | G | 800×600 | 16 | Maxxon, SEFCO TVGA, Imtec | ||||
G | 640×350 | 256 | Genoa 6400 | |||||
T | 80×30 | 8×16 | B800 | ATI VGA Wonder (undoc) | ||||
G | 100×75 | 8×8 | 800×600 | 16/256k | A000 | Trident TVGA 8800, 8900 | ||
G | 800×600 | ??? | Vobis MVGA | |||||
5Ch | G | 640×400 | 256 | Logix, ATI Prism Elite | ||||
G | 640×400 | 256 | Maxxon, SEFCO TVGA, Imtec | |||||
G | 80×25 | 8×16 | 640×400 | 256/256 | k | A000 | Zymos Poach, Hi Res 512 | |
G | 80×25 | 8×16 | 640×400 | 256/256 | k | A000 | Trident TVGA 8800/8900 | |
G | 640×480 | 256 | Genoa 6400 | |||||
5Dh | G | 640×480 | 256 | Logix, ATI Prism Elite | ||||
G | 640×480 | 256 | Maxxon, SEFCO TVGA, Imtec | |||||
G | 80×30 | 8×16 | 640×480 | 256/256 | k | A000 | Zymos Poach, Hi Res 512 | |
G | 80×30 | 8×16 | 640×480 | 256/256 | k | A000 | Trident TVGA 8800 (512K) | |
5Eh | G | 640×400 | 256 | Paradise VGA,VEGA VGA | ||||
G | 640×400 | 256 | AST VGA Plus | |||||
G | 640×400 | 256 | Compaq VGA, Dell VGA | |||||
G | 80×25 | 8×16 | 640×400 | 256 | AT&T VDC600 | |||
G | 800×600 | 16 | Logix, ATI Prism Elite | |||||
G | 800×600 | 256 | Genoa 6400 | |||||
G | 100×75 | 8×8 | 800×600 | 256/256 | k | A000 | Zymos Poach, Trident 8900 | |
G | 100×75 | 8×8 | 800×600 | 256/256 | k | A000 | Hi Res 512 | |
5Fh | G | 640×480 | 256 | Paradise VGA | ||||
G | 640×480 | 256 | AST VGA Plus | |||||
G | 640×480 | 256 | Compaq VGA, Dell VGA | |||||
G | 640×480 | 256 | Hewlett-Packard D1180A | |||||
G | 80×30 | 8×16 | 640×480 | 256 | AT&T VDC600 (512K) | |||
G | 1 | 024×768 | 16 | Logix, ATI Prism Elite | ||||
G | 1 | 024×768 | 16 | Maxxon, Genoa 6400, Imtec | ||||
G | 128×48 | 8×16 1 | 024×768 | 16/256 | k | A000 | Zymos Poach, Hi Res 512 | |
G | 128×48 | 8×16 1 | 024×768 | 16/256 | k | A000 | Trident TVGA 88/8900 512K | |
60h | G | 80x??? | ???x400 | Corona/Cordata BIOS 4.10+ | ||||
G | 752×410 | VEGA VGA | ||||||
G | 752×410 | 16 | Tatung VGA | |||||
G | 752×410 | 16 | Video7 V-RAM VGA | |||||
G | 80×25 | 8×16 | 640×400 | 256 | 1 | A000 | Ahead A, Ahead B | |
G | 128×48 | 8×16 1 | 024×768 | 4/256 | k | A000 | Trident TVGA 8900 | |
T | 132×25 | 8×14 | 16/64 | 8 | B800 | Quadram Ultra VGA | ||
61h | G | ???x400 | Corona/Cordata BIOS 4.10+ | |||||
G | 720×540 | VEGA VGA | ||||||
G | 720×540 | 16 | Tatung VGA | |||||
G | 720×540 | 16 | Video7 V-RAM VGA | |||||
G | 80×25 | 8×16 | 640×400 | 256 | A000 | ATI VGA Wonder,VGA Wonder+ | ||
G | 80×30 | 8×16 | 640×480 | 256 | 1 | A000 | Ahead A, Ahead B (512K) | |
G | 96×64 | 8×16 | 768×1024 | 16/256 | k | A000 | Trident TVGA 88/8900 512K | |
T | 132×29 | 8×12 | 16/64 | 8 | B800 | Quadram Ultra VGA | ||
62h | G | 800×600 | VEGA VGA | |||||
G | 800×600 | 16 | Tatung VGA | |||||
G | 800×600 | 16 | Video7 V-RAM VGA | |||||
G | 80×30 | 8×16 | 640×480 | 256 | A000 | ATI VGA Wonder,VGA Wonder+ | ||
G | 100×75 | 8×8 | 800×600 | 256 | 1 | A000 | Ahead A, Ahead B (512K) | |
G | 128×48 | 8×16 1 | 024×768 | 256/256 | k | A000 | Trident TVGA 8900, Zymos | |
T | 132×32 | 8×11 | 16/64 | 6 | B800 | Quadram Ultra VGA | ||
63h | G | 1 | 024×768 | 2 | Video7 V-RAM VGA | |||
G | 100×42 | 8×14 | 800×600 | 256 | A000 | ATI VGA Wonder,VGA Wonder+ | ||
G | 128×48 | 7×16 1 | 024×768 | 256 | 1 | A000 | Ahead B (1MB) | |
T | 132×44 | 8×8 | 16/64 | 5 | B800 | Quadram Ultra VGA | ||
G | 720×540 | 16 | MORSE VGA | |||||
64h | G | 1 | 024×768 | 4 | Video7 V-RAM VGA | |||
G | 128×48 | 8×16 1 | 024×768 | 256 | A000 | ATI VGA Wonder Plus | ||
G | 800×600 | 16 | MORSE VGA | |||||
G | 800×600 | ??? | SAMPO-Mira VGA | |||||
65h | G | 1 | 024×768 | 16 | Video7 V-RAM VGA | |||
G | 128×48 | 8×16 1 | 024×768 | 16 | A000 | ATI VGA Wonder | ||
66h | G | 640×400 | 256 | Tatung VGA | ||||
G | 640×400 | 256 | Video7 V-RAM VGA | |||||
67h | G | 640×480 | 256 | Video7 V-RAM VGA | ||||
G | 128×48 | 8×16 1 | 024×768 | 4 | A000 | ATI VGA Wonder | ||
69h | G | 720×540 | 256 | Video7 V-RAM VGA | ||||
6Ah | G | 800×600 | 16 | A000 | VESA standard interface | |||
G | 800×600 | 16 | Genoa 6400 | |||||
G | 800×600 | 16 | A000 | Ahead A | ||||
G | 100×75 | 8×8 | 800×600 | 16 | 1 | A000 | Ahead B (VESA) (see 71h) | |
G | 800×600 | 16 | Zymos Poach, Hi Res 512 | |||||
G | 800×600 | 16 | Epson LT-386SX in CRT Mode | |||||
G | 800×600 | 16 | Compuadd 316SL in CRT Mode | |||||
G | 100×42 | 8×14 | 800×600 | A000 | ATI VGA Wonder (undoc) | |||
70h | G | 800×600 | 16 | C&T chipset, Cardinal | ||||
G | 90×28 | 8×14 | 720×392 | 16 | 1 | A000 | Ahead B | |
T | 40×25 | 8×8 | 16 | 8 | B800 | Quadram (CGA double scan) | ||
extended mode set (see AX=0070h) | Everex Micro Enhancer EGA | |||||||
71h | G | 100×35 | 8×16 | 800×600 | 16of64 | A000 | NSI Smart EGA+ | |
G | 960×720 | 16 | C&T chipset, Cardinal | |||||
G | 100×75 | 8×8 | 800×600 | 16 | 1 | A000 | Ahead B (same as 6Ah) | |
T | 80×25 | 8×8 | 16 | 8 | B800 | Quadram (CGA double scan) | ||
72h | G | 1 | 024×768 | 16 | C&T chipset, Cardinal | |||
T | 80×60 | 8×8 | 16 | B800 | Quadram Ultra VGA | |||
G | 640×480 | 32768 | A000 | ATI | ||||
73h | G | 80×60 | 8×8 | 640×480 | 16??? | A000 | Quadram Ultra VGA | |
74h | G | 640×400 | 2 | B800 | Toshiba 3100 AT&T mode | |||
G | 128×48 | 8×16 1 | 024×768 | 16 | 1 | A000 | Ahead A, Ahead B (512K) | |
T | 80×66 | 8×8 | 16 | B800 | Quadram Ultra VGA | |||
75h | G | 128×48 | 8×16 1 | 024×768 | 4 | 1 | A000 | Ahead B |
G | 80×66 | 640×528 | 16??? | A000 | Quadram Ultra VGA | |||
G | 640×528 | 16 | Geno Super EGA Hirez+ | |||||
76h | G | 128×48 | 8×16 1 | 024×768 | 2 | 1 | A000 | Ahead B |
T | 94×29 | 8×14 | 16 | B800 | Quadram Ultra VGA | |||
77h | G | 94×29 | 752×410 | 16??? | A000 | Quadram Ultra VGA | ||
G | 752×410 | 16 | Genoa Super EGA Hirez+ | |||||
78h | G | 640×400 | 256 | STB VGA/EM-16 Plus | ||||
G | 640×400 | 256 | Cardinal, C&T chipset | |||||
T | 100×75 | 8×8 | 16 | B800 | Quadram Ultra VGA | |||
79h | G | 640×480 | 256 | Cardinal, C&T chipset | ||||
G | 100×75 | 800×600 | 16??? | A000 | Quadram Ultra VGA | |||
G | 800×600 | 16 | Genoa Super EGA Hirez+ | |||||
7Ah | G | 720×540 | 256 | C&T chipset, Cardinal | ||||
T | 114×60 | 8×8 | 16 | B800 | Quadram Ultra VGA | |||
7Bh | G | 800×600 | 256 | C&T chipset, Cardinal | ||||
G | 114×60 | 912×480 | 16??? | A000 | Quadram Ultra VGA | |||
G | 912×480 | 16 | Genoa Super EGA Hirez+ | |||||
7Ch | G | 512×512 | 16 | Genoa | ||||
7Dh | G | 512×512 | 256 | Genoa | ||||
7Eh | special mode set (see AX=007Eh) | Paradise VGA, AT&T VDC600 | ||||||
7Fh | special function set (see AX=007Fh) | Paradise VGA, AT&T VDC600 | ||||||
82h | T | 80×25 | B&W | AT&T VDC overlay mode [5] | ||||
83h | T | 80×25 | AT&T VDC overlay mode [5] | |||||
86h | G | 640×200 | B&W | AT&T VDC overlay mode [5] | ||||
88h | G | 90×43 | 8×8 | 720×352 | mono | B000 | Hercules + MSHERC.COM | |
C0h | G | 640×400 | 2/prog | pallet | AT&T VDC overlay mode [5] | |||
C4h | disable output | AT&T VDC overlay mode [5] | ||||||
D0h | G | 640×400 | 2 | B800 | DEC VAXmate AT&T mode |
[1] for ATI EGA Wonder, mode 08h is only valid if SMS.COM is loaded resident.
SMS maps mode 08h to mode 27h if the byte at location 0040:0063 is 0B4h, otherwise to mode 23h, thus selecting the appropriate (monochrome or color) 132×25 character mode.
for ATI VGA Wonder, mode 08h is the same, and only valid if VCONFIG loaded resident
[2] early XGA boards support 132-column text but do not have this BIOS mode
[3] DESQview intercepts calls to change into these two modes (21h is page 0, 22h is page 1) even if there is no Hercules graphics board installed
[4] ATI BIOS v4-1.00 has a text-scrolling bug in this mode
[5] for AT&T VDC overlay modes, BL contains the DEB mode, which may be 06h, 40h, or 44h
[6] BIOS text support is broken in this undocumented mode; scrolling moves only about 1/3 of the screen (and does even that portion incorrectly), while screen clears only clear about 3/4.
AX = 0070h BL = mode (see below)
SeeAlso: AH=00h,AX=6F05h,AX=7000h/BX=0004h,AH=FFh“GO32”
Values for video mode:
text graph | text resol | pixel box | pixel resol | colors | disp page | screen addr | monitor | adapter | |
---|---|---|---|---|---|---|---|---|---|
00h | G | 640×480 | 16 | multsync | EGA,VGA | ||||
01h | G | 752×410 | 16 | multsync | EGA,VGA | ||||
02h | G | 800×600 | 16 | multsync | EGA,VGA | ||||
03h | T | 80×34 | multsync | EGA,VGA | |||||
04h | T | 80×60 | multsync | EGA,VGA | |||||
05h | T | 94×29 | multsync | EGA only | |||||
06h | T | 94×51 | multsync | EGA only | |||||
07h | T | 100×43 | 8×14 | 16 | VGA only | ||||
08h | T | 100×75 | 8×8 | 16 | VGA only | ||||
09h | T | 80×44 | EGA | EGA only | |||||
0Ah | T | 132×25 | EGA | EGA,VGA | |||||
0Bh | T | 132×44 | EGA | EGA,VGA | |||||
0Ch | T | 132×25 | CGA | EGA only | |||||
0Dh | T | 80×44 | mono | EGA only | |||||
0Eh | T | 132×25 | mono | ||||||
0Fh | T | 132×44 | mono | ||||||
10h | reserved | ||||||||
11h | G | 1280×350 | 4 | EGA only | |||||
12h | G | 1280×600 | 4 | EGA only | |||||
13h | G | 640×350 | 256 | EGA,EV673 | |||||
14h | G | 640×400 | 256 | ||||||
15h | G | 512×480 | 256 | ||||||
16h | T | 80×30 | 8×16 | 256 | VGA only | ||||
18h | T | 100×27 | 8×16 | 16 | VGA only | ||||
20h | G | 1024×768 | 16 | Everex 629,678 | |||||
Everex EV-673 | |||||||||
21h | T | 160×64 | 8×16 | 1280×1024 | 16 | 1MB VGA only | |||
30h | G | 640×480 | 256 | Everex 629,678 | |||||
Everex EV-673 | |||||||||
31h | G | 800×600 | 256 | Everex 629,678 | |||||
Everex EV-673 | |||||||||
32h | G | 128×48 | 8×16 | 1024×768 | 256 | 1MB VGA only | |||
40h | T | 132×30 | 8×16 | 16 | VGA only | ||||
50h | T | 132×32 | 8×16 | mono | VGA only | ||||
62h | G | 40×25 | 8×8 | 320×200 | 32K | Vwpt TC (EV629) | |||
70h | G | 64×30 | 8×16 | 512×480 | 32K | Viewpoint TC | |||
71h | G | 80×30 | 8×16 | 640×480 | 32K | Viewpoint TC | |||
76h | G | 64×30 | 8×16 | 512×480 | 16M | Viewpoint TC | |||
77h | G | 80×30 | 8×16 | 640×480 | 16M | Viewpoint TC |
AX = 007Eh BX = horizontal dimension of the mode desired CX = vertical dimension of the mode desired (both BX/CX in pixels for graphics modes, rows for alpha modes) DX = number of colors of the mode desired (0000h for monochrome modes) Return: BH = 7Eh if successful (Paradise VGA) AL = 7Eh if successful (AT&T VDC600)
SeeAlso: AH=00h,AX=0070h,AX=007Fh,AX=6F05h,AH=FFh“GO32”
AX = 007Fh BH = function 00h set VGA operation 01h set non-VGA operation color modes (0,1,2,3,4,5,6) will set non-VGA CGA operation monochrome mode 7 will set non-VGA MDA/Hercules operation 02h query mode status Return: BL = 00h if operating in VGA mode, 01h if non-VGA mode CH = total video RAM size in 64k byte units CL = video RAM used by the current mode 03h lock current mode allows current mode (VGA or non-VGA) to survive re-boot 04h enter CGA mode (AT&T VDC600 only) 05h enter MDA mode (AT&T VDC600 only) 0Ah,0Bh,0Ch,0Dh,0Eh,0Fh WRITE PARADISE REGISTERS 0,1,2,3,4,5 (port 03CEh indices 0Ah,0Bh,0Ch,0Dh,0Eh,0Fh) BL = value to set in the paradise register 1Ah,1Bh,1Ch,1Dh,1Eh,1Fh READ PARADISE REGISTERS 0,1,2,3,4,5 (port 03CEh indices 0Ah,0Bh,0Ch,0Dh,0Eh,0Fh) Return: BL = value of the paradise register BH = 7Fh if successful Return: AL = 7Fh if successful (AT&T VDC600)
SeeAlso: AX=007Eh
AH = 01h CH = bit 7 should be zero bits 6,5 cursor blink (00=normal, 01=invisible, 10=erratic, 11=slow) (00=normal, other=invisible on EGA/VGA) bits 4-0 top scan line containing cursor CL = bottom scan line containing cursor (bits 0-4)
buggy on EGA systems–BIOS remaps cursor shape in 43 line modes, but returns unmapped cursor shape
UltraVision scales size to the current font height by assuming 14-line monochrome and 8-line color fonts; this call is not valid if cursor emulation has been disabled
applications which wish to change the cursor by programming the hardware directly on EGA or abovve should call INT 10/AX=1130h or read 0040h:0085h first to determine the current font height
BUG: AMI 386 BIOS and AST Premier 386 BIOS will lock up the system if AL is not equal to the current video mode
SeeAlso: AH=03h,AX=CD05h
AH = 02h BH = page number 0-3 in modes 2&3 0-7 in modes 0&1 0 in graphics modes DH = row (00h is top) DL = column (00h is left)
SeeAlso: AH=03h,AH=05h,INT 60/DI=030Bh
AH = 03h BH = page number 0-3 in modes 2&3 0-7 in modes 0&1 0 in graphics modes Return: AX = 0000h (Phoenix BIOS) CH = start scan line CL = end scan line DH = row (00h is top) DL = column (00h is left)
a separate cursor is maintained for each of up to 8 display pages many ROM BIOSes incorrectly return the default size for a color display (start 06h, end 07h) when a monochrome display is attached
SeeAlso: AH=01h,AH=02h
AH = 04h
Return: AH = light pen trigger flag 00h not down/triggered 01h down/triggered DH,DL = row,column of character light pen is on CH = pixel row (graphics modes 04h-06h) CX = pixel row (graphics modes with >200 rows) BX = pixel column
on a CGA, returned column numbers are always multiples of 2 (320-column modes) or 4 (640-column modes)
returned row numbers are only accurate to two lines
AH = 05h AL = new page number (00h to number of pages - 1) (see AH=00h)
to determine whether the requested page actually exists, use AH=0Fh to query the current page after making this call
SeeAlso: AH=0Fh
AH = 05h AL = subfunction 80h read CRT and CPU page registers Return: BH = CRT page register BL = CPU page register 81h set CPU page register BL = CPU page 82h set CRT page register BH = CRT page 83h set both CPU and CRT page registers BL = CPU page BH = CRT page
the CPU page determines which 16K block of the first 128K of physical memory will be mapped at B800h by the hardware
the CRT page determines the start address of the memory used by the video controller
AH = 05h AL = 00h set address of graphics bitmap buffer (video modes 60h,61h) BX = segment of buffer 0Fh get address of graphics bitmap buffer (video modes 60h,61h) Return: DX = segment of graphics bitmap buffer
AH = 06h AL = number of lines by which to scroll up (00h = clear entire window) BH = attribute used to write blank lines at bottom of window CH,CL = row,column of window's upper left corner DH,DL = row,column of window's lower right corner
affects only the currently active page (see AH=05h)
some implementations have a bug which destroys BP
SeeAlso: AH=07h,AH=72h,AH=73h,AX=7F07h
AH = 07h AL = number of lines by which to scroll down (00h=clear entire window) BH = attribute used to write blank lines at top of window CH,CL = row,column of window's upper left corner DH,DL = row,column of window's lower right corner
affects only the currently active page (see AH=05h)
some implementations have a bug which destroys BP
SeeAlso: AH=06h,AH=72h,AH=73h
AH = 08h BH = page number (00h to number of pages - 1) (see AH=00h)
Return: AH = attribute bit 7: blink bits 6-4: background color 000 black 001 blue 010 green 011 cyan 100 red 101 magenta 110 brown 111 white bits 3-0: foreground color 0000 black 1000 dark gray 0001 blue 1001 light blue 0010 green 1010 light green 0011 cyan 1011 light cyan 0100 red 1100 light red 0101 magenta 1101 light magenta 0110 brown 1110 yellow 0111 light gray 1111 white AL = character
for monochrome displays, a foreground of 1 with background 0 is underlined
the blink bit may be reprogrammed to enable intense background colors using AX=1003h or by programming the CRT controller
SeeAlso: AH=09h,AX=1003h,AX=5001h
AH = 09h AL = character to display BH = page number (00h to number of pages - 1) (see AH=00h) BL = attribute (text mode) or color (graphics mode) if bit 7 set in graphics mode, character is xor'ed onto screen CX = number of times to write character
all characters are displayed, including CR, LF, and BS
replication count in CX may produce an unpredictable result in graphics modes if it is greater than the number of positions remaining in the current row
SeeAlso: AH=08h,AH=0Ah,AH=4Bh,INT 17/AH=60h,INT 1F,INT 43,INT 44
AH = 0Ah AL = character to display BH = page number (00h to number of pages - 1) (see AH=00h) BL = attribute (PCjr only) or color (graphics mode) if bit 7 set in graphics mode, character is xor'ed onto screen CX = number of times to write character
all characters are displayed, including CR, LF, and BS
replication count in CX may produce an unpredictable result in graphics modes if it is greater than the number of positions remaining in the current row
SeeAlso: AH=08h,AH=09h,AH=4Bh,INT 17/AH=60h,INT 1F,INT 43,INT 44
AH = 0Bh BH = 00h BL = background/border color (border only in text modes)
SeeAlso: AH=0Bh/BH=01h
AH = 0BH BH = 01h BL = palette ID 00h background, green, red, and brown/yellow 01h background, cyan, magenta, and white
SeeAlso: AH=0Bh/BH=00h
AH = 0Ch BH = page number AL = pixel color (if bit 7 set, value is xor'ed onto screen) CX = column DX = row
valid only in graphics modes
BH is ignored if the current video mode supports only one page
SeeAlso: AH=0Dh,AH=46h
AH = 0Dh BH = page number CX = column DX = row
Return: AL = pixel color
valid only in graphics modes
BH is ignored if the current video mode supports only one page
SeeAlso: AH=0Ch,AH=47h
AH = 0Eh AL = character to write BH = page number BL = foreground color (graphics modes only)
Notes: characters 07h (BEL), 08h (BS), 0Ah (LF), and 0Dh (CR) are interpreted
and do the expected things IBM PC ROMs dated 4/24/81 and 10/19/81 require that BH be the same as the current active page
SeeAlso: AH=02h,AH=0Ah
AH = 0Fh
Return: AH = number of character columns AL = display mode (see AH=00h) BH = active page (see AH=05h)
if mode was set with bit 7 set (“no blanking”), the returned mode will also have bit 7 set
EGA, VGA, and UltraVision return either AL=03h (color) or AL=07h (monochrome) in all extended-row text modes
SeeAlso: AH=00h,AH=05h,AX=1130h,AX=CD04h
AX = 0F56h BX = 4756h CX = 4944h DL = function 01h installation check Return: AX = 5649h BX = 4443h CX = 5647h DH = 01h 02h get first video mode's parameters Return: AX = BIOS mode number BX = width in pixels CX = height in pixels DX = number of colors 03h get next video mode's parameters Return: as for DL=02h 04h display line??? ES:DI -> record (see below) ??? Return: ???
VUIMAGE is a shareware GIF/TIFF image viewer by Offe Enterprises
the use of TSR display drivers was discontinued after v2.20
Format of record for DL=04h:
Offset | Size | Description |
---|---|---|
00h | WORD | row number |
02h | WORD | starting column??? |
04h | WORD ??? | ending column??? |
AH = 0Fh SI = F123h DI = 321Fh
Return: AH = number of character columns AL = display mode (see AH=00h) BH = active page (see AH=05h) SI = DI = F345h if installed
if mode was set with bit 7 set (“no blanking”), the returned mode will also have bit 7 set
EGA, VGA, and UltraVision return either AL=03h (color) or AL=07h (monochrome) in all extended-row text modes
SeeAlso: AH=0Fh“VIDEO”,AH=4Bh“FRIEZE”
AH = 10h CH,CL = row,column of upper left corner of window DH,DL = row,column of lower right corner of window
Return: AL = status 00h successful 01h failed AH destroyed
BWE is a TSR by John J. Seal published in May 1986 Dr. Dobb's Journal
when a window has been set, all output via AH=0Eh is restricted to the specified window
SeeAlso: AH=11h“Window”,AH=12h“Window”
AH = 10h AL = speed 00h fast 01h slow (only moves characters during vertical retrace)
Return: AH = previous speed
AX = 1000h BL = palette register number (00h-0Fh) = attribute register number (undocumented) 10h attribute mode control register (should let BIOS control this) 11h overscan color register (see also AX=1001h) 12h color plane enable register (bits 3-0 enable corresponding text attribute bit) 13h horizontal PEL panning register 14h color select register BH = color or attribute register value
on MCGA, only BX = 0712h is supported
under UltraVision, the palette locking status (see AX=CD01h) determines the outcome
SeeAlso: AX=1002h,AX=1007h,AX=CD01h
AX = 1001h BH = border color (00h-3Fh)
the original IBM VGA BIOS incorrectly updates the parameter save area and places the border color at offset 11h of the palette table rather than offset 10h
under UltraVision, the palette locking status (see AX=CD01h) determines the outcome
SeeAlso: AX=1002h,AX=1008h,AX=CD01h
AX = 1002h ES:DX -> palette register list
under UltraVision, the palette locking status (see AX=CD01h) determines the outcome
SeeAlso: AX=1000h,AX=1001h,AX=1009h,AX=CD01h
Format of palette register list:
Offset | Size | Description |
---|---|---|
00h | 16 BYTEs | colors for palette registers 00h through 0Fh |
10h | BYTE | border color |
AX = 1003h BL = new state 00h background intensity enabled 01h blink enabled BH = 00h to avoid problems on some adapters
although there is no function to get the current status, bit 5 of 0040h:0065h indicates the state
when configured for a monochrome display, the Boca Research Multi-EGA with ROM v M1.1 Type D has its screen disrupted if BH is not clear
SeeAlso: AH=08h
AX = 1007h BL = palette or attribute (undoc) register number (see AX=1000h)
Return: BH = palette or attribute register value
UltraVision v2+ supports this function even on color EGA systems in video modes 00h-03h, 10h, and 12h; direct programming of the palette registers will cause incorrect results because the EGA registers are write-only. To guard against older versions or unsupported video modes, programs which expect to use this function on EGA systems should set BH to FFh on entry.
SeeAlso: AX=1000h,AX=1009h
AX = 1008h
Return: BH = border color (00h-3Fh)
Notes: UltraVision v2+ supports this function even on color EGA systems in video modes 00h-03h, 10h, and 12h; direct programming of the palette registers will cause incorrect results because the EGA registers are write-only. To guard against older versions or unsupported video modes, programs which expect to use this function on EGA systems should set BH to FFh on entry.
SeeAlso: AX=1001h
AX = 1009h ES:DX -> 17-byte buffer (see AX=1002h)
Notes: UltraVision v2+ supports this function even on color EGA systems in video modes 00h-03h, 10h, and 12h; direct programming of the palette registers will cause incorrect results because the EGA registers are write-only. To guard against older versions or unsupported video modes, programs which expect to use this function on EGA systems should set the ES:DX buffer to FFh before calling.
SeeAlso: AX=1002h,AX=1007h,AX=CD02h
AX = 1010h BX = register number CH = new value for green (0-63) CL = new value for blue (0-63) DH = new value for red (0-63)
SeeAlso: AX=1012h,AX=1015h
AX = 1012h BX = starting color register CX = number of registers to set ES:DX -> table of 3*CX bytes where each 3 byte group represents one byte each of red, green and blue (0-63)
SeeAlso: AX=1010h,AX=1017h
AX = 1013h BL = subfunction 00h select paging mode BH = 00h select 4 blocks of 64 BH = 01h select 16 blocks of 16 01h select page BH = page number (00h to 03h) or (00h to 0Fh)
not valid in mode 13h
SeeAlso: AX=101Ah
AX = 1015h BL = palette register number
Return: DH = red value CH = green value CL = blue value
SeeAlso: AX=1010h,AX=1017h
AX = 1017h BX = starting palette register CX = number of palette registers to read ES:DX -> buffer (3 * CX bytes in size) (see also AX=1012h)
Return: buffer filled with CX red, green and blue triples
SeeAlso: AX=1012h,AX=1015h
AX = 1018h BL = new PEL value
SeeAlso: AX=1019h
AX = 1019h
Return: BL = value read SeeAlso: AX=1018h
AX = 101Ah
Return: BL = paging mode 00h four pages of 64 01h sixteen pages of 16 BH = current page
SeeAlso: AX=1013h
AX = 101Bh BX = starting palette register CX = number of registers to convert
SeeAlso: AH=12h/BL=33h
AX = 10F0h BL = video mode (see also AH=00h) 32768-color modes: 13h = 320x200 2Dh = 640x350 2Eh = 640x480 2Fh = 640x400 30h = 800x600
Return: AL = 10h if supported AH = status 00h if successful other on error
the Tseng HiColor BIOS extensions are supported by:
Diamond Computer Systems | SpeedStar HiColor VGA |
Everex Systems | HC VGA |
Focus Information Systems | 2theMax 4000 |
Cardinal Technologies | VGA732 |
Orchid ProDesigner IIs |
SeeAlso: AX=10F1h,AX=10F2h
AX = 10F1h
Return: AL = 10h if supported BL = type of digital/analog converter 00h normal VGA DAC 01h Sierra SC1148x HiColor DAC 02h new Sierra DAC else other HiColor DAC
SeeAlso: AX=10F0h,AX=10F2h
AX = 10F2h BL = ???
Return: AL = 10h if supported AH = status??? 00h ??? 01h ??? BL = ???
SeeAlso: AX=10F0h,AX=10F1h
AH = 11h
Return: CH,CL = row,column of upper left corner DH,DL = row,column of lower right corner
BWE is a TSR by John J. Seal published in May 1986 Dr. Dobb's Journal
SeeAlso: AH=10h“Window”,AH=12h“Window”
AH = 11h The following functions will cause a mode set, completely resetting the video environment, but without clearing the video buffer AL = 00h, 10h: load user-specified patterns ES:BP -> user table CX = count of patterns to store DX = character offset into map 2 block BL = block to load in map 2 BH = number of bytes per character pattern AL = 01h, 11h: load ROM monochrome patterns (8 by 14) BL = block to load AL = 02h, 12h: load ROM 8 by 8 double-dot patterns BL = block to load AL = 03h: set block specifier BL = block specifier (EGA/MCGA) bits 0,1 = block selected by chars with attribute bit 3 = 0 bits 2,3 = block selected by chars with attribute bit 3 = 1 (VGA) bits 0,1,4 = block selected by attribute bit 3 = 0 bits 2,3,5 = block selected by attribute bit 3 = 1 AL = 04h, 14h: load ROM 8x16 character set (VGA) BL = block to load The routines called with AL=1xh are designed to be called only immediately after a mode set and are similar to the routines called with AL=0xh, except that: Page 0 must be active. Bytes/character is recalculated. Max character rows is recalculated. CRT buffer length is recalculated. CRTC registers are reprogrammed as follows: R09 = bytes/char-1 ; max scan line (mode 7 only) R0A = bytes/char-2 ; cursor start R0B = 0 ; cursor end R12 = ((rows+1)*(bytes/char))-1 ; vertical display end R14 = bytes/char ; underline loc (*** BUG: should be 1 less ***)
SeeAlso: AX=CD10h
AH = 11h AL = 20h: set user 8 by 8 graphics characters (INT 1F) ES:BP -> user table AL = 21h: set user graphics characters ES:BP -> user table CX = bytes per character BL = row specifier 00h user set DL = number of rows 01h 14 rows 02h 25 rows 03h 43 rows AL = 22h: ROM 8 by 14 set BL = row specifier (see above) AL = 23h: ROM 8 by 8 double dot BL = row specifier (see above) AL = 24h: load 8x16 graphics characters (VGA/MCGA) BL = row specifier (see above) AL = 29h: load 8x16 graphics characters (Compaq Systempro) BL = row specifier (see above)
these functions are meant to be called only after a mode set
UltraVision v2+ sets INT 43 to the appropriate font for AL=22h,23h,24h, and 29h
SeeAlso: INT 1F, INT 43
AX = 1130h BH = pointer specifier 00h INT 1Fh pointer 01h INT 43h pointer 02h ROM 8x14 character font pointer 03h ROM 8x8 double dot font pointer 04h ROM 8x8 double dot font (high 128 characters) 05h ROM alpha alternate (9 by 14) pointer (EGA,VGA) 06h ROM 8x16 font (MCGA, VGA) 07h ROM alternate 9x16 font (VGA only) 11h (UltraVision v2+) 8x20 font (VGA) or 8x19 font (autosync EGA) 12h (UltraVision v2+) 8x10 font (VGA) or 8x11 font (autosync EGA)
Return: ES:BP = specified pointer CX = bytes/character of on-screen font (not the requested font!) DL = character rows on screen - 1 (VGA) = character rows on screen (EGA)
for UltraVision v2+, the 9xN alternate fonts follow the corresponding 8xN font at ES:BP+256N
SeeAlso: AX=1100h,AX=1120h,INT 1F,INT 43
AH = 12h
Return: BH = attribute to use on blanked lines when scrolling
BWE is a TSR by John J. Seal published in May 1986 Dr. Dobb's Journal
SeeAlso: AH=11h“Window”,AH=12h“Window”
AH = 12h BL = 10h
Return: BH = 00h color mode in effect (I/O port 3Dxh) 01h mono mode in effect (I/O port 3Bxh) BL = 00h 64k bytes memory installed 01h 128k bytes memory installed 02h 192k bytes memory installed 03h 256k bytes memory installed CH = feature bits CL = switch settings
one possible check for the presence of an EGA or later display card is to call this function with BH=FFh; if not present, BH will be unchanged on return
AH = 12h BL = 20h select alternate print screen routine
installs a PrtSc routine from the video card's BIOS to replace the default PrtSc handler from the ROM BIOS, which usually does not understand screen heights other than 25 lines
some adapters disable print-screen instead of enhancing it
SeeAlso: INT 05
AH = 12h BL = 2Eh
due to an omitted end-of-list marker, this version of the BIOS will crash the system on this function
AH = 12h BL = 30h AL = vertical resolution 00h 200 scan lines 01h 350 scan lines 02h 400 scan lines
Return: AL = 12h if function supported
AH = 12h BL = 31h AL = 00h enable default palette loading 01h disable default palette loading
Return: AL = 12h if function supported
AH = 12h BL = 32h AL = 00h enable video addressing 01h disable video addressing
Return: AL = 12h if function supported
AH = 12h BL = 33h AL = 00h enable gray scale summing 01h disable gray scale summing
Return: AL = 12h if function supported SeeAlso: AX=101Bh,AX=BF06h
AH = 12h BL = 34h AL = 00h enable alphanumeric cursor emulation 01h disable alphanumeric cursor emulation
Return: AL = 12h if function supported
AH = 12h BL = 35h AL = 00h initial adapter video off 01h initial planar video on 02h switch active video off 03h switch inactive video on 80h *UNDOCUMENTED* set system board video active flag ES:DX -> buffer (128 byte save area if AL = 0, 2 or 3)
Return: AL = 12h if function supported
AH = 12h BL = 36h AL = 00h enable refresh 01h disable refresh
Return: AL = 12h if function supported
AH = 12h BH = 55h BL = subfunction 00h disabled enhanced features 01h enable enhanced features 02h get status Return: AL = status flags bit 3: set if enhanced features enabled bits 7-5 monitor type 000 PS/2 mono 001 PS/2 color 010 multi-sync 011 Taxan 650 25kHz 100 RGB 101 mono 110 EGA 111 Compaq internal 03h disable register trapping (CGA emulation) 04h enable register trapping 05h program mode described by table at ES:BP 06h get mode table AL = video mode Return: ES:BP -> table suitable for mode AL (and subfnc BL=05h) BP = FFFFh on error
Format of ATI VGA Wonder video mode table: Offset Size Description 00h BYTE number of columns 01h BYTE maximum row (number of rows - 1) 02h BYTE scan lines per row 03h WORD video buffer size in bytes 05h 4 BYTEs values for Sequencer registers 1-4 09h BYTE value for Miscellaneous Output register 0Ah 25 BYTEs values for CRTC registers 00h-18h
00h horizontal total size (chars) 01h horizontal displayed (chars) 02h horizontal sync position (chars) 03h horizontal sync width (chars) 04h vertical total size (char rows) 05h vertical total adjust (scan lines) 06h vertical displayed (char rows) 07h vertical sync position (char rows) 08h interlace mode 09h max scan line in row 0Ah cursor start scan line 0Bh cursor end scan line 0Ch screen memory start (high) 0Dh screen memory start (low) 0Eh cursor address (high) 0Fh cursor address (low) 10h light pen (high) 11h light pen (low)
23h 20 BYTEs default palette (values for Attribute Controller regs 00h-13h) 37h 9 BYTEs values for Graphics Controller registers 00h-08h
AH = 12h BL = 74h
Note: due to an omitted end-of-list marker, this version of the BIOS will
crash the system on this function
AH = 12h BL = 80h
Note: due to an omitted end-of-list marker, this version of the BIOS will
crash the system on this function
AH = 12h BL = BEh
Note: due to an omitted end-of-list marker, this version of the BIOS will
crash the system on this function
AH = 12h BL = C6h
Note: due to an omitted end-of-list marker, this version of the BIOS will
crash the system on this function
AH = 12h BL = F0h
Note: due to an omitted end-of-list marker, this version of the BIOS will
crash the system on this function
AH = 13h AL = write mode bit 0: update cursor after writing 1: string contains alternating characters and attributes BH = page number BL = attribute if string contains only characters CX = number of characters in string DH,DL = row,column at which to start writing ES:BP -> string to write
recognizes CR, LF, BS, and bell
also available PC or XT with EGA or higher
HP 95LX only supports write mode 00h
BUG: on the IBM VGA Adapter, any scrolling which may occur is performed on the active page rather than the requested page
SeeAlso: AH=09h,AH=0Ah
AX = 1400h ES:DI -> character font BH = number of bytes per character 08h or 10h (Compaq) BL = 00h load main font (block 0) 01h load alternate font (block 1) CX = number of characters to store DX = character offset into RAM font area
SeeAlso: AH=11h,AX=1401h
AX = 1401h BL = font to load 00h main font (block 0) 01h alternate font (block 1)
SeeAlso: AH=11h,AX=1400h
AX = 1402h BL = function 00h ignore high intensity attribute 01h map high intensity to underscore 02h map high intensity to reverse video 03h map high intensity to selected alternate font B0h half intensity (Compaq) B1h toggle active intensity bit interpretation (CP386)
AH = 15h
Return: AX = alternate display adapter type
0000h none 5140h LCD 5153h CGA 5151h mono ES:DI -> parameter table (see below)
SeeAlso: AH=1Bh
Format of display parameter table: Offset Size Description 00h WORD monitor model number 02h WORD vertical pixels per meter 04h WORD horizontal pixels per meter 06h WORD total vertical pixels 08h WORD total horizontal pixels 0Ah WORD horizontal pixel separation in micrometers 0Ch WORD vertical pixel separation in micrometers
AH = 15h AL = superimpose mode 00h show graphics screen 01h show text screen 02h show text screen superimposed on graphics screen
AH = 1Ah AL = 00h read display combination code Return: BL = active display code (see below) BH = alternate display code 01h set display combination code BL = active display code (see below) BH = alternate display code
Return: AL = 1Ah if function was supported
00h | |
01h | monochrome adapter w/ monochrome display |
02h | CGA w/ color display |
03h | reserved |
04h | EGA w/ color display |
05h | EGA w/ monochrome display |
06h | PGA w/ color display |
07h | VGA w/ monochrome analog display |
08h | VGA w/ color analog display |
09h | reserved |
0Ah | MCGA w/ digital color display |
0Bh | MCGA w/ monochrome analog display |
0Ch | MCGA w/ color analog display |
FFh | unknown display type |
AH = 1Bh BX = implementation type 0000h return funtionality/state information ES:DI -> 64 byte buffer for state information (see below)
Return: AL = 1Bh if function supported ES:DI buffer filled with state information
SeeAlso: AH=15h
Offset | Size | Description |
---|---|---|
00h | DWORD | address of static funtionality table (see below) |
04h | BYTE | video mode in effect |
05h | WORD | number of columns |
07h | WORD | length of regen buffer in bytes |
09h | WORD | starting address of regen buffer |
0Bh | WORD | cursor position for page 0 |
0Dh | WORD | cursor position for page 1 |
0Fh | WORD | cursor position for page 2 |
11h | WORD | cursor position for page 3 |
13h | WORD | cursor position for page 4 |
15h | WORD | cursor position for page 5 |
17h | WORD | cursor position for page 6 |
19h | WORD | cursor position for page 7 |
1Bh | WORD | cursor type |
1Dh | BYTE | active display page |
1Eh | WORD | CRTC port address |
20h | BYTE | current setting of register (3?8) |
21h | BYTE | current setting of register (3?9) |
22h | BYTE | number of rows |
23h | WORD | bytes/character |
25h | BYTE | display combination code of active display |
26h | BYTE | DCC of alternate display |
27h | WORD | number of colors supported in current mode |
29h | BYTE | number of pages supported in current mode |
2Ah | BYTE | number of scan lines active (0,1,2,3) = (200,350,400,480) |
2Bh | BYTE | primary character block |
2Ch | BYTE | secondary character block |
2Dh | BYTE | miscellaneous flags bit 0 all modes on all displays on bit 1 gray summing on bit 2 monochrome display attached bit 3 default palette loading disabled bit 4 cursor emulation enabled bit 5 0 = intensity; 1 = blinking bit 6 PS/2 P70 plasma display (without 9-dot wide font) active bit 7 reserved |
2Eh | 3 BYTEs | reserved (00h) |
31h | BYTE | video memory available 00h = 64K, 01h = 128K, 02h = 192K, 03h = 256K |
32h | BYTE | save pointer state flags bit 0 512 character set active bit 1 dynamic save area present bit 2 alpha font override active bit 3 graphics font override active bit 4 palette override active bit 5 DCC override active bit 6 reserved bit 7 reserved |
33h | 13 BYTEs | reserved (00h) |
Offset | Size | Description |
---|---|---|
00h | BYTE | modes supported #1\\bit 0 to bit 7 = 1 modes 0,1,2,3,4,5,6 supported |
01h | BYTE | modes supported #2\\bit 0 to bit 7 = 1 modes 8,9,0Ah,0Bh,0Ch,0Dh,0Eh,0Fh supported |
02h | BYTE | modes supported #3\\bit 0 to bit 3 = 1 modes 10h,11h,12h,13h supported\\bit 4 to bit 7 reserved |
03h | 4 BYTEs | reserved |
07h | BYTE | scan lines supported bit 0 to bit 2 = 1 if scan lines 200,350,400 supported |
08h | BYTE | total number of character blocks available in text modes |
09h | BYTE | maximum number of active character blocks in text modes |
0Ah | BYTE | miscellaneous function flags #1 bit 0 all modes on all displays function supported bit 1 gray summing function supported bit 2 character font loading function supported bit 3 default palette loading enable/disable supported bit 4 cursor emulation function supported bit 5 EGA palette present bit 6 color palette present bit 7 color paging function supported |
0Bh | BYTE | miscellaneous function flags #2 bit 0 light pen supported bit 1 save/restore state function 1Ch supported bit 2 intensity blinking function supported bit 3 Display Combination Code supported bit 4-7 reserved |
0Ch | WORD | reserved |
0Eh | BYTE | save pointer function flags bit 0 512 character set supported bit 1 dynamic save area supported bit 2 alpha font override supported bit 3 graphics font override supported bit 4 palette override supported bit 5 DCC extension supported bit 6 reserved bit 7 reserved |
0Fh | BYTE | reserved |
AH = 1Ch AL = 00h return state buffer size Return: BX = number of 64-byte blocks needed 01h save video state ES:BX -> buffer 02h restore video state ES:BX -> buffer containing previously saved state CX = requested states bit 0 video hardware 1 BIOS data areas 2 color registers and DAC state 3-15 reserved
Return: AL = 1Ch if function supported
AH = 1Dh
Note: this version of the BIOS jumps to a random location on this function due to a fencepost error
AX = 3000h CX = 0000h DX = 0000h
Return: CX:DX -> 3270PC configuration table (see below for format) CX:DX = 0000h:0000h if 3270PC Control Program not active == Format of 3270 PC configuration table: == Offset Size Description 00h BYTE aspect ratio X 01h BYTE aspect ratio Y 02h BYTE monitor type 00h = 5151 (mono) or 5272 (color) 01h = 3295 02h = 5151 or 5272 with XGA (???) graphics adapter 03h = 5279 with 3270PC G adapter 04h = 5379 model C01 with 3270PC GX adapter 05h = 5379 model M01 with 3270PC GX adapter 07h = non-3270PC with 3270 Workstation Program FFh = 3270PC Control Program not loaded 03h BYTE reserved 04h BYTE adapter ID 00h = 5151/5272 adapter 04h = 5151/5272 with XGA adapter 30h = 3295 or 3270PC G/GX adapter 05h BYTE reserved 06h BYTE function flags 1 bit 7: mono text, 1 page 6: color text, 1 page 5: color text, 4 pages 4: CGA color graphics 3: 720x350 two-color graphics 2: 360x350 four-color graphics 1: 720x350 eight-color graphics 07h BYTE function flags 2 bit 6: GPI graphics supported 08h WORD segment address of Control Program Level table (see below) 0Ah 10 BYTEs reserved Format of Control Program Level table: Offset Size Description 00h WORD program version 02xxh = 3270PC Control Program v2.xx 03xxh = 3270PC Control Program v3.xx 04xxh = 3270 Workstation Program v1.xx 02h BYTE Control Program ID (00h) 03h 27 BYTEs Control Program Descriptor ("IBM 3270 PC CONTROL PROGRAM") ===== 38h - Tinytalk Personal v1.09f - GET CONFIGURATION INFO ===== <code> AH = 38h
Return: ES:DI -> configuration info (see below)
Notes: Tinytalk is a shareware screen reader by OMS Development/Eric Bohlman
this call is also used as the installation check by verifying that the returned ES:DI points at valid configuration info
SeeAlso: INT 14/AX=F0F1h,INT 2F/FB00h“AutoBraille”
Offset | Size | Description |
---|---|---|
00h | 8 BYTEs | signature “TTCONFIG” |
08h | WORD | |
0Ah | BYTE | ??? |
0Bh | ??? | configuration data |
AH = 40h
SeeAlso: AH=41h
AH = 41h
SeeAlso: AH=40h
AH = 42h
SeeAlso: AH=45h
AH = 43h AL = page number (0,1)
SeeAlso: AH=44h,AH=45h
AH = 44h AL = drawing function 00h clear pixels 01h set pixels 02h invert pixels
SeeAlso: AH=45h,AH=46h,AH=4Ch,AH=4Dh
AH = 45h AL = page number (0,1)
SeeAlso: AH=42h,AH=43h
AH = 46h DI = x (0-720) BP = y (0-347)
Note: function 44h determines operation and function 43h which page to use SeeAlso: AH=0Ch,AH=47h,AH=49h,AH=4Ch,AH=4Dh
AH = 47h DI = x (0-720) BP = y (0-347)
Return: AL = 00h pixel clear
AL = 01h pixel set
Note: function 43h specifies which page is used SeeAlso: AH=0Dh,AH=46h ———-1048——————————- INT 10 - VIDEO - MOVE TO POINT (Hercules GRAFIX)
AH = 48h DI = x (0-720) BP = y (0-347)
SeeAlso: AH=49h ———-1049——————————- INT 10 - VIDEO - DRAW TO POINT (Hercules GRAFIX)
AH = 49h DI = x (0-720) BP = y (0-347)
Note: function 48h or 49h specify first point, 44h operation and 43h page to
use
SeeAlso: AH=43h,AH=44h,AH=48h,AH=4Ch,AH=4Dh ———-104A——————————- INT 10 - VIDEO - BLOCK FILL (Hercules GRAFIX)
AH = 4Ah DI = x coordinate of lower left corner BP = y coordinate of lower left corner BX = height in pixels CX = width in pixels
Note: draws a solid rectangle SeeAlso: AH=4Eh ———-104B——————————- INT 10 - VIDEO - DISPLAY CHARACTER (Hercules GRAFIX)
AH = 4Bh AL = character to display DI = x (0-720) BP = y (0-347)
Note: unlike the other BIOS character functions character position is
specified in pixels rather than rows and columns
SeeAlso: AH=09h,AH=0Ah ———-104B——————————- INT 10 - FRIEZE v7.0+ - API
AH = 4Bh CL = function 00h reserved 01h load window ES:BX -> ASCIZ filename from which to read 02h save window ES:BX -> ASCIZ filename to which to write 03h (v7.41) set ??? AL = ??? 04h (v7.41) set ??? AL = ??? 06h (v7.41) ??? AL = ??? 07h set window size ES:BX -> four-WORD structure with Xmin, Ymin, Xmax, Ymax 09h set patterns ES:BX -> 16-BYTE vector of screen->printer color correspondnces 0Ah get patterns ES:BX -> 16-BYTE buffer for color correspondences 0Bh set mode AL = mode 0Ch (v7.41) ??? AL = ??? 00h ??? (calls original INT 05) else ??? 0Dh (v7.41) ??? AL = ??? 00h ??? (calls original INT 05) else ??? 0Eh (v7.41) ??? ??? 0Fh get window ES:BX -> four-WORD buffer for Xmin, Ymin, Xmax, Ymax 10h set print options ES:BX -> printer options in same format as FRIEZE cmdline 11h (v7.41) ??? ??? 12h (v7.41) ??? ??? 13h (v7.41) ??? ??? 14h get version Return: AH = major version (00h if FRIEZE version before 7) AL = minor version 15h set parameters ES:BX -> parameter table (see below) 16h get parameters ES:BX -> buffer for parameter table (see below) 17h get printer resolution ES:BX -> 12-WORD table for six horizontal/vertical resol pairs 18h reserved (v8.0 only) 50h (v7.41) get ??? Return: AX = ??? 51h (v7.41) get ??? Return: ES = ??? (seen 2348h) AX = ??? (seen 8432h)
Return: AX = status
00h successful 01h user aborted printout with ESC 02h reserved 03h file read error 04h file write error 05h file not found 06h invalid header (not an image or wrong screen mode) 07h file close error 08h disk error 09h printer error 0Ah invalid function 0Bh can't create file 0Ch wrong video mode
SeeAlso: AH=0Fh/SI=F123h
Format of parameter table: Offset Size Description 00h WORD top margin (1/100 inch) 02h WORD left margin (1/100 inch) 04h WORD horizontal size (1/100 inch) 06h WORD vertical size (1/100 inch) 08h WORD quality/draft mode
00h draft mode 01h quality mode 02h use horizontal/vertical resolution for output resolution
0Ah WORD printer horizontal resolution (dots per inch) 0Ch WORD printer vertical resolution (dots per inch) 0Eh WORD reserved (FFFFh) Note: any field which should remain unchanged may be filled with FFFFh ———-104C——————————- INT 10 - VIDEO - DRAW ARC (Hercules GRAFIX)
AH = 4Ch AL = quadrant (1 = upper right, 2 = upper left, etc) DI = x coordinate of center BP = y coordinate of center BX = radius
SeeAlso: AH=49h,AH=4Dh ———-104D——————————- INT 10 - VIDEO - DRAW CIRCLE (Hercules GRAFIX)
AH = 4Dh DI = x of center BP = y of center BX = radius
SeeAlso: AH=49h,AH=4Ch ———-104E——————————- INT 10 - VIDEO - FILL AREA (Hercules GRAFIX)
AH = 4Eh DI = x coordinate of an interior point BP = y coordinate of an interior point
Notes: fills convex polygonal areas
the first fill makes the figure solid, the second erases it
SeeAlso: AH=4Ah ———-104F00—————————– INT 10 - VESA SuperVGA BIOS - GET SuperVGA INFORMATION
AX = 4F00h ES:DI -> 256-byte buffer for SuperVGA information (see below)
Return: AL = 4Fh function supported
AH = status 00h successful 01h failed
SeeAlso: AX=4F01h,AX=7F00h
Format of SuperVGA information: Offset Size Description 00h 4 BYTEs signature ('VESA') 04h WORD VESA version number 06h DWORD pointer to OEM name
"761295520" for ATI
0Ah 4 BYTEs capabilities 0Eh DWORD pointer to list of supported VESA and OEM video modes
(list of words terminated with FFFFh)
12h 238 BYTEs reserved ———-104F01—————————– INT 10 - VESA SuperVGA BIOS - GET SuperVGA MODE INFORMATION
AX = 4F01h CX = SuperVGA video mode ES:DI -> 256-byte buffer mode information (see below)
Return: AL = 4Fh function supported
AH = status 00h successful 01h failed
SeeAlso: AX=4F00h,AX=4F02h
Format of mode information: Offset Size Description 00h WORD mode attributes
bit 0: mode supported bit 1: optional information available bit 2: BIOS output supported bit 3: set if color, clear if monochrome bit 4: set if graphics mode, clear if text mode
02h BYTE window A attributes
bit 0: exists bit 1: readable bit 2: writable bits 3-7 reserved
03h BYTE window B attributes (as for window A) 04h WORD window granularity in K 06h WORD window size in K 08h WORD start segment of window A 0Ah WORD start segment of window B 0Ch DWORD → FAR window positioning function (equivalent to AX=4F05h) 10h WORD bytes per scan line —remainder is optional for VESA modes in v1.0/1.1, needed for OEM modes— 12h WORD width in pixels 14h WORD height in pixels 16h BYTE width of character cell in pixels 17h BYTE height of character cell in pixels 18h BYTE number of memory planes 19h BYTE number of bits per pixel 1Ah BYTE number of banks 1Bh BYTE memory model type 00h text
01h CGA graphics 02h HGC graphics 03h 16-color (EGA) graphics 04h packed pixel graphics 05h "sequ 256" (non-chain 4) graphics 06h direct color (HiColor, 24-bit color) 07h YUV 08h-0Fh reserved for VESA 10h-FFh OEM memory models
1Ch BYTE size of bank in K 1Dh BYTE number of image pages 1Eh BYTE reserved (0) —VBE v1.2+— 1Fh BYTE red mask size 20h BYTE red field position 21h BYTE green mask size 22h BYTE green field size 23h BYTE blue mask size 24h BYTE blue field size 25h BYTE reserved mask size 26h BYTE reserved mask position 27h BYTE direct color mode info 28h BYTE reserved (0) ———-104F02—————————– INT 10 - VESA SuperVGA BIOS - SET SuperVGA VIDEO MODE
AX = 4F02h BX = mode bit 15 set means don't clear video memory
Return: AL = 4Fh function supported
AH = status 00h successful 01h failed
SeeAlso: AX=4F01h,AX=4F03h
Values for VESA video mode: 00h-FFh OEM video modes (see AH=00h) 100h 640x400x256 101h 640x480x256 102h 800x600x16 103h 800x600x256 104h 1024x768x16 105h 1024x768x256 106h 1280x1024x16 107h 1280x1024x256 108h 80×60 text 109h 132×25 text 10Ah 132×43 text 10Bh 132×50 text 10Ch 132×60 text —VBE v1.2— 10Dh 320x200x32K 10Eh 320x200x64K 10Fh 320x200x16M 110h 640x480x32K 111h 640x480x64K 112h 640x480x16M 113h 800x600x32K 114h 800x600x64K 115h 800x600x16M 116h 1024x768x32K 117h 1024x768x64K 118h 1024x768x16M 119h 1280x1024x32K 11Ah 1280x1024x64K 11Bh 1280x1024x16M ———-104F03—————————– INT 10 - VESA SuperVGA BIOS - GET CURRENT VIDEO MODE
AX = 4F03h
Return: AL = 4Fh function supported
AH = status 00h successful 01h failed BX = video mode (see AX=4F02h)
SeeAlso: AX=4F02h ———-104F04—————————– INT 10 - VESA SuperVGA BIOS - SAVE/RESTORE SuperVGA VIDEO STATE
AX = 4F04h DL = subfunction 00h get state buffer size Return: BX = number of 64-byte blocks needed 01h save video states ES:BX -> buffer 02h restore video states ES:BX -> buffer CX = flags for states to save/restore bit 0: video hardware state bit 1: video BIOS data state bit 2: video DAC state bit 3: SuperVGA state
Return: AL = 4Fh function supported
AH = status 00h successful 01h failed
———-104F05—————————– INT 10 - VESA SuperVGA BIOS - CPU VIDEO MEMORY CONTROL
AX = 4F05h BH = subfunction 00h select video memory window DX = window address in video memory (in granularity units) 01h get video memory window Return: DX = window address in video memory (in gran. units) BL = window number 00h window A 01h window B
Return: AL = 4Fh function supported
AH = status 00h successful 01h failed
SeeAlso: AX=4F01h,AX=4F06h,AX=4F07h,AX=7000h/BX=0004h ———-104F06—————————– INT 10 - VESA SuperVGA BIOS v1.1 - GET/SET LOGICAL SCAN LINE LENGTH
AX = 4F06h BL = function 00h set scan line length CX = desired width in pixels 01h get scan line length
Return: AL = 4Fh if function supported
AH = status 00h successful 01h failed BX = bytes per scan line CX = number of pixels per scan line DX = maximum number of scan lines
Notes: if the desired width is not achievable, the next larger width will be
set the scan line may be wider than the visible area of the screen this function is valid in text modes, provided that values are multiplied by the character cell width/height
SeeAlso: AX=4F01h,AX=4F05h,AX=4F07h ———-104F07BH00————————- INT 10 - VESA SuperVGA BIOS v1.1 - GET/SET DISPLAY START
AX = 4F07h BH = 00h (reserved) BL = 00h set display start CX = leftmost displayed pixel in scan line DX = first displayed scan line = 01h get display start Return: BH = 00h CX = leftmost displayed pixel in scan line DX = first displayed scan line
Return: AL = 4Fh if function supported
AH = status 00h successful 01h failed
Note: this function is valid in text modes, provided that values are
multiplied by the character cell width/height
SeeAlso: AX=4F01h,AX=4F05h,AX=4F06h ———-104F08—————————– INT 10 - VESA SuperVGA BIOS v1.2+ - GET/SET DAC PALETTE CONTROL
AX = 4F08h BL = function 00h set DAC palette width BH = desired number of bits per primary color 01h get DAC palette width
Return: AL = 4Fh if function supported
AH = status BH = current number of bits per primary (06h = standard VGA)
———-104FFF—————————– INT 10 - VESA SuperVGA BIOS - Everex - TURN VESA ON/OFF
AX = 4FFFh DL = new state (00h off, 01h on)
Return: AX = 0000h if successful ———-1050——————————- INT 10 - SCROLOCK.COM - INSTALLATION CHECK
AH = 50h
Return: BX = 1954h if installed
AL = 00 if inactive, nonzero if active
Note: SCROLOCK is a utility supplied with System Enhancement Associates' ARC SeeAlso: AH=51h ———-105000—————————– INT 10 - VIDEO - AX PC - SET SCREEN COUNTRY CODE
AX = 5000h BX = country code 0001h USA (English), 0051h Japan
Return: AL = status
00h successful 01h bad country code 02h other error
SeeAlso: AX=5001h,INT 16/AX=5000h ———-105001—————————– INT 10 - VIDEO - AX PC - GET SCREEN COUNTRY CODE
AX = 5001h
Return: AL = status
00h successful BX = country code 02h error
SeeAlso: AH=00h,AX=5000h,INT 16/AX=5001h,INT 21/AH=38h ———-1051——————————- INT 10 - SCROLOCK.COM - ENABLE/DISABLE
AH = 51h AL = state 00h disable nonzero enable
Note: SCROLOCK is a utility supplied with System Enhancement Associates' ARC SeeAlso: AH=50h“SCROLOCK” ———-105100—————————– INT 10 - VIDEO - AX PC - REGISTER EXTERNAL CHARACTER
AX = 5100h BH = character width in bits (10h) BL = character height (10h) DX = character code (DH = F0h-F3h, DL=40h-7Eh,80h-FCh) ES:BP -> character bitmap
Return: AL = status (00h successful, 01h failed) SeeAlso: AX=5101h,INT 1F ———-105101—————————– INT 10 - VIDEO - AX PC - READ CHARACTER
AX = 5101h BH = character width in bits BL = character height DX = character code (DH = 00h if 8-bit character) ES:BP -> buffer for character bitmap
Return: AL = status (00h successful, 01h failed) SeeAlso: AH=09h,AX=5100h ———-105200—————————– INT 10 - VIDEO - AX PC - SET VIRTUAL TEXT RAM BUFFER
AX = 5200h BX = segment of buffer
SeeAlso: AX=5201h ———-105201—————————– INT 10 - VIDEO - AX PC - GET VIRTUAL TEXT RAM BUFFER
AX = 5201h
Return: BX = segment of buffer or 0000h if failed SeeAlso: AX=8300h,AH=FEh ———-1053——————————- INT 10 - Show Partner F/X v3.6 - START PRESENTATION
AH = 53h DS:DX -> ASCIZ name of presentation file (no path, extension forced to .PR2)
Return: ??? SeeAlso: AH=55h ———-1055——————————- INT 10 - Show Partner F/X v3.6 - UNINSTALL
AH = 55h
Return: FXSHOW.EXE removed from memory SeeAlso: AH=53h ———-105555—————————– INT 10 - VIDEO - ATI EGA/VGA Wonder Super Switch - INSTALLATION CHECK
AX = 5555h
Return: AX = AAAAh if installed
BX:CX -> ??? routine in SMS.COM resident portion -> data area in VCONFIG
Note: Super Switch (SMS.COM) is a video mode switch program supplied with
ATI EGA Wonder. It also maps video mode 08h to 27h or 23h.
SeeAlso: INT 10/AH=00h,INT 2F/AX=6400h
Format of data area: Offset Size Description 00h DWORD original INT 09 vector 04h DWORD original INT 10 vector 08h DWORD original INT 1C vector 0Ch WORD screen saver state, 0=off, 1=on 0Eh WORD blanking interval in clock ticks ———-106A00BX0000———————– INT 10 - Direct Graphics Interface Standard (DGIS) - INQUIRE AVAILABLE DEVICES
AX = 6A00h BX = 0000h CX = 0000h DX = buffer length (may be 0) ES:DI -> buffer
Return: BX = number of bytes stored in buffer
CX = bytes required for all descriptions (0 if no DGIS)
Note: buffer contains descriptions and addresses of DGIS-compatible
display(s) and printer(s)
SeeAlso: AX=6A02h ———-106A01CX0000———————– INT 10 - DGIS - REDIRECT CHARACTER OUTPUT
AX = 6A01h CX = 0000h ES:DI = address of device to send INT 10 output to
Return: CX = 0000h output could not be redirected
else INT 10h output now routed to requested display
SeeAlso: AX=6A02h ———-106A02—————————– INT 10 - DGIS - INQUIRE INT 10 OUTPUT DEVICE
AX = 6A02h ES:DI = 0000h:0000h
Return: ES:DI = 0000h:0000h if current display is non-DGIS
else address of the current DGIS INT 10 display
SeeAlso: AX=6A00h,AX=6A01h ———-106E00———————————— INT 10 - Paradise VGA internal - GET ???
AX = 6E00h
Return: AH = ??? (depends on serial number)
AL = ??? BX = ??? CL = ??? CH = ??? DX = ???
SeeAlso: AX=6E04,AX=6E05 ———-106E04————————————- INT 10 - Paradise VGA internal - GET SCREEN SIZE AND ???
AX = 6E04h
Return: BX = screen width (columns)
CX = screen height (lines) AH = ??? (05h or FFh) AL = ??? (04h or video mode)
SeeAlso: AX=6E00,AX=6E05 ———-106E05————————————- INT 10 - Paradise VGA internal - SET MODE
AX = 6E05h BL = mode
Note: like AH=0, AL=BL. SeeAlso: AH=00,AX=6E00,AX=6E04,AX=6F05h ———-106F00—————————– INT 10 - VIDEO - INSTALLATION CHECK (Video7 VGA,VEGA VGA)
AX = 6F00h
Return: BX = 5637h ('V7') indicates Video7 VGA/VEGA VGA extensions are present ———-106F01—————————– INT 10 - VIDEO - GET MONITOR INFO (Video7 VGA,VEGA VGA)
AX = 6F01h
Return: AL = monitor type code (VEGA VGA only)
AH = status register information bit 0 = display enable 0 = display enabled 1 = vertical or horizontal retrace in progress bit 1 = light pen flip flop set bit 2 = light pen switch activated bit 3 = vertical sync bit 4 = monitor resolution 0 = high resolution (>200 lines) 1 = low resolution (<=200 lines) bit 5 = display type 0 = color 1 = monochrome bits6,7= diagnostic bits
Note: bits 0-3 are the same as the EGA/VGA status register bits 0-3 ———-106F04—————————– INT 10 - VIDEO - GET MODE AND SCREEN RESOLUTION (Video7 VGA, VEGA VGA)
AX = 6F04h
Return: AL = current video mode (see AX=6F05h)
BX = horizontal columns (text) or pixels (graphics) CX = vertical columns (text) or pixels (graphics)
SeeAlso: AX=6F05h ———-106F05—————————– INT 10 - VIDEO - SET VIDEO MODE (Video7 VGA, VEGA EXTENDED EGA/VGA)
AX = 6F05h BL = mode (see below)
SeeAlso: AH=00h,AX=0070h
Values for video mode:
text/ text pixel pixel colors disp scrn system grph resol box resoltn page addr
00h-13h = standard IBM modes (see AH=00h) 40h = T 80×43 8×8 Video7/VEGA VGA 41h = T 132×25 8×14 Video7/VEGA VGA 42h = T 132×43 8×8 Video7/VEGA VGA 43h = T 80×60 8×8 Video7/VEGA VGA 44h = T 100×60 8×8 Video7/VEGA VGA 45h = T 132×28 8×8 Video7/VEGA VGA 60h = G 752×410 16 Video7 VGA, VEGA VGA 61h = G 720×540 16 Video7 VGA, VEGA VGA
= G 720x540 16 Northgate, Headland 1024i
62h = G 800×600 16 Video7 VGA, VEGA Ext EGA
= G 800x600 16 Headland 1024i
63h = G 1024×768 2 Video7 VGA 64h = G 1024×768 4 Video7 VGA 65h = G 1024×768 16 Video7 VGA, VEGA Ext EGA
= G 1024x768 16 Headland 1024i
66h = G 640×400 256 Video7 VGA, VEGA Ext VGA
= G 640x400 256 Northgate, Headland 1024i
67h = G 640×480 256 Video7 VGA, VEGA Ext VGA
= G 640x480 256 Headland 1024i
68h = G 720×540 256 Video7 VGA, VEGA Ext VGA
= G 720x540 256 Headland 1024i
69h = G 800×600 256 Video7 VGA, VEGA Ext VGA
= G 800x600 256 Headland 1024i
70h = G 752×410 16gray Video7 VGA, VEGA VGA 71h = G 720×540 16gray Video7 VGA, VEGA VGA 72h = G 800×600 16gray Video7 VGA 73h = G 1024×768 2gray Video7 VGA 74h = G 1024×768 4gray Video7 VGA 75h = G 1024×768 16gray Video7 VGA 76h = G 640×400 256gray Video7 VGA 77h = G 640×480 256gray Video7 VGA 78h = G 720×540 256gray Video7 VGA 79h = G 800×600 256gray (future) SeeAlso: AH=00h,AX=0070h,AX=007Eh,AX=6F04h ———-106F06—————————– INT 10 - VIDEO - SELECT AUTOSWITCH MODE (V7VGA,VEGA VGA)
AX = 6F06h BL = Autoswitch mode select 00h select EGA/VGA-only modes 01h select Autoswitched VGA/EGA/CGA/MGA modes 02h select 'bootup' CGA/MGA modes BH = enable/disable (00h enable, 01h = disable selection)
———-106F07—————————– INT 10 - VIDEO - GET VIDEO MEMORY CONFIGURATION (V7VGA,VEGA VGA)
AX = 6F07h
Return: AL = 6Fh
AH = bits 0-6 = number of 256K blocks of video memory bit 7 = DRAM/VRAM (0: DRAM, 1: VRAM) BH = chip revision (SR8F) (S/C Chip in VEGA VGA) BL = chip revision (SR8E) (G/A Chip in VEGA VGA) CX = 0000h
SeeAlso: AH=12h/BL=10h ———-1070——————————- INT 10 - VIDEO - GET ADDRESS OF VIDEO RAM (TANDY 2000 only)
AH = 70h
Return: AX:BX → WORD containing green plane's offset
AX:CX -> WORD containing green plane's segment AX:DX -> WORD containing segment of red (offset 0) and blue (offset 4000) planes
SeeAlso: AH=71h ———-107000BX0000———————– INT 10 - Everex Extended Video BIOS - RETURN EMULATION STATUS
AX = 7000h BX = 0000h
Return: AL = 70h if Trident-based Everex card
CL = monitor type 00h mono 01h CGA 02h EGA 03h digital multifrequency 04h IBM PS/2 05h IBM 8514 06h SuperVGA 07h analog multifrequency 08h super multifrequency CH = feature bits bits 7,6: 00 = 256K memory 01 = 512K memory 10 = 1024K 11 = 2048K memory bit 5: special oscillator present bit 4: VGA protect enabled bit 0: 6845 emulation DX = video board info bits 4-15: board ID model bits 0-3: board ID revision DI = BCD BIOS version number
Note: board models for Trident-based Everex cards:
236h Ultragraphics II 620h Vision VGA 673h EVGA 678h Viewpoint
———-107000BX0004———————– INT 10 - Everex Extended Video BIOS - GET PAGING FUNCTION POINTER FOR CURR MODE
AX = 7000h BX = 0004h
Return: ES:DI → FAR paging function (call with DL = page to set) Note: the word preceding ES:DI is the length of the function in bytes, and
the last byte of the function is a FAR return instruction.
SeeAlso: AX=4F05h,AX=7000h/BX=0000h,AX=7000h/BX=0005h ———-107000BX0005———————– INT 10 - Everex Extended Video BIOS - GET SUPPORTED MODE INFO
AX = 7000h BX = 0005h CL = maximum number of modes to get info for CH = mode type to get info for (see below) DL = monitor type to get info for ES:DI -> buffer for mode info (see below)
Return: CL = total number of modes fitting criteria
CH = size of each info record
SeeAlso: AX=7000h/BX=0000h,AX=7000h/BX=0004h
Values for mode type: 00h all modes 01h monochrome text modes 02h color text modes 03h four-color CGA graphics modes 04h two-color CGA graphics modes 05h 16-color graphics modes 06h 256-color graphics modes
Format of mode information record: Offset Size Description 00h BYTE mode number (bit 7 set if extended mode) 01h BYTE mode type (see above) 02h BYTE info bits
bits 7,6 reserved 5 monochrome mode 4 interlaced display 3 requires special oscillator 2,1 memory required 00 = 256K 01 = 512K 10 = 1024K 11 = 2048K 0 reserved
03h BYTE font height 04h BYTE text columns on screen 05h BYTE text rows on screen 06h WORD number of scan lines 08h BYTE color information
bits 7-4 reserved 3-0 bits per pixel
———-1071——————————- INT 10 - VIDEO - GET ADDRESS OF INCRAM (TANDY 2000 only)
AH = 71h
Return: AX:BX → WORD containing segment address of INCRAM
AX:CX -> WORD containing offset of INCRAM
SeeAlso: AH=70h ———-1072——————————- INT 10 - VIDEO - SCROLL RIGHT PART OR ALL OF SCREEN (TANDY 2000 only)
AH = 72h AL = number of columns to shift scroll area, 00h to clear entire area BH = new attributes for blanked columns at left CH,CL = row, column of upper left corner of scroll area DH,DL = row, column of lower right corner of scroll area
SeeAlso: AH=06h,AH=07h,AH=73h,INT 15/AH=12h/BH=05h ———-1073—————————— INT 10 - VIDEO - SCROLL LEFT PART OR ALL OF SCREEN (TANDY 2000 only)
AH = 73h AL = number of columns to shift scroll area, 00h to clear entire area BH = new attributes for blanked columns at right CH,CL = row, column of upper left corner of scroll area DH,DL = row, column of lower right corner of scroll area
SeeAlso: AH=06h,AH=07h,AH=72h,INT 15/AH=12h/BH=05h ———-107F00—————————– INT 10 - SOLLEX SuperVGA - GET EXTENSIONS INFO
AX = 7F00h
Return: AL != 7Fh if not supported
AL = 7Fh if supported AH = status 00h successful ES:DI -> info structure (see below) 01h failed
SeeAlso: AX=4F00h
Format of info structure: Offset Size Description 00h DWORD pointer to VESA function dispatch table 04h DWORD pointer to SOLLEX function dispatch table 08h DWORD pointer to VESA SuperVGA info (see AX=4F00h) 0Ch DWORD pointer to mode info structure table, consisting of
alternating ResInfo (see below) and VESA mode information (see AX=4F01h) blocks, terminated with an FFFFh word
10h DWORD pointer to font info structure table (see below) 14h WORD high resolution crystal frequency in Hz (0000h = not present) 16h DWORD pointer to ASCIZ ID string 1Ah DWORD pointer to timeout reset table
array of bytes, each a multiple of the minimum time increment
1Eh WORD minimum time increment in timer ticks 20h BYTE inverse options supported
bit 0: inverse supported bits 1-7: reserved
21h BYTE normal color value 22h BYTE inverse color value 23h WORD port to be accessed for normal/inverse settings 25h WORD type of interface chip (currently undefined) 27h WORD program operational mode
bits 1-0: 00 no preference 01 terse (minimum detail in program messages) 10 verbose 11 use menus if supported, verbose mode otherwise bits 7-2: reserved
29h WORD SOLLEX specification version 2Bh WORD version of VESA/SOLLEX implementation 2Dh DWORD offset to relocatable portion of SOLLEX extensions (for CONFIG) 2Eh DWORD offset to unused section of the extensions ROM 31h 16 BYTEs reserved Note: all DWORD pointers initially require segment fixups; if the segment
is 0000h, it should be changed to the returned ES, otherwise it may be assumed to be correct
Format of ResInfo: Offset Size Description 00h WORD 16-bit mode number 02h WORD adapter type (00h VGA, 01h EGA, 02h CGA, 03h MDA) 04h WORD display info (see AX=7F01h/BL=01h) 06h DWORD pointer to video parameter table 0Ah BYTE replacement entry in master Video Parameter 0Bh BYTE mode requested for mode set by BIOS 0Ch DWORD pointer to LoadReg table 10h BYTE index into table of clock values (see below)
Format of font info table [array] entry: Offset Size Description 00h BYTE required font height 01h BYTE parameter to load text mode font 02h BYTE parameter to load graphics mode font
Values for clock value index: 00h 25 MHz 01h 28 MHz 02h PCLK 03h 31.5 MHz (VESA 640×480) 04h reserved 05h 16 MHz (EGA) 06h PCLK 07h 24 MHz (EGA) 08h 25 MHz 09h 28 MHz 0Ah 36 MHz 0Bh 45 MHz (for 1024×768) 0Ch 80 MHz 0Dh 40 MHz 0Eh 65 MHz 0Fh 1 MHz (for powerdown) ———-107F01BL00————————- INT 10 - SOLLEX SuperVGA - ADAPTER CONTROL - SET ADAPTER
AX = 7F01h BL = 00h CX = adapter request bits 1-0: adapter type (00 VGA, 01 EGA, 10 CGA, 11 MDA) bit 2: reserved bits 4-3: change displays (00 none, 01 analog 10 digital 11 panel) bits 6-5: desired monitor sense (01 color, 10 mono, 11=8514) bit 7: lock override bit 8: alternate adapter mode bits 15-9: reserved
Return: AL != 7Fh if not supported
AL = 7Fh if supported AH = status 00h successful 01h failed
Note: initializes video hardware to a particular standard SeeAlso: AX=7F00h,AX=7F01h/BL=01h,AX=7F01h/BL=02h ———-107F01BL01————————- INT 10 - SOLLEX SuperVGA - ADAPTER CONTROL - GET ADAPTER
AX = 7F01h BL = 01h
Return: AL != 7Fh if not supported
AL = 7Fh if supported AH = status 00h successful 01h failed BX = adapter type (see AX=7F01h/BL=00h) DX = display type bits 1-0: monitor sense (00 none, 01 color, 10 mono, 11=8514) bit 2: multi-frequency analog monitor active bit 3: LCD panel active bit 4: plasma/electroluminescent panel active bit 5: PS/2-type monitor active bit 6: multi-frequency digital monitor active bit 7: Enhanced Color Display monitor active bit 8: alternate display active bits 15-9: reserved
SeeAlso: AX=7F00h,AX=7F01h/BL=00h,AX=7F01h/BL=02h ———-107F01BL02————————- INT 10 - SOLLEX SuperVGA - ADAPTER CONTROL - DETERMINE ADAPTER SUPPORT
AX = 7F01h BL = 02h CX = adapter request (see AX=7F01h/BL=00h)
Return: AL != 7Fh if not supported
AL = 7Fh if supported AH = status 00h requested setting can successfully be made 01h requested setting not available in this configuration
SeeAlso: AX=7F00h,AX=7F01h/BL=00h ———-107F02BL00————————- INT 10 - SOLLEX SuperVGA - DISPLAY OUTPUT CONTROL - SET DISPLAY OUTPUT
AX = 7F02h BL = 00h CX = display output setting bit 0: CRTC control in bits 2,1 valid bit 1: enable digital output bit 2: enable analog output bit 3: panel control in bits 5,4 valid bit 4: enable LCD output bit 5: enable plasma/EL output bit 6: inverse control in bit 7 valid bit 7: 0=normal, 1=inverse bits 15-8 reserved
Return: AL != 7Fh if not supported
AL = 7Fh if supported AH = status 00h successful 01h failed
SeeAlso: AX=7F00h,AX=7F02h/BL=00h ———-107F02BL01————————- INT 10 - SOLLEX SuperVGA - DISPLAY OUTPUT CONTROL - GET DISPLAY OUTPUT
AX = 7F02h BL = 01h
Return: AL != 7Fh if not supported
AL = 7Fh if supported AH = status 00h successful BX = display output setting (see AX=7F02h/BL=00h) CX = displays attached bit 0: PS/2 display on analog output bit 1: multi-frequency monitor on analog output bit 2: LCD panel attached bit 3: plasma/electroluminescent panel attached bit 4: multi-frequency monitor on digital output bit 5: Enhanced Color Display attached to digital outpt bit 6: alternate display bits 15-7: reserved 01h failed
SeeAlso: AX=7F00h,AX=7F02h/BL=00h ———-107F03BL00————————- INT 10 - SOLLEX SuperVGA - VIDEO SUPPORT CONTROL - GET SUPPORT INFO
AX = 7F03h BL = 00h CX = support type 0000h VGA, 0001h EGA, 0002h CGA, 0003h MDA, 0004h extensions, 0005h-0012h reserved for SOLLEX, 0013h Hercules, 0014h-001Fh reserved for SOLLEX, 0020h-00FFh reserved for OEM
Return: AL != 7Fh if not supported
AL = 7Fh if supported AH = status 00h successful CX = size of video support code DX = segment of physical video support (0000h if no ROM) ES = segment of active video support ES:DI -> information block (DI = 0000h if none available) 01h failed
SeeAlso: AX=7F03h/BL=01h ———-107F03BL01————————- INT 10 - SOLLEX SuperVGA - VIDEO SUPPORT CONTROL - INITIALIZE VIDEO SUPPORT
AX = 7F03h BL = 01h CX = support request ES = segment of support code
Return: AL != 7Fh if not supported
AL = 7Fh if supported AH = status 00h successful 01h failed
Note: initializes the indicated video support by calling ES:0003h; this
function may be used to switch the active video support back to ROM after AX=7F03h/BL=02h
SeeAlso: AX=7F03h/BL=00h ———-107F03BL02————————- INT 10 - SOLLEX SuperVGA - VIDEO SUPPORT CONTROL - GO RAM RESIDENT
AX = 7F03h BL = 02h CX = support request ES = destination segment
Return: AL != 7Fh if not supported
AL = 7Fh if supported AH = status 00h successful 01h failed
SeeAlso: AX=7F00h,AX=7F03h/BL=01h ———-107F04BL00————————- INT 10 - SOLLEX SuperVGA - POWER CONTROL - SET POWER STATE
AX = 7F04h BL = 00h CX = new power state
Return: AL != 7Fh if not supported
AL = 7Fh if supported AH = status 00h successful 01h failed
Note: higher values progressively reduce the operations available on the
video adapter while yielding increasing power savings
SeeAlso: AX=7F00h,AX=7F04h/BL=01h ———-107F04BL01————————- INT 10 - SOLLEX SuperVGA - POWER CONTROL - GET POWER STATE
AX = 7F04h BL = 01h
Return: AL != 7Fh if not supported
AL = 7Fh if supported AH = status 00h successful CX = current power state DX = maximum state 01h failed
SeeAlso: AX=7F00h,AX=7F04h/BL=00h ———-107F04BL02————————- INT 10 - SOLLEX SuperVGA - POWER CONTROL - SET TIMEOUT RESET
AX = 7F04h BL = 02h CX = timeout reset
Return: AL != 7Fh if not supported
AL = 7Fh if supported AH = status 00h successful 01h failed
SeeAlso: AX=7F00h,AX=7F04h/BL=03h ———-107F04BL03————————- INT 10 - SOLLEX SuperVGA - POWER CONTROL - GET TIMEOUT RESET
AX = 7F04h BL = 03h
Return: AL != 7Fh if not supported
AL = 7Fh if supported AH = status 00h successful BX = time increment CX = current timeout reset DX = maximum timeout reset ES:DI -> timeout reset table (array of bytes) 01h failed
Note: the timeout period is computed as (BYTE ES:[DI+CX]) * BX timer ticks SeeAlso: AX=7F00h,AX=7F04h/BL=02h ———-107F05—————————– INT 10 - SOLLEX SuperVGA - LOAD REGISTER
AX = 7F05h ES:DI -> register value table (see below)
Return: AL != 7Fh if not supported
AL = 7Fh if supported AH = status 00h successful 01h failed
SeeAlso: AH=F1h,AH=F3h,AH=F5h
Format of register value table: Offset Size Description 00h WORD base I/O register (FFFFh = end of list) 02h 2N BYTEs pairs of values to be written to the base I/O register as an
index value and the following register as a data byte
2N+2 WORD FFFFh (end of data list)
... (repeats until FFFFh base address)
———-107F06—————————– INT 10 - SOLLEX SuperVGA - MULTIPLE FONT CONTROL
AX = 7F06h BL = subfunction 00h set multiple font state CX = new state (00h off, 01h on) 01h get multiple font state Return: BL = current state (00h off, 01h on)
Return: AL != 7Fh if not supported
AL = 7Fh if supported AH = status 00h successful 01h failed
SeeAlso: AH=11h ———-107F07—————————– INT 10 - SOLLEX SuperVGA - FILL VIDEO RAM
AX = 7F07h BL = how much to fill 00h regen size 01h all video memory CX = pattern to write (normally 0720h for text modes and 0000h for gr)
Return: AL != 7Fh if not supported
AL = 7Fh if supported AH = status 00h successful 01h failed
SeeAlso: AH=06h ———-1080–DX4456———————– INT 10 U - VIDEO (DESQview 2.0x only) - internal - SET ??? HANDLER
AH = 80h DX = 4456h ('DV') ES:DI -> FAR subroutine to be called on ???
Return: DS = segment of DESQview data structure for video buffer Note: this function is probably meant for internal use only, due to the magic
value required in DX the subroutine seems to be called when the DESQview menu is accessed; on entry, AL = 03h or 04h
———-1081–DX4456———————– INT 10 U - VIDEO (DESQview 2.0x only) - internal - GET ???
AH = 81h DX = 4456h ('DV')
Return: ES = segment of DESQview data structure for video buffer
BYTE ES:[0] = current window number in DV 2.0x
Note: this function is probably meant for internal use only, due to the magic
value required in DX
SeeAlso: AH=82h ———-1082–DX4456———————– INT 10 U - VIDEO (DESQview 2.0x only) - internal - GET CURRENT WINDOW INFO
AH = 82h DX = 4456h ('DV')
Return: DS = segment in DESQview for data structure
in DV 2.00, BYTE DS:[0] = window number WORD DS:[1] = segment of other data structure WORD DS:[3] = segment of window's object handle ES = segment of DESQview data structure for video buffer AL = current window number AH = ??? BL = direct screen writes 00h program does not do direct writes 01h program does direct writes, so shadow buffer not usable BH = ??? CL = current video mode CH = ???
Note: this function is probably meant for internal use only, due to the magic
value required in DX
SeeAlso: AH=81h ———-108200—————————– INT 10 - VIDEO - AX PC - GET/SET SCROLL MODE
AX = 8200h BL = new scroll mode or FFh to get current mode 00h dynamic, 01h software
Return: AL = scroll mode (current mode if BL=FFh, previous mode otherwise) SeeAlso: AH=06h,AH=07h ———-108300—————————– INT 10 - VIDEO - AX PC - GET VIDEO RAM ADDRESS
AX = 8300h
Return: AX = offset of video RAM
ES:BX -> virtual text RAM buffer
SeeAlso: AX=5201h ———-108B——————————- INT 10 - Alloy MW386 - FORCE WORKSTATION SCREEN UPDATE
AH = 8Bh
SeeAlso: AH=92h,AH=93h ———-1090——————————- INT 10 - Alloy MW386 - GET PHYSICAL WORKSTATION DISPLAY MODE
AH = 90h
Return: AL = current video mode (see AH=00h) SeeAlso: AH=91h ———-1091——————————- INT 10 - Alloy MW386 - GET PHYSICAL WORKSTATION ADAPTER TYPE
AH = 91h
Return: AL = video adapter type
00h monochrome 01h Hercules monochrome graphics 02h CGA 03h EGA 04h VGA 80h monochrome text terminal 81h Hercules graphics terminal 82h color graphics terminal
Note: types less than 80h do not imply that the current user is on the host SeeAlso: AH=90h ———-1092——————————- INT 10 - Alloy MW386 - INHIBIT WORKSTATION SCREEN UPDATES
AH = 92h
Note: the terminal will be updated even when screen updates are inhibited if
TTY output is used
SeeAlso: AH=8Bh ———-1093——————————- INT 10 - Alloy MW386 - REDRAW SCREEN
AH = 93h
SeeAlso: AH=8Bh ———-10BF00—————————– INT 10 - VIDEO - Compaq Portable Extensions - SELECT EXTERNAL MONITOR
AX = BF00h
Note: all registers preserved and the internal monitor is blanked
the external monitor becomes the active monitor
SeeAlso: AX=BF01h ———-10BF01—————————– INT 10 - VIDEO - Compaq Portable Extensions - SELECT INTERNAL MONITOR
AX = BF01h
Note: all registers preserved and the external monitor is blanked
the internal monitor becomes the active monitor
SeeAlso: AX=BF00h ———-10BF02—————————– INT 10 - VIDEO - Compaq Portable Extensions - SET MASTER MODE OF CURRENT CTRLR
AX = BF02h BH = master mode 04h CGA 05h EGA 07h MDA
SeeAlso: AX=BF03h ———-10BF03BX0000———————– INT 10 - VIDEO - Compaq Portable/Systempro Extensions - GET ENVIRONMENT
AX = BF03h BX = 0000h
Return: BH = active monitor
00h = external 01h = internal BL = master mode 00h = switchable VDU not present 04h = CGA 05h = EGA 07h = MDA 08h = switchable LCD controller present CH = 00h (reserved) CL = switchable VDU mode supported bit 0 = CGA supported bits 1,2 = reserved (1) bit 3 = MDA supported bits 4-7 = reserved (1) DH = internal monitor type 00h = none 01h = Dual-mode monitor 02h = 5153 RGB monitor 03h = Compaq Color monitor 04h = 640x400 flat panel 07h = LCD VGA DL = external monitor type 00h = none 01h = dual-mode monitor 02h = 5153 RGB monitor 03h = Compaq Color monitor 04h = 640x400 flat panel 05h = VGC monochrome 06h = VGC color
SeeAlso: AH=1Ah,AX=BF00h,AX=BF01h,AX=BF02h ———-10BF04—————————– INT 10 - VIDEO - Compaq Portable Extensions - SET MODE SWITCH DELAY
AX = BF04h BH = new state of delay 00h enabled 01h disabled
SeeAlso: AX=BF05h ———-10BF05—————————– INT 10 - VIDEO - Compaq Systempro Extensions - ENABLE/DISABLE DISPLAY
AX = BF05h BH = new state of video 00h off 01h on
SeeAlso: AX=BF04h ———-10BF06—————————– INT 10 - VIDEO - Compaq SLT/286 - READ GRAY SCALE TABLE
AX = BF06h CL = address to be read from gray scale table
Return: AL = bit 3-0 - Value read from gray scale table
CL = address to be read from gray scale table
SeeAlso: AH=12h/BL=33h,AX=BF07h ———-10BF07—————————– INT 10 - VIDEO - Compaq SLT/286 - WRITE GRAY SCALE TABLE
AX = BF07h CH = value to write to gray scale table CL = address to be written to gray scale table
SeeAlso: AX=BF06h ———-10BF08—————————– INT 10 - VIDEO - Compaq SLT/286 - WRITE COLOR MIX REGISTERS
AX = BF08h CH = bits 7-4 - Green weight bits 3-0 - Blue weight CL = bits 7-4 - unused bits 3-0 - Red weight
———-10CC00SI0000———————– INT 10 - VIDEO - UltraVision - GET STATUS (INSTALLATION CHECK)
AX = CC00h SI = 0000h (if checking version)
Return: CX = ABCDh
AL = Ultravision extensions 00h enabled FFh disabled AH = card designator BX:00F0h -> palette values (for compatibility with NEWFONT) DX = support for high resolution modes 00h not active 01h active SI = UltraVision version number (v1.2+), high byte=major,low byte=minor = unchanged for versions <1.2
SeeAlso: AX=CC01h,AX=CC02h ———-10CC01—————————– INT 10 - VIDEO - UltraVision - DISABLE EXTENSIONS
AX = CC01h
Notes: subsequent BIOS calls will be passed through to previous handler
should be followed immediately by mode set to restore normal EGA/VGA state
SeeAlso: AX=CC02h ———-10CC02—————————– INT 10 - VIDEO - UltraVision - ENABLE EXTENSIONS
AX = CC02h
Note: should be followed immediately by mode set to restore previous
UltraVision state
SeeAlso: AX=CC01h ———-10CD00—————————– INT 10 - VIDEO - UltraVision - LOAD ULTRAVISION PALETTE (color EGA,VGA)
AX = CD00h CL = palette table number (01h-07h for v1.x, 01h-0Fh for v2+) DS:DX -> 16-byte palette register list (colors for registers 00h-0Fh)
Notes: if palette locking is in effect for the current mode, the new colors
will be displayed immediately; otherwise, the system reverts to the default palette palette table 0 is reserved for the default palette and cannot be set UltraVision always sets the border color to black
SeeAlso: AX=CD01h,AX=CD02h ———-10CD01—————————– INT 10 - VIDEO - UltraVision - SET PALETTE LOCKING STATUS (color EGA,VGA)
AX = CD01h CL = palette locking value 00h none 01h text modes only (02h,03h) FFh all modes (all standard color text and graphics modes)
Notes: intended for video modes with 16 or fewer colors SeeAlso: AX=1000h,AX=1002h,AX=CD00h,AX=CD03h ———-10CD02—————————– INT 10 - VIDEO - UltraVision - GET ULTRAVISION PALETTE (EGA,VGA)
AX = CD02h
Return: CL = palette table number
DS:DX -> 17-byte palette register list DS:SI -> current font names table (see below)
Note: only the font names are valid on monochrome EGA systems SeeAlso: AX=1009h,AX=CD00h
Format of palette register list: Offset Size Description 00h 16 BYTEs colors for palette registers 00h through 0Fh 10h BYTE border color
Format of current font names table (v2+): Offset Size standard EGA HiRes EGA VGA 00h 8 BYTEs N/A F19 font F20 font 08h 8 BYTEs F14 font F14 font F14 font 10h 8 BYTEs N/A F11 font F10 font 18h 8 BYTEs F8 font F8 font F8 font
Format of current font names table (v1.x): Offset Size HiRes EGA 00h 8 BYTEs F19/F14 font 08h 8 BYTEs F11/F8 font ———-10CD03—————————– INT 10 - VIDEO - UltraVision - GET PALETTE LOCKING STATUS (color EGA,VGA)
AX = CD03h
Return: CL = palette locking value
00h none 01h text modes only FFh all modes
SeeAlso: AX=CD01h ———-10CD04—————————– INT 10 - VIDEO - UltraVision - GET UltraVision TEXT MODE (EGA,VGA)
AX = CD04h
Return: AL = mode number
11h 80x25 12h 80x43, 80x50 13h 80x34, 80x36 14h 80x60, 80x63 19h 94x25 1Ah 94x43, 94x50 1Bh 94x36 1Ch 94x63 21h 108x25 22h 108x43, 108x50 23h 107x34, 108x36 24h 108x60, 108x63 31h 120x25 32h 120x43, 120x50 33h 132x25 34h 132x44, 132x50 39h 120x36 3Ah 120x63 3Bh 132x36 3Ch 132x60
SeeAlso: AH=0Fh,AX=CC00h,AH=CDh ———-10CD05—————————– INT 10 - VIDEO - UltraVision - SET CURSOR TYPE (EGA,VGA)
AX = CD05h CL = type 00h line cursor FFh box cursor
Note: sets default cursor type for text-based programs SeeAlso: AH=01h,AX=CD06h ———-10CD06—————————– INT 10 - VIDEO - UltraVision - GET CURSOR TYPE (EGA,VGA)
AX = CD06h
Return: CL = type
00h line cursor FFh box cursor
SeeAlso: AH=03h,AX=CD05h ———-10CD07—————————– INT 10 - VIDEO - UltraVision v1.2+ - SET UNDERLINE STATUS (EGA,VGA)
AX = CD07h CL = hardware underline status 00h off (color systems only) 01h underline below characters 02h strike through characters BL = foreground color for normal text (FFh = current) BH = foreground color for bright text (FFh = current)
Return: CL = hardware underline status
BL = current foreground color for normal text BH = current foreground color for bright text
Notes: when underline or strikeout is enabled in color text modes, the
specified colors will be assigned temporarily to colors 01h and 09h, allowing affected text to match non-underlined text. The color remapping uses values from the current onscreen palette regardless of the palette locking status (see AX=CD01h) specify the standard colors (BL=01h,BH=09h) to enable underline or strikeout without color remapping
SeeAlso: AX=CD08h ———-10CD08—————————– INT 10 - VIDEO - UltraVision v1.2+ - GET UNDERLINE STATUS (EGA,VGA)
AX = CD08h
Return: CL = hardware underline status (see AX=CD07h)
BL = foreground color for normal text BH = foreground color for bright text
Note: only CL is valid on monochrome EGA systems SeeAlso: AX=CD07h ———-10CD10—————————– INT 10 - VIDEO - UltraVision - LOAD USER FONT (EGA,VGA)
AX = CD10h BH = bytes per character (08h,0Ah,0Bh,0Eh,13h,14h) CX = ABCDh load 9xN alternate font (v2+) else number of characters to load DX = character offset into font table DS:SI -> 8-byte ASCII font name ES:BP -> font definitions
Return: AX = FFFFh if invalid font parameters Notes: loads the designated characters into UltraVision's resident font area
should be followed by a video mode set to reload character generator
SeeAlso: AX=1100h ———-10CD——————————- INT 10 - VIDEO - UltraVision - SET ULTRAVISION TEXT MODE (EGA,VGA)
AH = CDh AL = text mode number (see AX=CD04h)
Return: AX = CDCDh if invalid mode SeeAlso: AX=CD04h ———-10EF——————————- INT 10 - VIDEO - MSHERC.COM - INSTALLATION CHECK???
AH = EFh
Return: DL = video adapter type
00h original Hercules 01h ??? \ one is probably Hercules Plus, the other 02h ??? / Hercules InColor FFh non-Hercules DH = memory mode byte 01h "half" mode 03h "full" mode
Note: MSHERC.COM is a support program for the Microsoft Quick languages which
makes their graphics libraries compatible with a Hercules card by adding video modes 08h and 88h, and supporting text in the new graphics modes. While in mode 08h or 88h, INT 10 supports the Hercules card much like a CGA.
———-10F0——————————- INT 10 - EGA Register Interface Library - READ ONE REGISTER
AH = F0h BL = register number BH = 00h DX = group index Pointer/data chips 00h CRT Controller (25 reg) 3B4h mono modes, 3D4h color modes 08h Sequencer (5 registers) 3C4h 10h Graphics Controller (9 registers) 3CEh 18h Attribute Controller (20 registers) 3C0h Single registers 20h Miscellaneous Output register 3C2h 28h Feature Control register (3BAh mono modes, 3DAh color modes) 30h Graphics 1 Position register 3CCh 38h Graphics 2 Position register 3CAh
Return: BL = data Note: provided by the Microsoft Mouse driver, OS/2 compatibility box, and
others
SeeAlso: AH=F1h,AH=F2h,INT 2F/AX=BC00h
AH = F1h DX = group index (see AH=F0h) if single register: BL = value to write otherwise BL = register number BH = value to write
Return: BL = data Note: provided by the Microsoft Mouse driver, OS/2 compatibility box, and
others
SeeAlso: AX=7F05h,AH=F0h,AH=F3h
AH = F2h CH = starting register number CL = Number of registers (>1) DX = group index 00h CRTC (3B4h mono modes, 3D4h color modes) 08h Sequencer 3C4h 10h Graphics Controller 3CEh 18h Attribute Controller 3C0h ES:BX -> buffer, CL bytes
Note: provided by the Microsoft Mouse driver, OS/2 compatibility box, and
others
SeeAlso: AH=F0h,AH=F3h
AH = F3h CH = starting register CL = number of registers (>1) DX = group index (see AH=F2h) ES:BX -> buffer, CL bytes
Note: provided by the Microsoft Mouse driver, OS/2 compatibility box, and
others
SeeAlso: AX=7F05h,AH=F1h,AH=F2h
AH = F4h CX = number of registers to read (>1) ES:BX -> table of records (see below)
Return: register values in table filled in Note: provided by the Microsoft Mouse driver, OS/2 compatibility box, and
others
SeeAlso: AH=F0h,AH=F2h,AH=F5h
Offset Size Description 00h WORD group index
Pointer/data chips 00h CRTC (3B4h mono modes, 3D4h color modes) 08h Sequencer 3C4h 10h Graphics Controller 3CEh 18h Attribute Controller 3C0h Single registers 20h Miscellaneous Output register 3C2h 28h Feature Control register (3BAh mono modes, 3DAh color) 30h Graphics 1 Position register 3CCh 38h Graphics 2 Position register 3CAh
02h BYTE register number (0 for single registers) 03h BYTE register value
AH = F5h CX = number of registers to write (>1) ES:BX -> table of records (see AH=F4h)
Note: provided by the Microsoft Mouse driver, OS/2 compatibility box, and
others
SeeAlso: AX=7F05h,AH=F1h,AH=F3h,AH=F4h
AH = F6h
Note: provided by the Microsoft Mouse driver, OS/2 compatibility box, and
others
SeeAlso: AH=F7h
AH = F7h DX = port number Pointer/data chips 00h CRTC (3B4h mono modes, 3D4h color modes) 08h Sequencer 3C4h 10h Graphics Controller 3CEh 18h Attribute Controller 3C0h Single registers 20h Miscellaneous Output register 3C2h 28h Feature Control register (3BAh mono modes, 3DAh color modes) 30h Graphics 1 Position register 3CCh 38h Graphics 2 Position register 3CAh ES:BX -> table of one-byte entries, one byte to be written to each register
provided by the Microsoft Mouse driver, OS/2 compatibility box, and others
SeeAlso: AH=F6h
AH = FAh BX = 0000h
Return: BX = 0000h if mouse driver not present ES:BX -> EGA Register Interface version number, if present: byte 0 = major release number byte 1 = minor release number
provided by the Microsoft Mouse driver, OS/2 compatibility box, and others
SeeAlso: AH=F6h,INT 2F/AX=BC00h
AH = FAh
Return: AX = 00FAh if installed ES = segment of resident code
FASTBUFF.COM is a keyboard speedup/screen blanking utility by David Steiner
AH = FEh ES:DI -> assumed video buffer B800h:0000h color text/CGA graphics, B000h:0000h mono text, or A000h:0000h EGA/VGA graphics (RSIS environments only)
Return: ES:DI -> actual video buffer for calling process
if no multitasker or RSIS-compliant environment is installed, ES:DI is returned unchanged; RSIS is the Relocated Screen Interface Specification
for display pages other than 0, use AH=05h and AH=0Fh to determine whether a particular page exists
TopView requires a call to AH=FFh to notify it that the screen has changed; DESQview will check for changes itself until the first call to AH=FFh
SeeAlso: AH=05h,AX=5201h,AH=FFh,INT 15/AX=1024h,INT 21/AH=2Bh“DESQview”
AH = FFh CX = number of consecutive changed characters ES:DI -> first changed character in shadow buffer
avoid CX=0000h
DESQview will discontinue the automatic screen updating initiated by AH=FEh after this call
SeeAlso: AH=FEh
AH = FFh AL = video mode 00h 80x25 text 01h default text 02h CXxDX text 03h biggest text 04h 320x200 graphics 05h default graphics 06h CXxDX graphics 07h biggest non-interlaced graphics 08h biggest graphics
SeeAlso: AH=00h,INT 21/AH=FFh“GO32”
AX = FF00h
Return: BL = 00h not connected = 01h connected
AX = FF01h
AX = FF02h
Return: ES:DI -> ASCIZ phone number