Interrups | Categories | Contents |
AH = 1Ch AL = function 00h return state buffer sizeReturn:
BX = number of 64-byte blocks needed 01h save video state ES:BX -> buffer 02h restore video state ES:BX -> buffer containing previously saved state. CX = requested states (see #00048)
Return:
AL = 1Ch if function supported
Notes: Many BIOSes corrupt the video registers when saving the state, so a program should restore the state immediately after saving it (the saved data is uncorrupted). The BIOS data area consists of the 96 bytes from 0040h:0049h-00A8h. This function is not supported when DOS/V is running. This function may be a better VGA installation check than the usual INT 10/AX=1A00h, since some late-model EGA cards (such as the ATI EGA Wonder) supported that call
See Also: AX=1A00h - AX=5F90h - AX=5FA0h - MEM 0040h:00A8h
Bitfields for requested states: Bit(s) Description (Table 00048) 0 video hardware (see #00049) 1 BIOS data areas 2 color registers and DAC state (see #00050) 3-15 unused (0)
See Also: #00186
Format of VGA video hardware state: Offset Size Description (Table 00049) 00h BYTE sequencer index register 01h BYTE CRTC index register 02h BYTE graphics controller index register 03h BYTE attribute controller index register 04h BYTE feature controller register 05h 4 BYTEs sequencer registers 09h BYTE sequencer register 0 0Ah 25 BYTEs CRTC registers 0-8 23h 16 BYTEs palette registers 00h-0Fh 33h 4 BYTEs attribute registers 10h-13h 37h 9 BYTEs graphics controller registers 0-8 40h BYTE CRTC base address (low) 41h BYTE CRTC base address (high) 42h BYTE plane 0 latch 43h BYTE plane 1 latch 44h BYTE plane 2 latch 45h BYTE plane 3 latch
Format of VGA DAC state: Offset Size Description (Table 00050) 00h BYTE read/write mode DAC 01h BYTE pixel address 02h BYTE pixel mask 03h 768 BYTEs color data (256 triples) 303h BYTE color select register
Interrups | Categories | Contents |
|