Up ] Docs Home ]

Format of VBE/AF v1.0P Device Context buffer

Back ] Next ]

Offset Size Description

00h

WORD

maximum X coordinate in frame buffer (0 = left edge)
Note: application must never pass X coordinate greater than this value to the SetClipRect function (values are NOT range-checked!)

02h

WORD

maximum Y coordinate in frame buffer (0 = top edge)
Note: application must never pass Y coordinate greater than this value to the SetClipRect function

04h

DWORD

"SetForeColor" to set foreground color/mix (see #00091)

08h

DWORD

"SetBackColor" to set background color/mix (see #00092)

0Ch

DWORD

"SetClipRect" set hardware clipping rectangle (see #00093)

10h

DWORD

function "DrawScan" to draw a single scan line

14h

DWORD

function "DrawScanList" to draw a list of scan lines

18h

DWORD

function "DrawRect" to draw a solid rectangle

1Ch

DWORD

function "DrawLine" to draw a solid line

20h

DWORD

function "DrawPattScan" to draw a patterned scan line

24h

DWORD

function "BitBlt" to perform screen-to-screen BitBLT

28h

DWORD

"TransBitBlt" to perform transparent screen-to-screen BitBLT

2Ch

DWORD

"MonoBitBlt" to monochrome expansion screen-to-screen BitBLT

30h

DWORD

function "SetCursor" to download hardware cursor image

34h

DWORD

function "SetCursorPos" to set hardware cursor position

38h

DWORD

function "SetCursorColor" to set hardware cursor color

3Ch

DWORD

function "ShowCursor" to show/hide hardware cursor

40h

DWORD

function "WaitTillIdle" to wait until graphics engine idle

44h

DWORD

"EnableDirectAccess" to enable direct framebuffer access

48h

DWORD

"DisableDirectAccess" to disable direct framebuffer access

4Ch

DWORD

"BankSwitchCB" bank-switching callback function (set by application, may simply point at 32-bit VBE 2.0 bank switching entry point)

50h

WORD

"VidMemSel" selector for video memory (must be set by app)

52h

WORD

"IOPortsOff" offset of I/O ports table in context buffer

54h

WORD

"IOMemoryOff" offset of I/O memory table in context buffer

56h

WORD

"IOMemSel1" selector for first I/O memory area specified by I/O memory table (must be set by application)

58h

WORD

"IOMemSel2" selector for second I/O memory area

5Ah

WORD

"IOMemSel3" selector for third I/O memory area

5Ch

WORD

"IOMemSel4" selector for fourth I/O memory area

5Eh

N BYTEs

device-specific state buffer
N BYTEs I/O port access table (list of ports, last entry is FFFFh)
N BYTEs I/O memory access table (list of physical-address/length pairs, last entry is FFFFFFFFh)
N BYTEs 32-bit code for VBE/AF v1.0P function

Note:

All function pointers are offsets into the 32-bit code within the context buffer, and should be updated to point at the actual functions after the application has copied the buffer from the real-mode memory used for the interrupt call into its own flat-model memory space.
Any functions which are not supported by the hardware have function pointers which are set to 00000000h initially.