back2root:ibm-pc-ms-dos:interrupts:int_10:int_10_10
INT 0x10 - 0x10 - Write/Read Palette Register (EGA/VGA)
Request/Call:
reg | value | descr |
AH | 0x10 | |
AL | var. | sub function |
Sub Function
AL | Descr |
00 | set individual palette register |
01 | set border color (overscan register) |
02 | set all palette registers and border |
03 | toggle intensity/blinking (EGA) |
07 | read palette register (PS/2) |
08 | read border color (overscan register, PS/2) |
09 | read palette registers and border (PS/2) |
10 | set DAC color register |
12 | set block of DAC color registers |
13 | set attribute controller color select state |
15 | read DAC color register (PS/2) |
17 | read block of DAC color registers |
18 | update video DAC mask register |
19 | read video DAC mask register |
1A | read color page state |
1B | sum color values to shades of gray |
AL : 00 set individual palette register
BH | color value |
BL | palette register |
AL : 01 set border color (overscan register)
AL : 02 set all palette registers and border
ES:DX | pointer to 17 byte table representing 16 palette registers and border color register |
BL | 0 enable intensity
1 enable blinking |
AL : 07 read palette register (PS/2)
BL | palette register to read (0-15) |
on return:
BH | value of palette register |
AL : 08 read border color (overscan register, PS/2)
on return:
BH | value of border color (overscan register) |
ES:DX | pointer to 17 byte table representing 16 palette registers and border color register |
on return:
ES:DX | pointer to table provided as input |
AL : 10 set DAC color register
BX | color register to set |
CH | green value |
CL | blue value |
DH | red value |
AL : 12 set block of DAC color registers
BX | first color register to set |
CX | number of color registers to set |
ES:DX | pointer to table of color values to set |
AL : 13 set attribute controller color select state
BL | 0 set Mode Control register bit 7
BH = value for bit 7 |
BL | 1 set color select register
BH = value for color select register |
AL : 15 read DAC color register (PS/2)
BX | color register to read |
on return:
CH | green value |
CL | blue value |
DH | red value |
AL : 17 read block of DAC color registers
BX | first color register to read |
CX | number of color registers to read |
ES:DX | pointer to buffer for color registers |
on return:
ES:DX | pointer to color table provided as input |
AL : 18 update video DAC mask register
AL : 19 read video DAC mask register
on return:
BL | value read from video DAC mask register |
AL : 1A read color page state
BL | bit 7 of Mode Control Register |
BH | bits 2 thru 3 of Color select register if BL = 0
bits 0 thru 3 of Color select register if BL = 1 |
on return:
BL | current paging mode |
CX | current page |
AL : 1B sum color values to shades of gray
BX | first color register to sum |
CX | number of color registers to sum |
Return
all characters are displayed, including CR, LF, and BS
replication count in CX may produce an unpredictable result in graphics modes if it is greater than the number of positions remaining in the current row
Back
back2root/ibm-pc-ms-dos/interrupts/int_10/int_10_10.txt · Dernière modification : 2024/01/19 23:06 de frater