Outils pour utilisateurs

Outils du site


back2root:ibm-pc-ms-dos:interrupts:old:ms_interrupt_list-10

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
back2root:ibm-pc-ms-dos:interrupts:old:ms_interrupt_list-10 [2023/01/05 04:01] – supprimée - modification externe (Unknown date) 127.0.0.1back2root:ibm-pc-ms-dos:interrupts:old:ms_interrupt_list-10 [2023/01/05 04:01] (Version actuelle) – créée - modification externe 127.0.0.1
Ligne 1: Ligne 1:
 +====== MSDOS - Interrupt List 10h ======
  
 +
 +===== CPU-generated (80286+) - COPROCESSOR ERROR =====
 +
 +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
 +
 +===== 00xxh - VIDEO - SET VIDEO MODE =====
 +
 +<code>
 + AH = 00h
 + AL = mode (see below)
 +</code>
 +<code>
 +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)
 +</code>
 +
 +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:
 +  * 31h for 18800
 +  * 32h for 18800-1
 +  * 33h for 18800-2
 +  * 34h for 18800-4
 +  * 35h for 18800-5
 +
 +the two bytes at C000h:0040h indicate the adapter type
 +  * "31" VGA Wonder
 +  * "32" EGA Wonder800+
 +
 +the byte at C000h:0042h contains feature flags
 +  * bit 1: mouse port present
 +  * bit 4: programmable video clock
 +
 +the byte at C000h:0044h contains additional feature flags if chipset byte > 30h
 +  * bit 0: 70 Hz non-interlaced display
 +  * bit 1: Korean (double-byte) characters
 +  * bit 2: 45 MHz memory clock rather than 40 MHz
 +  * bit 3: zero wait states
 +  * bit 4: paged ROMs
 +  * bit 6: no 8514/A monitor support
 +  * bit 7: HiColor DAC
 +
 +the installation check for Genoa video adapters is the signature 77h XXh 99h 66h at C000h:0037h, where XXh is
 +  * 00h for Genoa 6200/6300
 +  * 11h for Genoa 6400/6600
 +  * 22h for Genoa 6100
 +  * 33h for Genoa 5100/5200
 +  * 55h for Genoa 5300/5400
 +
 +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              |  40x25                                  |  8x8          |                  16gray    |  8                |  B800           | CGA,PCjr                    |
 +|      |  T              |  40x25                                  |  8x14                          16gray    |  8                |  B800           | EGA                         |
 +|      |  T              |  40x25                                  |  8x16                          16        |  8                |  B800           | MCGA                        |
 +|      |  T              |  40x25                                  |  9x16                          16        |  8                |  B800           | VGA                         |
 +| 01h  |  T              |  40x25                                  |  8x8          |                  16        |  8                |  B800           | CGA,PCjr                    |
 +|      |  T              |  40x25                                  |  8x14                          16        |  8                |  B800           | EGA                         |
 +|      |  T              |  40x25                                  |  8x16                          16        |  8                |  B800           | MCGA                        |
 +|      |  T              |  40x25                                  |  9x16                          16        |  8                |  B800           | VGA                         |
 +| 02h  |  T              |  80x25                                  |  8x8          |                  16gray    |  4                |  B800           | CGA,PCjr                    |
 +|      |  T              |  80x25                                  |  8x14                          16gray    |  4                |  B800           | EGA                         |
 +|      |  T              |  80x25                                  |  8x16                          16        |  4                |  B800           | MCGA                        |
 +|      |  T              |  80x25                                  |  9x16                          16        |  4                |  B800           | VGA                         |
 +| 03h  |  T              |  80x25                                  |  8x8          |                  16        |  4                |  B800           | CGA,PCjr                    |
 +|      |  T              |  80x25                                  |  8x14                          16        |  4                |  B800           | EGA                         |
 +|      |  T              |  80x25                                  |  8x16                          16        |  4                |  B800           | MCGA                        |
 +|      |  T              |  80x25                                  |  9x16                          16        |  4                |  B800           | VGA                         |
 +| 04h  |  G              |  40x25                                  |  8x8          |  320x200        |  4                            B800           | CGA,PCjr,EGA,MCGA,VGA       |
 +| 05h  |  G              |  40x25                                  |  8x8          |  320x200        |  4gray                        B800           | CGA,PCjr,EGA                |
 +|      |  G              |  40x25                                  |  8x8          |  320x200        |  4                            B800           | MCGA,VGA                    |
 +| 06h  |  G              |  80x25                                  |  8x8          |  640x200        |  2                            B800           | CGA,PCjr,EGA,MCGA,VGA       |
 +| 07h  |  T              |  80x25                                  |  9x14                          mono      |  var              |  B000           | MDA,Hercules,EGA            |
 +|      |  T              |  80x25                                  |  9x16                          mono      |                    B000           | VGA                         |
 +| 08h  |  G              |  20x25                                  |  8x8          |  160x200        |  16        |                                   | PCjr, Tandy 1000            |
 +|      |  T              |  132x25                                  8x8          |                  16        |                    B800           | ATI EGA/VGA Wonder [1]      |
 +|      |  T              |  132x25                                  8x8          |                  mono      |                    B000           | ATI EGA/VGA Wonder [1]      |
 +|      |  G              |  90x43                                  |  8x8          |  720x352        |  mono      |                    B000           | Hercules + MSHERC.COM       |
 +| 09h  |  G              |  40x25                                  |  8x8          |  320x200        |  16        |                                   | PCjr                        |
 +| 0Ah  |  G              |  80x25                                  |  8x8          |  640x200        |  4                                           | PCjr, Tandy 1000            |
 +| 0Bh  |                 | reserved (used internally by EGA BIOS)                                                                                  ||||||                             |
 +|      |  G              |                                                        640x200        |  16        |                                   | Tandy 1000 SL/TL            |
 +| 0Ch  |                 | reserved (used internally by EGA BIOS)                                                                                  ||||||                             |
 +| 0Dh  |  G              |  40x25                                  |  8x8          |  320x200        |  16        |  8                |  A000           | EGA,VGA                     |
 +| 0Eh  |  G              |  80x25                                  |  8x8          |  640x200        |  16        |  4                |  A000           | EGA,VGA                     |
 +| 0Fh  |  G              |  80x25                                  |  8x14          640x350        |  mono      |  2                |  A000           | EGA,VGA                     |
 +| 10h  |  G              |  80x25                                  |  8x14          640x350        |  4          2                |  A000           | 64k EGA                     |
 +|      |  G              |                                                        640x350        |  16        |                    A000           | 256k EGA,VGA                |
 +| 11h  |  G              |  80x30                                  |  8x16          640x480        |  mono      |                    A000           | VGA,MCGA,ATI EGA,ATI VIP    |
 +| 12h  |  G              |  80x30                                  |  8x16          640x480        |  16/256k                      A000           | VGA,ATI VIP                 |
 +|      |  G              |  80x30                                  |  8x16          640x480        |  16/64                        A000           | ATI EGA Wonder              |
 +|      |  G              |                                                        640x480        |  16        |                                   | UltraVision+256K EGA        |
 +| 13h  |  G              |  40x25                                  |  8x8          |  320x200        |  256/256k  |                    A000           | VGA,MCGA,ATI VIP            |
 +| 14h  |  T              |  132x25                                  Nx16                          16        |                                   | XGA, IBM Enhanced VGA [2]   |
 +|      |  G              |  80x25                                  |  8x8          |  640x200        |            |                                   | Lava Chrome II EGA          |
 +|      |  G              |                                                        640x400        |  16        |                                   | Tecmar VGA/AD               |
 +| 15h  |  G              |  80x25                                  |  8x14          640x350        |            |                                   | Lava Chrome II EGA          |
 +| 16h  |  G              |  80x25                                  |  8x14          640x350        |            |                                   | Lava Chrome II EGA          |
 +|      |  G              |                                                        800x600        |  16        |                                   | Tecmar VGA/AD               |
 +| 17h  |  G              |  80x34                                  |  8x14          640x480        |            |                                   | Lava Chrome II EGA          |
 +|      |  T              |  132x25                                                                          |                                   | Tecmar VGA/AD               |
 +| 18h  |  T              |  132x44                                  8x8          |                  mono      |                                   | Tseng Labs EVA              |
 +|      |  T              |  132x44                                  8x8          |                  16/256    |  2                |  B000           | Tseng ET4000 chipset        |
 +|      |  G              |  80x34                                  |  8x14          640x480        |            |                                   | Lava Chrome II EGA          |
 +|      |  G              |                                          1            |  024x768        |  16        |                                   | Tecmar VGA/AD               |
 +| 19h  |  T              |  132x25                                  8x14                          mono      |                                   | Tseng Labs EVA              |
 +|      |  T              |  132x25                                  8x14                          16/256    |  4                |  B000           | Tseng ET4000 chipset        |
 +| 1Ah  |  T              |  132x28                                  8x13                          mono      |                                   | Tseng Labs EVA              |
 +|      |  T              |  132x28                                  8x13                          16/256    |  4                |  B000           | Tseng ET4000 chipset        |
 +|      |  G              |                                                        640x350        |  256                                         | Tecmar VGA/AD               |
 +| 1Bh  |  G              |                                                        640x400        |  256                                         | Tecmar VGA/AD               |
 +| 1Ch  |  G              |                                                        640x480        |  256                                         | Tecmar VGA/AD               |
 +| 1Dh  |  G              |                                                        800x600        |  256                                         | Tecmar VGA/AD               |
 +| 20h  |  G              |                                                        240x128        |            |                    B000           | HP 95LX                     |
 +| 21h  |  T              |  132x60                                                                16        |  2                |  B800           | Tseng ET4000 chipset        |
 +|      |  G              |  80x43                                  |  8x8          |  720x348        |  mono      |                    B000           | DESQview 2.x+Hercules [3]   |
 +| 22h  |  T              |  132x44                                  8x8          |                            |                                   | Tseng Labs EVA              |
 +|      |  T              |  132x44                                  8x8          |                  16/256    |  2                |  B800           | Tseng ET4000 chipset        |
 +|      |  T              |  132x44                                  8x8          |                            |                                   | Ahead Systems EGA2001       |
 +|      |  T              |  132x44                                  8x8          |                  16        |  2                |  B800           | Ahead B                     |
 +|      |  T              |  132x44                                                                16        |                                   | Orchid Prodesigner VGA      |
 +|      |  T              |  132x43                                                                          |                                   | Allstar Peacock (VGA)       |
 +|      |  G              |  80x43                                  |  8x8          |  720x348        |  mono      |                    B800           | DESQview 2.x+Hercules [3]   |
 +| 23h  |  T              |  132x25                                  6x14                                    |                                   | Tseng Labs EVA              |
 +|      |  T              |  132x25                                  8x14                          16/256    |  4                |  B800           | Tseng ET4000 chipset        |
 +|      |  T              |  132x25                                  8x14                                    |                                   | Ahead Systems EGA2001       |
 +|      |  T              |  132x25                                  8x14                          16        |  4                |  B800           | Ahead B                     |
 +|      |  T              |  132x25                                  8x8          |                  16        |                    B800           | ATI EGA Wonder,ATI VIP      |
 +|      |  T              |  132x28                                                                          |                                   | Allstar Peacock (VGA)       |
 +|      |  T              |  132x28                                                                16        |                                   | Orchid Prodesigner VGA      |
 +| 24h  |  T              |  132x28                                  6x13                                    |                                   | Tseng Labs EVA              |
 +|      |  T              |  132x28                                  8x13                          16/256    |  4                |  B800           | Tseng ET4000 chipset        |
 +|      |  T              |  132x28                                  8x12                          16        |  1                |  B800           | Ahead B                     |
 +|      |  T              |  132x25                                                                          |                                   | Allstar Peacock (VGA)       |
 +|      |  T              |  132x25                                                                16        |                                   | Orchid Prodesigner VGA      |
 +| 25h  |  G              |  80x60                                  |  8x8          |  640x480        |            |                                   | Tseng Labs EVA              |
 +|      |  G              |  80x60                                  |  8x8          |  640x480        |  16/256    |  1                |  A000           | Tseng ET4000 chipset        |
 +|      |  G              |                                                        640x480        |  16        |                                   | VEGA VGA                    |
 +|      |  G              |  80x60                                  |  8x8          |  640x480        |  16        |                    A000           | Orchid Prodesigner VGA      |
 +|      |  G              |  80x60                                  |  8x8          |  640x480        |  16        |  1                |  A000           | Ahead B (same as 26h)       |
 +|      |  G              |                                                        640x480        |  16        |                                   | NEC GB-1                    |
 +| 26h  |  T              |  80x60                                  |  8x8          |                            |                                   | Tseng Labs EVA              |
 +|      |  T              |  80x60                                  |  8x8          |                  16/256    |  2                |  B800           | Tseng ET4000 chipset        |
 +|      |  T              |  80x60                                  |                                          |                                   | Allstar Peacock (VGA)       |
 +|      |  T              |  80x60                                  |                                16        |                                   | Orchid ProDesigner VGA      |
 +|      |  G              |  80x60                                  |  8x8          |  640x480        |            |                                   | Ahead Systems EGA2001       |
 +|      |  G              |  80x60                                  |  8x8          |  640x480        |  16        |  1                |  A000           | Ahead B (same as 25h)       |
 +| 27h  |  T              |  132x25                                  8x8          |                  mono      |                    B000           | ATI EGA Wonder,ATI VIP      |
 +|      |  G              |                                                        720x512        |  16        |                                   | VEGA VGA                    |
 +|      |  G              |                                                        720x512        |  16        |                                   | Genoa                       |
 +| 28h  |  T              |  ???x???                                |                                          |                                   | VEGA VGA                    |
 +| 29h  |  G              |                                                        800x600        |  16        |                                   | VEGA VGA                    |
 +|      |  G              |  100x37                                  8x16          800x600        |  16        |                    A000           | Orchid                      |
 +|      |  G              |                                                        800x600        |  16        |                    A000           | STB,Genoa,Sigma             |
 +|      |  G              |                                                        800x600        |  16        |                                   | Allstar Peacock (VGA)       |
 +|      |  G              |  100x37                                  8x16          800x600        |  16/256    |  1                |  A000           | Tseng ET3000/4000 chipset   |
 +|      |  G              |                                                        800x600        |  ???                                         | EIZO MDB10                  |
 +| 2Ah  |  T              |  100x40                                                                          |                                   | Allstar Peacock (VGA)       |
 +|      |  T              |  100x40                                  8x16                          16        |                                   | Orchid Prodesigner VGA      |
 +|      |  T              |  100x40                                  8x15                          16/256    |  4                |  B800           | Tseng ET4000 chipset        |
 +| 2Dh  |  G              |                                                        640x350        |  256                                         | VEGA VGA                    |
 +|      |  G              |                                                        640x350        |  256/256k  |                    A000           | Orchid, Genoa, STB          |
 +|      |  G              |  80x25                                  |  8x14          640x350        |  256/256k  |  1                |  A000           | Tseng ET3000/4000 chipset   |
 +| 2Eh  |  G              |                                                        640x480        |  256                                         | VEGA VGA                    |
 +|      |  G              |  80x30                                  |  8x16          640x480        |  256/256k  |                    A000           | Orchid                      |
 +|      |  G              |                                                        640x480        |  256/256k  |                    A000           | STB,Genoa,Sigma             |
 +|      |  G              |  80x30                                  |  8x16          640x480        |  256/256k  |  1                |  A000           | Tseng ET3000/4000 chipset   |
 +| 2Fh  |  T              |  160x50                                  8x8  1        280x400        |  16        |  4                |  B800           | Ahead B (Wizard/3270)       |
 +|      |  G              |                                                        720x512        |  256                                         | VEGA VGA                    |
 +|      |  G              |                                                        720x512        |  256                                         | Genoa                       |
 +|      |  G              |  80x25                                  |  8x16          640x400        |  256/256k  |  1                |  A000           | Tseng ET4000 chipset        |
 +| 30h  |  G              |                                                        800x600        |  256                                         | VEGA VGA                    |
 +|      |  G              |  100x37                                  8x16          800x600        |  256/256k  |                    A000           | Orchid                      |
 +|      |  G              |                                                        800x600        |  256/256k  |                    A000           | STB,Genoa,Sigma             |
 +|      |  G              |                                                        720x350        |  2                                           | 3270 PC                     |
 +|      |  G              |                                                        800x600        |  256                                         | Cardinal                    |
 +|      |  G              |                                                        ???x???        |            |                    B800           | AT&T 6300                   |
 +|      |  G              |  100x37                                  8x16          800x600        |  256/256k  |  1                |  A000           | Tseng ET3000/4000 chipset   |
 +| 32h  |  T              |  80x34                                  |  8x10                          16        |  4                |  B800           | Ahead B (Wizard/3270)       |
 +| 33h  |  T              |  132x44                                  8x8          |                  16        |                    B800           | ATI EGA Wonder,ATI VIP      |
 +|      |  T              |  80x34                                  |  8x8          |                  16        |  4                |  B800           | Ahead B (Wizard/3270)       |
 +| 34h  |  T              |  80x66                                  |  8x8          |                  16        |  4                |  B800           | Ahead B (Wizard/3270)       |
 +| 36h  |  G              |                                                        960x720        |  16        |                                   | VEGA VGA                    |
 +|      |  G              |                                                        960x720        |  16        |                                   | STB                         |
 +|      |  G              |                                                        960x720        |  16        |                                   | Tseng ET3000 only           |
 +| 37h  |  G              |                                          1            |  024x768        |  16        |                                   | VEGA VGA                    |
 +|      |  G              |  128x48                                  8x16 1        024x768        |  16        |                    A000           | Orchid                      |
 +|      |  G              |                                          1            |  024x768        |  16        |                    A000           | STB,Genoa,Sigma             |
 +|      |  G              |                                          1            |  024x768        |  16        |                                   | Definicon                   |
 +|      |  G              |  128x48                                  8x16 1        024x768        |  16        |  1                |  A000           | Tseng ET3000/4000           |
 +|      |  T              |  132x44                                  8x8          |                  mono      |                    B800           | ATI EGA Wonder,ATI VIP      |
 +| 38h  |  G              |                                          1            |  024x768        |  256                                         | STB VGA/EM-16 Plus (1MB)    |
 +|      |  G              |  128x48                                  8x16 1        024x768        |  256/256k  |  1                |  A000           | Tseng ET4000 chipset        |
 +|      |  G              |                                          1            |  024x768        |  256                                         | Orchid ProDesigner II       |
 +| 3Dh  |  G              |                                          1            |  280x1024        16        |                                   | Definicon                   |
 +|      |  G              |  128x64                                  8x16 1        280x1024        16        |  1                |  A000           | Tseng ET4000 BIOS v3.00[6]  |
 +| 3Eh  |  G              |                                          1            |  280x961        |  16        |                                   | Definicon                   |
 +| 40h  |  G              |  80x25                                  |  8x16          640x400        |  2          1                |  B800           | AT&T 6300, AT&T VDC600      |
 +|      |  G              |  80x25                                  |  8x16          640x400        |  2          1                |  B800           | Compaq Portable             |
 +|      |  T              |  80x43                                  |                                          |                                   | VEGA VGA, Tecmar VGA/AD     |
 +|      |  T              |  80x43                                  |                                          |                                   | Video7 V-RAM VGA            |
 +|      |  T              |  80x43                                  |                                          |                                   | Tatung VGA                  |
 +|      |  T              |  100x30                                                                16        |                                   | MORSE VGA                   |
 +| 41h  |  G              |                                                        640x200        |  16        |  1                |                 | AT&T 6300                   |
 +|      |  T              |  132x25                                                                          |                                   | VEGA VGA                    |
 +|      |  T              |  132x25                                                                          |                                   | Tatung VGA                  |
 +|      |  T              |  132x25                                                                          |                                   | Video7 V-RAM VGA            |
 +|      |  T              |  100x50                                                                16        |                                   | MORSE VGA                   |
 +| 42h  |  G              |  80x25                                  |  8x16          640x400        |  16        |                                   | AT&T 6300, AT&T VDC600      |
 +|      |  T              |  132x43                                                                          |                                   | VEGA VGA                    |
 +|      |  T              |  132x43                                                                          |                                   | Tatung VGA                  |
 +|      |  T              |  132x43                                                                          |                                   | Video7 V-RAM VGA            |
 +|      |  T              |  80x34                                  |  9x10                          4          4                |  B800           | Ahead B (Wizard/3270)       |
 +|      |  T              |  100x60                                                                16        |                                   | MORSE VGA                   |
 +| 43h  |  G              | 640x200 of 640x400 viewport                                                                                             |||||| AT&T 6300 (unsupported)     |
 +|      |  T              |  80x60                                  |                                          |                                   | VEGA VGA                    |
 +|      |  T              |  80x60                                  |                                          |                                   | Tatung VGA                  |
 +|      |  T              |  80x60                                  |                                          |                                   | Video7 V-RAM VGA            |
 +|      |  T              |  80x45                                  |  9x8          |                  4          4                |  B800           | Ahead B (Wizard/3270)       |
 +|      |  T              |  100x75                                                                16        |                                   | MORSE VGA                   |
 +| 44h  |                 | disable VDC and DEB output                                                                                              |||||| AT&T 6300                   |
 +|      |  T              |  100x60                                                                          |                                   | VEGA VGA                    |
 +|      |  T              |  100x60                                                                          |                                   | Tatung VGA                  |
 +|      |  T              |  100x60                                                                          |                                   | Video7 V-RAM VGA            |
 +| 45h  |  T              |  132x28                                                                          |                                   | Tatung VGA                  |
 +|      |  T              |  132x28                                                                          |                                   | Video7 V-RAM VGA            |
 +| 46h  |  G              |  100x40                                  8x15          800x600        |  2                                           | AT&T VDC600                 |
 +| 47h  |  G              |  100x37                                  8x16          800x600        |  16        |                                   | AT&T VDC600                 |
 +| 48h  |  G              |  80x50                                  |  8x8          |  640x400        |  2                            B800           | AT&T 6300, AT&T VDC600      |
 +| 49h  |  G              |  80x30                                  |  8x16          640x480        |            |                                   | Lava Chrome II EGA          |
 +| 4Dh  |  T              |  120x25                                                                          |                                   | VEGA VGA                    |
 +| 4Eh  |  T              |  120x43                                                                          |                                   | VEGA VGA                    |
 +| 4Fh  |  T              |  132x25                                                                          |                                   | VEGA VGA                    |
 +|      |  T              |  132x60                                                                          |                                   | some Oak Tech VGA           |
 +| 50h  |  G              |  80x30                                  |  8x16          640x480        |  16        |                                   | Paradise EGA-480            |
 +|      |  T              |  80x30                                  |  8x16                          16/256k                      B800           | Trident TVGA 8800/8900      |
 +|      |  T              |  80x34                                  |                                          |                                   | Lava Chrome II EGA          |
 +|      |  T              |  80x43                                  |                                mono      |                                   | VEGA VGA                    |
 +|      |  G              |                                                        640x480        |  mono???                                     | Taxan 565 EGA               |
 +|      |  T              |  132x25                                  9x14                          mono      |                                   | Ahead Systems EGA2001       |
 +|      |  T              |  132x25                                  9x14                          4          4                |  B800           | Ahead B                     |
 +|      |  T              |  132x25                                  8x14                          16        |  8                |  B800           | OAK Technologies VGA-16     |
 +|      |  T              |  132x30                                                                16        |                                   | MORSE VGA                   |
 +| 51h  |  T              |  80x30                                  |  8x16                                    |                                   | Paradise EGA-480            |
 +|      |  T              |  80x30                                  |                                          |                                   | Lava Chrome II EGA          |
 +|      |  G              |  80x34                                  |  8x14          640x480        |  16        |                                   | ATI EGA Wonder              |
 +|      |  T              |  80x43                                  |  8x11                          16/256k                      B800           | Trident TVGA 8800/8900      |
 +|      |  T              |  132x25                                                                mono      |                                   | VEGA VGA                    |
 +|      |  T              |  132x43                                  8x8          |                  16        |  5                |  B800           | OAK Technologies VGA-16     |
 +|      |  T              |  132x28                                  9x12                          4          4                |  B800           | Ahead B                     |
 +|      |  T              |  132x50                                                                16        |                                   | MORSE VGA                   |
 +| 52h  |  T              |  80x60                                  |                                          |                                   | Lava Chrome II EGA          |
 +|      |  T              |  80x60                                  |  8x8          |                  16/256k                      B800           | Trident TVGA 8800/8900      |
 +|      |  G              |  94x29                                  |  8x14          752x410        |  16        |                                   | ATI EGA Wonder              |
 +|      |  G              |  100x75                                  8x8          |  800x600        |  16        |  1                |  A000           | OAK Technologies VGA-16     |
 +|      |  T              |  132x43                                                                mono      |                                   | VEGA VGA                    |
 +|      |  T              |  132x44                                  9x8          |                  mono      |                                   | Ahead Systems EGA2001       |
 +|      |  T              |  132x44                                  9x8          |                  4          2                |  B800           | Ahead B                     |
 +|      |  T              |  132x60                                                                16        |                                   | MORSE VGA                   |
 +| 53h  |  G              |  100x40                                  8x14          800x560        |  16        |                                   | ATI EGA Wonder,ATI VIP      |
 +|      |  G              |                                                        640x480        |  256                                         | Oak VGA                     |
 +|      |  T              |  132x25                                  8x14                          16/256k                      B800           | Trident TVGA 8800/8900      |
 +|      |  T              |  132x43                                                                          |                                   | Lava Chrome II EGA          |
 +|      |  T              |  80x60                                  |                                16        |                                   | MORSE VGA                   |
 +|      |  G              |                                                                                  |                                   | AX PC                       |
 +| 54h  |  G              |  100x42                                  8x14          800x600        |  16        |                    A000           | ATI EGA Wonder, VGA Wonder  |
 +|      |  G              |                                                        800x600        |  256                                         | Oak VGA                     |
 +|      |  T              |  132x25                                                                          |                                   | Lava Chrome II EGA          |
 +|      |  T              |  132x30                                  8x16                          16/256k                      B800           | Trident TVGA 8800/8900      |
 +|      |  T              |  132x43                                  8x8          |                            |                                   | Paradise EGA-480            |
 +|      |  T              |  132x43                                  7x9          |                  16/256k                      B800           | Paradise VGA                |
 +|      |  T              |  132x43                                  8x9          |                  16/256k                      B800           | Paradise VGA on multisync   |
 +|      |  T              |  132x43                                                                          |                                   | Taxan 565 EGA               |
 +|      |  T              |  132x43                                                                          |                                   | AST VGA Plus                |
 +|      |  T              |  132x43                                                                          |                                   | Hewlett-Packard D1180A      |
 +|      |  T              |  132x43                                  7x9          |                  16        |                                   | AT&T VDC600                 |
 +| 55h  |  T              |  80x66                                  |  8x8          |                  16/256k                      A000           | ATI VIP                     |
 +|      |  T              |  132x25                                  8x14                                    |                                   | Paradise EGA-480            |
 +|      |  T              |  132x25                                  7x16                          16/256k                      B800           | Paradise VGA                |
 +|      |  T              |  132x25                                  8x16                          16/256k                      B800           | Paradise VGA on multisync   |
 +|      |  T              |  132x25                                                                          |                                   | Taxan 565 EGA               |
 +|      |  T              |  132x25                                                                          |                                   | AST VGA Plus                |
 +|      |  T              |  132x25                                                                          |                                   | Hewlett-Packard D1180A      |
 +|      |  T              |  132x25                                  7x16                          16        |                                   | AT&T VDC600                 |
 +|      |  T              |  132x43                                  8x11                          16/256k                      B800           | Trident TVGA 8800/8900      |
 +|      |  G              |  94x29                                  |  8x14          752x410        |            |                                   | Lava Chrome II EGA          |
 +|      |  G              |  128x48                                  8x16 1        024x768        |  16/256k                      A000           | ATI VGA Wonder v4+ [4]     |
 +|      |  G              |                                          1            |  024x768        |  16/256h                                     | ATI VGA Wonder Plus         |
 +| 56h  |  T              |  132x43                                  8x8          |                  3???      |  2                |  B000           | NSI Smart EGA+              |
 +|      |  T              |  132x43                                  7x9          |                  4                            B000           | Paradise VGA                |
 +|      |  T              |  132x43                                  8x9          |                  4                            B000           | Paradise VGA on multisync   |
 +|      |  T              |  132x43                                                                mono      |                                   | Taxan 565 EGA               |
 +|      |  T              |  132x43                                  7x9          |                  2                                           | AT&T VDC600                 |
 +|      |  T              |  132x60                                  8x8          |                  16/256k                      B800           | Trident TVGA 8800/8900      |
 +|      |  G              |                                          1            |  024x768        |  16        |                                   | Oak VGA                     |
 +| 57h  |  T              |  132x25                                  8x14                          3???      |  4                |  B000           | NSI Smart EGA+              |
 +|      |  T              |  132x25                                  7x16                          4                            B000           | Paradise VGA                |
 +|      |  T              |  132x25                                  8x16                          4                            B000           | Paradise VGA on multisync   |
 +|      |  T              |  132x25                                                                mono      |                                   | Taxan 565 EGA               |
 +|      |  T              |  132x25                                  7x16                          2                                           | AT&T VDC600                 |
 +|      |  T              |  132x25                                  9x14                          16/256k                      B800           | Trident TVGA 8800/8900      |
 +| 58h  |  G              |  100x75                                  8x8          |  800x600        |  16/256k                      A000           | Paradise VGA                |
 +|      |  G              |  100x75                                  8x8          |  800x600        |  16        |                                   | AT&T VDC600                 |
 +|      |  T              |  80x33                                  |  8x14                          16        |                    B800           | ATI EGA Wonder,ATI VIP      |
 +|      |  G              |                                                        800x600        |  16        |                                   | AST VGA Plus, Compaq VGA    |
 +|      |  G              |                                                        800x600        |  16        |                                   | Dell VGA                    |
 +|      |  G              |                                                        800x600        |  16        |                                   | Hewlett-Packard D1180A      |
 +|      |  G              |                                                        800x600        |  ???                                         | ELT VGA PLUS 16             |
 +|      |  T              |  132x30                                  9x16                          16/256k                      B800           | Trident TVGA 8800/8900      |
 +| 59h  |  G              |  100x75                                  8x8          |  800x600        |  2                            A000           | Paradise VGA                |
 +|      |  G              |  100x75                                  8x8          |  800x600        |  2                                           | AT&T VDC600                 |
 +|      |  T              |  80x66                                  |  8x8          |                  16/256k                      A000           | ATI VIP                     |
 +|      |  G              |                                                        800x600        |  2                                           | AST VGA Plus, Compaq VGA    |
 +|      |  G              |                                                        800x600        |  2                                           | Dell VGA                    |
 +|      |  G              |                                                        800x600        |  2                                           | Hewlett-Packard D1180A      |
 +|      |  T              |  132x43                                  9x11                          16/256k                      B800           | Trident TVGA 8800/8900      |
 +| 5Ah  |  T              |  132x60                                  9x8          |                  16/256k                      B800           | Trident TVGA 8800/8900      |
 +| 5Bh  |  G              |                                                        800x600        |  16        |                                   | Maxxon, SEFCO TVGA, Imtec   |
 +|      |  G              |                                                        640x350        |  256                                         | Genoa 6400                  |
 +|      |  T              |  80x30                                  |  8x16                                    |                    B800           | ATI VGA Wonder (undoc)      |
 +|      |  G              |  100x75                                  8x8          |  800x600        |  16/256k                      A000           | Trident TVGA 8800, 8900     |
 +|      |  G              |                                                        800x600        |  ???                                         | Vobis MVGA                  |
 +| 5Ch  |  G              |                                                        640x400        |  256                                         | Logix, ATI Prism Elite      |
 +|      |  G              |                                                        640x400        |  256                                         | Maxxon, SEFCO TVGA, Imtec   |
 +|      |  G              |  80x25                                  |  8x16          640x400        |  256/256    k                |  A000           | Zymos Poach, Hi Res 512     |
 +|      |  G              |  80x25                                  |  8x16          640x400        |  256/256    k                |  A000           | Trident TVGA 8800/8900      |
 +|      |  G              |                                                        640x480        |  256                                         | Genoa 6400                  |
 +| 5Dh  |  G              |                                                        640x480        |  256                                         | Logix, ATI Prism Elite      |
 +|      |  G              |                                                        640x480        |  256                                         | Maxxon, SEFCO TVGA, Imtec   |
 +|      |  G              |  80x30                                  |  8x16          640x480        |  256/256    k                |  A000           | Zymos Poach, Hi Res 512     |
 +|      |  G              |  80x30                                  |  8x16          640x480        |  256/256    k                |  A000           | Trident TVGA 8800 (512K)    |
 +| 5Eh  |  G              |                                                        640x400        |  256                                         | Paradise VGA,VEGA VGA       |
 +|      |  G              |                                                        640x400        |  256                                         | AST VGA Plus                |
 +|      |  G              |                                                        640x400        |  256                                         | Compaq VGA, Dell VGA        |
 +|      |  G              |  80x25                                  |  8x16          640x400        |  256                                         | AT&T VDC600                 |
 +|      |  G              |                                                        800x600        |  16        |                                   | Logix, ATI Prism Elite      |
 +|      |  G              |                                                        800x600        |  256                                         | Genoa 6400                  |
 +|      |  G              |  100x75                                  8x8          |  800x600        |  256/256    k                |  A000           | Zymos Poach, Trident 8900   |
 +|      |  G              |  100x75                                  8x8          |  800x600        |  256/256    k                |  A000           | Hi Res 512                  |
 +| 5Fh  |  G              |                                                        640x480        |  256                                         | Paradise VGA                |
 +|      |  G              |                                                        640x480        |  256                                         | AST VGA Plus                |
 +|      |  G              |                                                        640x480        |  256                                         | Compaq VGA, Dell VGA        |
 +|      |  G              |                                                        640x480        |  256                                         | Hewlett-Packard D1180A      |
 +|      |  G              |  80x30                                  |  8x16          640x480        |  256                                         | AT&T VDC600 (512K)          |
 +|      |  G              |                                          1            |  024x768        |  16        |                                   | Logix, ATI Prism Elite      |
 +|      |  G              |                                          1            |  024x768        |  16        |                                   | Maxxon, Genoa 6400, Imtec   |
 +|      |  G              |  128x48                                  8x16 1        024x768        |  16/256    |  k                |  A000           | Zymos Poach, Hi Res 512     |
 +|      |  G              |  128x48                                  8x16 1        024x768        |  16/256    |  k                |  A000           | Trident TVGA 88/8900 512K   |
 +| 60h  |  G              |  80x???                                                ???x400        |            |                                   | Corona/Cordata BIOS 4.10+   |
 +|      |  G              |                                                        752x410        |            |                                   | VEGA VGA                    |
 +|      |  G              |                                                        752x410        |  16        |                                   | Tatung VGA                  |
 +|      |  G              |                                                        752x410        |  16        |                                   | Video7 V-RAM VGA            |
 +|      |  G              |  80x25                                  |  8x16          640x400        |  256        1                |  A000           | Ahead A, Ahead B            |
 +|      |  G              |  128x48                                  8x16 1        024x768        |  4/256      k                |  A000           | Trident TVGA 8900           |
 +|      |  T              |  132x25                                  8x14                          16/64      8                |  B800           | Quadram Ultra VGA           |
 +| 61h  |  G              |                                                        ???x400        |            |                                   | Corona/Cordata BIOS 4.10+   |
 +|      |  G              |                                                        720x540        |            |                                   | VEGA VGA                    |
 +|      |  G              |                                                        720x540        |  16        |                                   | Tatung VGA                  |
 +|      |  G              |                                                        720x540        |  16        |                                   | Video7 V-RAM VGA            |
 +|      |  G              |  80x25                                  |  8x16          640x400        |  256                          A000           | ATI VGA Wonder,VGA Wonder+  |
 +|      |  G              |  80x30                                  |  8x16          640x480        |  256        1                |  A000           | Ahead A, Ahead B (512K)     |
 +|      |  G              |  96x64                                  |  8x16          768x1024        16/256    |  k                |  A000           | Trident TVGA 88/8900 512K   |
 +|      |  T              |  132x29                                  8x12                          16/64      8                |  B800           | Quadram Ultra VGA           |
 +| 62h  |  G              |                                                        800x600        |            |                                   | VEGA VGA                    |
 +|      |  G              |                                                        800x600        |  16        |                                   | Tatung VGA                  |
 +|      |  G              |                                                        800x600        |  16        |                                   | Video7 V-RAM VGA            |
 +|      |  G              |  80x30                                  |  8x16          640x480        |  256                          A000           | ATI VGA Wonder,VGA Wonder+  |
 +|      |  G              |  100x75                                  8x8          |  800x600        |  256        1                |  A000           | Ahead A, Ahead B (512K)     |
 +|      |  G              |  128x48                                  8x16 1        024x768        |  256/256    k                |  A000           | Trident TVGA 8900, Zymos    |
 +|      |  T              |  132x32                                  8x11                          16/64      6                |  B800           | Quadram Ultra VGA           |
 +| 63h  |  G              |                                          1            |  024x768        |  2                                           | Video7 V-RAM VGA            |
 +|      |  G              |  100x42                                  8x14          800x600        |  256                          A000           | ATI VGA Wonder,VGA Wonder+  |
 +|      |  G              |  128x48                                  7x16 1        024x768        |  256        1                |  A000           | Ahead B (1MB)               |
 +|      |  T              |  132x44                                  8x8          |                  16/64      5                |  B800           | Quadram Ultra VGA           |
 +|      |  G              |                                                        720x540        |  16        |                                   | MORSE VGA                   |
 +| 64h  |  G              |                                          1            |  024x768        |  4                                           | Video7 V-RAM VGA            |
 +|      |  G              |  128x48                                  8x16 1        024x768        |  256                          A000           | ATI VGA Wonder Plus         |
 +|      |  G              |                                                        800x600        |  16        |                                   | MORSE VGA                   |
 +|      |  G              |                                                        800x600        |  ???                                         | SAMPO-Mira VGA              |
 +| 65h  |  G              |                                          1            |  024x768        |  16        |                                   | Video7 V-RAM VGA            |
 +|      |  G              |  128x48                                  8x16 1        024x768        |  16        |                    A000           | ATI VGA Wonder              |
 +| 66h  |  G              |                                                        640x400        |  256                                         | Tatung VGA                  |
 +|      |  G              |                                                        640x400        |  256                                         | Video7 V-RAM VGA            |
 +| 67h  |  G              |                                                        640x480        |  256                                         | Video7 V-RAM VGA            |
 +|      |  G              |  128x48                                  8x16 1        024x768        |  4                            A000           | ATI VGA Wonder              |
 +| 69h  |  G              |                                                        720x540        |  256                                         | Video7 V-RAM VGA            |
 +| 6Ah  |  G              |                                                        800x600        |  16        |                    A000           | VESA standard interface     |
 +|      |  G              |                                                        800x600        |  16        |                                   | Genoa 6400                  |
 +|      |  G              |                                                        800x600        |  16        |                    A000           | Ahead A                     |
 +|      |  G              |  100x75                                  8x8          |  800x600        |  16        |  1                |  A000           | Ahead B (VESA) (see 71h)    |
 +|      |  G              |                                                        800x600        |  16        |                                   | Zymos Poach, Hi Res 512     |
 +|      |  G              |                                                        800x600        |  16        |                                   | Epson LT-386SX in CRT Mode  |
 +|      |  G              |                                                        800x600        |  16        |                                   | Compuadd 316SL in CRT Mode  |
 +|      |  G              |  100x42                                  8x14          800x600        |            |                    A000           | ATI VGA Wonder (undoc)      |
 +| 70h  |  G              |                                                        800x600        |  16        |                                   | C&T chipset, Cardinal       |
 +|      |  G              |  90x28                                  |  8x14          720x392        |  16        |  1                |  A000           | Ahead B                     |
 +|      |  T              |  40x25                                  |  8x8          |                  16        |  8                |  B800           | Quadram (CGA double scan)   |
 +|      |                 | extended mode set (see AX=0070h)                                                                                        |||||| Everex Micro Enhancer EGA   |
 +| 71h  |  G              |  100x35                                  8x16          800x600        |  16of64    |                    A000           | NSI Smart EGA+              |
 +|      |  G              |                                                        960x720        |  16        |                                   | C&T chipset, Cardinal       |
 +|      |  G              |  100x75                                  8x8          |  800x600        |  16        |  1                |  A000           | Ahead B (same as 6Ah)       |
 +|      |  T              |  80x25                                  |  8x8          |                  16        |  8                |  B800           | Quadram (CGA double scan)   |
 +| 72h  |  G              |                                          1            |  024x768        |  16        |                                   | C&T chipset, Cardinal       |
 +|      |  T              |  80x60                                  |  8x8          |                  16        |                    B800           | Quadram Ultra VGA           |
 +|      |  G              |                                                        640x480        |  32768                        A000           | ATI                         |
 +| 73h  |  G              |  80x60                                  |  8x8          |  640x480        |  16???                        A000           | Quadram Ultra VGA           |
 +| 74h  |  G              |                                                        640x400        |  2                            B800           | Toshiba 3100 AT&T mode      |
 +|      |  G              |  128x48                                  8x16 1        024x768        |  16        |  1                |  A000           | Ahead A, Ahead B (512K)     |
 +|      |  T              |  80x66                                  |  8x8          |                  16        |                    B800           | Quadram Ultra VGA           |
 +| 75h  |  G              |  128x48                                  8x16 1        024x768        |  4          1                |  A000           | Ahead B                     |
 +|      |  G              |  80x66                                  |                640x528        |  16???                        A000           | Quadram Ultra VGA           |
 +|      |  G              |                                                        640x528        |  16        |                                   | Geno Super EGA Hirez+       |
 +| 76h  |  G              |  128x48                                  8x16 1        024x768        |  2          1                |  A000           | Ahead B                     |
 +|      |  T              |  94x29                                  |  8x14                          16        |                    B800           | Quadram Ultra VGA           |
 +| 77h  |  G              |  94x29                                  |                752x410        |  16???                        A000           | Quadram Ultra VGA           |
 +|      |  G              |                                                        752x410        |  16        |                                   | Genoa Super EGA Hirez+      |
 +| 78h  |  G              |                                                        640x400        |  256                                         | STB VGA/EM-16 Plus          |
 +|      |  G              |                                                        640x400        |  256                                         | Cardinal, C&T chipset       |
 +|      |  T              |  100x75                                  8x8          |                  16        |                    B800           | Quadram Ultra VGA           |
 +| 79h  |  G              |                                                        640x480        |  256                                         | Cardinal, C&T chipset       |
 +|      |  G              |  100x75                                                800x600        |  16???                        A000           | Quadram Ultra VGA           |
 +|      |  G              |                                                        800x600        |  16        |                                   | Genoa Super EGA Hirez+      |
 +| 7Ah  |  G              |                                                        720x540        |  256                                         | C&T chipset, Cardinal       |
 +|      |  T              |  114x60                                  8x8          |                  16        |                    B800           | Quadram Ultra VGA           |
 +| 7Bh  |  G              |                                                        800x600        |  256                                         | C&T chipset, Cardinal       |
 +|      |  G              |  114x60                                                912x480        |  16???                        A000           | Quadram Ultra VGA           |
 +|      |  G              |                                                        912x480        |  16        |                                   | Genoa Super EGA Hirez+      |
 +| 7Ch  |  G              |                                                        512x512        |  16        |                                   | Genoa                       |
 +| 7Dh  |  G              |                                                        512x512        |  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              |  80x25                                  |                                B&                                        | AT&T VDC overlay mode [5]   |
 +| 83h  |  T              |  80x25                                  |                                          |                                   | AT&T VDC overlay mode [5]   |
 +| 86h  |  G              |                                                        640x200        |  B&                                        | AT&T VDC overlay mode [5]   |
 +| 88h  |  G              |  90x43                                  |  8x8          |  720x352        |  mono      |                    B000           | Hercules + MSHERC.COM       |
 +| C0h  |  G              |                                                        640x400        |  2/prog    |  pallet                           | AT&T VDC overlay mode [5]   |
 +| C4h  |                  disable output                                                                  |                                   | AT&T VDC overlay mode [5]   |
 +| D0h  |  G              |                                                        640x400        |  2                            B800           | DEC VAXmate AT&T mode       |
 +
 +<WRAP round info>
 +[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) 132x25 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.
 +</WRAP>
 +
 +==== 0070h - VIDEO - Everex Micro Enhancer EGA/Viewpoint VGA - EXTENDED MODE SET ====
 +
 +<code>
 + AX = 0070h
 + BL = mode (see below)
 +</code>
 +
 +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                            |                640x480        |  16      |                                multsync  | EGA,VGA          |
 +| 01h  |  G                            |                752x410        |  16      |                                multsync  | EGA,VGA          |
 +| 02h  |  G                            |                800x600        |  16      |                                multsync  | EGA,VGA          |
 +| 03h  |  T              80x34                                                |                                multsync  | EGA,VGA          |
 +| 04h  |  T              80x60                                                |                                multsync  | EGA,VGA          |
 +| 05h  |  T              94x29                                                |                                multsync  | EGA only         |
 +| 06h  |  T              94x51                                                |                                multsync  | EGA only         |
 +| 07h  |  T              100x43        |  8x14                          16      |                                          | VGA only         |
 +| 08h  |  T              100x75        |  8x8          |                  16      |                                          | VGA only         |
 +| 09h  |  T              80x44                                                |                                EGA       | EGA only         |
 +| 0Ah  |  T              132x25        |                                        |                                EGA       | EGA,VGA          |
 +| 0Bh  |  T              132x44        |                                        |                                EGA       | EGA,VGA          |
 +| 0Ch  |  T              132x25        |                                        |                                CGA       | EGA only         |
 +| 0Dh  |  T              80x44                                                |                                mono      | EGA only         |
 +| 0Eh  |  T              132x25        |                                        |                                mono      |                  |
 +| 0Fh  |  T              132x44        |                                        |                                mono      |                  |
 +| 10h  |                |  reserved      |                                        |                                          |                  |
 +| 11h  |  G                            |                1280x350        4                                                | EGA only         |
 +| 12h  |  G                            |                1280x600        4                                                | EGA only         |
 +| 13h  |  G                            |                640x350        |  256                                              | EGA,EV673        |
 +| 14h  |  G                            |                640x400        |  256                                              |                  |
 +| 15h  |  G                            |                512x480        |  256                                              |                  |
 +| 16h  |  T              80x30          8x16                          256                                              | VGA only         |
 +| 18h  |  T              100x27        |  8x16                          16      |                                          | VGA only         |
 +| 20h  |  G                            |                1024x768        16      |                                          | Everex 629,678   |
 +|      |                |                |                                        |                                          | Everex EV-673    |
 +| 21h  |  T              160x64        |  8x16          1280x1024      |  16      |                                          | 1MB VGA only     |
 +| 30h  |  G                            |                640x480        |  256                                              | Everex 629,678   |
 +|      |                |                |                                        |                                          | Everex EV-673    |
 +| 31h  |  G                            |                800x600        |  256                                              | Everex 629,678   |
 +|      |                |                |                                        |                                          | Everex EV-673    |
 +| 32h  |  G              128x48        |  8x16          1024x768        256                                              | 1MB VGA only     |
 +| 40h  |  T              132x30        |  8x16                          16      |                                          | VGA only         |
 +| 50h  |  T              132x32        |  8x16                          mono    |                                          | VGA only         |
 +| 62h  |  G              40x25          8x8          |  320x200        |  32K                                              | Vwpt TC (EV629)  |
 +| 70h  |  G              64x30          8x16          512x480        |  32K                                              | Viewpoint TC     |
 +| 71h  |  G              80x30          8x16          640x480        |  32K                                              | Viewpoint TC     |
 +| 76h  |  G              64x30          8x16          512x480        |  16M                                              | Viewpoint TC     |
 +| 77h  |  G              80x30          8x16          640x480        |  16M                                              | Viewpoint TC     |
 +=== 007Eh - VIDEO - Paradise VGA, AT&T VDC600 - SET SPECIAL MODE ====
 +<code>
 + 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)
 +</code>
 +
 +SeeAlso: AH=00h,AX=0070h,AX=007Fh,AX=6F05h,AH=FFh"GO32"
 +==== 007Fh - VIDEO - Paradise VGA, AT&T VDC600 - EXTENDED FUNCTIONS ====
 +<code>
 + 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)
 +</code>
 +
 +SeeAlso: AX=007Eh
 +
 +===== 01h - VIDEO - SET TEXT-MODE CURSOR SHAPE =====
 +<code>
 + 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)
 +</code>
 +
 +<WRAP center round info>
 +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
 +</WRAP>
 +
 +<WRAP center round important>
 +BUG: AMI 386 BIOS and AST Premier 386 BIOS will lock up the system if AL is not equal to the current video mode
 +</WRAP>
 +
 +SeeAlso: AH=03h,AX=CD05h
 +
 +===== 02h - VIDEO - SET CURSOR POSITION =====
 +<code>
 + 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)
 +</code>
 +
 +SeeAlso: AH=03h,AH=05h,INT 60/DI=030Bh
 +
 +===== 03h - VIDEO - GET CURSOR POSITION AND SIZE =====
 +<code>
 + 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)
 +</code>
 +
 +<WRAP center round info>
 +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
 +</WRAP>
 +
 +SeeAlso: AH=01h,AH=02h
 +
 +===== 04h - VIDEO - READ LIGHT PEN POSITION (except VGA) =====
 +<code>
 + AH = 04h
 +</code>
 +<code>
 +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
 +</code>
 +<WRAP round box>
 +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
 +</WRAP>
 +===== 05h - VIDEO -  SELECT ACTIVE DISPLAY PAGE =====
 +==== 050xh - VIDEO -  SELECT ACTIVE DISPLAY PAGE ====
 +<code>
 + AH = 05h
 + AL = new page number (00h to number of pages - 1) (see AH=00h)
 +</code>
 +<WRAP round box>
 +to determine whether the requested page actually exists, use AH=0Fh to query the current page after making this call
 +</WRAP>
 +
 +SeeAlso: AH=0Fh
 +==== 058xh - VIDEO - MANIPULATE CRT/CPU PAGE REGISTERS (PCjr) ====
 +<code>
 + 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
 +</code>
 +<WRAP round box>
 +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
 +</WRAP>
 +=== 050xh - VIDEO - GRAPHICS BITMAP BUFFER (Corona/Cordata BIOS v4.10+) ====
 +<code>
 + 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
 +</code>
 +
 +===== 06h - VIDEO - SCROLL UP WINDOW =====
 +<code>
 + 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
 +</code>
 +<WRAP round box>
 +affects only the currently active page (see AH=05h)
 +</WRAP>
 +<WRAP round important>
 +some implementations have a bug which destroys BP
 +</WRAP>
 +
 +SeeAlso: AH=07h,AH=72h,AH=73h,AX=7F07h
 +
 +===== 07h - VIDEO - SCROLL DOWN WINDOW =====
 +<code>
 + 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
 +</code>
 +<WRAP round box>
 +affects only the currently active page (see AH=05h)
 +</WRAP>
 +<WRAP round important>
 +some implementations have a bug which destroys BP
 +</WRAP>
 +
 +SeeAlso: AH=06h,AH=72h,AH=73h
 +
 +===== 08h - VIDEO - READ CHARACTER AND ATTRIBUTE AT CURSOR POSITION =====
 +<code>
 + AH = 08h
 + BH = page number (00h to number of pages - 1) (see AH=00h)
 +</code>
 +<code>
 +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
 +</code>
 +<WRAP round box>
 +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
 +</WRAP>
 +
 +SeeAlso: AH=09h,AX=1003h,AX=5001h
 +
 +===== 09h - VIDEO - WRITE CHARACTER AND ATTRIBUTE AT CURSOR POSITION =====
 +<code>
 + 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
 +</code>
 +<WRAP round box>
 +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
 +</WRAP>
 +
 +SeeAlso: AH=08h,AH=0Ah,AH=4Bh,INT 17/AH=60h,INT 1F,INT 43,INT 44
 +
 +
 +===== 0Ah - VIDEO - WRITE CHARACTER ONLY AT CURSOR POSITION =====
 +<code>
 + 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
 +</code>
 +<WRAP round box>
 +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
 +</WRAP>
 +
 +SeeAlso: AH=08h,AH=09h,AH=4Bh,INT 17/AH=60h,INT 1F,INT 43,INT 44
 +
 +===== 0Bh - VIDEO - SET BACKGROUND/BORDER COLOR =====
 +<code>
 + AH = 0Bh
 + BH = 00h
 + BL = background/border color (border only in text modes)
 +</code>
 +
 +SeeAlso: AH=0Bh/BH=01h
 +
 +===== 0Bh - VIDEO - SET PALETTE =====
 +<code>
 + AH = 0BH
 + BH = 01h
 + BL = palette ID
 +     00h background, green, red, and brown/yellow
 +     01h background, cyan, magenta, and white
 +</code>
 +
 +SeeAlso: AH=0Bh/BH=00h
 +
 +===== 0Ch - VIDEO - WRITE GRAPHICS PIXEL =====
 +<code>
 + AH = 0Ch
 + BH = page number
 + AL = pixel color (if bit 7 set, value is xor'ed onto screen)
 + CX = column
 + DX = row
 +</code>
 +
 +<WRAP round box>
 +valid only in graphics modes
 +
 +BH is ignored if the current video mode supports only one page
 +</WRAP>
 +
 +SeeAlso: AH=0Dh,AH=46h
 +
 +===== 0Dh - VIDEO - READ GRAPHICS PIXEL =====
 +<code>
 + AH = 0Dh
 + BH = page number
 + CX = column
 + DX = row
 +</code>
 +<code>
 +Return: AL = pixel color
 +</code>
 +<WRAP round box>
 +valid only in graphics modes
 +
 +BH is ignored if the current video mode supports only one page
 +</WRAP>
 +
 +SeeAlso: AH=0Ch,AH=47h
 +
 +===== 0Eh - VIDEO - TELETYPE OUTPUT =====
 +
 + 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
 +
 +===== 0Fh - VIDEO - GET CURRENT VIDEO MODE =====
 +<code>
 + AH = 0Fh
 +</code>
 +<code>
 +Return: AH = number of character columns
 + AL = display mode (see AH=00h)
 + BH = active page (see AH=05h)
 +</code>
 +<WRAP round box>
 +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
 +</WRAP>
 +
 +SeeAlso: AH=00h,AH=05h,AX=1130h,AX=CD04h
 +=== 0F56h - VUIMAGE DISPLAY DRIVER (v2.20 and below) ====
 +<code>
 + 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: ???
 +</code>
 +<WRAP round box>
 +VUIMAGE is a shareware GIF/TIFF image viewer by Offe Enterprises
 +
 +the use of TSR display drivers was discontinued after v2.20
 +</WRAP>
 +
 +Format of record for DL=04h:
 +
 +^  Offset  ^  Size        ^  Description        ^
 +|  00h      WORD        | row number          |
 +|  02h      WORD        | starting column???  |
 +|  04h      WORD\\ ???  | ending column???    |
 +===== 0Fh - FRIEZE v7.41+ - INSTALLATION CHECK =====
 +<code>
 + AH = 0Fh
 + SI = F123h
 + DI = 321Fh
 +</code>
 +<code>
 +Return: AH = number of character columns
 + AL = display mode (see AH=00h)
 + BH = active page (see AH=05h)
 + SI = DI = F345h if installed
 +</code>
 +<WRAP round box>
 +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
 +</WRAP>
 +
 +SeeAlso: AH=0Fh"VIDEO",AH=4Bh"FRIEZE"
 +===== 10h =====
 +==== 10h - BIOS Window Extension v1.1 - SET WINDOW COORDINATES ====
 +<code>
 + AH = 10h
 + CH,CL = row,column of upper left corner of window
 + DH,DL = row,column of lower right corner of window
 +</code>
 +<code>
 +Return: AL = status
 +     00h successful
 +     01h failed
 + AH destroyed
 +</code>
 +<WRAP round box>
 +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
 +</WRAP>
 +
 +SeeAlso: AH=11h"Window",AH=12h"Window"
 +==== 10h - VIDEO - Eagle PC2 BIOS Rev. C - SET SCROLL SPEED ====
 +<code>
 + AH = 10h
 + AL = speed
 +     00h fast
 +     01h slow (only moves characters during vertical retrace)
 +</code>
 +Return: AH = previous speed
 +==== 1000h - VIDEO - SET SINGLE PALETTE REGISTER (PCjr,EGA,MCGA,VGA) ====
 +<code>
 + 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
 +</code>
 +<WRAP round box>
 +on MCGA, only BX = 0712h is supported
 +
 +under UltraVision, the palette locking status (see AX=CD01h) determines the outcome
 +</WRAP>
 +
 +SeeAlso: AX=1002h,AX=1007h,AX=CD01h
 +=== 1001h - VIDEO - SET BORDER (OVERSCAN) COLOR (PCjr,EGA,VGA) ====
 +<code>
 + AX = 1001h
 + BH = border color (00h-3Fh)
 +</code>
 +
 +<WRAP  round important>
 +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
 +</WRAP>
 +<WRAP round box>
 +under UltraVision, the palette locking status (see AX=CD01h) determines the outcome
 +</WRAP>
 +
 +SeeAlso: AX=1002h,AX=1008h,AX=CD01h
 +==== 1002h - VIDEO - SET ALL PALETTE REGISTERS (PCjr,EGA,VGA) ====
 +<code>
 + AX = 1002h
 + ES:DX -> palette register list
 +</code>
 +
 +<WRAP round box>
 +under UltraVision, the palette locking status (see AX=CD01h) determines the outcome
 +</WRAP>
 +
 +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                                  |
 +==== 1003h - VIDEO - TOGGLE INTENSITY/BLINKING BIT (Jr, PS, TANDY 1000, EGA, VGA) ====
 +<code>
 + AX = 1003h
 + BL = new state
 +     00h background intensity enabled
 +     01h blink enabled
 + BH = 00h to avoid problems on some adapters
 +</code>
 +<WRAP round box>
 +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
 +</WRAP>
 +
 +SeeAlso: AH=08h
 +==== 1007h - VIDEO - GET INDIVIDUAL PALETTE REGISTER (VGA,UltraVision v2+) ====
 +<code>
 + AX = 1007h
 + BL = palette or attribute (undoc) register number (see AX=1000h)
 +</code>
 +<code>
 +Return: BH = palette or attribute register value
 +</code>
 +<WRAP round box>
 +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.
 +</WRAP>
 +SeeAlso: AX=1000h,AX=1009h
 +==== 1008h - READ OVERSCAN (BORDER COLOR) REGISTER (VGA,UltraVision v2+) ====
 +<code>
 + AX = 1008h
 +</code>
 +<code>
 +Return: BH = border color (00h-3Fh)
 +</code>
 +<WRAP round box>
 +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.
 +</WRAP>
 +
 +SeeAlso: AX=1001h
 +==== 1009h - VIDEO - READ ALL PALETTE REGISTERS AND OVERSCAN REGISTER (VGA) ====
 +<code>
 + AX = 1009h
 + ES:DX -> 17-byte buffer (see AX=1002h)
 +</code>
 +<WRAP round box>
 +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.
 +</WRAP>
 +
 +SeeAlso: AX=1002h,AX=1007h,AX=CD02h
 +==== 1010h - VIDEO - SET INDIVIDUAL DAC REGISTER (VGA/MCGA) ====
 +<code>
 + 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)
 +</code>
 +
 +SeeAlso: AX=1012h,AX=1015h
 +==== 1012h - VIDEO - SET BLOCK OF DAC REGISTERS (VGA/MCGA) ====
 +
 + 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
 +==== 1013h - VIDEO - SELECT VIDEO DAC COLOR PAGE (VGA) ====
 +<code>
 + 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)
 +</code>
 +
 +<WRAP round box>
 +not valid in mode 13h
 +</WRAP>
 +
 +SeeAlso: AX=101Ah
 +==== 1015h - VIDEO - READ INDIVIDUAL DAC REGISTER (VGA/MCGA) ====
 +<code>
 + AX = 1015h
 + BL = palette register number
 +</code>
 +<code>
 +Return: DH = red value
 + CH = green value
 + CL = blue value
 +</code>
 +
 +SeeAlso: AX=1010h,AX=1017h
 +==== 1017h - VIDEO - READ BLOCK OF DAC REGISTERS (VGA/MCGA) ====
 +<code>
 + 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)
 +</code>
 +<code>
 +Return: buffer filled with CX red, green and blue triples
 +</code>
 +
 +SeeAlso: AX=1012h,AX=1015h
 +==== 1018h - U - VIDEO - SET PEL MASK (VGA/MCGA) ====
 +<code>
 + AX = 1018h
 + BL = new PEL value
 +</code>
 +
 +SeeAlso: AX=1019h
 +==== 1019h - U - VIDEO - READ PEL MASK (VGA/MCGA) ====
 +
 + AX = 1019h
 +Return: BL = value read
 +SeeAlso: AX=1018h
 +==== 101Ah - VIDEO - GET VIDEO DAC COLOR-PAGE STATE (VGA) ====
 +<code>
 + AX = 101Ah
 +</code>
 +<code>
 +Return: BL = paging mode
 +     00h four pages of 64
 +     01h sixteen pages of 16
 + BH = current page
 +</code>
 +
 +SeeAlso: AX=1013h
 +==== 101Bh - VIDEO - PERFORM GRAY-SCALE SUMMING (VGA/MCGA) ====
 +
 + AX = 101Bh
 + BX = starting palette register
 + CX = number of registers to convert
 +SeeAlso: AH=12h/BL=33h
 +==== 10F0h - VIDEO - Tseng ET-4000 BIOS - SET HiColor GRAPHICS MODE ====
 +<code>
 + AX = 10F0h
 + BL = video mode (see also AH=00h)
 +     32768-color modes:
 + 13h = 320x200
 + 2Dh = 640x350
 + 2Eh = 640x480
 + 2Fh = 640x400
 + 30h = 800x600
 +</code>
 +<code>
 +Return: AL = 10h if supported
 + AH = status
 +     00h if successful
 +     other on error
 +</code>
 +<WRAP round box>
 +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| |
 +</WRAP>
 +SeeAlso: AX=10F1h,AX=10F2h
 +==== 10F1h - VIDEO - Tseng ET-4000 BIOS - GET DAC TYPE ====
 +<code>
 + AX = 10F1h
 +</code>
 +<code>
 +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
 +</code>
 +
 +SeeAlso: AX=10F0h,AX=10F2h
 +==== 10F2h - VIDEO - Tseng ET-4000 BIOS v3.00 - ??? ====
 +<code>
 + AX = 10F2h
 + BL = ???
 +</code>
 +<code>
 +Return: AL = 10h if supported
 + AH = status???
 +     00h ???
 +     01h ???
 + BL = ???
 +</code>
 +
 +SeeAlso: AX=10F0h,AX=10F1h
 +
 +===== 11h =====
 +==== 11h - BIOS Window Extension v1.1 - GET WINDOW COORDINATES ====
 +<code>
 + AH = 11h
 +</code>
 +<code>
 +Return: CH,CL = row,column of upper left corner
 + DH,DL = row,column of lower right corner
 +</code>
 +<WRAP round box>
 +BWE is a TSR by John J. Seal published in May 1986 Dr. Dobb's Journal
 +</WRAP>
 +
 +SeeAlso: AH=10h"Window",AH=12h"Window"
 +==== 11h - VIDEO - TEXT-MODE CHARACTER GENERATOR FUNCTIONS (PS, EGA, VGA) ====
 +<code>
 + 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 ***)
 +</code>
 +SeeAlso: AX=CD10h
 +==== 11h - VIDEO - GRAPHICS-MODE CHARACTER GENERATOR FUNCTIONS (PS, EGA, VGA) ====
 +<code>
 + 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)
 +</code>
 +<WRAP round box>
 +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
 +</WRAP>
 +
 +SeeAlso: INT 1F, INT 43
 +==== 1130h - VIDEO - GET FONT INFORMATION (EGA, MCGA, VGA) ====
 +<code>
 + 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)
 +</code>
 +<code>
 +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)
 +</code>
 +<WRAP round box>
 +for UltraVision v2+, the 9xN alternate fonts follow the corresponding 8xN font at ES:BP+256N
 +</WRAP>
 +
 +SeeAlso: AX=1100h,AX=1120h,INT 1F,INT 43
 +===== 12h - BIOS Window Extension v1.1 - GET BLANKING ATTRIBUTE =====
 +<code>
 + AH = 12h
 +</code>
 +<code>
 +Return: BH = attribute to use on blanked lines when scrolling
 +</code>
 +<WRAP round box>
 +BWE is a TSR by John J. Seal published in May 1986 Dr. Dobb's Journal
 +</WRAP>
 +
 +SeeAlso: AH=11h"Window",AH=12h"Window"
 +==== 12h - 10h - VIDEO - ALTERNATE FUNCTION SELECT (PS, EGA, VGA, MCGA) - GET EGA INFO ====
 +<code>
 + AH = 12h
 + BL = 10h
 +</code>
 +<code>
 +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
 +</code>
 +<WRAP round box>
 +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
 +</WRAP>
 +==== 12h - 20h - VIDEO - ALTERNATE FUNCTION SELECT (PS,EGA,VGA,MCGA) - ALTERNATE PRTSC ====
 +<code>
 + AH = 12h
 + BL = 20h  select alternate print screen routine
 +</code>
 +<WRAP round box>
 +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
 +</WRAP>
 +
 +SeeAlso: INT 05
 +==== 12h - 2Eh - Tseng ET-4000 BIOS v3.00 - BUG ====
 +<code>
 + AH = 12h
 + BL = 2Eh
 +</code>
 +<WRAP round box>
 +due to an omitted end-of-list marker, this version of the BIOS will crash the system on this function
 +</WRAP>
 +
 +==== 12h - 30h - VIDEO - ALTERNATE FUNCTION SELECT (VGA) - SELECT VERTICAL RESOLUTION ====
 +
 + 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
 +
 +==== 12h - 31h - VIDEO - ALTERNATE FUNCTION SELECT (VGA, MCGA) - PALETTE LOADING ====
 +
 + AH = 12h
 + BL = 31h
 + AL = 00h enable default palette loading
 +      01h disable default palette loading
 +Return: AL = 12h if function supported
 +
 +==== 12h - 32h - VIDEO - ALTERNATE FUNCTION SELECT (VGA, MCGA) - VIDEO ADDRESSING ====
 +
 + AH = 12h
 + BL = 32h
 + AL = 00h enable video addressing
 +      01h disable video addressing
 +Return: AL = 12h if function supported
 +==== 12h - 33h - VIDEO - ALTERNATE FUNCTION SELECT (VGA, MCGA) - GRAY-SCALE SUMMING ====
 +
 + 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
 +==== 12h - 34h - VIDEO - ALTERNATE FUNCTION SELECT (VGA) - CURSOR EMULATION ====
 +
 + AH = 12h
 + BL = 34h
 + AL = 00h enable alphanumeric cursor emulation
 +      01h disable alphanumeric cursor emulation
 +Return: AL = 12h if function supported
 +==== 12h - 35h - VIDEO - ALTERNATE FUNCTION SELECT (PS) - DISPLAY-SWITCH INTERFACE ====
 +
 + 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
 +==== 12h - 36h - VIDEO - ALTERNATE FUNCTION SELECT (PS, VGA) - VIDEO REFRESH CONTROL ====
 +
 + AH = 12h
 + BL = 36h
 + AL = 00h enable refresh
 +      01h disable refresh
 +Return: AL = 12h if function supported
 +==== 12h - 55h - VIDEO - ALTERNATE FUNC SELECT (ATI,Tatung,Taxan) - ENHANCED FEATURES ====
 +
 + 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
 +==== 12h - 74h - Tseng ET-4000 BIOS v3.00 - BUG ====
 +
 + 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
 +==== 12h - 80h - Tseng ET-4000 BIOS v3.00 - BUG ====
 +
 + 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
 +==== 12h - BEh - Tseng ET-4000 BIOS v3.00 - BUG ====
 +
 + 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
 +==== 12h - C6h - Tseng ET-4000 BIOS v3.00 - BUG ====
 +
 + 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
 +==== 12h - F0h - Tseng ET-4000 BIOS v3.00 - BUG ====
 +
 + 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
 +
 +===== 13h - VIDEO - WRITE STRING (AT and later,EGA) =====
 +<code>
 + 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
 +</code>
 +<WRAP round box>
 +recognizes CR, LF, BS, and bell
 +
 +also available PC or XT with EGA or higher
 +
 +HP 95LX only supports write mode 00h
 +</WRAP>
 +
 +<WRAP round important>
 +BUG: on the IBM VGA Adapter, any scrolling which may occur is performed on the active page rather than the requested page
 +</WRAP>
 +
 +SeeAlso: AH=09h,AH=0Ah
 +
 +===== 14 - VIDEO =====
 +==== 1400h - VIDEO - LOAD USER-SPECIFIED LCD CHARACTER FONT (CONV,Compaq Port 386) ====
 +
 + 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
 +==== 1401h - VIDEO - LOAD SYSTEM ROM DEFAULT LCD CHARACTER FONT (CONV,CP386) ====
 +
 + AX = 1401h
 + BL = font to load
 +     00h main font (block 0)
 +     01h alternate font (block 1)
 +SeeAlso: AH=11h,AX=1400h
 +==== 1402h - VIDEO - SET MAPPING OF LCD HIGH INTENSITY ATTRIBUTES (CONV,CP386) ====
 +
 + 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)
 +
 +===== 15h - VIDEO - GET PHYSICAL DISPLAY PARAMETERS (CONVERTIBLE) =====
 +
 + 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
 +
 +===== 15xxh - VIDEO - SET SUPERIMPOSE MODE (Sperry PC) =====
 +
 + AH = 15h
 + AL = superimpose mode
 +     00h show graphics screen
 +     01h show text screen
 +     02h show text screen superimposed on graphics screen
 +
 +===== 1Ah - VIDEO - DISPLAY COMBINATION (PS,VGA/MCGA) =====
 +<code>
 + 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
 +</code>
 +<code>
 +Return: AL = 1Ah if function was supported
 +</code>
 +
 +=== Values for display combination code: ===
 +|  00h  |no display
 +|  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|
 +
 +===== 1Bh - VIDEO - FUNCTIONALITY/STATE INFORMATION (PS,VGA/MCGA) =====
 +<code>
 + AH = 1Bh
 + BX = implementation type
 +     0000h return funtionality/state information
 + ES:DI -> 64 byte buffer for state information (see below)
 +</code>
 +<code>
 +Return: AL = 1Bh if function supported
 +     ES:DI buffer filled with state information
 +</code>
 +SeeAlso: AH=15h
 +
 +== Format of state information: ==
 +^ 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)|
 +
 +== Format of Static Functionality Table: ==
 +^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|
 +
 +===== 1Ch - VIDEO - SAVE/RESTORE VIDEO STATE (PS50+,VGA) =====
 +<code>
 + 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
 +</code>
 +<code>
 +Return: AL = 1Ch if function supported
 +</code>
 +
 +===== 1Dh - Tseng ET-4000 BIOS v3.00 - BUG =====
 +<code>
 + AH = 1Dh
 +</code>
 +Note: this version of the BIOS jumps to a random location on this function due to a fencepost error
 +
 +
 +===== 3000h - VIDEO - LOCATE 3270PC CONFIGURATION TABLE (INSTALLATION CHECK) =====
 +<code>
 + AX = 3000h
 + CX = 0000h
 + DX = 0000h
 +</code>
 +<code>
 +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
 +</code>
 +<code>
 +Return: ES:DI -> configuration info (see below)
 +</code>
 +
 +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"
 +
 +== Format of configuration info: ==
 +^Offset^Size^Description^
 +|00h|8 BYTEs|signature "TTCONFIG"|
 +|08h|WORD|size of configuration data, not counting signature, this WORD, or the following byte@
 +|0Ah|BYTE|???|
 +|0Bh|???|configuration data|
 +
 +===== 40h - VIDEO - SET GRAPHICS MODE (Hercules GRAFIX) =====
 +
 + AH = 40h
 +SeeAlso: AH=41h
 +
 +===== 41h - VIDEO - SET TEXT MODE (Hercules GRAFIX) =====
 +
 + AH = 41h
 +SeeAlso: AH=40h
 +
 +===== 42h - VIDEO - CLEAR CURRENT PAGE (Hercules GRAFIX) =====
 +
 + AH = 42h
 +SeeAlso: AH=45h
 +
 +===== 43h - VIDEO - SELECT DRAWING PAGE (Hercules GRAFIX) =====
 +
 + AH = 43h
 + AL = page number (0,1)
 +SeeAlso: AH=44h,AH=45h
 +===== 44h - VIDEO - SELECT DRAWING FUNCTION (Hercules GRAFIX) =====
 +
 + AH = 44h
 + AL = drawing function
 +     00h clear pixels
 +     01h set pixels
 +     02h invert pixels
 +SeeAlso: AH=45h,AH=46h,AH=4Ch,AH=4Dh
 +
 +===== 45h - VIDEO - SELECT PAGE TO DISPLAY (Hercules GRAFIX) =====
 +
 + AH = 45h
 + AL = page number (0,1)
 +SeeAlso: AH=42h,AH=43h
 +
 +===== 46h - VIDEO - DRAW ONE PIXEL (Hercules GRAFIX) =====
 + 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
 +===== 47h - VIDEO - FIND PIXEL VALUE (Hercules GRAFIX) =====
 + 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 80x60 text
 + 109h 132x25 text
 + 10Ah 132x43 text
 + 10Bh 132x50 text
 + 10Ch 132x60 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   80x43  8x8      Video7/VEGA VGA
 + 41h = T  132x25  8x14      Video7/VEGA VGA
 + 42h = T  132x43  8x8      Video7/VEGA VGA
 + 43h = T   80x60  8x8      Video7/VEGA VGA
 + 44h = T  100x60  8x8      Video7/VEGA VGA
 + 45h = T  132x28  8x8      Video7/VEGA VGA
 + 60h = G 752x410   16      Video7 VGA, VEGA VGA
 + 61h = G 720x540   16      Video7 VGA, VEGA VGA
 +     = G 720x540   16      Northgate, Headland 1024i
 + 62h = G 800x600   16      Video7 VGA, VEGA Ext EGA
 +     = G 800x600   16      Headland 1024i
 + 63h = G        1024x768    2      Video7 VGA
 + 64h = G        1024x768    4      Video7 VGA
 + 65h = G        1024x768   16      Video7 VGA, VEGA Ext EGA
 +     = G        1024x768   16      Headland 1024i
 + 66h = G 640x400 256      Video7 VGA, VEGA Ext VGA
 +     = G 640x400 256      Northgate, Headland 1024i
 + 67h = G 640x480 256      Video7 VGA, VEGA Ext VGA
 +     = G 640x480 256      Headland 1024i
 + 68h = G 720x540 256      Video7 VGA, VEGA Ext VGA
 +     = G 720x540 256      Headland 1024i
 + 69h = G 800x600 256      Video7 VGA, VEGA Ext VGA
 +     = G 800x600 256      Headland 1024i
 + 70h = G 752x410   16gray      Video7 VGA, VEGA VGA
 + 71h = G 720x540   16gray      Video7 VGA, VEGA VGA
 + 72h = G 800x600   16gray      Video7 VGA
 + 73h = G        1024x768    2gray      Video7 VGA
 + 74h = G        1024x768    4gray      Video7 VGA
 + 75h = G        1024x768   16gray      Video7 VGA
 + 76h = G 640x400 256gray      Video7 VGA
 + 77h = G 640x480 256gray      Video7 VGA
 + 78h = G 720x540 256gray      Video7 VGA
 + 79h = G 800x600 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 640x480)
 + 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 1024x768)
 + 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
 +===== F1h - EGA Register Interface Library - WRITE ONE REGISTER =====
 +
 + 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
 +===== F2h - EGA Register Interface Library - READ REGISTER RANGE =====
 +
 + 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
 +==== F3h - EGA Register Interface Library - WRITE REGISTER RANGE ====
 +
 + 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
 +===== F4h - EGA Register Interface Library - READ REGISTER SET =====
 +
 + 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
 +
 +== Format of entries in table of register records: ==
 +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
 +===== F5h - EGA Register Interface Library - WRITE REGISTER SET =====
 +
 + 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
 +
 +===== F6h - EGA Register Interface Library - REVERT TO DEFAULT REGISTERS =====
 +
 + AH = F6h
 +Note: provided by the Microsoft Mouse driver, OS/2 compatibility box, and
 +   others
 +SeeAlso: AH=F7h
 +===== F7h - EGA Register Interface Library - DEFINE DEFAULT REGISTER TABLE =====
 +<code>
 + 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
 +</code>
 +<WRAP round box>
 +provided by the Microsoft Mouse driver, OS/2 compatibility box, and others
 +</WRAP>
 +SeeAlso: AH=F6h
 +===== FAh =====
 +==== FAh - EGA Register Interface Library - INTERROGATE DRIVER ====
 +<code>
 + AH = FAh
 + BX = 0000h
 +</code>
 +<code>
 +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
 +</code>
 +<WRAP round box>
 +provided by the Microsoft Mouse driver, OS/2 compatibility box, and others
 +</WRAP>
 +
 +SeeAlso: AH=F6h,INT 2F/AX=BC00h
 +==== FAh - FASTBUFF.COM - INSTALLATION CHECK ====
 +<code>
 + AH = FAh
 +</code>
 +<code>
 +Return: AX = 00FAh if installed
 +     ES = segment of resident code
 +</code>
 +<WRAP round box>
 +FASTBUFF.COM is a keyboard speedup/screen blanking utility by David Steiner
 +</WRAP>
 +===== FEh - TopView - GET SHADOW BUFFER =====
 +<code>
 + 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)
 +</code>
 +<code>
 +Return: ES:DI -> actual video buffer for calling process
 +</code>
 +<WRAP round box>
 +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
 +</WRAP>
 +
 +SeeAlso: AH=05h,AX=5201h,AH=FFh,INT 15/AX=1024h,INT 21/AH=2Bh"DESQview"
 +
 +===== FFh =====
 +==== FFh - TopView - UPDATE SCREEN FROM SHADOW BUFFER ====
 +<code>
 + AH = FFh
 + CX = number of consecutive changed characters
 + ES:DI -> first changed character in shadow buffer
 +</code>
 +<WRAP round box>
 +avoid CX=0000h
 +
 +DESQview will discontinue the automatic screen updating initiated by AH=FEh after this call
 +</WRAP>
 +
 +SeeAlso: AH=FEh
 +=== FFh - DJ GO32.EXE 80386+ DOS extender - VIDEO EXTENSIONS ====
 +<code>
 + 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
 +</code>
 +
 +SeeAlso: AH=00h,INT 21/AH=FFh"GO32"
 +==== FF00h - CARBON COPY PLUS v5.0 - CHECK IF CC CONNECTED TO CCHELP ====
 +<code>
 + AX = FF00h
 +</code>
 +<code>
 +Return: BL = 00h not connected
 +    = 01h connected
 +</code>
 +==== FF01h - CARBON COPY PLUS v5.0 - DISCONNECT AND RESET LINE ====
 +<code>
 + AX = FF01h
 +</code>
 +==== FF02h - CARBON COPY PLUS v5.0 - GET LAST PHONE NUMBER DIALED ====
 +<code>
 + AX = FF02h
 +</code>
 +<code>
 +Return: ES:DI -> ASCIZ phone number
 +</code>