back2root:ibm-pc-ms-dos:interrupts:int_10:int_10_1c
INT 0x10 - 0x1c - Save/Restore Video State (VGA only)
Request/Call:
reg value descr
AH 0x1c
AL 0x00
0x01
0x02 0x00 : Get Save buffer size
0x01 : Save requested states
0x02 : restore requested states
return
AL = 0x1C if function supported
AL = 0 : get save buffer size
CX bit requested state
0 video hardware states
1 video BIOS data areas
2 video DAC state
Return
reg descr
AL 0x1C
BX buffer size in 64 byte blocks
AL = 1 : save requested state
reg Descr
CX requested states (see AL = 0 )
ES:BX pointer to buffer
Return
nothing
AL = 2 : restore requested state
reg Descr
CX requested states (see AL = 0 )
ES:BX pointer to buffer
Return
nothing
Bitfields for requested states
Bit(s) Description
0 video hardware (see bellow )
1 BIOS data areas
2 color registers and DAC state (see bellow )
3-15 unused (0)
Offset Size Description
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
Offset Size Description
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
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 040h: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
Back
back2root/ibm-pc-ms-dos/interrupts/int_10/int_10_1c.txt · Dernière modification : 2025/07/13 23:15 de frater