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 |
|||
|
08h |
DWORD |
|||
|
0Ch |
DWORD |
|||
|
10h |
DWORD |
|||
|
14h |
DWORD |
|||
|
18h |
DWORD |
|||
|
1Ch |
DWORD |
|||
|
20h |
DWORD |
|||
|
24h |
DWORD |
|||
|
28h |
DWORD |
|||
|
2Ch |
DWORD |
|||
|
30h |
DWORD |
|||
|
34h |
DWORD |
|||
|
38h |
DWORD |
|||
|
3Ch |
DWORD |
|||
|
40h |
DWORD |
|||
|
44h |
DWORD |
|||
|
48h |
DWORD |
|||
|
4Ch |
DWORD |
|||
|
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. |