Format of VBE/AF v1.0P Device Context buffer |
Offset | Size | Description | ||
---|---|---|---|---|
00h |
WORD |
maximum X coordinate in frame buffer (0 = left edge)
|
||
02h |
WORD |
maximum Y coordinate in frame buffer (0 = top edge)
|
||
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. |