home *** CD-ROM | disk | FTP | other *** search
/ Hot Shareware 32 / hot34.iso / ficheros / DTOOL / INTER57A.ZIP / INTERRUP.A < prev    next >
Text File  |  1998-03-22  |  357KB  |  9,361 lines

  1. Interrupt List            Release 57        Last change 22mar98
  2. Copyright (c) 1989,1990,1991,1992,1993,1994,1995,1996,1997,1998 Ralf Brown
  3. --------!---FILELIST-------------------------
  4. Please redistribute the following files unmodified as a group, in a quartet of
  5. archives named INTER57A through INTER57D (preferably the original authenticated
  6. PKZIP archives):
  7.     INTERRUP.1ST    the read-me file, containing credits, availability info
  8.     INTERRUP.A    INT 00 through INT 10/FD  \
  9.     INTERRUP.B    INT 10/FE through INT 15/11\
  10.     INTERRUP.C    INT 15/12 through INT 16/6E \
  11.     INTERRUP.D    INT 16/6F through INT 1A/AF  \
  12.     INTERRUP.E    INT 1A/B0 through INT 21/24   \      total 2381 pages at
  13.     INTERRUP.F    INT 21/25 through INT 21/51    \  60 lines per page,
  14.     INTERRUP.G    INT 21/52 through INT 21/E1    \ 2537 with INTPRINT -p
  15.     INTERRUP.H    INT 21/E2 through INT 21/F1     >(8579 entries)
  16.     INTERRUP.I    INT 21/F2 through INT 29    / (3879 tables)
  17.     INTERRUP.J    INT 2A through INT 2F/19       /
  18.     INTERRUP.K    INT 2F/1A through INT 2F/AE   /
  19.     INTERRUP.L    INT 2F/AF through INT 31/FE  /
  20.     INTERRUP.M    INT 31/FF through INT 60    /
  21.     INTERRUP.N    INT 61 through INT 66       /
  22.     INTERRUP.O    INT 67 through INT 7D      /
  23.     INTERRUP.P    INT 7E through INT FF     /
  24.     INTERRUP.PRI    a brief introduction to interrupts
  25.     INTPRINT.COM    a simple formatter that also generates a list summary
  26.     INTPRINT.DOC    instructions for INTPRINT
  27.     OVERVIEW.LST    brief listing of major uses of each interrupt
  28.     86BUGS.LST    a listing of CPU bugs and undocumented features
  29.     BIBLIO.LST    bibliography of information sources for the list
  30.     CMOS.LST    a description of the CMOS RAM data bytes
  31.     FARCALL.LST    APIs available through FAR CALLs
  32.     GLOSSARY.LST    a glossary of terms, abbreviations, and acronyms
  33.     MEMORY.LST    format of the BIOS data area
  34.     OPCODES.LST    a listing of recent and undocumented CPU instructions
  35.     PORTS.LST    a listing of I/O ports
  36.     CATEGORY.KEY    descriptions of divider-line category letters
  37.     COMBINE.COM    combine the pieces of the list into a single file
  38.     COMBINE.DOC    documentation for COMBINE
  39. The following files should be distributed in an archive called INTER57E:
  40.     86BUGSnn.ZIP    programs to test for CPU bugs
  41.     COMBINE.ASM    source code for COMBINE.COM
  42.     INT.*        invoke interrupts from commandline
  43.     INTHLP??.ZIP    Interrupt Helper viewer for the interrupt list
  44.     INTLIST.E    Epsilon extension for handling list
  45.     INTPRINT.C    source code for INTPRINT
  46.     INTSUM??.ZIP    interrupt list browser (Interrupt Summary)
  47.     IVIEW*.ZIP    another interrupt list browser
  48. The following should be distributed in an archive called INTER57F:
  49.     INT2RTF.ZIP    Slava Gostrenko's Windows Help converter
  50.     INT2WHLP.ZIP    convert list into Windows Help database
  51.     INTERRUP.ICO    icon for interrupt list
  52.     HINTSRCH.ZIP    WinHelp DLL for full-text searches of interrupt list
  53.     WH_ED*.ZIP    WinHelp-file editor
  54. Finally, the following should be distributed in an archive called INTER57G:
  55.     IL2ME???.ZIP    convert list into Multi-Edit help database
  56.     INT2GUID.*    convert list into TurboPower GUIDE or POPHELP database
  57.     INT2HLP.ZIP    convert list into QuickHelp database
  58.     INT2IPF.ZIP    convert list into OS/2 .IPF database
  59.     INT2QH.*    program to convert list into QuickHelp database
  60.     INT2TPH.ZIP    convert to Turbo/Borland Pascal help file (.TPH)
  61.     INTHELP.*    convert list into TurboPower GUIDE database
  62.     RB2NG???.ZIP    convert list into Norton Guides database
  63. --------!---CONTACT_INFO---------------------
  64. If you notice any mistakes or omissions, please let me know!  It is only with
  65. YOUR help that the list can continue to grow at the current rate.  Please send
  66. all changes to me rather than distributing a modified version of the list.
  67.  
  68. Please read the file INTERRUP.1ST before asking me any questions.  You may find
  69. that they have already been addressed.
  70.  
  71.      Ralf Brown
  72.  
  73. Internet: ralf@pobox.com (currently forwards to ralf@telerama.lm.com)
  74. FIDO: Ralf Brown 1:129/26.1
  75.     or post a message to me in the DR_DEBUG echo (I probably won't see it
  76.     unless you address it to me)
  77.  
  78. I reply to all e-mail submissions, but some of my replies bounce because of
  79. bad return paths.  If you don't get a response from me within a reasonable
  80. period of time, send it again with a better return path (many mailers are
  81. improperly configured and do not produce a valid From: address).
  82. --------!---Note-----------------------------
  83. See INTERRUP.1ST for the key to system abbreviations and a list of the
  84. trademarks mentioned here.
  85. --------!---DISCLAIMER-----------------------
  86. DISCLAIMER:  THIS MATERIAL IS PROVIDED "AS IS".     I verify the information
  87. contained in this list to the best of my ability, but I cannot be held
  88. responsible for any problems caused by use or misuse of the information,
  89. especially for those functions not officially documented.  If it is marked
  90. "internal" or undocumented, you should check it carefully to make sure it
  91. works the same way in your version of the software (and please let me know
  92. whether or not it works the same way).    Information marked with "???" is
  93. known to be incomplete or guesswork.
  94. --------!---FLAGS----------------------------
  95. The use of -> instead of = signifies that the indicated register or register
  96. pair contains a pointer to the specified item, rather than the item itself.
  97. Register pairs (such as AX:BX) indicate that the item is split across the
  98. registers, with the high-order half in the first register.
  99.  
  100. One or more letters may follow the interrupt number; they have the following
  101. meanings:  U - undocumented function, u - partially documented function,
  102. P - available only in protected mode, R - available only in real or V86 mode,
  103. C - callout or callback (usually hooked rather than called),
  104. O - obsolete (no longer present in current versions)
  105. --------!---CATEGORIES-----------------------
  106. The ninth column of the divider line preceding an entry usually contains a
  107. classification code (the entry has not been classified if that character is
  108. a dash).  The codes currently in use are:
  109.     A - applications, a - access software (screen readers, etc),
  110.     B - BIOS, b - vendor-specific BIOS extensions,
  111.     C - CPU-generated, c - caches/spoolers,
  112.     D - DOS kernel, d - disk I/O enhancements,
  113.     E - DOS extenders, e - electronic mail, F - FAX,
  114.     f - file manipulation, G - debuggers/debugging tools, g - games,
  115.     H - hardware, h - vendor-specific hardware,
  116.     I - IBM workstation/terminal emulators, i - system info/monitoring,
  117.     J - Japanese, j - joke programs,
  118.     K - keyboard enhancers, k - file/disk compression,
  119.     l - shells/command interpreters,
  120.     M - mouse/pointing device, m - memory management,
  121.     N - network, n - non-traditional input devices,
  122.     O - other operating systems,
  123.     P - printer enhancements, p - power management,
  124.     Q - DESQview/TopView and Quarterdeck programs,
  125.     R - remote control/file access, r - runtime support,
  126.     S - serial I/O, s - sound/speech,
  127.     T - DOS-based task switchers/multitaskers, t - TSR libraries
  128.     U - resident utilities, u - emulators,
  129.     V - video, v - virus/antivirus,
  130.     W - MS Windows,
  131.     X - expansion bus BIOSes, x - non-volatile config storage
  132.     y - security, * - reserved (and not otherwise classified)
  133. --------C-00---------------------------------
  134. INT 00 C - CPU-generated - DIVIDE ERROR
  135. Desc:    generated if the divisor of a DIV or IDIV instruction is zero or the
  136.       quotient overflows the result register; DX and AX will be unchanged.
  137. Notes:    on an 8086/8088, the return address points to the following instruction
  138.     on an 80286+, the return address points to the divide instruction
  139.     an 8086/8088 will generate this interrupt if the result of a division
  140.       is 80h (byte) or 8000h (word)
  141. SeeAlso: INT 04,OPCODE "AAD"
  142. --------G-00---------------------------------
  143. INT 00 - Zenith - ROM DEBUGGER
  144. Desc:    invokes the ROM Debugger when at the BIOS level; equivalent to
  145.       pressing Ctrl-Alt-Ins on booting.
  146. Note:    since DOS revectors INT 00, it is necessary to restore this vector to
  147.       its original ROM BIOS value in order to invoke the debugger once DOS
  148.       loads
  149. SeeAlso: INT 03"Columbia"
  150. --------C-01---------------------------------
  151. INT 01 C - CPU-generated - SINGLE STEP
  152. Desc:    generated after each instruction if TF (trap flag) is set; TF is
  153.       cleared on invoking the single-step interrupt handler
  154. Notes:    interrupts are prioritized such that external interrupts are invoked
  155.       after the INT 01 pushes CS:IP/FLAGS and clears TF, but before the
  156.       first instruction of the handler executes
  157.     used by debuggers for single-instruction execution tracing, such as
  158.       MS-DOS DEBUG's T command
  159. SeeAlso: INT 03"CPU"
  160. --------C-01---------------------------------
  161. INT 01 C - CPU-generated (80386+) - DEBUGGING EXCEPTIONS
  162. Desc:    generated by the CPU on various occurrences which may be of interest
  163.       to a debugger program
  164. Note:    events which may trigger the interrupt:
  165.       Instruction address breakpoint fault - will return to execute inst
  166.       Data address breakpoint trap - will return to following instruction
  167.       General detect fault, debug registers in use
  168.       Task-switch breakpoint trap
  169.       undocumented 386/486 opcode F1h - will return to following instruc
  170. SeeAlso: INT 03"CPU"
  171. --------H-02---------------------------------
  172. INT 02 C - external hardware - NON-MASKABLE INTERRUPT
  173. Desc:    generated by the CPU when the input to the NMI pin is asserted
  174. Notes:    return address points to start of interrupted instruction on 80286+
  175.     on the 80286+, further NMIs are disabled until the next IRET
  176.       instruction, but one additional NMI is remembered by the hardware
  177.       and will be serviced after the IRET instruction reenables NMIs
  178.     maskable interrupts may interrupt the NMI handler if interrupts are
  179.       enabled
  180.     although the Intel documentation states that this interrupt is
  181.       typically used for power-failure procedures, it has many other uses
  182.       on IBM-compatible machines:
  183.         Memory parity error: all except Jr, CONV, and some machines
  184.                   without memory parity
  185.         Breakout switch on hardware debuggers
  186.         Coprocessor interrupt: all except Jr and CONV
  187.         Keyboard interrupt: Jr, CONV
  188.         I/O channel check: CONV, PS50+
  189.         Disk-controller power-on request: CONV
  190.         System suspend: CONV
  191.         Real-time clock: CONV
  192.         System watch-dog timer, time-out interrupt: PS50+
  193.         DMA timer time-out interrupt: PS50+
  194.         Low battery: HP 95LX
  195.         Module pulled: HP 95LX
  196. --------m-02----SI0714-----------------------
  197. INT 02 U - STB RAPIDMAP.SYS - ???
  198.     SI = 0714h
  199.     ES:DI -> ???
  200. Return: ???
  201. SeeAlso: INT 67/AX=6100h"STB",PORT 00E1h"STB"
  202. --------C-03---------------------------------
  203. INT 03 C - CPU-generated - BREAKPOINT
  204. Desc:    generated by the one-byte breakpoint instruction (opcode CCh)
  205. Notes:    used by debuggers to implement breakpoints, such as MS-DOS DEBUG's G
  206.       command
  207.     also used by Turbo Pascal versions 1,2,3 when {$U+} specified
  208.     return address points to byte following the breakpoint instruction
  209.     called by Novell DOS 7 EMM386 after displaying an exception error
  210.       message (GPF, illegal opcodes, etc.) and before waiting for user
  211.       input
  212.     called by QEMM-386 if the user presses 'I' (undocumented) when prompted
  213.       after an exception error message
  214. SeeAlso: INT 01"CPU"
  215. --------G-03---------------------------------
  216. INT 03 - Columbia PCs (desktop,VP portables) - ROM DEBUGGER
  217. Desc:    invokes the ROM Debugger if INT 03 has not been revectored; equivalent
  218.       to pressing Esc on booting.
  219. SeeAlso: INT 00"Zenith",INT 03"Realia"
  220. --------G-03---------------------------------
  221. INT 03 - Realia COBOL - DEBUGGER SUPPORT
  222. Note:    Realia COBOL checks for a signature eight bytes prior to the interrupt
  223.       handler when it starts up
  224. BUG:    if the offset of the INT 03 vector is less than 8, the compiler and
  225.       all executables generated by it will crash the system
  226. SeeAlso: INT 03"Columbia"
  227. --------G-03---------------------------------
  228. INT 03 U - Watcom WVIDEO, Watcom WD - OUTPUT DEBUGGING MESSAGE
  229.     STACK:    DWORD    selector
  230.         DWORD    offset of ASCIZ message to display
  231. Notes:    the INT 03h instruction which invokes the debugger must be followed by
  232.       a JMP SHORT and the signature string "WVIDEO"
  233.     to check whether this interface is available, define a public byte
  234.       variable named ___WD_Present, which the debugger will set to 01h
  235.       before running the program
  236. SeeAlso: AX=0910h
  237. --------U-03---------------------------------
  238. INT 03 - DTown Utilities - POP UP
  239. Program: DTown Software Development's DTown Utilities contains various tools
  240.       which are useful to programmers, such as a memory viewer and
  241.       disassembler
  242. Note:    DTU pops up on INT 03 (if not hooked by a debugger) to allow the
  243.       user to inspect memory or code when the machine crashes; various
  244.       memory managers will invoke INT 03 when displaying a CPU exception
  245.       error message (either automatically or when the user presses a
  246.       particular key)
  247. SeeAlso: INT 2D/AL=20h"DTown"
  248. --------G-030910-----------------------------
  249. INT 03 - Soft-ICE - BACK DOOR COMMANDS - DISPLAY STRING IN Soft-ICE WINDOW
  250.     AX = 0910h
  251.     SI = magic value 4647h ('FG')
  252.     DI = magic value 4A4Dh ('JM')
  253.     DS:DX -> ASCIZ string to display (max 100 bytes, 0Dh OK)
  254. Program: Soft-ICE is a debugger by Nu-Mega Technologies, Inc.
  255. SeeAlso: INT 03"WVIDEO"
  256. --------G-030911-----------------------------
  257. INT 03 - Soft-ICE - BACK DOOR COMMANDS - EXECUTE Soft-ICE COMMAND
  258.     AX = 0911h
  259.     SI = magic value 4647h ('FG')
  260.     DI = magic value 4A4Dh ('JM')
  261.     DS:DX -> ASCIZ command string (max 100 bytes, 0Dh OK)
  262. Return: nothing
  263. SeeAlso: AX=0912h,AX=0913h
  264. --------G-030912-----------------------------
  265. INT 03 - Soft-ICE - BACK DOOR COMMANDS - GET BREAKPOINT INFORMATION
  266.     AX = 0912h
  267.     SI = magic value 4647h ('FG')
  268.     DI = magic value 4A4Dh ('JM')
  269. Return: BH = entry number of last breakpoint set
  270.     BL = type of last breakpoint set (see #0001)
  271.     DH = entry number of last breakpoint to be triggered
  272.     DL = type of last triggered breakpoint (see #0001)
  273. Program: Soft-ICE is a debugger by Nu-Mega Technologies, Inc.
  274. SeeAlso: AX=0911h,AX=0913h,AX=0914h
  275.  
  276. (Table 0001)
  277. Values for Soft-ICE breakpoint type:
  278.  00h    BPM (breakpoint register types)
  279.  01h    I/O
  280.  02h    INTerrupt
  281.  03h    BPX (INT 03-style breakpoint)
  282.  04h    reserved
  283.  05h    range
  284. --------G-030913-----------------------------
  285. INT 03 - Soft-ICE v2.5x - BACK DOOR COMMANDS - SET Soft-ICE BREAKPOINT
  286.     AX = 0913h
  287.     SI = magic value 4647h ('FG')
  288.     DI = magic value 4A4Dh ('JM')
  289.     DS:DX -> breakpoint structure (see #0002)
  290. Return: AX = status
  291.         00h successful
  292.         BX = breakpoint number
  293.         03h breakpoint table full
  294.         06h memory limit error
  295.         07h I/O limit error
  296.         09h range limit error
  297.         16h duplicate breakpoint
  298. SeeAlso: AX=0911h,AX=0912h,AX=0914h
  299.  
  300. Format of Soft-ICE breakpoint structure:
  301. Offset    Size    Description    (Table 0002)
  302.  00h    BYTE    breakpoint type (see #0003)
  303.  01h    DWORD    breakpoint address 1
  304.         (lower range limit for memory BPs,
  305.         interrupt number for interrupt BPs,
  306.         address of BP for execution BPs,
  307.         I/O address (only word)    for I/O BPs)
  308.  05h    DWORD    breakpoint address 2
  309.         (upper range limit for memory BPs,
  310.         optional value to check for for interrupt BPs,
  311.         overlay number (0 = root) for execution BPs)
  312.  09h    DWORD    breakpoint address 3
  313.  0Dh    BYTE    breakpoint mode 1 (see #0004)
  314.         (for interrupt BPs = register to check
  315.             00h     no value checking
  316.             01h     check AL
  317.             02h     check AH
  318.             03h     check AX)
  319.  0Eh    BYTE    breakpoint mode 2 (see #0004)
  320.  0Fh    BYTE    breakpoint size (00h byte, 01h word, 03h dword)
  321.  10h    BYTE    breakpoint pass count before program stop
  322.  11h    BYTE    breakpoint state
  323. Note:    all unused fields should contain zeros
  324.  
  325. (Table 0003)
  326. Values for Soft-ICE breakpoint type:
  327.  00h    memory location
  328.  01h    memory range
  329.  03h    I/O
  330.  04h    interrupt
  331.  05h    execution break
  332.  
  333. (Table 0004)
  334. Values for Soft-ICE breakpoint mode:
  335.  01h    read
  336.  02h    write
  337.  04h    execution
  338. --------G-030914-----------------------------
  339. INT 03 - Soft-ICE v2.5x - BACK DOOR COMMANDS - REMOVE Soft-ICE BREAKPOINT
  340.     AX = 0914h
  341.     SI = magic value 4647h ('FG')
  342.     DI = magic value 4A4Dh ('JM')
  343.     BX = breakpoint number (returned by AX=0913h)
  344. Return: BX = ???
  345. Program: Soft-ICE is a debugger by Nu-Mega Technologies, Inc.
  346. SeeAlso: AX=0912h,AX=0913h
  347. --------C-04---------------------------------
  348. INT 04 C - CPU-generated - INTO DETECTED OVERFLOW
  349. Desc:    the INTO instruction will generate this interrupt if OF (Overflow Flag)
  350.       is set; otherwise, INTO is effectively a NOP
  351. Note:    may be used for convenient overflow testing (to prevent errors from
  352.       propagating) instead of JO or a JNO/JMP combination
  353. SeeAlso: INT 00"CPU",OPCODE "AAD",OPCODE "AAM"
  354. --------B-05---------------------------------
  355. INT 05 - PRINT SCREEN
  356. Desc:    dump the current text screen to the first printer
  357. Notes:    normally invoked by the INT 09 handler when PrtSc key is pressed, but
  358.       may be invoked directly by applications
  359.     byte at 0050h:0000h contains status used by default handler
  360.       00h not active
  361.       01h PrtSc in progress
  362.       FFh last PrtSc encountered error
  363.     default handler is at F000h:FF54h in IBM PC and 100%-compatible BIOSes
  364.     since the BOUND instruction also calls INT 05h, but returns control
  365.       to the BOUND instruction, a failed BOUND check will cause an infinite
  366.       loop of PrtScreens unless the INT 05 handler is aware of the problem
  367.       and checks whether the interrupt was invoked by a BOUND instruction
  368. BUG:    some old BIOSes/applications appear to destroy BP on return
  369. SeeAlso: INT 10/AH=12h/BL=20h,INT 4A"Tandy 2000",INT 5E"TI Professional"
  370. SeeAlso: INT 80"Phar Lap"
  371. --------C-05---------------------------------
  372. INT 05 C - CPU-generated (80186+) - BOUND RANGE EXCEEDED
  373. Desc:    generated by BOUND instruction when the value to be tested is less than
  374.       the indicated lower bound or greater than the indicated upper bound.
  375. Note:    returning from this interrupt re-executes the failing BOUND instruction
  376. --------P-05454A-----------------------------
  377. INT 05 U - PSPS v2.01 - EJECT PAGE
  378.     AX = 454Ah ('EJ')
  379. Program: PSPS is shareware PostScript PrintScreen utility by A.N.D.
  380.       Technologies
  381. Note:    sends a ^D to the current printer
  382. SeeAlso: AX=4E57h,AX=5053h,AX=554Eh
  383. --------P-054E57-----------------------------
  384. INT 05 U - PSPS v2.01 - SET PARAMETERS
  385.     AX = 4E57h ('NW')
  386.     ES:SI -> 11-byte buffer containing new settings
  387. Return: buffer filled
  388. SeeAlso: AX=454Ah,AX=5053h,INT 17/AH=63h
  389. --------P-055053-----------------------------
  390. INT 05 U - PSPS v2.01 - GET PARAMETERS
  391.     AX = 5053h ('PS')
  392.     ES:SI -> 11-byte buffer for settings
  393. Return: buffer filled
  394. SeeAlso: AX=4E57h,AX=554Eh,INT 17/AH=64h
  395. --------P-05554E-----------------------------
  396. INT 05 U - PSPS v2.01 - UNINSTALL
  397.     AX = 554Eh ('UN')
  398. Program: PSPS is shareware PostScript PrintScreen utility by A.N.D.
  399.       Technologies
  400. SeeAlso: AX=454Ah,AX=4E57h,INT 17/AH=62h
  401. --------C-06---------------------------------
  402. INT 06 C - CPU-generated (80286+) - INVALID OPCODE
  403. Desc:    this interrupt is generated when the CPU attempts to execute an
  404.       invalid opcode (most protected-mode instructions are considered
  405.       invalid in real mode) or a BOUND, LDS, LES, or LIDT instruction
  406.       which specifies a register rather than a memory address
  407. Notes:    return address points to beginning of invalid instruction
  408.     with proper programming, this interrupt may be used to emulate
  409.       instructions which do not exist; many 386 BIOSes emulate the 80286
  410.       undocumented LOADALL instruction which was removed from the 80386+
  411.     generated by the 80386+ when the LOCK prefix is used with instructions
  412.       other than BTS, BTR, BTC, XCHG, XADD (486), CMPXCHG (486), INC, DEC,
  413.       NOT, NEG, ADD, ADC, SUB, SBB, AND, OR, or XOR, or any instruction
  414.       not accessing memory.
  415. SeeAlso: INT 0C"CPU",INT 0D"CPU"
  416. --------b-06---------------------------------
  417. INT 06 C - HP 95LX - SLEEP/WAKEUP
  418. Desc:    this interrupt is called just before going into light or deep
  419.       (shutdown) sleep and just after returning from light or deep sleep
  420. SeeAlso: INT 0B"HP 95LX",INT 15/AX=4DD4h,INT 15/AH=4Eh
  421. --------V-06---------------------------------
  422. INT 06 U - no-name clone - GRAPHICS CHARACTER TABLE (NOT A VECTOR!)
  423. Desc:    points at graphics data for characters 00h-7Fh of the current font
  424. SeeAlso: INT 43"EGA",INT 44"VIDEO"
  425. --------C-07---------------------------------
  426. INT 07 C - CPU-generated (80286+) - PROCESSOR EXTENSION NOT AVAILABLE
  427. Desc:    this interrupt is automatically called if a coprocessor instruction is
  428.       encountered when no coprocessor is installed
  429. Note:    can be used to emulate a numeric coprocessor in software
  430. SeeAlso: INT 09"CPU"
  431. --------H-08---------------------------------
  432. INT 08 C - IRQ0 - SYSTEM TIMER
  433. Desc:    generated 18.2 times per second by channel 0 of the 8254 system timer,
  434.       this interrupt is used to keep the time-of-day clock updated
  435. Notes:    programs which need to be invoked regularly should use INT 1C unless
  436.       they need to reprogram the timer while still keeping the time-of-day
  437.       clock running at the proper rate
  438.     default handler is at F000h:FEA5h in IBM PC and 100%-compatible BIOSes
  439.     may be masked by setting bit 0 on I/O port 21h
  440. SeeAlso: INT 1C,INT 4A"SYSTEM",INT 50"DESQview",INT 58"DoubleDOS",INT 70"IRQ8"
  441. SeeAlso: INT 78"GO32",INT D8"Screen Thief",MEM 0040h:0040h,MEM 0040h:006Ch
  442. --------C-08---------------------------------
  443. INT 08 C - CPU-generated (80286+) - DOUBLE EXCEPTION DETECTED
  444. Desc:    called when multiple exceptions occur on one instruction, or an
  445.       exception occurs in an exception handler
  446. Notes:    called in protected mode if an interrupt above the defined limit of
  447.       the interrupt vector table occurs
  448.     return address points at beginning of instruction with errors or the
  449.       beginning of the instruction which was about to execute when the
  450.       external interrupt caused the exception
  451.     if an exception occurs in the double fault handler, the CPU goes into
  452.       SHUTDOWN mode (which circuitry in the PC/AT converts to a reset);
  453.       this "triple fault" is a faster way of returning to real mode on
  454.       many 80286 machines than the standard keyboard controller reset
  455. --------H-09---------------------------------
  456. INT 09 C - IRQ1 - KEYBOARD DATA READY
  457. Desc:    this interrupt is generated when data is received from the keyboard.
  458.       This is normally a scan code (from either a keypress *or* a key
  459.       release), but may also be an ACK or NAK of a command on AT-class
  460.       keyboards.
  461. Notes:    this IRQ may be masked by setting bit 1 on I/O port 21h
  462.     if the BIOS supports an enhanced (101/102-key) keyboard, it calls
  463.       INT 15/AH=4Fh after reading the scan code (see #0005) from the
  464.       keyboard and before further processing; all further processing uses
  465.       the scan code returned from INT 15/AH=4Fh
  466.     the default interrupt handler is at F000h:E987h in 100%-compatible
  467.       BIOSes
  468.     the interrupt handler performs the following actions for certain
  469.       special keystrokes:
  470.         Ctrl-Break     clear keyboard buffer, place word 0000h in buffer,
  471.              invoke INT 1B, and set flag at 0040h:0071h
  472.         SysReq     invoke INT 15/AH=85h (SysReq is often labeled SysRq)
  473.         Ctrl-Numlock place system in a tight wait loop until next INT 09
  474.         Ctrl-Alt-Del jump to BIOS startup code (either F000h:FFF0h or the
  475.                destination of the jump at that address)
  476.         Shift-PrtSc     invoke INT 05
  477.         Ctrl-Alt-Plus (HP Vectra) enable keyclick
  478.         Ctrl-Alt-Plus (many clones) set clock speed to high
  479.         Ctrl-Alt-Minus (HP Vectra) reduce keyclick volume
  480.         Ctrl-Alt-Minus (many clones) set clock speed to low
  481.         Ctrl-Alt-SysReq (HP Vectra) generate hard reset
  482.         Ctrl-Alt-S    (many clones) run BIOS setup program
  483.         Ctrl-Alt-Esc (many clones) run BIOS setup program
  484.         Ctrl-Alt-Ins (many clones) run BIOS setup program
  485.         Ctrl-Alt-LeftShift-GrayMinus (some clones) turn off system cache
  486.         Ctrl-Alt-LeftShift-GrayPlus (some clones) turn on system cache
  487.     DR DOS hooks this interrupt to control the cursor shape (underscore/
  488.       half block) for overwrite/insert mode
  489.     DR Multiuser DOS hooks this interrupt for cursor shape control and to
  490.       control whether Ctrl-Alt-Del reboots the current session or the
  491.       entire system
  492. SeeAlso: INT 05"PRINT SCREEN",INT 0B"HP 95LX",INT 15/AH=4Fh,INT 15/AH=85h
  493. SeeAlso: INT 16/AH=00h,INT 16/AH=10h,INT 1B,INT 2F/AX=A901h,INT 4A/AH=00h"TI"
  494. SeeAlso: INT 51"DESQview",INT 59"DoubleDOS",INT 79"GO32"
  495.  
  496. (Table 0005)
  497. Values for keyboard make/break (scan) code:
  498.  01h    Esc         31h    N
  499.  02h    1 !         32h    M
  500.  03h    2 @         33h    , <         63h    F16
  501.  04h    3 #         34h    . >         64h    F17
  502.  05h    4 $         35h    / ?         65h    F18
  503.  06h    5 %         36h    Right Shift     66h    F19
  504.  07h    6 ^         37h    Grey*         67h    F20
  505.  08h    7 &         38h    Alt         68h    F21 (Fn) [*]
  506.  09h    8 *         39h    SpaceBar     69h    F22
  507.  0Ah    9 (         3Ah    CapsLock     6Ah    F23
  508.  0Bh    0 )         3Bh    F1         6Bh    F24
  509.  0Ch    - _         3Ch    F2         6Ch    --
  510.  0Dh    = +         3Dh    F3         6Dh    EraseEOF
  511.  0Eh    Backspace     3Eh    F4
  512.  0Fh    Tab         3Fh    F5         6Fh    Copy/Play
  513.  10h    Q         40h    F6
  514.  11h    W         41h    F7
  515.  12h    E         42h    F8         72h    CrSel
  516.  13h    R         43h    F9         73h    <delta> [*]
  517.  14h    T         44h    F10         74h    ExSel
  518.  15h    Y         45h    NumLock         75h    --
  519.  16h    U         46h    ScrollLock     76h    Clear
  520.  17h    I         47h    Home         77h    [Note2] Joyst But1
  521.  18h    O         48h    UpArrow         78h    [Note2] Joyst But2
  522.  19h    P         49h    PgUp         79h    [Note2] Joyst Right
  523.  1Ah    [ {         4Ah    Grey-         7Ah    [Note2] Joyst Left
  524.  1Bh    ] }         4Bh    LeftArrow     7Bh    [Note2] Joyst Up
  525.  1Ch    Enter         4Ch    Keypad 5     7Ch    [Note2] Joyst Down
  526.  1Dh    Ctrl         4Dh    RightArrow     7Dh    [Note2] right mouse
  527.  1Eh    A         4Eh    Grey+         7Eh    [Note2] left mouse
  528.  1Fh    S         4Fh    End
  529.  20h    D         50h    DownArrow
  530.  21h    F         51h    PgDn
  531.  22h    G         52h    Ins
  532.  23h    H         53h    Del
  533.  24h    J         54h    SysReq        ---non-key codes---
  534.  25h    K         55h    [Note1] F11     00h    kbd buffer full
  535.  26h    L         56h    left \| (102-key)
  536.  27h    ; :         57h    F11         AAh    self-test complete
  537.  28h    ' "         58h    F12         E0h    prefix code
  538.  29h    ` ~         59h    [Note1] F15     E1h    prefix code
  539.  2Ah    Left Shift     5Ah    PA1         EEh    ECHO
  540.  2Bh    \ |         5Bh    F13 (LWin)     F0h    prefix code (key break)
  541.  2Ch    Z         5Ch    F14 (RWin)     FAh    ACK
  542.  2Dh    X         5Dh    F15 (Menu)     FCh    diag failure (MF-kbd)
  543.  2Eh    C                     FDh    diag failure (AT-kbd)
  544.  2Fh    V                     FEh    RESEND
  545.  30h    B                     FFh    kbd error/buffer full
  546. Notes:    scan codes 56h-E1h are only available on the extended (101/102-key)
  547.       keyboard and Host Connected (122-key) keyboard; scan codes 5Bh-5Dh
  548.       are only available on the 122-key keyboard and the Microsoft Natural
  549.       Keyboard; scan codes 5Eh-76h are only available on the 122-key
  550.       keyboard
  551.     in the default configuration, break codes are the make scan codes with
  552.       the high bit set; make codes 60h,61h,70h, etc. are not available
  553.       because the corresponding break codes conflict with prefix codes
  554.       (code 2Ah is available because the self-test result code AAh is only
  555.       sent on keyboard initialization).  An alternate keyboard
  556.       configuration can be enabled on AT and later systems with enhanced
  557.       keyboards, in which break codes are the same as make codes, but
  558.       prefixed with an F0h scan code
  559.     prefix code E0h indicates that the following make/break code is for a
  560.       "gray" duplicate to a key which existed on the original PC keyboard;
  561.       prefix code E1h indicates that the following make code has no
  562.       corresponding break code (currently only the Pause key generates no
  563.       break code)
  564.     the Microsoft Natural Keyboard sends make codes 5Bh, 5Ch, and 5Dh
  565.       (all with an E0h prefix) for the Left Windows, Right Windows, and
  566.       Menu keys on the bottom row
  567.     the European "Cherry G81-3000 SAx/04" keyboard contains contacts for
  568.       four additional keys, which can be made available by a user
  569.       modification; the three new keys located directly below the cursor
  570.       pad's Delete, End, and PgDn keys send make codes 66h-68h (F19-F21);
  571.       the fourth new key, named <delta>, sends make code 73h
  572.     the SysReq key is often labeled SysRq
  573.     the "Accord" ergonomic keyboard with optional touchpad (no other
  574.       identification visible on keyboard or in owner's booklet) has an
  575.       additional key above the Grey- key marked with a left-pointing
  576.       triangle and labeled "Fn" in the owner's booklet which returns
  577.       scan codes E0h 68h on make and E0h E8h on break
  578.     the "Preh Commander AT" keyboard with additional F11-F22 keys treats
  579.       F11-F20 as Shift-F1..Shift-F10 and F21/F22 as Ctrl-F1/Ctrl-F2; the
  580.       Eagle PC-2 keyboard with F11-F24 keys treated those additional keys
  581.       in the same way
  582.     [Note1] the "Cherry G80-0777" keyboard has additional F11-F15 keys
  583.       which generate make codes 55h-59h; some other extended keyboards
  584.       generate codes 55h and 56h for F11 and F12, which cannot be managed
  585.       by standard DOS keyboard drivers
  586.     [Note2] the Schneider/Amstrad PC1512 PC keyboards contain extra keys,
  587.       a mouse, and a digital joystick, which are handled like extra keys.
  588.       The joystick's motion scancodes are converted into standard arrow
  589.       keys by the BIOS, and the joystick and mouse button scan codes are
  590.       converted to FFFFh codes in the BIOS keyboard buffer
  591.       (see CMOS 15h"AMSTRAD").
  592.       In addition to the keys listed in the table above, there are
  593.         Del-> (delete forward)    70h
  594.         Enter            74h
  595. SeeAlso: #0526 at INT 16/AX=6F07h,#2885 at INT 4A/AH=05h
  596. --------C-09---------------------------------
  597. INT 09 C - CPU-generated (80286,80386) - PROCESSOR EXTENSION PROTECTION ERROR
  598. Desc:    called if the coprocessor attempts to access memory outside a segment
  599.       boundary; it may occur at an arbitrary time after the coprocessor
  600.       instruction was issued
  601. Notes:    until the condition is cleared or the coprocessor is reset, the only
  602.       coprocessor instruction which may be used is FNINIT; WAIT or other
  603.       coprocessor instructions will cause a deadlock because the
  604.       coprocessor is still busy waiting for data
  605.     for the 486+, a coprocessor protection error generates an INT 0D
  606. SeeAlso: INT 07"CPU"
  607. --------*-09---------------------------------
  608. INT 09 P - internal hardware - RESERVED BY Intel (80486)
  609. Note:    this exception has been moved to INT 0D
  610. SeeAlso: INT 09"CPU",INT 0D
  611. --------H-0A---------------------------------
  612. INT 0A C - IRQ2 - LPT2 (PC), VERTICAL RETRACE INTERRUPT (EGA,VGA)
  613. Notes:    the TOPS and PCnet adapters use this interrupt request line by default
  614.     DOS 3.2 revectors IRQ2 to a stack-switching routine
  615.     on ATs and above, the physical data line for IRQ2 is labeled IRQ9 and
  616.       connects to the slave 8259.  The BIOS redirects the interrupt for
  617.       IRQ9 back here.
  618.     under DESQview, only the INT 15h vector and BASIC segment address (the
  619.       word at 0000h:0510h) may be assumed to be valid for the handler's
  620.       process
  621.     many VGA boards do not implement the vertical retrace interrupt,
  622.       including the IBM VGA Adapter where the traces are either cut or
  623.       removed
  624. SeeAlso: INT 52"DESQview",INT 5A"DoubleDOS",INT 71,INT 7A"GO32"
  625. --------H-0A---------------------------------
  626. INT 0A C - IRQ2 - Tandy 1000-series HARD DISK
  627. Notes:    this interrupt may be masked by setting bit 2 on I/O port 21h
  628.     the Tandy 1000, 1000A, and 1000HD use IRQ2 for the hard disk; the
  629.       1000EX, HX, RLX, RLX-HD, RLX-B, RLX-HD-B use IRQ5 instead; the
  630.       1000RL, RL-HD, SL, SL/2, TL, TL/2, and TL/3 are jumper-selectable
  631.       for either IRQ2 or IRQ5 (default IRQ5); the 1000SX and TX are
  632.       DIP-switch selectable for IRQ2 or IRQ5 (default IRQ2); the RSX and
  633.       RSX-HD use IRQ14.  Tandy systems which use IRQ2 for the hard disk
  634.       interrupt use IRQ5 for vertical retrace.
  635. SeeAlso: INT 52"DESQview",INT 5A"DoubleDOS",INT 71
  636. --------H-0A---------------------------------
  637. INT 0A - IRQ2 - ROLAND MPU MIDI INTERFACE
  638. Note:    newer Roland cards and MIDI interfaces by other manufacturers use
  639.       a jumper-selectable IRQ, but software and hardware generally defaults
  640.       to IRQ2
  641. SeeAlso: INT 52"DESQview",INT 5A"DoubleDOS",INT 71,INT 7A"GO32"
  642. --------C-0A---------------------------------
  643. INT 0A CP - CPU-generated (80286+) - INVALID TASK STATE SEGMENT
  644. Desc:    automatically called during a task switch if the new TSS specified by
  645.       the task gate is invalid for any of the following reasons:
  646.         TSS limit is less than 43 (80286) or 103 (80386/80486)
  647.         LDT selector invalid or segment not present
  648.         null SS selector, or SS selector outside LDT/GDT limit
  649.         stack segment is read-only
  650.         stack segment DPL differs from new CPL, or RPL <> CPL
  651.         CS selector is outside LDT/GDT limit or not code
  652.         non-conforming code segment's DPL differs from CPL
  653.         conforming code segment's DPL > CPL
  654.         DS/ES selectors outside LDT/GDT limit or not readable segments
  655. Note:    the handler must use a task gate in order to have a valid TSS under
  656.       which to execute; it must also reset the busy bit in the new TSS
  657. SeeAlso: INT 0B"CPU"
  658. --------H-0B---------------------------------
  659. INT 0B C - IRQ3 - SERIAL COMMUNICATIONS (COM2)
  660. Desc:    automatically asserted by the UART when COM2 needs attention, if the
  661.       UART has been programmed to generate interrupts
  662. Notes:    the TOPS and PCnet adapters use this interrupt request line as an
  663.       alternate
  664.     on PS/2s, COM2 through COM8 share this interrupt; on many PC's, COM4
  665.       shares this interrupt
  666.     may be masked by setting bit 3 on I/O port 21h
  667. SeeAlso: INT 0C"COM1",INT 53"DESQview",INT 5B"DoubleDOS",INT 7B"GO32"
  668. --------C-0B---------------------------------
  669. INT 0B CP - CPU-generated (80286+) - SEGMENT NOT PRESENT
  670. Desc:    generated when loading a segment register if the segment descriptor
  671.       indicates that the segment is not currently in memory, unless the
  672.       segment is an LDT (see INT 0A"CPU") or stack segment (see
  673.       INT 0C"CPU") needed by a task switch
  674. Note:    may be used to implement virtual memory by loading in segments as they
  675.       are accessed, clearing the "not present" bit after loading
  676. SeeAlso: INT 0A"CPU",INT 0E"CPU"
  677. --------h-0B---------------------------------
  678. INT 0B - HP 95LX - LOW-LEVEL KEYBOARD HANDLER
  679. Desc:    this is the lowest-level keyboard handler on an HP 95LX palmtop
  680. Note:    debounces key, places the keycode in I/O register 60h, and calls INT 09
  681. SeeAlso: INT 09,INT 0D"HP 95LX",INT 15/AX=4DD4h
  682. --------H-0C---------------------------------
  683. INT 0C C - IRQ4 - SERIAL COMMUNICATIONS (COM1)
  684. Desc:    automatically asserted by the UART when COM1 needs attention, if the
  685.       UART has been programmed to generate interrupts
  686. BUG:    this vector is modified but not restored by Direct Access v4.0, and
  687.       may be left dangling by other programs written with the same version
  688.       of compiled BASIC
  689. Notes:    on many PC's, COM3 shares this interrupt
  690.     may be masked by setting bit 4 on I/O port 21h
  691. SeeAlso: INT 0B"COM2",INT 54"DESQview",INT 5C"DoubleDOS",INT 7C"GO32"
  692. --------C-0C---------------------------------
  693. INT 0C C - CPU-generated (80286+) - STACK FAULT
  694. Desc:    this interrupt is generated in protected mode on a stack overflow or
  695.       underflow, or if an inter-level transition or task switch references
  696.       a stack segment marked "not present"; it is generated in real mode
  697.       on accessing a word operand at SS:FFFFh
  698. Note:    the 80286 will shut down in real mode if SP=1 before a push.  On the
  699.       PC AT and compatibles, external circuitry generates a reset on
  700.       shutdown.
  701. SeeAlso: INT 0B"CPU",INT 0D"CPU"
  702. --------I-0C---------------------------------
  703. INT 0C - IBM SYSTEM 36/38 WORKSTATION EMULATION - API POINTER
  704. Desc:    the IBM System 36/38 emulator may be invoked through a private API,
  705.       whose entry point address (see #0006) is offset 100h in the segment
  706.       pointed at by this vector
  707.  
  708. (Table 0006)
  709. Call the System 36/38 emulator API entry point with:
  710.     AH = function
  711.         03h update screen
  712.         05h select next session
  713.         AL = session number (00h-03h)
  714.         Return: AL = session type code
  715.                 00h not active
  716.                 01h display session
  717.                 02h printer session
  718.                 FEh invalid session number
  719.             DS = requested session's data segment (0 if not active)
  720.                 (see #0007)
  721. Return: ???
  722.  
  723. Format of System 36/38 emulator's data area:
  724. Offset    Size    Description    (Table 0007)
  725. 13Eh    BYTE    bit flags for status line indicators turned on since this byte
  726.         last zerod
  727. 13Fh    BYTE    bit flags for status line indicators turned off since this
  728.         byte last set to FFh
  729. 140h    WORD    offset of EBCDIC to ASCII translation
  730. 146h    WORD    offset of EBCDIC screen buffer
  731. 148h    WORD    offset of EC (engineering change) level signature
  732. 150h    BYTE    "KEYI"
  733. 151h    BYTE    5250 key scan code to be sent to remote
  734. 15Bh    BYTE    "SYSAV"
  735. 15Dh    BYTE    5250 cursor column
  736. 15Eh    BYTE    5250 cursor row
  737. 167h    BYTE    "DVCTAD"
  738. 178h    BYTE    "FLAGS"
  739. 184h    BYTE    "SESSNOAD"
  740. 193h    BYTE    "STNAD"
  741. 198h    BYTE    "NSDS"
  742. Note:    offsets are from the interrupt handler's segment
  743. --------H-0D---------------------------------
  744. INT 0D C - IRQ5 - FIXED DISK (PC,XT), LPT2 (AT), reserved (PS/2)
  745. Notes:    under DESQview, only the INT 15h vector and BASIC segment address (the
  746.       word at 0000h:0510h) may be assumed to be valid for the handler's
  747.       process
  748.     the Tandy 1000, 1000A, and 1000HD use IRQ2 for the hard disk; the
  749.       1000EX, HX, RLX, RLX-HD, RLX-B, RLX-HD-B use IRQ5 instead; the
  750.       1000RL, RL-HD, SL, SL/2, TL, TL/2, and TL/3 are jumper-selectable
  751.       for either IRQ2 or IRQ5 (default IRQ5); the 1000SX and TX are
  752.       DIP-switch selectable for IRQ2 or IRQ5 (default IRQ2); the RSX and
  753.       RSX-HD use IRQ14.  Tandy systems which use IRQ2 for the hard disk
  754.       interrupt use IRQ5 for vertical retrace.
  755.     may be masked by setting bit 5 on I/O port 21h
  756. SeeAlso: INT 0E"IRQ6",INT 0F"IRQ7",INT 55"DESQview",INT 5D"DoubleDOS"
  757. SeeAlso: INT 7D"GO32"
  758. --------H-0D---------------------------------
  759. INT 0D C - IRQ5 - Tandy 1000 60 Hz RAM REFRESH
  760. Desc:    used to ensure that the dynamic RAM retains its contents in earlier
  761.       1000-series models; later models use normal DMA for RAM refresh
  762.       (some early models have no DMA unless it is added via an expansion
  763.       card)
  764. SeeAlso: INT 55
  765. --------h-0D---------------------------------
  766. INT 0D - HP 95LX - INFRARED INTERRUPT
  767. Desc:    this interrupt is used to perform communications over the infrared
  768.       data link
  769. SeeAlso: INT 0B"HP 95LX",INT 0E"HP 95LX",INT 15/AX=4DD4h
  770. --------C-0D---------------------------------
  771. INT 0D C - CPU-generated (80286+) - GENERAL PROTECTION VIOLATION
  772. Desc:    the CPU generates this interrupt when it detects a protection violation
  773.       which does not fit under any other category having a separate
  774.       interrupt
  775. Notes:    called in real mode when
  776.         an instruction accesses a memory operand extending beyond offset
  777.           FFFFh (i.e. WORD at FFFFh or DWORD at FFFDh or higher) in segment
  778.           CS, DS, ES, FG, or GS
  779.         a PUSH MEM or POP MEM instruction contains an invalid bit encoding
  780.           in the second byte
  781.         an instruction exceeds the maximum length allowed (10 bytes for
  782.           80286, 15 bytes for 80386/80486)
  783.         an instruction wraps from offset FFFFh to offset 0000h
  784.     called in protected mode on protection violations not covered by INT 06
  785.       through INT 0C, including
  786.         segment limit violations
  787.         write to read-only segments
  788.         accesses using null DS or ES selectors
  789.         accesses to segments with privilege greater than CPL
  790.         wrong descriptor type
  791.     called on 80486 protected-mode floating-point protection fault
  792. SeeAlso: INT 09"80486",INT 0C"STACK"
  793. --------H-0E---------------------------------
  794. INT 0E C - IRQ6 - DISKETTE CONTROLLER
  795. Desc:    this interrupt is generated by the floppy disk controller on
  796.       completion of an operation
  797. Notes:    default handler is at F000h:EF57h in IBM PC and 100%-compatible BIOSes
  798.     may be masked by setting bit 6 on I/O port 21h
  799. SeeAlso: INT 0D"IRQ5",INT 56"DESQview",INT 5E"DoubleDOS",INT 7E"GO32"
  800. --------C-0E---------------------------------
  801. INT 0E C - CPU-generated (80386+ native mode) - PAGE FAULT
  802. Desc:    this interrupt is generated in protected and virtual-86 modes on
  803.       attempting to access a 4K memory page whose page table entry has
  804.       the "present" bit cleared
  805. Notes:    used to implement virtual memory--when the page fault occurs, the
  806.       operating system can load the appropriate page from disk
  807.     a protected-mode program written in the Flat memory model will often
  808.       generate this interrupt (typically reported as an Exception #14 or
  809.       Exception 0E with a register dump) when dereferencing an
  810.       uninitialized or corrupted pointer
  811. SeeAlso: INT 0B"CPU"
  812. --------h-0E---------------------------------
  813. INT 0E C - HP 95LX - EXTERNAL CARD INTERRUPT
  814. SeeAlso: INT 0D"HP 95LX",INT 0F"HP 95LX",INT 15/AX=4DD4h
  815. --------H-0F---------------------------------
  816. INT 0F C - IRQ7 - PARALLEL PRINTER
  817. Desc:    this interrupt is generated by the LPT1 printer adapter when the
  818.       printer becomes ready
  819. Notes:    most printer adapters do not reliably generate this interrupt
  820.     the 8259 interrupt controller generates an interrupt corresponding to
  821.       IRQ7 when an error condition occurs
  822. SeeAlso: INT 0D"IRQ5",INT 57"DESQview",INT 5F"DoubleDOS",INT 7F"GO32"
  823. SeeAlso: MEM 0040h:006Bh
  824. --------h-0F---------------------------------
  825. INT 0F C - HP 95LX - REAL-TIME CLOCK
  826. SeeAlso: INT 0E"HP 95LX",INT 15/AX=4DD4h,INT 70"IRQ8"
  827. --------C-10---------------------------------
  828. INT 10 C - CPU-generated (80286+) - COPROCESSOR ERROR
  829. Desc:    this interrupt is generated by the CPU when the -ERROR pin is asserted
  830.       by the coprocessor
  831. Note:    AT's and clones usually wire the coprocessor to use IRQ13, but not all
  832.       get it right
  833. SeeAlso: INT 09"hardware",INT 75
  834. --------V-1000-------------------------------
  835. INT 10 - VIDEO - SET VIDEO MODE
  836.     AH = 00h
  837.     AL = desired video mode (see #0009)
  838. Return: AL = video mode flag (Phoenix, AMI BIOS)
  839.         20h mode > 7
  840.         30h modes 0-5 and 7
  841.         3Fh mode 6
  842.     AL = CRT controller mode byte (Phoenix 386 BIOS v1.10)
  843. Desc:    specify the display mode for the currently active display adapter
  844. InstallCheck: for Ahead adapters, the signature "AHEAD" at C000h:0025h
  845.     for Paradise adapters, the signature "VGA=" at C000h:007Dh
  846.     for Oak Tech OTI-037/057/067/077 chipsets, the signature "OAK VGA" at
  847.       C000h:0008h
  848.     for ATI adapters, the signature "761295520" at C000h:0031h; the byte
  849.       at C000h:0043h indicates the chipset revision:
  850.         31h for 18800
  851.         32h for 18800-1
  852.         33h for 18800-2
  853.         34h for 18800-4
  854.         35h for 18800-5
  855.         62h for 68800AX (Mach32) (see also #0656)
  856.       the two bytes at C000h:0040h indicate the adapter type
  857.         "22" EGA Wonder
  858.         "31" VGA Wonder
  859.         "32" EGA Wonder800+
  860.       the byte at C000h:0042h contains feature flags
  861.         bit 1: mouse port present
  862.         bit 4: programmable video clock
  863.       the byte at C000h:0044h contains additional feature flags if chipset
  864.         byte > 30h (see #0008)
  865.     for Genoa video adapters, the signature 77h XXh 99h 66h at C000h:NNNNh,
  866.       where NNNNh is stored at C000h:0037h and XXh is
  867.         00h for Genoa 6200/6300
  868.         11h for Genoa 6400/6600
  869.         22h for Genoa 6100
  870.         33h for Genoa 5100/5200
  871.         55h for Genoa 5300/5400
  872.       for SuperEGA BIOS v2.41+, C000h:0057h contains the product level
  873.       for Genoa SuperEGA BIOS v3.0+, C000h:0070h contains the signature
  874.         "EXTMODE", indicating support for extended modes
  875. Notes:    IBM standard modes do not clear the screen if the high bit of AL is set
  876.       (EGA or higher only)
  877.     the Tseng ET4000 chipset is used by the Orchid Prodesigner II, Diamond
  878.       SpeedSTAR VGA, Groundhog Graphics Shadow VGA, Boca Super X VGA,
  879.       Everex EV-673, etc.
  880. SeeAlso: AX=0070h,AX=007Eh,AX=10E0h,AX=10F0h,AH=40h,AX=6F05h,AH=FFh"GO32"
  881. SeeAlso: INT 33/AX=0028h,INT 5F/AH=00h,INT 62/AX=0001h,MEM 0040h:0049h
  882. Index:    installation check;Tseng ET4000|installation check;Ahead video cards
  883. Index:    installation check;Oak Technologies|installation check;ATI video cards
  884. Index:    installation check;Paradise video|installation check;Genoa video cards
  885.  
  886. Bitfields for ATI additional feature flags:
  887. Bit(s)    Description    (Table 0008)
  888.  0    70 Hz non-interlaced display
  889.  1    Korean (double-byte) characters
  890.  2    45 MHz memory clock rather than 40 MHz
  891.  3    zero wait states
  892.  4    paged ROMs
  893.  6    no 8514/A monitor support
  894.  7    HiColor DAC
  895.  
  896. (Table 0009)
  897. Values for video mode:
  898.      text/ text pixel    pixel    colors disply scrn  system
  899.      grph resol     box  resolution       pages  addr
  900.  00h = T  40x25     8x8   320x200    16gray      8   B800 CGA,PCjr,Tandy
  901.      = T  40x25     8x14  320x350    16gray      8   B800 EGA
  902.      = T  40x25     8x16  320x400     16      8   B800 MCGA
  903.      = T  40x25     9x16  360x400     16      8   B800 VGA
  904.  01h = T  40x25     8x8   320x200     16      8   B800 CGA,PCjr,Tandy
  905.      = T  40x25     8x14  320x350     16      8   B800 EGA
  906.      = T  40x25     8x16  320x400     16      8   B800 MCGA
  907.      = T  40x25     9x16  360x400     16      8   B800 VGA
  908.  02h = T  80x25     8x8   640x200    16gray      4   B800 CGA,PCjr,Tandy
  909.      = T  80x25     8x14  640x350    16gray      8   B800 EGA
  910.      = T  80x25     8x16  640x400     16      8   B800 MCGA
  911.      = T  80x25     9x16  720x400     16      8   B800 VGA
  912.  03h = T  80x25     8x8   640x200     16      4   B800 CGA,PCjr,Tandy
  913.      = T  80x25     8x14  640x350     16/64      8   B800 EGA
  914.      = T  80x25     8x16  640x400     16      8   B800 MCGA
  915.      = T  80x25     9x16  720x400     16      8   B800 VGA
  916.      = T  80x43     8x8   640x350     16      4   B800 EGA,VGA [17]
  917.      = T  80x50     8x8   640x400     16      4   B800 VGA [17]
  918.  04h = G  40x25     8x8   320x200      4      .   B800 CGA,PCjr,EGA,MCGA,VGA
  919.  05h = G  40x25     8x8   320x200     4gray      .   B800 CGA,PCjr,EGA
  920.      = G  40x25     8x8   320x200      4      .   B800 MCGA,VGA
  921.  06h = G  80x25     8x8   640x200      2      .   B800 CGA,PCjr,EGA,MCGA,VGA
  922.      = G  80x25      .      .    mono      .   B000 HERCULES.COM on HGC [14]
  923.  07h = T  80x25     9x14  720x350    mono     var  B000 MDA,Hercules,EGA
  924.      = T  80x25     9x16  720x400    mono      .   B000 VGA
  925.  08h = T 132x25     8x8  1056x200     16      .   B800 ATI EGA/VGA Wonder [2]
  926.      = T 132x25     8x8  1056x200    mono      .   B000 ATI EGA/VGA Wonder [2]
  927.      = G  20x25     8x8   160x200     16      .    .  PCjr, Tandy 1000
  928.      = G  80x25     8x16  640x400    color      .    .  Tandy 2000
  929.      = G  90x43     8x8   720x348    mono      .   B000 Hercules + MSHERC.COM
  930.      = G  90x45     8x8   720x360    mono      .   B000 Hercules + HERKULES [11]
  931.      = G  90x29     8x12  720x348    mono      .    .  Hercules + HERCBIOS [15]
  932.  09h = G  40x25     8x8   320x200     16      .    .  PCjr, Tandy 1000
  933.      = G  80x25     8x16  640x400    mono      .    .  Tandy 2000
  934.      = G  90x43     8x8   720x348    mono      .    .  Hercules + HERCBIOS [15]
  935.  0Ah = G  80x25     8x8   640x200      4      .    .  PCjr, Tandy 1000
  936.  0Bh =     reserved                   (EGA BIOS internal use)
  937.      = G  80x25     8x8   640x200     16      .    .  Tandy 1000 SL/TL [13]
  938.  0Ch =     reserved                   (EGA BIOS internal use)
  939.  0Dh = G  40x25     8x8   320x200     16      8   A000 EGA,VGA
  940.  0Eh = G  80x25     8x8   640x200     16      4   A000 EGA,VGA
  941.  0Fh = G  80x25     8x14  640x350    mono      2   A000 EGA,VGA
  942.  10h = G  80x25     8x14  640x350      4      2   A000 64k EGA
  943.      = G    .      .    640x350     16      .   A000 256k EGA,VGA
  944.  11h = G  80x30     8x16  640x480    mono      .   A000 VGA,MCGA,ATI EGA,ATI VIP
  945.  12h = G  80x30     8x16  640x480     16/256K  .   A000 VGA,ATI VIP
  946.      = G  80x30     8x16  640x480     16/64      .   A000 ATI EGA Wonder
  947.      = G    .      .    640x480     16      .    .  UltraVision+256K EGA
  948.  13h = G  40x25     8x8   320x200    256/256K  .   A000 VGA,MCGA,ATI VIP
  949.  14h = T 132x25     Nx16      .     16      .   B800 XGA, IBM Enhanced VGA [3]
  950.      = T 132x25     8x16 1056x400     16/256K  .    .  Cirrus CL-GD5420/5422/5426
  951.      = G  80x25     8x8   640x200      .      .    .  Lava Chrome II EGA
  952.      = G    .      .    640x400     16      .    .  Tecmar VGA/AD
  953.  15h = G  80x25     8x14  640x350      .      .    .  Lava Chrome II EGA
  954.  16h = G  80x25     8x14  640x350      .      .    .  Lava Chrome II EGA
  955.      = G    .      .    800x600     16      .    .  Tecmar VGA/AD
  956.  17h = T 132x25      .      .      .      .    .  Tecmar VGA/AD
  957.      = T  80x43     8x8   640x348     16      4   B800 Tseng ET4000 BIOS [10]
  958.      = G  80x34     8x14  640x480      .      .    .  Lava Chrome II EGA
  959.  18h = T  80x30     9x16  720x480     16      1   A000 Realtek RTVGA [12]
  960.      = T 132x25      .      .    mono      .   B000 Cirrus 5320 chipset
  961.      = T 132x44     8x8  1056x352    mono      .   B000 Tseng Labs EVA
  962.      = T 132x44     9x8  1188x352     4gray      2   B000 Tseng ET3000 chipset
  963.      = T 132x44     8x8  1056x352     16/256      2   B000 Tseng ET4000 chipset
  964.      = G  80x34     8x14  640x480      .      .    .  Lava Chrome II EGA
  965.      = G          1024x768     16      .    .  Tecmar VGA/AD
  966.  19h = T  80x43     9x11  720x473     16      1   A000 Realtek RTVGA [12]
  967.      = T 132x25     8x14 1056x350    mono      .   B000 Tseng Labs EVA
  968.      = T 132x25     9x14 1188x350     4gray      4   B000 Tseng ET3000 chipset
  969.      = T 132x25     8x14 1056x350     16/256      4   B000 Tseng ET4000 chipset
  970.      = T 132x34      .      .    mono      .   B000 Cirrus 5320 chipset
  971.  1Ah = T  80x60     9x8   720x480     16      1   A000 Realtek RTVGA [12]
  972.      = T 132x28     8x13 1056x364    mono      .   B000 Tseng Labs EVA
  973.      = T 132x28     9x13 1188x364     4gray      4   B000 Tseng ET3000 chipset
  974.      = T 132x28     8x13 1056x364     16/256      4   B000 Tseng ET4000 chipset
  975.      = T 132x44      .      .    mono      .   B000 Cirrus 5320 chipset
  976.      = G    .      .    640x350    256      .    .  Tecmar VGA/AD
  977.  1Bh = T 132x25     9x14 1188x350     16      1   A000 Realtek RTVGA [12]
  978.      = G    .      .    640x400    256      .    .  Tecmar VGA/AD
  979.  1Ch = T 132x25      .      .      .      .    .  Cirrus 5320 chipset
  980.      = T 132x30     9x16 1188x480     16      1   A000 Realtek RTVGA [12]
  981.      = G    .      .    640x480    256      .    .  Tecmar VGA/AD
  982.  1Dh = T 132x43      .      .      .      .    .  Cirrus 5320 chipset
  983.      = T 132x43     9x11 1188x473     16      1   A000 Realtek RTVGA [12]
  984.      = G    .      .    800x600    256      .    .  Tecmar VGA/AD
  985.  1Eh = T 132x44      .      .      .      .    .  Cirrus 5320 chipset
  986.      = T 132x60     9x8  1188x480     16      1   A000 Realtek RTVGA [12]
  987.  1Fh = G 100x75     8x8   800x600     16      1   A000 Realtek RTVGA
  988.  20h = T 132x25      .      .     16      .    .  Avance Logic AL2101
  989.      = G  40x16      .    240x128    mono      .   B000 HP 95LX/100LX/200LX
  990.      = G  80x30     8x16  640x480     16      .    .  C&T 65530 BIOS
  991.      = G 120x45     8x16  960x720     16      1   A000 Realtek RTVGA
  992.  21h = T  80x25      .      .    mono      .   B000 HP 200LX
  993.      = T 132x30      .      .     16      .    .  Avance Logic AL2101
  994.      = T 132x44     9x9  1188x396     16/256K  .   B800 WD90C
  995.      = T 132x44     9x9  1188x396     16      .   B800 Diamond Speedstar 24X
  996.      = T 132x60      .      .     16      2   B800 Tseng ET4000 chipset [10]
  997.      = G  80x43     8x8   720x348    mono      .   B000 DESQview 2.x+Hercules [4]
  998.      = G 128x48     8x16 1024x768     16      1   A000 Realtek RTVGA [12]
  999.  22h = T 132x43      .      .      .      .    .  Allstar Peacock (VGA)
  1000.      = T 132x43      .      .     16      .    .  Avance Logic AL2101
  1001.      = T 132x44     8x8  1056x352      .      .   B800 Tseng Labs EVA
  1002.      = T 132x44     9x8  1188x352     16/256K  2   B800 Tseng ET3000 chipset
  1003.      = T 132x44     8x8  1056x352     16/256K  2   B800 Tseng ET4000 chipset
  1004.      = T 132x44     8x8  1056x352      .      .    .  Ahead Systems EGA2001
  1005.      = T 132x44     8x8  1056x352     16      2   B800 Ahead B
  1006.      = T 132x44     8x9  1056x398     16      .    .  STB Lightspeed ET4000/W32P
  1007.      = T 132x44      .      .     16      .    .  Orchid Prodesigner VGA
  1008.      = G  80x43     8x8   720x348    mono      .   B800 DESQview 2.x+Hercules [4]
  1009.      = G  96x64     8x16  768x1024     16      1   A000 Realtek RTVGA
  1010.      = G 100x37     8x16  800x600     16      .    .  C&T 65530 BIOS
  1011.  23h = T 132x25     6x14  792x350      .      .   B800 Tseng Labs EVA
  1012.      = T 132x25     9x14 1188x350     16/256K  4   B800 Tseng ET3000 chipset
  1013.      = T 132x25     8x14 1056x350     16/256      4   B800 Tseng ET4000 chipset
  1014.      = T 132x25     8x14 1056x350      .      .    .  Ahead Systems EGA2001
  1015.      = T 132x25     8x14 1056x350     16      4   B800 Ahead B
  1016.      = T 132x25     8x8  1056x200     16      .   B800 ATI EGA Wonder,ATI VIP
  1017.      = T 132x25      .      .      .      .    .  Cirrus 5320 chipset
  1018.      = T 132x28      .      .      .      .    .  Allstar Peacock (VGA)
  1019.      = T 132x28      .      .     16      .    .  Orchid Prodesigner VGA
  1020.      = T 132x60      .      .     16      .    .  Avance Logic AL2101
  1021.      = G 128x48     8x16 1024x768      4      1   A000 Realtek RTVGA
  1022.  24h = T  80x30      .      .     16      .    .  Avance Logic AL2101
  1023.      = T 132x25      .      .      .      .    .  Allstar Peacock (VGA)
  1024.      = T 132x25      .      .     16      .    .  Orchid Prodesigner VGA
  1025.      = T 132x28     6x13  792x364      .      .   B800 Tseng Labs EVA
  1026.      = T 132x28     9x13 1188x364     16/256K  4   B800 Tseng ET3000 chipset
  1027.      = T 132x28     8x12 1056x336     16      1   B800 Ahead B
  1028.      = T 132x28     8x13 1056x364     16/256K  4   B800 Tseng ET4000 chipset
  1029.      = T 132x28     8x14 1056x392     16      .    .  STB Lightspeed ET4000/W32P
  1030.      = T 132x28      .      .      .      .    .  Cirrus 5320 chipset
  1031.      = G  64x32     8x16  512x512    256      1   A000 Realtek RTVGA
  1032.      = G 128x48     8x16 1024x768     16      .    .  C&T 65530 BIOS
  1033.  25h = T  80x43      .      .     16      .    .  Avance Logic AL2101
  1034.      = G  80x60     8x8   640x480      .      .   A000 Tseng Labs EVA
  1035.      = G  80x60     8x8   640x480     16/256K  1   A000 Tseng ET3000/4000 chipset
  1036.      = G    .      .    640x480     16      .    .  VEGA VGA
  1037.      = G  80x60     8x8   640x480     16      .   A000 Orchid Prodesigner VGA
  1038.      = G  80x60     8x8   640x480     16      1   A000 Ahead B (same as 26h)
  1039.      = G    .      .    640x480     16      .    .  NEC GB-1
  1040.      = G    .      .    640x480     16      .    .  Cirrus 5320 chipset
  1041.      = G    .      .    640x400    256      .    .  Realtek RTVGA
  1042.  26h = T  80x60     8x8   640x480      .      .    .  Tseng Labs EVA
  1043.      = T  80x60     8x8   640x480     16/256K  3   B800 Tseng ET3000/4000 chipset
  1044.      = T  80x60      .      .      .      .    .  Allstar Peacock (VGA)
  1045.      = T  80x60      .      .     16      .    .  Orchid ProDesigner VGA
  1046.      = T  80x60      .      .     16      .    .  Avance Logic AL2101
  1047.      = G  80x60     8x8   640x480      .      .    .  Ahead Systems EGA2001
  1048.      = G  80x60     8x8   640x480     16      1   A000 Ahead B (same as 25h)
  1049.      = G    .      .    640x480    256      .    .  Realtek RTVGA
  1050.  27h = T 132x25     8x8  1056x200    mono      .   B000 ATI EGA Wonder,ATI VIP
  1051.      = G    .      .    720x512     16      .    .  VEGA VGA
  1052.      = G    .      .    720x512     16      .    .  Genoa
  1053.      = G 100x75     8x8   800x600    256      1   A000 Realtek RTVGA [12]
  1054.      = G    .      .    960x720     16      .    .  Avance Logic AL2101
  1055.  28h = T ???x???  .      .      .      .    .  VEGA VGA
  1056.      = G    .      .    512x512    256      .    .  Avance Logic AL2101
  1057.      = G    .      .   1024x768    256      .    .  Realtek RTVGA (1meg)
  1058.  29h = G    .      .    640x400    256      .    .  Avance Logic AL2101
  1059.      = G    .      .    800x600     16      .    .  VEGA VGA
  1060.      = G 100x37     8x16  800x600     16      .   A000 Orchid
  1061.      = G    .      .    800x600     16      .   A000 STB,Genoa,Sigma
  1062.      = G    .      .    800x600     16      .    .  Allstar Peacock (VGA)
  1063.      = G 100x37     8x16  800x600     16/256K  1   A000 Tseng ET3000/4000 chipset
  1064.      = G    .      .    800x600    ???      .    .  EIZO MDB10
  1065.      = G    .      .    800x600     16      .    .  Cirrus 5320 chipset
  1066.      = G   NA      .    800x600     16      .    .  Compaq QVision 1024/1280
  1067.      = G    .      .   1024x1024 256      .    .  Realtek RTVGA BIOS v3.C10
  1068.  2Ah = T 100x40      .      .      .      .    .  Allstar Peacock (VGA)
  1069.      = T 100x40     8x16  800x640     16      .    .  Orchid Prodesigner VGA
  1070.      = T 100x40     8x15  800x600     16/256K  4   B800 Tseng ET3000/4000 chipset
  1071.      = T 100x40     8x15  800x600     16      .    .  STB Lightspeed ET4000/W32P
  1072.      = G    .      .    640x480    256      .    .  Avance Logic AL2101
  1073.      = G    .      .   1280x1024     16      .    .  Realtek RTVGA
  1074.  2Bh = G    .      .    800x600     16      .    .  Avance Logic AL2101
  1075.  2Ch = G    .      .    800x600    256      .    .  Avance Logic AL2101
  1076.  2Dh = G    .      .    640x350    256      .    .  VEGA VGA
  1077.      = G    .      .    640x350    256/256K  .   A000 Orchid, Genoa, STB
  1078.      = G  80x25     8x14  640x350    256/256K  1   A000 Tseng ET3000/4000 chipset
  1079.      = G    .      .    640x350    256      .    .  Cirrus 5320 chipset
  1080.      = G  80x25     8x14  640x350    256      .    .  STB Lightspeed ET4000/W32P
  1081.      = G    .      .    768x1024     16      .    .  Avance Logic AL2101
  1082.  2Eh = G    .      .    640x480    256      .    .  VEGA VGA
  1083.      = G  80x30     8x16  640x480 256/256K      .   A000 Orchid
  1084.      = G    .      .    640x480 256/256K      .   A000 STB,Genoa,Sigma
  1085.      = G  80x30     8x16  640x480 256/256K      1   A000 Tseng ET3000/4000 chipset
  1086.      = G    .      .    640x480 256/256K      .    .  Compaq QVision 1024/1280
  1087.      = G    .      .    768x1024 256      .    .  Avance Logic AL2101
  1088.  2Fh = T 160x50     8x8  1280x400     16      4   B800 Ahead B (Wizard/3270)
  1089.      = G    .      .    720x512    256      .    .  VEGA VGA
  1090.      = G    .      .    720x512    256      .    .  Genoa
  1091.      = G  80x25     8x16  640x400 256/256K      1   A000 Tseng ET4000 chipset
  1092.      = G    .      .   1024x768      4      .    .  Avance Logic AL2101
  1093.  30h = G  80x30     8x16  640x480    256      .    .  C&T 65530 BIOS
  1094.      = G    .      .      .      .      .   B800 AT&T 6300
  1095.      = G    .      .    720x350      2      .    .  3270 PC
  1096.      = G    .      .    800x600    256      .    .  VEGA VGA
  1097.      = G 100x37     8x16  800x600 256/256K      .   A000 Orchid
  1098.      = G    .      .    800x600 256/256K      .   A000 STB,Genoa,Sigma
  1099.      = G    .      .    800x600    256      .    .  Cardinal
  1100.      = G 100x37     8x16  800x600 256/256K      1   A000 Tseng ET3000/4000 chipset
  1101.      = G    .      .   1024x768     16      .    .  Avance Logic AL2101
  1102.  31h = G    .      .   1024x768    256      .    .  Avance Logic AL2101
  1103.  32h = T  80x34     8x10      .     16      4   B800 Ahead B (Wizard/3270)
  1104.      = G    .      .    640x480    256      .    .  Compaq QVision 1024/1280
  1105.      = G 100x37     8x16  800x600    256      .    .  C&T 65530 BIOS
  1106.  33h = T 132x44     8x8      .     16      .   B800 ATI EGA Wonder,ATI VIP
  1107.      = T  80x34     8x8      .     16      4   B800 Ahead B (Wizard/3270)
  1108.  34h = T  80x66     8x8      .     16      4   B800 Ahead B (Wizard/3270)
  1109.      = G    .      .    800x600    256      .    .  Compaq QVision 1024/1280
  1110.  36h = G    .      .    960x720     16      .    .  VEGA VGA, STB
  1111.      = G    .      .    960x720     16      .   A000 Tseng ET3000 only
  1112.      = G    .      .   1280x1024     16      .    .  Avance Logic AL2101
  1113.  37h = T 132x44     8x8      .    mono      .   B800 ATI EGA Wonder,ATI VIP
  1114.      = G    .      .   1024x768     16      .    .  VEGA VGA
  1115.      = G 128x48     8x16 1024x768     16      .   A000 Orchid
  1116.      = G    .      .   1024x768     16      .   A000 STB,Genoa,Sigma
  1117.      = G    .      .   1024x768     16      .    .  Definicon
  1118.      = G 128x48     8x16 1024x768     16      1   A000 Tseng ET3000/4000 chipset
  1119.      = G    .      .   1024x768     16      .    .  Compaq QVision 1024/1280
  1120.      = G    .      .   1280x1024 256      .    .  Avance Logic AL2101
  1121.  38h = G    .      .   1024x768    256      .    .  STB VGA/EM-16 Plus (1MB)
  1122.      = G 128x48     8x16 1024x768    256/256K  1   A000 Tseng ET4000 chipset
  1123.      = G    .      .   1024x768    256      .    .  Orchid ProDesigner II
  1124.      = G    .      .   1024x768    256      .    .  Compaq QVision 1024/1280
  1125.  39h = G    .      .   1280x1024     16      .    .  Compaq QVision 1280
  1126.  3Ah = G    .      .   1280x1024    256      .    .  Compaq QVision 1280
  1127.  3Bh = G    .      .    512x480    256      .    .  Compaq QVision 1024/1280
  1128.  3Ch = G    .      .    640x400     64K      .    .  Compaq QVision 1024/1280
  1129.  3Dh = G    .      .   1280x1024     16      .    .  Definicon
  1130.      = G 128x64     8x16 1280x1024     16      1   A000 Tseng ET4000 v3.00 [1,7]
  1131.  3Eh = G    .      .   1280x961     16      .    .  Definicon
  1132.      = G    .      .    640x480     64K      .    .  Compaq QVision 1024/1280
  1133.  3Fh = G    .      .   1280x1024 256      .    .  Hercules ??? (ET4000W32)
  1134.      = G    .      .    800x600     64K      .    .  Compaq QVision 1024/1280
  1135.  40h = T  80x43      .      .      .      .    .  VEGA VGA, Tecmar VGA/AD
  1136.      = T  80x43      .      .      .      .    .  Video7 V-RAM VGA
  1137.      = T  80x43      .      .      .      .    .  Tatung VGA
  1138.      = T 100x30      .      .     16      .    .  MORSE VGA
  1139.      = T 100x30      .      .      .      .    .  Cirrus 510/520 chipset
  1140.      = T  80x25      .    720x350    mono      .    .  Genoa SuperEGA BIOS 3.0+
  1141.      = G    .      .    320x200     64K      .    .  Avance Logic AL2101
  1142.      = G  80x25     8x16  640x400      2      1   B800 AT&T 6300, AT&T VDC600
  1143.      = G  80x25     8x16  640x400      2      1   B800 Olivetti Quaderno
  1144.      = G  80x25     8x16  640x400      2      1   B800 Compaq Portable
  1145.      = G    .      .   1024x768     64K      .    .  Compaq QVision 1280
  1146.  41h = T 132x25      .      .      .      .    .  VEGA VGA
  1147.      = T 132x25      .      .      .      .    .  Tatung VGA
  1148.      = T 132x25      .      .      .      .    .  Video7 V-RAM VGA
  1149.      = T 100x50      .      .     16      .    .  MORSE VGA
  1150.      = T 100x50      .      .      .      .    .  Cirrus 510/520 chipset
  1151.      = T  80x34     9x14  720x476     16/256K  .   B800 WD90C
  1152.      = T  80x34     9x14      .     16      .   B800 Diamond Speedstar 24X
  1153.      = G    .      .    512x512     64K      .    .  Avance Logic AL2101
  1154.      = G    .      .    640x200     16      1    .  AT&T 6300
  1155.      = G  80x25      .    720x348    mono      .   B000 Genoa SuperEGA BIOS 3.0+
  1156.  42h = T 132x43      .      .      .      .    .  VEGA VGA
  1157.      = T 132x43      .      .      .      .    .  Tatung VGA
  1158.      = T 132x43      .      .      .      .    .  Video7 V-RAM VGA
  1159.      = T  80x34     9x10      .      4      4   B800 Ahead B (Wizard/3270)
  1160.      = T 100x60      .      .     16      .    .  MORSE VGA
  1161.      = T 100x60      .      .      .      .    .  Cirrus 510/520 chipset
  1162.      = G  80x25     8x16  640x400     16      .    .  AT&T 6300, AT&T VDC600
  1163.      = G    .      .    640x400     64K      .    .  Avance Logic AL2101
  1164.      = G  80x25      .    720x348    mono      .   B800 Genoa SuperEGA BIOS 3.0+
  1165.  43h = T  80x60      .      .      .      .    .  VEGA VGA
  1166.      = T  80x60      .      .      .      .    .  Tatung VGA
  1167.      = T  80x60      .      .      .      .    .  Video7 V-RAM VGA
  1168.      = T  80x45     9x8      .      4      4   B800 Ahead B (Wizard/3270)
  1169.      = T 100x75      .      .     16      .    .  MORSE VGA
  1170.      = T  80x29      .    720x348    mono      .    .  Genoa SuperEGA BIOS 3.0+
  1171.      = G    .      . 640x200 of 640x400 viewport       AT&T 6300 (unsupported)
  1172.      = G    .      .    640x480     64K      .    .  Avance Logic AL2101
  1173.  44h =    disable VDC and DEB output        .  AT&T 6300
  1174.      = T 100x60      .      .      .      .    .  VEGA VGA
  1175.      = T 100x60      .      .      .      .    .  Tatung VGA
  1176.      = T 100x60      .      .      .      .    .  Video7 V-RAM VGA
  1177.      = T  80x32      .    720x352    mono      .    .  Genoa SuperEGA BIOS 3.0+
  1178.      = G    .      .    800x600     64K      .    .  Avance Logic AL2101
  1179.  45h = T 132x28      .      .      .      .    .  Tatung VGA
  1180.      = T 132x28      .      .      .      .    .  Video7 V-RAM VGA
  1181.      = T  80x44      .    720x352    mono      .    .  Genoa SuperEGA BIOS 3.0+
  1182.  46h = T 132x25     8x14      .    mono      .    .  Genoa 6400
  1183.      = T 132x25     9x14      .    mono      .    .  Genoa SuperEGA BIOS 3.0+
  1184.      = G 100x40     8x15  800x600      2      .    .  AT&T VDC600
  1185.  47h = T 132x29     8x12      .    mono      .    .  Genoa 6400
  1186.      = T 132x29     9x12      .    mono      .    .  Genoa SuperEGA BIOS 3.0+
  1187.      = T 132x28     9x16 1188x448     16/256K  .   B800 WD90C
  1188.      = T 132x28     9x16      .     16      .   B800 Diamond Speedstar 24X
  1189.      = G 100x37     8x16  800x600     16      .    .  AT&T VDC600
  1190.  48h = T 132x32     8x12      .    mono      .    .  Genoa 6400
  1191.      = T 132x32     9x11      .    mono      .    .  Genoa SuperEGA BIOS 3.0+
  1192.      = G  80x50     8x8   640x400      2      .   B800 AT&T 6300, AT&T VDC600
  1193.      = G  80x50     8x8   640x400      2      .   B800 Olivetti Quaderno
  1194.  49h = T 132x44     8x8      .    mono      .    .  Genoa 6400
  1195.      = T 132x44     9x8      .    mono      .    .  Genoa SuperEGA BIOS 3.0+
  1196.      = G  80x30     8x16  640x480      .      .    .  Lava Chrome II EGA
  1197.      = G  80x30     8x16  640x480      .      .   A000 Diamond Stealth64 Video 2xx1
  1198.  4Bh = G 100x37     8x16  800x600      .      .   A000 Diamond Stealth64 Video 2xx1
  1199.  4Dh = T 120x25      .      .      .      .    .  VEGA VGA
  1200.      = G    .      .    512x480     16M      .    .  Compaq QVision 1024/1280
  1201.      = G 128x48     8x16 1024x768      .      .   A000 Diamond Stealth64 Video 2xx1
  1202.  4Eh = T 120x43      .      .      .      .    .  VEGA VGA
  1203.      = T  80x60     8x8      .     16/256K  .   B800 Oak OTI-067/OTI-077 [8]
  1204.      = G    .      .    640x400     16M      .    .  Compaq QVision 1024/1280
  1205.      = G 144x54     8x16 1152x864      .      .   A000 Diamond Stealth64 Video 2xx1
  1206.  4Fh = T 132x25      .      .      .      .    .  VEGA VGA
  1207.      = T 132x60      .      .      .      .    .  some Oak Tech VGA [8]
  1208.      = G    .      .    640x480     16M      .    .  Compaq QVision 1280
  1209.  50h = T  80x30     8x16      .     16/256K  .   B800 Trident TVGA 8800/8900
  1210.      = T  80x34      .      .      .      .    .  Lava Chrome II EGA
  1211.      = T  80x43      .      .    mono      .    .  VEGA VGA
  1212.      = T 132x25     9x14      .    mono      .    .  Ahead Systems EGA2001
  1213.      = T 132x25     9x14      .      4      4   B800 Ahead B
  1214.      = T 132x25     8x14      .     16      8   B800 OAK Technologies VGA-16
  1215.      = T 132x25     8x14      .     16/256K  .   B800 Oak OTI-037/067/077 [8]
  1216.      = T 132x25     8x14 1056x350     16      8   B800 UM587 chipset
  1217.      = T 132x30      .      .     16      .    .  MORSE VGA
  1218.      = T 132x30      .      .      .      .    .  Cirrus 510/520 chipset
  1219.      = G  80x30     8x16  640x480     16      .    .  Paradise EGA-480
  1220.      = G  80x30     8x16  640x480     16      .    .  NEL Electronics BIOS
  1221.      = G    .      .    640x480    mono???      .    .  Taxan 565 EGA
  1222.      = G  40x25     8x8   320x200      .      .    .  Genoa SuperEGA BIOS 3.0+
  1223.  51h = T  80x30     8x16      .      .      .    .  Paradise EGA-480
  1224.      = T  80x30     9x16      .      .      .    .  NEL Electronics BIOS
  1225.      = T  80x30      .      .      .      .    .  Lava Chrome II EGA
  1226.      = T  80x43     8x11      .     16/256K  .   B800 Trident TVGA 8800/8900
  1227.      = T 132x25      .      .    mono      .    .  VEGA VGA
  1228.      = T 132x28     9x12      .      4      4   B800 Ahead B
  1229.      = T 132x43     8x8      .     16      5   B800 OAK Technologies VGA-16
  1230.      = T 132x43     8x8      .     16/256K  .   B800 Oak OTI-037/067/077
  1231.      = T 132x43     8x8  1056x344     16      5   B800 UM587 chipset
  1232.      = T 132x50      .      .     16      .    .  MORSE VGA
  1233.      = T 132x50      .      .      .      .    .  Cirrus 510/520 chipset
  1234.      = G  80x34     8x14  640x480     16      .    .  ATI EGA Wonder
  1235.      = G  80x25     8x8   640x200      .      .    .  Genoa SuperEGA BIOS 3.0+
  1236.  52h = T  80x60      .      .      .      .    .  Lava Chrome II EGA
  1237.      = T  80x60     8x8      .     16/256K  .   B800 Trident TVGA 8800/8900
  1238.      = T 132x43      .      .    mono      .    .  VEGA VGA
  1239.      = T 132x44     9x8      .    mono      .    .  Ahead Systems EGA2001
  1240.      = T 132x44     9x8      .      4      2   B800 Ahead B
  1241.      = T 132x60      .      .     16      .    .  MORSE VGA
  1242.      = T 132x60      .      .      .      .    .  Cirrus 510/520 chipset
  1243.      = G  80x25     8x19  640x480     16      1   A000 AX VGA (Kanji&superimpose)
  1244.      = G  94x29     8x14  752x410     16      .    .  ATI EGA Wonder
  1245.      = G 100x75     8x8   800x600     16      1   A000 OAK Technologies VGA-16
  1246.      = G 100x75     8x8   800x600     16      .   A000 Oak OTI-037 chipset [8]
  1247.      = G 100x37     8x16  800x600     16      .   A000 Oak OTI-067/077 chips [8]
  1248.      = G 100x75     8x8   800x600     16      .   A000 UM587 chipset
  1249.      = G 128x30     8x16 1024x480     16      .    .  NEL Electronics BIOS
  1250.  53h = T  80x25     8x16      .      .      .    .  NEL Electronics BIOS
  1251.      = T  80x60      .      .     16      .    .  MORSE VGA
  1252.      = T  80x60      .      .      .      .    .  Cirrus 510/520 chipset
  1253.      = T 132x25     8x14      .     16/256K  .   B800 Trident TVGA 8800/8900
  1254.      = T 132x43      .      .      .      .    .  Lava Chrome II EGA
  1255.      = G  80x25     8x19  640x480     16      1   A000 AX VGA (Kanji, no superimp.)
  1256.      = G    .      .    640x480    256      .    .  Oak VGA
  1257.      = G  80x30     8x16  640x480    256      .   A000 Oak OTI-067/OTI-077 [8]
  1258.      = G 100x40     8x14  800x560     16      .    .  ATI EGA Wonder,ATI VIP
  1259.      = G    .      .      .      .      .    .  AX PC
  1260.  54h = T 132x25      .      .      .      .    .  Lava Chrome II EGA
  1261.      = T 132x30     8x16      .     16/256K  .   B800 Trident TVGA 8800/8900
  1262.      = T 132x43     8x8      .      .      .    .  Paradise EGA-480
  1263.      = T 132x43     8x8      .      .      .    .  NEL Electronics BIOS
  1264.      = T 132x43     7x9      .     16/256K  .   B800 Paradise VGA
  1265.      = T 132x43     8x9      .     16/256K  .   B800 Paradise VGA on multisync
  1266.      = T 132x43      .      .      .      .    .  Taxan 565 EGA
  1267.      = T 132x43      .      .      .      .    .  AST VGA Plus
  1268.      = T 132x43      .      .      .      .    .  Hewlett-Packard D1180A
  1269.      = T 132x43     7x9      .     16      .    .  AT&T VDC600
  1270.      = T 132x43     9x9  1188x387     16/256K  .   B800 WD90C
  1271.      = T 132x43     9x9  1188x387     16/256K  .   B800 Diamond Speedstar 24X
  1272.      = T 132x43     9x9  1188x387     16/256K  .   B800 Diamond Stealth 24
  1273.      = T 132x43     8x8      .      .      .   B800 Diamond Stealth64 Video 2xx1
  1274.      = T 132x43     8x8  1056x350     16/256K  .    .  Cirrus CL-GD5420/5422/5426
  1275.      = T 132x50     8x8      .     16      .   A000 NCR 77C22 [9]
  1276.      = G 100x42     8x14  800x600     16      .   A000 ATI EGA Wonder, VGA Wonder
  1277.      = G 100x42     8x14  800x600     16      .   A000 ATI Ultra 8514A, ATI XL
  1278.      = G    .      .    800x600    256      .   A000 Oak VGA
  1279.      = G 100x37     8x16  800x600    256      .   A000 Oak OTI-067/077 chips [8]
  1280.  55h = T  80x66     8x8      .     16/256K  .   A000 ATI VIP
  1281.      = T 132x25     8x14      .      .      .    .  Paradise EGA-480
  1282.      = T 132x25     8x14      .      .      .    .  NEL Electronics BIOS
  1283.      = T 132x25     7x16      .     16/256K  .   B800 Paradise VGA
  1284.      = T 132x25     8x16      .     16/256K  .   B800 Paradise VGA on multisync
  1285.      = T 132x25      .      .      .      .    .  Taxan 565 EGA
  1286.      = T 132x25      .      .      .      .    .  AST VGA Plus
  1287.      = T 132x25      .      .      .      .    .  Hewlett-Packard D1180A
  1288.      = T 132x25     7x16      .     16      .    .  AT&T VDC600
  1289.      = T 132x25     8x16      .     16      .   A000 NCR 77C22 [9]
  1290.      = T 132x25     9x16 1188x400     16/256K  .   B800 WD90C
  1291.      = T 132x25     9x16 1188x400     16/256K  .   B800 Diamond Speedstar 24X
  1292.      = T 132x25     9x16 1188x400     16/256K  .   B800 Diamond Stealth 24
  1293.      = T 132x25     8x16      .      .      .   B800 Diamond Stealth64 Video 2xx1
  1294.      = T 132x25     8x14 1056x350     16/256K  .    .  Cirrus CL-GD5420/5422/5426
  1295.      = T 132x43     8x11      .     16/256K  .   B800 Trident TVGA 8800/8900
  1296.      = G  94x29     8x14  752x410      .      .    .  Lava Chrome II EGA
  1297.      = G 128x48     8x16 1024x768     16/256K  .   A000 ATI VGA Wonder v4+  [5]
  1298.      = G    .      .   1024x768     16/256K  .    .  ATI VGA Wonder Plus
  1299.      = G    .      .   1024x768     16/256K  .    .  ATI Ultra 8514A,ATI XL
  1300.      = G 128x48     8x16 1024x768      4      .   A000 Oak OTI-067/077 chips [8]
  1301.  56h = T 132x43     8x8      .      3???      2   B000 NSI Smart EGA+
  1302.      = T 132x43     7x9      .      4      .   B000 Paradise VGA
  1303.      = T 132x43     8x9      .      4      .   B000 Paradise VGA on multisync
  1304.      = T 132x43      .      .    mono      .    .  Taxan 565 EGA
  1305.      = T 132x43     7x9      .      2      .    .  AT&T VDC600
  1306.      = T 132x43     9x8      .      .      .    .  NEL Electronics BIOS
  1307.      = T 132x50     8x8      .      4      .   A000 NCR 77C22 [9]
  1308.      = T 132x60     8x8      .     16/256K  .   B800 Trident TVGA 8800/8900
  1309.      = G    .      .   1024x768     16      .   A000 Oak VGA
  1310.      = G 128x48     8x16 1024x768     16      .   A000 Oak OTI-067/077 chips [8]
  1311.  57h = T 132x25     8x14      .      3???      4   B000 NSI Smart EGA+
  1312.      = T 132x25     7x16      .      4      .   B000 Paradise VGA
  1313.      = T 132x25     8x16      .      4      .   B000 Paradise VGA on multisync
  1314.      = T 132x25     9x14      .      .      .    .  NEL Electronics BIOS
  1315.      = T 132x25      .      .    mono      .    .  Taxan 565 EGA
  1316.      = T 132x25     7x16      .      2      .    .  AT&T VDC600
  1317.      = T 132x25     9x14      .     16/256K  .   B800 Trident TVGA 8800/8900
  1318.      = T 132x25     8x16      .      4      .   A000 NCR 77C22 [9]
  1319.      = G  96x48     8x16  768x1024     16      .   A000 Oak OTI-067/077 chips [8]
  1320.  58h = T  80x33     8x14      .     16      .   B800 ATI EGA Wonder,ATI VIP
  1321.      = T  80x32     9x16      .     16      .    .  Genoa 6400
  1322.      = T  80x43     8x8      .      .      .    .  NEL Electronics BIOS
  1323.      = T 132x30     9x16      .     16/256K  .   B800 Trident TVGA 8800/8900
  1324.      = G 100x75     8x8   800x600     16/256K  .   A000 Paradise VGA
  1325.      = G 100x75     8x8   800x600     16      .    .  AT&T VDC600
  1326.      = G 100x75     8x8   800x600     16      .   A000 NCR 77C22 [9]
  1327.      = G 100x75     8x8   800x600     16      .   A000 Diamond Speedstar 24X
  1328.      = G 100x75     8x8   800x600     16/256K  .   A000 Paradise VGA, WD90C
  1329.      = G    .      .    800x600     16      .    .  AST VGA Plus, Compaq VGA
  1330.      = G    .      .    800x600     16      .    .  Dell VGA
  1331.      = G    .      .    800x600     16      .    .  Hewlett-Packard D1180A
  1332.      = G    .      .    800x600    ???      .    .  ELT VGA PLUS 16
  1333.      = G 100x37     8x16  800x600     16/256K  .   A000 Cirrus CL-GD5420/5422/5426
  1334.      = G 160x64     8x16 1280x1024     16      .   A000 Oak OTI-077 chipset [8]
  1335.  59h = T  80x43     9x8      .      .      .    .  NEL Electronics BIOS
  1336.      = T  80x66     8x8      .     16/256K  .   A000 ATI VIP
  1337.      = T 132x43     9x11      .     16/256K  .   B800 Trident TVGA 8800/8900
  1338.      = G 100x75     8x8   800x600      2      .   A000 Paradise VGA
  1339.      = G 100x75     8x8   800x600      2      .    .  AT&T VDC600
  1340.      = G    .      .    800x600      2      .    .  AST VGA Plus, Compaq VGA
  1341.      = G    .      .    800x600      2      .    .  Dell VGA
  1342.      = G    .      .    800x600      2      .    .  Hewlett-Packard D1180A
  1343.      = G 100x75     8x8   800x600      2      .   A000 NCR 77C22 [9]
  1344.      = G 128x48     8x16 1024x768    256      .   A000 Oak OTI-077 chipset [8]
  1345.  5Ah = T  80x60     8x8      .      .      .    .  NEL Electronics BIOS
  1346.      = T 132x60     9x8      .     16/256K  .   B800 Trident TVGA 8800/8900
  1347.      = G 128x48     8x16 1024x768      2      .   A000 NCR 77C22 [9]
  1348.  5Bh = T  80x30     8x16      .      .      .   B800 ATI VGA Wonder (undoc)
  1349.      = G    .      .    640x350    256      .    .  Genoa 6400
  1350.      = G  80x25     8x16  640x400     32K      .   A000 Oak OTI-067/077 chips [8]
  1351.      = G    .      .    800x600     16      .    .  Maxxon, SEFCO TVGA, Imtec
  1352.      = G 100x75     8x8   800x600     16/256K  .   A000 Trident TVGA 8800, 8900
  1353.      = G    .      .    800x600    ???      .    .  Vobis MVGA
  1354.      = G 100x37     8x16  800x600      .      .    .  NEL Electronics BIOS
  1355.      = G 128x48     8x16 1024x768     16      .   A000 NCR 77C22 [1,9]
  1356.  5Ch = T 100x37     8x16      .      .      .    .  NEL Electronics BIOS
  1357.      = G    .      .    640x400    256      .    .  Logix, ATI Prism Elite
  1358.      = G    .      .    640x400    256      .    .  Maxxon, SEFCO TVGA, Imtec
  1359.      = G  80x25     8x16  640x400    256/256K  .   A000 Zymos Poach, Hi Res 512
  1360.      = G  80x25     8x16  640x400    256/256K  .   A000 Trident TVGA 8800/8900
  1361.      = G  80x30     8x16  640x480    256      .    .  Genoa 6400
  1362.      = G  80x30     8x16  640x480     32K      .   A000 Oak OTI-077 chipset [8]
  1363.      = G 100x75     8x8   800x600    256      .   A000 NCR 77C22 [9]
  1364.      = G 100x75     8x8   800x600    256/256K  .   A000 WD90C
  1365.      = G 100x75     8x8   800x600    256/256K  .   A000 Diamond Speedstar 24X
  1366.      = G 100x37     8x16  800x600    256/256K  .   A000 Cirrus CL-GD5420/5422/5426
  1367.  5Dh = T 100x75     8x8      .      .      .    .  NEL Electronics BIOS
  1368.      = G  80x25     8x14  640x350     64K      .    .  STB Lightspeed ET4000/W32P
  1369.      = G    .      .    640x480    256      .    .  Logix, ATI Prism Elite
  1370.      = G    .      .    640x480    256      .    .  Maxxon, SEFCO TVGA, Imtec
  1371.      = G  80x30     8x16  640x480    256/256K  .   A000 Zymos Poach, Hi Res 512
  1372.      = G  80x30     8x16  640x480    256/256K  .   A000 Trident TVGA 8800 (512K)
  1373.      = G 128x48     8x16 1024x768     16      .   A000 NCR 77C22 [9]
  1374.      = G 128x48     8x16 1024x768     16/256K  .   A000 WD90C
  1375.      = G 128x48     8x16 1024x768     16      .   A000 Diamond Speedstar 24X
  1376.      = G 128x48     8x16 1024x768     16/256K  .   A000 Cirrus CL-GD5420/5422/5426
  1377.  5Eh = G    .      .    640x400    256      .    .  Paradise VGA,VEGA VGA
  1378.      = G    .      .    640x400    256      .    .  AST VGA Plus, NCR 77C22
  1379.      = G    .      .    640x400    256      .    .  Compaq VGA, Dell VGA
  1380.      = G  80x25     8x16  640x400    256      .    .  AT&T VDC600
  1381.      = G  80x25     8x16  640x400    256      .   A000 NCR 77C22 [9]
  1382.      = G  80x25     8x16  640x400    256/256K  .   A000 WD90C
  1383.      = G  80x25     8x16  640x400    256/256K  .   A000 Diamond Speedstar 24X
  1384.      = G    .      .    800x600     16      .    .  Logix, ATI Prism Elite
  1385.      = G 100x37     8x16  800x600     16      .    .  NEL Electronics BIOS
  1386.      = G 100x75     8x8   800x600    256      .    .  Genoa 6400
  1387.      = G 100x75     8x8   800x600    256/256K  .   A000 Zymos Poach, Trident 8900
  1388.      = G 100x75     8x8   800x600    256/256K  .   A000 Hi Res 512
  1389.  5Fh = G  80x25     8x16  640x400     64K      .    .  STB Lightspeed ET4000/W32P
  1390.      = G    .      .    640x480    256      .    .  Paradise VGA
  1391.      = G    .      .    640x480    256      .    .  AST VGA Plus, NCR 77C22
  1392.      = G    .      .    640x480    256      .    .  Compaq VGA, Dell VGA
  1393.      = G    .      .    640x480    256      .    .  Hewlett-Packard D1180A
  1394.      = G  80x30     8x16  640x480    256      .    .  AT&T VDC600 (512K)
  1395.      = G  80x30     8x16  640x480    256      .   A000 NCR 77C22 [9]
  1396.      = G  80x30     8x16  640x480    256/256K  .   A000 WD90C
  1397.      = G  80x30     8x16  640x480    256/256K  .   A000 Diamond Speedstar 24X
  1398.      = G  80x30     8x16  640x480    256/256K  .   A000 Cirrus CL-GD5420/5422/5426
  1399.      = G    .      .   1024x768     16      .    .  Logix, ATI Prism Elite
  1400.      = G    .      .   1024x768     16      .    .  Maxxon, Imtec
  1401.      = G 128x48     8x16 1024x768     16      .    .  Genoa 6400
  1402.      = G 128x48     8x16 1024x768     16/256K  .   A000 Zymos Poach, Hi Res 512
  1403.      = G 128x48     8x16 1024x768     16/256K  .   A000 Trident TVGA 88/8900 512K
  1404.  60h = T 132x25     8x14      .     16/64      8   B800 Quadram Ultra VGA
  1405.      = T 132x25     8x14      .     16      .    .  Genoa 6400
  1406.      = T 132x25     8x14      .     16      .    .  Genoa SuperEGA BIOS 3.0+
  1407.      = T 132x25      .      .      .      .    .  Cirrus 5320 chipset
  1408.      = T 132x25     8x16 1056x400     16      .   B800 Chips&Technologies chipset
  1409.      = G  80x???  .    ???x400      .      .    .  Corona/Cordata BIOS 4.10+
  1410.      = G  80x25     8x16  640x400    256      1   A000 Ahead A, Ahead B
  1411.      = G    .      .    752x410      .      .    .  VEGA VGA
  1412.      = G    .      .    752x410     16      .    .  Tatung VGA
  1413.      = G    .      .    752x410     16      .    .  Video7 V-RAM VGA
  1414.      = G 128x48     8x16 1024x768      4/256K  .   A000 Trident TVGA 8900
  1415.      = G 128x48     8x16 1024x768    256/256K  .   A000 WD90C
  1416.      = G 128x48     8x16 1024x768    256/256K  .   A000 Diamond Speedstar 24X
  1417.      = G 128x48     8x16 1024x768    256/256K  .   A000 Cirrus CL-GD5420/5422/5426
  1418.      = G 144x54     8x16 1152x864      .      .   A000 Diamond Stealth64 Video 2xx1
  1419.  61h = T 132x29     8x12      .     16/64      8   B800 Quadram Ultra VGA
  1420.      = T 132x29     8x8      .     16      .    .  Genoa 6400
  1421.      = T 132x29     8x8      .     16      .    .  Genoa SuperEGA BIOS 3.0+
  1422.      = T 132x50      .      .      .      .    .  Cirrus 5320 chipset
  1423.      = T 132x50     8x8  1056x400     16      .   B800 Chips&Technologies chipset
  1424.      = G    .      .    ???x400      .      .    .  Corona/Cordata BIOS 4.10+
  1425.      = G  80x25     8x16  640x400    256      .   A000 ATI VGA Wonder,VGA Wonder+
  1426.      = G  80x25     8x16  640x400    256      .   A000 ATI Ultra 8514A,ATI XL
  1427.      = G  80x25     8x16  640x400      .      .   A000 Diamond Stealth64 Video 2xx1
  1428.      = G  80x30     8x16  640x480    256      1   A000 Ahead A, Ahead B (512K)
  1429.      = G    .      .    720x540      .      .    .  VEGA VGA
  1430.      = G    .      .    720x540     16      .    .  Tatung VGA
  1431.      = G    .      .    720x540     16      .    .  Video7 V-RAM VGA
  1432.      = G  96x64     8x16  768x1024     16/256K  .   A000 Trident TVGA 88/8900 512K
  1433.      = G 128x48     8x16 1024x768    256      .   A000 NCR 77C22 [1,9]
  1434.      = G 144x54     8x16 1152x864      .      .   A000 Diamond Stealth64 Video 2xx1
  1435.  62h = T 132x32     8x11      .     16/64      6   B800 Quadram Ultra VGA
  1436.      = T 132x32     8x12      .     16      .    .  Genoa 6400
  1437.      = T 132x32     8x11      .     16      .    .  Genoa SuperEGA BIOS 3.0+
  1438.      = T 132x43     8x8  1056x344     16      .   B800 C&T 82C450 BIOS
  1439.      = G    .      .    640x450     16      .    .  Cirrus 510/520 chipset
  1440.      = G  80x30     8x16  640x480    256      .   A000 ATI VGA Wonder,VGA Wonder+
  1441.      = G  80x30     8x16  640x480    256      .   A000 ATI Ultra 8514A,ATI XL
  1442.      = G  80x30     8x16  640x480    32K      .   A000 WD90C
  1443.      = G  80x30     8x16  640x480    32K      .   A000 Diamond Speedstar 24X
  1444.      = G    .      .    800x600      .      .    .  VEGA VGA
  1445.      = G    .      .    800x600     16      .    .  Tatung VGA
  1446.      = G    .      .    800x600     16      .    .  Video7 V-RAM VGA
  1447.      = G 100x75     8x8   800x600    256      1   A000 Ahead A, Ahead B (512K)
  1448.      = G 128x48     8x16 1024x768    256/256K  .   A000 Trident TVGA 8900, Zymos
  1449.      = G 128x48     8x16 1024x768    256      .   A000 NCR 77C22 [9]
  1450.  63h = T 132x44     8x8      .     16/64      5   B800 Quadram Ultra VGA
  1451.      = T 132x44     8x8      .     16      .    .  Genoa 6400
  1452.      = T 132x44     8x8      .     16      .    .  Genoa SuperEGA BIOS 3.0+
  1453.      = G    .      .    720x540     16      .    .  MORSE VGA
  1454.      = G    .      .    720x540     16      .    .  Cirrus 510/520 chipset
  1455.      = G 100x42     8x14  800x600    256      .   A000 ATI VGA Wonder,VGA Wonder+
  1456.      = G 100x42     8x14  800x600    256      .   A000 ATI Ultra 8514A,ATI XL
  1457.      = G    .      .    800x600    32K      .   A000 WD90C
  1458.      = G    .      .    800x600    32K      .   A000 Diamond Speedstar 24X
  1459.      = G 128x48     7x16 1024x768    256      1   A000 Ahead B (1MB)
  1460.      = G    .      .   1024x768      2      .    .  Video7 V-RAM VGA
  1461.  64h = T 132x60     8x8      .     16      .    .  Genoa 6400
  1462.      = T  80x43     8x8   528x344     16      .   B800 C&T 82C450 BIOS
  1463.      = G    .      .    640x480    64K      .   A000 Cirrus CL-GD 5422/5426
  1464.      = G    .      .    800x600     16      .    .  MORSE VGA
  1465.      = G    .      .    800x600     16      .    .  Cirrus 510/520 chipset
  1466.      = G    .      .    800x600    ???      .    .  SAMPO-Mira VGA
  1467.      = G    .      .   1024x768      4      .    .  Video7 V-RAM VGA
  1468.      = G 128x48     8x16 1024x768    256      .   A000 ATI VGA Wonder Plus,ATI XL
  1469.      = G 160x64     8x16 1280x1024     16/256K  .   A000 WD90C [1]
  1470.      = G 160x64     8x16 1280x1024     16/256K  .   A000 Diamond Speedstar 24X [1]
  1471.  65h = T  80x50     8x8   528x400     16      .   B800 C&T 82C450 BIOS
  1472.      = G    .      .    800x600    64K      .   A000 Cirrus CL-GD 5422/5426
  1473.      = G    .      .   1024x768     16      .    .  Video7 V-RAM VGA
  1474.      = G 128x48     8x16 1024x768     16      .   A000 ATI VGA Wonder
  1475.  66h = T  80x50     8x8   640x400     16/256K  .   B800 WD90C
  1476.      = T  80x50     8x8      .     16      .   B800 Diamond Speedstar 24X
  1477.      = G    .      .    640x400    256      .    .  Tatung VGA
  1478.      = G    .      .    640x400    256      .    .  Video7 V-RAM VGA
  1479.      = G    .      .    640x480    32K      .   A000 Cirrus CL-GD 5422/5426
  1480.  67h = T  80x43     8x8   640x344     16/256K  .   B800 WD90C
  1481.      = T  80x43     8x8      .     16      .   B800 Diamond Speedstar 24X
  1482.      = G    .      .    640x480    256      .    .  Video7 V-RAM VGA
  1483.      = G    .      .    800x600    32K      .   A000 Cirrus CL-GD 5422/5426
  1484.      = G 128x48     8x16 1024x768      4      .   A000 ATI VGA Wonder
  1485.      = G 160x64     8x16 1280x1024     16      .   A000 NCR 77C22 [1,9]
  1486.  68h = G  80x25     8x16  640x400      .      .   A000 Diamond Stealth64 Video 2xx1
  1487.  69h = T 132x50     8x8  1056x400     16/256K  .   B800 WD90C
  1488.      = T 132x50     8x8      .     16      .   B800 Diamond Speedstar 24X
  1489.      = G  80x30     8x16  640x480      .      .   A000 Diamond Stealth64 Video 2xx1
  1490.      = G    .      .    720x540    256      .   A000 Video7 V-RAM VGA
  1491.  6Ah = G    .      .    800x600     16      .   A000 VESA standard interface
  1492.      = G 100x75     8x8   800x600     16      .   A000 Genoa 6400
  1493.      = G 100x75     8x8   800x600     16      .   A000 Diamond Speedstar 24X
  1494.      = G    .      .    800x600     16      .   A000 Ahead A
  1495.      = G 100x75     8x8   800x600     16      1   A000 Ahead B (VESA) [see 71h]
  1496.      = G    .      .    800x600     16      .    .  Zymos Poach, Hi Res 512
  1497.      = G    .      .    800x600     16      .    .  Epson LT-386SX in CRT Mode
  1498.      = G    .      .    800x600     16      .    .  Compuadd 316SL in CRT Mode
  1499.      = G 100x37     8x16  800x600     16/256K  .   A000 Cirrus CL-GD5420/5422/5426
  1500.      = G 100x37     8x16  800x600     16      .   A000 Diamond Stealth64 Video 2xx1
  1501.      = G 100x42     8x14  800x600      .      .   A000 ATI VGA Wonder (undoc)
  1502.      = G    .      .    800x600     16      .   A000 Chips&Technologies chipset
  1503.      = G 160x64     8x16 1280x1024 256      .   A000 NCR 77C22 [1,9]
  1504.  6Bh = T 100x37     8x16      .     16      .    .  Genoa 6400
  1505.      = T 100x37     8x16      .      .      .    .  NEL Electronics BIOS
  1506.      = G 100x37     8x16  800x600      .      .   A000 Diamond Stealth64 Video 2xx1
  1507.  6Ch = G  80x30     8x16  640x480     16M      .   A000 Trident 8900CL/BIOS C04
  1508.      = G 100x75     8x8   800x600    256      .    .  Genoa 6400
  1509.      = G 128x48     8x16 1024x768      2      .   A000 Diamond Stealth64 Video 2xx1
  1510.      = G 160x60     8x16 1280x960     16/256K  .   A000 WD90C [1]
  1511.      = G 160x60     8x16 1280x960     16/256K  .   A000 Diamond Speedstar 24X [1]
  1512.      = G 160x64     8x16 1280x1024     16/256K  .   A000 Cirrus CL-GD 5422/5426 [1]
  1513.  6Dh = G  80x25     8x14  640x350     64K      .   A000 STB Lightspeed ET4000/W32P
  1514.      = G 128x48     8x16 1024x768      .      .   A000 Diamond Stealth64 Video 2xx1
  1515.      = G 160x64     8x16 1280x1024 256/256K  .   A000 Cirrus CL-GD 5422/5426 [1]
  1516.  6Eh = G  40x25     8x8   320x200     64K      .   A000 Cirrus CL-GD 5422/5426
  1517.      = G 160x64     8x16 1280x1024      2      .   A000 Diamond Stealth64 Video 2xx1
  1518.  6Fh = G  40x25     8x8   320x200     16M      .   A000 Cirrus CL-GD 5422/5426
  1519.      = G 160x64     8x16 1280x1024      .      .   A000 Diamond Stealth64 Video 2xx1
  1520.  70h =    extended mode set (see AX=0070h)    .  Everex Micro Enhancer EGA
  1521.      = T  40x25     8x8      .     16      8   B800 Quadram (CGA double scan)
  1522.      = T  40x25     8x8   (CGA dblscan)      .    .  Genoa SuperEGA BIOS 3.0+
  1523.      = G    .      .    360x480    256      .    .  Cirrus 510/520/5320 chips
  1524.      = G  90x28     8x14  720x392     16      1   A000 Ahead B
  1525.      = G  80x30     8x16  640x480      .      .   A000 Diamond Stealth64 Video 2xx1
  1526.      = G 100x38     8x16  800x600     16      .   A000 C&T chipset, Cardinal
  1527.      = G    .      .   1024x480    256      .   A000 Trident 8900C BIOS C3.0
  1528.  71h = T  80x25     8x8      .     16      8   B800 Quadram (CGA double scan)
  1529.      = T  80x25     8x8   (CGA dblscan)      .    .  Genoa SuperEGA BIOS 3.0+
  1530.      = G    .      .    528x400    256      .    .  Cirrus 510/520 chipset
  1531.      = G  80x30     8x16  640x480     16M      .   A000 Cirrus CL-GD 5422/5426
  1532.      = G  80x30     8x16  640x480      .      .   A000 Diamond Stealth64 Video 2xx1
  1533.      = G 100x35     8x16  800x600     16/64      .   A000 NSI Smart EGA+
  1534.      = G 100x75     8x8   800x600     16      1   A000 Ahead B (same as 6Ah)
  1535.      = G    .      .    960x720     16      .    .  C&T chipset, Cardinal
  1536.      = G    .      .   1024x480    256      .   A000 Trident 8900C BIOS C3.0
  1537.  72h = T  80x60     8x8      .     16      .   B800 Quadram Ultra VGA
  1538.      = T  80x60     8x8      .     16      .   B800 Genoa 6400
  1539.      = T  80x60     8x8      .     16      .   B800 Genoa SuperEGA BIOS 3.0+
  1540.      = G    .      .    528x480    256      .    .  Cirrus 510/520 chipset
  1541.      = G  80x25     8x19  640x480     16      1   A000 DOS/V w/ any VGA
  1542.      = G  80x30     8x16  640x480      .      .   A000 Diamond Stealth64 Video 2xx1
  1543.      = G    .      .    640x480    32K      .   A000 ATI
  1544.      = G    .      .    640x480    16M      .   A000 WD90C
  1545.      = G    .      .    640x480    16M      .   A000 Diamond Speedstar 24X
  1546.      = G    .      .   1024x768     16      .    .  C&T chipset, Cardinal
  1547.      = G 128x48     8x16 1024x768i     16      .   A000 C&T 82C450 BIOS
  1548.      = G 128x48     8x16 1024x768     16      .   A000 C&T 65530 BIOS (multisync)
  1549.  73h = G  80x60     8x8   640x480     16      .   A000 Quadram Ultra VGA
  1550.      = G  80x60     8x8   640x480     16      .    .  Genoa 6400
  1551.      = G  80x60     8x8   640x480     16      .    .  Genoa SuperEGA BIOS 3.0+
  1552.      = G 100x37     8x16  800x600      .      .   A000 Diamond Stealth64 Video 2xx1
  1553.      = T  80x25     8x19  640x475     16      1   none DOS/V, emulated in VGA graph
  1554.  74h = T  80x66     8x8      .     16      .   B800 Quadram Ultra VGA
  1555.      = T  80x66     8x8      .     16      .   B800 Genoa 6400
  1556.      = T  80x66     8x8      .     16      .   B800 Genoa SuperEGA BIOS 3.0+
  1557.      = G    .      .    640x400      2      .   B800 Toshiba 3100 AT&T mode
  1558.      = G  80x30     8x16  640x480     32K      .   A000 Trident 8900C/BIOS C03
  1559.      = G 100x37     8x16  800x600      .      .   A000 Diamond Stealth64 Video 2xx1
  1560.      = G 128x48     8x16 1024x768     16      1   A000 Ahead A, Ahead B (512K)
  1561.      = G    .      .   1024x768     64K      .   A000 Cirrus CL-GD 5422/5426 [1]
  1562.  75h = G  80x30     8x16  640x480     64K      .   A000 Trident 8900C/BIOS C03
  1563.      = G  80x66      .    640x528     16???      .   A000 Quadram Ultra VGA
  1564.      = G  80x66      .    640x528     16      .    .  Genoa SuperEGA BIOS 3.0+
  1565.      = G 100x37     8x16  800x600      .      .   A000 Diamond Stealth64 Video 2xx1
  1566.      = G 128x48     8x16 1024x768      4      1   A000 Ahead B
  1567.  76h = T  94x29     8x14      .     16      .   B800 Quadram Ultra VGA
  1568.      = T  94x29     8x14      .      .      .    .  Genoa SuperEGA BIOS 3.0+
  1569.      = G 100x75     8x8   800x600     32K      .   A000 Trident 8900C/BIOS C03
  1570.      = G 128x48     8x16 1024x768      2      1   A000 Ahead B
  1571.      = G 128x48     8x16 1024x768      .      .   A000 Diamond Stealth64 Video 2xx1
  1572.  77h = G  94x29      .    752x410     16???      .   A000 Quadram Ultra VGA
  1573.      = G  94x29      .    752x410     16      .    .  Genoa SuperEGA BIOS 3.0+
  1574.      = G 100x75     8x8   800x600     64K      .   A000 Trident 8900C/BIOS C03
  1575.      = G 128x48     8x16 1024x768      .      .   A000 Diamond Stealth64 Video 2xx1
  1576.  78h = T 100x37     8x16      .     16      .    .  Genoa 6400
  1577.      = T 100x75     8x8      .     16      .   B800 Quadram Ultra VGA
  1578.      = T 100x75     8x8      .      .      .    .  Genoa SuperEGA BIOS 3.0+
  1579.      = G    .      .    640x400    256      .    .  STB VGA/EM-16 Plus
  1580.      = G  80x25     8x16  640x400    256      .    .  Cardinal, C&T chipset
  1581.      = G    .      .    640x400    256      .    .  Cirrus 5320 chipset
  1582.  79h = G  80x30     8x16  640x480    256      .    .  Cardinal, C&T chipset
  1583.      = G 100x75      .    800x600     16???      .   A000 Quadram Ultra VGA
  1584.      = G 100x75     8x8   800x600     16      .    .  Genoa SuperEGA BIOS 3.0+
  1585.      = G 100x75     8x8   800x600     16      .    .  Genoa 6400
  1586.  7Ah = T 114x60     8x8      .     16      .   B800 Quadram Ultra VGA
  1587.      = T 114x60     8x8      .      .      .    .  Genoa SuperEGA BIOS 3.0+
  1588.      = G    .      .    720x540    256      .    .  C&T chipset, Cardinal
  1589.  7Bh = G    .      .    800x600    256      .    .  C&T chipset, Cardinal
  1590.      = G 114x60      .    912x480     16???      .   A000 Quadram Ultra VGA
  1591.      = G    .      .    912x480     16      .    .  Genoa SuperEGA BIOS 3.0+
  1592.  7Ch = G    .      .    512x512     16      .    .  Genoa
  1593.      = G 100x37     8x16  800x600    256      .    .  C&T 82C453/F65530 chipsets
  1594.      = G 200x75     8x16 1600x1200      . [16]  .   A000 Diamond Stealth64 Video 2xx1
  1595.  7Dh = G  64x32     8x16  512x512    256      .    .  Genoa
  1596.  7Eh =    special mode set (see AX=007Eh)        .  Paradise VGA, AT&T VDC600
  1597.      = G  80x25     8x16  640x400    256      .    .  Genoa 6400
  1598.      = G    .      .   1024x768    256      .    .  C&T 82C453 chipset
  1599.      = G  90x43      .      .    mono      .   B000 HERCULES.COM on HGC [14]
  1600.  7Fh =    special function set (see AX=007Fh/BH=00h) Paradise VGA, AT&T VDC600
  1601.      = G 128x48     8x16 1024x768      4      .    .  Genoa 6400
  1602.      = G  90x29      .      .    mono      .   B000 HERCULES.COM on HGC [14]
  1603.  82h = T  80x25      .      .    B&W      .    .  AT&T VDC overlay mode [6]
  1604.  83h = T  80x25      .      .      .      .    .  AT&T VDC overlay mode [6]
  1605.  86h = G    .      .    640x200    B&W      .    .  AT&T VDC overlay mode [6]
  1606.  88h = G  90x43     8x8   720x348    mono      .   B000 Hercules + MSHERC.COM
  1607.  C0h = G    .      .    640x400    2/prog palette    .  AT&T VDC overlay mode [6]
  1608.      = G    .      .    640x400    2/prog palette    .  Olivetti Quaderno overlay
  1609.  C4h =    disable output      .      .      .    .  AT&T VDC overlay mode [6]
  1610.  C8h = G  80x50     8x8   640x400      2      .   B800 Olivetti Quaderno overlay
  1611.  D0h = G    .      .    640x400      2      .   B800 DEC VAXmate AT&T mode
  1612. Notes:
  1613. [1] interlaced only
  1614. [2] for ATI EGA Wonder, mode 08h is only valid if SMS.COM is loaded resident.
  1615.       SMS maps mode 08h to mode 27h if the byte at location 0040:0063 is 0B4h,
  1616.       otherwise to mode 23h, thus selecting the appropriate (monochrome or
  1617.       color) 132x25 character mode.
  1618.     for ATI VGA Wonder, mode 08h is the same, and only valid if VCONFIG loaded
  1619.       resident
  1620. [3] early XGA boards support 132-column text but do not have this BIOS mode
  1621. [4] DESQview intercepts calls to change into these two modes (21h is page 0,
  1622.       22h is page 1) even if there is no Hercules graphics board installed
  1623. [5] ATI BIOS v4-1.00 has a text-scrolling bug in this mode
  1624. [6] for AT&T VDC overlay modes, BL contains the DEB mode, which may be 06h,
  1625.       40h, or 44h
  1626. [7] BIOS text support is broken in this undocumented mode; scrolling moves
  1627.       only about 1/3 of the screen (and does even that portion incorrectly),
  1628.       while screen clears only clear about 3/4.
  1629. [8] The Oak OTI-037/067/077 modes are present in the Oak VGA BIOS, which OEMs
  1630.       may choose to use only partially or not at all; thus, not all Oak boards
  1631.       support all "Oak" modes listed here
  1632. [9] this card uses the full 128K A000h-BFFFh range for the video buffer,
  1633.       precluding the use of a monochrome adapter in the same system
  1634. [10] mode 17h supported by Tseng ET4000 BIOS 8.01X dated 09/14/90, but not
  1635.       v8.01X dated 02/28/92; mode 21h supported by 02/28/92 version but not
  1636.       09/14/90 version
  1637. [11] HERKULES simulates a 90x45 text mode in Hercules graphics mode; the
  1638.       installation check for HERKULES.COM is the signature "Herkules" two
  1639.       bytes beyond the INT 10 handler
  1640. [12] The Realtek RTVGA BIOS v3.C10 crashes when attempting to switch into
  1641.       modes 21h or 27h; this version of the BIOS also sets the BIOS data area
  1642.       incorrectly for extended text modes, resulting in scrolling after only
  1643.       24 lines (the VMODE.EXE    utility does set the data area correctly)
  1644. [13] The Tandy 1000SL/TL BIOS does not actually support this mode
  1645. [14] HERCULES.COM is a graphics-mode BIOS extension for Hercules-compatible
  1646.       graphics cards by Soft Warehouse, Inc.  Its installation check is to
  1647.       test whether the word preceding the INT 10 handler is 4137h.
  1648. [15] The Hercules-graphics video modes for HERCBIOS (shareware by Dave
  1649.       Tutelman) may be changed by a command-line switch; the 90x43
  1650.       character-cell mode's number is always one higher than the 90x29 mode
  1651.       (whose default is mode 08h)
  1652. [16] Stealth64 Video 2001-series BIOS v1.03 reports 76 lines for mode 7Ch,
  1653.       resulting in incorrect scrolling for TTY output (scrolling occurs only
  1654.       after the end of the 76th line, which is not displayed)
  1655. [17] For 43-line text on EGA or 43/50-line text on VGA, you must load an 8x8
  1656.       font using AX=1102h after switching to mode 3; VGA may also require
  1657.       using INT 10/AH=12h/BL=30h
  1658. SeeAlso: #0010,#0081,#0123
  1659. Index:    video modes
  1660. Index:    installation check;HERKULES|installation check;HERCULES.COM
  1661. --------V-100070-----------------------------
  1662. INT 10 - VIDEO - Everex Micro Enhancer EGA/Viewpoint VGA - EXTENDED MODE SET
  1663.     AX = 0070h
  1664.     BL = mode (see #0010)
  1665. Desc:    specify a proprietary display mode on the Everex Micro Enhancer or
  1666.       Viewpoint video adapters
  1667. SeeAlso: AH=00h,AX=6F05h,AX=7000h/BX=0004h,AH=FFh"GO32"
  1668.  
  1669. (Table 0010)
  1670. Values for Everex video mode:
  1671.      text/ text pixel    pixel    colors disply scrn monitor    adapter
  1672.      grph resol     box  resolution       pages  addr
  1673.  00h = G    .      .    640x480     16      .    .  multisync  EGA,VGA
  1674.  01h = G    .      .    752x410     16      .    .  multisync  EGA,VGA
  1675.  02h = G    .      .    800x600     16      .    .  multisync  EGA,VGA
  1676.  03h = T  80x34      .      .      .      .    .  multisync  EGA,VGA
  1677.  04h = T  80x60      .      .      .      .    .  multisync  EGA,VGA
  1678.  05h = T  94x29      .      .      .      .    .  multisync  EGA only
  1679.  06h = T  94x51      .      .      .      .    .  multisync  EGA only
  1680.  07h = T 100x43     8x14      .     16      .    .  .          VGA only
  1681.  08h = T 100x75     8x8      .     16      .    .  .          VGA only
  1682.  09h = T  80x44      .      .      .      .    .  EGA          EGA only
  1683.  0Ah = T 132x25      .      .      .      .    .  EGA          EGA,VGA
  1684.  0Bh = T 132x44      .      .      .      .    .  EGA          EGA,VGA
  1685.  0Ch = T 132x25      .      .      .      .    .  CGA          EGA only
  1686.  0Dh = T  80x44      .      .      .      .    .  mono          EGA only
  1687.  0Eh = T 132x25      .      .      .      .    .  mono
  1688.  0Fh = T 132x44      .      .      .      .    .  mono
  1689.  10h =    reserved
  1690.  11h = G    .      .   1280x350      4      .    .  .          EGA only
  1691.  12h = G    .      .   1280x600      4      .    .  .          EGA only
  1692.  13h = G    .      .    640x350    256      .    .  .          EGA,EV673
  1693.  14h = G    .      .    640x400    256      .    .  .
  1694.  15h = G    .      .    512x480    256      .    .  .
  1695.  16h = T  80x30     8x16      .    256      .    .  .          VGA only
  1696.  18h = T 100x27     8x16      .     16      .    .  .          VGA only
  1697.  20h = G    .      .   1024x768     16      .    .  .          Everex 629,678
  1698.         .      .      .      .      .    .  .          Everex EV-673
  1699.  21h = T 160x64     8x16 1280x1024     16      .    .  .          1MB VGA only
  1700.  30h = G    .      .    640x480    256      .    .  .          Everex 629,678
  1701.         .      .      .      .      .    .  .          Everex EV-673
  1702.  31h = G    .      .    800x600    256      .    .  .          Everex 629,678
  1703.         .      .      .      .      .    .  .          Everex EV-673
  1704.  32h = G 128x48     8x16 1024x768    256      .    .  .          1MB VGA only
  1705.  40h = T 132x30     8x16      .     16      .    .  .          VGA only
  1706.  50h = T 132x32     8x16      .    mono      .    .  .          VGA only
  1707.  62h = G  40x25     8x8   320x200    32K      .    .  .          Vwpt TC (EV629)
  1708.  70h = G  64x30     8x16  512x480    32K      .    .  .          Viewpoint TC
  1709.  71h = G  80x30     8x16  640x480    32K      .    .  .          Viewpoint TC
  1710.  76h = G  64x30     8x16  512x480    16M      .    .  .          Viewpoint TC
  1711.  77h = G  80x30     8x16  640x480    16M      .    .  .          Viewpoint TC
  1712. SeeAlso: #0009,#0123
  1713. Index:    video modes;Everex
  1714. --------V-10007E-----------------------------
  1715. INT 10 - VIDEO - Paradise VGA, AT&T VDC600 - SET SPECIAL MODE
  1716.     AX = 007Eh
  1717.     BX = horizontal dimension of the mode desired
  1718.     CX = vertical dimension of the mode desired
  1719.         (both BX/CX in pixels for graphics modes, rows for alpha modes)
  1720.     DX = number of colors of the mode desired (0000h for monochrome modes)
  1721. Return: BH = 7Eh if successful (Paradise VGA)
  1722.     AL = 7Eh if successful (AT&T VDC600)
  1723. Desc:    specify a display mode by resolution rather than mode number
  1724. SeeAlso: AH=00h,AX=0070h,AX=007Fh/BH=00h,AX=6F05h,AH=FFh"GO32"
  1725. Index:    video modes;Paradise|video modes;AT&T
  1726. --------V-10007FBH00-------------------------
  1727. INT 10 - VIDEO - Paradise VGA, AT&T VDC600 - SET VGA OPERATION
  1728.     AX = 007Fh
  1729.     BH = 00h
  1730. Return: AL = 7Fh if successful (AT&T VDC600)
  1731.     BH = status (Paradise/Dell)
  1732.         00h invalid function
  1733.         7Fh successful
  1734. SeeAlso: AX=007Fh/BH=01h,AX=007Fh/BH=02h
  1735. --------V-10007FBH01-------------------------
  1736. INT 10 - VIDEO - Paradise VGA, AT&T VDC600 - SET NON-VGA OPERATION
  1737.     AX = 007Fh
  1738.     BH = 01h
  1739. Return: AL = 7Fh if successful (AT&T VDC600)
  1740.     BH = status (Paradise/Dell)
  1741.         00h invalid function
  1742.         7Fh successful
  1743. Note:    color modes (0,1,2,3,4,5,6) will set non-VGA CGA operation, monochrome
  1744.       mode 7 will set non-VGA MDA/Hercules operation
  1745. SeeAlso: AX=007Fh/BH=00h,AX=007Fh/BH=02h
  1746. --------V-10007FBH02-------------------------
  1747. INT 10 - VIDEO - Paradise VGA, AT&T VDC600 - QUERY MODE STATUS
  1748.     AX = 007Fh
  1749.     BH = 02h
  1750. Return: AL = 7Fh if successful (AT&T VDC600)
  1751.     BH = status (Paradise/Dell)
  1752.         00h invalid function
  1753.         7Fh successful
  1754.     ---if successful---
  1755.     BL = 00h if operating in VGA mode, 01h if non-VGA mode
  1756.     CH = total video RAM size in 64k byte units
  1757.     CL = video RAM used by the current mode
  1758. Note:    under Novell DOS 7 TaskMgr Multitasker, this call always returns 0K
  1759.       video memory in CX
  1760. SeeAlso: AX=007Fh/BH=00h,AX=007Fh/BH=01h
  1761. --------V-10007FBH03-------------------------
  1762. INT 10 - VIDEO - Paradise VGA, AT&T VDC600 - LOCK CURRENT MODE
  1763.     AX = 007Fh
  1764.     BH = 03h
  1765. Return: AL = 7Fh if successful (AT&T VDC600)
  1766.     BH = status (Paradise/Dell)
  1767.         00h invalid function
  1768.         7Fh successful
  1769. Desc:    allows current mode (VGA or non-VGA) to survive re-boot
  1770. SeeAlso: AX=007Eh,AX=007Fh/BH=04h,AX=007Fh/BH=06h,AH=FFh"Oak"
  1771. --------V-10007FBH04-------------------------
  1772. INT 10 - VIDEO - Paradise VGA, AT&T VDC600 - ENTER MDA EMULATION MODE
  1773.     AX = 007Fh
  1774.     BH = 04h
  1775. Return: AL = 7Fh if successful (AT&T VDC600)
  1776.     BH = status (Paradise/Dell)
  1777.         00h invalid function
  1778.         7Fh successful
  1779. SeeAlso: AX=007Eh,AX=007Fh/BH=03h,AX=007Fh/BH=05h,AH=FFh"Oak"
  1780. --------V-10007FBH05-------------------------
  1781. INT 10 - VIDEO - Paradise VGA, AT&T VDC600 - ENTER CGA EMULATION MODE
  1782.     AX = 007Fh
  1783.     BH = 05h
  1784. Return: AL = 7Fh if successful (AT&T VDC600)
  1785.     BH = status (Paradise/Dell)
  1786.         00h invalid function
  1787.         7Fh successful
  1788. SeeAlso: AX=007Eh,AX=007Fh/BH=03h,AX=007Fh/BH=04h,AH=FFh"Oak"
  1789. --------V-10007FBH06-------------------------
  1790. INT 10 - VIDEO - Paradise VGA, AT&T VDC600 - ENTER MONOCHROME VGA MODE
  1791.     AX = 007Fh
  1792.     BH = 06h
  1793. Return: AL = 7Fh if successful (AT&T VDC600)
  1794.     BH = status (Paradise/Dell)
  1795.         00h invalid function
  1796.         7Fh successful
  1797. Note:    this function also switches to video mode 7
  1798. SeeAlso: AX=007Eh,AX=007Fh/BH=03h,AX=007Fh/BH=07h,AH=FFh"Oak"
  1799. --------V-10007FBH07-------------------------
  1800. INT 10 - VIDEO - Paradise VGA, AT&T VDC600 - ENTER COLOR VGA MODE
  1801.     AX = 007Fh
  1802.     BH = 07h
  1803. Return: AL = 7Fh if successful (AT&T VDC600)
  1804.     BH = status (Paradise/Dell)
  1805.         00h invalid function
  1806.         7Fh successful
  1807. Note:    this function also switches to video mode 3
  1808. SeeAlso: AX=007Eh,AX=007Fh/BH=03h,AX=007Fh/BH=06h,AH=FFh"Oak"
  1809. --------V-10007F-----------------------------
  1810. INT 10 - VIDEO - Paradise VGA, AT&T VDC600 - EXTENDED DATA REGISTER ACCESS
  1811.     AX = 007Fh
  1812.     BH = function
  1813.         0Ah,0Bh,0Ch,0Dh,0Eh,0Fh  WRITE PARADISE REGISTERS 0,1,2,3,4,5
  1814.         (port 03CEh indices 0Ah,0Bh,0Ch,0Dh,0Eh,0Fh)
  1815.         BL = value to set in the paradise register
  1816.         1Ah,1Bh,1Ch,1Dh,1Eh,1Fh READ PARADISE REGISTERS 0,1,2,3,4,5
  1817.         (port 03CEh indices 0Ah,0Bh,0Ch,0Dh,0Eh,0Fh)
  1818.         Return: BL = value of the paradise register
  1819.             BH = 7Fh if successful
  1820.         29h-2Fh ??? (Paradise VGA for Dell, 7/24/91)
  1821. Return: AL = 7Fh if successful (AT&T VDC600)
  1822.     BH = status (Paradise/Dell)
  1823.         00h invalid function
  1824.         7Fh successful
  1825. SeeAlso: AX=007Eh,AX=007Fh/BH=03h,AX=007Fh/BH=05h,AH=FFh"Oak"
  1826. --------V-10007FBH60-------------------------
  1827. INT 10 - Paradise VGA - ???
  1828.     AX = 007Fh
  1829.     BH = 60h
  1830.     BL = ??? (00h-13h)
  1831.     ???
  1832. Return: BH = status (00h failed or not supported, 7Fh successful)
  1833.     ???
  1834. Note:    this function is supported by the 5/14/93 ROM for the Dell 486D
  1835. SeeAlso: AX=007Fh/BH=61h
  1836. --------V-10007FBH61-------------------------
  1837. INT 10 - Paradise VGA - ???
  1838.     AX = 007Fh
  1839.     BH = 61h
  1840.     ES:DI -> buffer for list of ??? (see #0011)
  1841. Return: BH = status (00h failed or not supported, 7Fh successful)
  1842.     ???
  1843. Note:    this function is supported by the 5/14/93 ROM for the Dell 486D
  1844. SeeAlso: AX=007Fh/BH=60h
  1845.  
  1846. Format of Paradise VGA list entry:
  1847. Offset    Size    Description    (Table 0011)
  1848.  00h    BYTE    ??? or 00h if end of list
  1849.  01h    BYTE    ???
  1850.  02h    WORD    ???
  1851.  04h    WORD    ???
  1852.  06h    WORD    ???
  1853. --------V-10007FBXA500-----------------------
  1854. INT 10 - Paradise VGA - ???
  1855.     AX = 007Fh
  1856.     BX = A500h
  1857.     ???
  1858. Return: BH = status (00h failed or not supported, 7Fh successful)
  1859.     ???
  1860. Note:    this function is supported by the 5/14/93 ROM for the Dell 486D
  1861. SeeAlso: AX=007Fh/BH=A6h
  1862. --------V-10007FBHA5-------------------------
  1863. INT 10 - Paradise VGA - ???
  1864.     AX = 007Fh
  1865.     BH = A5h
  1866.     BL = ???
  1867.         bits 3-0: ??? (0-4)
  1868.         bits 5,4: ???
  1869.     ???
  1870. Return: BH = status (00h failed or not supported, 7Fh successful)
  1871.     ???
  1872. Note:    this function is supported by the 5/14/93 ROM for the Dell 486D
  1873. --------V-10007FBHA6-------------------------
  1874. INT 10 - Paradise VGA - ???
  1875.     AX = 007Fh
  1876.     BH = A6h
  1877.     ???
  1878. Return: BH = status (00h failed or not supported, 7Fh successful)
  1879.     ???
  1880. Note:    this function is supported by the 5/14/93 ROM for the Dell 486D
  1881. SeeAlso: AX=007Fh/BH=A5h
  1882. --------V-1001-------------------------------
  1883. INT 10 - VIDEO - SET TEXT-MODE CURSOR SHAPE
  1884.     AH = 01h
  1885.     CH = cursor start and options (see #0012)
  1886.     CL = bottom scan line containing cursor (bits 0-4)
  1887. Return: nothing
  1888. Desc:    specify the starting and ending scan lines to be occupied by the
  1889.       hardware cursor in text modes
  1890. Notes:    buggy on EGA systems--BIOS remaps cursor shape in 43 line modes, but
  1891.       returns unmapped cursor shape
  1892.     UltraVision scales size to the current font height by assuming 14-line
  1893.       monochrome and 8-line color fonts; this call is not valid if cursor
  1894.       emulation has been disabled
  1895.     applications which wish to change the cursor by programming the
  1896.       hardware directly on EGA or above should call INT 10/AX=1130h or
  1897.       read 0040h:0085h first to determine the current font height
  1898.     on some adapters, setting the end line greater than the number of lines
  1899.       in the font will result in the cursor extending to the top of the
  1900.       next character cell on the right
  1901. BUG:    AMI 386 BIOS and AST Premier 386 BIOS will lock up the system if AL
  1902.       is not equal to the current video mode
  1903. SeeAlso: AH=03h,AX=CD05h,AH=12h/BL=34h,#3556
  1904.  
  1905. Bitfields for cursor start and options:
  1906. Bit(s)    Description    (Table 0012)
  1907.  7    should be zero
  1908.  6,5    cursor blink
  1909.     (00=normal, 01=invisible, 10=erratic, 11=slow)
  1910.     (00=normal, other=invisible on EGA/VGA)
  1911.  4-0    topmost scan line containing cursor
  1912. --------V-1002-------------------------------
  1913. INT 10 - VIDEO - SET CURSOR POSITION
  1914.     AH = 02h
  1915.     BH = page number
  1916.         0-3 in modes 2&3
  1917.         0-7 in modes 0&1
  1918.         0 in graphics modes
  1919.     DH = row (00h is top)
  1920.     DL = column (00h is left)
  1921. Return: nothing
  1922. SeeAlso: AH=03h,AH=05h,INT 60/DI=030Bh,MEM 0040h:0050h
  1923. --------V-1003-------------------------------
  1924. INT 10 - VIDEO - GET CURSOR POSITION AND SIZE
  1925.     AH = 03h
  1926.     BH = page number
  1927.         0-3 in modes 2&3
  1928.         0-7 in modes 0&1
  1929.         0 in graphics modes
  1930. Return: AX = 0000h (Phoenix BIOS)
  1931.     CH = start scan line
  1932.     CL = end scan line
  1933.     DH = row (00h is top)
  1934.     DL = column (00h is left)
  1935. Notes:    a separate cursor is maintained for each of up to 8 display pages
  1936.     many ROM BIOSes incorrectly return the default size for a color display
  1937.       (start 06h, end 07h) when a monochrome display is attached
  1938. SeeAlso: AH=01h,AH=02h,AH=12h/BL=34h,MEM 0040h:0050h,MEM 0040h:0060h
  1939. --------V-1004-------------------------------
  1940. INT 10 - VIDEO - READ LIGHT PEN POSITION (except VGA)
  1941.     AH = 04h
  1942. Return: AH = light pen trigger flag
  1943.         00h not down/triggered
  1944.         01h down/triggered
  1945.         DH,DL = row,column of character light pen is on
  1946.         CH = pixel row (graphics modes 04h-06h)
  1947.         CX = pixel row (graphics modes with >200 rows)
  1948.         BX = pixel column
  1949. Desc:    determine the current position and status of the light pen (if
  1950.       present)
  1951. Notes:    on a CGA, returned column numbers are always multiples of 2 (320-
  1952.       column modes) or 4 (640-column modes)
  1953.     returned row numbers are only accurate to two lines
  1954. --------V-1004------------------------------------
  1955. INT 10 - HUNTER 16 - GET CURSOR ADDRESS
  1956.     AH = 04h
  1957.     BH = page
  1958. Return: DH = row (0..24)
  1959.     DL = column (0..79)
  1960.     CH = cursor pixel Y-address (0..199)
  1961.     CL = cursor pixel X-address (0..639)
  1962. Notes:    the Husky Hunter 16 is an 8088-based ruggedized laptop.     Other family
  1963.       members are the Husky Hunter, Husky Hunter 16/80, and Husky Hawk.
  1964.     pixel coordinates are for the lower left corner of the character cell
  1965.       containing the cursor
  1966. SeeAlso: AH=60h"HUNTER"
  1967. --------V-1005-------------------------------
  1968. INT 10 - VIDEO -  SELECT ACTIVE DISPLAY PAGE
  1969.     AH = 05h
  1970.     AL = new page number (00h to number of pages - 1) (see #0009)
  1971. Return: nothing
  1972. Desc:    specify which of possibly multiple display pages will be visible
  1973. Note:    to determine whether the requested page actually exists, use AH=0Fh
  1974.       to query the current page after making this call
  1975. SeeAlso: AH=0Fh,AH=43h,AH=45h,MEM 0040h:0062h,MEM 0040h:004Eh
  1976. --------V-100500-----------------------------
  1977. INT 10 - VIDEO - Corona/Cordata BIOS v4.10+ - SET GRAPHICS BITMAP BUFFER
  1978.     AX = 0500h
  1979.     BX = segment of buffer
  1980. Return: nothing
  1981. Desc:    set the address of graphics bitmap buffer for video modes 60h and 61h
  1982. SeeAlso: AX=050Fh"Corona"
  1983. --------V-10050F-----------------------------
  1984. INT 10 - VIDEO - Corona/Cordata BIOS v4.10+ - GET GRAPHICS BITMAP BUFFER
  1985.     AX = 050Fh
  1986. Return: DX = segment of graphics bitmap buffer
  1987. Desc:    get the address of graphics bitmap buffer for video modes 60h and 61h
  1988. SeeAlso: AX=0500h"Corona"
  1989. --------V-100580-----------------------------
  1990. INT 10 - VIDEO - PCjr, Tandy 1000 - GET CRT/CPU PAGE REGISTERS
  1991.     AX = 0580h
  1992. Return: BH = CRT page register
  1993.     BL = CPU page register
  1994. Notes:    the CPU page determines which 16K block of the first 128K of physical
  1995.       memory will be mapped at B800h by the hardware
  1996.     the CRT page determines the start address of the memory used by the
  1997.       video controller
  1998. SeeAlso: AH=05h"SET CRT/CPU"
  1999. --------V-1005-------------------------------
  2000. INT 10 - VIDEO - PCjr, Tandy 1000 - SET CRT/CPU PAGE REGISTERS
  2001.     AH = 05h
  2002.     AL = subfunction
  2003.         81h set CPU page register
  2004.         BL = CPU page
  2005.         82h set CRT page register
  2006.         BH = CRT page
  2007.         83h set both CPU and CRT page registers
  2008.         BL = CPU page
  2009.         BH = CRT page
  2010. Return: nothing
  2011. Notes:    the CPU page determines which 16K block of the first 128K of physical
  2012.       memory will be mapped at B800h by the hardware
  2013.     the CRT page determines the start address of the memory used by the
  2014.       video controller
  2015. SeeAlso: AX=0580h
  2016. --------V-1006-------------------------------
  2017. INT 10 - VIDEO - SCROLL UP WINDOW
  2018.     AH = 06h
  2019.     AL = number of lines by which to scroll up (00h = clear entire window)
  2020.     BH = attribute used to write blank lines at bottom of window
  2021.     CH,CL = row,column of window's upper left corner
  2022.     DH,DL = row,column of window's lower right corner
  2023. Return: nothing
  2024. Note:    affects only the currently active page (see AH=05h)
  2025. BUGS:    some implementations (including the original IBM PC) have a bug which
  2026.       destroys BP
  2027.     the Trident TVGA8900CL (BIOS dated 9/8/92) clears DS to 0000h when
  2028.       scrolling in an SVGA mode (800x600 or higher)
  2029. SeeAlso: AH=07h,AH=12h"Tandy 2000",AH=72h,AH=73h,AX=7F07h,INT 50/AX=0014h
  2030. --------V-1007-------------------------------
  2031. INT 10 - VIDEO - SCROLL DOWN WINDOW
  2032.     AH = 07h
  2033.     AL = number of lines by which to scroll down (00h=clear entire window)
  2034.     BH = attribute used to write blank lines at top of window
  2035.     CH,CL = row,column of window's upper left corner
  2036.     DH,DL = row,column of window's lower right corner
  2037. Return: nothing
  2038. Note:    affects only the currently active page (see AH=05h)
  2039. BUGS:    some implementations (including the original IBM PC) have a bug which
  2040.       destroys BP
  2041.     the Trident TVGA8900CL (BIOS dated 9/8/92) clears DS to 0000h when
  2042.       scrolling in an SVGA mode (800x600 or higher)
  2043. SeeAlso: AH=06h,AH=12h"Tandy 2000",AH=72h,AH=73h,INT 50/AX=0014h
  2044. --------V-1008-------------------------------
  2045. INT 10 - VIDEO - READ CHARACTER AND ATTRIBUTE AT CURSOR POSITION
  2046.     AH = 08h
  2047.     BH = page number (00h to number of pages - 1) (see #0009)
  2048. Return: AH = character's attribute (text mode only) (see #0013)
  2049.     AH = character's color (Tandy 2000 graphics mode only)
  2050.     AL = character
  2051. Notes:    for monochrome displays, a foreground of 1 with background 0 is
  2052.       underlined
  2053.     the blink bit may be reprogrammed to enable intense background colors
  2054.       using AX=1003h or by programming the CRT controller
  2055.     the foreground intensity bit (3) can be programmed to switch between
  2056.       character sets A and B on EGA and VGA cards, thus enabling 512
  2057.       simultaneous characters on screen.  In this case the bit's usual
  2058.       function (intensity) is regularly turned off.
  2059.     in graphics modes, only characters drawn with white foreground pixels
  2060.       are matched by the pattern-comparison routine
  2061.     on the Tandy 2000, BH=FFh specifies that the current page should be
  2062.       used
  2063. BUG:    some IBM PC ROM BIOSes destroy BP when in graphics modes
  2064. SeeAlso: AH=09h,AX=1003h,AX=1103h,AH=12h/BL=37h,AX=5001h
  2065.  
  2066. Bitfields for character's display attribute:
  2067. Bit(s)    Description    (Table 0013)
  2068.  7    foreground blink or (alternate) background bright (see also AX=1003h)
  2069.  6-4    background color (see #0014)
  2070.  3    foreground bright or (alternate) alternate character set (see AX=1103h)
  2071.  2-0    foreground color (see #0014)
  2072. SeeAlso: #0025
  2073.  
  2074. (Table 0014)
  2075. Values for character color:
  2076.     Normal        Bright
  2077.  000b    black        dark gray
  2078.  001b    blue        light blue
  2079.  010b    green        light green
  2080.  011b    cyan        light cyan
  2081.  100b    red        light red
  2082.  101b    magenta        light magenta
  2083.  110b    brown        yellow
  2084.  111b    light gray    white
  2085. --------V-1009-------------------------------
  2086. INT 10 - VIDEO - WRITE CHARACTER AND ATTRIBUTE AT CURSOR POSITION
  2087.     AH = 09h
  2088.     AL = character to display
  2089.     BH = page number (00h to number of pages - 1) (see #0009)
  2090.         background color in 256-color graphics modes (ET4000)
  2091.     BL = attribute (text mode) or color (graphics mode)
  2092.         if bit 7 set in <256-color graphics mode, character is XOR'ed
  2093.           onto screen
  2094.     CX = number of times to write character
  2095. Return: nothing
  2096. Notes:    all characters are displayed, including CR, LF, and BS
  2097.     replication count in CX may produce an unpredictable result in graphics
  2098.       modes if it is greater than the number of positions remaining in the
  2099.       current row
  2100. SeeAlso: AH=08h,AH=0Ah,AH=4Bh"GRAFIX",INT 17/AH=60h,INT 1F"SYSTEM DATA"
  2101. SeeAlso: INT 43"VIDEO DATA",INT 44"VIDEO DATA"
  2102. --------V-100A-------------------------------
  2103. INT 10 - VIDEO - WRITE CHARACTER ONLY AT CURSOR POSITION
  2104.     AH = 0Ah
  2105.     AL = character to display
  2106.     BH = page number (00h to number of pages - 1) (see #0009)
  2107.         background color in 256-color graphics modes (ET4000)
  2108.     BL = attribute (PCjr, Tandy 1000 only) or color (graphics mode)
  2109.         if bit 7 set in <256-color graphics mode, character is XOR'ed
  2110.           onto screen
  2111.     CX = number of times to write character
  2112. Return: nothing
  2113. Notes:    all characters are displayed, including CR, LF, and BS
  2114.     replication count in CX may produce an unpredictable result in graphics
  2115.       modes if it is greater than the number of positions remaining in the
  2116.       current row
  2117. SeeAlso: AH=08h,AH=09h,AH=11h"Tandy 2000",AH=4Bh,INT 17/AH=60h
  2118. SeeAlso: INT 1F"SYSTEM DATA",INT 43"VIDEO DATA",INT 44"VIDEO DATA"
  2119. --------V-100B--BH00-------------------------
  2120. INT 10 - VIDEO - SET BACKGROUND/BORDER COLOR
  2121.     AH = 0Bh
  2122.     BH = 00h
  2123.     BL = background/border color (border only in text modes)
  2124. Return: nothing
  2125. SeeAlso: AH=0Bh/BH=01h
  2126. --------V-100B--BH01-------------------------
  2127. INT 10 - VIDEO - SET PALETTE
  2128.     AH = 0Bh
  2129.     BH = 01h
  2130.     BL = palette ID
  2131.         00h background, green, red, and brown/yellow
  2132.         01h background, cyan, magenta, and white
  2133. Return: nothing
  2134. Note:    this call was only valid in 320x200 graphics on the CGA, but newer
  2135.       cards support it in many or all graphics modes
  2136. SeeAlso: AH=0Bh/BH=00h,MEM 0040h:0066h
  2137. --------V-100B--BH02-------------------------
  2138. INT 10 - Tandy 2000 - VIDEO - SET PALETTE ENTRY
  2139.     AH = 0Bh
  2140.     BH = 02h
  2141.     BL = palette entry number
  2142.     AL = new color value for palette entry
  2143. Return: nothing
  2144. Note:    this interrupt is identical to INT 52 for Tandy 2000
  2145. SeeAlso: INT 10/AH=00h,INT 10/AH=0Bh/BH=01h,INT 52"Tandy 2000"
  2146. --------V-100C-------------------------------
  2147. INT 10 - VIDEO - WRITE GRAPHICS PIXEL
  2148.     AH = 0Ch
  2149.     BH = page number
  2150.     AL = pixel color
  2151.         if bit 7 set, value is XOR'ed onto screen except in 256-color modes
  2152.     CX = column
  2153.     DX = row
  2154. Return: nothing
  2155. Desc:    set a single pixel on the display in graphics modes
  2156. Notes:    valid only in graphics modes
  2157.     BH is ignored if the current video mode supports only one page
  2158. SeeAlso: AH=0Dh,AH=46h
  2159. --------V-100D-------------------------------
  2160. INT 10 - VIDEO - READ GRAPHICS PIXEL
  2161.     AH = 0Dh
  2162.     BH = page number
  2163.     CX = column
  2164.     DX = row
  2165. Return: AL = pixel color
  2166. Desc:    determine the current color of the specified pixel in grahics modes
  2167. Notes:    valid only in graphics modes
  2168.     BH is ignored if the current video mode supports only one page
  2169. SeeAlso: AH=0Ch,AH=47h
  2170. --------V-100E-------------------------------
  2171. INT 10 - VIDEO - TELETYPE OUTPUT
  2172.     AH = 0Eh
  2173.     AL = character to write
  2174.     BH = page number
  2175.     BL = foreground color (graphics modes only)
  2176. Return: nothing
  2177. Desc:    display a character on the screen, advancing the cursor and scrolling
  2178.       the screen as necessary
  2179. Notes:    characters 07h (BEL), 08h (BS), 0Ah (LF), and 0Dh (CR) are interpreted
  2180.       and do the expected things
  2181.     IBM PC ROMs dated 4/24/81 and 10/19/81 require that BH be the same as
  2182.       the current active page
  2183. BUG:    if the write causes the screen to scroll, BP is destroyed by BIOSes
  2184.       for which AH=06h destroys BP
  2185. SeeAlso: AH=02h,AH=06h,AH=0Ah
  2186. --------b-100E--CXABCD-----------------------
  2187. INT 10 - V20-XT-BIOS - TELETYPE OUTPUT WITH ATTRIBUTE
  2188.     AH = 0Eh
  2189.     CX = ABCDh
  2190.     BP = ABCDh
  2191.     AL = character to write
  2192.     BH = page number
  2193.     BL = foreground color (text modes as well as graphics modes)
  2194. Return: nothing
  2195. Program: V20-XT-BIOS is a ROM BIOS replacement with extensions by Peter
  2196.       Koehlmann / c't magazine
  2197. Desc:    display a character on the screen, advancing the cursor and scrolling
  2198.       the screen as necessary
  2199. Notes:    characters 07h (BEL), 08h (BS), 0Ah (LF), and 0Dh (CR) are interpreted
  2200.       and do the expected things
  2201. SeeAlso: INT 15/AH=84h"V20-XT-BIOS"
  2202. --------V-100F-------------------------------
  2203. INT 10 - VIDEO - GET CURRENT VIDEO MODE
  2204.     AH = 0Fh
  2205. Return: AH = number of character columns
  2206.     AL = display mode (see #0009 at AH=00h)
  2207.     BH = active page (see AH=05h)
  2208. Notes:    if mode was set with bit 7 set ("no blanking"), the returned mode will
  2209.       also have bit 7 set
  2210.     EGA, VGA, and UltraVision return either AL=03h (color) or AL=07h
  2211.       (monochrome) in all extended-row text modes
  2212.     HP 200LX returns AL=07h (monochrome) if mode was set to AL=21h
  2213.       and always 80 resp. 40 columns in all text modes regardless of
  2214.       current zoom setting (see AH=D0h)
  2215.     when using a Hercules Graphics Card, additional checks are necessary:
  2216.         mode 05h: if WORD 0040h:0063h is 03B4h, may be in graphics page 1
  2217.           (as set by DOSSHELL and other Microsoft software)
  2218.         mode 06h: if WORD 0040h:0063h is 03B4h, may be in graphics page 0
  2219.           (as set by DOSSHELL and other Microsoft software)
  2220.         mode 07h: if BYTE 0040h:0065h bit 1 is set, Hercules card is in
  2221.           graphics mode, with bit 7 indicating the page (mode set by
  2222.           Hercules driver for Borland Turbo C)
  2223.     the Tandy 2000 BIOS is only documented as returning AL, not AH or BH
  2224. SeeAlso: AH=00h,AH=05h,AX=10F2h,AX=1130h,AX=CD04h,MEM 0040h:004Ah
  2225. --------V-100F56BX4756-----------------------
  2226. INT 10 - VUIMAGE DISPLAY DRIVER (v2.20 and below)
  2227.     AX = 0F56h
  2228.     BX = 4756h
  2229.     CX = 4944h
  2230.     DL = function
  2231.         01h installation check
  2232.         Return: AX = 5649h
  2233.             BX = 4443h
  2234.             CX = 5647h
  2235.             DH = 01h
  2236.         02h get first video mode's parameters
  2237.         Return: AX = BIOS mode number
  2238.             BX = width in pixels
  2239.             CX = height in pixels
  2240.             DX = number of colors
  2241.         03h get next video mode's parameters
  2242.         Return: as for DL=02h
  2243.         04h display line???
  2244.         ES:DI -> record (see #0015)
  2245.         ???
  2246.         Return: ???
  2247. Program: VUIMAGE is a shareware GIF/TIFF image viewer by Offe Enterprises
  2248. Note:    the use of TSR display drivers was discontinued after v2.20
  2249. Index:    installation check;VUIMAGE display driver
  2250.  
  2251. Format of record for VUIMAGE Function 04h:
  2252. Offset    Size    Description    (Table 0015)
  2253.  00h    WORD    row number
  2254.  02h    WORD    starting column???
  2255.  04h    WORD    ending column???
  2256.     ???
  2257. --------V-100F--SIF123-----------------------
  2258. INT 10 - FRIEZE v7.41+ - INSTALLATION CHECK
  2259.     AH = 0Fh
  2260.     SI = F123h
  2261.     DI = 321Fh
  2262. Return: AH = number of character columns
  2263.     AL = display mode (see #0009 at AH=00h)
  2264.     BH = active page (see AH=05h)
  2265.     SI = DI = F345h if installed
  2266. Notes:    if mode was set with bit 7 set ("no blanking"), the returned mode will
  2267.       also have bit 7 set
  2268.     EGA, VGA, and UltraVision return either AL=03h (color) or AL=07h
  2269.       (monochrome) in all extended-row text modes
  2270. SeeAlso: AH=0Fh"VIDEO",AH=4Bh"FRIEZE"
  2271. --------V-1010-------------------------------
  2272. INT 10 - BIOS Window Extension v1.1 - SET WINDOW COORDINATES
  2273.     AH = 10h
  2274.     CH,CL = row,column of upper left corner of window
  2275.     DH,DL = row,column of lower right corner of window
  2276. Return: AL = status
  2277.         00h successful
  2278.         01h failed
  2279.     AH destroyed
  2280. Program: BWE is a TSR by John J. Seal published in May 1986 Dr. Dobb's Journal
  2281. Note:    when a window has been set, all output via AH=0Eh is restricted to
  2282.       the specified window
  2283. SeeAlso: AH=11h"Window",AH=12h"Window"
  2284. --------V-1010-------------------------------
  2285. INT 10 - VIDEO - Eagle PC2 BIOS Rev. C - SET SCROLL SPEED
  2286.     AH = 10h
  2287.     AL = speed
  2288.         00h fast
  2289.         01h slow (scrolling only moves characters during vertical retrace)
  2290. Return: AH = previous speed
  2291. --------V-1010-------------------------------
  2292. INT 10 - Tandy 2000 - VIDEO - GET/SET CHARACTER FONTS
  2293.     AH = 10h
  2294.     AL = control value
  2295.         bit 0: set character set instead of reading it
  2296.         bit 1: high 128 characters instead of low 128 characters
  2297.     ES:BX -> new character set if AL bit 0 set
  2298. Return: ES:BX -> current character set if AL bit 0 clear on entry
  2299. Notes:    this interrupt is identical to INT 52 on Tandy 2000
  2300.     the character set consists of 16 bytes for each of the 128 characters,
  2301.       where each of the 16 bytes describes the pixels in one scan line,
  2302.       most significant bit leftmost
  2303. SeeAlso: AH=00h,AH=0Bh/BH=02h,AH=11h"Tandy 2000",AH=12h"Tandy 2000"
  2304. SeeAlso: INT 52"Tandy 2000"
  2305. --------V-101000-----------------------------
  2306. INT 10 - VIDEO - SET SINGLE PALETTE REGISTER (PCjr,Tandy,EGA,MCGA,VGA)
  2307.     AX = 1000h
  2308.     BL = palette register number (00h-0Fh)
  2309.        = attribute register number (undocumented) (see #0016)
  2310.     BH = color or attribute register value
  2311. Return: nothing
  2312. Notes:    on MCGA, only BX = 0712h is supported
  2313.     under UltraVision, the palette locking status (see AX=CD01h)
  2314.       determines the outcome
  2315. SeeAlso: AX=1002h,AX=1007h,AX=CD01h
  2316.  
  2317. (Table 0016)
  2318. Values for attribute register number:
  2319.  10h    attribute mode control register (should let BIOS control this)
  2320.  11h    overscan color register (see also AX=1001h)
  2321.  12h    color plane enable register (bits 3-0 enable corresponding
  2322.       text attribute bit)
  2323.  13h    horizontal PEL panning register
  2324.  14h    color select register
  2325. --------V-101001-----------------------------
  2326. INT 10 - VIDEO - SET BORDER (OVERSCAN) COLOR (PCjr,Tandy,EGA,VGA)
  2327.     AX = 1001h
  2328.     BH = border color (00h-3Fh)
  2329. Return: nothing
  2330. BUG:    the original IBM VGA BIOS incorrectly updates the parameter save area
  2331.       and places the border color at offset 11h of the palette table
  2332.       rather than offset 10h
  2333. Note:    under UltraVision, the palette locking status (see AX=CD01h)
  2334.       determines the outcome
  2335. SeeAlso: AX=1002h,AX=1008h,AX=CD01h
  2336. --------V-101002-----------------------------
  2337. INT 10 - VIDEO - SET ALL PALETTE REGISTERS (PCjr,Tandy,EGA,VGA)
  2338.     AX = 1002h
  2339.     ES:DX -> palette register list (see #0017)
  2340.     BH = 00h to avoid problems on some adapters
  2341. Return: nothing
  2342. Note:    under UltraVision, the palette locking status (see AX=CD01h)
  2343.       determines the outcome
  2344. SeeAlso: AX=1000h,AX=1001h,AX=1009h,AX=CD01h
  2345.  
  2346. Format of palette register list:
  2347. Offset    Size    Description    (Table 0017)
  2348.  00h 16 BYTEs    colors for palette registers 00h through 0Fh
  2349.  10h    BYTE    border color
  2350. SeeAlso: #0387
  2351. --------V-101003-----------------------------
  2352. INT 10 - VIDEO - TOGGLE INTENSITY/BLINKING BIT (Jr, PS, TANDY 1000, EGA, VGA)
  2353.     AX = 1003h
  2354.     BL = new state
  2355.         00h background intensity enabled
  2356.         01h blink enabled
  2357.     BH = 00h to avoid problems on some adapters
  2358. Return: nothing
  2359. Notes:    although there is no function to get the current status on adapters
  2360.       prior to the VGA, bit 5 of 0040h:0065h indicates the state; on the
  2361.       VGA, use AH=1Bh and check offset 2Dh of the returned data (see #0038)
  2362.     when configured for a monochrome display, the Boca Research Multi-EGA
  2363.       with ROM v M1.1 Type D has its screen disrupted if BH is not clear
  2364.     this call is reported to be "Get Cursor Position" on the Tandy
  2365.       1000SL/TL
  2366. SeeAlso: AH=08h,AH=1Bh
  2367. --------V-101007-----------------------------
  2368. INT 10 - VIDEO - GET INDIVIDUAL PALETTE REGISTER (VGA,UltraVision v2+)
  2369.     AX = 1007h
  2370.     BL = palette or attribute (undoc) register number (see #0016)
  2371. Return: BH = palette or attribute register value
  2372. Note:    UltraVision v2+ supports this function even on color EGA systems in
  2373.       video modes 00h-03h, 10h, and 12h; direct programming of the palette
  2374.       registers will cause incorrect results because the EGA registers are
  2375.       write-only.  To guard against older versions or unsupported video
  2376.       modes, programs which expect to use this function on EGA systems
  2377.       should set BH to FFh on entry.
  2378. SeeAlso: AX=1000h,AX=1009h
  2379. --------V-101008-----------------------------
  2380. INT 10 - VIDEO - READ OVERSCAN (BORDER COLOR) REGISTER (VGA,UltraVision v2+)
  2381.     AX = 1008h
  2382. Return: BH = border color (00h-3Fh)
  2383. Note:    (see AX=1007h)
  2384. SeeAlso: AX=1001h
  2385. --------V-101009-----------------------------
  2386. INT 10 - VIDEO - READ ALL PALETTE REGISTERS AND OVERSCAN REGISTER (VGA)
  2387.     AX = 1009h
  2388.     ES:DX -> 17-byte buffer for palette register list (see #0017)
  2389. Return: nothing
  2390. Note:    UltraVision v2+ supports this function even on color EGA systems in
  2391.       video modes 00h-03h, 10h, and 12h; direct programming of the palette
  2392.       registers will cause incorrect results because the EGA registers are
  2393.       write-only.  To guard against older versions or unsupported video
  2394.       modes, programs which expect to use this function on EGA systems
  2395.       should set the ES:DX buffer to FFh before calling.
  2396. SeeAlso: AX=1002h,AX=1007h,AX=CD02h
  2397. --------V-101010-----------------------------
  2398. INT 10 - VIDEO - SET INDIVIDUAL DAC REGISTER (VGA/MCGA)
  2399.     AX = 1010h
  2400.     BX = register number
  2401.     CH = new value for green (0-63)
  2402.     CL = new value for blue (0-63)
  2403.     DH = new value for red (0-63)
  2404. Return: nothing
  2405. SeeAlso: AX=1012h,AX=1015h
  2406. --------V-101012-----------------------------
  2407. INT 10 - VIDEO - SET BLOCK OF DAC REGISTERS (VGA/MCGA)
  2408.     AX = 1012h
  2409.     BX = starting color register
  2410.     CX = number of registers to set
  2411.     ES:DX -> table of 3*CX bytes where each 3 byte group represents one
  2412.          byte each of red, green and blue (0-63)
  2413. Return: nothing
  2414. SeeAlso: AX=1010h,AX=1017h,INT 62/AX=00A5h
  2415. --------V-101013-----------------------------
  2416. INT 10 - VIDEO - SELECT VIDEO DAC COLOR PAGE (VGA)
  2417.     AX = 1013h
  2418.     BL = subfunction
  2419.         00h select paging mode
  2420.         BH = 00h select 4 blocks of 64
  2421.         BH = 01h select 16 blocks of 16
  2422.         01h select page
  2423.         BH = page number (00h to 03h) or (00h to 0Fh)
  2424. Return: nothing
  2425. Note:    this function is not valid in mode 13h
  2426. SeeAlso: AX=101Ah
  2427. --------V-101015-----------------------------
  2428. INT 10 - VIDEO - READ INDIVIDUAL DAC REGISTER (VGA/MCGA)
  2429.     AX = 1015h
  2430.     BL = palette register number
  2431. Return: DH = red value
  2432.     CH = green value
  2433.     CL = blue value
  2434.     AX destroyed by some BIOSes
  2435.           (e.g. Tseng ET4000 BIOS v8.00n always returns AX=00C9h)
  2436. SeeAlso: AX=1010h,AX=1017h
  2437. --------V-101017-----------------------------
  2438. INT 10 - VIDEO - READ BLOCK OF DAC REGISTERS (VGA/MCGA)
  2439.     AX = 1017h
  2440.     BX = starting palette register
  2441.     CX = number of palette registers to read
  2442.     ES:DX -> buffer (3 * CX bytes in size) (see also AX=1012h)
  2443. Return: buffer filled with CX red, green and blue triples
  2444. SeeAlso: AX=1012h,AX=1015h,INT 62/AX=00A4h
  2445. --------V-101018-----------------------------
  2446. INT 10 U - VIDEO - SET PEL MASK (VGA/MCGA)
  2447.     AX = 1018h
  2448.     BL = new PEL value
  2449. Return: nothing
  2450. SeeAlso: AX=1019h
  2451. --------V-101019-----------------------------
  2452. INT 10 U - VIDEO - READ PEL MASK (VGA/MCGA)
  2453.     AX = 1019h
  2454. Return: BL = value read
  2455. SeeAlso: AX=1018h
  2456. --------V-10101A-----------------------------
  2457. INT 10 - VIDEO - GET VIDEO DAC COLOR-PAGE STATE (VGA)
  2458.     AX = 101Ah
  2459. Return: BL = paging mode
  2460.         00h four pages of 64
  2461.         01h sixteen pages of 16
  2462.     BH = current page
  2463. SeeAlso: AX=1013h
  2464. --------V-10101B-----------------------------
  2465. INT 10 - VIDEO - PERFORM GRAY-SCALE SUMMING (VGA/MCGA)
  2466.     AX = 101Bh
  2467.     BX = starting palette register
  2468.     CX = number of registers to convert
  2469. Return: nothing
  2470. Desc:    convert the RGB values of one or more palette registers such that the
  2471.       resulting values are grays with the same intensities as the original
  2472.       colors
  2473. SeeAlso: AH=12h/BL=33h
  2474. --------V-1010E0-----------------------------
  2475. INT 10 - VIDEO - Diamond Speedstar 24 - SET 24-BIT GRAPHICS MODE
  2476.     AX = 10E0h
  2477.     BL = video mode (see also #0009 at AH=00h)
  2478.         2Eh = 640x480
  2479. Return: ???
  2480. SeeAlso: AH=00h,AX=10F0h
  2481. --------V-1010F0-----------------------------
  2482. INT 10 - VIDEO - Tseng ET-4000 BIOS - SET HiColor GRAPHICS MODE
  2483.     AX = 10F0h
  2484.     BL = video mode (see also #0009 at AH=00h)
  2485.         13h = 320x200x32K
  2486.         2Dh = 640x350x32K
  2487.         2Eh = 640x480x32K
  2488.         2Fh = 640x400x32K
  2489.         30h = 800x600x32K
  2490.         3Eh = 640x480x16M (Genoa 7900)
  2491.         FFh Tseng 24-bit color mode
  2492.         BH = mode
  2493.             2Dh = 640x480
  2494.             2Eh = 640x480x16M
  2495.             2Fh = 640x400
  2496.             30h = 800x600
  2497.             38h = 1024x768??? (Tseng ET4000/W32i)
  2498. Return: AL = 10h if supported
  2499.     AH = status
  2500.         00h if successful
  2501.         other on error
  2502. Desc:    switch the display into a graphics mode with 15 or more bits per pixel
  2503. Note:    the Tseng HiColor BIOS extensions are supported by:
  2504.       Diamond Computer Systems    SpeedStar HiColor VGA
  2505.       Everex Systems        HC VGA
  2506.       Focus Information Systems    2theMax 4000
  2507.       Cardinal Technologies        VGA732
  2508.       Orchid ProDesigner IIs    Genoa 7900
  2509. SeeAlso: AH=00h,AX=10E0h,AX=10F1h,AX=10F2h
  2510. Index:    video modes;Tseng Hi-Color
  2511. --------V-1010F1-----------------------------
  2512. INT 10 - VIDEO - Tseng ET-4000 BIOS - GET DAC TYPE
  2513.     AX = 10F1h
  2514. Return: AL = 10h if supported
  2515.     BL = type of digital/analog converter (see #0018)
  2516. Desc:    determine which type of digital-to-analog converter is installed on the
  2517.       display board
  2518. SeeAlso: AX=10F0h,AX=10F2h
  2519.  
  2520. (Table 0018)
  2521. Values for type of DAC:
  2522.  00h normal VGA DAC
  2523.  01h Sierra SC1148x HiColor DAC
  2524.  ---Diamond SpeedStar 24---
  2525.  02h new Sierra SS24 DAC (24-bit)
  2526.  ---generic Tseng BIOS v8+ ---
  2527.  02h Sierra Mark2 (15-bit) or Mark3 (15/16-bit) DAC
  2528.  03h ATT20c490/1/2 (15/16/24-bit)
  2529.  04h AcuMos ADAC1 (15/16/24-bit)
  2530.  05h unknown 15/16/24-bit DAC
  2531.  06h Cirrus Internal 15/16/24-bit (CL-GD54xx series adapters)
  2532.  07h Diamond SS2410 (15/24-bit)
  2533.  08h unknown 15/16/24-bit DAC
  2534.  09h unknown 15/16/24-bit DAC
  2535.  else other HiColor DAC
  2536. --------V-1010F2-----------------------------
  2537. INT 10 u - VIDEO - Tseng ET-4000 BIOS - CHECK IF HiColor MODE/SET HiColor MODE
  2538.     AX = 10F2h
  2539.     BL = function
  2540.         00h get current HiColor mode
  2541.         01h set 15-bit HiColor mode
  2542.         02h set 16-bit HiColor mode
  2543. Return: AX = 0010h if supported
  2544.         BL = video mode type
  2545.         00h not in HiColor mode
  2546.         01h 15-bit RGB mode
  2547.         02h 16-bit RGB mode
  2548.         03h 24-bit RGB mode
  2549. Desc:    determine whether the display is in a graphics mode with 15 or more
  2550.       bits per pixel color resolution
  2551. Note:    set (BL=01h/02h) only works if already in a HiColor mode
  2552. SeeAlso: AH=0Fh,AX=10F0h,AX=10F1h
  2553. --------V-1011-------------------------------
  2554. INT 10 - BIOS Window Extension v1.1 - GET WINDOW COORDINATES
  2555.     AH = 11h
  2556. Return: CH,CL = row,column of upper left corner
  2557.     DH,DL = row,column of lower right corner
  2558. Desc:    determine the portion of the display to which output is restricted
  2559. Program: BWE is a TSR by John J. Seal published in May 1986 Dr. Dobb's Journal
  2560. SeeAlso: AH=10h"Window",AH=12h"Window"
  2561. --------V-1011-------------------------------
  2562. INT 10 - Tandy 2000 - VIDEO - WRITE ATTRIBUTE ONLY
  2563.     AH = 11h
  2564.     BL = new character attribute (text modes) or color (graphics)
  2565.     CX = number of times to write attribute
  2566. Return: nothing
  2567. Note:    this interrupt is identical to INT 52 on Tandy 2000
  2568. SeeAlso: AH=0Ah,AH=0Bh/BH=02h,AH=11h"Tandy 2000",AH=12h"Tandy 2000"
  2569. SeeAlso: INT 52"Tandy 2000"
  2570. --------V-101100-----------------------------
  2571. INT 10 - VIDEO - TEXT-MODE CHARGEN - LOAD USER-SPECIFIED PATTERNS (PS,EGA,VGA)
  2572.     AX = 1100h
  2573.     ES:BP -> user table
  2574.     CX = count of patterns to store
  2575.     DX = character offset into map 2 block
  2576.     BL = block to load in map 2
  2577.     BH = number of bytes per character pattern
  2578. Return: nothing
  2579. Notes:    This function will cause a mode set, completely resetting
  2580.       the video environment, but without clearing the video buffer
  2581.     the current block specifiers may be determined with INT 10/AH=1Bh,
  2582.       looking at offsets 2Bh and 2Ch of the returned data (VGA only)
  2583.       (see AH=1Bh,#0038)
  2584. SeeAlso: AX=1101h,AX=1102h,AX=1103h,AX=1104h,AX=1110h,AH=1Bh,AX=CD10h
  2585. --------V-101101-----------------------------
  2586. INT 10 - VIDEO - TEXT-MODE CHARGEN - LOAD ROM MONOCHROME PATTERNS (PS,EGA,VGA)
  2587.     AX = 1101h
  2588.     BL = block to load
  2589. Return: nothing
  2590. Notes:    (see also AX=1100h)
  2591.     This function will cause a mode set, completely resetting
  2592.       the video environment, but without clearing the video buffer
  2593.     the "monochrome" patters are 8x14 pixels in size
  2594. SeeAlso: AX=1100h,AX=1102h,AX=1103h,AX=1104h,AX=1111h,AH=1Bh,AX=CD10h
  2595. --------V-101102-----------------------------
  2596. INT 10 - VIDEO - TEXT-MODE CHARGEN - LOAD ROM 8x8 DBL-DOT PATTERNS (PS,EGA,VGA)
  2597.     AX = 1102h
  2598.     BL = block to load
  2599. Return: nothing
  2600. Notes:    (see AX=1100h)
  2601. SeeAlso: AX=1100h,AX=1101h,AX=1103h,AX=1104h,AX=1112h,AH=1Bh,AX=CD10h
  2602. SeeAlso: MEM 0040h:0084h
  2603. --------V-101103-----------------------------
  2604. INT 10 - VIDEO - TEXT-MODE CHARGEN - SET BLOCK SPECIFIER (PS,EGA,VGA)
  2605.     AX = 1103h
  2606.     BL = block specifier (see #0019)
  2607. Return: nothing
  2608. Notes:    (see also AX=1110h)
  2609.     This function allows dual character sets to appear on screen
  2610.       simultaneously
  2611. SeeAlso: AX=1100h,AX=1101h,AX=1102h,AX=1104h,AH=1Bh,AX=CD10h
  2612.  
  2613. Bitfields for block specifier:
  2614. Bit(s)    Description    (Table 0019)
  2615. ---EGA/MCGA---
  2616.  0,1    block selected by characters with attribute bit 3 clear
  2617.  2,3    block selected by characters with attribute bit 3 set
  2618. ---VGA---
  2619.  0,1,4    block selected by characters with attribute bit 3 clear
  2620.  2,3,5    block selected by characters with attribute bit 3 set
  2621. --------V-101104-----------------------------
  2622. INT 10 - VIDEO - TEXT-MODE CHARGEN - LOAD ROM 8x16 CHARACTER SET (VGA)
  2623.     AX = 1104h
  2624.     BL = block to load
  2625. Return: nothing
  2626. Notes:    (see AX=1100h)
  2627. SeeAlso: AX=1100h,AX=1101h,AX=1102h,AX=1103h,AX=1114h,AH=1Bh,AX=CD10h
  2628. --------V-1011-------------------------------
  2629. INT 10 - VIDEO - Realtek RTVGA - TEXT-MODE CHARACTER GENERATOR FUNCTIONS
  2630.     AH = 11h
  2631.     AL = 07h load user-specified patterns and recalculate mode parms
  2632.          parameters are the same as for AX=1110h
  2633.     AL = 08h load monochrome patterns (8x14) and recalculate mode parms
  2634.          parameters are the same as for AX=1111h
  2635.     AL = 09h load ROM 8 by 8 double-dot patterns and recalculate mode parms
  2636.          parameters are the same as for AX=1112h
  2637.     AL = 0Bh load ROM 8x16 character set (VGA) and recalculate mode parms
  2638.          parameters are the same as for AX=1114h
  2639. Note:    these functions should only be called under the same conditions as
  2640.       AL=1xh (see AX=1110h"EGA")
  2641. SeeAlso: AX=1100h,AX=1110h"CHARGEN",AX=1110h"Realtek"
  2642. --------V-10110F-----------------------------
  2643. INT 10 - VIDEO - Realtek RTVGA - SET USER 8x8 GRAPHICS CHARACTERS
  2644.     AX = 110Fh
  2645.     ES:BP -> user table for INT 1F
  2646. Return: nothing
  2647. Note:    this function is meant to be called immediately after a mode set;
  2648.       results are unpredictable at other times
  2649. SeeAlso: AX=1110h"Realtek",AX=1111h"Realtek",AX=1112h"Realtek",AX=1120h
  2650. --------V-101110-----------------------------
  2651. INT 10 - VIDEO - TEXT-MODE CHARGEN - LOAD USER-SPECIFIED PATTERNS (PS,EGA,VGA)
  2652.     AX = 1110h
  2653.     ES:BP -> user table
  2654.     CX = count of patterns to store
  2655.     DX = character offset into map 2 block
  2656.     BL = block to load in map 2
  2657.     BH = number of bytes per character pattern
  2658. Return: nothing
  2659. Notes:    This function will cause a mode set, completely resetting
  2660.       the video environment, but without clearing the video buffer
  2661.     This function is designed to be called immediately after a mode set,
  2662.       it is equivalent to AX=110xh except that:
  2663.           Page 0 must be active.
  2664.           Bytes/character is recalculated.
  2665.           Max character rows is recalculated.
  2666.           CRT buffer length is recalculated.
  2667.           CRTC registers are reprogrammed as follows:
  2668.              R09 = bytes/char-1 ; max scan line (mode 7 only)
  2669.              R0A = bytes/char-2 ; cursor start
  2670.              R0B = 0        ; cursor end
  2671.              R12 = ((rows+1)*(bytes/char))-1 ; vertical display end
  2672.              R14 = bytes/char    ; underline loc
  2673.                (*** BUG: should be 1 less ***)
  2674.     the current block specifiers may be determined with INT 10/AH=1Bh,
  2675.       looking at offsets 2Bh and 2Ch of the returned data (VGA only)
  2676.       (see AH=1Bh,#0038)
  2677. SeeAlso: AX=1100h,AX=1111h,AX=1112h,AX=1114h,AH=1Bh,AX=CD10h,MEM 0040h:0084h
  2678. --------V-101110-----------------------------
  2679. INT 10 - VIDEO - Realtek RTVGA - SET USER GRAPHICS CHARACTERS
  2680.     AX = 1110h
  2681.     ES:BP -> user table
  2682.     CX = bytes per character
  2683.     BL = row specifier
  2684.         00h user set
  2685.         DL = number of rows
  2686.         01h 14 rows
  2687.         02h 25 rows
  2688.         03h 43 rows
  2689. Return: nothing
  2690. Note:    this function is meant to be called immediately after a mode set;
  2691.       results are unpredictable at other times
  2692. SeeAlso: AX=110Fh"Realtek",AX=1112h"Realtek",AX=1121h
  2693. --------V-101111-----------------------------
  2694. INT 10 - VIDEO - TEXT-MODE CHARGEN - LOAD ROM MONOCHROME PATTERNS (PS,EGA,VGA)
  2695.     AX = 1111h
  2696.     BL = block to load
  2697. Return: nothing
  2698. Notes:    (see AX=1110h)
  2699.     the "monochrome" patters are 8x14 pixels in size
  2700. SeeAlso: AX=1101h,AX=1110h,AX=1112h,AX=1114h,AH=1Bh,AX=CD10h
  2701. --------V-101111-----------------------------
  2702. INT 10 - VIDEO - Realtek RTVGA - SET ROM 8x14 GRAPHICS CHARACTERS
  2703.     AX = 1111h
  2704.     BL = row specifier (see AX=1121h)
  2705. Return: nothing
  2706. Note:    this function is meant to be called immediately after a mode set;
  2707.       results are unpredictable at other times
  2708. SeeAlso: AX=110Fh"Realtek",AX=1110h"Realtek",AX=1122h
  2709. --------V-101112-----------------------------
  2710. INT 10 - VIDEO - TEXT-MODE CHARGEN - LOAD ROM 8x8 DBL-DOT PATTERNS (PS,EGA,VGA)
  2711.     AX = 1112h
  2712.     BL = block to load
  2713. Return: nothing
  2714. Notes:    (see AX=1110h)
  2715. SeeAlso: AX=1103h,AX=1110h,AX=1111h,AX=1114h,AH=1Bh,AX=CD10h
  2716. --------V-101112-----------------------------
  2717. INT 10 - VIDEO - Realtek RTVGA - SET ROM 8x8 DOUBLE-DOT CHARACTERS
  2718.     AX = 1112h
  2719.     BL = row specifier (see AX=1121h)
  2720. Return: nothing
  2721. Note:    this function is meant to be called immediately after a mode set;
  2722.       results are unpredictable at other times
  2723. SeeAlso: AX=110Fh"Realtek",AX=1110h"Realtek",AX=1111h"Realtek",AX=1123h
  2724. --------V-101114-----------------------------
  2725. INT 10 - VIDEO - TEXT-MODE CHARGEN - LOAD ROM 8x16 CHARACTER SET (VGA)
  2726.     AX = 1114h
  2727.     BL = block to load
  2728. Return: nothing
  2729. Notes:    (see AX=1110h)
  2730. SeeAlso: AX=1104h,AX=1110h,AX=1111h,AX=1112h,AH=1Bh,AX=CD10h
  2731. --------V-101118-----------------------------
  2732. INT 10 - IBM SurePath BIOS - Officially "Private" Function
  2733.     AX = 1118h
  2734. --------V-101120-----------------------------
  2735. INT 10 - VIDEO - GRAPH-MODE CHARGEN - SET USER 8x8 GRAPHICS CHARS (PS,EGA,VGA)
  2736.     AX = 1120h
  2737.     ES:BP -> user table for INT 1F
  2738. Return: nothing
  2739. Note:    this function is meant to be called immediately after a mode set;
  2740.       results are unpredictable at other times
  2741. SeeAlso: AX=1121h,AX=1122h,AX=1123h,AX=1124h,AX=1129h,INT 1F"SYSTEM DATA"
  2742. SeeAlso: INT 43"VIDEO DATA"
  2743. --------V-101121-----------------------------
  2744. INT 10 - VIDEO - GRAPH-MODE CHARGEN - SET USER GRAPHICS CHARACTERS (PS,EGA,VGA)
  2745.     AX = 1121h
  2746.     ES:BP -> user table
  2747.     CX = bytes per character
  2748.     BL = row specifier
  2749.         00h user set
  2750.         DL = number of rows
  2751.         01h 14 rows
  2752.         02h 25 rows
  2753.         03h 43 rows
  2754. Return: AL = new number of rows (Diamond Stealth64 Video)
  2755. Note:    this function is meant to be called immediately after a mode set;
  2756.       results are unpredictable at other times
  2757. SeeAlso: AX=1120h,AX=1122h,AX=1123h,AX=1124h,AX=1129h"Compaq"
  2758. SeeAlso: AX=1129h"Diamond",INT 1F"SYSTEM DATA",INT 43"VIDEO DATA"
  2759. --------V-101122-----------------------------
  2760. INT 10 - VIDEO - GRAPH-MODE CHARGEN - SET ROM 8x14 GRAPHICS CHARS (PS,EGA,VGA)
  2761.     AX = 1122h
  2762.     BL = row specifier (see AX=1121h)
  2763. Return: nothing
  2764. Notes:    this function is meant to be called immediately after a mode set;
  2765.       results are unpredictable at other times
  2766.     UltraVision v2+ sets INT 43 to the appropriate font on this call
  2767. SeeAlso: AX=1111h,AX=1120h,AX=1121h,AX=1123h,AX=1124h,AX=1129h
  2768. SeeAlso: INT 1F"SYSTEM DATA",INT 43"VIDEO DATA"
  2769. --------V-101123-----------------------------
  2770. INT 10 - VIDEO - GRAPH-MODE CHARGEN - SET ROM 8x8 DOUBLE-DOT CHARS (PS,EGA,VGA)
  2771.     AX = 1123h
  2772.     BL = row specifier (see AX=1121h)
  2773. Return: nothing
  2774. Notes:    this function is meant to be called immediately after a mode set;
  2775.       results are unpredictable at other times
  2776.     UltraVision v2+ sets INT 43 to the appropriate font on this call
  2777. SeeAlso: AX=1112h,AX=1120h,AX=1121h,AX=1122h,AX=1124h,AX=1129h
  2778. SeeAlso: INT 1F"SYSTEM DATA",INT 43"VIDEO DATA"
  2779. --------V-101124-----------------------------
  2780. INT 10 - VIDEO - GRAPH-MODE CHARGEN - LOAD 8x16 GRAPHICS CHARS (VGA,MCGA)
  2781.     AX = 1124h
  2782.     BL = row specifier (see AX=1121h)
  2783. Return: nothing
  2784. Notes:    this function is meant to be called immediately after a mode set;
  2785.       results are unpredictable at other times
  2786.     UltraVision v2+ sets INT 43 to the appropriate font on this call
  2787. SeeAlso: AX=1120h,AX=1121h,AX=1122h,AX=1123h,AX=1129h
  2788. SeeAlso: INT 1F"SYSTEM DATA",INT 43"VIDEO DATA"
  2789. --------V-101129-----------------------------
  2790. INT 10 - VIDEO - GRAPH-MODE CHARGEN - LOAD 8x16 GRAPH CHARS (Compaq Systempro)
  2791.     AX = 1129h
  2792.     BL = row specifier (see AX=1121h)
  2793. Return: nothing
  2794. Notes:    this function is meant to be called immediately after a mode set;
  2795.       results are unpredictable at other times
  2796.     UltraVision v2+ sets INT 43 to the appropriate font on this call
  2797. SeeAlso: AX=1120h,AX=1121h,AX=1122h,AX=1123h,AX=1124h,INT 1F"SYSTEM DATA"
  2798. SeeAlso: INT 43"VIDEO DATA"
  2799. --------V-101129-----------------------------
  2800. INT 10 - VIDEO - GRAPH-MODE CHARGEN - SET USER GRAPHICS CHARACTERS (Diamond)
  2801.     AX = 1129h
  2802.     DI:BP -> user table
  2803.     CX = bytes per character
  2804.     BL = row specifier
  2805.         00h user set
  2806.         DL = number of rows
  2807.         01h 14 rows
  2808.         02h 25 rows
  2809.         03h 43 rows
  2810. Return: AL = new number of rows
  2811. Notes:    this function is meant to be called immediately after a mode set;
  2812.       results are unpredictable at other times
  2813.     supported by Diamond Stealth64 Video
  2814. SeeAlso: AX=1120h,AX=1122h,AX=1123h,AX=1124h,INT 1F"SYSTEM",INT 43"VIDEO"
  2815. --------V-101130-----------------------------
  2816. INT 10 - VIDEO - GET FONT INFORMATION (EGA, MCGA, VGA)
  2817.     AX = 1130h
  2818.     BH = pointer specifier
  2819.         00h INT 1Fh pointer
  2820.         01h INT 43h pointer
  2821.         02h ROM 8x14 character font pointer
  2822.         03h ROM 8x8 double dot font pointer
  2823.         04h ROM 8x8 double dot font (high 128 characters)
  2824.         05h ROM alpha alternate (9 by 14) pointer (EGA,VGA)
  2825.         06h ROM 8x16 font (MCGA, VGA)
  2826.         07h ROM alternate 9x16 font (VGA only) (see #0020)
  2827.         11h (UltraVision v2+) 8x20 font (VGA) or 8x19 font (autosync EGA)
  2828.         12h (UltraVision v2+) 8x10 font (VGA) or 8x11 font (autosync EGA)
  2829. Return: ES:BP = specified pointer
  2830.     CX    = bytes/character of on-screen font (not the requested font!)
  2831.     DL    = highest character row on screen
  2832. Note:    for UltraVision v2+, the 9xN alternate fonts follow the corresponding
  2833.       8xN font at ES:BP+256N
  2834. BUG:    the IBM EGA and some other EGA cards return in DL the number of rows on
  2835.       screen rather than the highest row number (which is one less).
  2836. SeeAlso: AX=1100h,AX=1103h,AX=1120h,INT 1F"SYSTEM DATA",INT 43"VIDEO DATA"
  2837.  
  2838. Format of alternate font table [array]:
  2839. Offset    Size    Description    (Table 0020)
  2840.  00h    BYTE    character to be replaced (00h = end of table)
  2841.  01h  N BYTEs    graphics data for character, one byte per scan line
  2842. --------V-101130BX4D4F-----------------------
  2843. INT 10 - M10_SCR.COM v3.5+ - INSTALLATION CHECK
  2844.     AX = 1130h
  2845.     BX = 4D4Fh
  2846. Return: CX = 4F4Dh if installed
  2847.         ES:BP -> M10_SCR INT 10 handler
  2848. Program: M10_SCR is a shareware extended text mode and font driver by
  2849.       I.V. Morozov
  2850. SeeAlso: INT 16/AX=4D4Fh
  2851. --------V-1012-------------------------------
  2852. INT 10 - BIOS Window Extension v1.1 - GET BLANKING ATTRIBUTE
  2853.     AH = 12h
  2854. Return: BH = attribute to use on blanked lines when scrolling
  2855. Program: BWE is a TSR by John J. Seal published in May 1986 Dr. Dobb's Journal
  2856. SeeAlso: AH=11h"Window",AH=12h"Window"
  2857. --------V-1012-------------------------------
  2858. INT 10 - Tandy 2000 - VIDEO - SCROLL WINDOW
  2859.     AH = 12h
  2860.     AL = number of rows or columns to scroll
  2861.     BH = buffer flag
  2862.         00h data in user buffer
  2863.         ES:SI -> buffer containing character/attribute pairs
  2864.         01h no buffer, fill emptied rows/columns with blanks
  2865.     BL = direction in which to scroll
  2866.         00h up
  2867.         01h down
  2868.         02h left
  2869.         03h right
  2870.     CH,CL = row,column of upper left corner of scroll area
  2871.     DH,DL = row,column of lower right corner
  2872. Return: nothing
  2873. Notes:    this interrupt is identical to INT 52 on Tandy 2000
  2874.     the user buffer, if supplied, must be organized by row; regardless of
  2875.       the scroll direction, all character/attribute pairs for the first
  2876.       row are first, then the pairs for the second row, etc.
  2877. SeeAlso: AH=00h,AH=0Bh/BH=02h,AH=11h"Tandy 2000",AH=12h"Tandy 2000"
  2878. SeeAlso: INT 52"Tandy"
  2879. --------V-1012--BL10-------------------------
  2880. INT 10 - VIDEO - ALTERNATE FUNCTION SELECT (PS, EGA, VGA, MCGA) - GET EGA INFO
  2881.     AH = 12h
  2882.     BL = 10h
  2883. Return: BH = video state
  2884.         00h color mode in effect (I/O port 3Dxh)
  2885.         01h mono mode in effect (I/O port 3Bxh)
  2886.     BL = installed memory (00h = 64K, 01h = 128K, 02h = 192K, 03h = 256K)
  2887.     CH = feature connector bits (see #0021)
  2888.     CL = switch settings (see #0022,#0023)
  2889.     AH destroyed (at least by Tseng ET4000 BIOS v8.00n)
  2890. Note:    one possible check for the presence of an EGA or later display card
  2891.       is to call this function with BH=FFh; if not present, BH will be
  2892.       unchanged on return
  2893.     another installation check is used by Athena Digital's HGCIBM, which
  2894.       sets CX to FFFFh on calling and checks whether it has been changed
  2895.       on return
  2896. Index:    installation check;EGA
  2897.  
  2898. Bitfields for feature connector bits:
  2899. Bit(s)    Description    (Table 0021)
  2900.  0    FEAT 1 line, state 2
  2901.  1    FEAT 0 line, state 2
  2902.  2    FEAT 1 line, state 1
  2903.  3    FEAT 0 line, state 1
  2904.  4-7    unused (0)
  2905.  
  2906. Bitfields for switch settings:
  2907. Bit(s)    Description    (Table 0022)
  2908.  0    switch 1 OFF
  2909.  1    switch 2 OFF
  2910.  2    switch 3 OFF
  2911.  3    switch 4 OFF
  2912.  4-7    unused
  2913.  
  2914. (Table 0023)
  2915. Values for switch settings on original EGA/VGA:
  2916.  00h        primary MDA/HGC,    secondary EGA+ 40x25
  2917.  01h-03h    primary MDA/HGC,    secondary EGA+ 80x25
  2918.  04h        primary CGA 40x25,    secondary EGA+ 80x25 mono
  2919.  05h        primary CGA 80x25,    secondary EGA+ 80x25 mono
  2920.  06h        primary EGA+ 40x25,    secondary MDA/HGC (optional)
  2921.  07h-09h    primary EGA+ 80x25,    secondary MDA/HGC (optional)
  2922.  0Ah        primary EGA+ 80x25 mono,secondary CGA 40x25 (optional)
  2923.  0Bh        primary EGA+ 80x25 mono,secondary CGA 80x25 (optional)
  2924. --------V-1012--BL11-------------------------
  2925. INT 10 - VIDEO - Trident TVGA 8800/8900/9000 BIOS - GET BIOS INFO
  2926.     AH = 12h
  2927.     BL = 11h
  2928. Return: AL = 12h if function supported
  2929.         BL = ??? (10h)
  2930.         ES:BP -> BIOS info structure (see #0024)
  2931. SeeAlso: AH=12h/BL=12h"TRIDENT"
  2932.  
  2933. Format of Trident BIOS Info structure:
  2934. Offset    Size     Description    (Table 0024)
  2935.  00h    BYTE     ??? (0000h)
  2936.  01h    BYTE     OEM Code (00h for original Trident)
  2937.  02h    WORD     ID??? (1073h for 8800BR, 1074 for 8800CS)
  2938.  04h  8 BYTEs     BIOS date ('mm/dd/yy')
  2939.  0Ch    WORD     ???
  2940.  0Eh  8 BYTEs     BIOS Version (' C3-128 ', ' C3-129 ')
  2941. --------V-1012--BL12-------------------------
  2942. INT 10 - VIDEO - Trident TVGA 8800/8900/9000 BIOS - GET VIDEO RAM SIZE
  2943.     AH = 12h
  2944.     BL = 12h
  2945. Return: AL = 12h if function supported
  2946.         AH = number of 256K banks of RAM installed
  2947.           (read from CRTC register 1Fh)
  2948. SeeAlso: AH=12h/BL=11h"TRIDENT"
  2949. --------V-1012--BL20-------------------------
  2950. INT 10 - VIDEO - ALTERNATE FUNCTION SELECT (PS,EGA,VGA,MCGA) - ALTERNATE PRTSC
  2951.     AH = 12h
  2952.     BL = 20h  select alternate print screen routine
  2953. Return: nothing
  2954. Desc:    installs a PrtSc routine from the video card's BIOS to replace the
  2955.       default PrtSc handler from the ROM BIOS, which usually does not
  2956.       understand screen heights other than 25 lines
  2957. Note:    some adapters disable print-screen instead of enhancing it
  2958. SeeAlso: INT 05"PRINT SCREEN"
  2959. --------V-1012--BL2E-------------------------
  2960. INT 10 - Tseng ET-4000 BIOS v3.00 and v8.00 - BUG
  2961.     AH = 12h
  2962.     BL = 2Eh
  2963. Return: nothing
  2964. Note:    due to an omitted end-of-list marker, these versions of the BIOS will
  2965.       crash the system on this function
  2966. --------V-1012--BL30-------------------------
  2967. INT 10 - VIDEO - ALTERNATE FUNCTION SELECT (VGA) - SELECT VERTICAL RESOLUTION
  2968.     AH = 12h
  2969.     BL = 30h
  2970.     AL = vertical resolution
  2971.          00h 200 scan lines
  2972.          01h 350 scan lines
  2973.          02h 400 scan lines
  2974. Return: AL = 12h if function supported
  2975. Desc:    specify the number of scan lines used to display text modes
  2976. Note:    the specified resolution will take effect on the next mode set
  2977. SeeAlso: AH=00h
  2978. --------V-1012--BL31-------------------------
  2979. INT 10 - VIDEO - ALTERNATE FUNCTION SELECT (VGA, MCGA) - PALETTE LOADING
  2980.     AH = 12h
  2981.     BL = 31h
  2982.     AL = new state
  2983.         00h enable default palette loading
  2984.         01h disable default palette loading
  2985. Return: AL = 12h if function supported
  2986. Desc:    specify whether a default palette should be loaded when the display
  2987.       mode is set
  2988. SeeAlso: AH=00h
  2989. --------V-1012--BL32-------------------------
  2990. INT 10 - VIDEO - ALTERNATE FUNCTION SELECT (VGA, MCGA) - VIDEO ADDRESSING
  2991.     AH = 12h
  2992.     BL = 32h
  2993.     AL = new state
  2994.         00h enable video addressing
  2995.         01h disable video addressing
  2996. Return: AL = 12h if function supported
  2997. Desc:    specify whether the CPU should have access to video memory and the
  2998.       display adapters I/O registers
  2999. --------V-1012--BL33-------------------------
  3000. INT 10 - VIDEO - ALTERNATE FUNCTION SELECT (VGA, MCGA) - GRAY-SCALE SUMMING
  3001.     AH = 12h
  3002.     BL = 33h
  3003.     AL = new state
  3004.         00h enable gray scale summing
  3005.         01h disable gray scale summing
  3006. Return: AL = 12h if function supported
  3007. Desc:    specify whether or not colors should be converted to gray scale when
  3008.       palette or color registers are loaded
  3009. SeeAlso: AX=101Bh,AX=BF06h,AX=BF08h
  3010. --------V-1012--BL34-------------------------
  3011. INT 10 - VIDEO - ALTERNATE FUNCTION SELECT (VGA) - CURSOR EMULATION
  3012.     AH = 12h
  3013.     BL = 34h
  3014.     AL = new state
  3015.         00h enable alphanumeric cursor emulation
  3016.         01h disable alphanumeric cursor emulation
  3017. Return: AL = 12h if function supported
  3018. Desc:    specify whether the BIOS should automatically remap cursor start/end
  3019.       according to the current character height in text modes
  3020. SeeAlso: AH=01h,AH=03h
  3021. --------V-1012--BL35-------------------------
  3022. INT 10 - VIDEO - ALTERNATE FUNCTION SELECT (PS) - DISPLAY-SWITCH INTERFACE
  3023.     AH = 12h
  3024.     BL = 35h
  3025.     AL = subfunction
  3026.         00h initial adapter video off
  3027.         01h initial planar video on
  3028.         02h switch active video off
  3029.         03h switch inactive video on
  3030.         80h *UNDOCUMENTED* set system board video active flag
  3031.     ES:DX -> buffer for 128 byte save area (if AL = 00h-03h)
  3032. Return: AL = 12h if function supported
  3033. Desc:    switch between two video adapters which may otherwise have address
  3034.       conflicts
  3035. SeeAlso: AX=BF00h,AX=BF01h,INT 6D"VGA"
  3036. --------V-1012--BL36-------------------------
  3037. INT 10 - VIDEO - ALTERNATE FUNCTION SELECT (PS, VGA) - VIDEO REFRESH CONTROL
  3038.     AH = 12h
  3039.     BL = 36h
  3040.     AL = new state
  3041.         00h enable refresh
  3042.         01h disable refresh
  3043. Return: AL = 12h if function supported
  3044. Desc:    specify whether the contents of video memory should be displayed on
  3045.       the screen; disabling refresh effectively blanks the screen
  3046. Note:    when display refresh is disabled, the entire screen displays the color
  3047.       specified by the DAC color register 00h; thus to actually blank the
  3048.       screen, the application must first ensure that that register has been
  3049.       set to black
  3050. BUG:    GEM/VIEWMAX ET3000 and ET4000 drivers dated 6/23/88 do not correctly
  3051.       reenable refresh after the screen has been blanked due to inactivity,
  3052.       resulting in a total loss of video synchronization
  3053. SeeAlso: AX=BF05h
  3054. --------V-1012--BL37-------------------------
  3055. INT 10 - VIDEO - XGA - MAINFRAME INTERACTIVE SUPPORT
  3056.     AH = 12h
  3057.     BL = 37h
  3058.     AL = text attribute type (00h normal VGA, 01h mainframe type)
  3059. Return: AL = 12h if supported
  3060. SeeAlso: #0025,AH=08h,#0040
  3061.  
  3062. Bitfields for XGA mainframe type character attributes:
  3063. Bit(s)    Description    (Table 0025)
  3064.  7    blink double rate (75% ON time) or use color 8 as background
  3065.     (see AX=1003h)
  3066.  6    reverse video
  3067.  5    underlined
  3068.  4    left-most and right-most dots of underline area inverted
  3069.  3    foreground intensity/character font select
  3070.  2-0    foreground color
  3071. SeeAlso: #0013,#0034
  3072. --------V-1012--BL38-------------------------
  3073. INT 10 - IBM SurePath BIOS - Officially "Private" Function
  3074.     AH = 12h
  3075.     BL = 38h
  3076. SeeAlso: AX=1118h,AH=12h/BL=39h
  3077. --------V-1012--BL39-------------------------
  3078. INT 10 - IBM SurePath BIOS - Officially "Private" Function
  3079.     AH = 12h
  3080.     BL = 39h
  3081. SeeAlso: AX=1118h,AH=12h/BL=38h,AH=12h/BL=3Ah
  3082. --------V-1012--BL3A-------------------------
  3083. INT 10 - IBM SurePath BIOS - Officially "Private" Function
  3084.     AH = 12h
  3085.     BL = 3Ah
  3086. SeeAlso: AX=1118h,AH=12h/BL=39h
  3087. --------V-1012--BL53-------------------------
  3088. INT 10 - Tseng ET-4000 BIOS v8.00 (06/07/91) - BUG
  3089.     AH = 12h
  3090.     BL = 53h
  3091. Note:    due to an omitted end-of-list marker, this version of the BIOS will
  3092.       crash the system on this function
  3093. --------V-1012--BL57-------------------------
  3094. INT 10 - Tseng ET-4000 BIOS v8.00 (06/07/91) - BUG
  3095.     AH = 12h
  3096.     BL = 57h
  3097. Note:    due to an omitted end-of-list marker, this version of the BIOS will
  3098.       crash the system on this function
  3099. --------V-1012--BH55-------------------------
  3100. INT 10 - VIDEO - ALTERNATE FUNC SELECT (ATI,Tatung,Taxan) - ENHANCED FEATURES
  3101.     AH = 12h
  3102.     BH = 55h
  3103.     BL = subfunction
  3104.         00h disable enhanced features
  3105.         01h enable enhanced features
  3106.         02h get status
  3107.         Return: AL = status flags (see #0026)
  3108.         03h disable register trapping (CGA emulation)
  3109.         04h enable register trapping
  3110.         05h program video mode
  3111.         ES:BP -> video mode table (see #0027)
  3112.         06h get mode table
  3113.         AL = video mode
  3114.         Return: ES:BP -> table suitable for mode AL
  3115.                   (and subfunc BL=05h) (see #0027)
  3116.             BP = FFFFh on error
  3117.             SI = 0000h (ATI Mach32)
  3118. Note:    the ATI Mouse driver (MOUSE.COM/MOUSE.SYS) uses subfunction 06h to get
  3119.       the mode table for mode 03h, and then looks for a signature string
  3120.       beginning within 32 bytes of the offset specified by the word at
  3121.       ES:000Ch
  3122. SeeAlso: AH=FFh"Oak"
  3123. Index:    installation check;ATI video adapters
  3124.  
  3125. Bitfields for status flags:
  3126. Bit(s)    Description    (Table 0026)
  3127.  3    set if enhanced features enabled
  3128.  7-5    monitor type
  3129.     000 PS/2 mono
  3130.     001 PS/2 color
  3131.     010 multi-sync
  3132.     011 Taxan 650 25kHz
  3133.     100 RGB
  3134.     101 mono
  3135.     110 EGA
  3136.     111 Compaq internal
  3137.  
  3138. Format of ATI VGA Wonder video mode table:
  3139. Offset    Size    Description    (Table 0027)
  3140.  00h    BYTE    number of columns
  3141.  01h    BYTE    maximum row (number of rows - 1)
  3142.  02h    BYTE    scan lines per row
  3143.  03h    WORD    video buffer size in bytes
  3144.  05h  4 BYTEs    values for Sequencer registers 1-4
  3145.  09h    BYTE    value for Miscellaneous Output register
  3146.  0Ah 25 BYTEs    values for CRTC registers 00h-18h
  3147.         00h horizontal total size (chars)
  3148.         01h horizontal displayed (chars)
  3149.         02h horizontal sync position (chars)
  3150.         03h horizontal sync width (chars)
  3151.         04h vertical total size (char rows)
  3152.         05h vertical total adjust (scan lines)
  3153.         06h vertical displayed (char rows)
  3154.         07h vertical sync position (char rows)
  3155.         08h interlace mode
  3156.         09h max scan line in row
  3157.         0Ah cursor start scan line
  3158.         0Bh cursor end scan line
  3159.         0Ch screen memory start (high)
  3160.         0Dh screen memory start (low)
  3161.         0Eh cursor address (high)
  3162.         0Fh cursor address (low)
  3163.         10h light pen (high)
  3164.         11h light pen (low)
  3165.  23h 20 BYTEs    default palette (values for Attribute Controller regs 00h-13h)
  3166.  37h  9 BYTEs    values for Graphics Controller registers 00h-08h
  3167. --------V-1012--BL74-------------------------
  3168. INT 10 - Tseng ET-4000 BIOS v3.00 and v8.00 - BUG
  3169.     AH = 12h
  3170.     BL = 74h
  3171. Note:    due to an omitted end-of-list marker, these versions of the BIOS will
  3172.       crash the system on this function
  3173. --------V-1012--BL80-------------------------
  3174. INT 10 - Tseng ET-4000 BIOS v3.00 and v8.00 - BUG
  3175.     AH = 12h
  3176.     BL = 80h
  3177. Note:    due to an omitted end-of-list marker, these versions of the BIOS will
  3178.       crash the system on this function
  3179. --------V-1012--BL80-------------------------
  3180. INT 10 - Cirrus Logic BIOS - INQUIRE VGA TYPE
  3181.     AH = 12h
  3182.     BL = 80h
  3183. Return: AX = controller type in bits 13-0 (see #0028)
  3184.         bit 14: ???
  3185.         bit 15: ???
  3186.     BL = silicon revision number (bit 7 set if not available)
  3187.     BH = ???
  3188.         bit 2 set if using CL-GD 6340 LCD interface
  3189. SeeAlso: AH=12h/BL=81h,AH=12h/BL=82h,AH=12h/BL=85h,AH=12h/BL=9Ah,AH=12h/BL=A1h
  3190.  
  3191. (Table 0028)
  3192. Values for Cirrus Logic video controller type:
  3193.  0000h    no extended alternate select support
  3194.  0001h    reserved
  3195.  0002h    CL-GD510/520
  3196.  0003h    CL-GD610/620
  3197.  0004h    CL-GD5320
  3198.  0005h    CL-GD6410
  3199.  0006h    CL-GD5410
  3200.  0007h    CL-GD6420
  3201.  0008h    CL-GD6412
  3202.  0010h    CL-GD5401
  3203.  0011h    CL-GD5402
  3204.  0012h    CL-GD5420
  3205.  0013h    CL-GD5422
  3206.  0014h    CL-GD5424
  3207.  0015h    CL-GD5426
  3208.  0016h    CL-GD5420r1
  3209.  0017h    CL-GD5402r1
  3210.  0018h    CL-GD5428
  3211.  0019h    CL-GD5429
  3212.  0020h    CL-GD6205/15/25
  3213.  0021h    CL-GD6215
  3214.  0022h    CL-GD6225
  3215.  0023h    CL-GD6235
  3216.  0024h    CL-GD6245
  3217.  0030h    CL-GD5432
  3218.  0031h    CL-GD5434
  3219.  0032h    CL-GD5430
  3220.  0033h    CL-GD5434 rev. E and F
  3221.  0035h    CL-GD5440
  3222.  0036h    CL-GD5436
  3223.  0039h    CL-GD5446
  3224.  0040h    CL-GD6440
  3225.  0041h    CL-GD7542 (Nordic)
  3226.  0042h    CL-GD7543 (Viking)
  3227.  0043h    CL-GD7541 (Nordic Lite)
  3228.  0050h    CL-GD5452 (Northstar)
  3229.  0052h    CL-GD5452 (Northstar) ???
  3230. SeeAlso: #0656,#0666
  3231. --------V-1012--BL81-------------------------
  3232. INT 10 - Cirrus Logic BIOS - GET BIOS VERSION NUMBER
  3233.     AH = 12h
  3234.     BL = 81h
  3235. Return: AH = BIOS major version
  3236.     AL = BIOS minor version
  3237. SeeAlso: AH=12h/BL=80h,AH=12h/BL=82h
  3238. --------V-1012--BL82-------------------------
  3239. INT 10 - Cirrus Logic BIOS - GET DESIGN REVISION CODE
  3240.     AH = 12h
  3241.     BL = 82h
  3242. Return: AL = chip revision
  3243.     AH = ??? (AFh for v1.01)
  3244. SeeAlso: AH=12h/BL=80h,AH=12h/BL=81h,#0656 at INT 1A/AX=B102h
  3245. --------V-1012--BL84-------------------------
  3246. INT 10 - Cirrus Logic BIOS v3.02 - INQUIRE OPTIONS
  3247.     AH = 12h
  3248.     BL = 84h
  3249. Return: AX = user options word (see #0029)
  3250. SeeAlso: AH=12h/BL=89h,AH=12h/BL=8Ah,AH=12h/BL=8Bh,AH=12h/BL=8Ch,AH=12h/BL=8Fh
  3251. SeeAlso: AH=12h/BL=90h,AH=12h/BL=9Ah
  3252.  
  3253. Bitfields for Cirrus Logic user options word:
  3254. Bit(s)    Description    (Table 0029)
  3255.  1,0    centering
  3256.     00 vertical centered, 01 from bottom, 10 from top, 11 reserved
  3257.  3,2    720-dot fix-up options
  3258.     00 OR every 8th and 9th pixel
  3259.     01 display MGA mode from left
  3260.     10 display MGA mode from right
  3261.     11 skip every 9th pixel
  3262.  4    ???
  3263.  7-5    video mode (001 CGA, 010 MGA, 011 EGA, 100 VGA)
  3264.  8    external monitor enabled instead of LCD panel
  3265.  9    vertical expand mode enabled
  3266.  10    8-bit mode instead of 16-bit mode
  3267.  11    normal video rather than reverse video (for LCD)
  3268.  12    attribute automap rather than attribute emulation
  3269.  13    bold mode disabled (default)
  3270.  14    fast bandwidth
  3271.  15    ???
  3272. --------V-1012--BL85-------------------------
  3273. INT 10 - Cirrus Logic BIOS - GET INSTALLED MEMORY
  3274.     AH = 12h
  3275.     BL = 85h
  3276. Return: AL = number of 64K banks of video memory
  3277. SeeAlso: AH=12h/BL=80h,AH=12h/BL=93h
  3278. --------V-1012--BL89-------------------------
  3279. INT 10 - Cirrus Logic BIOS v3.02 - LCD panel - EN/DISABLE REVERSE VIDEO MODE
  3280.     AH = 12h
  3281.     BL = 89h
  3282.     AL = new state (00h enabled, 01h disabled)
  3283. Return: nothing
  3284. SeeAlso: AH=12h/BL=84h,AH=12h/BL=8Ah,AH=12h/BL=8Bh
  3285. --------V-1012--BL8A-------------------------
  3286. INT 10 - Cirrus Logic BIOS v3.02 - LCD panel - SET FRAME COLOR
  3287.     AH = 12h
  3288.     BL = 8Ah
  3289.     AL = new gray-scale color (00h = black to 0Fh = white)
  3290. Return: nothing
  3291. SeeAlso: AH=12h/BL=84h,AH=12h/BL=89h,AH=12h/BL=8Fh
  3292. --------V-1012--BL8B-------------------------
  3293. INT 10 - Cirrus Logic BIOS v3.02 - LCD panel - ENABLE/DISABLE BOLD MODE
  3294.     AH = 12h
  3295.     BL = 8Bh
  3296.     AL = new state (00h enabled, 01h disabled)
  3297. Return: nothing
  3298. SeeAlso: AH=12h/BL=84h,AH=12h/BL=89h,AH=12h/BL=8Ch,AH=12h/BL=8Fh
  3299. --------V-1012--BL8C-------------------------
  3300. INT 10 - Cirrus Logic BIOS v3.02 - LCD panel - SET AUTOMAP/EMULATE ATTRIBUTES
  3301.     AH = 12h
  3302.     BL = 8Ch
  3303.     AL = new state
  3304.         00h enable automap
  3305.         01h disable automap and emulate attributes
  3306. Return: nothing
  3307. SeeAlso: AH=12h/BL=84h,AH=12h/BL=8Bh
  3308. --------V-1012--BL8F-------------------------
  3309. INT 10 - Cirrus Logic BIOS v3.02 - LCD panel - ENABLE/DISABLE EXPAND MODE
  3310.     AH = 12h
  3311.     BL = 8Fh
  3312.     AL = new state (00h enabled, 01h disabled)
  3313. Return: nothing
  3314. Note:    when expand mode is enabled, the vertical dimension is enlarged to
  3315.       full screen
  3316. SeeAlso: AH=12h/BL=84h,AH=12h/BL=89h,AH=12h/BL=8Bh,AH=12h/BL=90h
  3317. --------V-1012--BL90-------------------------
  3318. INT 10 - Cirrus Logic BIOS v3.02 - LCD panel - SET CENTERING MODE
  3319.     AH = 12h
  3320.     BL = 90h
  3321.     AL = new position
  3322.         00h centered
  3323.         01h from top
  3324.         02h from bottom
  3325.         03h from top
  3326. Return: nothing
  3327. SeeAlso: AH=12h/BL=84h,AH=12h/BL=8Fh
  3328. --------V-1012--BL91-------------------------
  3329. INT 10 - Cirrus Logic BIOS v3.02 - LCD panel - SET 720-DOT FIXUP MODE
  3330.     AH = 12h
  3331.     BL = 91h
  3332.     AL = new mode
  3333.         00h display MGA mode from left of screen (default)
  3334.         01h display MGA from right
  3335.         02h skip every ninth pixel
  3336.         03h OR every 8th and 9th pixel
  3337. Return: nothing
  3338. SeeAlso: AH=12h/BL=84h,AH=12h/BL=8Ah,AH=12h/BL=90h
  3339. --------V-1012--BL92-------------------------
  3340. INT 10 - Cirrus Logic BIOS v3.02 - LCD panel - SWITCH DISPLAY
  3341.     AH = 12h
  3342.     BL = 92h
  3343.     AL = new display (00h LCD, 01h external monitor)
  3344. Return: nothing
  3345. Note:    the deselected display is disabled
  3346. SeeAlso: AH=12h/BL=84h,AH=12h/BL=89h,AH=12h/BL=90h,AH=12h/BL=94h
  3347. --------V-1012--BL93-------------------------
  3348. INT 10 - Cirrus Logic BIOS - FORCE 8-BIT OR 16-BIT OPERATION
  3349.     AH = 12h
  3350.     BL = 93h
  3351.     AL = new I/O width (00h = 16 bits, 01h = 8 bits)
  3352. Return: nothing
  3353. SeeAlso: AH=12h/BL=9Ah
  3354. --------V-1012--BL94-------------------------
  3355. INT 10 - Cirrus Logic BIOS v3.02 - POWER CONSERVATION
  3356.     AH = 12h
  3357.     BL = 94h
  3358.     AL = new state (00h wake up monitor, 01h shut down display)
  3359. Return: nothing
  3360. Note:    AL=01h is reported not to work properly on the LCD panel
  3361. SeeAlso: AH=12h/BL=84h,AH=12h/BL=92h
  3362. --------V-1012--BL9A-------------------------
  3363. INT 10 - Cirrus Logic BIOS - GET USER OPTIONS
  3364.     AH = 12h
  3365.     BL = 9Ah
  3366. Return: AX = options word 1 (see #0030)
  3367.     CX = options word 2 (see #0031)
  3368.     BX,DX reserved
  3369. SeeAlso: AH=12h/BL=80h,AH=12h/BL=84h,AH=12h/BL=93h,AH=12h/BL=A0h
  3370. SeeAlso: AH=12h/BL=A3h,AH=12h/BL=A4h,#0656 at INT 1A/AX=B102h
  3371.  
  3372. Bitfields for Cirrus Logic options word 1:
  3373. Bit(s)    Description    (Table 0030)
  3374.  0,1    reserved
  3375.  2-4    monitor type
  3376.  5-6    maximum vertical resolution
  3377.  7-9    reserved
  3378.  10    force 8-bit operation
  3379.  11-13    reserved
  3380.  14    vertical refresh frequency at 640x480
  3381.     =0 60 Hz
  3382.     =1 high refresh
  3383.  15    reserved
  3384. SeeAlso: AH=12h/BL=AEh
  3385.  
  3386. Bitfields for Cirrus Logic options word 2:
  3387. Bit(s)    Description    (Table 0031)
  3388.  15-13    vertical refresh frequency at 1024x768
  3389.  12-11    vertical refresh frequency at 800x600
  3390.  10-6    reserved
  3391.  5-4    vertical refresh frequency at 1280x1024
  3392.  3-0    reserved
  3393. SeeAlso: #3885
  3394.  
  3395. Bitfields for Cirrus Logic Options word 2 (alternate???):
  3396. Bit(s)    Description    (Table 3885)
  3397.  15-12    vertical refresh frequency at 1024x768
  3398.     0000 43i Hz
  3399.     0001 60  Hz
  3400.     0010 70  Hz
  3401.     0011 72  Hz
  3402.     0100 76  Hz
  3403.     other reserved
  3404.  11-8    vertical refresh frequency at 800x600
  3405.     0000 56 Hz
  3406.     0001 60 Hz
  3407.     0010 72 Hz
  3408.     0011 75 Hz
  3409.     other reserved
  3410.  7-4    maximum vertical resolution
  3411.     0000 480  scanlines
  3412.     0001 600  scanlines
  3413.     0010 768  scanlines
  3414.     0011 1024 scanlines
  3415.     other reserved
  3416.  3-1    vertical refresh frequency at 1280x1024
  3417.     000 43i  Hz
  3418.     001 60   Hz
  3419.     010 71.2 Hz (CL-GD5434 rev. E and F)
  3420.     011 74   Hz (CL-GD5434 rev. E and F)
  3421.     other reserved
  3422.  0    reserved
  3423. SeeAlso: #0031
  3424. --------V-1012--BLA0-------------------------
  3425. INT 10 - Cirrus Logic BIOS - GET VIDEO MODE AVAILABILITY
  3426.     AH = 12h
  3427.     BL = A0h
  3428.     AL = video mode number (00h-7Fh)
  3429. Return: AH bit 0: video mode supported
  3430.     BX = offset of BIOS subroutine to fixup standard video parameters
  3431.         (call subroutine with DS:SI and ES:DI as returned by this call)
  3432.     DS:SI -> standard video parameters or FFFFh:FFFFh
  3433.     ES:DI -> supplemental video parameters or FFFFh:FFFFh
  3434. SeeAlso: AH=00h,AH=12h/BL=9Ah,AH=12h/BL=A1h
  3435. --------V-1012--BLA1-------------------------
  3436. INT 10 - Cirrus Logic BIOS - READ MONITOR TYPE AND ID FROM 15-PIN CONNECTOR
  3437.     AH = 12h
  3438.     BL = A1h
  3439. Return: BH = monitor ID (see #0032)
  3440.     BL = monitor type (00h color, 01h grayscale, 02h no display)
  3441. SeeAlso: AH=12h/BL=9Ah,AH=12h/BL=A2h
  3442.  
  3443. (Table 0032)
  3444. Values for Cirrus Logic monitor ID:
  3445.  00h-08h reserved
  3446.  09h    IBM 8604/8507 or equivalent
  3447.  0Ah    IBM 8514 or equivalent
  3448.  0Bh    IBM 8515 or equivalent
  3449.  0Dh    IBM 8503 or equivalent
  3450.  0Eh    IBM 8512/8513 or equivalent
  3451.  0Fh    no monitor
  3452. --------V-1012--BLA2-------------------------
  3453. INT 10 - Cirrus Logic BIOS - SET MONITOR HORIZONTAL RETRACE FREQUENCY
  3454.     AH = 12h
  3455.     BL = A2h
  3456.     AL = retrace rate
  3457.         00h standard VGA (31.5 kHz)
  3458.         01h 8514-compatible (31.5 kHz and 35.5 kHz interlaced)
  3459.         02h SuperVGA (31.5-35.1 kHz)
  3460.         03h extended SuperVGA (31.5-35.5 kHz)
  3461.         04h multi-frequency (31.5-37.8 kHz)
  3462.         05h extended multi-frequency (31.5-48.0 kHz)
  3463.         06h super multi-frequency (31.5-56.0 kHz)
  3464.         07h extended super multi-frequency (31.5-64.0 kHz)
  3465. Return: nothing
  3466. SeeAlso: AH=12h/BL=9Ah,AH=12h/BL=A0h,AH=12h/BL=A4h
  3467. --------V-1012--BLA3-------------------------
  3468. INT 10 - Cirrus Logic BIOS - SET VGA REFRESH
  3469.     AH = 12h
  3470.     BL = A3h
  3471.     AL = refresh rate for 640x480 (00h normal, 01h high)
  3472. Return: nothing
  3473. SeeAlso: AH=12h/BL=9Ah,AH=12h/BL=A4h
  3474. --------V-1012--BLA4-------------------------
  3475. INT 10 - Cirrus Logic BIOS - SET MONITOR TYPE
  3476.     AH = 12h
  3477.     BL = A4h
  3478.     AL = options 1
  3479.         bits 7-4 = vertical refresh at 640x480
  3480.         (0 = 60Hz, 1 = 72Hz, other reserved)
  3481.         bits 3-0 = maximum vertical resolution
  3482.         (0 = 480 scanlines, 1 = 600, 2 = 768, 3 = 1024, other reserved)
  3483.     BH = options 2
  3484.         bits 7-4 = vertical refresh at 1024x768
  3485.         (0=87Hz-int, 1=60Hz, 2=70Hz, 3=72Hz, 4=76Hz, other reserved)
  3486.         bits 3-0 = vertical refresh at 800x600
  3487.         (0 = 56Hz, 1 = 60Hz, 2 = 72Hz, other reserved)
  3488.     CH = options 3
  3489.         bits 7-4 = vertical refresh at 1280x1024
  3490.         (0=87Hz-int, 1=60Hz, 2=70Hz, other reserved)
  3491.         bits 3-0: reserved
  3492.     CL,DX reserved
  3493. Return: nothing
  3494. SeeAlso: AH=12h/BL=9Ah,AH=12h/BL=A3h
  3495. --------V-1012--BLAE-------------------------
  3496. INT 10 - Cirrus Logic BIOS - GET HIGH REFRESH
  3497.     AH = 12h
  3498.     BL = AEh
  3499. Return:    AL = result
  3500.         bits 7-1: reserved
  3501.         bit 0:    640x480 high refresh rate
  3502.               =0 72 Hz
  3503.               =1 75 Hz
  3504. SeeAlso: AH=12h/BL=9Ah,AH=12h/BL=A3h,AH=12h/BL=A4h,AH=12h/BL=AFh
  3505. --------V-1012--BLAF-------------------------
  3506. INT 10 - Cirrus Logic BIOS - SET HIGH REFRESH
  3507.     AH = 12h
  3508.     BL = AFh
  3509.     AL = option
  3510.         bits 7-1: reserved
  3511.         bit 0:    640x480 high refresh rate
  3512.               =0 72 Hz
  3513.               =1 75 Hz
  3514. Return: nothing
  3515. SeeAlso: AH=12h/BL=9Ah,AH=12h/BL=A3h,AH=12h/BL=A4h,AH=12h/BL=AEh
  3516. --------V-1012--BLBE-------------------------
  3517. INT 10 - Tseng ET-4000 BIOS v3.00 and v8.00 - BUG
  3518.     AH = 12h
  3519.     BL = BEh
  3520. Note:    due to an omitted end-of-list marker, these versions of the BIOS will
  3521.       crash the system on this function
  3522. --------V-1012--BLC6-------------------------
  3523. INT 10 - Tseng ET-4000 BIOS v3.00 and v8.00 - BUG
  3524.     AH = 12h
  3525.     BL = C6h
  3526. Note:    due to an omitted end-of-list marker, these versions of the BIOS will
  3527.       crash the system on this function
  3528. --------V-1012--BLF0-------------------------
  3529. INT 10 - Tseng ET-4000 BIOS v3.00 and v8.00 - BUG
  3530.     AH = 12h
  3531.     BL = F0h
  3532. Note:    due to an omitted end-of-list marker, these versions of the BIOS will
  3533.       crash the system on this function
  3534. --------V-1012--BLF1--------------------------
  3535. INT 10 - Tseng ET-4000 BIOS - GET/SET SCREEN REFRESH RATE
  3536.     AH = 12h
  3537.     BL = F1h
  3538.     AL = subfunction
  3539.         00h set refresh rate
  3540.         01h get refresh rate
  3541.     BH = video mode
  3542.         00h     640x480
  3543.         01h     800x600
  3544.         02h     1024x768
  3545.         03h     1280x1024
  3546.     CX = new refresh rate (see #0033) if AL = 00h
  3547. Return: AL = 12h if supported
  3548.         CX = current rate (for AL=00h, a changed CX indicates failure)
  3549.  
  3550. (Table 0033)
  3551. Values for Tseng ET4000 refresh rate:
  3552.  CX    640x480    800x600      1024x768/1280x1024
  3553.  00h    60 Hz     56 Hz       interlaced
  3554.  01h    72 Hz     60 Hz       60 Hz
  3555.  02h    75 Hz     72 Hz       70 Hz
  3556.  03h    90 Hz     75 Hz       75 Hz
  3557.  04h    --     90 Hz       --
  3558. --------V-1013-------------------------------
  3559. INT 10 - VIDEO - WRITE STRING (AT and later,EGA)
  3560.     AH = 13h
  3561.     AL = write mode
  3562.        bit 0: update cursor after writing
  3563.        bit 1: string contains alternating characters and attributes
  3564.        bits 2-7: reserved (0)
  3565.     BH = page number
  3566.     BL = attribute if string contains only characters
  3567.     CX = number of characters in string
  3568.     DH,DL = row,column at which to start writing
  3569.     ES:BP -> string to write
  3570. Return: nothing
  3571. Notes:    recognizes CR, LF, BS, and bell; for the ET4000 BIOS, scrolling,
  3572.       backspace, and CR only take place in the active page
  3573.     also available PC or XT with EGA or higher
  3574.     HP 95LX only supports write mode 00h
  3575.     IBM documents AL=10h,11h,20h,21h as "private" rather than "reserved"
  3576. BUG:    on the IBM VGA Adapter, any scrolling which may occur is performed on
  3577.       the active page rather than the requested page
  3578. SeeAlso: AH=09h,AH=0Ah,AH=13h"DOS/V"
  3579. --------J-1013-------------------------------
  3580. INT 10 - DOS/V - READ/WRITE DOUBLE-BYTE CHARACTER SET CHARACTERS/ATTRIBUTES
  3581.     AH = 13h
  3582.     AL = function
  3583.         10h read characters and standard attributes
  3584.         11h read characters and extended attributes
  3585.         12h write characters and standard attributes
  3586.         13h write characters and extended attributes
  3587.     BH = 00h
  3588.     CX = number of characters to transfer
  3589.     DH,DL = row,column at which to start transfer
  3590.     ES:BP -> buffer for/containing characters and attributes (see #0034)
  3591. Return: ES:BP buffer filled if reading
  3592. Program: DOS/V is a Japanese-language version of MS-DOS which can run on
  3593.       standard (non-Japanese) ATs and compatible equipped with a VGA or
  3594.       newer video adapter
  3595. Notes:    subfunctions 11h and 13h are only valid when DOS/V is using video
  3596.       mode 73h
  3597.     the cursor position is not changed by these functions
  3598.     extended attributes consist of three bytes; the first is the standard
  3599.       character attribute byte, the second is as described below, and the
  3600.       third is always zero in current versions
  3601. SeeAlso: AH=00h,AH=13h"VIDEO"
  3602.  
  3603. Bitfields for DOS/V second extended attribute byte:
  3604. Bit(s)    Description    (Table 0034)
  3605.  7    underline using foreground color
  3606.  6    reverse foreground/background specified in standard attribute byte
  3607.  5-4    unused
  3608.  3    vertical white grid line in cell
  3609.  2    horizontal white grid line in cell
  3610.  1-0    unused
  3611. SeeAlso: #0013,#0025
  3612. --------V-101400-----------------------------
  3613. INT 10 - VIDEO - LOAD USER-SPECIFIED LCD CHARACTER FONT (CONV,Compaq Port 386)
  3614.     AX = 1400h
  3615.     ES:DI -> character font
  3616.     BH = number of bytes per character
  3617.         08h or 10h (Compaq)
  3618.     BL = 00h load main font (block 0)
  3619.          01h load alternate font (block 1)
  3620.     CX = number of characters to store
  3621.     DX = character offset into RAM font area
  3622. Return: nothing
  3623. SeeAlso: AX=1100h,AX=1110h,AX=1401h
  3624. --------V-101401-----------------------------
  3625. INT 10 - VIDEO - LOAD SYSTEM ROM DEFAULT LCD CHARACTER FONT (CONV,CP386)
  3626.     AX = 1401h
  3627.     BL = font to load
  3628.         00h main font (block 0)
  3629.         01h alternate font (block 1)
  3630. Return: nothing
  3631. SeeAlso: AX=1100h,AX=1102h,AX=1400h
  3632. --------V-101402-----------------------------
  3633. INT 10 - VIDEO - SET MAPPING OF LCD HIGH INTENSITY ATTRIBUTES (CONV,CP386)
  3634.     AX = 1402h
  3635.     BL = subfunction
  3636.         00h ignore high intensity attribute
  3637.         01h map high intensity to reverse video
  3638.         02h map high intensity to underscore
  3639.         03h map high intensity to selected alternate font
  3640.         B0h half intensity (Compaq)
  3641.         B1h toggle active intensity bit interpretation (CP386)
  3642. Return: nothing
  3643. --------V-1015-------------------------------
  3644. INT 10 - VIDEO - GET PHYSICAL DISPLAY PARAMETERS (CONVERTIBLE)
  3645.     AH = 15h
  3646. Return: AX = alternate display adapter type (see #0035)
  3647.     ES:DI -> parameter table (see #0036)
  3648. SeeAlso: AH=1Bh
  3649.  
  3650. (Table 0035)
  3651. Values for PC Convertible alternate display adapter type:
  3652.  0000h    none
  3653.  5140h    LCD
  3654.  5153h    CGA
  3655.  5151h    mono
  3656.  
  3657. Format of PC Convertible display parameter table:
  3658. Offset    Size    Description    (Table 0036)
  3659.  00h    WORD    monitor model number
  3660.  02h    WORD    vertical pixels per meter
  3661.  04h    WORD    horizontal pixels per meter
  3662.  06h    WORD    total vertical pixels
  3663.  08h    WORD    total horizontal pixels
  3664.  0Ah    WORD    horizontal pixel separation in micrometers
  3665.         (width, center-to-center)
  3666.  0Ch    WORD    vertical pixel separation in micrometers
  3667.         (height, center-to-center)
  3668. --------V-1015-------------------------------
  3669. INT 10 - VIDEO - SET SUPERIMPOSE MODE (Sperry PC)
  3670.     AH = 15h
  3671.     AL = superimpose mode
  3672.         00h show graphics screen
  3673.         01h show text screen
  3674.         02h show text screen superimposed on graphics screen
  3675. Return: nothing
  3676. --------J-1018-------------------------------
  3677. INT 10 - VIDEO - DOS/V - GET/SET FONT PATTERN
  3678.     AH = 18h
  3679.     AL = subfunction
  3680.         00h get font pattern
  3681.         01h set font pattern
  3682.     BX = 0000h
  3683.     CL = character size in bytes (01h,02h)
  3684.     CH = 00h
  3685.     DH = character width in pixels
  3686.     DL = character height in pixels
  3687.     ES:DI -> buffer for/containing font image
  3688. Return: AL = status (00h successful, else error)
  3689.     ES:DI buffer filled for function 00h if successful
  3690. Note:    the supported font sizes are 8x16 single-byte, 8x19 single-byte,
  3691.       16x16 double-byte, and 24x24 double-byte
  3692. SeeAlso: AH=19h,INT 16/AH=14h
  3693. --------V-1019-------------------------------
  3694. INT 10 - Japanese VIDEO - DOUBLE-BYTE CHARACTER SET SHIFT INFORMATION
  3695.     AH = 19h
  3696.     ???
  3697. Return: ???
  3698. SeeAlso: AH=18h,INT 16/AH=14h
  3699. --------V-101A00-----------------------------
  3700. INT 10 - VIDEO - GET DISPLAY COMBINATION CODE (PS,VGA/MCGA)
  3701.     AX = 1A00h
  3702. Return: AL = 1Ah if function was supported
  3703.         BL = active display code (see #0037)
  3704.         BH = alternate display code (see #0037)
  3705. Notes:    this function is commonly used to check for the presence of a VGA
  3706.     this function is supported on the ATI EGA Wonder with certain
  3707.       undocumented configuration switch settings, even though the EGA
  3708.       Wonder does not support VGA graphics; to distinguish this case,
  3709.       call AX=1C00h with CX nonzero, which the EGA Wonder does not support
  3710. SeeAlso: AH=12h/BL=35h,AX=1A01h,AH=1Bh,AH=1Ch,MEM 0040h:008Ah
  3711. Index:    installation check;VGA
  3712.  
  3713. (Table 0037)
  3714. Values for display combination code:
  3715.  00h    no display
  3716.  01h    monochrome adapter w/ monochrome display
  3717.  02h    CGA w/ color display
  3718.  03h    reserved
  3719.  04h    EGA w/ color display
  3720.  05h    EGA w/ monochrome display
  3721.  06h    PGA w/ color display
  3722.  07h    VGA w/ monochrome analog display
  3723.  08h    VGA w/ color analog display
  3724.  09h    reserved
  3725.  0Ah    MCGA w/ digital color display
  3726.  0Bh    MCGA w/ monochrome analog display
  3727.  0Ch    MCGA w/ color analog display
  3728.  FFh    unknown display type
  3729. --------V-101A01-----------------------------
  3730. INT 10 - VIDEO - SET DISPLAY COMBINATION CODE (PS,VGA/MCGA)
  3731.     AX = 1A01h
  3732.     BL = active display code (see #0037)
  3733.     BH = alternate display code
  3734. Return: AL = 1Ah if function was supported
  3735. SeeAlso: AH=12h/BL=35h,AX=1A00h
  3736. --------V-101B-------------------------------
  3737. INT 10 - VIDEO - FUNCTIONALITY/STATE INFORMATION (PS,VGA/MCGA)
  3738.     AH = 1Bh
  3739.     BX = implementation type
  3740.         0000h return funtionality/state information
  3741.     ES:DI -> 64-byte buffer for state information (see #0038)
  3742. Return: AL = 1Bh if function supported
  3743.         ES:DI buffer filled with state information
  3744. BUG:    Trident 8900 (BIOS D3.0 11/12/91) and Trident 9000 (C3.0 10/25/91)
  3745.       do not correctly set the fields at offsets 27h and 29h of the
  3746.       state information
  3747. SeeAlso: AH=15h,AX=1A00h,AX=1F01h
  3748.  
  3749. Format of MCGA+ state information:
  3750. Offset    Size    Description    (Table 0038)
  3751.  00h    DWORD    address of static funtionality table (see #0043)
  3752.  04h    BYTE    video mode in effect
  3753.  05h    WORD    number of columns
  3754.  07h    WORD    length of regen buffer in bytes
  3755.  09h    WORD    starting address of regen buffer
  3756.  0Bh    WORD    cursor position for page 0
  3757.  0Dh    WORD    cursor position for page 1
  3758.  0Fh    WORD    cursor position for page 2
  3759.  11h    WORD    cursor position for page 3
  3760.  13h    WORD    cursor position for page 4
  3761.  15h    WORD    cursor position for page 5
  3762.  17h    WORD    cursor position for page 6
  3763.  19h    WORD    cursor position for page 7
  3764.  1Bh    WORD    cursor "type" (start/stop scan lines)
  3765.  1Dh    BYTE    active display page
  3766.  1Eh    WORD    CRTC port address
  3767.  20h    BYTE    current setting of PORT 03x8h
  3768.  21h    BYTE    current setting of PORT 03x9h
  3769.  22h    BYTE    number of rows - 1
  3770.  23h    WORD    bytes/character
  3771.  25h    BYTE    display combination code of active display
  3772.  26h    BYTE    DCC of alternate display
  3773.  27h    WORD    number of colors supported in current mode (0000h = mono)
  3774.  29h    BYTE    number of pages supported in current mode
  3775.  2Ah    BYTE    number of scan lines active
  3776.         (0,1,2,3) = (200,350,400,480)
  3777.         Tseng ET3000: (4,5,6 = 512,600,768)
  3778.  2Bh    BYTE    primary character block
  3779.  2Ch    BYTE    secondary character block
  3780.  2Dh    BYTE    miscellaneous flags (see #0039)
  3781.  2Eh    BYTE    non-VGA mode support (see #0040)
  3782.  2Fh  2 BYTEs    reserved (00h)
  3783.  31h    BYTE    video memory available
  3784.         00h = 64K, 01h = 128K, 02h = 192K, 03h = 256K
  3785.  32h    BYTE    save pointer state flags (see #0041)
  3786.  33h    BYTE    display information and status (see #0042)
  3787.  34h 12 BYTEs    reserved (00h)
  3788.  
  3789. Bitfields for miscellaneous flags:
  3790. Bit(s)    Description    (Table 0039)
  3791.  0    all modes on all displays on
  3792.  1    gray summing on
  3793.  2    monochrome display attached
  3794.  3    default palette loading disabled
  3795.  4    cursor emulation enabled
  3796.  5    0 = intensity; 1 = blinking
  3797.  6    flat-panel display is active
  3798.  7    unused (0)
  3799. SeeAlso: #0038
  3800.  
  3801. Bitfields for non-VGA mode support:
  3802. Bit(s)    Description    (Table 0040)
  3803.  7-5    reserved
  3804.  4    132-column mode supported
  3805.  3    =1 MFI attributes enabled (see AH=12h/BL=37h)
  3806.     =0 VGA attributes
  3807.  2    16-bit VGA graphics present
  3808.  1    adapter interface driver required
  3809.  0    BIOS supports information return for adapter interface
  3810. SeeAlso: #0038
  3811.  
  3812. Bitfields for save pointer state flags:
  3813. Bit(s)    Description    (Table 0041)
  3814.  0    512 character set active
  3815.  1    dynamic save area present
  3816.  2    alpha font override active
  3817.  3    graphics font override active
  3818.  4    palette override active
  3819.  5    DCC override active
  3820.  6-7    unused (0)
  3821. SeeAlso: #0038
  3822.  
  3823. Bitfields for display information and status:
  3824. Bit(s)    Description    (Table 0042)
  3825.  7    640x480 flat-panel can be used simultaneously with CRT controller
  3826.  6-3    reserved
  3827.  2    color display
  3828.  1    flat-panel display active
  3829.  0    flat-panel display attached
  3830. SeeAlso: #0038
  3831.  
  3832. Format of Static Functionality Table:
  3833. Offset    Size    Description    (Table 0043)
  3834.  00h    BYTE    modes supported 1
  3835.         bit 0 to bit 7 = 1 modes 0,1,2,3,4,5,6,7 supported
  3836.  01h    BYTE    modes supported 2
  3837.         bit 0 to bit 7 = 1 modes 8,9,0Ah,0Bh,0Ch,0Dh,0Eh,0Fh supported
  3838.  02h    BYTE    modes supported 3
  3839.         bit 0 to bit 3 = 1 modes 10h,11h,12h,13h supported
  3840.         bit 4 to bit 7 unused (0)
  3841.  03h    BYTE    (IBM) reserved
  3842.         (Tseng ET3000/4000) modes supported 4
  3843.                 bit 0 to bit 7 = modes 18h-1Fh supported
  3844.  04h    BYTE    (IBM) reserved
  3845.         (Tseng ET3000/4000) modes supported 5
  3846.                 bit 0 to bit 7 = modes 20h-27h supported
  3847.  05h    BYTE    (IBM) reserved
  3848.         (Tseng ET3000/4000) modes supported 6
  3849.                 bit 0 to bit 7 = modes 28h-2Fh supported
  3850.  06h    BYTE    (IBM) reserved
  3851.         (Tseng ET3000/4000) modes supported 7
  3852.                 bit 0 to bit 7 = modes 30h-37h supported
  3853.  07h    BYTE    scan lines supported
  3854.         bit 0 to bit 2 = 1 if scan lines 200,350,400 supported
  3855.         bits 3-7 = unused (0)
  3856.  08h    BYTE    total number of character blocks available in text modes
  3857.  09h    BYTE    maximum number of active character blocks in text modes
  3858.  0Ah    WORD    miscellaneous function support flags (see #0044)
  3859.  0Ch    WORD    reserved
  3860.  0Eh    BYTE    save pointer function flags (see #0045)
  3861.  0Fh    BYTE    reserved
  3862. SeeAlso: #0038
  3863.  
  3864. Bitfields for miscellaneous function support flags:
  3865. Bit(s)    Description    (Table 0044)
  3866.  0    all modes on all displays function supported
  3867.  1    gray summing function supported
  3868.  2    character font loading function supported
  3869.  3    default palette loading enable/disable supported
  3870.  4    cursor emulation function supported
  3871.  5    EGA palette present
  3872.  6    color palette present
  3873.  7    color-register paging function supported
  3874.  8    light pen supported (see AH=04h)
  3875.  9    save/restore state function 1Ch supported
  3876.  10    intensity/blinking function supported (see AX=1003h)
  3877.  11    Display Combination Code supported (see #0037)
  3878.  12-15    unused (0)
  3879. SeeAlso: #0038
  3880.  
  3881. Bitfields for save pointer function flags:
  3882. Bit(s)    Description    (Table 0045)
  3883.  0    512 character set supported
  3884.  1    dynamic save area supported
  3885.  2    alpha font override supported
  3886.  3    graphics font override supported
  3887.  4    palette override supported
  3888.  5    DCC extension supported
  3889.  6-7    unused (0)
  3890. SeeAlso: #0038
  3891. --------V-101C-------------------------------
  3892. INT 10 - VIDEO - SAVE/RESTORE VIDEO STATE (PS50+,VGA)
  3893.     AH = 1Ch
  3894.     AL = function
  3895.         00h return state buffer size
  3896.         Return: BX = number of 64-byte blocks needed
  3897.         01h save video state
  3898.         ES:BX -> buffer
  3899.         02h restore video state
  3900.         ES:BX -> buffer containing previously saved state
  3901.     CX = requested states (see #0046)
  3902. Return: AL = 1Ch if function supported
  3903. Notes:    many BIOSes corrupt the video registers when saving the state, so a
  3904.       program should restore the state immediately after saving it (the
  3905.       saved data is uncorrupted)
  3906.     the BIOS data area consists of the 96 bytes from 0040h:0049h-00A8h
  3907.     this function is not supported when DOS/V is running
  3908.     this function may be a better VGA installation check than the usual
  3909.       INT 10/AX=1A00h, since some late-model EGA cards (such as the ATI
  3910.       EGA Wonder) supported that call
  3911. SeeAlso: AX=1A00h,AX=5F90h,AX=5FA0h,MEM 0040h:00A8h
  3912.  
  3913. Bitfields for requested states:
  3914. Bit(s)    Description    (Table 0046)
  3915.  0    video hardware (see #0047)
  3916.  1    BIOS data areas
  3917.  2    color registers and DAC state (see #0048)
  3918.  3-15    unused (0)
  3919. SeeAlso: #3868
  3920.  
  3921. Format of VGA video hardware state:
  3922. Offset    Size    Description    (Table 0047)
  3923.  00h    BYTE    sequencer index register
  3924.  01h    BYTE    CRTC index register
  3925.  02h    BYTE    graphics controller index register
  3926.  03h    BYTE    attribute controller index register
  3927.  04h    BYTE    feature controller register
  3928.  05h  4 BYTEs    sequencer registers
  3929.  09h    BYTE    sequencer register 0
  3930.  0Ah 25 BYTEs    CRTC registers 0-8
  3931.  23h 16 BYTEs    palette registers 00h-0Fh
  3932.  33h  4 BYTEs    attribute registers 10h-13h
  3933.  37h  9 BYTEs    graphics controller registers 0-8
  3934.  40h    BYTE    CRTC base address (low)
  3935.  41h    BYTE    CRTC base address (high)
  3936.  42h    BYTE    plane 0 latch
  3937.  43h    BYTE    plane 1 latch
  3938.  44h    BYTE    plane 2 latch
  3939.  45h    BYTE    plane 3 latch
  3940.  
  3941. Format of VGA DAC state:
  3942. Offset    Size    Description    (Table 0048)
  3943.  00h    BYTE    read/write mode DAC
  3944.  01h    BYTE    pixel address
  3945.  02h    BYTE    pixel mask
  3946.  03h 768 BYTEs    color data (256 triples)
  3947. 303h    BYTE    color select register
  3948. --------J-101D-------------------------------
  3949. INT 10 - VIDEO - DOS/V - SHIFT STATUS LINE CONTROL
  3950.     AH = 1Dh
  3951.     AL = function
  3952.         00h enable shift status line(s)
  3953.         BX = number of lines to reserve at bottom of screen (usu. 1)
  3954.         01h disable shift status line
  3955.         BX = number of lines reserved at bottom of screen (usually 1)
  3956.         02h get number of status lines
  3957.         Return: BX = number of lines reserved for shift status
  3958. SeeAlso: AH=19h
  3959. --------V-101D-------------------------------
  3960. INT 10 - SpeedSTAR Plus BIOS v4.23+ - SET SYNC PARAMETERS
  3961.     AH = 1Dh
  3962.     AL = video mode
  3963.     ES = caller's segment
  3964. Return: nothing
  3965. Note:    the caller's segment contains at offset 5Ch (FCB field in PSP)
  3966.       or 100h a table with sync parameters (see #0049) (BIOS looks at both
  3967.       offsets)
  3968.  
  3969. Format of SpeedSTAR Plus sync table:
  3970. Offset    Size    Description    (Table 0049)
  3971.  00h  9 BYTEs    ID contains string 'ey5CENTER'
  3972.  09h  5 BYTEs    sync parameters for 640x480 modes 11h,12h,25h,26h,2Eh
  3973.  0Bh  5 BYTEs    sync parameters for 800x600 modes 29h,30h,2Ah
  3974.  13h  5 BYTEs    sync parameters for 1024x768 modes 37h,38h
  3975. --------V-101D-------------------------------
  3976. INT 10 - Tseng ET-4000 BIOS v3.00 and v8.00 - BUG
  3977.     AH = 1Dh
  3978. Note:    these versions of the BIOS jump to a random location on this function
  3979.       due to a fencepost error
  3980. --------V-101DAABXFDEC-----------------------
  3981. INT 10 U - Diamond Stealth64 Video - INSTALLATION CHECK
  3982.     AX = 1DAAh
  3983.     BX = FDECh
  3984. Return: BX = CDEFh if Diamond Stealth64 Video 2001-series video card installed
  3985.         AL = number of megabytes of video memory
  3986.         AH = card type??? (4Bh for VL-Bus/5Bh for PCI)
  3987.         CX = ??? (0000h)
  3988.         SI:DI -> signature/copyright string
  3989. --------V-101E00-----------------------------
  3990. INT 10 - VIDEO - FLAT-PANEL - READ INFORMATION
  3991.     AX = 1E00h
  3992. Return: AL = 1Eh if function supported
  3993.         BL = flat-panel status (see #0050)
  3994.         ES:DI -> information table (see #0051)
  3995. Note:    IBM classifies this function as optional
  3996. SeeAlso: AX=1E01h,AX=1E02h,AX=1E03h,AX=1E04h,AX=1E05h,AX=1EFEh
  3997.  
  3998. Bitfields for flat-panel status:
  3999. Bit(s)    Description    (Table 0050)
  4000.  7-3    reserved
  4001.  2    color display
  4002.  1    flat panel is active
  4003.  0    flat panel is attached
  4004. SeeAlso: #0051
  4005.  
  4006. Format of flat-panel information table:
  4007. Offset    Size    Description    (Table 0051)
  4008.  00h    BYTE    number of WORDs in the remainder of the table
  4009.  01h    WORD    number of vertical pixels per meter
  4010.  03h    WORD    number of horizontal pixels per meter
  4011.  05h    WORD    total number of vertical pixels
  4012.  07h    WORD    total number of horizontal pixels
  4013.  09h    WORD    vertical pixel separation in micrometers (center-to-center)
  4014.  0Bh    WORD    horizontal pixel separation in micrometers
  4015.  0Dh    WORD    range of gray levels available, less 1
  4016.  0Fh    WORD    number of red levels available, less 1 (0000h if nonochrome)
  4017.  11h    WORD    number of green levels available, less 1 (0000h if nonochrome)
  4018.  13h    WORD    number of blue levels available, less 1 (0000h if nonochrome)
  4019. SeeAlso: #0050
  4020. --------V-101E01-----------------------------
  4021. INT 10 - VIDEO - FLAT-PANEL - LCD/CRT DISPLAY CONTROL
  4022.     AX = 1E01h
  4023.     BH = function
  4024.         bit 7: =1 set display control, =0 query control
  4025.         bits 6-0: reserved (0)
  4026.     ---if BH bit 7 set---
  4027.     BL = new display combination (see #0052)
  4028. Return: AL = 1Eh if function supported
  4029.         BH = results
  4030.         bit 7: query/set (copied from input)
  4031.         bits 6-3: reserved (0)
  4032.         bit 2: simultaneous display is supported by hardware
  4033.         bit 1: LCD/CRT display control supported by hardware
  4034.         bit 0: set operation was successful (always clear on get)
  4035.         BL = active display combination (see #0052)
  4036. SeeAlso: AX=1E00h,AX=1E02h
  4037.  
  4038. Bitfields for Flat-Panel display combination:
  4039. Bit(s)    Description    (Table 0052)
  4040.  7-2    reserved (0)
  4041.  1-0    combination
  4042.     00 reserved
  4043.     01 LCD active
  4044.     10 CRT active
  4045.     11 both LCD and CRT active (simultaneous display)
  4046. SeeAlso: #0053
  4047. --------V-101E02-----------------------------
  4048. INT 10 - VIDEO - FLAT-PANEL - DISPLAY POSITION
  4049.     AX = 1E02h
  4050.     BH = function
  4051.         bit 7: =1 set display position, =0 query position
  4052.         bits 6-0: reserved (0)
  4053.     ---if BH bit 7 set---
  4054.     BL = new position setting (see #0053)
  4055. Return: AL = 1Eh if function supported
  4056.         BH = results
  4057.         bit 7: query/set (copied from input)
  4058.         bits 6-4: reserved (0)
  4059.         bit 3: positioning to top is supported by hardware
  4060.         bit 2: positioning to center is supported by hardware
  4061.         bit 1: positioning to bottom is supported by hardware
  4062.         bit 0: set operation was successful (always clear on get)
  4063.         BL = active position setting (see #0053)
  4064. SeeAlso: AX=1E00h,AX=1E01h
  4065.  
  4066. Bitfields for Flat-Panel position setting:
  4067. Bit(s)    Description    (Table 0053)
  4068.  7-2    reserved (0)
  4069.  1-0    position
  4070.     00 center
  4071.     01 top
  4072.     10 bottom
  4073.     11 reserved
  4074. SeeAlso: #0052,#0054
  4075. --------V-101E03-----------------------------
  4076. INT 10 - VIDEO - FLAT-PANEL - VERTICAL EXPANSION FOR TEXT/GRAPHICS MODES
  4077.     AX = 1E03h
  4078.     BH = function
  4079.         bit 7: =1 set vertical expansion, =0 query expansion
  4080.         bits 6-0: reserved (0)
  4081.     ---if BH bit 7 set---
  4082.     BL = new vertical expansion setting (see #0054)
  4083. Return: AL = 1Eh if function supported
  4084.         BH = results
  4085.         bit 7: query/set (copied from input)
  4086.         bits 6-4: reserved (0)
  4087.         bit 3: vertical expansion of text is supported by hardware
  4088.         bit 2: vertical expansion of graphics is supported by hardware
  4089.         bit 1: hardware supports independent control of expansion in
  4090.             text and graphics modes
  4091.         bit 0: set operation was successful (always clear on get)
  4092.         BL = active vertical expansion setting (see #0054)
  4093. SeeAlso: AX=1E00h,AX=1E02h.AX=1E04h
  4094.  
  4095. Bitfields for Flat-Panel vertical expansion setting:
  4096. Bit(s)    Description    (Table 0054)
  4097.  7-2    reserved (0)
  4098.  1    vertical expansion turned on for text modes
  4099.  0    vertical expansion turned on for graphics modes
  4100. SeeAlso: #0052,#0053,#0055
  4101. --------V-101E04-----------------------------
  4102. INT 10 - VIDEO - FLAT-PANEL - NORMAL/REVERSE VIDEO FOR TEXT/GRAPHICS MODES
  4103.     AX = 1E04h
  4104.     BH = function
  4105.         bit 7: =1 set normal/reverse video, =0 query normal/reverse
  4106.         bits 6-0: reserved (0)
  4107.     ---if BH bit 7 set---
  4108.     BL = new normal/reverse video setting (see #0055)
  4109. Return: AL = 1Eh if function supported
  4110.         BH = results
  4111.         bit 7: query/set (copied from input)
  4112.         bits 6-4: reserved (0)
  4113.         bit 3: hardware supports reverse video for text modes
  4114.         bit 2: hardware supports reverse video for graphics modes
  4115.         bit 1: hardware supports independent control of reverse video
  4116.               in text and graphics modes
  4117.         bit 0: set operation was successful (always clear on get)
  4118.         BL = active normal/reverse video setting (see #0055)
  4119. SeeAlso: AX=1E00h,AX=1E03h,AX=1E05h
  4120.  
  4121. Bitfields for Flat-Panel normal/reverse video setting:
  4122. Bit(s)    Description    (Table 0055)
  4123.  7-2    reserved (0)
  4124.  1    reverse video for text
  4125.  0    reverse video for graphics
  4126. SeeAlso: #0052,#0054,#0056,#0057
  4127. --------V-101E05-----------------------------
  4128. INT 10 - VIDEO - FLAT-PANEL - BRIGHTNESS CONTROL
  4129.     AX = 1E05h
  4130.     BH = function
  4131.         bit 7: =1 set brightness, =0 query brightness
  4132.         bits 6-0: reserved (0)
  4133.     ---if BH bit 7 set---
  4134.     BL = new brightness setting (see #0056)
  4135. Return: AL = 1Eh if function supported
  4136.         BH = results
  4137.         bit 7: query/set (copied from input)
  4138.         bits 6-2: reserved (0)
  4139.         bit 1: software brightness control is supported
  4140.         bit 0: set operation was successful (always clear on get)
  4141.         BL = active brightness setting (see #0056)
  4142. Note:    this function operates independently of AX=1E07h
  4143. SeeAlso: AX=1E00h,AX=1E04h,AX=1E06h,AX=1E07h
  4144.  
  4145. Bitfields for Flat-Panel brightness control:
  4146. Bit(s)    Description    (Table 0056)
  4147.  7-1    reserved (0)
  4148.  0    high brightness
  4149. SeeAlso: #0055,#0057
  4150. --------V-101E06-----------------------------
  4151. INT 10 - VIDEO - FLAT-PANEL - CONTRAST CONTROL FOR TEXT/GRAPHICS
  4152.     AX = 1E06h
  4153.     BH = function
  4154.         bit 7: =1 set contrast control, =0 query contrast
  4155.         bits 6-0: reserved (0)
  4156.     ---if BH bit 7 set---
  4157.     BL = new normal/reverse video setting (see #0057)
  4158. Return: AL = 1Eh if function supported
  4159.         BH = results
  4160.         bit 7: query/set (copied from input)
  4161.         bits 6-4: reserved (0)
  4162.         bit 3: software contrast control supported for text
  4163.         bit 2: software contrast control supported for graphics
  4164.         bit 1: hardware supports independent control of contrast
  4165.               in text and graphics modes
  4166.         bit 0: set operation was successful (always clear on get)
  4167.         BL = active contrast setting (see #0057)
  4168. Note:    this function operates independently of AX=1E08h
  4169. SeeAlso: AX=1E00h,AX=1E04h,AX=1E05h,AX=1E07h,AX=1E08h
  4170.  
  4171. Bitfields for Flat-Panel contrast control:
  4172. Bit(s)    Description    (Table 0057)
  4173.  7-2    reserved (0)
  4174.  1    high contrast for text
  4175.  0    high contrast for graphics
  4176. SeeAlso: #0055,#0056
  4177. --------V-101E07-----------------------------
  4178. INT 10 - VIDEO - FLAT-PANEL - BRIGHTNESS SETTING
  4179.     AX = 1E07h
  4180.     BH = function
  4181.         bit 7: =1 set brightness control, =0 query brightness
  4182.         bit 6: use standard brightness
  4183.         bits 5-0: reserved (0)
  4184.     ---if BH bits 7,6=10---
  4185.     BL = brightness (00h = minimum, FFh = maximum)
  4186. Return: AL = 1Eh if function supported
  4187.         BH = results
  4188.         bit 7: query/set (copied from input)
  4189.         bit 6: standard/custom (copied from input)
  4190.         bits 5-2: reserved (0)
  4191.         bit 1: software brightness control is supported
  4192.         bit 0: set operation was succesful (always clear on get)
  4193.         BL = brightness (00h = minimum, FFh = maximum)
  4194. Note:    this function operates independently of AX=1E05h
  4195. SeeAlso: AX=1E00h,AX=1E05h,AX=1E08h
  4196. --------V-101E08-----------------------------
  4197. INT 10 - VIDEO - FLAT-PANEL - CONTRAST SETTING
  4198.     AX = 1E08h
  4199.     BH = function
  4200.         bit 7: =1 set contrast control, =0 query contrast
  4201.         bit 6: use standard contrast
  4202.         bits 5-0: reserved (0)
  4203.     ---if BH bits 7,6=10---
  4204.     BL = contrast (00h = minimum, FFh = maximum)
  4205. Return: AL = 1Eh if function supported
  4206.         BH = results
  4207.         bit 7: query/set (copied from input)
  4208.         bit 6: standard/custom (copied from input)
  4209.         bits 5-2: reserved (0)
  4210.         bit 1: software contrast control is supported
  4211.         bit 0: set operation was succesful (always clear on get)
  4212.         BL = contrast (00h = minimum, FFh = maximum)
  4213. Note:    this function operates independently of AX=1E06h
  4214. SeeAlso: AX=1E00h,AX=1E06h,AX=1E07h
  4215. --------V-101EFE-----------------------------
  4216. INT 10 - VIDEO - FLAT-PANEL - FUNCTION SUPPORT FLAG
  4217.     AX = 1EFEh
  4218.     ES:DI -> DWORD buffer for bitmap of supported functions
  4219.         (set to all zeros before calling)
  4220. Return: ES:DI buffer updated with mask of supported functions
  4221. Index:    installation check;flat-panel display support
  4222. SeeAlso: AX=1E00h,AX=1E06h
  4223. --------V-101F00-----------------------------
  4224. INT 10 - VIDEO - XGA - GET DMQS (Display Mode Query and Set) DATA LENGTH
  4225.     AX = 1F00h
  4226. Return: AL = 1Fh if supported
  4227.         BX = number of bytes of DMQS data
  4228. Note:    not supported on the original IBM XGA, only on XGA-NI (non-interlaced)
  4229.       and later models.
  4230. SeeAlso: AX=1F01h
  4231. --------V-101F01-----------------------------
  4232. INT 10 - VIDEO - XGA - READ DMQS DATA
  4233.     AX = 1F01h
  4234.     ES:DI -> user buffer for return data (call AX=1F00h for size)
  4235. Return: AL = 1Fh if function supported
  4236.     user buffer filled with DMQS data (see #0058)
  4237. Note:    not supported on the original IBM XGA, only on XGA-NI (non-interlaced)
  4238.       and later models.
  4239. SeeAlso: AH=1Bh,AX=1F00h,AX=3000h
  4240.  
  4241. Format of XGA DMQS buffer:
  4242. Offset    Size    Description    (Table 0058)
  4243.  00h    WORD    offset (in bytes) to DMQS data for next XGA instance
  4244.  02h    BYTE    slot number
  4245.  03h    BYTE    XGA implementation function level identifier
  4246.  04h    BYTE    XGA implementation resolution level identifier
  4247.  05h    WORD    vendor identifier - identifies card vendor
  4248.  07h    WORD    vendor defined field
  4249.  09h    WORD    XGA adapter I/O register base address
  4250.  0Bh    WORD    XGA coprocessor register base address
  4251.         (paragraph--multiply by 10h to get physical address)
  4252.  0Dh    WORD    1 Megabyte system video memory aperture
  4253.         0000h if not allocated
  4254.         (Multiply by 100000h to get physical address)
  4255.  0Fh    WORD    4 Megabyte system video memory aperture
  4256.         0000h if not allocated
  4257.         (multiply by 100000h to get physical address)
  4258.  11h    WORD    video memory base address
  4259.         (multiply by 100000h to get physical address)
  4260.  13h    WORD    composite ID of the attached display
  4261.  15h    BYTE    amount of video memory available, in multiples of 256K bytes
  4262.  16h    DWORD    alternate XGA coprocessor register base address.  0 = none.
  4263.  1Ah    var    DMQS Data for further XGA Instances (as above)
  4264. Note:    "Instances" refers to the capability of having up to 8 XGA
  4265.       adapters in one computer.
  4266. SeeAlso: #0059
  4267. --------V-101F02-----------------------------
  4268. INT 10 - VIDEO - XGA - GET SVGA DMQS DATA LENGTH
  4269.     AX = 1F02h
  4270. Return: AL = 1Fh if function supported
  4271.         BX = length of SVGA DMQS data in bytes
  4272. SeeAlso: AX=1F00h,AX=1F03h
  4273. --------V-101F03-----------------------------
  4274. INT 10 - VIDEO - XGA - GET SVGA DMQS DATA
  4275.     AX = 1F03h
  4276.     ES:DI -> buffer for SVGA DMQS data (see #0059)
  4277. Return: AL = 1Fh if function supported
  4278.         ES:DI buffer filled
  4279. SeeAlso: AX=1F00h,AX=1F02h
  4280.  
  4281. Format of SVGA DMQS data:
  4282. Offset    Size    Description    (Table 0059)
  4283.  00h    WORD    offset to DMQS data for next SVGA instance or 0000h
  4284.  02h    BYTE    reserved
  4285.  03h    BYTE    SVGA implementation functional level
  4286.  04h    BYTE    SVGA implementation resolution level
  4287.  05h    WORD    vendor ID
  4288.  07h    WORD    vendor-specific
  4289.  09h  7 BYTEs    reserved
  4290.  10h    BYTE    SVGA linear address window size
  4291.         00h 64K
  4292.         01h 1M
  4293.         02h 2M
  4294.         03h 4M
  4295.  11h    WORD    SVGA linear address window location or 0000h if not allocated
  4296.         (multiply by 10000h [shift left 16 bits] to get physical addr)
  4297.  13h    WORD    attached monitor's composite monitor ID
  4298.  15h    BYTE    available video RAM in multiples of 256K
  4299.  16h 11 BYTEs    reserved
  4300. SeeAlso: #0058
  4301. --------V-103000CX0000-----------------------
  4302. INT 10 - VIDEO - LOCATE 3270PC CONFIGURATION TABLE (INSTALLATION CHECK)
  4303.     AX = 3000h
  4304.     CX = 0000h
  4305.     DX = 0000h
  4306. Return: CX:DX -> 3270PC configuration table (see #0060)
  4307.     CX:DX = 0000h:0000h if 3270PC Control Program not active
  4308. SeeAlso: AX=1F01h
  4309.  
  4310. Format of 3270 PC configuration table:
  4311. Offset    Size    Description    (Table 0060)
  4312.  00h    BYTE    aspect ratio X
  4313.  01h    BYTE    aspect ratio Y
  4314.  02h    BYTE    monitor type (see #0061)
  4315.  03h    BYTE    reserved
  4316.  04h    BYTE    adapter ID
  4317.         00h = 5151/5272 adapter
  4318.         04h = 5151/5272 with XGA adapter
  4319.         30h = 3295 or 3270PC G/GX adapter
  4320.  05h    BYTE    reserved
  4321.  06h    BYTE    function flags 1 (see #0062)
  4322.  07h    BYTE    function flags 2
  4323.         bit 6: GPI graphics supported
  4324.  08h    WORD    segment address of Control Program Level table (see #0063)
  4325.  0Ah 10 BYTEs    reserved
  4326.  
  4327. (Table 0061)
  4328. Values for 3270 PC monitor type:
  4329.  00h    5151 (mono) or 5272 (color)
  4330.  01h    3295
  4331.  02h    5151 or 5272 with XGA (???) graphics adapter
  4332.  03h    5279 with 3270PC G adapter
  4333.  04h    5379 model C01 with 3270PC GX adapter
  4334.  05h    5379 model M01 with 3270PC GX adapter
  4335.  07h    non-3270PC with 3270 Workstation Program
  4336.  FFh    3270PC Control Program not loaded
  4337.  
  4338. Bitfields for 3270 PC function flags 1:
  4339. Bit(s)    Description    (Table 0062)
  4340.  7    mono text, 1 page
  4341.  6    color text, 1 page
  4342.  5    color text, 4 pages
  4343.  4    CGA color graphics
  4344.  3    720x350 two-color graphics
  4345.  2    360x350 four-color graphics
  4346.  1    720x350 eight-color graphics
  4347.  
  4348. Format of Control Program Level table:
  4349. Offset    Size    Description    (Table 0063)
  4350.  00h    WORD    program version
  4351.         02xxh = 3270PC Control Program v2.xx
  4352.         03xxh = 3270PC Control Program v3.xx
  4353.         04xxh = 3270 Workstation Program v1.xx
  4354.  02h    BYTE    Control Program ID (00h)
  4355.  03h 27 BYTEs    Control Program Descriptor ("IBM 3270 PC CONTROL PROGRAM")
  4356. --------a-103800-----------------------------
  4357. INT 10 - Tinytalk Personal v1.09f+ - GET CONFIGURATION INFO
  4358.     AX = 3800h
  4359. Return: ES:DI -> configuration info (see #0064)
  4360. Program: Tinytalk is a shareware screen reader by OMS Development/Eric Bohlman
  4361. Notes:    this call is also used as the installation check by verifying that the
  4362.       returned ES:DI points at valid configuration info
  4363.     Tinytalk v1.09f ignores AL and always returns the configuration info;
  4364.       v1.10 adds several subfunctions selected with AL
  4365. SeeAlso: AX=3801h,AX=3803h,AX=3806h,AH=39h,INT 14/AX=F0F1h
  4366. SeeAlso: INT 2F/AX=FB00h"AutoBraille"
  4367. Index:    installation check;Tinytalk Personal
  4368.  
  4369. Format of Tinytalk Personal configuration info:
  4370. Offset    Size    Description    (Table 0064)
  4371.  00h  8 BYTEs    signature "TTCONFIG"
  4372.  08h    WORD    size of configuration data, not counting signature, this WORD,
  4373.           or the following byte
  4374.  0Ah    BYTE    ???
  4375.  0Bh    ???    configuration data
  4376. --------a-103801-----------------------------
  4377. INT 10 - Tinytalk Personal v1.10 - ???
  4378.     AX = 3801h
  4379.     DL = ???
  4380. Return: ???
  4381. SeeAlso: AX=3800h,AX=3802h
  4382. --------a-103802-----------------------------
  4383. INT 10 - Tinytalk Personal v1.10 - ???
  4384.     AX = 3802h
  4385.     DL = ???
  4386. Return: ???
  4387. SeeAlso: AX=3800h,AX=3801h
  4388. --------a-103803-----------------------------
  4389. INT 10 - Tinytalk Personal v1.10 - GET ???
  4390.     AX = 3803h
  4391. Return: AL = ???
  4392. SeeAlso: AX=3800h,AX=3804h,AX=3805h
  4393. --------a-103804-----------------------------
  4394. INT 10 - Tinytalk Personal v1.10 - GET ???
  4395.     AX = 3804h
  4396. Return: AX = ???
  4397. SeeAlso: AX=3800h,AX=3803h,AX=3805h
  4398. --------a-103805-----------------------------
  4399. INT 10 - Tinytalk Personal v1.10 - GET ???
  4400.     AX = 3805h
  4401. Return: AL = ???
  4402. SeeAlso: AX=3800h,AX=3803h,AX=3804h
  4403. --------a-103806-----------------------------
  4404. INT 10 - Tinytalk Personal v1.10 - ???
  4405.     AX = 3806h
  4406.     ES:DX -> ASCIZ ???
  4407. Return: ???
  4408. SeeAlso: AX=3800h
  4409. --------a-1039-------------------------------
  4410. INT 10 - Tinytalk Personal v1.10 - ???
  4411.     AH = 39h
  4412. Program: Tinytalk is a shareware screen reader by OMS Development/Eric Bohlman
  4413. Note:    this function was a NOP in TTDEMO.EXE, but may be implemented in other
  4414.       variants of Tinytalk
  4415. --------V-1040-------------------------------
  4416. INT 10 - VIDEO - Hercules GRAFIX - "GMODE" - SET GRAPHICS MODE
  4417.     AH = 40h
  4418. Return: nothing
  4419. Desc:    switch the Hercules Graphics Card into graphics mode (720x348)
  4420. SeeAlso: AH=00h,AH=41h
  4421. Index:    video modes;Hercules
  4422. --------V-1041-------------------------------
  4423. INT 10 - VIDEO - Hercules GRAFIX - "TMODE" - SET TEXT MODE
  4424.     AH = 41h
  4425. Return: nothing
  4426. Desc:    switch the Hercules Graphics Card into text mode
  4427. SeeAlso: AH=00h,AH=40h
  4428. Index:    video modes;Hercules
  4429. --------V-1042-------------------------------
  4430. INT 10 - VIDEO - Hercules GRAFIX - "CLRSCR" - CLEAR CURRENT PAGE
  4431.     AH = 42h
  4432. Return: nothing
  4433. SeeAlso: AH=45h
  4434. --------V-1043-------------------------------
  4435. INT 10 - VIDEO - Hercules GRAFIX - "GPAGE" - SELECT DRAWING PAGE
  4436.     AH = 43h
  4437.     AL = page number (0,1)
  4438. Return: nothing
  4439. Desc:    specify which of the two pages of video memory is to be used for
  4440.       output
  4441. SeeAlso: AH=05h,AH=44h,AH=45h
  4442. --------V-1044-------------------------------
  4443. INT 10 - VIDEO - Hercules GRAFIX - "LEVEL" - SELECT DRAWING FUNCTION
  4444.     AH = 44h
  4445.     AL = drawing function
  4446.         00h clear pixels
  4447.         01h set pixels
  4448.         02h invert pixels
  4449. Return: nothing
  4450. Desc:    specify how graphics output will change the display
  4451. SeeAlso: AH=45h,AH=46h,AH=4Ch,AH=4Dh
  4452. --------V-1045-------------------------------
  4453. INT 10 - VIDEO - Hercules GRAFIX - "DISP" - SELECT PAGE TO DISPLAY
  4454.     AH = 45h
  4455.     AL = page number (0,1)
  4456. Return: nothing
  4457. Desc:    specify which of the two pages of video memory is visible on screen
  4458. SeeAlso: AH=05h,AH=42h,AH=43h
  4459. --------V-1046-------------------------------
  4460. INT 10 - VIDEO - Hercules GRAFIX - "PLOT" - DRAW ONE PIXEL
  4461.     AH = 46h
  4462.     DI = x (0-719)
  4463.     BP = y (0-347)
  4464. Return: nothing
  4465. Notes:    function 44h determines operation and function 43h which page to use
  4466.     if the indicated coordinate is valid, this function does nothing
  4467. SeeAlso: AH=0Ch,AH=47h,AH=49h,AH=4Ch,AH=4Dh
  4468. --------V-1047-------------------------------
  4469. INT 10 - VIDEO - Hercules GRAFIX - "GETPT" - FIND PIXEL VALUE
  4470.     AH = 47h
  4471.     DI = x (0-719)
  4472.     BP = y (0-347)
  4473. Return: AL = 00h pixel clear
  4474.     AL = 01h pixel set
  4475. Note:    function 43h specifies which page is used
  4476. SeeAlso: AH=0Dh,AH=46h
  4477. --------V-1048-------------------------------
  4478. INT 10 - VIDEO - Hercules GRAFIX - "MOVE" - MOVE TO POINT
  4479.     AH = 48h
  4480.     DI = x (0-719)
  4481.     BP = y (0-347)
  4482. Return: nothing
  4483. Desc:    specify the location from which to start the next graphics output
  4484. SeeAlso: AH=49h
  4485. --------V-1049-------------------------------
  4486. INT 10 - VIDEO - Hercules GRAFIX - "DLINE" - DRAW TO POINT
  4487.     AH = 49h
  4488.     DI = x (0-719)
  4489.     BP = y (0-347)
  4490. Return: nothing
  4491. Note:    function 48h or 49h specify first point, 44h operation and 43h page to
  4492.       use
  4493. SeeAlso: AH=43h,AH=44h,AH=48h,AH=4Ch,AH=4Dh
  4494. --------V-104A-------------------------------
  4495. INT 10 - VIDEO - Hercules GRAFIX - "BLKFIL" - BLOCK FILL
  4496.     AH = 4Ah
  4497.     DI = x coordinate of lower left corner
  4498.     BP = y coordinate of lower left corner
  4499.     BX = height in pixels
  4500.     CX = width in pixels
  4501. Return: nothing
  4502. Desc:    draw a solid rectangle of the specified size at the given location
  4503. SeeAlso: AH=4Eh
  4504. --------V-104B-------------------------------
  4505. INT 10 - VIDEO - Hercules GRAFIX - "TEXT" - DISPLAY CHARACTER
  4506.     AH = 4Bh
  4507.     AL = character to display
  4508.     DI = x (0-719)
  4509.     BP = y (0-347)
  4510. Return: nothing
  4511. Notes:    unlike the other BIOS character functions character position is
  4512.       specified in pixels rather than rows and columns
  4513.     the character is writting using the drawing function last specified by
  4514.       AH=44h
  4515. SeeAlso: AH=09h,AH=0Ah
  4516. --------P-104B-------------------------------
  4517. INT 10 - FRIEZE - API
  4518.     AH = 4Bh
  4519.     CL = function
  4520.         00h (v6.x-) print window
  4521.         AL = mode
  4522.             00h character
  4523.             01h normal
  4524.             02h sideways
  4525.         01h load window
  4526.         ES:BX -> ASCIZ filename from which to read
  4527.         02h save window
  4528.         ES:BX -> ASCIZ filename to which to write
  4529.         03h set print width
  4530.         AL = width in 1/4 inches
  4531.         04h set print height
  4532.         AL = height in 1/4 inches
  4533.         05h reserved
  4534.         06h set left margin
  4535.         AL = printout margin in 1/4 inches
  4536.         07h set window size
  4537.         ES:BX -> four-WORD structure with Xmin, Ymin, Xmax, Ymax
  4538.         08h reserved
  4539.         09h set patterns
  4540.         ES:BX -> 16-BYTE vector of screen->printer color correspondnces
  4541.         0Ah get patterns
  4542.         ES:BX -> 16-BYTE buffer for color correspondences
  4543.         0Bh set mode
  4544.         AL = mode
  4545.         0Ch (v7.41) ???
  4546.         AL = ???
  4547.             00h ??? (calls original INT 05)
  4548.             else ???
  4549.         0Dh (v7.41) ???
  4550.         AL = ???
  4551.             00h ??? (calls original INT 05)
  4552.             else ???
  4553.         0Eh (v7.41) ???
  4554.         ???
  4555.         0Fh get window
  4556.         ES:BX -> four-WORD buffer for Xmin, Ymin, Xmax, Ymax
  4557.         10h set print options
  4558.         ES:BX -> printer options in same format as FRIEZE cmdline
  4559.         11h initialize
  4560.         ES:BX -> three-WORD array from CARDS.DAT for HRes, VRes, code
  4561.         12h (v7.41) ???
  4562.         ???
  4563.         13h (v7.41) ???
  4564.         ???
  4565.         14h get version
  4566.         Return: AH = major version (00h if FRIEZE version before 7)
  4567.             AL = minor version
  4568.         15h set parameters
  4569.         ES:BX -> parameter table (see #0066)
  4570.         16h get parameters
  4571.         ES:BX -> buffer for parameter table (see #0066)
  4572.         17h get printer resolution
  4573.         ES:BX -> 12-WORD table for six horizontal/vertical resol pairs
  4574.         18h (v8.0 only) reserved
  4575.         50h (v7.41) get ???
  4576.         Return: AX = ???
  4577.         51h (v7.41) get ???
  4578.         Return: ES = ??? (seen 2348h)
  4579.             AX = ??? (seen 8432h)
  4580. Return: AX = status (see #0065)
  4581. SeeAlso: AH=0Fh/SI=F123h
  4582.  
  4583. (Table 0065)
  4584. Values for FRIEZE function status:
  4585.  00h    successful
  4586.  01h    user aborted printout with ESC
  4587.  02h    reserved
  4588.  03h    file read error
  4589.  04h    file write error or printer error
  4590.  05h    file not found
  4591.  06h    invalid header (not an image or wrong screen mode) or can't create file
  4592.  07h    file close error
  4593.  08h    disk error
  4594.  09h    (v7.0+) printer error
  4595.  0Ah    invalid function
  4596.  0Bh    (v7.0+) can't create file
  4597.  0Ch    (v7.0+) wrong video mode
  4598.  
  4599. Format of FRIEZE parameter table:
  4600. Offset    Size    Description    (Table 0066)
  4601.  00h    WORD    top margin (1/100 inch)
  4602.  02h    WORD    left margin (1/100 inch)
  4603.  04h    WORD    horizontal size (1/100 inch)
  4604.  06h    WORD    vertical size (1/100 inch)
  4605.  08h    WORD    quality/draft mode
  4606.         00h draft mode
  4607.         01h quality mode
  4608.         02h use horizontal/vertical resolution for output resolution
  4609.  0Ah    WORD    printer horizontal resolution (dots per inch)
  4610.  0Ch    WORD    printer vertical resolution (dots per inch)
  4611.  0Eh    WORD    reserved (FFFFh)
  4612. Note:    any field which should remain unchanged may be filled with FFFFh
  4613. --------V-104C-------------------------------
  4614. INT 10 - VIDEO - Hercules GRAFIX - "ARC" - DRAW ARC
  4615.     AH = 4Ch
  4616.     AL = quadrant (1 = upper right, 2 = upper left, etc)
  4617.     DI = x coordinate of center
  4618.     BP = y coordinate of center
  4619.     BX = radius
  4620. Return: nothing
  4621. SeeAlso: AH=49h,AH=4Dh
  4622. --------V-104D-------------------------------
  4623. INT 10 - VIDEO - Hercules GRAFIX - "CIRC" - DRAW CIRCLE
  4624.     AH = 4Dh
  4625.     DI = x of center
  4626.     BP = y of center
  4627.     BX = radius
  4628. Return: nothing
  4629. SeeAlso: AH=49h,AH=4Ch
  4630. --------V-104E-------------------------------
  4631. INT 10 - VIDEO - Hercules GRAFIX - "FILL" - FILL AREA
  4632.     AH = 4Eh
  4633.     DI = x coordinate of an interior point
  4634.     BP = y coordinate of an interior point
  4635. Return: nothing
  4636. Desc:    fill a convex polygonal area bounded by a contiguous line of the
  4637.       opposite color with the border color
  4638. Note:    the first fill makes the figure solid, the second erases it
  4639. SeeAlso: AH=4Ah
  4640. --------V-104E00-----------------------------
  4641. INT 10 - VESA XGA BIOS Extensions - GET XGA ENVIRONMENT INFORMATION
  4642.     AX = 4E00h
  4643.     ES:DI -> 256-byte buffer for XGA information (see #0067)
  4644. Return: AL = 4Eh if function supported
  4645.         AH = status
  4646.         00h successful
  4647.         else error code
  4648. Desc:    determine whether VESA XGA extensions are present and the capabilities
  4649.       supported by the display adapter
  4650. SeeAlso: AX=4E01h,AX=4E02h,AX=4F00h
  4651. Index:    installation check;VESA XGA
  4652.  
  4653. Format of XGA information buffer:
  4654. Offset    Size    Description    (Table 0067)
  4655.  00h  4 BYTEs    signature ("VESA")
  4656.  04h    WORD    VESA version number
  4657.  06h    DWORD    pointer to ASCIZ OEM string
  4658.  0Ah    DWORD    environment flags (see #0068)
  4659.  0Eh    WORD    number of XGA adapters installed (other VESA XGA functions
  4660.           require a handle indicating which adapter to use)
  4661.  10h 240 BYTEs    reserved
  4662.  
  4663. Bitfields for XGA environment flags:
  4664. Bit(s)    Description    (Table 0068)
  4665.  0-1    system bus (00 = MCA, 01 = ISA, 10 = EISA)
  4666.  2    bus mastering available
  4667.  3-31    reserved
  4668. --------V-104E01----------------------------
  4669. INT 10 - VESA XGA BIOS Extensions - RETURN XGA SUBSYSTEM INFORMATION
  4670.     AX = 4E01h
  4671.     DX = XGA handle (0 to number of XGAs-1)
  4672.     ES:DI -> 256-byte buffer for subsystem information (see #0069)
  4673. Return: AL = 4Eh if function supported
  4674.     AH = status
  4675.         00h     function successful
  4676.         else error code
  4677. SeeAlso: AX=4E00h,AX=4E02h
  4678.  
  4679. Format of XGA subsystem information:
  4680. Offset    Size    Description    (Table 0069)
  4681.  00h    DWORD    pointer to null-terminated board OEM string
  4682.  04h    DWORD    capabilities (see #0070)
  4683.  08h    DWORD    pointer to 8KB XGA ROM (or NULL)
  4684.  0Ch    DWORD    pointer to the XGA memory mapped registers
  4685.  10h    WORD    base address of XGA I/O registers (21x0h)
  4686.  12h    DWORD    pointer to start of physical video memory
  4687.         (A000h:0000h or B000h:0000h)
  4688.  16h    DWORD    physical address of 4MB aperture (or NULL if none)
  4689.  1Ah    DWORD    physical address of 1MB aperture (or NULL if none)
  4690.  1Eh    DWORD    physical address of 64KB aperture (or NULL if not enabled)
  4691.  22h    DWORD    physical address of OEM aperture (or NULL if none)
  4692.  26h    WORD    size of OEM aperture in 64KByte units
  4693.  28h    DWORD    pointer to list of video modes
  4694.         The list is a series of WORDs terminated by FFFFh
  4695.  2Ch    WORD    number of 64KB blocks on the board
  4696.  2Eh    DWORD    XGA manufacturer ID
  4697.         byte 0 POS data index 1
  4698.         byte 1 is index 2
  4699.         byte 2 is 21xAh index 75h
  4700.  32h 206 BYTEs    reserved
  4701.  
  4702. Bitfields for XGA capabilities:
  4703. Bit(s)    Description    (Table 0070)
  4704.  0-1    board bus architecture: 0=MCA, 1=ISA, 3=EISA
  4705.  2-3    reserved
  4706.  4-6    DMA Channel assigned for acquiring bus mastership (only for ISA bus)
  4707.  7    DMA Channel Status (ISA only). enabled if set
  4708.  8-31    reserved
  4709. --------V-104E02-----------------------------------
  4710. INT 10 - VESA XGA BIOS Extensions - RETURN XGA MODE INFORMATION
  4711.     AX = 4E02h
  4712.     CX = Video mode
  4713.     DX = XGA handle
  4714.     ES:DI -> 256 byte buffer for mode information (see #0071)
  4715. Return: AL = 4Eh if function supported
  4716.     AH = status
  4717.         00h     function successful
  4718.         else error code
  4719. SeeAlso: AX=4E00h,AX=4E01h
  4720.  
  4721. Format of XGA mode information:
  4722. Offset    Size    Description    (Table 0071)
  4723.  00h    WORD    attributes of the mode (see #0072)
  4724.  02h    WORD    bytes per logical scanline
  4725.  04h    WORD    horizontal resolution in pixels
  4726.  06h    WORD    vertical resolution in scanlines
  4727.  08h    BYTE    character Width in pixels
  4728.  09h    BYTE    character Height in pixels
  4729.  0Ah    BYTE    number of planes
  4730.  0Bh    BYTE    bits per pixels
  4731.  0Ch    BYTE    memory model (see #0073)
  4732.  0Dh    BYTE    number of Image Pages
  4733.  0Eh    BYTE    number of Red bits
  4734.  0Fh    BYTE    bit position of Red bit field
  4735.  10h    BYTE    number of Green bits
  4736.  11h    BYTE    bit position of Green bit field
  4737.  12h    BYTE    number of Blue bits
  4738.  13h    BYTE    bit position of Blue bit field
  4739.  14h    BYTE    number of Reserved bits
  4740.  15h    BYTE    bit position of Reserved bit field
  4741.  16h 235 BYTEs    reserved
  4742.  
  4743. Bitfields for XGA mode attributes:
  4744. Bit(s)    Description    (Table 0072)
  4745.  0    set if mode is supported
  4746.  1    reserved
  4747.  2    output is supported by the BIOS
  4748.  3    reserved
  4749.  4    if set this is a graphics mode (VGA registers inactive, XGA active),
  4750.       if clear this is a text mode (VGA registers active, XGA inactive)
  4751.  
  4752. (Table 0073)
  4753. Values for XGA video memory model:
  4754.  00h    Text Mode
  4755.  01h    CGA graphics
  4756.  02h    Hercules graphics
  4757.  03h    4-planar graphics
  4758.  04h    Packed Pixel
  4759.  05h    Non-chain 4, 256 color
  4760.  06h    Direct Color
  4761.  07h    YUV-24
  4762. --------V-104E03-----------------------------------
  4763. INT 10 - VESA XGA BIOS Extensions - SET XGA VIDEO MODE
  4764.     AX = 4E03h
  4765.     BX = video mode
  4766.     CX = other command flags
  4767.          bit 0  If clear the feature connector is set to the default state
  4768.     DX = XGA handle
  4769.     ES:DI -> 256 byte buffer
  4770. Return: AL = 4Eh if function supported
  4771.     AH = status
  4772.         00h     function successful
  4773.         else error code
  4774. SeeAlso: AH=00h,AX=4E04h,AX=4F02h
  4775. --------V-104E04-----------------------------------
  4776. INT 10 - VESA XGA BIOS Extensions - RETURN CURRENT VIDEO MODE
  4777.     AX = 4E04h
  4778.     DX = XGA handle
  4779. Return: AL = 4Eh if function supported
  4780.     AH = status
  4781.         00h     function successful
  4782.         BX??? = current mode
  4783.         else error code
  4784. SeeAlso: AH=0Fh,AX=4E03h,AX=4F03h
  4785. --------V-104E05-----------------------------------
  4786. INT 10 - VESA XGA BIOS Extensions - SET FEATURE CONNECTOR STATE
  4787.     AX = 4E05h
  4788.     BX = Feature Connector State (see #0074)
  4789.     DX = XGA handle
  4790. Return: AL = 4Eh if function supported
  4791.     AH = status
  4792.         00h     function successful
  4793.         else error code
  4794. SeeAlso: AX=4E00h,AX=4E06h
  4795.  
  4796. Bitfields for XGA Feature Connector State:
  4797. Bit(s)    Description    (Table 0074)
  4798.  0    Feature Connector is enabled
  4799.  1    Feature Connector is in Output Mode rather than Input Mode
  4800.  2-15    reserved (0)
  4801. --------V-104E06-----------------------------------
  4802. INT 10 - VESA XGA BIOS Extensions - RETURN FEATURE CONNECTOR STATE
  4803.     AX = 4E06h
  4804.     DX = XGA handle
  4805. Return: AL = 4Eh if function supported
  4806.     AH = status
  4807.         00h     function successful
  4808.         else error code
  4809.     BX = Feature Connector State (see #0074)
  4810. SeeAlso: AX=4E00h,AX=4E05h
  4811. --------V-104F00-----------------------------
  4812. INT 10 - VESA SuperVGA BIOS (VBE) - GET SuperVGA INFORMATION
  4813.     AX = 4F00h
  4814.     ES:DI -> buffer for SuperVGA information (see #0075)
  4815. Return: AL = 4Fh if function supported
  4816.     AH = status
  4817.         00h successful
  4818.         ES:DI buffer filled
  4819.         01h failed
  4820.         ---VBE v2.0---
  4821.         02h function not supported by current hardware configuration
  4822.         03h function invalid in current video mode
  4823. Desc:    determine whether VESA BIOS extensions are present and the capabilities
  4824.       supported by the display adapter
  4825. SeeAlso: AX=4E00h,AX=4F01h,AX=7F00h"SOLLEX",AX=A00Ch
  4826. Index:    installation check;VESA SuperVGA
  4827.  
  4828. Format of SuperVGA information:
  4829. Offset    Size    Description    (Table 0075)
  4830.  00h  4 BYTEs    (ret) signature ("VESA")
  4831.         (call) VESA 2.0 request signature ("VBE2"), required to receive
  4832.           version 2.0 info
  4833.  04h    WORD    VESA version number (one-digit minor version)
  4834.  06h    DWORD    pointer to OEM name
  4835.         "761295520" for ATI
  4836.  0Ah    DWORD    capabilities flags (see #0076)
  4837.  0Eh    DWORD    pointer to list of supported VESA and OEM video modes
  4838.         (list of words terminated with FFFFh)
  4839.  12h    WORD    total amount of video memory in 64K blocks
  4840. ---VBE v1.x ---
  4841.  14h 236 BYTEs    reserved
  4842. ---VBE v2.0 ---
  4843.  14h    WORD    OEM software version
  4844.  16h    DWORD    pointer to vendor name
  4845.  1Ah    DWORD    pointer to product name
  4846.  1Eh    DWORD    pointer to product revision string
  4847.  22h 222 BYTEs    reserved
  4848. 100h 256 BYTEs    OEM scratchpad
  4849. Notes:    the list of supported video modes is stored in the reserved portion of
  4850.       the SuperVGA information record by some implementations, and it may
  4851.       thus be necessary to either copy the mode list or use a different
  4852.       buffer for all subsequent VESA calls
  4853.     the 1.1 VESA document specifies 242 reserved bytes at the end, so the
  4854.       buffer should be 262 bytes to ensure that it is not overrun; for
  4855.       v2.0, the buffer should be 512 bytes
  4856.     the S3 specific video modes will most likely follow the FFFFh
  4857.       terminator at the end of the standard modes.    A search must then
  4858.       be made to find them, FFFFh will also terminate this second list
  4859.  
  4860. Bitfields for VESA capabilities:
  4861. Bit(s)    Description    (Table 0076)
  4862.  0    DAC can be switched into 8-bit mode
  4863.  1    non-VGA controller
  4864.  2    programmed DAC with blank bit
  4865.  3-31    reserved
  4866. SeeAlso: #0075
  4867. --------V-104F01-----------------------------
  4868. INT 10 - VESA SuperVGA BIOS - GET SuperVGA MODE INFORMATION
  4869.     AX = 4F01h
  4870.     CX = SuperVGA video mode
  4871.     ES:DI -> 256-byte buffer for mode information (see #0077)
  4872. Return: AL = 4Fh if function supported
  4873.     AH = status
  4874.         00h successful
  4875.         ES:DI buffer filled
  4876.         01h failed
  4877. Desc:    determine the attributes of the specified video mode
  4878. SeeAlso: AX=4F00h,AX=4F02h
  4879.  
  4880. Format of VESA SuperVGA mode information:
  4881. Offset    Size    Description    (Table 0077)
  4882.  00h    WORD    mode attributes (see #0078)
  4883.  02h    BYTE    window attributes, window A (see #0079)
  4884.  03h    BYTE    window attributes, window B (see #0079)
  4885.  04h    WORD    window granularity in KB
  4886.  06h    WORD    window size in KB
  4887.  08h    WORD    start segment of window A
  4888.  0Ah    WORD    start segment of window B
  4889.  0Ch    DWORD    -> FAR window positioning function (equivalent to AX=4F05h)
  4890.  10h    WORD    bytes per scan line
  4891. ---remainder is optional for VESA modes in v1.0/1.1, needed for OEM modes---
  4892.  12h    WORD    width in pixels (graphics) or characters (text)
  4893.  14h    WORD    height in pixels (graphics) or characters (text)
  4894.  16h    BYTE    width of character cell in pixels
  4895.  17h    BYTE    height of character cell in pixels
  4896.  18h    BYTE    number of memory planes
  4897.  19h    BYTE    number of bits per pixel
  4898.  1Ah    BYTE    number of banks
  4899.  1Bh    BYTE    memory model type (see #0080)
  4900.  1Ch    BYTE    size of bank in KB
  4901.  1Dh    BYTE    number of image pages
  4902.  1Eh    BYTE    reserved (0)
  4903. ---VBE v1.2+---
  4904.  1Fh    BYTE    red mask size
  4905.  20h    BYTE    red field position
  4906.  21h    BYTE    green mask size
  4907.  22h    BYTE    green field size
  4908.  23h    BYTE    blue mask size
  4909.  24h    BYTE    blue field size
  4910.  25h    BYTE    reserved mask size
  4911.  26h    BYTE    reserved mask position
  4912.  27h    BYTE    direct color mode info
  4913.         bit 0: color ramp is programmable
  4914.         bit 1: bytes in reserved field may be used by application
  4915. ---VBE v2.0 ---
  4916.  28h    DWORD    physical address of linear video buffer
  4917.  2Ch    DWORD    pointer to start of offscreen memory
  4918.  30h    WORD    KB of offscreen memory
  4919.  32h 206 BYTEs    reserved (0)
  4920.  
  4921. Bitfields for VESA SuperVGA mode attributes:
  4922. Bit(s)    Description    (Table 0078)
  4923.  0    mode supported
  4924.  1    optional information available
  4925.  2    BIOS output supported
  4926.  3    set if color, clear if monochrome
  4927.  4    set if graphics mode, clear if text mode
  4928. ---VBE v2.0 ---
  4929.  5    mode is not VGA-compatible
  4930.  6    bank-switched mode not supported
  4931.  7    linear framebuffer mode supported
  4932.  
  4933. Bitfields for VESA SuperVGA window attributes:
  4934. Bit(s)    Description    (Table 0079)
  4935.  0    exists
  4936.  1    readable
  4937.  2    writable
  4938.  3-7    reserved
  4939.  
  4940. (Table 0080)
  4941. Values for VESA SuperVGA memory model type:
  4942.  00h    text
  4943.  01h    CGA graphics
  4944.  02h    HGC graphics
  4945.  03h    16-color (EGA) graphics
  4946.  04h    packed pixel graphics
  4947.  05h    "sequ 256" (non-chain 4) graphics
  4948.  06h    direct color (HiColor, 24-bit color)
  4949.  07h    YUV (luminance-chrominance, also called YIQ)
  4950.  08h-0Fh reserved for VESA
  4951.  10h-FFh OEM memory models
  4952. --------V-104F02-----------------------------
  4953. INT 10 - VESA SuperVGA BIOS - SET SuperVGA VIDEO MODE
  4954.     AX = 4F02h
  4955.     BX = mode (see #0081,#0082)
  4956.         bit 15 set means don't clear video memory
  4957.         bit 14 set means enable linear framebuffer mode (VBE v2.0+)
  4958. Return: AL = 4Fh if function supported
  4959.     AH = status
  4960.         00h successful
  4961.         01h failed
  4962. SeeAlso: AX=4E03h,AX=4F01h,AX=4F03h
  4963.  
  4964. (Table 0081)
  4965. Values for VESA video mode:
  4966.  00h-FFh OEM video modes (see #0009 at AH=00h)
  4967.  100h    640x400x256
  4968.  101h    640x480x256
  4969.  102h    800x600x16
  4970.  103h    800x600x256
  4971.  104h    1024x768x16
  4972.  105h    1024x768x256
  4973.  106h    1280x1024x16
  4974.  107h    1280x1024x256
  4975.  108h    80x60 text
  4976.  109h    132x25 text
  4977.  10Ah    132x43 text
  4978.  10Bh    132x50 text
  4979.  10Ch    132x60 text
  4980. ---VBE v1.2---
  4981.  10Dh    320x200x32K
  4982.  10Eh    320x200x64K
  4983.  10Fh    320x200x16M
  4984.  110h    640x480x32K
  4985.  111h    640x480x64K
  4986.  112h    640x480x16M
  4987.  113h    800x600x32K
  4988.  114h    800x600x64K
  4989.  115h    800x600x16M
  4990.  116h    1024x768x32K
  4991.  117h    1024x768x64K
  4992.  118h    1024x768x16M
  4993.  119h    1280x1024x32K
  4994.  11Ah    1280x1024x64K
  4995.  11Bh    1280x1024x16M
  4996. ---VBE 2.0---
  4997.  120h    1600x1200x256
  4998.  121h    1600x1200x32K
  4999.  122h    1600x1200x64K
  5000. 81FFh    special full-memory access mode
  5001. Note:    the special mode 81FFh preserves the contents of the video memory and
  5002.       gives access to all of the memory; VESA recommends that the special
  5003.       mode be a packed-pixel mode
  5004. SeeAlso: #0009,#0010,#0082,#0123
  5005. Index:    video modes;VESA
  5006.  
  5007. (Table 0082)
  5008. Values for S3 OEM video mode:
  5009.  201h    640x480x256
  5010.  202h    800x600x16
  5011.  203h    800x600x256
  5012.  204h    1024x768x16
  5013.  205h    1024x768x256
  5014.  206h    1280x960x16
  5015.  207h    1152x864x256 (Diamond Stealth 64)
  5016.  208h    1280x1024x16
  5017.  209h    1152x864x32K
  5018.  20Ah    1152x864x64K (Diamond Stealth 64)
  5019.  20Bh    1152x864x4G
  5020.  211h    640x480x64K (Diamond Stealth 24)
  5021.  211h    640x400x4G  (Diamond Stealth64 Video / Stealth64 Graphics)
  5022.  212h    640x480x16M (Diamond Stealth 24)
  5023.  301h    640x480x32K
  5024. Note:    these modes are only available on video cards using S3's VESA driver
  5025. SeeAlso: #0081,#0123,#0656 at INT 1A/AX=B102h
  5026. Index:    video modes;S3
  5027. --------V-104F03-----------------------------
  5028. INT 10 - VESA SuperVGA BIOS - GET CURRENT VIDEO MODE
  5029.     AX = 4F03h
  5030. Return: AL = 4Fh if function supported
  5031.     AH = status
  5032.         00h successful
  5033.         BX = video mode (see #0081,#0082)
  5034.             bit 14: linear frame buffer enabled (VBE v2.0+)
  5035.             bit 15: don't clear video memory
  5036.         01h failed
  5037. SeeAlso: AH=0Fh,AX=4E04h,AX=4F02h
  5038. --------V-104F04-----------------------------
  5039. INT 10 - VESA SuperVGA BIOS - SAVE/RESTORE SuperVGA VIDEO STATE
  5040.     AX = 4F04h
  5041.     DL = subfunction
  5042.         00h get state buffer size
  5043.         Return: BX = number of 64-byte blocks needed
  5044.         01h save video states
  5045.         ES:BX -> buffer
  5046.         02h restore video states
  5047.         ES:BX -> buffer
  5048.     CX = states to save/restore (see #0083)
  5049. Return: AL = 4Fh if function supported
  5050.     AH = status
  5051.         00h successful
  5052.         01h failed
  5053. SeeAlso: AH=1Ch,AX=5F90h,AX=5FA0h
  5054.  
  5055. Bitfields for VESA SuperVGA states to save/restore:
  5056. Bit(s)    Description    (Table 0083)
  5057.  0    video hardware state
  5058.  1    video BIOS data state
  5059.  2    video DAC state
  5060.  3    SuperVGA state
  5061. SeeAlso: #0046,#3868
  5062. --------V-104F05-----------------------------
  5063. INT 10 - VESA SuperVGA BIOS - CPU VIDEO MEMORY CONTROL
  5064.     AX = 4F05h
  5065.     BH = subfunction
  5066.         00h select video memory window
  5067.         DX = window address in video memory (in granularity units)
  5068.         01h get video memory window
  5069.         Return: DX = window address in video memory (in gran. units)
  5070.     BL = window number
  5071.         00h window A
  5072.         01h window B
  5073. Return: AL = 4Fh if function supported
  5074.     AH = status
  5075.         00h successful
  5076.         01h failed
  5077. BUG:    Phoenix S3 Trio64V+ v1.02-02 reportedly returns garbage in DX for
  5078.       subfunction 01h
  5079. SeeAlso: AX=4F01h,AX=4F06h,AX=4F07h,AX=7000h/BX=0004h
  5080. --------V-104F06-----------------------------
  5081. INT 10 - VESA SuperVGA BIOS v1.1+ - GET/SET LOGICAL SCAN LINE LENGTH (PIXELS)
  5082.     AX = 4F06h
  5083.     BL = subfunction
  5084.         00h set scan line length
  5085.         CX = desired width in pixels
  5086.         01h get scan line length
  5087. Return: AL = 4Fh if function supported
  5088.     AH = status
  5089.         00h successful
  5090.         01h failed
  5091.     BX = bytes per scan line
  5092.     CX = number of pixels per scan line
  5093.     DX = maximum number of scan lines
  5094. Notes:    if the desired width is not achievable, the next larger width will be
  5095.       set
  5096.     the scan line may be wider than the visible area of the screen
  5097.     this function is valid in text modes, provided that pixel values are
  5098.       multiplied by the character cell width/height
  5099. SeeAlso: AX=4F01h,AX=4F05h,AX=4F06h/BL=02h,AX=4F06h/BL=03h,AX=4F07h
  5100. --------V-104F06BL02-------------------------
  5101. INT 10 - VESA SuperVGA BIOS v2.0+ - SET LOGICAL SCAN LINE LENGTH (BYTES)
  5102.     AX = 4F06h
  5103.     BL = 02h
  5104.     CX = desired scanline width in bytes
  5105. Return: AL = 4Fh if function supported
  5106.     AH = status
  5107.         00h successful
  5108.         01h failed
  5109.     BX = bytes per scan line
  5110.     CX = number of pixels per scan line
  5111.     DX = maximum number of scan lines
  5112. Notes:    if the desired width is not achievable, the next larger width will be
  5113.       set
  5114.     the scan line may be wider than the visible area of the screen
  5115.     this function is valid in text modes, provided that pixel values are
  5116.       multiplied by the character cell width/height
  5117. SeeAlso: AX=4F01h,AX=4F05h,AX=4F06h,AX=4F06h/BL=03h,AX=4F07h
  5118. --------V-104F06BL03-------------------------
  5119. INT 10 - VESA SuperVGA BIOS v2.0+ - GET MAXIMUM SCAN LINE LENGTH
  5120.     AX = 4F06h
  5121.     BL = 03h
  5122. Return: AL = 4Fh if function supported
  5123.     AH = status
  5124.         00h successful
  5125.         01h failed
  5126.     BX = maximum bytes per scan line
  5127.     CX = maximum number of pixels per scan line
  5128. Notes:    this function is valid in text modes, provided that pixel values are
  5129.       multiplied by the character cell width/height
  5130. SeeAlso: AX=4F01h,AX=4F05h,AX=4F06h,AX=4F06h/BL=02h,AX=4F07h
  5131. --------V-104F07-----------------------------
  5132. INT 10 - VESA SuperVGA BIOS v1.1+ - GET/SET DISPLAY START
  5133.     AX = 4F07h
  5134.     BL = subfunction
  5135.         00h,80h set display start
  5136.         CX = leftmost displayed pixel in scan line
  5137.         DX = first displayed scan line
  5138.         01h get display start
  5139.         Return: BH = 00h
  5140.             CX = leftmost displayed pixel in scan line
  5141.             DX = first displayed scan line
  5142.     BH = 00h (reserved)
  5143. Return: AL = 4Fh if function supported
  5144.     AH = status
  5145.         00h successful
  5146.         01h failed
  5147. Notes:    this function is valid in text modes, provided that values are
  5148.       multiplied by the character cell width/height
  5149.     subfunction 80h waits until vertical retrace before changing the
  5150.       display start address (VBE v2.0+)
  5151. SeeAlso: AX=4F01h,AX=4F05h,AX=4F06h
  5152. --------V-104F08-----------------------------
  5153. INT 10 - VESA SuperVGA BIOS v1.2+ - GET/SET DAC PALETTE CONTROL
  5154.     AX = 4F08h
  5155.     BL = subfunction
  5156.         00h set DAC palette width
  5157.         BH = desired number of bits per primary color
  5158.         01h get DAC palette width
  5159. Return: AL = 4Fh if function supported
  5160.     AH = status
  5161.         00h successful
  5162.         01h failed
  5163.     BH = current number of bits per primary (06h = standard VGA)
  5164. --------V-104F09-----------------------------
  5165. INT 10 - VESA SuperVGA BIOS v2.0+ - GET/SET PALETTE ENTRIES
  5166.     AX = 4F09h
  5167.     BL = subfunction
  5168.         00h set (primary) palette
  5169.         01h get (primary) palette
  5170.         02h set secondary palette data
  5171.         03h get secondary palette data
  5172.         80h set palette during vertical retrace
  5173.     CX = number of entries to change
  5174.     DX = starting palette index
  5175.     ES:DI -> palette buffer (see #0084)
  5176. Return: AL = 4Fh if function supported
  5177.     AH = status
  5178.         00h successful
  5179.         01h failed
  5180. SeeAlso: AX=4F0Ah,AX=D000h"S3VBE"
  5181.  
  5182. Format of VESA VBE palette entry:
  5183. Offset    Size    Description    (Table 0084)
  5184.  00h    BYTE    red
  5185.  01h    BYTE    green
  5186.  02h    BYTE    blue
  5187.  03h    BYTE    alpha or alignment byte
  5188. --------V-104F0ABL00-------------------------
  5189. INT 10 - VESA SuperVGA BIOS v2.0+ - GET PROTECTED-MODE INTERFACE
  5190.     AX = 4F0Ah
  5191.     BL = 00h
  5192. Return: AL = 4Fh if function supported
  5193.     AH = status
  5194.         00h successful
  5195.         ES:DI -> protected-mode table (see #0085)
  5196.         CX = length of table in bytes, included protected-mode code
  5197.         01h failed
  5198. SeeAlso: AX=4F00h,AX=4F05h,AX=4F07h,AX=4F09h
  5199.  
  5200. Format of VESA VBE 2.0 protected-mode table:
  5201. Offset    Size    Description    (Table 0085)
  5202.  00h    WORD    offset (within table) of protected-mode code for Function 5
  5203.           (Set Window)
  5204.  02h    WORD    offset of protected-mode code for Function 7 (Set Disp Start)
  5205.  04h    WORD    offset of protected-mode code for Function 9 (Set Primary
  5206.           Palette)
  5207.  06h    WORD    offset (within table) of list of I/O ports and memory locations
  5208.           for which I/O privilege may be required in protected mode
  5209.           (0000h if no list)
  5210.  08h    var    code and optional port/memory list
  5211. --------V-104F0A-----------------------------
  5212. INT 10 - VESA SuperVGA BIOS v2.0 beta - GET PROTECTED-MODE CODE
  5213.     AX = 4F0Ah
  5214.     BX = function to be copied (see #0086)
  5215. Return: AL = 4Fh if function supported
  5216.     AH = status
  5217.         00h successful
  5218.         CX = number of bytes to copy
  5219.         ES:DI -> code for requested function
  5220.         01h failed
  5221. SeeAlso: AX=4F09h,AX=D000h"S3VBE"
  5222.  
  5223. (Table 0086)
  5224. Values for VESA VBE protected-mode function identifiers:
  5225.  0001h    set bank (see AX=4F05h)
  5226.  0002h    set display start (see AX=4F07h)
  5227.  0003h    set palette (see AX=4F09h)
  5228. --------V-104F0B-----------------------------
  5229. INT 10 - VESA SuperVGA BIOS - RESERVED FOR FUTURE SVGA FUNCTIONS
  5230.     AX = 4F0Bh-4F0Fh
  5231. SeeAlso: AX=4F00h
  5232. --------p-104F10BL00-------------------------
  5233. INT 10 - VESA VBE/PM (Power Management) v1.0+ - GET CAPABILITIES
  5234.     AX = 4F10h
  5235.     BL = 00h
  5236.     ES:DI = 0000h:0000h (reserved for future use as pointer to info block)
  5237. Return: AL = 4Fh if function supported (installed)
  5238.     AH = call status
  5239.         00h successful
  5240.         else failed
  5241.     ---if successful---
  5242.     BL = VBE/PM version (bits 7-4: major, bits 3-0: minor)
  5243.     BH = supported states (see #0087)
  5244.     ES:DI unchanged
  5245. Index:    installation check;VESA VBE/Power Management|VESA DPMS
  5246. SeeAlso: AX=4F10h/BL=01h,AX=4F10h/BL=02h
  5247.  
  5248. Bitfields for VESA VBE/PM supported power states:
  5249. Bit(s)    Description    (Table 0087)
  5250.  0    standby
  5251.  1    suspend
  5252.  2    off
  5253.  3    reduced on
  5254. --------p-104F10BL01-------------------------
  5255. INT 10 - VESA VBE/PM (Power Management) v1.0+ - SET DISPLAY POWER STATE
  5256.     AX = 4F10h
  5257.     BL = 01h
  5258.     BH = new state (see #0088)
  5259. Return: AL = 4Fh if function supported
  5260.     AH = call status
  5261.         00h successful
  5262.         else failed
  5263. SeeAlso: AX=4F10h/BL=00h,AX=4F10h/BL=02h,AX=A00Ch
  5264.  
  5265. (Table 0088)
  5266. Values for VESA VBE/PM power state:
  5267.  00h    On
  5268.  01h    standby
  5269.  02h    suspend
  5270.  04h    Off
  5271.  08h    reduced On (for flat screens)
  5272. --------p-104F10BL02-------------------------
  5273. INT 10 - VESA VBE/PM (Power Management) v1.0+ - GET DISPLAY POWER STATE
  5274.     AX = 4F10h
  5275.     BL = 02h
  5276. Return: AL = 4Fh if function supported
  5277.     AH = call status
  5278.         00h successful
  5279.            BH = current power state (see #0088)
  5280.         else failed
  5281. SeeAlso: AX=4F10h/BL=00h,AX=4F10h/BL=01h,AX=A00Dh
  5282. --------V-104F11-----------------------------
  5283. INT 10 - VESA VBE/FP (Flat Panel Interface) - API
  5284.     AX = 4F11h
  5285.     BL = function
  5286.         00h installation check / get capabilities
  5287.     other registers vary by function
  5288. Return: varies by function
  5289. --------V-104F12-----------------------------
  5290. INT 10 - VESA VBE/CI (Cursor Interface) - API
  5291.     AX = 4F12h
  5292.     BL = function
  5293.     other registers vary by function
  5294. Return: varies by function
  5295. SeeAlso: AX=4F4Dh
  5296. --------s-104F13BX0000-----------------------
  5297. INT 10 - VESA VBE/AI (Audio Interface) - INSTALLATION CHECK
  5298.     AX = 4F13h
  5299.     BX = 0000h
  5300. Return: AL = 4Fh if function supported
  5301.         AH = status
  5302.         00h successful
  5303.             BX = version (0010h for 1.00 -- note nonstandard value!)
  5304.         01h failed
  5305. SeeAlso: AX=4F13h/BX=0001h,AX=4F13h/BX=0005h
  5306. --------s-104F13BX0001-----------------------
  5307. INT 10 - VESA VBE/AI (Audio Interface) - LOCATE DEVICE
  5308.     AX = 4F13h
  5309.     BX = 0001h
  5310.     CX = 0000h ???
  5311.     DX = type of device
  5312.         0001h Wave device
  5313.         0002h MIDI device
  5314.         0003h Volume device
  5315. Return: AL = 4Fh if function supported
  5316.     AH = status
  5317.         00h successful
  5318.         CX = handle [returned 1 for DX=1 and 3, and 2 for DX=2]
  5319.         01h failed
  5320. SeeAlso: AX=4F13h/BX=0000h,AX=4F13h/BX=0002h
  5321. --------s-104F13BX0002-----------------------
  5322. INT 10 - VESA VBE/AI (Audio Interface) - QUERY DEVICE
  5323.     AX = 4F13h
  5324.     BX = 0002h
  5325.     CX = handle
  5326.     DX = query
  5327.         0001h return length of GeneralDeviceClass
  5328.         0002h return copy    of GeneralDeviceClass (see #0089)
  5329.         0003h return length of Volume Info Structure
  5330.         0004h return copy    of Volume Info Structure (see #0099)
  5331.         0005h return length of Volume Services Structure
  5332.         0006h return copy    of Volume Services Structure (see #0101)
  5333.         0007h-000Fh reserved
  5334.         0010h-FFFFh device-specific
  5335.     SI:DI -> buffer (functions 0002h,0004h,0006h)
  5336. Return: AL = 4Fh if function supported
  5337.     AH = status
  5338.         00h successful
  5339.         SI:DI = length (functions 1,3,5)
  5340.         SI:DI buffer filled (functions 2,4,6)
  5341.         01h failed
  5342. Note:    functions 0003h to 0006h are only supported for the Volume device
  5343.  
  5344. Format of GeneralDeviceClass structure:
  5345. Offset    Size    Description    (Table 0089)
  5346.  00h    4 BYTEs    name of the structure ("GENI")
  5347.  04h    DWORD    structure length
  5348.  08h    WORD    type of device (1=Wave, 2=MIDI)
  5349.  0Ah    WORD    version of VESA driver support (0100h for 1.00)
  5350.  10h    var    for CX=handle for Wave device:
  5351.             Wave Info structure (see #0090)
  5352.             some bytes ???
  5353.         for CX=handle for MIDI device:
  5354.             MIDI Info Structure (see #0095)
  5355.             first 8 bytes of MIDI Service Structure ???
  5356. SeeAlso: #0099,#0101
  5357.  
  5358. Format of WAVE Info Structure:
  5359. Offset    Size    Description    (Table 0090)
  5360.  00h    4 BYTEs    name of the structure ("WAVI")
  5361.  04h    DWORD    structure length [0000007Eh]
  5362.  08h    DWORD    driver software version [00000003h]
  5363.  0Ch 32 BYTEs    vendor name, etc. (ASCIZ string)
  5364.  2Ch 32 BYTEs    vendor product name
  5365.  4Ch 32 BYTEs    vendor chip/hardware description
  5366.  6Ch    BYTE    installed board number
  5367.  6Dh    3 BYTEs    unused data
  5368.  70h    DWORD    feature bits (see #0091)
  5369.  74h    WORD    user determined preference field
  5370.  76h    WORD    memory required for driver use [0200h]
  5371.  78h    WORD    number of timer tick callbacks per second [0000h]
  5372.  7Ah    WORD    channels: 1 = mono, 2 = stereo
  5373.         stereo is assumed to be interleaved data
  5374.  7Ch    WORD    bitfield of max sample sizes (see #0092)
  5375. SeeAlso: #0095
  5376.  
  5377. Bitfields for Wave feature bits:
  5378. Bit(s)    Description    (Table 0091)
  5379.  0    8000hz Mono Playback
  5380.  1    8000hz Mono Record
  5381.  2    8000hz Stereo Record
  5382.  3    8000hz Stereo Playback
  5383.  4    8000hz Full Duplex Play/Record
  5384.  5    11025hz Mono Playback
  5385.  6    11025hz Mono Record
  5386.  7    11025hz Stereo Record
  5387.  8    11025hz Stereo Playback
  5388.  9    11025hz Full Duplex Play/Record
  5389.  10    22050hz Mono Playback
  5390.  11    22050hz Mono Record
  5391.  12    22050hz Stereo Record
  5392.  13    22050hz Stereo Playback
  5393.  14    22050hz Full Duplex Play/Record
  5394.  15    44100hz Mono Playback
  5395.  16    44100hz Mono Record
  5396.  17    44100hz Stereo Record
  5397.  18    44100hz Stereo Playback
  5398.  19    44100hz Full Duplex Play/Record
  5399.  20-26    reserved (0)
  5400.  27    driver must pre-handle the data
  5401.  28    Variable Sample mono   playback
  5402.  29    Variable Sample stereo playback
  5403.  30    Variable Sample mono   record
  5404.  31    Variable Sample stereo record
  5405.  
  5406. (Table 0092)
  5407. Values for Sample data size:
  5408.  01h    8bit play
  5409.  02h    16bit play
  5410.  10h    8bit record
  5411.  20h    16bit record
  5412.  
  5413. Format of WAVE Audio Services structure:
  5414. Offset    Size    Description    (Table 0093)
  5415.  00h    4 BYTEs    name of the structure
  5416.  04h    DWORD    structure length
  5417.  08h 16 BYTEs    for future expansion
  5418. ---entry points (details???)---
  5419.  18h    DWORD    DeviceCheck
  5420.         11h compression (see also #0094)
  5421.         12h driver state
  5422.         13h get current pos
  5423.         14h sample rate
  5424.         15h set preference
  5425.         16h get DMA,IRQ
  5426.         17h get IO address
  5427.         18h get mem address
  5428.         19h get mem free
  5429.         1Ah full duplex
  5430.         1Bh get block size
  5431.         1Ch get PCM format
  5432.         1Dh enable PCM format
  5433.         80h-.. vendors can add DevChks above 0x80
  5434.  1Ch    DWORD    PCMInfo
  5435.  20h    DWORD    PlayBlock
  5436.  24h    DWORD    PlayCont
  5437.  28h    DWORD    RecordBlock
  5438.  2Ch    DWORD    RecordCont
  5439.  30h    DWORD    PauseIO
  5440.  34h    DWORD    ResumeIO
  5441.  38h    DWORD    StopIO
  5442.  3Ch    DWORD    WavePrepare
  5443.  40h    DWORD    WaveRegister
  5444.  44h    DWORD    GetLastError
  5445.         01h unsupported feature/function
  5446.         02h bad sample rate
  5447.         03h bad block length
  5448.         04h bad block address
  5449.         05h app. missed an IRQ
  5450.         06h don't understand the PCM size/format
  5451.         80h-.. vendors specific errors
  5452.  48h    DWORD    TimerTick
  5453.  4Ch    DWORD    ApplPSyncCB: CallBack: play filled in by the app
  5454.  50h    DWORD    ApplRSyncCB: CallBack: rec filled in by the app
  5455. SeeAlso: #0097,#0101
  5456.  
  5457. (Table 0094)
  5458. Values for type of compression:
  5459.  01h    IMA play
  5460.  02h    ALAW play
  5461.  03h    ULAW play
  5462.  11h    IMA record
  5463.  12h    ALAW record
  5464.  13h    ULAW record
  5465.  
  5466. Format of MIDI Info Structure:
  5467. Offset    Size    Description    (Table 0095)
  5468.  00h    4 BYTEs    name of the structure ("MIDI")
  5469.  04h    DWORD    structure length
  5470.  08h    DWORD    driver software version [00000003h]
  5471.  0Ch 32 BYTEs    vendor name, etc. (ASCIZ string)
  5472.  2Ch 32 BYTEs    vendor product name
  5473.  4Ch 32 BYTEs    vendor chip/hardware description
  5474.  6Ch    BYTE    installed board number
  5475.  6Dh    3 BYTEs    unused data
  5476.  70h 14 BYTEs    the patch library file name [OPL2.BNK 00..]
  5477.  7Eh    DWORD    feature bits (see #0096)
  5478.  80h    WORD    user determined preference field
  5479.  82h    WORD    memory required for driver use
  5480.  84h    WORD    # of timer tick callbacks per second
  5481.  86h    WORD    max # of tones (voices, partials)
  5482. SeeAlso: #0089,#0097,#0099
  5483.  
  5484. Bitfields for MIDI feature bits:
  5485. Bit(s)    Description    (Table 0096)
  5486.  0-3    reserved for GM extensions
  5487.  4    Transmitter/Receiver only
  5488.  5    Patches preloaded
  5489.  6    MIDI receive has time stamp
  5490.  8    MIDI interrupt driven input supported
  5491.  9    MIDI polled input supported
  5492.  10    MIDI remote patches supported
  5493.  
  5494. Format of MIDI Service structure:
  5495. Offset    Size    Description    (Table 0097)
  5496.  00h    4 BYTEs    name of the structure ("MIDS")
  5497.  04h    DWORD    structure length
  5498.  08h 16 WORDs    patches loaded table bit field
  5499.  28h 16 BYTEs    for future expansion
  5500. ---entry points (details???)---
  5501.  38h    DWORD    device check
  5502.         11h return available tones
  5503.         12h return TRUE/FALSE if patch is understood
  5504.         13h set preference
  5505.         14h allow/disallow voice stealing
  5506.         15h get FIFO sizes
  5507.         16h get DMA,IRQ
  5508.         17h get IO address
  5509.         18h get mem address
  5510.         19h get mem free
  5511.         80h-.. vendors can add DevChks above 0x80
  5512.  3Ch    DWORD    global reset
  5513.  40h    DWORD    MIDI msg
  5514.  44h    DWORD    poll MIDI
  5515.  48h    DWORD    preload patch
  5516.  4Ch    DWORD    unload patch
  5517.  50h    DWORD    timer tick
  5518.  54h    DWORD    get last error
  5519.         01h unsupported feature/function
  5520.         02h unknown patch type (see #0098)
  5521.         03h all tones are used
  5522.         04h messages are out of sync
  5523.         05h an incoming patch was incomplete
  5524.         06h an incoming patch couldn't be stored
  5525.         07h had to drop an incoming byte
  5526.         08h driver is failing a patch download
  5527.         80h-.. vendors specific errors
  5528.  58h    DWORD    Patch Block free callback
  5529.  5Ch    DWORD    MIDI byte avail. callback
  5530. SeeAlso: #0093,#0101
  5531.  
  5532. (Table 0098)
  5533. Values for MIDI Registered Patch Types:
  5534.  10h    OPL2
  5535.  11h    OPL3
  5536.  
  5537. Format of Volume Info Structure:
  5538. Offset    Size    Description    (Table 0099)
  5539.  00h  4    BYTEs    name of the structure ("VOLI")
  5540.  04h    DWORD    structure length (00000092h)
  5541.  08h    DWORD    driver software version [00000001h]
  5542.  0Ch 32 BYTEs    vendor name, etc. (ASCIZ string)
  5543.  2Ch 32 BYTEs    vendor product name
  5544.  4Ch 32 BYTEs    vendor chip/hardware description
  5545.  6Ch    BYTE    installed board number (0 for 1st/only board)
  5546.  6Dh  3    BYTEs    unused data (0)
  5547.  70h 24 BYTEs    text name of the mixer channel
  5548.  88h    DWORD    features bits (see #0100)
  5549.  8Ch    WORD    minimum volume setting
  5550.  8Eh    WORD    maximum volume setting
  5551.  90h    WORD    attenuation/gain crossover
  5552. SeeAlso: #0089,#0101
  5553.  
  5554. Bitfields for Volume feature bits:
  5555. Bit(s)    Description    (Table 0100)
  5556.  0    Stereo Volume control available
  5557.  2    Low Pass Filter is available
  5558.  3    High Pass Filter is available
  5559.  4    Parametric Tone Control is available
  5560.  5    selectable output paths
  5561.  8    Azimuth Field positioning supported
  5562.  9    Phi Field positioning supported
  5563.  10-30    unused???
  5564.  31    Master Volume device
  5565.  
  5566. Format of Volume Services Structure:
  5567. Offset    Size    Description    (Table 0101)
  5568.  00h    4 BYTEs    name of the structure ("VOLS")
  5569.  04h    DWORD    structure length (00000038h)
  5570.  08h 16 BYTEs    16 bytes for future expansion (0)
  5571. ---entry points (details???)---
  5572.  18h    DWORD    device check
  5573.         0011h filter range
  5574.         0012h filter setting
  5575.         0013h filter current
  5576.         0014h tone range
  5577.         0015h tone setting
  5578.         0016h tone current
  5579.         0017h path
  5580.         0018h get IO address
  5581.         0080h-.. vendors can add DevChks above 0x80
  5582.  1Ch    DWORD    set vol to an absolute setting
  5583.         01h User master volume setting
  5584.         02h application master volume setting
  5585.  20h    DWORD    set 3D volume
  5586.  24h    DWORD    tone control
  5587.  28h    DWORD    filter control
  5588.  2Ch    DWORD    output path
  5589.  30h    DWORD    reset channel
  5590.  34h    DWORD    get last error
  5591.         01h unsupported feature/function
  5592.         02h out of range parameter value
  5593.         80h+ vendor-specific errors
  5594. SeeAlso: #0093,#0097
  5595. --------s-104F13BX0003-----------------------
  5596. INT 10 - VESA VBE/AI (Audio Interface) - OPEN DEVICE
  5597.     AX = 4F13h
  5598.     BX = 0003h
  5599.     CX = handle
  5600.     DX = API set (16/32-bit)
  5601.     SI = segment ???
  5602. Return: AL = 4Fh if function supported
  5603.     AH = status
  5604.         00h successful
  5605.         SI:CX -> memory ???
  5606.         01h failed
  5607. SeeAlso: AX=4F13h/BX=0000h,AX=4F13h/BX=0002h,AX=4F13h/BX=0004h
  5608. --------s-104F13BX0004-----------------------
  5609. INT 10 - VESA VBE/AI (Audio Interface) - CLOSE DEVICE
  5610.     AX = 4F13h
  5611.     BX = 0004h
  5612.     CX = handle
  5613. Return: AL = 4Fh if function supported
  5614.     AH = status
  5615.         00h successful
  5616.         01h failed
  5617. SeeAlso: AX=4F13h/BX=0000h,AX=4F13h/BX=0003h,AX=4F13h/BX=0005h
  5618. --------s-104F13BX0005-----------------------
  5619. INT 10 - VESA VBE/AI (Audio Interface) - UNINSTALL DRIVER
  5620.     AX = 4F13h
  5621.     BX = 0005h
  5622. Return: AL = 4Fh if function supported
  5623.     AH = status
  5624.         00h successful
  5625.         01h failed
  5626. SeeAlso: AX=4F13h/BX=0000h,AX=4F13h/BX=0006h
  5627. --------s-104F13BX0006-----------------------
  5628. INT 10 - VESA VBE/AI (Audio Interface) - DRIVER CHAIN/UNCHAIN
  5629.     AX = 4F13h
  5630.     BX = 0006h
  5631. Return: AL = 4Fh if function supported
  5632.     AH = status
  5633.         00h successful
  5634.         01h failed
  5635. SeeAlso: AX=4F13h/BX=0000h,AX=4F13h/BX=0005h
  5636. ----------104F14-----------------------------
  5637. INT 10 - VESA OEM Extensions - API
  5638.     AX = 4F14h
  5639.     BL = function
  5640.         00h installation check / get capabilities
  5641.     other registers vary by function
  5642. Return: varies by function
  5643. Note:    this function is provided for OEMs to implement system-specific
  5644.       functionality in a VESA-compatible manner
  5645. ----------104F14-----------------------------
  5646. INT 10 - VESA OEM Extensions - Matrox Millenium (BIOS v2.1)
  5647.     AX = 4F14h
  5648.     BL = function
  5649.         00h installation check / get capabilities
  5650.         ES:DI -> 256-byte buffer for Matrox-specific information
  5651.             (see #0102)
  5652.         Return: ES:DI buffer filled
  5653.         01h ???
  5654.         BH = ???
  5655.         02h ???
  5656.         BH = ??? (bit flags?)
  5657.         03h ???
  5658.         SI = index of ???
  5659.         Return: CL = value of ???
  5660.         04h ???
  5661.         DX = ???
  5662.         Return: CL,EDX destroyed
  5663.         else
  5664.         Return: AX = FFFFh
  5665. Return: AL = 4Fh if function supported
  5666.         AH = status
  5667.         00h successful
  5668.         01h failed
  5669. Note:    this function is provided for OEMs to implement system-specific
  5670.       functionality in a VESA-compatible manner
  5671.  
  5672. Format of Matrox-specific VESA extensions information:
  5673. Offset    Size    Description    (Table 0102)
  5674.  00h  7 BYTEs    signature "VBE/MGA"
  5675.  07h 12 BYTEs    ??? (01h 01h 00h 00h 00h 00h 00h 00h 00h 07h 01h 02h)
  5676.  13h    DWORD    ->
  5677.  17h    DWORD    ->
  5678.  1Bh    DWORD    ->
  5679.  1Fh    DWORD    ->
  5680.  23h    DWORD    ->
  5681.  27h    DWORD    ->
  5682.  2Bh    WORD    ???
  5683.  2Dh    DWORD    ???
  5684.  31h    DWORD    ???
  5685.  35h    WORD    ???
  5686.  37h 201 BYTEs    unused??? (cleared to 00h)
  5687. --------V-104F15BL00-------------------------
  5688. INT 10 - VESA VBE/DC (Display Data Channel) - INSTALLATION CHECK / CAPABILITIES
  5689.     AX = 4F15h
  5690.     BL = 00h
  5691. Return: AL = 4Fh if function supported
  5692.         AH = status
  5693.         00h successful
  5694.             BX = ???
  5695.         01h failed
  5696.             ???
  5697. SeeAlso: AX=4F15h/BL=01h,AX=4F15h/BL=02h
  5698. --------V-104F15BL01-------------------------
  5699. INT 10 - VESA VBE/DC (Display Data Channel) - READ EDID
  5700.     AX = 4F15h
  5701.     BL = 01h
  5702.     CX = 0000h
  5703.     DX = 0000h
  5704.     ES:DI -> 128-byte buffer for EDID record (see #0103)
  5705. Return: AL = 4Fh if function supported
  5706.         AH = status
  5707.         00h successful
  5708.             ES:DI buffer filled
  5709.         01h failed (e.g. non-DDC monitor)
  5710. SeeAlso: AX=4F15h/BL=00h,AX=4F15h/BL=02h,I2C A0h"DDC"
  5711.  
  5712. Format of VESA EDID record:
  5713. Offset    Size    Description    (Table 0103)
  5714.  00h  8 BYTEs    padding (all FFh, or 00h FFh..FFh 00h)
  5715.  08h    WORD    big-endian manufacturer ID (see #0109)
  5716.         bits 14-10: first letter (00h=A, 01h=B, etc.)
  5717.         bits 9-5: second letter
  5718.         bits 4-0: third letter
  5719.  0Ah    WORD    EDID ID code -- identifies monitor model
  5720.  0Ch    DWORD    serial number or FFFFFFFFh
  5721.  10h    BYTE    week number of manufacture
  5722.  11h    BYTE    manufacture year - 1990
  5723.  12h    BYTE    EDID version
  5724.  13h    BYTE    EDID revision
  5725.  14h    BYTE    video input type (see #0105)
  5726.  15h    BYTE    maximum horizontal size in cm
  5727.  16h    BYTE    maximum vertical size in cm
  5728.  17h    BYTE    gamma factor (gamma = 1.0 + factor/100, so max = 3.55)
  5729.  18h    BYTE    DPMS flags (see #0104)
  5730.  19h    BYTE    chroma information: green X'/Y' and red X'/Y'
  5731.  1Ah    BYTE    chroma information: white X'/Y' and blue X'/Y'
  5732.  1Bh    BYTE    chroma information: red Y
  5733.  1Ch    BYTE    chroma information: red X
  5734.  1Dh    BYTE    chroma information: green Y
  5735.  1Eh    BYTE    chroma information: green X
  5736.  1Fh    BYTE    chroma information: blue Y
  5737.  20h    BYTE    chroma information: blue X
  5738.  21h    BYTE    chroma information: white Y
  5739.  22h    BYTE    chroma information: white X
  5740.  23h    BYTE    established timings 1 (see #0106)
  5741.  24h    BYTE    established timings 2 (see #0107)
  5742.  25h    BYTE    manufacturer's reserved timing or 00h for none
  5743.         bit 7: 1152x870 @ 75 Hz (Mac II, Apple)
  5744.  26h  8 WORDs    standard timing identification
  5745.         resolution (low byte) and vertical frequency (high byte) for
  5746.           each of eight modes (see #0108)
  5747.         X resolution = (lowbyte + 31) * 8
  5748.  36h 18 BYTEs    detailed timing description #1 (see #3758)
  5749.  48h 18 BYTEs    detailed timing description #2
  5750.  5Ah 18 BYTEs    detailed timing description #3
  5751.  6Ch 18 BYTEs    detailed timing description #4
  5752.  7Eh    BYTE    unused???
  5753.  7Fh    BYTE    checksum
  5754.         (radix-complement: 256-low byte of 16-bit sum of 00h-7Eh)
  5755.  
  5756. Bitfields for DPMS EDID flags:
  5757. Bit(s)    Description    (Table 0104)
  5758.  2-0    unused???
  5759.  3    display type
  5760.     =0 non-RGB multicolor
  5761.     =1 RGB color
  5762.  4    unused???
  5763.  5    Active Off supported
  5764.  6    Suspend supported
  5765.  7    Standby supported
  5766. SeeAlso: #0103
  5767.  
  5768. Bitfields for DPMS input signal type:
  5769. Bit(s)    Description    (Table 0105)
  5770.  0    separate sync
  5771.  1    composite sync
  5772.  2    sync on green
  5773.  4-3    unused???
  5774.  6-5    voltage level
  5775.     00 0.700V/0.300V (1.00 Vp-p)
  5776.     01 0.714V/0.286V
  5777.     10 0.100V/0.400V
  5778.     11 reserved
  5779.  7    =1 digital signal, =0 analog
  5780. SeeAlso: #0103
  5781.  
  5782. Bitfields for DPMS established timings 1:
  5783. Bit(s)    Description    (Table 0106)
  5784.  0    720x400 @ 70 Hz (VGA 640x400, IBM)
  5785.  1    720x400 @ 88 Hz (XGA2)
  5786.  2    640x480 @ 60 Hz (VGA)
  5787.  3    640x480 @ 67 Hz (Mac II, Apple)
  5788.  4    640x480 @ 72 Hz (VESA)
  5789.  5    640x480 @ 75 Hz (VESA)
  5790.  6    800x600 @ 56 Hz (VESA)
  5791.  7    800x600 @ 60 Hz (VESA)
  5792. SeeAlso: #0103,#0107
  5793.  
  5794. Bitfields for DPMS established timings 2:
  5795. Bit(s)    Description    (Table 0107)
  5796.  0    800x600 @ 72 Hz (VESA)
  5797.  1    800x600 @ 75 Hz (VESA)
  5798.  2    832x624 @ 75 Hz (Mac II)
  5799.  3    1024x768 @ 87 Hz interlaced (8514A)
  5800.  4    1024x768 @ 60 Hz (VESA)
  5801.  5    1024x768 @ 70 Hz (VESA)
  5802.  6    1024x768 @ 75 Hz (VESA)
  5803.  7    1280x1024 @ 75 Hz (VESA)
  5804. SeeAlso: #0103,#0106
  5805.  
  5806. Bitfields for DPMS standard timing information:
  5807. Bit(s)    Description    (Table 0108)
  5808.  5-0    vertical refresh frequency - 60 (Hz)
  5809.  7-6    aspect ratio (Y resolution = X resolution * aspect ratio)
  5810.     00 ???
  5811.     01 0.75
  5812.     10 0.8
  5813.     11 0.5625
  5814. Note:    if both bytes of the timing are 00h or 01h, then the Standard Timing
  5815.       is "None"
  5816. SeeAlso: #0103
  5817.  
  5818. Format of Detailed Timing Description:
  5819. Offset    Size    Description    (Table 3758)
  5820.  00h    BYTE    horizontal frequency in kHz
  5821.  01h    BYTE    vertical frequency in Hz
  5822.  02h    BYTE    horizontal active time (pixels) and X resolution
  5823.  03h    BYTE    horizontal blanking time (pixels)
  5824.  04h    BYTE    horizontal active time 2 / horizontal blanking time 2
  5825.  05h    BYTE    vertical active time (lines) and Y resolution
  5826.  06h    BYTE    vertical blanking time (lines)
  5827.  07h    BYTE    vertical active time 2 / vertical blanking time 2
  5828.  08h    BYTE    horizontal sync offset (pixels)
  5829.  09h    BYTE    horizontal sync pulsewidth (pixels)
  5830.  0Ah    BYTE    vertical sync offset / vertical sync pulsewidth
  5831.  0Bh    BYTE    vertical/horizontal sync offset 2 / vert/hor. sync pulsewidth 2
  5832.  0Ch    BYTE    horizontal image size (mm)
  5833.  0Dh    BYTE    vertical image size (mm)
  5834.  0Eh    BYTE    horizontal image size 2 / vertical image size 2
  5835.  0Fh    BYTE    horizontal border (pixels)
  5836.  10h    BYTE    vertical border (lines)
  5837.  11h    BYTE    type of display (!!!)
  5838. SeeAlso: #0103
  5839.  
  5840. (Table 0109)
  5841. Values for manufacturer ID:
  5842.  "AOC"    AOC International (USA) Ltd. (see #3726)
  5843.  "API"    Acer (see #3727)
  5844.  "APP"    Apple Computer, Inc.
  5845.  "AST"    AST Research (see #0110)
  5846.  "CPL"    ALFA (see #3728)
  5847.  "CPQ"    COMPAQ (see #3729)
  5848.  "CTX"    CTX - Chuntex Electronic (see #3730)
  5849.  "DEC"    Digital Equipment Corporation
  5850.  "DEL"    Dell Computer Corp. (see #3731)
  5851.  "DWE"    Daewoo (see #3732)
  5852.  "ECS"    ELITEGROUP Computer Systems (see #3733)
  5853.  "EIZ"    EIZO (see #3734)
  5854.  "GSM"    LG Electronics Inc. (see #3742)
  5855.  "HEI"    Hyundai Electronics Industries Co., Ltd. (see #3735)
  5856.  "HSL"    Hansol Electronics
  5857.  "HTC"    Hitachi Ltd. (see #3736)
  5858.  "HWP"    Hewlett Packard (see #3738)
  5859.  "IBM"    IBM PC Company (see #3739)
  5860.  "ICL"    Fujitsu ICL  (see #3740)
  5861.  "IVM"    Idek Iiyama North America, Inc. (see #3741)
  5862.  "LKM"    AZALEA
  5863.  "LNK"    LINK Technologies, Inc.
  5864.  "MAG"    MAG Technology Co., Ltd. (see #3743)
  5865.  "MAX"    Maxdata Computer GmbH
  5866.  "MEI"    Panasonic Comm. & Systems Co. (see #3752)
  5867.  "MEL"    Mitsubishi Electronics (see #3744)
  5868.  "MIR"    miro Computer Products AG (see #3745)
  5869.  "MTC"    MITAC
  5870.  "NAN"    NANAO (see #3746)
  5871.  "NEC"    NEC Technologies, Inc. (see #3747)
  5872.  "NOK"    Nokia (see #3748)
  5873.  "OQI"    OPTIQUEST (see #3749)
  5874.  "PGS"    Princeton Graphic Systems (see #3750)
  5875.  "PHL"    Philips Consumer Electronics Co. (see #3751)
  5876.  "REL"    Relisys
  5877.  "SAM"    Samsung (see #3753)
  5878.  "SDI"    Samtron (see #3754)
  5879.  "SNI"    Siemens Nixdorf
  5880.  "TAT"    Tatung Co. of America, Inc. (see #3755)
  5881.  "TRL"    Royal Information Company (see #3756)
  5882.  "UNM"    Unisys Corporation
  5883.  "VSC"    ViewSonic Corporation (see #3757)
  5884.  "___"    Targa
  5885. SeeAlso: #0103
  5886.  
  5887. (Table 3726)
  5888. Values for AOC monitor EDID:
  5889.  A566h    AOC SPECTRUM 5Nlr
  5890.  A782h    AOC SPECTRUM 7Nlr
  5891.  D350h    AOC SPECTRUM 4V, 4VA, 4Vlr, 4VlrA
  5892.  D566h    AOC SPECTRUM 5Vlr, 5VlrA
  5893.  E570h    AOC SPECTRUM 5Glr
  5894.  E750h    AOC SPECTRUM 7DlrA
  5895. SeeAlso: #0109,#3727
  5896.  
  5897. (Table 3727)
  5898. Values for Acer monitor EDID:
  5899.  0037h    AcerView 55
  5900.  424Ch    AcerView 76ie
  5901.  440Bh    AcerView 11D
  5902.  4421h    AcerView 33D
  5903.  4522h    AcerView 7134e
  5904.  4536h    AcerView 7154e
  5905.  4538h    AcerView 7156e
  5906.  454Ch    AcerView 7176ie
  5907.  454Eh    AcerView 7178ie
  5908.  4938h    AcerView 7156i
  5909.  494Ch    AcerView 76i
  5910.  494Eh    AcerView 78i
  5911.  4962h    AcerView 98i
  5912.  4C21h    AcerView 33DL
  5913.  4C22h    AcerView 34TL
  5914.  4C37h    AcerView 55L
  5915.  4C38h    AcerView 56L
  5916.  4E4Ch    AcerView 76N
  5917.  5321h    AcerView 7133s
  5918.  5322h    AcerView 7134s
  5919.  5336h    AcerView 7154s
  5920.  5338h    AcerView 7156s
  5921.  5338h    AcerView 7156is
  5922.  534Ch    AcerView 7176is
  5923.  5422h    AcerView 34T
  5924. SeeAlso: #0109,#3726,#0110
  5925.  
  5926. (Table 0110)
  5927. Values for AST monitor EDID:
  5928.  8001h    ASTVision 4V
  5929.  8002h    ASTVision 4I
  5930.  8003h    ASTVision 4N
  5931.  8004h    ASTVision 4L
  5932.  8005h    ASTVision 5L
  5933.  8006h    ASTVision 7L
  5934.  8007h    ASTVision 7H
  5935.  8008h    ASTVision 20H
  5936.  8009h    AST Sabre
  5937.  800Ah    ASTVision 5V
  5938. SeeAlso: #0109,#0103,#3727,#3728
  5939.  
  5940. (Table 3728)
  5941. Values for ALFA monitor EDID:
  5942.  096Bh    ALFA TH-450
  5943. SeeAlso: #0109,#0110,#3729
  5944.  
  5945. (Table 3729)
  5946. Values for Compaq monitor EDID:
  5947.  0011h    COMPAQ 1024
  5948.  0012h    COMPAQ 1024
  5949.  0013h    COMPAQ 1024
  5950.  0014h    COMPAQ 1024
  5951.  0015h    COMPAQ 1024
  5952.  0016h    COMPAQ 1024
  5953.  0017h    COMPAQ PRB
  5954.  0018h    COMPAQ PRB
  5955.  0019h    COMPAQ PRB
  5956.  001Ah    COMPAQ PRB
  5957.  0020h    COMPAQ PRB
  5958.  0021h    COMPAQ PRB
  5959.  0022h    COMPAQ 151FS
  5960.  0023h    COMPAQ 151FS
  5961.  0024h    COMPAQ 151FS
  5962.  0025h    COMPAQ 151FS
  5963.  0026h    COMPAQ 151FS
  5964.  0027h    COMPAQ 151FS
  5965.  0028h    COMPAQ 151FS
  5966.  0029h    COMPAQ PRB
  5967.  002Ah    COMPAQ PRB
  5968.  002Bh    COMPAQ PRB
  5969.  002Ch    COMPAQ PRB
  5970.  002Dh    COMPAQ 171FS
  5971.  002Eh    COMPAQ 171FS
  5972.  002Fh    COMPAQ 171FS
  5973.  0030h    COMPAQ 171FS
  5974.  0031h    COMPAQ 171FS
  5975.  0032h    COMPAQ 171FS
  5976.  0033h    COMPAQ 171FS
  5977.  0040h    COMPAQ QVision 200
  5978.  0041h    COMPAQ QVision 200
  5979.  0042h    COMPAQ QVision 200
  5980.  0043h    COMPAQ QVision 200
  5981.  0044h    COMPAQ QVision 200
  5982.  0045h    COMPAQ QVision 200
  5983.  0046h    COMPAQ QVision 200
  5984.  0047h    COMPAQ QVision 200
  5985.  0048h    COMPAQ QVision 200
  5986.  0049h    COMPAQ QVision 200
  5987.  0100h    COMPAQ 1024
  5988.  0146h    COMPAQ 1024
  5989.  0147h    COMPAQ 1024
  5990.  0346h    COMPAQ 151FS
  5991.  0347h    COMPAQ 151FS
  5992.  0348h    COMPAQ 151FS
  5993.  0349h    COMPAQ 151FS
  5994.  034Ah    COMPAQ 151FS
  5995.  034Bh    COMPAQ 151FS
  5996.  0546h    COMPAQ 171FS
  5997.  0547h    COMPAQ 171FS
  5998.  0548h    COMPAQ 171FS
  5999.  0549h    COMPAQ 171FS
  6000.  0746h    COMPAQ PRB
  6001.  0747h    COMPAQ PRB
  6002.  0846h    COMPAQ PRA
  6003.  0847h    COMPAQ PRA
  6004.  0848h    COMPAQ PRA
  6005.  0849h    COMPAQ PRA
  6006.  084Ah    COMPAQ PRA
  6007.  084Bh    COMPAQ PRA
  6008.  084Ch    COMPAQ PRA
  6009.  084Dh    COMPAQ PRA
  6010.  0946h    COMPAQ PRB
  6011.  0947h    COMPAQ PRB
  6012.  0948h    COMPAQ PRB
  6013.  0949h    COMPAQ PRB
  6014.  0A46h    COMPAQ PRA
  6015.  0A47h    COMPAQ PRA
  6016.  0A48h    COMPAQ PRA
  6017.  0A49h    COMPAQ PRA
  6018.  0A4Ah    COMPAQ PRA
  6019.  0A4Bh    COMPAQ PRA
  6020.  0A4Ch    COMPAQ PRA
  6021.  0A4Dh    COMPAQ PRA
  6022.  0D46h    COMPAQ 140
  6023.  0D47h    COMPAQ 140
  6024.  0D48h    COMPAQ 140
  6025.  0D49h    COMPAQ 140
  6026.  0D4Ah    COMPAQ 140
  6027.  0D4Bh    COMPAQ 140
  6028.  0D4Ch    COMPAQ 140
  6029.  0D4Dh    COMPAQ 140
  6030.  0F46h    COMPAQ 150
  6031.  0F47h    COMPAQ 150
  6032.  0F48h    COMPAQ 150
  6033.  0F49h    COMPAQ 150
  6034.  0F4Ah    COMPAQ 150
  6035.  0F4Bh    COMPAQ 150
  6036.  0F4Ch    COMPAQ 150
  6037.  0F4Dh    COMPAQ 150
  6038. SeeAlso: #0109,#3728,#3730
  6039.  
  6040. (Table 3730)
  6041. Values for "CTX" monitor EDID:
  6042.  1451h    CTX 1451
  6043.  1551h    CTX 1551
  6044.  1562h    CTX 1562
  6045.  1565h    CTX 1565
  6046.  1765h    CTX 1765
  6047.  1785h    CTX 1785
  6048.  2085h    CTX 2085
  6049.  2185h    CTX 2185
  6050. SeeAlso: #0109,#3729,#3731
  6051.  
  6052. (Table 3731)
  6053. Values for Dell monitor EDID:
  6054.  139Ah    Dell Ultrascan 14XE
  6055.  139Bh    Dell Ultrascan 14XE
  6056.  139Ch    Dell Ultrascan 14XE
  6057.  139Dh    Dell Ultrascan 14XE
  6058.  2210h    Dell Ultrascan V17X
  6059.  2211h    Dell Ultrascan V17X
  6060.  2212h    Dell Ultrascan V17X
  6061.  2213h    Dell Ultrascan V17X
  6062.  2214h    Dell Ultrascan 21TE
  6063.  2215h    Dell Ultrascan 21TE
  6064.  2216h    Dell Ultrascan 21TE
  6065.  2217h    Dell Ultrascan 21TE
  6066.  3024h    Dell VS17X
  6067.  3025h    Dell VS17X
  6068.  3026h    Dell VS17X
  6069.  3027h    Dell VS17X
  6070.  4273h    Dell VS15X
  6071. SeeAlso: #0109,#3730,#3732
  6072.  
  6073. (Table 3732)
  6074. Values for Daewoo monitor EDID:
  6075.  1423h    Daewoo CMC-1423B1
  6076.  1427h    Daewoo CMC-1427X1
  6077.  1502h    Daewoo CMC-1502B1
  6078.  1505h    Daewoo CMC-1505X
  6079.  1507h    Daewoo CMC-1507X1
  6080.  1703h    Daewoo CMC-1703B
  6081.  7044h    Daewoo CMC-1704C
  6082. SeeAlso: #0109,#3731,#3733
  6083.  
  6084. (Table 3733)
  6085. Values for ELITEGROUP Computer Systems monitor EDID:
  6086.  0001h    ECS VERTOS 1401
  6087.  0002h    ECS VERTOS 1501
  6088.  0003h    ECS VERTOS 1502
  6089.  0004h    ECS VERTOS 1503
  6090.  0005h    ECS VERTOS 1700
  6091.  0006h    ECS VERTOS 1701
  6092.  0007h    ECS VERTOS 1700
  6093.  0008h    ECS VERTOS 2101
  6094.  0009h    ECS VERTOS 2102
  6095. SeeAlso: #0109,#3732,#3734
  6096.  
  6097. (Table 3734)
  6098. Values for EIZO monitor EDID:
  6099.  0200h    EIZO FlexScan F351
  6100.  0201h    EIZO FlexScan F553
  6101.  0202h    EIZO FlexScan F563
  6102.  0203h    EIZO FlexScan F764
  6103.  0204h    EIZO FlexScan F784
  6104.  0206h    EIZO FlexScan 6600
  6105.  0300h    EIZO FlexScan 6500
  6106.  0302h    EIZO 9060S
  6107.  0303h    EIZO 9065S
  6108.  0305h    EIZO FlexScan T563
  6109.  0306h    EIZO 9070S
  6110.  0307h    EIZO 9080i
  6111.  0308h    EIZO 9400i
  6112.  0309h    EIZO 9500
  6113.  030Ah    EIZO FlexScan F340iW
  6114.  030Ch    EIZO FlexScan F552
  6115.  030Dh    EIZO FlexScan F560iW
  6116.  030Fh    EIZO FlexScan F760iW
  6117.  0310h    EIZO FlexScan F780iW
  6118.  0311h    EIZO FlexScan T560i
  6119.  0312h    EIZO FlexScan T660i
  6120.  0313h    EIZO FlexScan T562
  6121.  0314h    EIZO FlexScan T662
  6122.  038Ch    EIZO FlexScan F550iW
  6123. SeeAlso: #0109,#3733,#3735
  6124.  
  6125. (Table 3735)
  6126. Values for Hyundai monitor EDID:
  6127.  5864h    Hyundai DeluxScan 15 Pro
  6128.  B81Eh    Hyundai DeluxScan 17
  6129. SeeAlso: #0109,#3734,#3736
  6130.  
  6131. (Table 3736)
  6132. Values for Hitachi monitor EDID:
  6133.  1717h    Hitachi Accuvue GX17L
  6134.  1727h    Hitachi HM1764
  6135.  1827h    Hitachi HM1782
  6136.  2147h    Hitachi HM4721
  6137.  2149h    Hitachi HM4921
  6138.  4020h    Hitachi HM4020
  6139.  4021h    Hitachi HM4021
  6140.  4711h    Hitachi Accuvue UX4721
  6141.  4810h    Hitachi Accuvue GX20
  6142.  4811h    Hitachi Accuvue GX21
  6143.  4820h    Hitachi HM4820
  6144.  4821h    Hitachi HM4821
  6145.  4830h    Hitachi Accuvue GX20H
  6146.  4911h    Hitachi Accuvue UX4921
  6147.  6421h    Hitachi HM6421
  6148.  6811h    Hitachi Accuvue UX6821
  6149.  6821h    Hitachi HM6821
  6150.  AB6Fh    CM-1711M
  6151.  ABC2h    CM-2112M
  6152.  ABC7h    CM-2111M
  6153.  ABCCh    CM-2110M
  6154. SeeAlso: #0109,#3735,#3738
  6155.  
  6156. (Table 3738)
  6157. Values for Hewlett-Packard monitor EDID:
  6158.  0AF0h    HP D2800A Ultra VGA 1600 21"
  6159.  0AF6h    HP D2806A Ergo Ultra VGA 15"
  6160.  0AFFh    HP D2815A 1024 Low Emission 14"
  6161.  0F11h    HP D3857A Multi Media 15"
  6162.  0F12h    HP D3858A Multi Media 14"
  6163. SeeAlso: #0109,#3736,#3739
  6164.  
  6165. (Table 3739)
  6166. Values for IBM monitor EDID:
  6167.  198Eh    IBM G41
  6168.  198Fh    IBM G50
  6169.  1990h    IBM G70
  6170.  1991h    IBM G200
  6171.  1999h    IBM P50
  6172.  199Ah    IBM P70
  6173.  199Bh    IBM P200
  6174.  2112h    IBM 2112
  6175.  2113h    IBM 2113
  6176.  2114h    IBM 2114
  6177.  2115h    IBM 2115
  6178.  2117h    IBM 2117
  6179.  2215h    IBM 2215
  6180.  2238h    IBM 2238
  6181.  2248h    IBM 2248
  6182.  2264h    IBM 2264
  6183.  2535h    IBM 9525-0X1
  6184.  6312h    IBM 6312
  6185.  6314h    IBM 6314
  6186.  6315h    IBM 6315
  6187.  6317h    IBM 6317
  6188.  6319h    IBM 6319
  6189.  6321h    IBM 6321
  6190.  6322h    IBM 6322
  6191.  6324h    IBM 6324
  6192.  6325h    IBM 6325
  6193.  6327h    IBM 6327
  6194.  8504h    IBM 8504
  6195.  8511h    IBM 8511
  6196.  8512h    IBM 8512
  6197.  8513h    IBM 8513
  6198.  8514h    IBM 8514
  6199.  8515h    IBM 8515
  6200.  8517h    IBM 8517
  6201.  8518h    IBM 8518
  6202.  9504h    IBM 9504
  6203.  9515h    IBM 9515
  6204.  9517h    IBM 9517
  6205.  9518h    IBM 9518
  6206.  9521h    IBM 9521
  6207.  9524h    IBM 9524
  6208.  9525h    IBM 9525
  6209.  9527h    IBM 9527
  6210. SeeAlso: #0109,#3738,#3740
  6211.  
  6212. (Table 3740)
  6213. Values for Fujitsu ICL monitor EDID:
  6214.  0100h    Fujitsu ICL ErgoPro 211v
  6215.  0200h    Fujitsu ICL ErgoPro 171p
  6216.  0400h    Fujitsu ICL ErgoPro 171v
  6217.  0700h    Fujitsu ICL ErgoPro 151p
  6218.  0800h    Fujitsu ICL ErgoPro 151p AutoBrite
  6219.  0A00h    Fujitsu ICL ErgoPro 151v
  6220.  0B00h    Fujitsu ICL ErgoPro 141v
  6221.  0D00h    Fujitsu ICL ErgoPro 141p
  6222.  0F00h    Fujitsu ICL ErgoPro 152v
  6223.  1400h    Fujitsu ICL ErgoPro 142v
  6224. SeeAlso: #0109,#3739,#3741
  6225.  
  6226. (Table 3741)
  6227. Values for Idek Iiyama North America monitor EDID:
  6228.  1700h    Iiyama Vision Master MF-8617
  6229. SeeAlso: #0109,#3740,#3742
  6230.  
  6231. (Table 3742)
  6232. Values for LG Electronics monitor EDID:
  6233.  36B4h    LG StudioWorks 44m
  6234.  3AA0h    LG 1505s
  6235.  3AA2h    LG StudioWorks 56m
  6236.  426Ch    LG StudioWorks 78i
  6237.  4E21h    LG StudioWorks 20i
  6238. SeeAlso: #0109,#3741,#3743
  6239.  
  6240. (Table 3743)
  6241. Values for MAG monitor EDID:
  6242.  5620h    DX1595
  6243.  5624h    DX15T
  6244.  5626h    DX1795
  6245. SeeAlso: #0109,#3742,#3744
  6246.  
  6247. (Table 3744)
  6248. Values for Mitsubishi monitor EDID:
  6249.  0040h    Mitsubishi Diamond Pro 21TX (THN-9105)
  6250.  2040h    Mitsubishi Diamond Scan 20H (FR-8905)
  6251.  2040h    Mitsubishi Diamond Pro 20X (FR-8905B)
  6252.  6140h    Mitsubishi Diamond Scan 17HX (FFF8705)
  6253.  8040h    Mitsubishi Diamond Pro 15H (SD-57xxC)
  6254.  4040h    Mitsubishi Diamond Pro 17TX (TFG-8705)
  6255.  408Fh    Mitsubishi Diamond Scan 15VX (SD58xx)
  6256.  40C0h    Mitsubishi Diamond Pro 87TXM (TFM8705)
  6257. SeeAlso: #0109,#3743,#3745
  6258.  
  6259. (Table 3745)
  6260. Values for Miro monitor EDID:
  6261.  0721h    PROOFSCREEN miroC21107
  6262.  6815h    miroD1568
  6263.  6817h    PROOFSCREEN miroC1768
  6264.  6917h    miroD1769
  6265.  8217h    PROOFSCREEN miroC1782
  6266.  8520h    PROOFSCREEN miroC2085 E
  6267.  8521h    PROOFSCREEN miroC2185
  6268.  9321h    PROOFSCREEN miroC2193
  6269. SeeAlso: #0109,#3744,#3746
  6270.  
  6271. (Table 3746)
  6272. Values for Nanao monitor EDID:
  6273.  0000h    NANAO USA FlexScan T2-20
  6274.  0400h    NANAO USA F2-15
  6275.  0401h    NANAO USA F2-17
  6276.  0402h    NANAO USA F2-17EX
  6277.  0403h    NANAO USA F2-21
  6278.  0404h    NANAO USA FX2-21
  6279.  0405h    NANAO USA FlexScan T2-17TS
  6280.  0406h    NANAO FlexScan 6600
  6281.  0502h    NANAO 9060S
  6282.  0503h    NANAO 9065S
  6283.  0506h    NANAO 9070U
  6284.  0507h    NANAO 9080i
  6285.  0508h    NANAO 9400i
  6286.  0509h    NANAO 9500
  6287.  050Ah    NANAO FlexScan F340iW
  6288.  050Bh    NANAO FlexScan F550i
  6289.  050Ch    NANAO FlexScan F550iW
  6290.  050Dh    NANAO FlexScan F560iW
  6291.  050Eh    NANAO FlexScan F750i
  6292.  050Fh    NANAO FlexScan F760iW
  6293.  0510h    NANAO FlexScan F780iW
  6294.  0511h    NANAO FlexScan T560i
  6295.  0512h    NANAO FlexScan T660i
  6296.  0513h    NANAO USA FlexScan T2-17
  6297.  0514h    NANAO USA FlexScan T2-20
  6298.  0580h    NANAO USA FlexScan 6300
  6299.  0800h    NANAO FlexScan 33F
  6300.  0802h    NANAO FlexScan 88F
  6301.  0805h    NANAO FlexScan 54T
  6302.  0882h    NANAO FlexScan 52F
  6303.  0900h    NANAO FlexScan 6500
  6304.  0902h    NANAO 9060S
  6305.  0906h    NANAO 9070U
  6306.  0907h    NANAO 9080i
  6307.  090Ah    NANAO FlexScan F347
  6308.  090Bh    NANAO FlexScan F550i
  6309.  090Ch    NANAO FlexScan F557
  6310.  090Fh    NANAO FlexScan 77F
  6311.  0910h    NANAO FlexScan F780iJ
  6312.  0911h    NANAO FlexScan T560iJ
  6313.  0912h    NANAO FlexScan T660iJ
  6314.  0913h    NANAO FlexScan 56T
  6315.  0914h    NANAO FlexScan 68T
  6316.  098Ah    NANAO FlexScan F347II
  6317.  098Ch    NANAO FlexScan 55F
  6318.  098Fh    NANAO FlexScan 76F
  6319.  0991h    NANAO FlexScan T567
  6320.  0993h    NANAO FlexScan 53T
  6321. SeeAlso: #0109,#3745,#3747
  6322.  
  6323. (Table 3747)
  6324. Values for NEC monitor EDID:
  6325.  37FAh    NEC MultiSync XV14
  6326.  37FBh    NEC MultiSync XV14
  6327.  3A66h    NEC MultiSync C400
  6328.  3C00h    NEC MultiSync XE15
  6329.  3C0Ah    NEC MultiSync XP15
  6330.  3C14h    NEC MultiSync XV15
  6331.  3C1Eh    NEC MultiSync XE15
  6332.  3D5Eh    NEC MultiSync XV15+
  6333.  3D68h    NEC MultiSync M500
  6334.  3E4Eh    NEC MultiSync C500
  6335.  43A8h    NEC MultiSync XE17
  6336.  43B2h    NEC MultiSync XE17
  6337.  43BCh    NEC MultiSync XV17
  6338.  4416h    NEC MultiSync XP17
  6339.  533Eh    NEC MultiSync XE21
  6340.  53B6h    NEC MultiSync XP21
  6341. SeeAlso: #0109,#3746,#3748
  6342.  
  6343. (Table 3748)
  6344. Values for Nokia monitor EDID:
  6345.  008Dh    NOKIA 449M
  6346.  0098h    NOKIA 449X
  6347.  00A3h    NOKIA 447KC
  6348.  00A9h    NOKIA 447XI
  6349.  00ABh    NOKIA 447KA
  6350.  00ADh    NOKIA 447M
  6351.  00B7h    NOKIA 447W
  6352.  00B8h    NOKIA 447X
  6353.  00BBh    NOKIA 447XAV
  6354.  00BCh    NOKIA 447K
  6355.  00D2h    NOKIA 445R
  6356. SeeAlso: #0109,#3747,#3749
  6357.  
  6358. (Table 3749)
  6359. Values for OptiQuest monitor EDID:
  6360.  3138h    OPTIQUEST VA656
  6361.  3141h    OPTIQUEST 14ES
  6362.  3232h    OPTIQUEST 1562A-2
  6363.  3233h    OPTIQUEST 1769DC
  6364.  3234h    OPTIQUEST 1000S-2
  6365.  3332h    OPTIQUEST V655
  6366.  3333h    OPTIQUEST V775
  6367.  3432h    OPTIQUEST V650
  6368.  3832h    OPTIQUEST V665
  6369.  4637h    OPTIQUEST 1769DC
  6370. SeeAlso: #0109,#3748,#3750
  6371.  
  6372. (Table 3750)
  6373. Values for Princeton Graphics monitor EDID:
  6374.  003Bh    Princeton EO15
  6375.  003Dh    Princeton EO17
  6376. SeeAlso: #0109,#3749,#3751
  6377.  
  6378. (Table 3751)
  6379. Values for Philips monitor EDID:
  6380.  0200h    Philips CM0200 (15C)
  6381.  0500h    Philips CM0500 (20C)
  6382.  0700h    Philips CM0700 (20T)
  6383.  0800h    Philips CM0800 (15B)
  6384.  1200h    Philips CM1200 (15A)
  6385.  1800h    Philips CM1800 (15A)
  6386.  2000h    Philips CM0200 (14B)
  6387.  2600h    Philips 17TCM26
  6388.  2800h    Philips 17BCM28
  6389.  3800h    Philips 17ACM38
  6390.  5600h    Philips CM5600 (20B)
  6391.  700Bh    Philips CM0700 (21B)
  6392.  8000h    Philips CM0800 (14A)
  6393. SeeAlso: #0109,#3750,#3752
  6394.  
  6395. (Table 3752)
  6396. Values for Panasonic monitor EDID:
  6397.  1604h    Panasonic TX-D2151W-ES
  6398.  1610h    Panasonic TX-D2151NM
  6399. SeeAlso: #0109,#3751,#3753
  6400.  
  6401. (Table 3753)
  6402. Values for Samsung monitor EDID:
  6403.  0000h    Samsung SyncMaster 3Ne
  6404.  0100h    Samsung SyncMaster 4S
  6405.  1530h    Samsung 15GLsi
  6406.  4610h    Samsung SyncMaster 21GLs
  6407.  4690h    Samsung SyncMaster 20GLsi
  6408.  4D50h    Samsung SyncMaster 15GLe
  6409.  4D51h    Samsung SyncMaster 15GLi
  6410.  4D52h    Samsung SyncMaster 15M
  6411.  4D70h    Samsung SyncMaster 17GLi
  6412.  4D71h    Samsung SyncMaster 17GLsi
  6413.  4D72h    Samsung SyncMaster 6Ne
  6414.  4D73h    Samsung 17GLi
  6415.  4D74h    Samsung 17GLsi
  6416.  5450h    Samsung SyncMaster 15Me
  6417.  6D20h    Samsung SyncMaster 15GLe
  6418. SeeAlso: #0109,#3752,#3754
  6419.  
  6420. (Table 3754)
  6421. Values for Samtron monitor EDID:
  6422.  1428h    Samtron 428PT/PTL
  6423.  1528h    Samtron SC-528TXL
  6424.  1529h    Samtron SC-528UXL
  6425.  1530h    Samtron SC-528MXLJ
  6426.  4690h    Samtron SC-208DXL+
  6427.  4D70h    Samtron SC-728FXL
  6428.  4D71h    Samtron SC-726GXL
  6429.  5451h    Samtron SC-528MDL
  6430. SeeAlso: #0109,#3753,#3755
  6431.  
  6432. (Table 3755)
  6433. Values for Tatung monitor EDID:
  6434.  1F65h    Intelliscan TM651x series 15"
  6435.  1F67h    Intelliscan TM671x series 17"
  6436.  2F44h    Intelliscan TM442x series 14"
  6437.  2F45h    Intelliscan TM452x series 15"
  6438.  434Dh    Tatung CM-17MC
  6439.  4855h    Tatung CM-14UH
  6440. SeeAlso: #0109,#3754,#3756
  6441.  
  6442. (Table 3756)
  6443. Values for Royal Information Company monitor EDID:
  6444.  061Ch    TRL/RIC DL-1564
  6445.  0622h    TRL/RIC DH-1570
  6446. SeeAlso: #0109,#3755,#3757
  6447.  
  6448. (Table 3757)
  6449. Values for ViewSonic monitor EDID:
  6450.  0C00h    ViewSonic 17GS
  6451.  0C0Fh    ViewSonic 17PS
  6452.  0C1Fh    ViewSonic 17GA
  6453.  1600h    ViewSonic 21PS-2
  6454.  2601h    ViewSonic 15GS
  6455.  2600h    ViewSonic 15GS-2
  6456.  3141h    ViewSonic 14ES
  6457.  3142h    ViewSonic 14ES
  6458.  3143h    ViewSonic 14ES
  6459.  3145h    ViewSonic 15GS-3
  6460.  3252h    ViewSonic 21PS-2
  6461.  3253h    ViewSonic 21PS-2
  6462.  334Bh    ViewSonic 17GS-2
  6463.  334Ch    ViewSonic 17GS-2
  6464.  3351h    ViewSonic PT810
  6465.  344Bh    ViewSonic 17PS-2
  6466.  344Ch    ViewSonic 17PS-2
  6467.  3451h    ViewSonic PT810-2
  6468.  354Dh    ViewSonic GT800
  6469.  354Eh    ViewSonic GT800
  6470.  3550h    ViewSonic GT800
  6471.  3644h    ViewSonic 15GA
  6472.  3646h    ViewSonic 15GA
  6473.  3648h    ViewSonic 15GA
  6474.  364Ah    ViewSonic PT770
  6475.  364Bh    ViewSonic PT770
  6476.  364Ch    ViewSonic PT770
  6477.  3744h    ViewSonic 15G-2
  6478.  3746h    ViewSonic 15G-2
  6479.  3748h    ViewSonic 15G-2
  6480.  374Bh    ViewSonic 17GA
  6481.  374Ch    ViewSonic 17GA
  6482.  3844h    ViewSonic 15ES-2
  6483.  3846h    ViewSonic 15ES-2
  6484.  3848h    ViewSonic 15ES-2
  6485.  384Ah    ViewSonic 17EA
  6486.  384Bh    ViewSonic 17EA
  6487.  384Ch    ViewSonic 17EA
  6488.  3944h    ViewSonic 15GS-2
  6489.  3946h    ViewSonic 15GS-2
  6490.  3948h    ViewSonic 15GS-2
  6491.  394Ah    ViewSonic 17GS-2
  6492.  394Bh    ViewSonic 17GS-2
  6493.  394Ch    ViewSonic 17GS-2
  6494.  424Ah    ViewSonic GT770
  6495.  424Bh    ViewSonic GT770
  6496.  424Ch    ViewSonic GT770
  6497.  434Ah    ViewSonic 17PS-2
  6498.  434Bh    ViewSonic 17PS-2
  6499.  434Ch    ViewSonic 17PS-2
  6500.  4439h    ViewSonic 15GS-2
  6501.  444Ah    ViewSonic 17GA-2
  6502.  4637h    ViewSonic 1769DC
  6503. SeeAlso: #0109,#3756
  6504. --------V-104F15BL02-------------------------
  6505. INT 10 - VESA VBE/DC (Display Data Channel) - READ VDIF
  6506.     AX = 4F15h
  6507.     BL = 02h
  6508.     ???
  6509. Return: AL = 4Fh if function supported
  6510.         AH = status
  6511.         00h successful
  6512.             ???
  6513.         01h failed
  6514. SeeAlso: AX=4F15h/BL=00h,AX=4F15h/BL=01h
  6515. --------V-104F16-----------------------------
  6516. INT 10 - VESA VBE/GC (Graphics System Configuration) - API
  6517.     AX = 4F16h
  6518.     BL = function
  6519.         00h installation check / get capabilities
  6520.     other registers vary by function
  6521. Return: varies by function
  6522. --------V-104F17-----------------------------
  6523. INT 10 - VESA VBE/AF (Accelerator Functions) - API
  6524.     AX = 4F17h
  6525.     BL = function
  6526.         00h installation check / get capabilities
  6527.     other registers vary by function
  6528. Return: varies by function
  6529. --------V-104F4D-----------------------------
  6530. INT 10 - VESA - VIDEO CURSOR INTERFACE REQUEST
  6531.     AX = 4F4Dh
  6532.     BX = number of bytes available for VCI use
  6533.     DS:0000h -> buffer for VCI
  6534.     ES:DI -> VCI driver callback function
  6535. Return: AL = 4Fh if supported
  6536.         AH = status
  6537.         00h successful
  6538.             BX = number of bytes used by VCI
  6539.             ES:DI -> VCI request handler
  6540.         01h failed
  6541. Desc:    allow the VESA BIOS Extensions to cooperate with a pointing-device
  6542.       (typically mouse) driver
  6543. SeeAlso: AX=4F12h
  6544. --------V-104F70-----------------------------
  6545. INT 10 - Avance Logic - GET ADAPTER INFORMATION
  6546.     AX = 4F70h
  6547. Return:    AX = 004Fh if successful
  6548.         BL = board information (see #0111)
  6549.         BH = board type???
  6550.         00h on ALG2101
  6551.         FFh otherwise
  6552. SeeAlso: AX=4F00h
  6553.  
  6554. Bitfields for Avance Logic board information:
  6555. Bit(s)    Description    (Table 0111)
  6556.  0-1    video RAM size
  6557.     00 256K
  6558.     01 512K
  6559.     10 1M
  6560.     11 2M
  6561.  2    ???
  6562.  3    slot size???
  6563.     =0 8-bit slot
  6564.     =1 16-bit slot
  6565.  4    unused
  6566.  5    set on ALG2228/AL2301
  6567.  6-7    unused
  6568. --------V-104FDD-----------------------------
  6569. INT 10 - ATI M64VBE.COM - GET RESIDENT SEGMENT
  6570.     AX = 4FDDh
  6571. Return: AX = CS of resident code
  6572. Program: M64VBE is a VESA VBE 2.0 driver TSR for ATI's Mach64 video chip
  6573. SeeAlso: AX=4FFFh/BX=364Dh"M64VBE",INT 60"M64VBE"
  6574. --------V-104FFF-----------------------------
  6575. INT 10 - VESA SuperVGA BIOS - Everex - TURN VESA ON/OFF
  6576.     AX = 4FFFh
  6577.     DL = new state (00h off, 01h on)
  6578. Return: AX = 0000h if successful
  6579. --------V-104FFF-----------------------------
  6580. INT 10 - Diamond Stealth 24 - SET/RESET DUAL DISPLAY MODE
  6581.     AX = 4FFFh
  6582.     BX = dual display mode
  6583.         00h reset
  6584.         01h set dual display, 32KB VGA test
  6585.         02h set dual display, 64KB VGA test
  6586. Return: AX = 4F00h if successful
  6587.         BX = number of scanlines off screen for test mode
  6588. --------V-104FFFBX364D-----------------------
  6589. INT 10 - ATI M64VBE.COM - UNINSTALL
  6590.     AX = 4FFFh
  6591.     BX = 364Dh ('6M')
  6592.     CX = 5634h ('V4')
  6593. Return: AX,DX,DS,ES destroyed
  6594. Program: M64VBE is a VESA VBE 2.0 driver TSR for ATI's Mach64 video chip
  6595. SeeAlso: AX=4FDDh"M64VBE",INT 60"M64VBE"
  6596. --------U-1050-------------------------------
  6597. INT 10 - SCROLOCK.COM - INSTALLATION CHECK
  6598.     AH = 50h
  6599. Return: BX = 1954h if installed
  6600.         AL = 00h if inactive, nonzero if active
  6601. Program: SCROLOCK is a utility supplied with System Enhancement Associates'
  6602.       ARC archiver
  6603. SeeAlso: AH=51h
  6604. --------J-105000-----------------------------
  6605. INT 10 - VIDEO - AX PC - SET SCREEN COUNTRY CODE
  6606.     AX = 5000h
  6607.     BX = country code
  6608.         0001h USA (English), 0051h Japan
  6609. Return: AL = status
  6610.         00h successful
  6611.         01h bad country code
  6612.         02h other error
  6613. SeeAlso: AX=5001h,INT 16/AX=5000h
  6614. --------J-105001-----------------------------
  6615. INT 10 - VIDEO - AX PC - GET SCREEN COUNTRY CODE
  6616.     AX = 5001h
  6617. Return: AL = status
  6618.         00h successful
  6619.         BX = country code
  6620.         02h error
  6621. SeeAlso: AH=00h,AX=5000h,INT 16/AX=5001h,INT 21/AH=38h
  6622. --------V-105049-----------------------------
  6623. INT 10 - VIDEO - SCREENR v1.55+ - API
  6624.     AX = 5049h ('PI')
  6625.     BX = function
  6626.         0000h installation check
  6627.         0001h lock mode
  6628.         0002h unlock mode
  6629.         0003h lock palette
  6630.         0004h unlock palette
  6631. Return: AX = 0000h if installed
  6632.         BX = TSR version (BH=major,BL=minor)
  6633.         CL = mode locking status
  6634.         00h mode not locked
  6635.         01h mode locked: INT 10/AH=00h disabled
  6636.         CH = palette locking status
  6637.         00h palette not locked
  6638.         01h palette locked, the following functions are disabled:
  6639.             AX=1000h, AX=1001h, AX=1002h, AX=1010h, AX=1012h
  6640. Program: SCREENR is a TSR supplied with Patrick Ibbetson's SCREEN display
  6641.       utility.
  6642. Index:    installation check;SCREENR
  6643. --------U-1051-------------------------------
  6644. INT 10 - SCROLOCK.COM - ENABLE/DISABLE
  6645.     AH = 51h
  6646.     AL = state
  6647.         00h disable
  6648.         nonzero enable
  6649. Return: nothing
  6650. Program: SCROLOCK is a utility supplied with System Enhancement Associates'
  6651.       ARC file archiver
  6652. SeeAlso: AH=50h"SCROLOCK"
  6653. --------J-105100-----------------------------
  6654. INT 10 - VIDEO - AX PC - REGISTER EXTERNAL CHARACTER
  6655.     AX = 5100h
  6656.     BH = character width in bits (10h)
  6657.     BL = character height (10h)
  6658.     DX = character code (DH = F0h-F3h, DL=40h-7Eh,80h-FCh)
  6659.     ES:BP -> character bitmap
  6660. Return: AL = status (00h successful, 01h failed)
  6661. SeeAlso: AX=5101h,INT 1F"SYSTEM DATA"
  6662. --------J-105101-----------------------------
  6663. INT 10 - VIDEO - AX PC - READ CHARACTER
  6664.     AX = 5101h
  6665.     BH = character width in bits
  6666.     BL = character height
  6667.     DX = character code (DH = 00h if 8-bit character)
  6668.     ES:BP -> buffer for character bitmap
  6669. Return: AL = status (00h successful, 01h failed)
  6670. SeeAlso: AH=09h,AX=5100h
  6671. --------J-105200-----------------------------
  6672. INT 10 - VIDEO - AX PC - SET VIRTUAL TEXT RAM BUFFER
  6673.     AX = 5200h
  6674.     BX = segment of buffer
  6675. Return: nothing
  6676. SeeAlso: AX=5201h
  6677. --------J-105201-----------------------------
  6678. INT 10 - VIDEO - AX PC - GET VIRTUAL TEXT RAM BUFFER
  6679.     AX = 5201h
  6680. Return: BX = segment of buffer or 0000h if failed
  6681. SeeAlso: AX=8300h,AH=FEh
  6682. ----------1053-------------------------------
  6683. INT 10 - Show Partner F/X v3.6 - START PRESENTATION
  6684.     AH = 53h
  6685.     DS:DX -> ASCIZ name of presentation file (no path, extension forced to
  6686.         .PR2)
  6687. Return: ???
  6688. SeeAlso: AH=55h
  6689. ----------1055-------------------------------
  6690. INT 10 - Show Partner F/X v3.6 - UNINSTALL
  6691.     AH = 55h
  6692. Return: FXSHOW.EXE removed from memory
  6693. SeeAlso: AH=53h
  6694. --------V-105555-----------------------------
  6695. INT 10 - VIDEO - ATI EGA/VGA Wonder Super Switch - INSTALLATION CHECK
  6696.     AX = 5555h
  6697. Return: AX = AAAAh    if installed
  6698.     BX:CX -> ??? routine in SMS.COM resident portion
  6699.           -> data area (see #0112) in VCONFIG
  6700. Program: Super Switch (SMS.COM) is a video mode switch program supplied with
  6701.       ATI EGA Wonder. It also maps video mode 08h to 27h or 23h.
  6702. SeeAlso: INT 10/AH=00h,INT 14/AX=AA01h,INT 2F/AX=6400h
  6703. Index:    screen saver;ATI Wonder SMS.COM
  6704.  
  6705. Format of ATI Super Switch data area:
  6706. Offset    Size    Description    (Table 0112)
  6707.  00h    DWORD    original INT 09 vector
  6708.  04h    DWORD    original INT 10 vector
  6709.  08h    DWORD    original INT 1C vector
  6710.  0Ch    WORD    screen saver state, 0=off, 1=on
  6711.  0Eh    WORD    blanking interval in clock ticks
  6712. --------V-105F00-----------------------------
  6713. INT 10 - Chips & Technologies Extended BIOS - RETURN CHIP INFORMATION
  6714.     AX = 5F00h
  6715. Return: AL = 5Fh function supported
  6716.         BL = chip type (see #0113)
  6717.         BH = video memory size (see #3866)
  6718.         CX = miscellaneous information (see #0114)
  6719. SeeAlso: AX=5F01h
  6720.  
  6721. Bitfields for Chips&Technologies chip type:
  6722. Bit(s)    Description    (Table 0113)
  6723.  7-4    chip type
  6724.     0000: 82c451
  6725.     0001: 82c452 / 82c452A
  6726.     0010: 82c455
  6727.     0011: 82c453
  6728.     0100: 82c450
  6729.     0101: 82c456
  6730.     0110: 82c457
  6731.     0111: F65520
  6732.     1000: F65530 / F65525
  6733.     1001: F66510
  6734.     1010: ???
  6735.     1011: F64300 "Wingine DGX"
  6736.     1100: F65535/F65545 ???
  6737.     1101: F65540
  6738.     1110: ???
  6739.     1111: ???
  6740.  3-0    revision number
  6741. SeeAlso: #3866
  6742.  
  6743. (Table 3866)
  6744. Values for Chips&Technologies video memory size:
  6745.  00h    256KB
  6746.  01h    512KB
  6747.  02h    1MB
  6748.  03h    2MB
  6749. SeeAlso: #0113
  6750.  
  6751. Bitfields for Chips&Technologies miscellaneous information:
  6752. Bit(s)    Description    (Table 0114)
  6753.  0    DAC size (0=6-bit, 1=8-bit)
  6754.  1    system type (0=PC/AT, 1=PS/2)
  6755.  2    extended text modes supported by BIOS
  6756.  3    reserved
  6757.  4    extended graphics modes supported by BIOS
  6758.  5    reserved
  6759.  6    BIOS supports graphics cursor
  6760.  7    BIOS supports anti-aliased font
  6761.  8    BIOS supports pre-programmed emulation
  6762.  9    BIOS supports auto emulation
  6763.  10    BIOS supports variable mode set at cold boot
  6764.  11    BIOS supports variable mode set on warm boot
  6765.  12    BIOS supports emulation mode set at cold boot
  6766.  13    BIOS supports emulation mode set on warm boot
  6767.  14-15    reserved
  6768. --------V-105F00-----------------------------
  6769. INT 10 - VIDEO - Realtek RTVGA - RETURN CHIP VERSION
  6770.     AX = 5F00h
  6771. Return: AH = 00h, if successful
  6772.     AL = chip version (the same value that VTEST.EXE reads)
  6773.         00h RTG3103???
  6774.         01h RTG31030/RTG3105
  6775.         02h RTG3106???
  6776.         3Fh non-Realtek chip
  6777. BUG:    in v3.C10, AX=5F00h on return due to improper stack restoration code
  6778. SeeAlso: AX=5F01h"RTVGA"
  6779. --------V-105F01-----------------------------
  6780. INT 10 - Chips & Technologies Extended BIOS - SET PREPROGRAMMED EMULATION
  6781.     AX = 5F01h
  6782.     BL = emulation type (see #0115)
  6783. Return: AL = 5Fh if function supported
  6784.         AH = status
  6785.         00h unsuccessful
  6786.         01h successful
  6787. SeeAlso: AX=5F00h,AX=5F02h,AH=FFh"Oak"
  6788.  
  6789. (Table 0115)
  6790. Values for Chips&Technologies emulation type:
  6791.  00h,01h reserved
  6792.  02h    CGA
  6793.  03h    MDA
  6794.  04h    Hercules
  6795.  05h    EGA
  6796.  06h    VGA (disable emulation)
  6797. --------V-105F01-----------------------------
  6798. INT 10 - VIDEO - Realtek RTVGA - WRITE RTVGA BIOS STRING TO DESTINATION
  6799.     AX = 5F01h
  6800.     ES:DI -> zero-filled buffer for BIOS ID string
  6801. Return: AH = 00h if successful
  6802.     ES:DI -> ASCII signature "REALTEK VGA BIOS Version 3C.10"
  6803. BUG:    in v3.C10, AX=5F01h on return due to improper stack restoration code
  6804. SeeAlso: AX=5F00h"RTVGA",AX=5F02h"RTVGA"
  6805. --------V-105F02-----------------------------
  6806. INT 10 - Chips & Technologies Extended BIOS - AUTO EMULATION CONTROL
  6807.     AX = 5F02h
  6808.     BL = new state of autmatic emulation (00h enabled, 01h disabled)
  6809. Return: AL = 5Fh if function supported
  6810.         AH = status
  6811.         00h unsuccessful
  6812.         01h successful
  6813. SeeAlso: AX=5F01h,AX=5F03h
  6814. --------V-105F02-----------------------------
  6815. INT 10 - Chips & Technologies '64300' BIOS - SET CLOCK
  6816.     AX = 5F02h
  6817.     BH = what to set
  6818.         02h dot clock
  6819.         BL = speed in MHz (12-99)
  6820.         03h memory clock
  6821.         BL = speed in MHz (12-99)
  6822.         FFh default dot and memory clocks
  6823. Return: AL = 5Fh if function supported
  6824.         AH = status
  6825.         00h unsuccessful
  6826.         01h successful
  6827. SeeAlso: AX=5F00h"Chips",AX=5F03h"64300",AX=5F02h"65530"
  6828. --------V-105F02-----------------------------
  6829. INT 10 - Chips & Technologies '65530' BIOS - SET CLOCK
  6830.     AX = 5F02h
  6831.     BH = what to set
  6832.         02h dot clock
  6833.         BL = new clock speed (see #3870)
  6834.         03h memory clock
  6835.         BL = new clock speed (see #3870)
  6836.         04h set power-down register
  6837.         BL = new value for power-down register (bits 3-0 only)
  6838.         06h (404 clock chip) set control register
  6839.         BL = new vlaue for control register (bits 5-0 only)
  6840.         06h (404A/B/B-ES clock chips) set control register PWRDN1
  6841.         BL = new value for control register
  6842.         07h (404A/B/B-ES clock chips) set control register PWRDN1
  6843.         BL = new value for control register
  6844.         FFh default dot and memory clocks
  6845. Return: AL = 5Fh if function supported
  6846.         AH = status
  6847.         00h unsuccessful
  6848.         01h successful
  6849. SeeAlso: AX=5F01h,AX=5F02h"64300",AX=5FA0h,#3869
  6850.  
  6851. (Table 3870)
  6852. Values for C&T '65530' BIOS clock speed:
  6853.  00h    12 MHz
  6854.  01h    14 MHz
  6855.  02h    16 MHz
  6856.  03h    18 MHz
  6857.  04h    20 MHz
  6858.  05h    25 MHz
  6859.  06h    28 MHz
  6860.  07h    32 MHz
  6861.  08h    36 MHz
  6862.  09h    40 MHz
  6863.  0Ah    45 MHz
  6864.  0Bh    50 MHz
  6865.  0Ch    56 MHz
  6866.  0Dh    60 MHz
  6867.  0Eh    65 MHz
  6868.  0Fh    66 MHz
  6869.  15h    34 MHz
  6870. --------V-105F02-----------------------------
  6871. INT 10 - VIDEO - Realtek RTVGA - RETURN RTVGA ON-BOARD MEMORY SIZE
  6872.     AX = 5F02h
  6873. Return: AH = 00h, if successful
  6874.     AL = on-board memory size
  6875.          (00h = 256K, 01h = 512K, 02h = 768K, 03h = 1024K)
  6876. BUG:    in v3.C10, AX=5F02h on return due to improper stack restoration code
  6877. SeeAlso: AX=5F01h"RTVGA",AX=5F03h"RTVGA"
  6878. --------V-105F03-----------------------------
  6879. INT 10 - VIDEO - Realtek RTVGA - SET ???
  6880.     AX = 5F03h
  6881.     BL = 0-3 (???)
  6882. Return: AH = 00h if successful
  6883. BUG:    in v3.C10, AX=5F03h on return due to improper stack restoration code
  6884. SeeAlso: AX=5F02h"RTVGA"
  6885. --------V-105F03BL00-------------------------
  6886. INT 10 - Chips & Technologies Extended BIOS - SET POWER-ON DISPLAY MODE
  6887.     AX = 5F03h
  6888.     BL = 00h
  6889.     CL = display mode
  6890.     CH = mode (see #0116)
  6891. Return: AL = 5Fh if function supported
  6892.         AH = status
  6893.         00h unsuccessful
  6894.         01h successful
  6895. SeeAlso: AX=5F02h,AX=5F03h/BL=01h"Chips",AX=5F90h
  6896.  
  6897. Bitfields for Chips&Technologies display mode:
  6898. Bit(s)    Description    (Table 0116)
  6899.  1-0    scanlines (00 = 200, 01 = 350, 10 = 400)
  6900.  7    persistence (0 reset on next boot, 1 until changed)
  6901. --------V-105F03BH00-------------------------
  6902. INT 10 - Chips & Technologies '64300' BIOS - GET CLOCK SPEED
  6903.     AX = 5F03h
  6904.     BH = 00h (get default memory clock)
  6905. Return: AL = 5Fh if function supported
  6906.         AH = status
  6907.         00h unsuccessful
  6908.         01h successful
  6909.             BL = clock speed in MHz
  6910. SeeAlso: AX=5F02h"64300",AX=5F04h"64300"
  6911. --------V-105F03BL01-------------------------
  6912. INT 10 - Chips & Technologies Extended BIOS - SET POWER-ON EMULATION MODE
  6913.     AX = 5F03h
  6914.     BL = 01h
  6915.     CL = emulation mode (see #0116)
  6916.     CH = permanence
  6917.         bit 7 persistence (0 reset on next boot, 1 until changed)
  6918. Return: AL = 5Fh if function supported
  6919.         AH = status
  6920.         00h unsuccessful
  6921.         01h successful
  6922. SeeAlso: AX=5F02h,AX=5F03h/BL=00h"Chips",AX=5F90h
  6923. --------V-105F04-----------------------------
  6924. INT 10 - Chips & Technologies '64300' BIOS - GET REFRESH RATE
  6925.     AX = 5F04h
  6926.     BL = video mode number
  6927. Return: AL = 5Fh if function supported
  6928.         AH = status
  6929.         00h unsuccessful
  6930.         01h successful
  6931.             BH = available refresh rates (see #3867)
  6932.             BL = currently-set refresh rate (see #3867)
  6933. SeeAlso: AX=5F03h"64300",AX=5F05h"64300"
  6934.  
  6935. Bitfields for C&T 64300 refresh rates:
  6936. Bit(s)    Description    (Table 3867)
  6937.  5    75 Hz
  6938.  4    72 Hz
  6939.  3    70 Hz
  6940.  2    60 Hz
  6941.  1    56 Hz
  6942.  0    interlaced
  6943. --------V-105F05-----------------------------
  6944. INT 10 - Chips & Technologies '64300' BIOS - SET REFRESH RATE
  6945.     AX = 5F05h
  6946.     BL = video mode number
  6947.     BH = refresh rate to set (see #3867)
  6948.         bit 7:    =0 program new clock and CRT parametes
  6949.             =1 keep current parameters
  6950. Return: AL = 5Fh if function supported
  6951.         AH = status
  6952.         00h unsuccessful
  6953.         01h successful
  6954. SeeAlso: AX=5F04h"64300"
  6955. --------V-105F06-----------------------------
  6956. INT 10 - Chips & Technologies '64300' BIOS - GET XRAM INFORMATION
  6957.     AX = 5F06h
  6958. Return: AL = 5Fh if function supported
  6959.         AH = status
  6960.         00h unsuccessful
  6961.         01h successful
  6962.             BL = XRAM presence (00h no XRAM, 01h present)
  6963. SeeAlso: AX=5F05h,AX=5F08h
  6964. --------V-105F06-----------------------------
  6965. INT 10 - Chips & Technologies '64300' BIOS - SET LINEAR MEMORY START ADDRESS
  6966.     AX = 5F08h
  6967.     BX = desired start address in megabytes
  6968. Return: AL = 5Fh if function supported
  6969.         AH = status
  6970.         00h unsuccessful
  6971.         01h successful
  6972. SeeAlso: AX=5F06h
  6973. --------V-105F10-----------------------------
  6974. INT 10 - Chips & Technologies '64300'/'65530' BIOS - GET LINEAR MEMORY INFO
  6975.     AX = 5F10h
  6976. Return: AL = 5Fh if function supported
  6977.         AH = status
  6978.         00h unsuccessful
  6979.         01h successful
  6980.             BX:CX = linear memory base address
  6981.             DX = virtual screen width offset (bytes)
  6982.             SI;DI = linear memory size
  6983. SeeAlso: AX=5F08h,AX=5FA0h
  6984. --------V-105F50-----------------------------
  6985. INT 10 - Chips & Technologies Extended BIOS - GET LAPTOP DISPLAY STATUS
  6986.     AX = 5F50h
  6987. Return: DL = display status (see #0117)
  6988. Note:    this call can be used on Toshiba laptops since ~1995 instead of
  6989.       INT 42/AX=7503h which is no longer supported with the F655xx chips
  6990. SeeAlso: INT 42/AX=7503h
  6991.  
  6992. Bitfields for display status:
  6993. Bit(s)    Description    (Table 0117)
  6994.  7-4    always 0 ???
  6995.  3    1: both displays active (bit 1 also set)
  6996.  2    1: normal (monochrome display only), 0: inverse or color
  6997.  1    1: internal display active, 0: external only
  6998.  0    always set ???
  6999. --------V-105F50-----------------------------
  7000. INT 10 - Chips & Technologies '65530' BIOS - GET 655xx INFORMATION
  7001.     AX = 5F50h
  7002. Return: AL = 5Fh if function supported
  7003.         AH = status
  7004.         00h unsuccessful
  7005.         01h successful
  7006.             BX = width of flat panel in pixels
  7007.             CX = height of flat panel in pixels
  7008.             DX = F65520/525/530 status (see #3869)
  7009. SeeAlso: AX=5F51h,INT 15/AX=5F31h
  7010.  
  7011. Bitfields for C&T F65520/525/530 status:
  7012. Bit(s)    Description    (Table 3869)
  7013.  15-0    reserved
  7014.  6-5    type of clock chip
  7015.     00 = 404
  7016.     01 = 404A
  7017.     10 = 404B ES
  7018.     11 = 404B
  7019.  4    accelerator enabled
  7020.  3    both displays active
  7021.  2    video polarity (1 = inverted)
  7022.  1    output device
  7023.     0 CRT
  7024.     1 flat panel (LCD)
  7025.  0    reserved
  7026. --------V-105F51-----------------------------
  7027. INT 10 - Chips & Technologies Extended BIOS - SWITCH DISPLAY DEVICE
  7028.     AX = 5F51h
  7029.     BL = new active display
  7030.         00h CRT
  7031.         01h flat panel (LCD)
  7032.         02h both simultaneously
  7033.     BH = 01h to allow reprogramming the DAC
  7034. Return: AL = 5Fh if function supported
  7035.         AH = status
  7036.         00h unsuccessful
  7037.         01h successful
  7038. SeeAlso: AX=5F50h,AX=5F53h
  7039. --------V-105F53-----------------------------
  7040. INT 10 - Chips & Technologies Extended BIOS - EN/DISABLE ACCELERATOR SUPPORT
  7041.     AX = 5F53h
  7042.     BL = new support state
  7043.         00h disable buffer/accelerator
  7044.         01h enable buffer/acelerator
  7045. Return: AL = 5Fh if function supported
  7046.         AH = status
  7047.         00h unsuccessful
  7048.         01h successful
  7049. SeeAlso: AX=5F50h,AX=5F51h,AX=5F54h
  7050. --------V-105F54-----------------------------
  7051. INT 10 - Chips & Technologies Extended BIOS - TURN FLAT PANEL ON/OFF
  7052.     AX = 5F54h
  7053.     BL = new state
  7054.         00h on
  7055.         01h off
  7056. Return: AL = 5Fh if function supported
  7057.         AH = status
  7058.         00h unsuccessful
  7059.         01h successful
  7060. SeeAlso: AX=5F50h,AX=5F51h,AX=5F53h,AX=5F5Ah
  7061. --------V-105F5A-----------------------------
  7062. INT 10 - Chips & Technologies Extended BIOS - SET FLAT-PANEL VIDEO POLARITY
  7063.     AX = 5F5Ah
  7064.     BL = new video polarity
  7065.         00h normal
  7066.         01h inverted
  7067. Return: AL = 5Fh if function supported
  7068.         AH = status
  7069.         00h unsuccessful
  7070.         01h successful
  7071. SeeAlso: AX=5F50h,AX=5F54h
  7072. --------V-105F5C-----------------------------
  7073. INT 10 - Chips & Technologies Extended BIOS - SET VERTICAL COMPENSATION
  7074.     AX = 5F5Ch
  7075.     BL = type of vertical compensation to use
  7076.         00h no compensation
  7077.         01h automatic centering
  7078.         02h set centering register
  7079.         DX = centering value (bits 9-0 only)
  7080.         03h non-automatic centering
  7081.         04h set vertical line insertion register
  7082.         DL = vertical line insertion (bits 3-0 only)
  7083.         05h set alternate maximum scanline register
  7084.         DL = alternate maximum scanline (bits 4-0 only)
  7085.         06h enable text stretching, type 0
  7086.         07h enable text stretching, type 1
  7087.         08h enable text stretching, type 2
  7088.         09h enable text stretching, type 3
  7089.         0Ah    disable text stretching
  7090.         0Bh set vertical line replication register
  7091.         DL = vertical line replication (bits 3-0 only)
  7092.         0Ch enable graphics stretching, type 0
  7093.         0Dh enable graphics stretching, type 1
  7094.         0Eh disable vertical graphics stretching
  7095.         0Fh disable all horizontal and vertical compensation
  7096.         10h enable optimal compensation
  7097.         11h disable optimal compensation
  7098. Return: AL = 5Fh if function supported
  7099.         AH = status
  7100.         00h unsuccessful
  7101.         01h successful
  7102. SeeAlso: AX=5F50h,AX=5F5Eh,AX=5F5Fh
  7103. --------V-105F5E-----------------------------
  7104. INT 10 - Chips & Technologies Extended BIOS - EN/DISABLE TALL FONT LOADING
  7105.     AX = 5F5Eh
  7106.     BL = new state of tall-font loading
  7107.         00h enable loading    of 8x19/30/32 fonts
  7108.         01h disable loading of 8x19/30/32 fonts
  7109. Return: AL = 5Fh if function supported
  7110.         AH = status
  7111.         00h unsuccessful
  7112.         01h successful
  7113. Note:    when tall fonts are enabled, the fonts are stretched by duplicating
  7114.       scan lines as appropriate to convert an 8x16 font to the proper
  7115.       height (scan lines 1/9/12 [8x19] or 2-15 [8x30] or all [8x32])
  7116. SeeAlso: AX=5F5Ch,AX=5F5Fh
  7117. --------V-105F5F-----------------------------
  7118. INT 10 - Chips & Technologies Extended BIOS - HORIZONTAL COMPENSATION
  7119.     AX = 5F5Fh
  7120.     BL = horizontal compensation type
  7121.         00h none
  7122.         01h automatic centering
  7123.         02h set centering register
  7124.         DL = centering value
  7125.         03h non-automatic centering
  7126.         04h enable text compression (force 8xN fonts)
  7127.         05h disable text compression (allow 9xN fonts)
  7128.         06h enable auto doubling
  7129.         07h disable auto doubling
  7130.         0Fh disable all horizontal and vertical compensation
  7131. Return: AL = 5Fh if function supported
  7132.         AH = status
  7133.         00h unsuccessful
  7134.         01h successful
  7135. SeeAlso: AX=5F50h,AX=5FA0h
  7136. --------V-105F90-----------------------------
  7137. INT 10 - Chips & Technologies Extended BIOS - GET SUPERVGA STATE BUFFER SIZE
  7138.     AX = 5F90h
  7139.     CX = state mask (see #0118)
  7140. Return: AL = 5Fh if function supported
  7141.         BX = number of 64-byte blocks required
  7142. SeeAlso: AH=1Ch,AX=5F03h,AX=5F91h,AX=5F92h,AX=5FA0h
  7143.  
  7144. Bitfields for Chips&Technologies state mask:
  7145. Bit(s)    Description    (Table 0118)
  7146.  0    video hardware
  7147.  1    BIOS data state
  7148.  2    DAC state
  7149.  15    type (0 all state info, 1 SuperVGA state only)
  7150. --------V-105F91-----------------------------
  7151. INT 10 - Chips & Technologies Extended BIOS - SAVE SUPERVGA STATE
  7152.     AX = 5F91h
  7153.     CX = state mask (see #0118)
  7154.     ES:BX -> save buffer
  7155. Return: AL = 5Fh if function supported
  7156.         buffer at ES:BX filled
  7157. SeeAlso: AH=1Ch,AX=5F03h,AX=5F90h,AX=5F92h,AX=5FA1h
  7158. --------V-105F92-----------------------------
  7159. INT 10 - Chips & Technologies Extended BIOS - RESTORE SUPERVGA STATE
  7160.     AX = 5F92h
  7161.     CX = state mask (see #0118)
  7162.     ES:BX -> previously-filled save buffer
  7163. Return: AL = 5Fh if function supported
  7164. SeeAlso: AH=1Ch,AX=5F03h,AX=5F90h,AX=5F92h,AX=5FA2h
  7165. --------V-105FA0-----------------------------
  7166. INT 10 - Chips & Technologies Wingine DGX - GET EXTENDED BIOS SAVE BUFFER SIZE
  7167.     AX = 5FA0h
  7168.     CX = state(s) to be saved (see #3868)
  7169. Return: AL = 5Fh if function supported
  7170.         AH = status
  7171.         00h unsuccessful
  7172.         01h successful
  7173.             BX = number of 64-byte blocks required for state
  7174. SeeAlso: AH=1Ch,AX=5FA1h,AX=5FA2h,AX=5F90h,AX=4F04h
  7175.  
  7176. Bitfields for C&T BIOS save/restore state type:
  7177. Bit(s)    Description    (Table 3868)
  7178.  0    video hardware
  7179.  1    BIOS data
  7180.  2    DAC and color registers
  7181.  14    (65530 BIOS with AL=A1h only) clear emulation state
  7182.  15    extended registers
  7183. SeeAlso: #0046,#0083
  7184. --------V-105FA1-----------------------------
  7185. INT 10 - Chips & Technologies Wingine DGX - SAVE VIDEO STATE
  7186.     AX = 5FA1h
  7187.     CX = state(s) to be saved (see #3868)
  7188.     ES:BX -> buffer for state information
  7189. Return: AL = 5Fh if function supported
  7190.         AH = status
  7191.         00h unsuccessful
  7192.         01h successful
  7193.             ES:BX buffer filled
  7194. SeeAlso: AH=1Ch,AX=5FA0h,AX=5FA2h,AX=5F91h
  7195. --------V-105FA2-----------------------------
  7196. INT 10 - Chips & Technologies Wingine DGX - RESTORE VIDEO STATE
  7197.     AX = 5FA2h
  7198.     CX = state(s) to be restored (see #3868)
  7199.     ES:BX -> buffer containing previously-saved state information
  7200. Return: AL = 5Fh if function supported
  7201.         AH = status
  7202.         00h unsuccessful
  7203.         01h successful
  7204. SeeAlso: AH=1Ch,AX=5FA0h,AX=5FA1h,AX=5F92h
  7205. --------V-1060------------------------------------
  7206. INT 10 - HUNTER 16 - SET GRAPHICS FONT
  7207.     AH = 60h
  7208.     AL = new font
  7209.         bit 7    output characters in reverse video
  7210.         bits 0-6 font number (see #0132 at AH=77h)
  7211. Return: BH = cell width
  7212.     BL = cell height
  7213. Desc:    select the font to use for output in mode 6; this can be used to mix
  7214.       fonts on the screen
  7215. Note:    the Husky Hunter 16 is an 8088-based ruggedized laptop.     Other family
  7216.       members are the Husky Hunter, Husky Hunter 16/80, and Husky Hawk.
  7217. SeeAlso: AH=04h"HUNTER",AH=73h"HUNTER",AH=77h"HUNTER"
  7218. --------V-1061------------------------------------
  7219. INT 10 - HUNTER 16 - MOVE CURSOR TO GRAPHICS CO-ORDINATES
  7220.     AH = 61h
  7221.     CX = column
  7222.     DX = row
  7223. Return: nothing
  7224. Note:    this function is only valid in graphics modes
  7225. SeeAlso: AH=62h
  7226. --------V-1062------------------------------------
  7227. INT 10 - HUNTER 16 - GET CURSOR POSITION IN GRAPHICS CO-ORDINATES
  7228.     AH = 62h
  7229. Return: CX = column
  7230.     DX = row
  7231. Note:    this function is only valid in graphics modes
  7232. SeeAlso: AH=61h
  7233. --------V-1063------------------------------------
  7234. INT 10 - HUNTER 16 - SET CONTRAST
  7235.     AH = 63h
  7236.     AL = contrast (0..127)
  7237. Return: nothing
  7238. Desc:    set the LCD screen contrast to improve visibility
  7239. SeeAlso: AH=64h,AH=75h
  7240. --------V-1064------------------------------------
  7241. INT 10 - HUNTER 16 - SET BACKLIGHT LEVEL
  7242.     AH = 64h
  7243.     AL = level (0..15)
  7244. Return: nothing
  7245. Desc:    set the LCD backlight level to improve visibility in bad lighting
  7246. SeeAlso: AH=63h,AH=65h,AH=74h,AH=78h"HUNTER",INT 15/AH=74h
  7247. --------V-106500----------------------------------
  7248. INT 10 - HUNTER 16 - GET BACKLIGHT TIMEOUT
  7249.     AX = 6500h
  7250. Return: BX = timeout in seconds (0-300)
  7251. Desc:    returns the time after which the backlight will turn off
  7252. SeeAlso: AH=63h,AH=64h,AX=6501h,INT 15/AH=74h
  7253. --------V-106501----------------------------------
  7254. INT 10 - HUNTER 16 - SET BACKLIGHT TIMEOUT
  7255.     AX = 6501h
  7256.     BX = timeout in seconds (0-300)
  7257. Return: nothing
  7258. Desc:    set the idle time after which the backlight will turn off
  7259. SeeAlso: AH=64h,AX=6500h
  7260. --------V-1066------------------------------------
  7261. INT 10 - HUNTER 16 - SPLIT DISPLAY
  7262.     AH = 66h
  7263.     AL = control bits (see #0119)
  7264.     BH = top row of lower section of LCD (0..7)
  7265.     BL = top row of lower section of the virtual screen (0..24)
  7266. Return: nothing
  7267. Desc:    split the LCD screen horizontally into two parts; each part may be
  7268.       individually scrollable or fixed.
  7269. Note:    the Hunter 16 has a 240x64 LCD display which serves as a window into
  7270.       a 640x200 virtual screen
  7271.  
  7272. Bitfields for HUNTER 16 control bits:
  7273. Bit(s)    Description    (Table 0119)
  7274.  0-1    01: no split, 10: allow split
  7275.  2    allow scrolling the upper part
  7276.  3    allow scrolling the lower part
  7277. --------V-106A00BX0000-----------------------
  7278. INT 10 - Direct Graphics Interface Standard (DGIS) - INQUIRE AVAILABLE DEVICES
  7279.     AX = 6A00h
  7280.     BX = 0000h
  7281.     CX = 0000h
  7282.     DX = buffer length (may be 0)
  7283.     ES:DI -> buffer
  7284. Return: BX = number of bytes stored in buffer
  7285.     CX = bytes required for all descriptions (0 if no DGIS)
  7286. Note:    buffer contains descriptions and addresses of DGIS-compatible
  7287.       display(s) and printer(s)
  7288. SeeAlso: AX=6A02h
  7289. --------V-106A01CX0000-----------------------
  7290. INT 10 - Direct Graphics Interface Standard (DGIS) - REDIRECT CHARACTER OUTPUT
  7291.     AX = 6A01h
  7292.     CX = 0000h
  7293.     ES:DI = address of device to send INT 10 output to
  7294. Return: CX = 0000h  output could not be redirected
  7295.          else INT 10h output now routed to requested display
  7296. SeeAlso: AX=6A02h
  7297. --------V-106A02-----------------------------
  7298. INT 10 - DGIS - INQUIRE INT 10 OUTPUT DEVICE
  7299.     AX = 6A02h
  7300.     ES:DI = 0000h:0000h
  7301. Return: ES:DI = 0000h:0000h  if current display is non-DGIS
  7302.         else address of the current DGIS INT 10 display
  7303. SeeAlso: AX=6A00h,AX=6A01h
  7304. --------V-106D74-----------------------------
  7305. INT 10 - MTRFONTS - INSTALLATION CHECK
  7306.     AX = 6D74h ('mt')
  7307.     DS:0104h = signature "MtRfOnTs"
  7308. Return: AX = 4D54h ('MT') if installed
  7309.         ES = PSP segment of resident code
  7310. Program: MTRFONTS is a shareware TSR (part of the MTR package) by Mechon Mamre
  7311.       which provides Hebrew screen fonts
  7312. SeeAlso: INT 16/AX=6D74h"MTRTSR"
  7313. --------V-106E00-----------------------------
  7314. INT 10 - Paradise VGA internal - GET ???
  7315.     AX = 6E00h
  7316. Return: BX = 5744h ('WD') if supported
  7317.         DH:AH:AL = last three ASCII digits of ROM serial number
  7318.         CL = ???
  7319.         CH = ???
  7320. SeeAlso: AX=6E04h,AX=6E05h
  7321. --------V-106E04-----------------------------
  7322. INT 10 - Paradise VGA internal - GET SCREEN SIZE AND ???
  7323.     AX = 6E04h
  7324. Return: BX = screen width (columns)
  7325.     CX = screen height (lines)
  7326.     AH = ??? (05h or FFh)
  7327.     AL = ??? (04h or video mode)
  7328. SeeAlso: AX=6E00h,AX=6E05h
  7329. --------V-106E05-----------------------------
  7330. INT 10 - Paradise VGA internal - SET MODE
  7331.     AX = 6E05h
  7332.     BL = mode
  7333. Return: nothing
  7334. Note:    like AH=00h, AL=BL.
  7335. SeeAlso: AH=00h,AX=6E00h,AX=6E04h,AX=6F05h
  7336. --------V-106F00-----------------------------
  7337. INT 10 - HP Vectra EX-BIOS - INSTALLATION CHECK
  7338.     AX = 6F00h
  7339.     BX <> 4850h (usually set to 0000h for simplicity)
  7340. Return: BX = 4850h ('HP') indicates HP Extended BIOS video functions present
  7341.     AX destroyed
  7342. SeeAlso: AX=6F00h"Video7",AX=6F01h,AX=6F02h,AX=6F03h,AX=6F04h,AX=6F05h
  7343. SeeAlso: INT 14/AX=6F00h,INT 16/AX=6F00h,INT 17/AX=6F00h,INT 33/AX=6F00h
  7344. --------V-106F00BX0000-----------------------
  7345. INT 10 - VIDEO - Video7 VGA,VEGA VGA - INSTALLATION CHECK
  7346.     AX = 6F00h
  7347.     BX = 0000h
  7348. Return: BX = 5637h ('V7') indicates Video7 VGA/VEGA VGA extensions are present
  7349. SeeAlso: AX=6F01h,AX=6F02h,AX=6F03h,AX=6F04h,AX=6F05h
  7350. --------V-106F01-----------------------------
  7351. INT 10 - VIDEO - Video7 VGA,VEGA VGA,HP EX-BIOS - GET MONITOR INFO
  7352.     AX = 6F01h
  7353. Return: AL = monitor type code (HP,VEGA VGA only) (see #0120)
  7354.     AH = status register information (see #0121)
  7355.     CL = current value of Extended Control register (HP Ext BIOS, and only
  7356.         if AL=41h) (see #0122)
  7357. Notes:    bits 0-3 are the same as the EGA/VGA status register bits 0-3
  7358.     supported by original HP Vectra AT and by ES/QS/RS series Vectras
  7359.  
  7360. (Table 0120)
  7361. Values for monitor type code (HP Extended BIOS):
  7362.  00h    non-HP card with ROM and possibly its own INT 10h driver
  7363.  41h    MultiMode video display adapter
  7364.  42h-44h reserved
  7365.  45h    industry standard monochrome display adapter
  7366.  46h    industry standard color display adapter
  7367.  51h    reserved
  7368.  
  7369. Bitfields for status register information:
  7370. Bit(s)    Description    (Table 0121)
  7371.  0    display enable
  7372.     0 = display enabled
  7373.     1 = vertical or horizontal retrace in progress
  7374.  1    light pen flip flop set
  7375.  2    light pen switch activated
  7376.  3    vertical sync
  7377.  4    monitor resolution
  7378.     0 = high resolution (>200 lines)
  7379.     1 = low resolution (<=200 lines)
  7380.  5    display type (0 = color, 1 = monochrome)
  7381.  6,7    diagnostic bits
  7382. Note:    bits 0-3 are the same as the EGA/VGA status register bits 0-3
  7383. --------V-106F02-----------------------------
  7384. INT 10 - HP Vectra EX-BIOS - SET MONITOR INFO
  7385.     AX = 6F02h
  7386.     BL = new value for extended control register (see #0122)
  7387. Return: AX,BL destroyed
  7388. Notes:    this function is only valid when an HP MultiMode Video Display Adapter
  7389.       is installed
  7390.     the Extended Control register is at I/O address 3DDh
  7391. SeeAlso: AX=6F01h,AX=6F03h
  7392.  
  7393. Bitfields for HP Vectra extended control register:
  7394. Bit(s)    Description    (Table 0122)
  7395.  0    screen resolution (0 = 200 lines, 1 = 400 lines)
  7396.  1    underline enable (if set, 'blue' of fg color = underline)
  7397.  2    font (0 = Standard-8, 1 = HP-Roman-8)
  7398.  3    memory disabled for CPU access
  7399.  4    allow access to full 32K memory instead of wrapping at 16K
  7400.  5    select second 16K page instead of first
  7401.  6,7    unused
  7402. --------V-106F03-----------------------------
  7403. INT 10 - HP Vectra EX-BIOS - MODIFY MONITOR INFO
  7404.     AX = 6F03h
  7405.     BH = exclude mask (set bits are not modified)
  7406.     BL = new values for bits indicated by BH (see #0122)
  7407. Return: AX destroyed
  7408. Notes:    this function is only valid when an HP MultiMode Video Display Adapter
  7409.       is installed
  7410.     supported by original HP Vectra AT and by ES/QS/RS series Vectras
  7411. SeeAlso: AX=6F01h,AX=6F02h
  7412. --------V-106F04-----------------------------
  7413. INT 10 - VIDEO - Video7 VGA,VEGA VGA,HP Vectra - GET MODE AND SCREEN RESOLUTION
  7414.     AX = 6F04h
  7415. Return: AL = current video mode (see #0123)
  7416.     BX = horizontal columns (text) or pixels (graphics)
  7417.     CX = vertical columns (text) or pixels (graphics)
  7418. SeeAlso: AX=6F05h
  7419. --------V-106F05-----------------------------
  7420. INT 10 - VIDEO - Video7 VGA,VEGA EXTENDED EGA/VGA,HP Vectra - SET VIDEO MODE
  7421.     AX = 6F05h
  7422.     BL = mode (see #0123)
  7423. Return: AX,BL destroyed
  7424. Notes:    also supported by the HP Vectra Extended BIOS on the original
  7425.       HP Vectra AT and by ES/QS/RS series Vectras
  7426.     on the HP Vectra, this function rather than AH=00h must be used to
  7427.       return to an IBM-standard mode after setting an HP-specified mode
  7428.       from 08h to 0Fh.
  7429. SeeAlso: AH=00h,AX=0070h,AX=007Eh,AX=6F04h
  7430.  
  7431. (Table 0123)
  7432. Values for Video7/VEGA video mode:
  7433.      text/ text pixel    pixel    colors disply scrn  system
  7434.      grph resol     box  resolution       pages  addr
  7435.  00h-13h = standard IBM modes (see #0009 at AH=00h)
  7436.  08h = T  80x27      .      .    mono      .    .  HP MultiMode Video
  7437.  09h = T  80x27      .      .      .      .    .  HP MultiMode Video
  7438.  0Ah = T  40x27      .      .    mono      .    .  HP MultiMode Video
  7439.  0Bh = T  40x27      .      .      .      .    .  HP MultiMode Video
  7440.  0Ch = reserved                       HP MultiMode Video
  7441.  0Dh = G    .      .    640x400      .      .    .  HP MultiMode Video
  7442.  0Eh = G    .      .    320x400      .      .    .  HP MultiMode Video
  7443.  0Fh = G    .      .    320x400      .      .    .  HP MultiMode Video
  7444.  40h = T  80x43     8x8      .      .      .    .  Video7/VEGA VGA
  7445.  41h = T 132x25     8x14      .      .      .    .  Video7/VEGA VGA
  7446.  42h = T 132x43     8x8      .      .      .    .  Video7/VEGA VGA
  7447.  43h = T  80x60     8x8      .      .      .    .  Video7/VEGA VGA
  7448.  44h = T 100x60     8x8      .      .      .    .  Video7/VEGA VGA
  7449.  45h = T 132x28     8x8      .      .      .    .  Video7/VEGA VGA
  7450.  60h = G    .      .    752x410     16      .    .  Video7 VGA, VEGA VGA
  7451.  61h = G    .      .    720x540     16      .    .  Video7 VGA, VEGA VGA
  7452.      = G    .      .    720x540     16      .    .  Northgate, Headland 1024i
  7453.  62h = G    .      .    800x600     16      .    .  Video7 VGA, VEGA Ext EGA
  7454.      = G    .      .    800x600     16      .    .  Headland 1024i
  7455.  63h = G    .      .   1024x768      2      .    .  Video7 VGA
  7456.  64h = G    .      .   1024x768      4      .    .  Video7 VGA
  7457.  65h = G    .      .   1024x768     16      .    .  Video7 VGA, VEGA Ext EGA
  7458.      = G    .      .   1024x768     16      .    .  Headland 1024i
  7459.  66h = G    .      .    640x400    256      .    .  Video7 VGA, VEGA Ext VGA
  7460.      = G    .      .    640x400    256      .    .  Northgate, Headland 1024i
  7461.  67h = G    .      .    640x480    256      .    .  Video7 VGA, VEGA Ext VGA
  7462.      = G    .      .    640x480    256      .    .  Headland 1024i
  7463.  68h = G    .      .    720x540    256      .    .  Video7 VGA, VEGA Ext VGA
  7464.      = G    .      .    720x540    256      .    .  Headland 1024i
  7465.  69h = G    .      .    800x600    256      .    .  Video7 VGA, VEGA Ext VGA
  7466.      = G    .      .    800x600    256      .    .  Headland 1024i
  7467.  70h = G    .      .    752x410     16gray      .    .  Video7 VGA, VEGA VGA
  7468.  71h = G    .      .    720x540     16gray      .    .  Video7 VGA, VEGA VGA
  7469.  72h = G    .      .    800x600     16gray      .    .  Video7 VGA
  7470.  73h = G    .      .   1024x768      2gray      .    .  Video7 VGA
  7471.  74h = G    .      .   1024x768      4gray      .    .  Video7 VGA
  7472.  75h = G    .      .   1024x768     16gray      .    .  Video7 VGA
  7473.  76h = G    .      .    640x400    256gray      .    .  Video7 VGA
  7474.  77h = G    .      .    640x480    256gray      .    .  Video7 VGA
  7475.  78h = G    .      .    720x540    256gray      .    .  Video7 VGA
  7476.  79h = G    .      .    800x600    256gray      .    .  (future)
  7477. SeeAlso: AH=00h,#0009,AX=0070h,#0010,AX=007Eh,AX=6F04h,#0081
  7478. Index:    video modes;Video 7|video modes;VEGA|video modes;Headland
  7479. --------V-106F06-----------------------------
  7480. INT 10 - VIDEO - Video7 VGA,VEGA VGA - SELECT AUTOSWITCH MODE
  7481.     AX = 6F06h
  7482.     BL = Autoswitch mode select
  7483.          00h select EGA/VGA-only modes
  7484.          01h select Autoswitched VGA/EGA/CGA/MGA modes
  7485.          02h select 'bootup' CGA/MGA modes
  7486.     BH = enable/disable (00h enable, 01h = disable selection)
  7487. Return: nothing
  7488. --------V-106F07-----------------------------
  7489. INT 10 - VIDEO -  Video7 VGA,VEGA VGA - GET VIDEO MEMORY CONFIGURATION
  7490.     AX = 6F07h
  7491. Return: AL = 6Fh
  7492.     AH = memory configuration
  7493.         bits 0-6 = number of 256K blocks of video memory
  7494.         bit 7    = DRAM/VRAM (0: DRAM, 1: VRAM)
  7495.     BH = chip revision (SR8F) (S/C Chip in VEGA VGA)
  7496.     BL = chip revision (SR8E) (G/A Chip in VEGA VGA)
  7497.     CX = 0000h
  7498. SeeAlso: AH=12h/BL=10h
  7499. --------V-1070-------------------------------
  7500. INT 10 - VIDEO - TANDY 2000 only - GET ADDRESS OF VIDEO RAM
  7501.     AH = 70h
  7502. Return: AX:BX -> WORD containing green plane's offset
  7503.     AX:CX -> WORD containing green plane's segment
  7504.     AX:DX -> WORD containing segment of red (offset 0) and blue (offset
  7505.             4000) planes
  7506. SeeAlso: AH=71h
  7507. --------V-1070------------------------------------
  7508. INT 10 - HUNTER 16 - DRAW ELLIPSE/CIRCLE
  7509.     AH = 70h
  7510.     DS:BX -> control block (see #0124)
  7511. Return: nothing
  7512. Desc:    Draws a circle or ellipse. Only valid in graphics modes.
  7513. Note:    the Husky Hunter 16 is an 8088-based ruggedized laptop.     Other family
  7514.       members are the Husky Hunter, Husky Hunter 16/80, and Husky Hawk.
  7515. SeeAlso: AH=71h"HUNTER"
  7516.  
  7517. Format of HUNTER 16 control block:
  7518. Offset    Size    Description    (Table 0124)
  7519.  00h    WORD    center X co-ordinate
  7520.  02h    BYTE    center Y co-ordinate
  7521.  03h    WORD    radius in pixels
  7522.  05h    BYTE    color (00h white, 01h black, FFh invert)
  7523.  06h    BYTE    aspect ratio x:x (1-127)
  7524.  07h    BYTE    aspect ratio y:y (1-127)
  7525. --------V-107000BX0000-----------------------
  7526. INT 10 - Everex Extended Video BIOS - RETURN EMULATION STATUS
  7527.     AX = 7000h
  7528.     BX = 0000h
  7529. Return: AL = 70h if Trident-based Everex card
  7530.     CL = monitor type (see #0125)
  7531.     CH = feature bits (see #0126)
  7532.     DX = video board info
  7533.         bits 4-15: board ID model (see #0127)
  7534.         bits 0-3:  board ID revision
  7535.     DI = BCD BIOS version number
  7536. SeeAlso: AX=5F01h,AH=FFh"Oak"
  7537.  
  7538. (Table 0125)
  7539. Values for Everex monitor type:
  7540.  00h    mono
  7541.  01h    CGA
  7542.  02h    EGA
  7543.  03h    digital multifrequency
  7544.  04h    IBM PS/2
  7545.  05h    IBM 8514
  7546.  06h    SuperVGA
  7547.  07h    analog multifrequency
  7548.  08h    super multifrequency
  7549.  
  7550. Bitfields for Everex feature bits:
  7551. Bit(s)    Description    (Table 0126)
  7552.  7-6    memory size
  7553.     00 = 256K
  7554.     01 = 512K
  7555.     10 = 1024K
  7556.     11 = 2048K
  7557.  5    special oscillator present
  7558.  4    VGA protect enabled
  7559.  0    6845 emulation
  7560.  
  7561. (Table 0127)
  7562. Values for board model for Trident-based Everex cards:
  7563.  0236h    Ultragraphics II
  7564.  0620h    Vision VGA
  7565.  0673h    EVGA
  7566.  0678h    Viewpoint
  7567. --------V-107000BX0004-----------------------
  7568. INT 10 - Everex Extended Video BIOS - GET PAGING FUNCTION POINTER FOR CURR MODE
  7569.     AX = 7000h
  7570.     BX = 0004h
  7571. Return: ES:DI -> FAR paging function (call with DL = page to set)
  7572. Note:    the word preceding ES:DI is the length of the function in bytes, and
  7573.       the last byte of the function is a FAR return instruction.
  7574. SeeAlso: AX=4F05h,AX=7000h/BX=0000h,AX=7000h/BX=0005h
  7575. --------V-107000BX0005-----------------------
  7576. INT 10 - Everex Extended Video BIOS - GET SUPPORTED MODE INFO
  7577.     AX = 7000h
  7578.     BX = 0005h
  7579.     CL = maximum number of modes to get info for
  7580.     CH = mode type to get info for (see #0128)
  7581.     DL = monitor type to get info for
  7582.     ES:DI -> buffer for mode info (see #0129)
  7583. Return: CL = total number of modes fitting criteria
  7584.     CH = size of each info record
  7585. SeeAlso: AX=7000h/BX=0000h,AX=7000h/BX=0004h
  7586.  
  7587. (Table 0128)
  7588. Values for Everex mode type:
  7589.  00h    all modes
  7590.  01h    monochrome text modes
  7591.  02h    color text modes
  7592.  03h    four-color CGA graphics modes
  7593.  04h    two-color CGA graphics modes
  7594.  05h    16-color graphics modes
  7595.  06h    256-color graphics modes
  7596.  
  7597. Format of Everex mode information record:
  7598. Offset    Size    Description    (Table 0129)
  7599.  00h    BYTE    mode number (bit 7 set if extended mode)
  7600.  01h    BYTE    mode type (see #0128)
  7601.  02h    BYTE    info bits (see #0130)
  7602.  03h    BYTE    font height
  7603.  04h    BYTE    text columns on screen
  7604.  05h    BYTE    text rows on screen
  7605.  06h    WORD    number of scan lines
  7606.  08h    BYTE    color information
  7607.         bits 7-4 reserved
  7608.              3-0 bits per pixel
  7609.  
  7610. Bitfields for Everex info bits:
  7611. Bit(s)    Description    (Table 0130)
  7612.  7,6    reserved
  7613.  5    monochrome mode
  7614.  4    interlaced display
  7615.  3    requires special oscillator
  7616.  2,1    memory required (00 = 256K, 01 = 512K, 10 = 1024K, 11 = 2048K)
  7617.  0    reserved
  7618. --------V-1071-------------------------------
  7619. INT 10 - VIDEO - TANDY 2000 only - GET ADDRESS OF INCRAM
  7620.     AH = 71h
  7621. Return: AX:BX -> WORD containing segment address of INCRAM
  7622.     AX:CX -> WORD containing offset of INCRAM
  7623. SeeAlso: AH=70h"TANDY"
  7624. --------V-1071------------------------------------
  7625. INT 10 - HUNTER 16 - DRAW LINE/BOX
  7626.     AH = 71h
  7627.     DS:BX -> control block (see #0131)
  7628. Return: nothing
  7629. Desc:    Draws a line or box. Only valid in graphics modes.
  7630. SeeAlso: AH=70h"HUNTER"
  7631.  
  7632. Format of HUNTER 16 control block:
  7633. Offset    Size    Description    (Table 0131)
  7634.  00h    WORD    left edge X co-ordinate
  7635.  02h    BYTE    lower edge Y co-ordinate
  7636.  03h    WORD    right edge X co-ordinate
  7637.  05h    BYTE    upper edge Y co-ordinate
  7638.  06h    BYTE    color (00h white, 01h black, FFh invert)
  7639.  07h    BYTE    type (00h line, 01h box)
  7640.  08h    BYTE    if non-zero (and type is BOX) fill with color
  7641. --------V-1072-------------------------------
  7642. INT 10 - VIDEO - TANDY 2000 only - SCROLL RIGHT PART OR ALL OF SCREEN
  7643.     AH = 72h
  7644.     AL = number of columns to shift scroll area, 00h to clear entire area
  7645.     BH = new attributes for blanked columns at left
  7646.     CH,CL = row, column of upper left corner of scroll area
  7647.     DH,DL = row, column of lower right corner of scroll area
  7648. Return: nothing
  7649. SeeAlso: AH=06h,AH=07h,AH=73h"TANDY",INT 15/AH=12h/BH=05h
  7650. --------V-1072------------------------------------
  7651. INT 10 - HUNTER 16 - SELECT TEXT-MODE INVERSE VIDEO MECHANISM
  7652.     AH = 72h
  7653.     AL = mechanism to use
  7654.         00h do not use inverse video
  7655.         01h emulate MDA. Display attribute 07h is normal video and 70h is
  7656.         inverse video.
  7657.         02h use inverse video if background is non-black.
  7658.         03h use inverse video for high intensity text.
  7659.         04h use inverse video for text with background intensity greater
  7660.         than foreground intensity.
  7661.         05h use inverse video for text with background color other than
  7662.         black or high intensity foreground.
  7663. Return: nothing
  7664. SeeAlso: AH=70h"HUNTER",AH=71h"HUNTER"
  7665. --------V-1073-------------------------------
  7666. INT 10 - VIDEO - TANDY 2000 only - SCROLL LEFT PART OR ALL OF SCREEN
  7667.     AH = 73h
  7668.     AL = number of columns to shift scroll area, 00h to clear entire area
  7669.     BH = new attributes for blanked columns at right
  7670.     CH,CL = row, column of upper left corner of scroll area
  7671.     DH,DL = row, column of lower right corner of scroll area
  7672. Return: nothing
  7673. SeeAlso: AH=06h,AH=07h,AH=72h"TANDY",INT 15/AH=12h/BH=05h
  7674. --------V-1073------------------------------------
  7675. INT 10 - HUNTER 16 - SELECT TEXT FONT
  7676.     AH = 73h
  7677.     AL = new font
  7678.           00h  7x7 in a 8x8 cell
  7679.           01h  5x7 in a 6x8 cell
  7680.           06h  3x5 in a 4x6 cell
  7681. Return: BH = cell width
  7682.     BL = cell height
  7683. SeeAlso: AH=60h"HUNTER",AH=77h"HUNTER"
  7684. --------V-1074------------------------------------
  7685. INT 10 - HUNTER 16 - SET LCD WINDOWS POSITION
  7686.     AH = 74h
  7687.     DH = row (0..24)
  7688.     DL = column (0..79)
  7689. Return: nothing
  7690. Desc:    set the position in the virtual screen being displayed in the LCD
  7691.       screen. If Split Screen (INT 10/AH=66h) is used, this call sets the
  7692.       position for the window which has the cursor.
  7693. SeeAlso: AH=66h"HUNTER",AH=75h,AH=76h
  7694. --------V-1075------------------------------------
  7695. INT 10 - HUNTER 16 - SET ZOOM
  7696.     AH = 75h
  7697.     AL = new Zoom state (00h off, nonzero on)
  7698. Return: nothing
  7699. SeeAlso: AH=74h,AH=76h
  7700. --------V-1076------------------------------------
  7701. INT 10 - HUNTER 16 - LOOKING KEYS
  7702.     AH = 76h
  7703.     AL = action
  7704.          00h home the window
  7705.          01h move up one line
  7706.          02h move down one line
  7707.          03h move left one character
  7708.          04h move right one character
  7709.          05h flip window to other side of virtual screen
  7710. Return: nothing
  7711. Desc:    moves the displayed screen around the virtual screen
  7712. SeeAlso: AH=74h,AH=75h
  7713. --------V-1077------------------------------------
  7714. INT 10 - HUNTER 16 - GET GRAPHICS FONT
  7715.     AH = 77h
  7716. Return: AL = font number (see #0132)
  7717. SeeAlso: AH=60h"HUNTER",AH=73h"HUNTER"
  7718.  
  7719. (Table 0132)
  7720. Values for HUNTER 16 graphics font number:
  7721.  00h     7x7  in a  8x8     cell
  7722.  01h     5x7  in a  6x8     cell
  7723.  02h     7x9  in a  8x10 cell
  7724.  03h    14x9  in a 16x10 cell
  7725.  04h     7x18 in a  8x20 cell
  7726.  05h    14x18 in a 16x20 cell
  7727.  06h     3x5  in a  4x6     cell
  7728. Note:    size is X * Y
  7729. --------V-1078------------------------------------
  7730. INT 10 - HUNTER 16 - TURN BACKLIGHT ON/OFF
  7731.     AH = 78h
  7732.     AL = new state of backlight (00h on, 01h off)
  7733. Return: nothing
  7734. SeeAlso: AH=64h,INT 15/AH=74h
  7735. --------V-107F-------------------------------
  7736. INT 10 - Paradise SVGA - WD90C24 INSTALLATION CHECK
  7737.     AH = 7Fh
  7738. Return: AX = 1234h if WD90C24 chip installed
  7739. --------V-107F00-----------------------------
  7740. INT 10 - SOLLEX SuperVGA - GET EXTENSIONS INFO
  7741.     AX = 7F00h
  7742. Return: AL <> 7Fh if not supported
  7743.     AL = 7Fh if supported
  7744.         AH = status
  7745.         00h successful
  7746.             ES:DI -> info structure (see #0133)
  7747.         01h failed
  7748. Program: the SOLLEX (Smos videO controLLer EXtensions) SuperVGA functions are
  7749.       an extension to the VESA SuperVGA BIOS Extensions (see AX=4F00h) by
  7750.       Seiko Epson Corporation intended to provided a standardized interface
  7751.       to SuperVGA functionality not addressed by the VESA standard
  7752. SeeAlso: AX=4F00h
  7753.  
  7754. Format of SOLLEX SuperVGA info structure:
  7755. Offset    Size    Description    (Table 0133)
  7756.  00h    DWORD    pointer to VESA function dispatch table
  7757.  04h    DWORD    pointer to SOLLEX function dispatch table
  7758.  08h    DWORD    pointer to VESA SuperVGA info (see #0075 at AX=4F00h)
  7759.  0Ch    DWORD    pointer to mode info structure table, consisting of
  7760.           alternating ResInfo (see #0134) and VESA mode information
  7761.           (see #0077 at AX=4F01h) blocks, terminated with an FFFFh word
  7762.  10h    DWORD    pointer to font info structure table (see #0135)
  7763.  14h    WORD    high resolution crystal frequency in Hz (0000h = not present)
  7764.  16h    DWORD    pointer to ASCIZ ID string
  7765.  1Ah    DWORD    pointer to timeout reset table
  7766.         array of bytes, each a multiple of the minimum time increment
  7767.  1Eh    WORD    minimum time increment in timer ticks
  7768.  20h    BYTE    inverse options supported
  7769.         bit 0: inverse supported
  7770.         bits 1-7: reserved
  7771.  21h    BYTE    normal color value
  7772.  22h    BYTE    inverse color value
  7773.  23h    WORD    port to be accessed for normal/inverse settings
  7774.  25h    WORD    type of interface chip (currently undefined)
  7775.  27h    WORD    program operational mode
  7776.         bits 1-0: 00 no preference
  7777.               01 terse (minimum detail in program messages)
  7778.               10 verbose
  7779.               11 use menus if supported, verbose mode otherwise
  7780.         bits 7-2: reserved
  7781.  29h    WORD    SOLLEX specification version
  7782.  2Bh    WORD    version of VESA/SOLLEX implementation
  7783.  2Dh    DWORD    offset to relocatable portion of SOLLEX extensions (for CONFIG)
  7784.  2Eh    DWORD    offset to unused section of the extensions ROM
  7785.  31h 16 BYTEs    reserved
  7786. Note:    all DWORD pointers initially require segment fixups; if the segment
  7787.       is 0000h, it should be changed to the returned ES, otherwise it
  7788.       may be assumed to be correct
  7789.  
  7790. Format of SOLLEX SuperVGA ResInfo:
  7791. Offset    Size    Description    (Table 0134)
  7792.  00h    WORD    16-bit mode number
  7793.  02h    WORD    adapter type (00h VGA, 01h EGA, 02h CGA, 03h MDA)
  7794.  04h    WORD    display info (see #0138)
  7795.  06h    DWORD    pointer to video parameter table
  7796.  0Ah    BYTE    replacement entry in master Video Parameter
  7797.  0Bh    BYTE    mode requested for mode set by BIOS
  7798.  0Ch    DWORD    pointer to LoadReg table
  7799.  10h    BYTE    index into table of clock values (see #0136)
  7800. SeeAlso: #0133
  7801.  
  7802. Format of SOLLEX SuperVGA font info table [array] entry:
  7803. Offset    Size    Description    (Table 0135)
  7804.  00h    BYTE    required font height
  7805.  01h    BYTE    parameter to load text mode font
  7806.  02h    BYTE    parameter to load graphics mode font
  7807. SeeAlso: #0133
  7808.  
  7809. (Table 0136)
  7810. Values for SOLLEX SuperVGA clock value index:
  7811.  00h    25 MHz
  7812.  01h    28 MHz
  7813.  02h    PCLK
  7814.  03h    31.5 MHz (VESA 640x480)
  7815.  04h    reserved
  7816.  05h    16 MHz (EGA)
  7817.  06h    PCLK
  7818.  07h    24 MHz (EGA)
  7819.  08h    25 MHz
  7820.  09h    28 MHz
  7821.  0Ah    36 MHz
  7822.  0Bh    45 MHz (for 1024x768)
  7823.  0Ch    80 MHz
  7824.  0Dh    40 MHz
  7825.  0Eh    65 MHz
  7826.  0Fh     1 MHz (for powerdown)
  7827. SeeAlso: #0133
  7828. --------V-107F00BX4000-----------------------
  7829. INT 10 - Diamond Stealth 24 - GET S3 INFORMATION BLOCK
  7830.     AX = 7F00h
  7831.     BX = 4000h
  7832. Return: AX = 007Fh if supported
  7833.         DX:BX -> DAC set mode routine
  7834. SeeAlso: AX=7F00h/BX=4001h,AX=7F00h/BX=4002h,#0656 at INT 1A/AX=B102h
  7835. --------V-107F00BX4001-----------------------
  7836. INT 10 - Diamond Stealth 24 - GET LINEAR ADDRESS
  7837.     AX = 7F00h
  7838.     BX = 4001h
  7839. Return: AX = 007Fh if supported
  7840.         CX = current linear address base (high word)
  7841. SeeAlso: AX=7F00h/BX=4000h,AX=7F00h/BX=4002h
  7842. --------V-107F00BX4002-----------------------
  7843. INT 10 - Diamond Stealth 24 - SET LINEAR ADDRESS
  7844.     AX = 7F00h
  7845.     BX = 4002h
  7846.     CX = new linear address base (high word)
  7847. Return: AX = 007Fh if supported
  7848. SeeAlso: AX=7F00h/BX=4000h,AX=7F00h/BX=4001h
  7849. --------V-107F01BL00-------------------------
  7850. INT 10 - SOLLEX SuperVGA - ADAPTER CONTROL - SET ADAPTER
  7851.     AX = 7F01h
  7852.     BL = 00h
  7853.     CX = adapter request (see #0137)
  7854. Return: AL <> 7Fh if not supported
  7855.     AL = 7Fh if supported
  7856.         AH = status
  7857.         00h successful
  7858.         01h failed
  7859. Note:    initializes video hardware to a particular standard
  7860. SeeAlso: AX=7F00h"SOLLEX",AX=7F01h/BL=01h,AX=7F01h/BL=02h
  7861.  
  7862. Bitfields for SOLLEX SuperVGA adapter request:
  7863. Bit(s)    Description    (Table 0137)
  7864.  1-0    adapter type (00 VGA, 01 EGA, 10 CGA, 11 MDA)
  7865.  2    reserved
  7866.  4-3    change displays (00 none, 01 analog 10 digital 11 panel)
  7867.  6-5    desired monitor sense (01 color, 10 mono, 11=8514)
  7868.  7    lock override
  7869.  8    alternate adapter mode
  7870.  15-9    reserved
  7871. --------V-107F01BL01-------------------------
  7872. INT 10 - SOLLEX SuperVGA - ADAPTER CONTROL - GET ADAPTER
  7873.     AX = 7F01h
  7874.     BL = 01h
  7875. Return: AL <> 7Fh if not supported
  7876.     AL = 7Fh if supported
  7877.         AH = status
  7878.         00h successful
  7879.         01h failed
  7880.         BX = adapter type (see #0137)
  7881.         DX = display type (see #0138)
  7882. SeeAlso: AX=7F00h"SOLLEX",AX=7F01h/BL=00h,AX=7F01h/BL=02h
  7883.  
  7884. Bitfields for SOLLEX SuperVGA display type:
  7885. Bit(s)    Description    (Table 0138)
  7886.  15-9    reserved
  7887.  8    alternate display active
  7888.  7    Enhanced Color Display monitor active
  7889.  6    multi-frequency digital monitor active
  7890.  5    PS/2-type monitor active
  7891.  4    plasma/electroluminescent panel active
  7892.  3    LCD panel active
  7893.  2    multi-frequency analog monitor active
  7894.  1-0    monitor sense (00 none, 01 color, 10 mono, 11=8514)
  7895. --------V-107F01BL02-------------------------
  7896. INT 10 - SOLLEX SuperVGA - ADAPTER CONTROL - DETERMINE ADAPTER SUPPORT
  7897.     AX = 7F01h
  7898.     BL = 02h
  7899.     CX = adapter request (see #0137)
  7900. Return: AL <> 7Fh if not supported
  7901.     AL = 7Fh if supported
  7902.         AH = status
  7903.         00h requested setting can successfully be made
  7904.         01h requested setting not available in this configuration
  7905. SeeAlso: AX=7F00h"SOLLEX",AX=7F01h/BL=00h
  7906. --------V-107F02BL00-------------------------
  7907. INT 10 - SOLLEX SuperVGA - DISPLAY OUTPUT CONTROL - SET DISPLAY OUTPUT
  7908.     AX = 7F02h
  7909.     BL = 00h
  7910.     CX = display output setting (see #0139)
  7911. Return: AL <> 7Fh if not supported
  7912.     AL = 7Fh if supported
  7913.         AH = status
  7914.         00h successful
  7915.         01h failed
  7916. SeeAlso: AX=7F00h"SOLLEX",AX=7F02h/BL=00h
  7917.  
  7918. Bitfields for SOLLEX SuperVGA display output setting:
  7919. Bit(s)    Description    (Table 0139)
  7920.  0    CRTC control in 2,1 valid
  7921.  1    enable digital output
  7922.  2    enable analog output
  7923.  3    panel control in 5,4 valid
  7924.  4    enable LCD output
  7925.  5    enable plasma/EL output
  7926.  6    inverse control in 7 valid
  7927.  7    0=normal, 1=inverse
  7928.  15-8    reserved
  7929. --------V-107F02BL01-------------------------
  7930. INT 10 - SOLLEX SuperVGA - DISPLAY OUTPUT CONTROL - GET DISPLAY OUTPUT
  7931.     AX = 7F02h
  7932.     BL = 01h
  7933. Return: AL <> 7Fh if not supported
  7934.     AL = 7Fh if supported
  7935.         AH = status
  7936.         00h successful
  7937.             BX = display output setting (see #0139)
  7938.             CX = displays attached (see #0140)
  7939.         01h failed
  7940. SeeAlso: AX=7F00h"SOLLEX",AX=7F02h/BL=00h
  7941.  
  7942. Bitfields for SOLLEX SuperVGA displays attached:
  7943. Bit(s)    Description    (Table 0140)
  7944.  0    PS/2 display on analog output
  7945.  1    multi-frequency monitor on analog output
  7946.  2    LCD panel attached
  7947.  3    plasma/electroluminescent panel attached
  7948.  4    multi-frequency monitor on digital output
  7949.  5    Enhanced Color Display attached to digital outpt
  7950.  6    alternate display
  7951.  15-7    reserved
  7952. --------V-107F03BL00-------------------------
  7953. INT 10 - SOLLEX SuperVGA - VIDEO SUPPORT CONTROL - GET SUPPORT INFO
  7954.     AX = 7F03h
  7955.     BL = 00h
  7956.     CX = support type
  7957.         0000h VGA, 0001h EGA, 0002h CGA, 0003h MDA, 0004h extensions,
  7958.         0005h-0012h reserved for SOLLEX, 0013h Hercules,
  7959.         0014h-001Fh reserved for SOLLEX, 0020h-00FFh reserved for OEM
  7960. Return: AL <> 7Fh if not supported
  7961.     AL = 7Fh if supported
  7962.         AH = status
  7963.         00h successful
  7964.             CX = size of video support code
  7965.             DX = segment of physical video support (0000h if no ROM)
  7966.             ES = segment of active video support
  7967.             ES:DI -> information block (DI = 0000h if none available)
  7968.         01h failed
  7969. SeeAlso: AX=7F03h/BL=01h
  7970. --------V-107F03BL01-------------------------
  7971. INT 10 - SOLLEX SuperVGA - VIDEO SUPPORT CONTROL - INITIALIZE VIDEO SUPPORT
  7972.     AX = 7F03h
  7973.     BL = 01h
  7974.     CX = support request
  7975.     ES = segment of support code
  7976. Return: AL <> 7Fh if not supported
  7977.     AL = 7Fh if supported
  7978.         AH = status
  7979.         00h successful
  7980.         01h failed
  7981. Note:    initializes the indicated video support by calling ES:0003h; this
  7982.       function may be used to switch the active video support back to
  7983.       ROM after AX=7F03h/BL=02h
  7984. SeeAlso: AX=7F03h/BL=00h
  7985. --------V-107F03BL02-------------------------
  7986. INT 10 - SOLLEX SuperVGA - VIDEO SUPPORT CONTROL - GO RAM RESIDENT
  7987.     AX = 7F03h
  7988.     BL = 02h
  7989.     CX = support request
  7990.     ES = destination segment
  7991. Return: AL <> 7Fh if not supported
  7992.     AL = 7Fh if supported
  7993.         AH = status
  7994.         00h successful
  7995.         01h failed
  7996. SeeAlso: AX=7F00h"SOLLEX",AX=7F03h/BL=01h
  7997. --------V-107F04BL00-------------------------
  7998. INT 10 - SOLLEX SuperVGA - POWER CONTROL - SET POWER STATE
  7999.     AX = 7F04h
  8000.     BL = 00h
  8001.     CX = new power state
  8002. Return: AL <> 7Fh if not supported
  8003.     AL = 7Fh if supported
  8004.         AH = status
  8005.         00h successful
  8006.         01h failed
  8007. Note:    higher values progressively reduce the operations available on the
  8008.       video adapter while yielding increasing power savings
  8009. SeeAlso: AX=7F00h"SOLLEX",AX=7F04h/BL=01h
  8010. --------V-107F04BL01-------------------------
  8011. INT 10 - SOLLEX SuperVGA - POWER CONTROL - GET POWER STATE
  8012.     AX = 7F04h
  8013.     BL = 01h
  8014. Return: AL <> 7Fh if not supported
  8015.     AL = 7Fh if supported
  8016.         AH = status
  8017.         00h successful
  8018.             CX = current power state
  8019.             DX = maximum state
  8020.         01h failed
  8021. SeeAlso: AX=7F00h"SOLLEX",AX=7F04h/BL=00h
  8022. --------V-107F04BL02-------------------------
  8023. INT 10 - SOLLEX SuperVGA - POWER CONTROL - SET TIMEOUT RESET
  8024.     AX = 7F04h
  8025.     BL = 02h
  8026.     CX = timeout reset
  8027. Return: AL <> 7Fh if not supported
  8028.     AL = 7Fh if supported
  8029.         AH = status
  8030.         00h successful
  8031.         01h failed
  8032. SeeAlso: AX=7F00h"SOLLEX",AX=7F04h/BL=03h
  8033. --------V-107F04BL03-------------------------
  8034. INT 10 - SOLLEX SuperVGA - POWER CONTROL - GET TIMEOUT RESET
  8035.     AX = 7F04h
  8036.     BL = 03h
  8037. Return: AL <> 7Fh if not supported
  8038.     AL = 7Fh if supported
  8039.         AH = status
  8040.         00h successful
  8041.             BX = time increment
  8042.             CX = current timeout reset
  8043.             DX = maximum timeout reset
  8044.             ES:DI -> timeout reset table (array of bytes)
  8045.         01h failed
  8046. Note:    the timeout period is computed as (BYTE ES:[DI+CX]) * BX timer ticks
  8047. SeeAlso: AX=7F00h"SOLLEX",AX=7F04h/BL=02h
  8048. --------V-107F05-----------------------------
  8049. INT 10 - SOLLEX SuperVGA - LOAD REGISTER
  8050.     AX = 7F05h
  8051.     ES:DI -> register value table (see #0141)
  8052. Return: AL <> 7Fh if not supported
  8053.     AL = 7Fh if supported
  8054.         AH = status
  8055.         00h successful
  8056.         01h failed
  8057. SeeAlso: AH=F1h,AH=F3h,AH=F5h
  8058.  
  8059. Format of SOLLEX SuperVGA register value table:
  8060. Offset    Size    Description    (Table 0141)
  8061.  00h    WORD    base I/O register (FFFFh = end of list)
  8062.  02h 2N BYTEs    pairs of values to be written to the base I/O register as an
  8063.           index value and the following register as a data byte
  8064.  2N+2    WORD    FFFFh (end of data list)
  8065.     ... (repeats until FFFFh base address)
  8066. --------V-107F06-----------------------------
  8067. INT 10 - SOLLEX SuperVGA - MULTIPLE FONT CONTROL
  8068.     AX = 7F06h
  8069.     BL = subfunction
  8070.         00h set multiple font state
  8071.         CX = new state (00h off, 01h on)
  8072.         01h get multiple font state
  8073.         Return: BL = current state (00h off, 01h on)
  8074. Return: AL <> 7Fh if not supported
  8075.     AL = 7Fh if supported
  8076.         AH = status
  8077.         00h successful
  8078.         01h failed
  8079. SeeAlso: AX=1100h,AX=1103h
  8080. --------V-107F07-----------------------------
  8081. INT 10 - SOLLEX SuperVGA - FILL VIDEO RAM
  8082.     AX = 7F07h
  8083.     BL = how much to fill
  8084.        00h regen size
  8085.        01h all video memory
  8086.     CX = pattern to write (normally 0720h for text modes and 0000h for gr)
  8087. Return: AL <> 7Fh if not supported
  8088.     AL = 7Fh if supported
  8089.         AH = status
  8090.         00h successful
  8091.         01h failed
  8092. SeeAlso: AH=06h
  8093. --------A-1080-------------------------------
  8094. INT 10 - CU Writer v1.4 - GET OPTION
  8095.     AH = 80h
  8096.     AL = desired option
  8097. Return: ???
  8098. Program: CU Writer is a public-domain Thai-English word processor from
  8099.       Chulalongkorn University, Bangkok
  8100. SeeAlso: AH=81h"CU Writer"
  8101. --------Q-1080--DX4456-----------------------
  8102. INT 10 U - VIDEO - DESQview 2.0x only - internal - SET ??? HANDLER
  8103.     AH = 80h
  8104.     DX = 4456h ('DV')
  8105.     ES:DI -> FAR subroutine to be called on ???
  8106. Return: DS = segment of DESQview data structure for video buffer
  8107. Note:    this function is probably meant for internal use only, due to the magic
  8108.       value required in DX
  8109.     the subroutine seems to be called when the DESQview menu is accessed;
  8110.       on entry, AL = 03h or 04h
  8111. --------A-1081-------------------------------
  8112. INT 10 - CU Writer v1.4 - SET OPTION
  8113.     AH = 81h
  8114.     ???
  8115. Return: ???
  8116. SeeAlso: AH=80h"CU Writer"
  8117. --------Q-1081--DX4456-----------------------
  8118. INT 10 U - VIDEO - DESQview 2.0x only - internal - GET ???
  8119.     AH = 81h
  8120.     DX = 4456h ('DV')
  8121. Return: ES = segment of DESQview data structure for video buffer
  8122.         BYTE ES:[0] = current window number in DV 2.0x
  8123. Note:    this function is probably meant for internal use only, due to the magic
  8124.       value required in DX
  8125. SeeAlso: AH=82h"DESQview"
  8126. --------Q-1082--DX4456-----------------------
  8127. INT 10 U - VIDEO - DESQview 2.0x only - internal - GET CURRENT WINDOW INFO
  8128.     AH = 82h
  8129.     DX = 4456h ('DV')
  8130. Return: DS = segment in DESQview for data structure
  8131.          in DV 2.00,
  8132.           BYTE DS:[0] = window number
  8133.           WORD DS:[1] = segment of other data structure
  8134.           WORD DS:[3] = segment of window's object handle
  8135.     ES = segment of DESQview data structure for video buffer
  8136.     AL = current window number
  8137.     AH = ???
  8138.     BL = direct screen writes
  8139.         00h program does not do direct writes
  8140.         01h program does direct writes, so shadow buffer not usable
  8141.     BH = ???
  8142.     CL = current video mode
  8143.     CH = ???
  8144. Note:    this function is probably meant for internal use only, due to the magic
  8145.       value required in DX
  8146. SeeAlso: AH=81h"DESQview"
  8147. --------J-108200-----------------------------
  8148. INT 10 - VIDEO - AX PC - GET/SET SCROLL MODE
  8149.     AX = 8200h
  8150.     BL = new scroll mode or FFh to get current mode
  8151.         00h dynamic, 01h software
  8152. Return: AL = scroll mode (current mode if BL=FFh, previous mode otherwise)
  8153. SeeAlso: AH=06h,AH=07h
  8154. --------J-108300-----------------------------
  8155. INT 10 - VIDEO - AX PC - GET VIDEO RAM ADDRESS
  8156.     AX = 8300h
  8157. Return: AX = offset of video RAM
  8158.     ES:BX -> virtual text RAM buffer
  8159. SeeAlso: AX=5201h
  8160. ----------1086-------------------------------
  8161. INT 10 - ???
  8162.     AH = 86h
  8163. Note:    called by Diamond Stealth64 Video STLTH64.VXD
  8164. SeeAlso: INT 2F/AX=4021h
  8165. --------N-108B-------------------------------
  8166. INT 10 - Alloy MW386 - FORCE WORKSTATION SCREEN UPDATE
  8167.     AH = 8Bh
  8168. Return: nothing
  8169. SeeAlso: AH=92h,AH=93h
  8170. --------N-1090-------------------------------
  8171. INT 10 - Alloy MW386 - GET PHYSICAL WORKSTATION DISPLAY MODE
  8172.     AH = 90h
  8173. Return: AL = current video mode (see #0009 at AH=00h)
  8174. SeeAlso: AH=91h
  8175. --------N-1091-------------------------------
  8176. INT 10 - Alloy MW386 - GET PHYSICAL WORKSTATION ADAPTER TYPE
  8177.     AH = 91h
  8178. Return: AL = video adapter type (see #0142)
  8179. Note:    types less than 80h do not imply that the current user is on the host
  8180. SeeAlso: AH=90h
  8181.  
  8182. (Table 0142)
  8183. Values for Alloy MW386 video adapter type:
  8184.  00h    monochrome
  8185.  01h    Hercules monochrome graphics
  8186.  02h    CGA
  8187.  03h    EGA
  8188.  04h    VGA
  8189.  80h    monochrome text terminal
  8190.  81h    Hercules graphics terminal
  8191.  82h    color graphics terminal
  8192. --------N-1092-------------------------------
  8193. INT 10 - Alloy MW386 - INHIBIT WORKSTATION SCREEN UPDATES
  8194.     AH = 92h
  8195. Return: nothing
  8196. Note:    the terminal will be updated even when screen updates are inhibited if
  8197.       TTY output is used
  8198. SeeAlso: AH=8Bh
  8199. --------N-1093-------------------------------
  8200. INT 10 - Alloy MW386 - REDRAW SCREEN
  8201.     AH = 93h
  8202. Return: nothing
  8203. SeeAlso: AH=8Bh,AH=FFh
  8204. --------A-10A0-------------------------------
  8205. INT 10 - CU Writer v1.4 - SET PIXEL WRITE MODE
  8206.     AH = A0h
  8207.     ???
  8208. Return: ???
  8209. Program: CU Writer is a public-domain Thai-English word processor from
  8210.       Chulalongkorn University, Bangkok
  8211. SeeAlso: AH=80h"CU Writer",AH=B0h
  8212. --------p-10A000-----------------------------
  8213. INT 10 - ATI Mach64 BIOS - ???
  8214.     AX = A000h
  8215.     CL = ??? (bits 2-0 may not be 000)
  8216.     CH = ??? (81h or ???)
  8217.     DX = segment of ??? (if CH=81h)
  8218.     ???
  8219. Return: AX = ???
  8220. SeeAlso: AX=4F10h/BL=00h,AX=A001h
  8221. ----------10A001-----------------------------
  8222. INT 10 - ATI Mach64 BIOS - ???
  8223.     AX = A001h
  8224.     CL = ??? flags
  8225.     ???
  8226. Return: AH = status
  8227.         00h successful
  8228.         01h failed
  8229.     ???
  8230. SeeAlso: AX=A000h,AX=A002h
  8231. ----------10A002-----------------------------
  8232. INT 10 - ATI Mach64 BIOS - ???
  8233.     AX = A002h
  8234.     CL = ??? (bits 2-0 may not be 000)
  8235.     CH = ??? (81h or ???)
  8236.     DX = segment of ??? (if CH=81h)
  8237.     ???
  8238. Return: AH = status
  8239.         00h successful
  8240.         01h failed
  8241.     ???
  8242. Note:    executes AX=A000h, then AX=A001h if A000h was successful
  8243. SeeAlso: AX=A000h,AX=A001h
  8244. ----------10A003-----------------------------
  8245. INT 10 - ATI Mach64 BIOS - ???
  8246.     AX = A003h
  8247.     BX = ???
  8248.     ???
  8249. Return: AH = status (00h successful)
  8250.     ???
  8251. SeeAlso: AX=A000h,AX=A002h
  8252. --------V-10A004-----------------------------
  8253. INT 10 - PhoenixVIEW/LC - VIDEO DISPLAY TYPE
  8254.     AX = A004h
  8255.     ???
  8256. Return: ???
  8257. Desc:    configure display parameters
  8258. SeeAlso: AX=A01Bh"PhoenixVIEW/LC"
  8259. ----------10A004-----------------------------
  8260. INT 10 - ATI Mach64 BIOS - ???
  8261.     AX = A004h
  8262.     BX = video mode??? (0000-00FFh)
  8263.     DX = ??? (sent to some port [66ECh???] one bit at a time, high to low)
  8264.     ???
  8265. Return: AH = status
  8266.         00h successful
  8267.         01h failed
  8268.     ???
  8269. SeeAlso: AX=A000h,AX=A002h
  8270. ----------10A005-----------------------------
  8271. INT 10 - ATI Mach64 BIOS - ???
  8272.     AX = A005h
  8273.     CL = ??? flags (bits 0,2, others?)
  8274.     ???
  8275. Return: AH = status
  8276.         00h successful
  8277.         01h failed
  8278.     ???
  8279. SeeAlso: AX=A000h,AX=A002h
  8280. ----------10A006-----------------------------
  8281. INT 10 - ATI Mach64 BIOS - ???
  8282.     AX = A006h
  8283.     ???
  8284. Return: AH = status
  8285.         00h successful
  8286.         01h failed
  8287.     ???
  8288. SeeAlso: AX=A000h,AX=A002h
  8289. ----------10A007-----------------------------
  8290. INT 10 - ATI Mach64 BIOS - GET ???
  8291.     AX = A007h
  8292. Return: AH = 00h (successful)
  8293.     AL = ??? (00h)
  8294.     BX = ??? (15A0h in examined BIOS)
  8295.     DX = segment of BIOS
  8296. SeeAlso: AX=A000h,AX=A002h
  8297. ----------10A008-----------------------------
  8298. INT 10 - ATI Mach64 BIOS - GET ??? SIZE
  8299.     AX = A008h
  8300.     CL = ??? flags
  8301.     ???
  8302. Return: AH = 00h (successful)
  8303.     BX = size of ??? (0046h if CL bit 0 clear on entry)
  8304. SeeAlso: AX=A000h,AX=A009h
  8305. ----------10A009-----------------------------
  8306. INT 10 - ATI Mach64 BIOS - GET ???
  8307.     AX = A009h
  8308.     DX:BX -> buffer for ???
  8309.     CL = ??? flags
  8310.     ???
  8311. Return: AH = status
  8312.         00h successful
  8313.         DX:BX buffer filled
  8314.         01h failed
  8315.     ???
  8316. SeeAlso: AX=A000h,AX=A008h
  8317. ----------10A00A-----------------------------
  8318. INT 10 - ATI Mach64 BIOS - GET ???
  8319.     AX = A00Ah
  8320. Return: AH = 00h (successful)
  8321.     AL = ??? (01h)
  8322.     BX = ??? (5938h)
  8323.     CX = ??? (595Eh)
  8324.     DX = segment of BIOS
  8325. SeeAlso: AX=A000h,AX=A002h
  8326. ----------10A00B-----------------------------
  8327. INT 10 - ATI Mach64 BIOS - ???
  8328.     AX = A00Bh
  8329.     BX = ???
  8330.     CL = ??? flags
  8331.     ???
  8332. Return: AH = status
  8333.         00h successful
  8334.         01h failed
  8335.     ???
  8336. SeeAlso: AX=A000h,AX=A002h
  8337. --------p-10A00C-----------------------------
  8338. INT 10 - ATI Mach64 BIOS - SET SLEEP MODE
  8339.     AX = A00Ch
  8340.     CL = new state
  8341.         00h normal operation
  8342.         01h standby
  8343.         02h suspend
  8344.         03h off
  8345. Return: AH = status
  8346.         00h successful
  8347.         01h failed
  8348. Note:    CL bit 2 affects values written to video card's ports
  8349. SeeAlso: AX=A000h,AX=A00Dh,AX=4F00h,AX=4F10h/BL=01h
  8350. ----------10A00D-----------------------------
  8351. INT 10 - ATI Mach64 BIOS - GET SLEEP MODE
  8352.     AX = A00Dh
  8353. Return: AH = 00h (successful)
  8354.     CL = current power mode
  8355.         00h normal operation
  8356.         01h standby
  8357.         02h suspend
  8358.         03h off
  8359. SeeAlso: AX=A00Ch,AX=4F10h/BL=02h
  8360. ----------10A00E-----------------------------
  8361. INT 10 - ATI Mach64 BIOS - SET ???
  8362.     AX = A00Eh
  8363.     CL = ??? (00h-03h)
  8364. Return: AH = status
  8365.         00h successful
  8366.         01h failed
  8367. Note:    CL zero/nonzero are treated differently
  8368. SeeAlso: AX=A000h,AX=A00Fh
  8369. ----------10A00F-----------------------------
  8370. INT 10 - ATI Mach64 BIOS - GET ???
  8371.     AX = A00Fh
  8372. Return: AH = 00h (successful)
  8373.     CL = ??? (00h-03h, read from PORT 42ECh)
  8374. SeeAlso: AX=A000h,AX=A00Eh
  8375. ----------10A010-----------------------------
  8376. INT 10 - ATI Mach64 BIOS - ???
  8377.     AX = A010h
  8378.     CL = ???  (80h/other)
  8379.     ???
  8380. Return: AH = status
  8381.         00h successful
  8382.         01h failed
  8383.     ???
  8384. SeeAlso: AX=A000h,AX=A002h
  8385. ----------10A011-----------------------------
  8386. INT 10 - ATI Mach64 BIOS - GET ???
  8387.     AX = A011h
  8388. Return: AH = 00h (successful)
  8389.     BL = ??? (1Fh)
  8390.     BH = ??? (0Fh)
  8391.     CL = ??? (00h)
  8392.     CH = ??? (0Fh)
  8393.     DX = ??? (00FFh)
  8394. SeeAlso: AX=A000h,AX=A010h
  8395. ----------10A012-----------------------------
  8396. INT 10 - ATI Mach64 BIOS - GET ???
  8397.     AX = A012h
  8398. Return: AH = 00h (successful)
  8399.     AL = ??? (00h)
  8400.     BX = ??? (0000h)
  8401.     CX = ??? (0000h)
  8402.     DX = ??? (02ECh)
  8403. SeeAlso: AX=A000h,AX=A002h
  8404. ----------10A013-----------------------------
  8405. INT 10 - ATI Mach64 BIOS - ???
  8406.     AX = A013h
  8407.     ???
  8408. Return: AH = status
  8409.         00h successful
  8410.         01h failed
  8411.     ???
  8412. Note:    not implemented in examined BIOS, always returns AH=01h
  8413. SeeAlso: AX=A000h,AX=A002h
  8414. --------V-10A01B-----------------------------
  8415. INT 10 - PhoenixVIEW/LC - CRT MONITOR DETECTION
  8416.     AX = A01Bh
  8417.     ???
  8418. Return: ???
  8419. Desc:    determine whether an external display is currently attached
  8420. SeeAlso: AX=A004h"PhoenixVIEW/LC"
  8421. --------U-10AA-------------------------------
  8422. INT 10 OU - Player's Tool 3.0 - UNINSTALL
  8423.     AH = AAh
  8424. Return: ???
  8425. Note:    this call has been removed in PT 3.996b
  8426. Program: Player's Tool is a game cheater by Dmitry Yakunin & Andy Robinson
  8427. SeeAlso: AH=ABh,INT 2F/AH=AAh
  8428. --------U-10AB-------------------------------
  8429. INT 10 OU - Player's Tool 3.0 - INSTALLATION CHECK
  8430.     AH = ABh
  8431. Return: BH = FFh
  8432.     ???
  8433. Note:    this call has been removed in PT 3.996b
  8434. SeeAlso: AH=AAh,INT 2F/AH=ABh
  8435. --------A-10B0-------------------------------
  8436. INT 10 - CU Writer v1.4 - PUT PIXEL
  8437.     AH = B0h
  8438.     ???
  8439. Return: ???
  8440. SeeAlso: AH=A0h"CU Writer",AH=B1h,AH=B2h,AH=B3h,AH=B4h,AH=B5h,AH=D0h
  8441. --------A-10B1-------------------------------
  8442. INT 10 - CU Writer v1.4 - MOVE TO
  8443.     AH = B1h
  8444.     ???
  8445. Return: ???
  8446. SeeAlso: AH=B0h,AH=B2h,AH=C0h"CU Writer"
  8447. --------A-10B2-------------------------------
  8448. INT 10 - CU Writer v1.4 - DRAW LINE TO
  8449.     AH = B2h
  8450.     ???
  8451. Return: ???
  8452. SeeAlso: AH=B0h,AH=B1h,AH=B3h,AH=B4h,AH=B5h
  8453. --------A-10B3-------------------------------
  8454. INT 10 - CU Writer v1.4 - FLOOD FILL
  8455.     AH = B3h
  8456.     ???
  8457. Return: ???
  8458. SeeAlso: AH=B2h,AH=B5h
  8459. --------A-10B4-------------------------------
  8460. INT 10 - CU Writer v1.4 - DRAW RECTANGLE
  8461.     AH = B4h
  8462.     ???
  8463. Return: ???
  8464. SeeAlso: AH=B0h,AH=B2h,AH=B3h,AH=B5h
  8465. --------A-10B5-------------------------------
  8466. INT 10 - CU Writer v1.4 - DRAW FILLED RECTANGLE
  8467.     AH = B5h
  8468.     ???
  8469. Return: ???
  8470. SeeAlso: AH=B0h,AH=B2h,AH=B3h,AH=B4h
  8471. --------V-10BD44-----------------------------
  8472. INT 10 U - Compaq QVision - ???
  8473.     AX = BD44h
  8474.     ???
  8475. Return: ???
  8476. Note:    called by Compaq's MTX132.COM, which places the QVision in 132-column
  8477.       mode
  8478. --------V-10BF--CX0000-----------------------
  8479. INT 10 - Athena Digital HGCIBM.COM - INSTALLATION CHECK
  8480.     AH = BFh
  8481.     CX = 0000h (???)
  8482. Return: CX = 0202h
  8483.     DL = ??? (internal data, possibly version number)
  8484. --------b-10BF00-----------------------------
  8485. INT 10 - VIDEO - Compaq Extensions - SELECT EXTERNAL MONITOR
  8486.     AX = BF00h
  8487. Return: nothing
  8488. Desc:    specify that the external monitor become the active monitor
  8489. Note:    all registers preserved and the internal monitor is blanked
  8490. SeeAlso: AX=BF01h,AX=BF12h,AH=12h/BL=35h
  8491. --------b-10BF01-----------------------------
  8492. INT 10 - VIDEO - Compaq Extensions - SELECT INTERNAL MONITOR
  8493.     AX = BF01h
  8494. Return: nothing
  8495. Desc:    specify that the internal monitor become the active monitor
  8496. Note:    all registers preserved and the external monitor is blanked
  8497. SeeAlso: AX=BF00h,AX=BF12h,AH=12h/BL=35h
  8498. --------b-10BF02-----------------------------
  8499. INT 10 - VIDEO - Compaq Extensions - SET MASTER MODE OF CURRENT CONTROLLER
  8500.     AX = BF02h
  8501.     BH = master mode
  8502.         04h CGA
  8503.         05h EGA
  8504.         07h MDA
  8505. Return: nothing
  8506. SeeAlso: AX=BF03h
  8507. --------b-10BF03BX0000-----------------------
  8508. INT 10 - VIDEO - Compaq Extensions - GET ENVIRONMENT
  8509.     AX = BF03h
  8510.     BX = 0000h
  8511. Return: BH = active monitor
  8512.         (00h = external, 01h = internal, 03h both, 04h neither)
  8513.     BL = master mode (see #0143)
  8514.     CH = ASIC type and version
  8515.         00h (reserved, very early Compaq VGCs)
  8516.         31h if QVision VGA
  8517.     CL = switchable VDU modes supported (see #0144)
  8518.     DH = internal monitor type (see #0145)
  8519.     DL = external monitor type (see #0145)
  8520. SeeAlso: AX=1A00h,AX=BF00h,AX=BF01h,AX=BF02h,AX=BF11h
  8521.  
  8522. (Table 0143)
  8523. Values for Compaq video master mode:
  8524.  00h    switchable VDU not present
  8525.  04h    CGA
  8526.  05h    EGA
  8527.  07h    MDA
  8528.  08h    switchable LCD controller present
  8529.  09h    plasma VGA
  8530.  0Ah    TFT (active-matrix) VGA
  8531.  
  8532. Bitfields for Compaq switchable VDU modes support:
  8533. Bit(s)    Description    (Table 0144)
  8534.  0    CGA supported
  8535.  1,2    reserved (1)
  8536.  3    MDA supported
  8537.  4    BitBLT engine available
  8538.  5    132-column support availble
  8539.  6    640x480x256 mode available
  8540.  7    8-bit DAC mode available
  8541.  
  8542. (Table 0145)
  8543. Values for Compaq monitor type:
  8544.  00h    none
  8545.  01h    dual-mode monitor
  8546.  02h    5153 RGB monitor (RGBI 16-color)
  8547.  03h    Compaq Color monitor
  8548.  04h    640x400 flat panel (Plasma CGA)
  8549.  05h    VGC monochrome
  8550.  06h    VGC color
  8551.  07h    8-level mono LCD VGA (internal)
  8552.     1024x768 mono VGA (external)
  8553.  08h    16-level mono plasma VGA (internal)
  8554.     1024x768 color VGA (external)
  8555.  09h    4-level mono LCD CGA
  8556.  0Ah    16-level mono LCD VGA
  8557.  0Bh    active-matrix color VGA
  8558.  0Ch    active-matrix mono VGA
  8559.  0Dh    STN color VGA
  8560. --------b-10BF04-----------------------------
  8561. INT 10 - VIDEO - Compaq Extensions - SET MODE SWITCH DELAY
  8562.     AX = BF04h
  8563.     BH = new state of delay (00h enabled, 01h disabled)
  8564. Return: nothing
  8565. Note:    the 04/08/93 sytem ROM appears to use BL instead of BH; a future
  8566.       version of the list will provide more definite information
  8567. SeeAlso: AX=BF05h
  8568. --------b-10BF05-----------------------------
  8569. INT 10 - VIDEO - Compaq Extensions - ENABLE/DISABLE DISPLAY
  8570.     AX = BF05h
  8571.     BH = new state of video
  8572.         00h off
  8573.         01h on
  8574. Return: nothing
  8575. Note:    the 04/08/93 sytem ROM appears to use BL instead of BH; a future
  8576.       version of the list will provide more definite information
  8577. SeeAlso: AH=12h/BL=36h,AX=BF04h
  8578. --------b-10BF06-----------------------------
  8579. INT 10 - VIDEO - Compaq SLT/286 - READ GRAY SCALE TABLE
  8580.     AX = BF06h
  8581.     CL = address to be read from gray scale table
  8582. Return: AL = bit 3-0 - Value read from gray scale table
  8583.     CL = address to be read from gray scale table
  8584. SeeAlso: AH=12h/BL=33h,AX=BF07h
  8585. --------b-10BF07-----------------------------
  8586. INT 10 - VIDEO - Compaq SLT/286 - WRITE GRAY SCALE TABLE
  8587.     AX = BF07h
  8588.     CH = value to write to gray scale table
  8589.     CL = address to be written to gray scale table
  8590. Return: nothing
  8591. SeeAlso: AX=BF06h,AX=BF08h
  8592. --------b-10BF08-----------------------------
  8593. INT 10 - VIDEO - Compaq SLT/286 - WRITE COLOR MIX REGISTERS
  8594.     AX = BF08h
  8595.     CH = bits 7-4 green weight
  8596.          bits 3-0 blue weight
  8597.     CL = bits 7-4 unused
  8598.          bits 3-0 red weight
  8599. Return: nothing
  8600. SeeAlso: AH=12h/BL=33h,AX=BF07h
  8601. --------b-10BF09-----------------------------
  8602. INT 10 - VIDEO - Compaq Extensions - TURN ON REVERSE VIDEO
  8603.     AX = BF09h
  8604. Return: CF clear
  8605. Notes:    sets bit 6 of port 03CEh index 81h; in some cases also sets index 84h
  8606.       to 6Fh and index 83h to 04h
  8607.     supported by at least the QVision board and the LTE Lite ROM BIOS
  8608. SeeAlso: AX=BF0Ah,AX=BF0Bh
  8609. --------b-10BF0A-----------------------------
  8610. INT 10 - VIDEO - Compaq Extensions - TURN OFF REVERSE VIDEO
  8611.     AX = BF0Ah
  8612. Return: CF clear
  8613. Notes:    clears bit 6 of port 03CEh index 81h; in some cases also sets index 84h
  8614.       to 80h and index 83h to FBh
  8615.     supported by at least the QVision board and the LTE Lite ROM BIOS
  8616. SeeAlso: AX=BF09h,AX=BF0Bh
  8617. --------b-10BF0B-----------------------------
  8618. INT 10 - VIDEO - Compaq Extensions - CHECK WHETHER VIDEO REVERSED
  8619.     AX = BF0Bh
  8620. Return: CF clear
  8621.     AX = state (0000h normal video, 0001h reverse video)
  8622. Note:    supported by at least the QVision board and the LTE Lite ROM BIOS
  8623. SeeAlso: AX=BF09h,AX=BF0Ah
  8624. --------b-10BF0C-----------------------------
  8625. INT 10 - VIDEO - Compaq Extensions - SET DAC 6-BIT MODE
  8626.     AX = BF0Ch
  8627. Return: CF clear
  8628. Desc:    specify that video DAC registers use only six bits of color info
  8629. Note:    supported by at least the QVision board and the SystemPro XL ROM BIOS
  8630. SeeAlso: AX=BF0Dh,AX=BF0Eh
  8631. --------b-10BF0D-----------------------------
  8632. INT 10 - VIDEO - Compaq Extensions - SET DAC 8-BIT MODE
  8633.     AX = BF0Dh
  8634. Return: CF clear
  8635. Desc:    specify that video DAC registers use all eight bits of color info
  8636. Note:    supported by at least the QVision board and the SystemPro XL ROM BIOS
  8637. SeeAlso: AX=BF0Ch,AX=BF0Eh
  8638. --------b-10BF0E-----------------------------
  8639. INT 10 - VIDEO - Compaq Extensions - CHECK DAC 6-BIT/8-BIT mode
  8640.     AX = BF0Eh
  8641. Return: CF clear
  8642.     AL = DAC mode
  8643.         00h in 6-bit mode
  8644.         01h in 8-bit mode
  8645. Note:    supported by at least the QVision board and the SystemPro XL ROM BIOS
  8646. SeeAlso: AX=BF0Ch,AX=BF0Dh
  8647. --------b-10BF0F-----------------------------
  8648. INT 10 - VIDEO - Compaq Extensions - SET HIGH ADRESS MAP REGISTER
  8649.     AX = BF0Fh
  8650.     BX = high address map location in megabytes, or
  8651.         0000h to disable high address map, or
  8652.         FFFFh to let ROM configure high address map
  8653. Return: CF clear
  8654.     AX = previous value of high address map register
  8655. Notes:    supported by at least the QVision board and the SystemPro XL and LTE
  8656.       Lite ROM BIOSes
  8657. SeeAlso: AX=BF10h
  8658. --------b-10BF10-----------------------------
  8659. INT 10 - VIDEO - Compaq Extensions - GET HIGH ADDRESS MAP REGISTER
  8660.     AX = BF10h
  8661. Return: CF clear
  8662.     AX = current value of high address map register
  8663. Notes:    supported by at least the QVision board and the SystemPro XL and LTE
  8664.       Lite ROM BIOSes
  8665.     the Compaq QVision documentation (October 1993) says the value is
  8666.       returned in BX, but this appears to be one of many typos
  8667. SeeAlso: AX=BF0Fh
  8668. --------b-10BF11-----------------------------
  8669. INT 10 - VIDEO - Compaq Extensions - GET EXTENDED ENVIRONMENT
  8670.     AX = BF11h
  8671. Return: AL = BFh if supported
  8672.         CF clear
  8673.         ES:DI -> ASCII signature "COMPAQ"
  8674.         ES:SI -> advanced functionality table (see #0146)
  8675. Note:    supported by at least the QVision board and the LTE Lite and ProSignia
  8676.       ROM BIOSes
  8677. SeeAlso: AX=1A00h,AX=BF03h
  8678.  
  8679. Bitfields for Compaq advanced video functionality:
  8680. Bit(s)    Description    (Table 0146)
  8681.  31    future graphics extensions (reserved, set to 0)
  8682.  30-16    reserved
  8683.  15-12    available video memory in 256K blocks, less one (0000 = 256K, etc.)
  8684.  11-8    reserved
  8685.  7    QVision modes supported
  8686.  6    Advanced VGA modes supported
  8687.  5    Accelerated VGA modes supported
  8688.  4    standard VGA modes supported
  8689.  3-2    reserved
  8690.  1    132-column modes supported
  8691.  0    reserved
  8692. --------b-10BF12-----------------------------
  8693. INT 10 - VIDEO - Compaq Extensions - NEW ACTIVE MONITOR
  8694.     AX = BF12h
  8695.     BH reserved
  8696.     BL = function mask (see #0147)
  8697. Return: CF clear
  8698. Notes:    this function is a NOP if the VGA subsystem is inactive or the current
  8699.       Display Combination Code is 10h or higher
  8700.     supported by at least the QVision board and the LTE Lite and ProSignia
  8701.       ROM BIOSes
  8702. SeeAlso: AX=BF01h,AX=BF02h,#0657
  8703.  
  8704. Bitfields for function mask:
  8705. Bit(s)    Description    (Table 0147)
  8706.  7    command mode
  8707.     if set, bits 1 and 0 make the monitor active when set
  8708.     if clear, bits 1 and 0 toggle the monitor's state when set
  8709.  6-2    reserved
  8710.  1    internal monitor
  8711.  0    external monitor
  8712. --------b-10BF13-----------------------------
  8713. INT 10 - VIDEO - Compaq QVision - GAMMA CORRECTION
  8714.     AX = BF13h
  8715.     BL = subfunction
  8716.         00h load gamma correction table for true-color mode
  8717.         DS = BIOS data segment
  8718.         01h set palette RAM bypass
  8719.     BH = 00h
  8720. Return: nothing
  8721. Note:    these functions must be called after a video mode set, and are in
  8722.       effect only for the current video mode
  8723. SeeAlso: #0657
  8724. --------V-10BFA0BXADAD-----------------------
  8725. INT 10 - VIDEO - Compaq ADAPT.COM - INSTALLATION CHECK
  8726.     AX = BFA0h
  8727.     BX = ADADh
  8728. Return: AX = BDBDh if newer ADAPT.COM installed
  8729.         BX = BCD version (BH = major, BL = minor)
  8730.         CL = ???
  8731.         CH = ???
  8732.         DL = ???
  8733.     AX = ADADh if older version of ADAPT.COM installed
  8734. Program: ADAPT is Compaq's Advanced Display Attribute Programming Tool, an
  8735.       optionally-resident utility for setting display colors and cursor
  8736.       size; when resident, it also includes a screen blanker
  8737. SeeAlso: AX=BFA1h,AX=BFA2h,AX=DFA5h
  8738. Index:    screen saver;ADAPT
  8739. --------V-10BFA1-----------------------------
  8740. INT 10 - VIDEO - Compaq ADAPT.COM - GET ???
  8741.     AX = BFA1h
  8742. Return: AX = BDBEh if supported
  8743.         CH = current value of ???
  8744.         DL = current value of ???
  8745. SeeAlso: AX=BFA0h,AX=BFA2h
  8746. --------V-10BFA2-----------------------------
  8747. INT 10 - VIDEO - Compaq ADAPT.COM - SET ???
  8748.     AX = BFA2h
  8749.     CH = new value for ???
  8750.     DL = new value for ???
  8751. Return: AX = BDBEh if supported
  8752. SeeAlso: AX=BFA0h,AX=BFA1h
  8753. --------A-10C0-------------------------------
  8754. INT 10 - CU Writer v1.4 - GO TO TEXT ROW AND COLUMN
  8755.     AH = C0h
  8756.     ???
  8757. Return: ???
  8758. SeeAlso: AH=B1h,AH=C1h,AH=C2h,AH=C3h,AH=C4h
  8759. --------V-10C000-----------------------------
  8760. INT 10 - S3 SpeedUp v3.00+ - INSTALLATION CHECK
  8761.     AX = C000h
  8762. Return: AX = FFFFh if installed
  8763.         DX = version number (binary, DH=major, DL=minor)
  8764.         BX = resident code segment
  8765. Program: S3SPDUP is a freeware TSR by Dietmar Meschede to improve the speed
  8766.       of chained video modes (both VESA and VGA Mode 13) on S3-chipset
  8767.       video cards
  8768. SeeAlso: AX=C001h,AX=C002h,AX=C003h,AX=D000h"S3VBE"
  8769. --------V-10C001-----------------------------
  8770. INT 10 - S3 SpeedUp v3.00+ - GET ACTIVE OPTIONS
  8771.     AX = C001h
  8772. Return: AX = FFFFh if function supported
  8773.         BX = currently active options (see #0148)
  8774. SeeAlso: AX=C000h,AX=C002h,AX=C003h
  8775.  
  8776. Bitfields for S3SpeedUp options:
  8777. Bit(s)    Description    (Table 0148)
  8778.  0    speed up banked VESA modes
  8779.  1    speed up 320x200 VGA mode 13
  8780. SeeAlso: #0154
  8781. --------V-10C002-----------------------------
  8782. INT 10 - S3 SpeedUp v3.00+ - SET ACTIVE OPTIONS
  8783.     AX = C002h
  8784.     BX = new value for active options (see #0148)
  8785. Return: AX = FFFFh if function supported
  8786. SeeAlso: AX=C000h,AX=C001h,AX=C003h,AX=D003h"S3VBE"
  8787. --------V-10C003-----------------------------
  8788. INT 10 - S3 SpeedUp v3.10+ - GET FLAGS
  8789.     AX = C003h
  8790. Return: AX = FFFFh if function supported
  8791.         BX = flags
  8792.         bit 0: SpeedUp is active
  8793.         bit 1: Windows run after SpeedUp
  8794. SeeAlso: AX=C000h,AX=C001h,AX=C002h,AX=D005h"S3VBE"
  8795. --------V-10C004-----------------------------
  8796. INT 10 - S3 SpeedUp v3.10+ - RESERVED FUNCTIONS
  8797.     AX = C004h-C0FFh
  8798. Return: AX = 5555h
  8799. SeeAlso: AX=C000h
  8800. --------A-10C1-------------------------------
  8801. INT 10 - CU Writer v1.4 - OUTPUT TEXT
  8802.     AH = C1h
  8803.     ???
  8804. Return: ???
  8805. SeeAlso: AH=C0h,AH=C2h,AH=C3h,AH=C4h
  8806. --------A-10C2-------------------------------
  8807. INT 10 - CU Writer v1.4 - REVERSE TEXT
  8808.     AH = C2h
  8809.     ???
  8810. Return: ???
  8811. SeeAlso: AH=C0h,AH=C1h,AH=C3h,AH=C4h
  8812. --------A-10C3-------------------------------
  8813. INT 10 - CU Writer v1.4 - TEXT BAR
  8814.     AH = C3h
  8815.     ???
  8816. Return: ???
  8817. SeeAlso: AH=C0h,AH=C1h,AH=C4h
  8818. --------A-10C4-------------------------------
  8819. INT 10 - CU Writer v1.4 - TEXT MENU
  8820.     AH = C4h
  8821.     ???
  8822. Return: ???
  8823. SeeAlso: AH=C0h,AH=C1h,AH=C3h,AH=D0h
  8824. --------V-10CB00-----------------------------
  8825. INT 10 - UNCHAIN - SAVE CURRENT VGA REGISTERS
  8826.     AX = CB00h
  8827. Note:    combined with AX=CB06h, this function permits the use of video mode
  8828.       13h together with the VGA's unchained mode
  8829. SeeAlso: AX=CB06h,AX=CBFFh
  8830. --------V-10CB01-----------------------------
  8831. INT 10 - UNCHAIN - UPDATE PAGE 1 OFFSET
  8832.     AX = CB01h
  8833.     BX = offset of page 1
  8834. Return: nothing
  8835. Desc:    inform UNCHAIN of the location of video page 1 in video memory; the
  8836.       default is 0000h
  8837. SeeAlso: AX=CB02h,AX=CB03h,AX=CB04h,AX=CBFFh
  8838. --------V-10CB02-----------------------------
  8839. INT 10 - UNCHAIN - UPDATE PAGE 2 OFFSET
  8840.     AX = CB02h
  8841.     BX = offset of page 2
  8842. Return: nothing
  8843. Desc:    inform UNCHAIN of the location of video page 2 in video memory; the
  8844.       default is 3E80h (16000, for 320x200)
  8845. SeeAlso: AX=CB00h,AX=CB01h,AX=CB03h,AX=CB04h
  8846. --------V-10CB03-----------------------------
  8847. INT 10 - UNCHAIN - UPDATE PAGE 3 OFFSET
  8848.     AX = CB03h
  8849.     BX = offset of page 3
  8850. Return: nothing
  8851. Desc:    inform UNCHAIN of the location of video page 3 in video memory; the
  8852.       default is 7D00h (32000, for 320x200)
  8853. SeeAlso: AX=CB01h,AX=CB02h,AX=CB04h
  8854. --------V-10CB04-----------------------------
  8855. INT 10 - UNCHAIN - UPDATE PAGE 4 OFFSET
  8856.     AX = CB04h
  8857.     BX = offset of page 4
  8858. Return: nothing
  8859. Desc:    inform UNCHAIN of the location of video page 4 in video memory; the
  8860.       default is BB80h (48000, for 320x200)
  8861. SeeAlso: AX=CB01h,AX=CB02h,AX=CB03h,AX=CB05h
  8862. --------V-10CB05-----------------------------
  8863. INT 10 - UNCHAIN - SAVE PALETTE
  8864.     AX = CB05h
  8865. Return: nothing
  8866. SeeAlso: AX=CB00h,AX=CB06h
  8867. --------V-10CB06-----------------------------
  8868. INT 10 - UNCHAIN - RESTORE VGA REGISTERS
  8869.     AX = CB06h
  8870. Return: nothing
  8871. SeeAlso: AX=CB00h,AX=CB05h,AX=CBFFh
  8872. --------V-10CBFF-----------------------------
  8873. INT 10 - UNCHAIN - INSTALLATION CHECK
  8874.     AX = CBFFh
  8875. Return: AX = CCBBh if installed
  8876. Program: UNCHAIN is a TSR by Colin Buckley which permits use of Borland
  8877.       development tools with Mode X video in the absence of a second
  8878.       monitor
  8879. SeeAlso: AX=CB00h,AX=CB01h,AX=CB06h
  8880. --------V-10CC00-----------------------------
  8881. INT 10 - VIDEO - UltraVision - GET STATUS (INSTALLATION CHECK)
  8882.     AX = CC00h
  8883.     SI = magic value 0000h (if checking version)
  8884. Return: CX = product signature
  8885.         ABCDh UltraVision
  8886.         5546h ('UF') UltraFont
  8887.     AL = Ultravision extensions
  8888.         00h enabled
  8889.         FFh disabled
  8890.     AH = card designator
  8891.     BX:00F0h -> palette values (for compatibility with NEWFONT)
  8892.     DX = support for high resolution modes
  8893.         00h not active
  8894.         01h active
  8895.     SI = UltraVision version number (v1.2+), high byte=major,low byte=minor
  8896.         unchanged for versions <1.2
  8897. Note:    UltraFont is a simplified version of UltraVision for Toshiba;
  8898.       only the signature in CX and the status in AL will be returned
  8899. SeeAlso: AX=CC01h,AX=CC02h
  8900. --------V-10CC01-----------------------------
  8901. INT 10 - VIDEO - UltraVision - DISABLE EXTENSIONS
  8902.     AX = CC01h
  8903. Return: nothing
  8904. Notes:    subsequent BIOS calls will be passed through to previous handler
  8905.     should be followed immediately by mode set to restore normal EGA/VGA
  8906.       state
  8907. SeeAlso: AX=CC02h
  8908. --------V-10CC02-----------------------------
  8909. INT 10 - VIDEO - UltraVision - ENABLE EXTENSIONS
  8910.     AX = CC02h
  8911. Return: nothing
  8912. Note:    should be followed immediately by mode set to restore previous
  8913.       UltraVision state
  8914. SeeAlso: AX=CC01h
  8915. --------U-10CCAB-----------------------------
  8916. INT 10 - HiFont - INSTALLATION CHECK
  8917.     AX = CCABh
  8918. Return: AX = ABCCh
  8919. Program: HiFont is a 8x19 font driver for standard VGA by Solar Designer
  8920. --------V-10CD00-----------------------------
  8921. INT 10 - VIDEO - UltraVision - LOAD ULTRAVISION PALETTE (color EGA,VGA)
  8922.     AX = CD00h
  8923.     CL = palette table number (01h-07h for v1.x, 01h-0Fh for v2+)
  8924.     DS:DX -> 16-byte palette register list (colors for registers 00h-0Fh)
  8925. Return: nothing
  8926. Notes:    if palette locking is in effect for the current mode, the new colors
  8927.       will be displayed immediately; otherwise, the system reverts to the
  8928.       default palette
  8929.     palette table 0 is reserved for the default palette and cannot be set
  8930.     UltraVision always sets the border color to black
  8931. SeeAlso: AX=CD01h,AX=CD02h
  8932. --------V-10CD01-----------------------------
  8933. INT 10 - VIDEO - UltraVision - SET PALETTE LOCKING STATUS (color EGA,VGA)
  8934.     AX = CD01h
  8935.     CL = palette locking value
  8936.         00h none
  8937.         01h text modes only (02h,03h)
  8938.         FFh all modes (all standard color text and graphics modes)
  8939. Return: nothing
  8940. Notes:    intended for video modes with 16 or fewer colors
  8941. SeeAlso: AX=1000h,AX=1002h,AX=CD00h,AX=CD03h
  8942. --------V-10CD02-----------------------------
  8943. INT 10 - VIDEO - UltraVision - GET ULTRAVISION PALETTE (EGA,VGA)
  8944.     AX = CD02h
  8945. Return: CL = palette table number
  8946.     DS:DX -> 17-byte palette register list (see #0149)
  8947.     DS:SI -> current font names table (see #0150,#0151)
  8948. Note:    only the font names are valid on monochrome EGA systems
  8949. SeeAlso: AX=1009h,AX=CD00h
  8950.  
  8951. Format of UltraVision palette register list:
  8952. Offset    Size    Description    (Table 0149)
  8953.  00h 16 BYTEs    colors for palette registers 00h through 0Fh
  8954.  10h    BYTE    border color
  8955.  
  8956. Format of UltraVision v2+ current font names table:
  8957. Offset    Size    standard EGA    HiRes EGA    VGA    (Table 0150)
  8958.  00h  8 BYTEs    N/A        F19 font    F20 font
  8959.  08h  8 BYTEs    F14 font    F14 font    F14 font
  8960.  10h  8 BYTEs    N/A        F11 font    F10 font
  8961.  18h  8 BYTEs    F8 font        F8 font        F8 font
  8962.  
  8963. Format of UltraVision v1.x current font names table:
  8964. Offset    Size    HiRes EGA    (Table 0151)
  8965.  00h  8 BYTEs    F19/F14 font
  8966.  08h  8 BYTEs    F11/F8 font
  8967. --------V-10CD03-----------------------------
  8968. INT 10 - VIDEO - UltraVision - GET PALETTE LOCKING STATUS (color EGA,VGA)
  8969.     AX = CD03h
  8970. Return: CL = palette locking value
  8971.         00h none
  8972.         01h text modes only
  8973.         FFh all modes
  8974. SeeAlso: AX=CD01h
  8975. --------V-10CD04-----------------------------
  8976. INT 10 - VIDEO - UltraVision - GET UltraVision TEXT MODE (EGA,VGA)
  8977.     AX = CD04h
  8978. Return: AL = mode number (see #0152)
  8979. SeeAlso: AH=0Fh,AX=CC00h,AH=CDh
  8980.  
  8981. (Table 0152)
  8982. Values for UltraVision video mode number:
  8983.  11h    80x25
  8984.  12h    80x43, 80x50
  8985.  13h    80x34, 80x36
  8986.  14h    80x60, 80x63
  8987.  19h    94x25
  8988.  1Ah    94x43, 94x50
  8989.  1Bh    94x36
  8990.  1Ch    94x63
  8991.  21h    108x25
  8992.  22h    108x43, 108x50
  8993.  23h    107x34, 108x36
  8994.  24h    108x60, 108x63
  8995.  31h    120x25
  8996.  32h    120x43, 120x50
  8997.  33h    132x25
  8998.  34h    132x44, 132x50
  8999.  39h    120x36
  9000.  3Ah    120x63
  9001.  3Bh    132x36
  9002.  3Ch    132x60
  9003. Index:    video modes;UltraVision
  9004. --------V-10CD05-----------------------------
  9005. INT 10 - VIDEO - UltraVision - SET CURSOR TYPE (EGA,VGA)
  9006.     AX = CD05h
  9007.     CL = type
  9008.         00h line cursor
  9009.         FFh box cursor
  9010. Return: nothing
  9011. Note:    sets default cursor type for text-based programs
  9012. SeeAlso: AH=01h,AX=CD06h
  9013. --------V-10CD06-----------------------------
  9014. INT 10 - VIDEO - UltraVision - GET CURSOR TYPE (EGA,VGA)
  9015.     AX = CD06h
  9016. Return: CL = type
  9017.         00h line cursor
  9018.         FFh box cursor
  9019. SeeAlso: AH=03h,AX=CD05h
  9020. --------V-10CD07-----------------------------
  9021. INT 10 - VIDEO - UltraVision v1.2+ - SET UNDERLINE STATUS (EGA,VGA)
  9022.     AX = CD07h
  9023.     CL = hardware underline status (see #0153)
  9024.     BL = foreground color for normal text (FFh = current)
  9025.     BH = foreground color for bright text (FFh = current)
  9026. Return: CL = hardware underline status
  9027.     BL = current foreground color for normal text
  9028.     BH = current foreground color for bright text
  9029. Notes:    when underline or strikeout is enabled in color text modes, the
  9030.       specified colors will be assigned temporarily to colors 01h and 09h,
  9031.       allowing affected text to match non-underlined text.    The color
  9032.       remapping uses values from the current onscreen palette regardless
  9033.       of the palette locking status (see AX=CD01h)
  9034.     specify the standard colors (BL=01h,BH=09h) to enable underline or
  9035.       strikeout without color remapping
  9036. SeeAlso: AX=CD08h
  9037.  
  9038. (Table 0153)
  9039. Values for hardware underline status:
  9040.  00h    off (color systems only)
  9041.  01h    underline below characters
  9042.  02h    strike through characters
  9043. --------V-10CD08-----------------------------
  9044. INT 10 - VIDEO - UltraVision v1.2+ - GET UNDERLINE STATUS (EGA,VGA)
  9045.     AX = CD08h
  9046. Return: CL = hardware underline status (see #0153)
  9047.     BL = foreground color for normal text
  9048.     BH = foreground color for bright text
  9049. Note:    only CL is valid on monochrome EGA systems
  9050. SeeAlso: AX=CD07h
  9051. --------V-10CD10-----------------------------
  9052. INT 10 - VIDEO - UltraVision - LOAD USER FONT (EGA,VGA)
  9053.     AX = CD10h
  9054.     BH = bytes per character (08h,0Ah,0Bh,0Eh,13h,14h)
  9055.     CX = ABCDh load 9xN alternate font (v2+)
  9056.        else number of characters to load
  9057.         DX = character offset into font table
  9058.         DS:SI -> 8-byte ASCII font name
  9059.     ES:BP -> font definitions
  9060. Return: AX = FFFFh if invalid font parameters
  9061. Notes:    loads the designated characters into UltraVision's resident font area
  9062.     should be followed by a video mode set to reload character generator
  9063. SeeAlso: AX=1100h,AX=1103h
  9064. --------V-10CD-------------------------------
  9065. INT 10 - VIDEO - UltraVision - SET ULTRAVISION TEXT MODE (EGA,VGA)
  9066.     AH = CDh
  9067.     AL = text mode number (see #0152)
  9068. Return: AX = CDCDh if invalid mode
  9069. SeeAlso: AX=CD04h
  9070. --------A-10D0-------------------------------
  9071. INT 10 - CU Writer v1.4 - LOAD PICTURE
  9072.     AH = D0h
  9073.     ???
  9074. Return: ???
  9075. SeeAlso: AH=B0h"CU Writer",AH=C4h
  9076. --------V-10D0-------------------------------
  9077. INT 10 U - VIDEO - HP 100LX/200LX - SET ZOOM MODE
  9078.     AH = D0h
  9079.     AL = zoom mode
  9080.         02h 80x25 mono
  9081.         03h 80x25 color
  9082.         80h 64x18 mono
  9083.         81h 64x18 color
  9084.         82h 40x25 mono
  9085.         83h 40x25 color
  9086.         84h 40x16 mono
  9087.         85h 40x16 color
  9088. Return: nothing
  9089. Note:    zoom mode can only be changed within zoom modes of the same color
  9090.       scheme; if needed, set to mono/color with AH=00h,AL=02h/03h; with
  9091.       mono video modes AL=07h or AL=21h only 80x25 and 40x16 will work
  9092.     the current zoom mode is stored in the BIOS data area at 0040h:009Fh
  9093. SeeAlso: AH=D1h,AH=D4h
  9094. --------V-10D000-----------------------------
  9095. INT 10 - S3VBE/Core2.0 v3.00+ - INSTALLATION CHECK
  9096.     AX = D000h
  9097. Return: AX = FFFFh if installed
  9098.         BX = resident code segment
  9099.         DX = version (binary, DH = major, DL = minor)
  9100. Program: S3VBE/Core2.0 is a freeware TSR by Dietmar Meschede to provide
  9101.       VESA 2.0 services on S3-based video cards with VESA 1.2 BIOS
  9102. SeeAlso: AX=D001h"S3VBE",AX=D002h"S3VBE",AX=D003h"S3VBE",AX=D005h"S3VBE"
  9103. --------V-10D001-----------------------------
  9104. INT 10 - S3VBE/Core2.0 v3.00+ - GET ACTIVE OPTIONS
  9105.     AX = D001h
  9106. Return: AX = FFFFh if supported
  9107.         BX = currently active options (see #0154)
  9108. SeeAlso: AX=D000h"S3VBE",AX=D002h"S3VBE"
  9109.  
  9110. Bitfields for S3VBE options:
  9111. Bit(s)    Description    (Table 0154)
  9112.  0    VESA VBE v2.0 extensions enabled
  9113.  1    linear frame buffer enabled
  9114.  2    low-resolution video mode support enabled
  9115.  8    never clear video memory during VBE mode set (v3.10+)
  9116. ---debug options---
  9117.  12    report VBE version 1.2 (v3.10+)
  9118.  13    always fail AX=4F0Ah (v3.10+)
  9119.  14    don't copy video mode list (v3.12+)
  9120. SeeAlso: #0148
  9121. --------V-10D002-----------------------------
  9122. INT 10 - S3VBE/Core2.0 v3.00+ - SET ACTIVE OPTIONS
  9123.     AX = D002h
  9124.     BX = new active options (see #0154)
  9125. Return: AX = FFFFh if supported
  9126. SeeAlso: AX=D000h"S3VBE",AX=D001h"S3VBE"
  9127. --------V-10D003-----------------------------
  9128. INT 10 U - S3VBE/Core2.0 v3.10+ - GET VBE/Core CAPABILITIES
  9129.     AX = D003h
  9130. Return: AX = FFFFh if supported
  9131.         BX = capabilities
  9132.         bit 0: SpeedUp = activate/deactivate linear addressing at
  9133.             A0000h for VBE functions 04h/05h
  9134. SeeAlso: AX=D000h"S3VBE",AX=D001h"S3VBE",AX=D004h"S3VBE",AX=D005h"S3VBE"
  9135. --------V-10D004-----------------------------
  9136. INT 10 U - S3VBE/Core2.0 v3.10+ - ACTIVATE SPEED-UP
  9137.     AX = D004h
  9138. Return: AX = FFFFh if supported
  9139.     BX = status
  9140.         0000h SpeedUp activated
  9141.         0001h SpeedUp not possible (wrong memory organization for mode)
  9142.         0002h SpeedUp not possible (linear frame buffer active)
  9143. Note:    called by S3 SpeedUp (see AX=C000h)
  9144. SeeAlso: AX=C000h"SpeedUp",AX=D000h"S3VBE",AX=D003h"S3VBE",AX=D005h"S3VBE"
  9145. --------V-10D005-----------------------------
  9146. INT 10 U - S3VBE/Core2.0 v3.10+ - DEACTIVATE SPEED-UP
  9147.     AX = D005h
  9148. Return: AX = FFFFh if supported
  9149.     BX = status
  9150.         0000h SpeedUp deactivated
  9151.         0001h SpeedUp not possible (wrong memory organization for mode)
  9152.         0002h SpeedUp not possible (linear frame buffer active)
  9153. Notes:    called by S3 SpeedUp (see AX=C000h)
  9154.     functions 06h-FFh (e.g. AX=D006h-D0FFh) are considered reserved by
  9155.       v3.10+ and return AX=5555h
  9156. SeeAlso: AX=C000h"SpeedUp",AX=D000h"S3VBE",AX=D003h"S3VBE",AX=D004h"S3VBE"
  9157. --------V-10D1-------------------------------
  9158. INT 10 U - VIDEO - HP 100LX/200LX - INTERNAL - ???
  9159.     AH = D1h
  9160.     AL = 01h
  9161. Return: ???
  9162. Note:    called by AH=D0h
  9163. SeeAlso: AH=D0h,AH=D4h
  9164. --------V-10D4-------------------------------
  9165. INT 10 U - VIDEO - HP 100LX/200LX - INTERNAL - ???
  9166.     AH = D4h
  9167.     AL = 29h
  9168. Return: ???
  9169. Note:    called by AH=D0h
  9170. SeeAlso: AH=D0h,AH=D1h
  9171. --------V-10D5-------------------------------
  9172. INT 10 - Netroom SCRNCLK - ???
  9173.     AH = D5h
  9174.     ???
  9175. Return: ???
  9176. Program: SCRNCLK is a "cloaked" screen accelerator included with Netroom
  9177. --------t-10DAAD-----------------------------
  9178. INT 10 - TSRUNIT v1.10 - INSTALLATION CHECK
  9179.     AX = DAADh
  9180.     BX = check signature (different for each TSR)
  9181.     CX = 0000h
  9182. Return: CX = return signature (nonzero) if installed
  9183.         ES = program segment prefix
  9184. Program: TSRUNIT is a Turbo Pascal unit for creating TSRs by Nir Sofer
  9185. --------V-10DFA5-----------------------------
  9186. INT 10 U - VIDEO - Compaq ADAPT.COM - GET ??? DATA AREA
  9187.     AX = DFA5h
  9188. Return: AX = BDBFh if supported
  9189.         ES:DI -> ??? data area
  9190.         BX = ES
  9191. SeeAlso: AX=BFA0h
  9192. --------V-10EE-------------------------------
  9193. INT 10 - VIDEO - IBM "Private" Function
  9194.     AH = EEh
  9195. SeeAlso: INT 13/AH=FFh"IBM"
  9196. --------V-10EF-------------------------------
  9197. INT 10 - VIDEO - MSHERC.COM - GET VIDEO ADAPTER TYPE AND MODE
  9198.     AH = EFh
  9199. Return: DL = video adapter type
  9200.         00h original Hercules
  9201.         01h Hercules Plus     (port 03BAh reads x001xxxxx)
  9202.         02h Hercules InColor (port 03BAh reads x101xxxxx)
  9203.         FFh not a Hercules-compatible card (port 03BAh bit 7 not pulsing)
  9204.     DH = memory mode byte
  9205.         00h "half" mode
  9206.         01h "full" mode
  9207.         FFh not a Hercules-compatible card
  9208. Program: MSHERC.COM/QBHERC.COM is a support program for the Microsoft Quick
  9209.       languages which makes their graphics libraries compatible with a
  9210.       Hercules card by adding video modes 08h and 88h, and supporting
  9211.       text in the new graphics modes.
  9212. Notes:    while in mode 08h or 88h, INT 10 supports the Hercules card much like
  9213.       a CGA.
  9214.     MSHERC performs an installation check by setting DL=FFh and testing
  9215.       whether it has been changed on return, which causes it to reinstall
  9216.       itself when no HGC is present (or HGC emulation has temporarily been
  9217.       disabled); a better installation check would be to use DX=80FFh and
  9218.       check whether DX has been changed
  9219.     reportedly returns DH=00h on some not-entirely-Hercules-compatible
  9220.       cards
  9221. Index:    installation check;MSHERC
  9222. --------V-10F0-------------------------------
  9223. INT 10 - EGA Register Interface Library - READ ONE REGISTER
  9224.     AH = F0h
  9225.     BL = register number
  9226.     BH = 00h
  9227.     DX = group index (see #0155)
  9228. Return: BL = data
  9229. Note:    the RIL is provided by EGA.SYS, the Microsoft Mouse driver, the OS/2
  9230.       compatibility box, and others
  9231. SeeAlso: AH=F1h,AH=F2h,INT 2F/AX=BC00h
  9232.  
  9233. (Table 0155)
  9234. Values for group index:
  9235.  Pointer/data chips
  9236.  00h    CRT Controller (25 reg) 3B4h mono modes, 3D4h color modes
  9237.  08h    Sequencer (5 registers) 3C4h
  9238.  10h    Graphics Controller (9 registers) 3CEh
  9239.  18h    Attribute Controller (20 registers) 3C0h
  9240.  Single registers
  9241.  20h    Miscellaneous Output register 3C2h
  9242.  28h    Feature Control register (3BAh mono modes, 3DAh color modes)
  9243.  30h    Graphics 1 Position register 3CCh
  9244.  38h    Graphics 2 Position register 3CAh
  9245. --------V-10F1-------------------------------
  9246. INT 10 - EGA Register Interface Library - WRITE ONE REGISTER
  9247.     AH = F1h
  9248.     DX = group index (see #0155)
  9249.         if single register:
  9250.         BL = value to write
  9251.         otherwise
  9252.         BL = register number
  9253.         BH = value to write
  9254. Return: BL = data
  9255. Note:    the RIL is provided by EGA.SYS, the Microsoft Mouse driver, the OS/2
  9256.       compatibility box, and others
  9257. SeeAlso: AX=7F05h,AH=F0h,AH=F3h
  9258. --------V-10F2-------------------------------
  9259. INT 10 - EGA Register Interface Library - READ REGISTER RANGE
  9260.     AH = F2h
  9261.     CH = starting register number
  9262.     CL = number of registers (>1)
  9263.     DX = group index (00h,08h,10h,18h) (see #0155)
  9264.     ES:BX -> buffer, CL bytes
  9265. Return: nothing
  9266. Note:    the RIL is provided by EGA.SYS, the Microsoft Mouse driver, the OS/2
  9267.       compatibility box, and others
  9268. SeeAlso: AH=F0h,AH=F3h
  9269. --------V-10F3-------------------------------
  9270. INT 10 - EGA Register Interface Library - WRITE REGISTER RANGE
  9271.     AH = F3h
  9272.     CH = starting register
  9273.     CL = number of registers (>1)
  9274.     DX = group index (00h,08h,10h,18h) (see #0155)
  9275.     ES:BX -> buffer, CL bytes
  9276. Return: nothing
  9277. Note:    the RIL is provided by EGA.SYS, the Microsoft Mouse driver, the OS/2
  9278.       compatibility box, and others
  9279. SeeAlso: AX=7F05h,AH=F1h,AH=F2h
  9280. --------V-10F4-------------------------------
  9281. INT 10 - EGA Register Interface Library - READ REGISTER SET
  9282.     AH = F4h
  9283.     CX = number of registers to read (>1)
  9284.     ES:BX -> table of register records (see #0156)
  9285. Return: register values in table filled in
  9286. Note:    the RIL is provided by EGA.SYS, the Microsoft Mouse driver, the OS/2
  9287.       compatibility box, and others
  9288. SeeAlso: AH=F0h,AH=F2h,AH=F5h
  9289.  
  9290. Format of EGA RIL entries in table of register records:
  9291. Offset    Size    Description    (Table 0156)
  9292.  00h    WORD    group index
  9293.         Pointer/data chips
  9294.            00h CRTC (3B4h mono modes, 3D4h color modes)
  9295.            08h Sequencer 3C4h
  9296.            10h Graphics Controller 3CEh
  9297.            18h Attribute Controller 3C0h
  9298.         Single registers
  9299.            20h Miscellaneous Output register 3C2h
  9300.            28h Feature Control register (3BAh mono modes, 3DAh color)
  9301.            30h Graphics 1 Position register 3CCh
  9302.            38h Graphics 2 Position register 3CAh
  9303.  02h    BYTE    register number (0 for single registers)
  9304.  03h    BYTE    register value
  9305. --------V-10F5-------------------------------
  9306. INT 10 - EGA Register Interface Library - WRITE REGISTER SET
  9307.     AH = F5h
  9308.     CX = number of registers to write (>1)
  9309.     ES:BX -> table of records (see #0156)
  9310. Return: nothing
  9311. Note:    the RIL is provided by EGA.SYS, the Microsoft Mouse driver, the OS/2
  9312.       compatibility box, and others
  9313. SeeAlso: AX=7F05h,AH=F1h,AH=F3h,AH=F4h
  9314. --------V-10F6-------------------------------
  9315. INT 10 - EGA Register Interface Library - REVERT TO DEFAULT REGISTERS
  9316.     AH = F6h
  9317. Return: nothing
  9318. Note:    provided by the Microsoft Mouse driver, OS/2 compatibility box, and
  9319.       others
  9320. SeeAlso: AH=F7h
  9321. --------V-10F7-------------------------------
  9322. INT 10 - EGA Register Interface Library - DEFINE DEFAULT REGISTER TABLE
  9323.     AH = F7h
  9324.     DX = port number
  9325.        Pointer/data chips
  9326.           00h CRTC (3B4h mono modes, 3D4h color modes)
  9327.           08h Sequencer 3C4h
  9328.           10h Graphics Controller 3CEh
  9329.           18h Attribute Controller 3C0h
  9330.        Single registers
  9331.           20h Miscellaneous Output register 3C2h
  9332.           28h Feature Control register (3BAh mono modes, 3DAh color modes)
  9333.           30h Graphics 1 Position register 3CCh
  9334.           38h Graphics 2 Position register 3CAh
  9335.     ES:BX -> table of one-byte entries, one byte to be written to each
  9336.          register
  9337. Return: nothing
  9338. Note:    the RIL is provided by EGA.SYS, the Microsoft Mouse driver, the OS/2
  9339.       compatibility box, and others
  9340. SeeAlso: AH=F6h
  9341. --------V-10FA--BX0000-----------------------
  9342. INT 10 - EGA Register Interface Library - INTERROGATE DRIVER
  9343.     AH = FAh
  9344.     BX = 0000h
  9345. Return: BX = 0000h if RIL driver not present
  9346.     ES:BX -> EGA Register Interface version number, if present:
  9347.         byte 0 = major release number
  9348.         byte 1 = minor release number
  9349. Note:    the RIL is provided by EGA.SYS, the Microsoft Mouse driver, the OS/2
  9350.       compatibility box, and others
  9351. SeeAlso: AH=F6h,INT 2F/AX=BC00h
  9352. --------K-10FA-------------------------------
  9353. INT 10 - FASTBUFF.COM - INSTALLATION CHECK
  9354.     AH = FAh
  9355. Return: AX = 00FAh if installed
  9356.         ES = segment of resident code
  9357. Program: FASTBUFF.COM is a keyboard speedup/screen blanking utility by David
  9358.       Steiner
  9359. Index:    screen saver;FASTBUFF
  9360. --------!---Section--------------------------
  9361.