Function 1Bh Functionality/State Information (MCGA, VGA)

entry AH 1Bh

BX implementation type

0000h return funtionality/state information

ES:DI pointer to 64 byte buffer

return AL 1Bh if function supported

ES:DI buffer filled

00h address of functionality table

01h unknown

02h unknown

03h unknown

04h current video mode

05h number of columns

06h unknown

07h length of regen buffer in bytes

09h starting address of regen buffer

0Bh cursor position for page 0

0Dh cursor position for page 1

0Fh cursor position for page 2

11h cursor position for page 3

13h cursor position for page 4

15h cursor position for page 5

17h cursor position for page 6

19h cursor position for page 7

1Bh cursor type

1Dh active display page

1Eh CRTC port address

20h current setting of register (3?8)

21h current setting of register (3?9)

22h number of rows

23h bytes/character

25h DCC of active display

26h DCC of alternate display

27h number of colors supported in current mode

29h number of pages supported in current mode

2Ah number of scan lines active

(0,1,2,3) = (200,350,400,480)

2Bh primary character block

2Ch secondary character block

2Dh miscellaneous flags byte

bit 0 all modes on all displays on

1 gray summing on

2 monochrome display attached

3 default palette loading disabled

4 cursor emulation enabled

5 0=intensity; 1=blinking

6 reserved

7 reserved

2Eh to 30h reserved

31h video memory available

00h=64K, 01h=128K, 02h=192K, 03h=256K

32h save pointer state flags byte

bit 0 512 character set active

1 dynamic save area present

2 alphanumeric font override active

3 graphics font override active

4 palette override active

5 DCC override active

6 reserved

7 reserved

33h to 3Fh reserved

note State Functionality Table format (16 bytes)

00h modes supported #1

bit 0 to bit 7 = 1 modes 0,1,2,3,4,5,6 supported

01h modes supported #2

bit 0 to bit 7 = 1 modes 8,9,A,B,C,D,E,F supported

02h modes supported #3

bit 0 to bit 3 = 1 modes 10,11,12,13 supported

bit 4 to bit 7 reserved

03h to 06h reserved

07h scan lines supported

bit 0 to bit 2 = 1 if scan lines 200,350,400 supported

08h total number of character blocks available in text modes

09h maximum number of active character blocks in text modes

0Ah miscellaneous function flags #1

bit 0 all modes on all displays function supported

1 gray summing function supported

2 character font loading function supported

3 default palette loading enable/disable supported

4 cursor emulation function supported

5 EGA palette present

6 color palette present

7 color paging function supported

0Bh miscellaneous function flags #2

bit 0 light pen supported

1 save/restore state function 1Ch supported

2 intensity blinking function supported

3 Display Combination Code supported

4-7 reserved

0Ch to 0Dh reserved

0Eh Save pointer function flags

bit 0 512 character set supported

1 dynamic save area supported

2 text font override supported

3 graphics font override supported

4 palette override supported

5 DCC extension supported

6 reserved

7 reserved

0Fh reserved