- fixed a few functions accessing the attribute controller
[vgabios.git] / vbetables.h
blobe9dee6f4644643e23ecfb209b563f3bd2b4d78cc
1 #ifndef vbetables_h_included
2 #define vbetables_h_included
4 /* vbetables.h
6 This file contains a static mode information list containing all
7 bochs/plex86 "supported" VBE modi and their 'settings'.
9 */
11 typedef struct ModeInfoListItem
13 Bit16u mode;
14 ModeInfoBlockCompact info;
15 } ModeInfoListItem;
17 // FIXME: check all member variables to be correct for the different modi
18 // FIXME: add more modi
19 static ModeInfoListItem mode_info_list[]=
22 VBE_OWN_MODE_320X200X8,
24 /*typedef struct ModeInfoBlock
25 {*/
26 // Mandatory information for all VBE revisions
27 /*Bit16u ModeAttributes*/ VBE_MODE_ATTRIBUTE_SUPPORTED |
28 VBE_MODE_ATTRIBUTE_EXTENDED_INFORMATION_AVAILABLE |
29 VBE_MODE_ATTRIBUTE_COLOR_MODE |
30 #ifdef VBE_HAVE_LFB
31 VBE_MODE_ATTRIBUTE_LINEAR_FRAME_BUFFER_MODE |
32 #endif
33 VBE_MODE_ATTRIBUTE_GRAPHICS_MODE,
34 /*Bit8u WinAAttributes*/ VBE_WINDOW_ATTRIBUTE_READABLE |
35 VBE_WINDOW_ATTRIBUTE_WRITEABLE,
36 /*Bit8u WinBAttributes*/ 0,
37 /*Bit16u WinGranularity*/ VBE_DISPI_BANK_SIZE_KB,
38 /*Bit16u WinSize*/ VBE_DISPI_BANK_SIZE_KB,
39 /*Bit16u WinASegment*/ VGAMEM_GRAPH,
40 /*Bit16u WinBSegment*/ 0,
41 /*Bit32u WinFuncPtr*/ 0,
42 /*Bit16u BytesPerScanLine*/ 320,
43 // Mandatory information for VBE 1.2 and above
44 /*Bit16u XResolution*/ 320,
45 /*Bit16u YResolution*/ 200,
46 /*Bit8u XCharSize*/ 8,
47 /*Bit8u YCharSize*/ 16,
48 /*Bit8u NumberOfPlanes*/ 1,
49 /*Bit8u BitsPerPixel*/ 8,
50 /*Bit8u NumberOfBanks*/ 1,
51 /*Bit8u MemoryModel*/ VBE_MEMORYMODEL_PACKED_PIXEL,
52 /*Bit8u BankSize*/ 0,
53 /*Bit8u NumberOfImagePages*/ 3,
54 /*Bit8u Reserved_page*/ 0,
55 // Direct Color fields (required for direct/6 and YUV/7 memory models)
56 /*Bit8u RedMaskSize*/ 0,
57 /*Bit8u RedFieldPosition*/ 0,
58 /*Bit8u GreenMaskSize*/ 0,
59 /*Bit8u GreenFieldPosition*/ 0,
60 /*Bit8u BlueMaskSize*/ 0,
61 /*Bit8u BlueFieldPosition*/ 0,
62 /*Bit8u RsvdMaskSize*/ 0,
63 /*Bit8u RsvdFieldPosition*/ 0,
64 /*Bit8u DirectColorModeInfo*/ 0,
65 // Mandatory information for VBE 2.0 and above
66 #ifdef VBE_HAVE_LFB
67 /*Bit32u PhysBasePtr*/ VBE_DISPI_LFB_PHYSICAL_ADDRESS,
68 #else
69 /*Bit32u PhysBasePtr*/ 0,
70 #endif
71 /*Bit32u OffScreenMemOffset*/ 0,
72 /*Bit16u OffScreenMemSize*/ 0,
73 // Mandatory information for VBE 3.0 and above
74 /*Bit16u LinBytesPerScanLine*/ 320,
75 /*Bit8u BnkNumberOfPages*/ 0,
76 /*Bit8u LinNumberOfPages*/ 0,
77 /*Bit8u LinRedMaskSize*/ 0,
78 /*Bit8u LinRedFieldPosition*/ 0,
79 /*Bit8u LinGreenMaskSize*/ 0,
80 /*Bit8u LinGreenFieldPosition*/ 0,
81 /*Bit8u LinBlueMaskSize*/ 0,
82 /*Bit8u LinBlueFieldPosition*/ 0,
83 /*Bit8u LinRsvdMaskSize*/ 0,
84 /*Bit8u LinRsvdFieldPosition*/ 0,
85 /*Bit32u MaxPixelClock*/ 0,
86 /*} ModeInfoBlock;*/
91 VBE_VESA_MODE_640X400X8,
93 /*typedef struct ModeInfoBlock
94 {*/
95 // Mandatory information for all VBE revisions
96 /*Bit16u ModeAttributes*/ VBE_MODE_ATTRIBUTE_SUPPORTED |
97 VBE_MODE_ATTRIBUTE_EXTENDED_INFORMATION_AVAILABLE |
98 VBE_MODE_ATTRIBUTE_COLOR_MODE |
99 #ifdef VBE_HAVE_LFB
100 VBE_MODE_ATTRIBUTE_LINEAR_FRAME_BUFFER_MODE |
101 #endif
102 VBE_MODE_ATTRIBUTE_GRAPHICS_MODE,
103 /*Bit8u WinAAttributes*/ VBE_WINDOW_ATTRIBUTE_RELOCATABLE |
104 VBE_WINDOW_ATTRIBUTE_READABLE |
105 VBE_WINDOW_ATTRIBUTE_WRITEABLE,
106 /*Bit8u WinBAttributes*/ 0,
107 /*Bit16u WinGranularity*/ VBE_DISPI_BANK_SIZE_KB,
108 /*Bit16u WinSize*/ VBE_DISPI_BANK_SIZE_KB,
109 /*Bit16u WinASegment*/ VGAMEM_GRAPH,
110 /*Bit16u WinBSegment*/ 0,
111 /*Bit32u WinFuncPtr*/ 0,
112 /*Bit16u BytesPerScanLine*/ 640,
113 // Mandatory information for VBE 1.2 and above
114 /*Bit16u XResolution*/ 640,
115 /*Bit16u YResolution*/ 400,
116 /*Bit8u XCharSize*/ 8,
117 /*Bit8u YCharSize*/ 16,
118 /*Bit8u NumberOfPlanes*/ 1,
119 /*Bit8u BitsPerPixel*/ 8,
120 /*Bit8u NumberOfBanks*/ 4, // 640x400/64kb == 4
121 /*Bit8u MemoryModel*/ VBE_MEMORYMODEL_PACKED_PIXEL,
122 /*Bit8u BankSize*/ 0,
123 /*Bit8u NumberOfImagePages*/ 15,
124 /*Bit8u Reserved_page*/ 0,
125 // Direct Color fields (required for direct/6 and YUV/7 memory models)
126 /*Bit8u RedMaskSize*/ 0,
127 /*Bit8u RedFieldPosition*/ 0,
128 /*Bit8u GreenMaskSize*/ 0,
129 /*Bit8u GreenFieldPosition*/ 0,
130 /*Bit8u BlueMaskSize*/ 0,
131 /*Bit8u BlueFieldPosition*/ 0,
132 /*Bit8u RsvdMaskSize*/ 0,
133 /*Bit8u RsvdFieldPosition*/ 0,
134 /*Bit8u DirectColorModeInfo*/ 0,
135 // Mandatory information for VBE 2.0 and above
136 #ifdef VBE_HAVE_LFB
137 /*Bit32u PhysBasePtr*/ VBE_DISPI_LFB_PHYSICAL_ADDRESS,
138 #else
139 /*Bit32u PhysBasePtr*/ 0,
140 #endif
141 /*Bit32u OffScreenMemOffset*/ 0,
142 /*Bit16u OffScreenMemSize*/ 0,
143 // Mandatory information for VBE 3.0 and above
144 /*Bit16u LinBytesPerScanLine*/ 640,
145 /*Bit8u BnkNumberOfPages*/ 0,
146 /*Bit8u LinNumberOfPages*/ 0,
147 /*Bit8u LinRedMaskSize*/ 0,
148 /*Bit8u LinRedFieldPosition*/ 0,
149 /*Bit8u LinGreenMaskSize*/ 0,
150 /*Bit8u LinGreenFieldPosition*/ 0,
151 /*Bit8u LinBlueMaskSize*/ 0,
152 /*Bit8u LinBlueFieldPosition*/ 0,
153 /*Bit8u LinRsvdMaskSize*/ 0,
154 /*Bit8u LinRsvdFieldPosition*/ 0,
155 /*Bit32u MaxPixelClock*/ 0,
156 /*} ModeInfoBlock;*/
161 VBE_VESA_MODE_640X480X8,
163 /*typedef struct ModeInfoBlock
165 // Mandatory information for all VBE revisions
166 /*Bit16u ModeAttributes*/ VBE_MODE_ATTRIBUTE_SUPPORTED |
167 VBE_MODE_ATTRIBUTE_EXTENDED_INFORMATION_AVAILABLE |
168 VBE_MODE_ATTRIBUTE_COLOR_MODE |
169 #ifdef VBE_HAVE_LFB
170 VBE_MODE_ATTRIBUTE_LINEAR_FRAME_BUFFER_MODE |
171 #endif
172 VBE_MODE_ATTRIBUTE_GRAPHICS_MODE,
173 /*Bit8u WinAAttributes*/ VBE_WINDOW_ATTRIBUTE_READABLE |
174 VBE_WINDOW_ATTRIBUTE_WRITEABLE,
175 /*Bit8u WinBAttributes*/ 0,
176 /*Bit16u WinGranularity*/ VBE_DISPI_BANK_SIZE_KB,
177 /*Bit16u WinSize*/ VBE_DISPI_BANK_SIZE_KB,
178 /*Bit16u WinASegment*/ VGAMEM_GRAPH,
179 /*Bit16u WinBSegment*/ 0,
180 /*Bit32u WinFuncPtr*/ 0,
181 /*Bit16u BytesPerScanLine*/ 640,
182 // Mandatory information for VBE 1.2 and above
183 /*Bit16u XResolution*/ 640,
184 /*Bit16u YResolution*/ 480,
185 /*Bit8u XCharSize*/ 8,
186 /*Bit8u YCharSize*/ 16,
187 /*Bit8u NumberOfPlanes*/ 1,
188 /*Bit8u BitsPerPixel*/ 8,
189 /*Bit8u NumberOfBanks*/ 5, // 640x480/64kb == 5
190 /*Bit8u MemoryModel*/ VBE_MEMORYMODEL_PACKED_PIXEL,
191 /*Bit8u BankSize*/ 0,
192 /*Bit8u NumberOfImagePages*/ 11,
193 /*Bit8u Reserved_page*/ 0,
194 // Direct Color fields (required for direct/6 and YUV/7 memory models)
195 /*Bit8u RedMaskSize*/ 0,
196 /*Bit8u RedFieldPosition*/ 0,
197 /*Bit8u GreenMaskSize*/ 0,
198 /*Bit8u GreenFieldPosition*/ 0,
199 /*Bit8u BlueMaskSize*/ 0,
200 /*Bit8u BlueFieldPosition*/ 0,
201 /*Bit8u RsvdMaskSize*/ 0,
202 /*Bit8u RsvdFieldPosition*/ 0,
203 /*Bit8u DirectColorModeInfo*/ 0,
204 // Mandatory information for VBE 2.0 and above
205 #ifdef VBE_HAVE_LFB
206 /*Bit32u PhysBasePtr*/ VBE_DISPI_LFB_PHYSICAL_ADDRESS,
207 #else
208 /*Bit32u PhysBasePtr*/ 0,
209 #endif
210 /*Bit32u OffScreenMemOffset*/ 0,
211 /*Bit16u OffScreenMemSize*/ 0,
212 // Mandatory information for VBE 3.0 and above
213 /*Bit16u LinBytesPerScanLine*/ 640,
214 /*Bit8u BnkNumberOfPages*/ 0,
215 /*Bit8u LinNumberOfPages*/ 0,
216 /*Bit8u LinRedMaskSize*/ 0,
217 /*Bit8u LinRedFieldPosition*/ 0,
218 /*Bit8u LinGreenMaskSize*/ 0,
219 /*Bit8u LinGreenFieldPosition*/ 0,
220 /*Bit8u LinBlueMaskSize*/ 0,
221 /*Bit8u LinBlueFieldPosition*/ 0,
222 /*Bit8u LinRsvdMaskSize*/ 0,
223 /*Bit8u LinRsvdFieldPosition*/ 0,
224 /*Bit32u MaxPixelClock*/ 0,
225 /*} ModeInfoBlock;*/
230 VBE_VESA_MODE_800X600X4,
232 /*typedef struct ModeInfoBlock
234 // Mandatory information for all VBE revisions
235 /*Bit16u ModeAttributes*/ VBE_MODE_ATTRIBUTE_SUPPORTED |
236 VBE_MODE_ATTRIBUTE_EXTENDED_INFORMATION_AVAILABLE |
237 VBE_MODE_ATTRIBUTE_COLOR_MODE |
238 VBE_MODE_ATTRIBUTE_GRAPHICS_MODE,
239 /*Bit8u WinAAttributes*/ VBE_WINDOW_ATTRIBUTE_RELOCATABLE |
240 VBE_WINDOW_ATTRIBUTE_READABLE |
241 VBE_WINDOW_ATTRIBUTE_WRITEABLE,
242 /*Bit8u WinBAttributes*/ 0,
243 /*Bit16u WinGranularity*/ VBE_DISPI_BANK_SIZE_KB,
244 /*Bit16u WinSize*/ VBE_DISPI_BANK_SIZE_KB,
245 /*Bit16u WinASegment*/ VGAMEM_GRAPH,
246 /*Bit16u WinBSegment*/ 0,
247 /*Bit32u WinFuncPtr*/ 0,
248 /*Bit16u BytesPerScanLine*/ 100,
249 // Mandatory information for VBE 1.2 and above
250 /*Bit16u XResolution*/ 800,
251 /*Bit16u YResolution*/ 600,
252 /*Bit8u XCharSize*/ 8,
253 /*Bit8u YCharSize*/ 16,
254 /*Bit8u NumberOfPlanes*/ 4,
255 /*Bit8u BitsPerPixel*/ 4,
256 /*Bit8u NumberOfBanks*/ 1,
257 /*Bit8u MemoryModel*/ VBE_MEMORYMODEL_PLANAR,
258 /*Bit8u BankSize*/ 0,
259 /*Bit8u NumberOfImagePages*/ 0,
260 /*Bit8u Reserved_page*/ 0,
261 // Direct Color fields (required for direct/6 and YUV/7 memory models)
262 /*Bit8u RedMaskSize*/ 0,
263 /*Bit8u RedFieldPosition*/ 0,
264 /*Bit8u GreenMaskSize*/ 0,
265 /*Bit8u GreenFieldPosition*/ 0,
266 /*Bit8u BlueMaskSize*/ 0,
267 /*Bit8u BlueFieldPosition*/ 0,
268 /*Bit8u RsvdMaskSize*/ 0,
269 /*Bit8u RsvdFieldPosition*/ 0,
270 /*Bit8u DirectColorModeInfo*/ 0,
271 // Mandatory information for VBE 2.0 and above
272 /*Bit32u PhysBasePtr*/ 0,
273 /*Bit32u OffScreenMemOffset*/ 0,
274 /*Bit16u OffScreenMemSize*/ 0,
275 // Mandatory information for VBE 3.0 and above
276 /*Bit16u LinBytesPerScanLine*/ 100,
277 /*Bit8u BnkNumberOfPages*/ 0,
278 /*Bit8u LinNumberOfPages*/ 0,
279 /*Bit8u LinRedMaskSize*/ 0,
280 /*Bit8u LinRedFieldPosition*/ 0,
281 /*Bit8u LinGreenMaskSize*/ 0,
282 /*Bit8u LinGreenFieldPosition*/ 0,
283 /*Bit8u LinBlueMaskSize*/ 0,
284 /*Bit8u LinBlueFieldPosition*/ 0,
285 /*Bit8u LinRsvdMaskSize*/ 0,
286 /*Bit8u LinRsvdFieldPosition*/ 0,
287 /*Bit32u MaxPixelClock*/ 0,
288 /*} ModeInfoBlock;*/
293 VBE_VESA_MODE_800X600X8,
295 /*typedef struct ModeInfoBlock
297 // Mandatory information for all VBE revisions
298 /*Bit16u ModeAttributes*/ VBE_MODE_ATTRIBUTE_SUPPORTED |
299 VBE_MODE_ATTRIBUTE_EXTENDED_INFORMATION_AVAILABLE |
300 VBE_MODE_ATTRIBUTE_COLOR_MODE |
301 #ifdef VBE_HAVE_LFB
302 VBE_MODE_ATTRIBUTE_LINEAR_FRAME_BUFFER_MODE |
303 #endif
304 VBE_MODE_ATTRIBUTE_GRAPHICS_MODE,
305 /*Bit8u WinAAttributes*/ VBE_WINDOW_ATTRIBUTE_RELOCATABLE |
306 VBE_WINDOW_ATTRIBUTE_READABLE |
307 VBE_WINDOW_ATTRIBUTE_WRITEABLE,
308 /*Bit8u WinBAttributes*/ 0,
309 /*Bit16u WinGranularity*/ VBE_DISPI_BANK_SIZE_KB,
310 /*Bit16u WinSize*/ VBE_DISPI_BANK_SIZE_KB,
311 /*Bit16u WinASegment*/ VGAMEM_GRAPH,
312 /*Bit16u WinBSegment*/ 0,
313 /*Bit32u WinFuncPtr*/ 0,
314 /*Bit16u BytesPerScanLine*/ 800,
315 // Mandatory information for VBE 1.2 and above
316 /*Bit16u XResolution*/ 800,
317 /*Bit16u YResolution*/ 600,
318 /*Bit8u XCharSize*/ 8,
319 /*Bit8u YCharSize*/ 16,
320 /*Bit8u NumberOfPlanes*/ 1,
321 /*Bit8u BitsPerPixel*/ 8,
322 /*Bit8u NumberOfBanks*/ 8, // 800x600/64kb == 8
323 /*Bit8u MemoryModel*/ VBE_MEMORYMODEL_PACKED_PIXEL,
324 /*Bit8u BankSize*/ 0,
325 /*Bit8u NumberOfImagePages*/ 7,
326 /*Bit8u Reserved_page*/ 0,
327 // Direct Color fields (required for direct/6 and YUV/7 memory models)
328 /*Bit8u RedMaskSize*/ 0,
329 /*Bit8u RedFieldPosition*/ 0,
330 /*Bit8u GreenMaskSize*/ 0,
331 /*Bit8u GreenFieldPosition*/ 0,
332 /*Bit8u BlueMaskSize*/ 0,
333 /*Bit8u BlueFieldPosition*/ 0,
334 /*Bit8u RsvdMaskSize*/ 0,
335 /*Bit8u RsvdFieldPosition*/ 0,
336 /*Bit8u DirectColorModeInfo*/ 0,
337 // Mandatory information for VBE 2.0 and above
338 #ifdef VBE_HAVE_LFB
339 /*Bit32u PhysBasePtr*/ VBE_DISPI_LFB_PHYSICAL_ADDRESS,
340 #else
341 /*Bit32u PhysBasePtr*/ 0,
342 #endif
343 /*Bit32u OffScreenMemOffset*/ 0,
344 /*Bit16u OffScreenMemSize*/ 0,
345 // Mandatory information for VBE 3.0 and above
346 /*Bit16u LinBytesPerScanLine*/ 800,
347 /*Bit8u BnkNumberOfPages*/ 0,
348 /*Bit8u LinNumberOfPages*/ 0,
349 /*Bit8u LinRedMaskSize*/ 0,
350 /*Bit8u LinRedFieldPosition*/ 0,
351 /*Bit8u LinGreenMaskSize*/ 0,
352 /*Bit8u LinGreenFieldPosition*/ 0,
353 /*Bit8u LinBlueMaskSize*/ 0,
354 /*Bit8u LinBlueFieldPosition*/ 0,
355 /*Bit8u LinRsvdMaskSize*/ 0,
356 /*Bit8u LinRsvdFieldPosition*/ 0,
357 /*Bit32u MaxPixelClock*/ 0,
358 /*} ModeInfoBlock;*/
363 VBE_VESA_MODE_1024X768X8,
365 /*typedef struct ModeInfoBlock
367 // Mandatory information for all VBE revisions
368 /*Bit16u ModeAttributes*/ VBE_MODE_ATTRIBUTE_SUPPORTED |
369 VBE_MODE_ATTRIBUTE_EXTENDED_INFORMATION_AVAILABLE |
370 VBE_MODE_ATTRIBUTE_COLOR_MODE |
371 #ifdef VBE_HAVE_LFB
372 VBE_MODE_ATTRIBUTE_LINEAR_FRAME_BUFFER_MODE |
373 #endif
374 VBE_MODE_ATTRIBUTE_GRAPHICS_MODE,
375 /*Bit8u WinAAttributes*/ VBE_WINDOW_ATTRIBUTE_RELOCATABLE |
376 VBE_WINDOW_ATTRIBUTE_READABLE |
377 VBE_WINDOW_ATTRIBUTE_WRITEABLE,
378 /*Bit8u WinBAttributes*/ 0,
379 /*Bit16u WinGranularity*/ VBE_DISPI_BANK_SIZE_KB,
380 /*Bit16u WinSize*/ VBE_DISPI_BANK_SIZE_KB,
381 /*Bit16u WinASegment*/ VGAMEM_GRAPH,
382 /*Bit16u WinBSegment*/ 0,
383 /*Bit32u WinFuncPtr*/ 0,
384 /*Bit16u BytesPerScanLine*/ 1024,
385 // Mandatory information for VBE 1.2 and above
386 /*Bit16u XResolution*/ 1024,
387 /*Bit16u YResolution*/ 768,
388 /*Bit8u XCharSize*/ 8,
389 /*Bit8u YCharSize*/ 16,
390 /*Bit8u NumberOfPlanes*/ 1,
391 /*Bit8u BitsPerPixel*/ 8,
392 /*Bit8u NumberOfBanks*/ 12, // 1024x768/64kb == 12
393 /*Bit8u MemoryModel*/ VBE_MEMORYMODEL_PACKED_PIXEL,
394 /*Bit8u BankSize*/ 0,
395 /*Bit8u NumberOfImagePages*/ 3,
396 /*Bit8u Reserved_page*/ 0,
397 // Direct Color fields (required for direct/6 and YUV/7 memory models)
398 /*Bit8u RedMaskSize*/ 0,
399 /*Bit8u RedFieldPosition*/ 0,
400 /*Bit8u GreenMaskSize*/ 0,
401 /*Bit8u GreenFieldPosition*/ 0,
402 /*Bit8u BlueMaskSize*/ 0,
403 /*Bit8u BlueFieldPosition*/ 0,
404 /*Bit8u RsvdMaskSize*/ 0,
405 /*Bit8u RsvdFieldPosition*/ 0,
406 /*Bit8u DirectColorModeInfo*/ 0,
407 // Mandatory information for VBE 2.0 and above
408 #ifdef VBE_HAVE_LFB
409 /*Bit32u PhysBasePtr*/ VBE_DISPI_LFB_PHYSICAL_ADDRESS,
410 #else
411 /*Bit32u PhysBasePtr*/ 0,
412 #endif
413 /*Bit32u OffScreenMemOffset*/ 0,
414 /*Bit16u OffScreenMemSize*/ 0,
415 // Mandatory information for VBE 3.0 and above
416 /*Bit16u LinBytesPerScanLine*/ 1024,
417 /*Bit8u BnkNumberOfPages*/ 0,
418 /*Bit8u LinNumberOfPages*/ 0,
419 /*Bit8u LinRedMaskSize*/ 0,
420 /*Bit8u LinRedFieldPosition*/ 0,
421 /*Bit8u LinGreenMaskSize*/ 0,
422 /*Bit8u LinGreenFieldPosition*/ 0,
423 /*Bit8u LinBlueMaskSize*/ 0,
424 /*Bit8u LinBlueFieldPosition*/ 0,
425 /*Bit8u LinRsvdMaskSize*/ 0,
426 /*Bit8u LinRsvdFieldPosition*/ 0,
427 /*Bit32u MaxPixelClock*/ 0,
428 /*} ModeInfoBlock;*/
433 VBE_VESA_MODE_640X480X1555,
435 /*typedef struct ModeInfoBlock
437 // Mandatory information for all VBE revisions
438 /*Bit16u ModeAttributes*/ VBE_MODE_ATTRIBUTE_SUPPORTED |
439 VBE_MODE_ATTRIBUTE_EXTENDED_INFORMATION_AVAILABLE |
440 VBE_MODE_ATTRIBUTE_COLOR_MODE |
441 #ifdef VBE_HAVE_LFB
442 VBE_MODE_ATTRIBUTE_LINEAR_FRAME_BUFFER_MODE |
443 #endif
444 VBE_MODE_ATTRIBUTE_GRAPHICS_MODE,
445 /*Bit8u WinAAttributes*/ VBE_WINDOW_ATTRIBUTE_RELOCATABLE |
446 VBE_WINDOW_ATTRIBUTE_READABLE |
447 VBE_WINDOW_ATTRIBUTE_WRITEABLE,
448 /*Bit8u WinBAttributes*/ 0,
449 /*Bit16u WinGranularity*/ VBE_DISPI_BANK_SIZE_KB,
450 /*Bit16u WinSize*/ VBE_DISPI_BANK_SIZE_KB,
451 /*Bit16u WinASegment*/ VGAMEM_GRAPH,
452 /*Bit16u WinBSegment*/ 0,
453 /*Bit32u WinFuncPtr*/ 0,
454 /*Bit16u BytesPerScanLine*/ 640*2,
455 // Mandatory information for VBE 1.2 and above
456 /*Bit16u XResolution*/ 640,
457 /*Bit16u YResolution*/ 480,
458 /*Bit8u XCharSize*/ 8,
459 /*Bit8u YCharSize*/ 16,
460 /*Bit8u NumberOfPlanes*/ 1,
461 /*Bit8u BitsPerPixel*/ 15,
462 /*Bit8u NumberOfBanks*/ 1,
463 /*Bit8u MemoryModel*/ VBE_MEMORYMODEL_DIRECT_COLOR,
464 /*Bit8u BankSize*/ 0,
465 /*Bit8u NumberOfImagePages*/ 5,
466 /*Bit8u Reserved_page*/ 0,
467 // Direct Color fields (required for direct/6 and YUV/7 memory models)
468 /*Bit8u RedMaskSize*/ 5,
469 /*Bit8u RedFieldPosition*/ 10,
470 /*Bit8u GreenMaskSize*/ 5,
471 /*Bit8u GreenFieldPosition*/ 5,
472 /*Bit8u BlueMaskSize*/ 5,
473 /*Bit8u BlueFieldPosition*/ 0,
474 /*Bit8u RsvdMaskSize*/ 1,
475 /*Bit8u RsvdFieldPosition*/ 15,
476 /*Bit8u DirectColorModeInfo*/ 0,
477 // Mandatory information for VBE 2.0 and above
478 #ifdef VBE_HAVE_LFB
479 /*Bit32u PhysBasePtr*/ VBE_DISPI_LFB_PHYSICAL_ADDRESS,
480 #else
481 /*Bit32u PhysBasePtr*/ 0,
482 #endif
483 /*Bit32u OffScreenMemOffset*/ 0,
484 /*Bit16u OffScreenMemSize*/ 0,
485 // Mandatory information for VBE 3.0 and above
486 /*Bit16u LinBytesPerScanLine*/ 640*2,
487 /*Bit8u BnkNumberOfPages*/ 0,
488 /*Bit8u LinNumberOfPages*/ 0,
489 /*Bit8u LinRedMaskSize*/ 5,
490 /*Bit8u LinRedFieldPosition*/ 10,
491 /*Bit8u LinGreenMaskSize*/ 0,
492 /*Bit8u LinGreenFieldPosition*/ 5,
493 /*Bit8u LinBlueMaskSize*/ 5,
494 /*Bit8u LinBlueFieldPosition*/ 0,
495 /*Bit8u LinRsvdMaskSize*/ 1,
496 /*Bit8u LinRsvdFieldPosition*/ 15,
497 /*Bit32u MaxPixelClock*/ 0,
498 /*} ModeInfoBlock;*/
503 VBE_VESA_MODE_800X600X1555,
505 /*typedef struct ModeInfoBlock
507 // Mandatory information for all VBE revisions
508 /*Bit16u ModeAttributes*/ VBE_MODE_ATTRIBUTE_SUPPORTED |
509 VBE_MODE_ATTRIBUTE_EXTENDED_INFORMATION_AVAILABLE |
510 VBE_MODE_ATTRIBUTE_COLOR_MODE |
511 #ifdef VBE_HAVE_LFB
512 VBE_MODE_ATTRIBUTE_LINEAR_FRAME_BUFFER_MODE |
513 #endif
514 VBE_MODE_ATTRIBUTE_GRAPHICS_MODE,
515 /*Bit8u WinAAttributes*/ VBE_WINDOW_ATTRIBUTE_RELOCATABLE |
516 VBE_WINDOW_ATTRIBUTE_READABLE |
517 VBE_WINDOW_ATTRIBUTE_WRITEABLE,
518 /*Bit8u WinBAttributes*/ 0,
519 /*Bit16u WinGranularity*/ VBE_DISPI_BANK_SIZE_KB,
520 /*Bit16u WinSize*/ VBE_DISPI_BANK_SIZE_KB,
521 /*Bit16u WinASegment*/ VGAMEM_GRAPH,
522 /*Bit16u WinBSegment*/ 0,
523 /*Bit32u WinFuncPtr*/ 0,
524 /*Bit16u BytesPerScanLine*/ 800*2,
525 // Mandatory information for VBE 1.2 and above
526 /*Bit16u XResolution*/ 800,
527 /*Bit16u YResolution*/ 600,
528 /*Bit8u XCharSize*/ 8,
529 /*Bit8u YCharSize*/ 16,
530 /*Bit8u NumberOfPlanes*/ 1,
531 /*Bit8u BitsPerPixel*/ 15,
532 /*Bit8u NumberOfBanks*/ 1,
533 /*Bit8u MemoryModel*/ VBE_MEMORYMODEL_DIRECT_COLOR,
534 /*Bit8u BankSize*/ 0,
535 /*Bit8u NumberOfImagePages*/ 3,
536 /*Bit8u Reserved_page*/ 0,
537 // Direct Color fields (required for direct/6 and YUV/7 memory models)
538 /*Bit8u RedMaskSize*/ 5,
539 /*Bit8u RedFieldPosition*/ 10,
540 /*Bit8u GreenMaskSize*/ 5,
541 /*Bit8u GreenFieldPosition*/ 5,
542 /*Bit8u BlueMaskSize*/ 5,
543 /*Bit8u BlueFieldPosition*/ 0,
544 /*Bit8u RsvdMaskSize*/ 1,
545 /*Bit8u RsvdFieldPosition*/ 15,
546 /*Bit8u DirectColorModeInfo*/ 0,
547 // Mandatory information for VBE 2.0 and above
548 #ifdef VBE_HAVE_LFB
549 /*Bit32u PhysBasePtr*/ VBE_DISPI_LFB_PHYSICAL_ADDRESS,
550 #else
551 /*Bit32u PhysBasePtr*/ 0,
552 #endif
553 /*Bit32u OffScreenMemOffset*/ 0,
554 /*Bit16u OffScreenMemSize*/ 0,
555 // Mandatory information for VBE 3.0 and above
556 /*Bit16u LinBytesPerScanLine*/ 800*2,
557 /*Bit8u BnkNumberOfPages*/ 0,
558 /*Bit8u LinNumberOfPages*/ 0,
559 /*Bit8u LinRedMaskSize*/ 5,
560 /*Bit8u LinRedFieldPosition*/ 10,
561 /*Bit8u LinGreenMaskSize*/ 5,
562 /*Bit8u LinGreenFieldPosition*/ 5,
563 /*Bit8u LinBlueMaskSize*/ 5,
564 /*Bit8u LinBlueFieldPosition*/ 0,
565 /*Bit8u LinRsvdMaskSize*/ 1,
566 /*Bit8u LinRsvdFieldPosition*/ 15,
567 /*Bit32u MaxPixelClock*/ 0,
568 /*} ModeInfoBlock;*/
573 VBE_VESA_MODE_1024X768X1555,
575 /*typedef struct ModeInfoBlock
577 // Mandatory information for all VBE revisions
578 /*Bit16u ModeAttributes*/ VBE_MODE_ATTRIBUTE_SUPPORTED |
579 VBE_MODE_ATTRIBUTE_EXTENDED_INFORMATION_AVAILABLE |
580 VBE_MODE_ATTRIBUTE_COLOR_MODE |
581 #ifdef VBE_HAVE_LFB
582 VBE_MODE_ATTRIBUTE_LINEAR_FRAME_BUFFER_MODE |
583 #endif
584 VBE_MODE_ATTRIBUTE_GRAPHICS_MODE,
585 /*Bit8u WinAAttributes*/ VBE_WINDOW_ATTRIBUTE_RELOCATABLE |
586 VBE_WINDOW_ATTRIBUTE_READABLE |
587 VBE_WINDOW_ATTRIBUTE_WRITEABLE,
588 /*Bit8u WinBAttributes*/ 0,
589 /*Bit16u WinGranularity*/ VBE_DISPI_BANK_SIZE_KB,
590 /*Bit16u WinSize*/ VBE_DISPI_BANK_SIZE_KB,
591 /*Bit16u WinASegment*/ VGAMEM_GRAPH,
592 /*Bit16u WinBSegment*/ 0,
593 /*Bit32u WinFuncPtr*/ 0,
594 /*Bit16u BytesPerScanLine*/ 1024*2,
595 // Mandatory information for VBE 1.2 and above
596 /*Bit16u XResolution*/ 1024,
597 /*Bit16u YResolution*/ 768,
598 /*Bit8u XCharSize*/ 8,
599 /*Bit8u YCharSize*/ 16,
600 /*Bit8u NumberOfPlanes*/ 1,
601 /*Bit8u BitsPerPixel*/ 15,
602 /*Bit8u NumberOfBanks*/ 1,
603 /*Bit8u MemoryModel*/ VBE_MEMORYMODEL_DIRECT_COLOR,
604 /*Bit8u BankSize*/ 0,
605 /*Bit8u NumberOfImagePages*/ 1,
606 /*Bit8u Reserved_page*/ 0,
607 // Direct Color fields (required for direct/6 and YUV/7 memory models)
608 /*Bit8u RedMaskSize*/ 5,
609 /*Bit8u RedFieldPosition*/ 10,
610 /*Bit8u GreenMaskSize*/ 5,
611 /*Bit8u GreenFieldPosition*/ 5,
612 /*Bit8u BlueMaskSize*/ 5,
613 /*Bit8u BlueFieldPosition*/ 0,
614 /*Bit8u RsvdMaskSize*/ 1,
615 /*Bit8u RsvdFieldPosition*/ 15,
616 /*Bit8u DirectColorModeInfo*/ 0,
617 // Mandatory information for VBE 2.0 and above
618 #ifdef VBE_HAVE_LFB
619 /*Bit32u PhysBasePtr*/ VBE_DISPI_LFB_PHYSICAL_ADDRESS,
620 #else
621 /*Bit32u PhysBasePtr*/ 0,
622 #endif
623 /*Bit32u OffScreenMemOffset*/ 0,
624 /*Bit16u OffScreenMemSize*/ 0,
625 // Mandatory information for VBE 3.0 and above
626 /*Bit16u LinBytesPerScanLine*/ 1024*2,
627 /*Bit8u BnkNumberOfPages*/ 0,
628 /*Bit8u LinNumberOfPages*/ 0,
629 /*Bit8u LinRedMaskSize*/ 5,
630 /*Bit8u LinRedFieldPosition*/ 10,
631 /*Bit8u LinGreenMaskSize*/ 5,
632 /*Bit8u LinGreenFieldPosition*/ 5,
633 /*Bit8u LinBlueMaskSize*/ 5,
634 /*Bit8u LinBlueFieldPosition*/ 0,
635 /*Bit8u LinRsvdMaskSize*/ 1,
636 /*Bit8u LinRsvdFieldPosition*/ 15,
637 /*Bit32u MaxPixelClock*/ 0,
638 /*} ModeInfoBlock;*/
643 VBE_VESA_MODE_640X480X565,
645 /*typedef struct ModeInfoBlock
647 // Mandatory information for all VBE revisions
648 /*Bit16u ModeAttributes*/ VBE_MODE_ATTRIBUTE_SUPPORTED |
649 VBE_MODE_ATTRIBUTE_EXTENDED_INFORMATION_AVAILABLE |
650 VBE_MODE_ATTRIBUTE_COLOR_MODE |
651 #ifdef VBE_HAVE_LFB
652 VBE_MODE_ATTRIBUTE_LINEAR_FRAME_BUFFER_MODE |
653 #endif
654 VBE_MODE_ATTRIBUTE_GRAPHICS_MODE,
655 /*Bit8u WinAAttributes*/ VBE_WINDOW_ATTRIBUTE_RELOCATABLE |
656 VBE_WINDOW_ATTRIBUTE_READABLE |
657 VBE_WINDOW_ATTRIBUTE_WRITEABLE,
658 /*Bit8u WinBAttributes*/ 0,
659 /*Bit16u WinGranularity*/ VBE_DISPI_BANK_SIZE_KB,
660 /*Bit16u WinSize*/ VBE_DISPI_BANK_SIZE_KB,
661 /*Bit16u WinASegment*/ VGAMEM_GRAPH,
662 /*Bit16u WinBSegment*/ 0,
663 /*Bit32u WinFuncPtr*/ 0,
664 /*Bit16u BytesPerScanLine*/ 640*2,
665 // Mandatory information for VBE 1.2 and above
666 /*Bit16u XResolution*/ 640,
667 /*Bit16u YResolution*/ 480,
668 /*Bit8u XCharSize*/ 8,
669 /*Bit8u YCharSize*/ 16,
670 /*Bit8u NumberOfPlanes*/ 1,
671 /*Bit8u BitsPerPixel*/ 16,
672 /*Bit8u NumberOfBanks*/ 1,
673 /*Bit8u MemoryModel*/ VBE_MEMORYMODEL_DIRECT_COLOR,
674 /*Bit8u BankSize*/ 0,
675 /*Bit8u NumberOfImagePages*/ 5,
676 /*Bit8u Reserved_page*/ 0,
677 // Direct Color fields (required for direct/6 and YUV/7 memory models)
678 /*Bit8u RedMaskSize*/ 5,
679 /*Bit8u RedFieldPosition*/ 11,
680 /*Bit8u GreenMaskSize*/ 6,
681 /*Bit8u GreenFieldPosition*/ 5,
682 /*Bit8u BlueMaskSize*/ 5,
683 /*Bit8u BlueFieldPosition*/ 0,
684 /*Bit8u RsvdMaskSize*/ 0,
685 /*Bit8u RsvdFieldPosition*/ 0,
686 /*Bit8u DirectColorModeInfo*/ 0,
687 // Mandatory information for VBE 2.0 and above
688 #ifdef VBE_HAVE_LFB
689 /*Bit32u PhysBasePtr*/ VBE_DISPI_LFB_PHYSICAL_ADDRESS,
690 #else
691 /*Bit32u PhysBasePtr*/ 0,
692 #endif
693 /*Bit32u OffScreenMemOffset*/ 0,
694 /*Bit16u OffScreenMemSize*/ 0,
695 // Mandatory information for VBE 3.0 and above
696 /*Bit16u LinBytesPerScanLine*/ 640*2,
697 /*Bit8u BnkNumberOfPages*/ 0,
698 /*Bit8u LinNumberOfPages*/ 0,
699 /*Bit8u LinRedMaskSize*/ 5,
700 /*Bit8u LinRedFieldPosition*/ 11,
701 /*Bit8u LinGreenMaskSize*/ 6,
702 /*Bit8u LinGreenFieldPosition*/ 5,
703 /*Bit8u LinBlueMaskSize*/ 5,
704 /*Bit8u LinBlueFieldPosition*/ 0,
705 /*Bit8u LinRsvdMaskSize*/ 0,
706 /*Bit8u LinRsvdFieldPosition*/ 0,
707 /*Bit32u MaxPixelClock*/ 0,
708 /*} ModeInfoBlock;*/
713 VBE_VESA_MODE_800X600X565,
715 /*typedef struct ModeInfoBlock
717 // Mandatory information for all VBE revisions
718 /*Bit16u ModeAttributes*/ VBE_MODE_ATTRIBUTE_SUPPORTED |
719 VBE_MODE_ATTRIBUTE_EXTENDED_INFORMATION_AVAILABLE |
720 VBE_MODE_ATTRIBUTE_COLOR_MODE |
721 #ifdef VBE_HAVE_LFB
722 VBE_MODE_ATTRIBUTE_LINEAR_FRAME_BUFFER_MODE |
723 #endif
724 VBE_MODE_ATTRIBUTE_GRAPHICS_MODE,
725 /*Bit8u WinAAttributes*/ VBE_WINDOW_ATTRIBUTE_RELOCATABLE |
726 VBE_WINDOW_ATTRIBUTE_READABLE |
727 VBE_WINDOW_ATTRIBUTE_WRITEABLE,
728 /*Bit8u WinBAttributes*/ 0,
729 /*Bit16u WinGranularity*/ VBE_DISPI_BANK_SIZE_KB,
730 /*Bit16u WinSize*/ VBE_DISPI_BANK_SIZE_KB,
731 /*Bit16u WinASegment*/ VGAMEM_GRAPH,
732 /*Bit16u WinBSegment*/ 0,
733 /*Bit32u WinFuncPtr*/ 0,
734 /*Bit16u BytesPerScanLine*/ 800*2,
735 // Mandatory information for VBE 1.2 and above
736 /*Bit16u XResolution*/ 800,
737 /*Bit16u YResolution*/ 600,
738 /*Bit8u XCharSize*/ 8,
739 /*Bit8u YCharSize*/ 16,
740 /*Bit8u NumberOfPlanes*/ 1,
741 /*Bit8u BitsPerPixel*/ 16,
742 /*Bit8u NumberOfBanks*/ 1,
743 /*Bit8u MemoryModel*/ VBE_MEMORYMODEL_DIRECT_COLOR,
744 /*Bit8u BankSize*/ 0,
745 /*Bit8u NumberOfImagePages*/ 3,
746 /*Bit8u Reserved_page*/ 0,
747 // Direct Color fields (required for direct/6 and YUV/7 memory models)
748 /*Bit8u RedMaskSize*/ 5,
749 /*Bit8u RedFieldPosition*/ 11,
750 /*Bit8u GreenMaskSize*/ 6,
751 /*Bit8u GreenFieldPosition*/ 5,
752 /*Bit8u BlueMaskSize*/ 5,
753 /*Bit8u BlueFieldPosition*/ 0,
754 /*Bit8u RsvdMaskSize*/ 0,
755 /*Bit8u RsvdFieldPosition*/ 0,
756 /*Bit8u DirectColorModeInfo*/ 0,
757 // Mandatory information for VBE 2.0 and above
758 #ifdef VBE_HAVE_LFB
759 /*Bit32u PhysBasePtr*/ VBE_DISPI_LFB_PHYSICAL_ADDRESS,
760 #else
761 /*Bit32u PhysBasePtr*/ 0,
762 #endif
763 /*Bit32u OffScreenMemOffset*/ 0,
764 /*Bit16u OffScreenMemSize*/ 0,
765 // Mandatory information for VBE 3.0 and above
766 /*Bit16u LinBytesPerScanLine*/ 800*2,
767 /*Bit8u BnkNumberOfPages*/ 0,
768 /*Bit8u LinNumberOfPages*/ 0,
769 /*Bit8u LinRedMaskSize*/ 5,
770 /*Bit8u LinRedFieldPosition*/ 11,
771 /*Bit8u LinGreenMaskSize*/ 6,
772 /*Bit8u LinGreenFieldPosition*/ 5,
773 /*Bit8u LinBlueMaskSize*/ 5,
774 /*Bit8u LinBlueFieldPosition*/ 0,
775 /*Bit8u LinRsvdMaskSize*/ 0,
776 /*Bit8u LinRsvdFieldPosition*/ 0,
777 /*Bit32u MaxPixelClock*/ 0,
778 /*} ModeInfoBlock;*/
783 VBE_VESA_MODE_1024X768X565,
785 /*typedef struct ModeInfoBlock
787 // Mandatory information for all VBE revisions
788 /*Bit16u ModeAttributes*/ VBE_MODE_ATTRIBUTE_SUPPORTED |
789 VBE_MODE_ATTRIBUTE_EXTENDED_INFORMATION_AVAILABLE |
790 VBE_MODE_ATTRIBUTE_COLOR_MODE |
791 #ifdef VBE_HAVE_LFB
792 VBE_MODE_ATTRIBUTE_LINEAR_FRAME_BUFFER_MODE |
793 #endif
794 VBE_MODE_ATTRIBUTE_GRAPHICS_MODE,
795 /*Bit8u WinAAttributes*/ VBE_WINDOW_ATTRIBUTE_RELOCATABLE |
796 VBE_WINDOW_ATTRIBUTE_READABLE |
797 VBE_WINDOW_ATTRIBUTE_WRITEABLE,
798 /*Bit8u WinBAttributes*/ 0,
799 /*Bit16u WinGranularity*/ VBE_DISPI_BANK_SIZE_KB,
800 /*Bit16u WinSize*/ VBE_DISPI_BANK_SIZE_KB,
801 /*Bit16u WinASegment*/ VGAMEM_GRAPH,
802 /*Bit16u WinBSegment*/ 0,
803 /*Bit32u WinFuncPtr*/ 0,
804 /*Bit16u BytesPerScanLine*/ 1024*2,
805 // Mandatory information for VBE 1.2 and above
806 /*Bit16u XResolution*/ 1024,
807 /*Bit16u YResolution*/ 768,
808 /*Bit8u XCharSize*/ 8,
809 /*Bit8u YCharSize*/ 16,
810 /*Bit8u NumberOfPlanes*/ 1,
811 /*Bit8u BitsPerPixel*/ 16,
812 /*Bit8u NumberOfBanks*/ 1,
813 /*Bit8u MemoryModel*/ VBE_MEMORYMODEL_DIRECT_COLOR,
814 /*Bit8u BankSize*/ 0,
815 /*Bit8u NumberOfImagePages*/ 1,
816 /*Bit8u Reserved_page*/ 0,
817 // Direct Color fields (required for direct/6 and YUV/7 memory models)
818 /*Bit8u RedMaskSize*/ 5,
819 /*Bit8u RedFieldPosition*/ 11,
820 /*Bit8u GreenMaskSize*/ 6,
821 /*Bit8u GreenFieldPosition*/ 5,
822 /*Bit8u BlueMaskSize*/ 5,
823 /*Bit8u BlueFieldPosition*/ 0,
824 /*Bit8u RsvdMaskSize*/ 0,
825 /*Bit8u RsvdFieldPosition*/ 0,
826 /*Bit8u DirectColorModeInfo*/ 0,
827 // Mandatory information for VBE 2.0 and above
828 #ifdef VBE_HAVE_LFB
829 /*Bit32u PhysBasePtr*/ VBE_DISPI_LFB_PHYSICAL_ADDRESS,
830 #else
831 /*Bit32u PhysBasePtr*/ 0,
832 #endif
833 /*Bit32u OffScreenMemOffset*/ 0,
834 /*Bit16u OffScreenMemSize*/ 0,
835 // Mandatory information for VBE 3.0 and above
836 /*Bit16u LinBytesPerScanLine*/ 1024*2,
837 /*Bit8u BnkNumberOfPages*/ 0,
838 /*Bit8u LinNumberOfPages*/ 0,
839 /*Bit8u LinRedMaskSize*/ 5,
840 /*Bit8u LinRedFieldPosition*/ 11,
841 /*Bit8u LinGreenMaskSize*/ 6,
842 /*Bit8u LinGreenFieldPosition*/ 5,
843 /*Bit8u LinBlueMaskSize*/ 5,
844 /*Bit8u LinBlueFieldPosition*/ 0,
845 /*Bit8u LinRsvdMaskSize*/ 0,
846 /*Bit8u LinRsvdFieldPosition*/ 0,
847 /*Bit32u MaxPixelClock*/ 0,
848 /*} ModeInfoBlock;*/
853 VBE_VESA_MODE_640X480X888,
855 /*typedef struct ModeInfoBlock
857 // Mandatory information for all VBE revisions
858 /*Bit16u ModeAttributes*/ VBE_MODE_ATTRIBUTE_SUPPORTED |
859 VBE_MODE_ATTRIBUTE_EXTENDED_INFORMATION_AVAILABLE |
860 VBE_MODE_ATTRIBUTE_COLOR_MODE |
861 #ifdef VBE_HAVE_LFB
862 VBE_MODE_ATTRIBUTE_LINEAR_FRAME_BUFFER_MODE |
863 #endif
864 VBE_MODE_ATTRIBUTE_GRAPHICS_MODE,
865 /*Bit8u WinAAttributes*/ VBE_WINDOW_ATTRIBUTE_RELOCATABLE |
866 VBE_WINDOW_ATTRIBUTE_READABLE |
867 VBE_WINDOW_ATTRIBUTE_WRITEABLE,
868 /*Bit8u WinBAttributes*/ 0,
869 /*Bit16u WinGranularity*/ VBE_DISPI_BANK_SIZE_KB,
870 /*Bit16u WinSize*/ VBE_DISPI_BANK_SIZE_KB,
871 /*Bit16u WinASegment*/ VGAMEM_GRAPH,
872 /*Bit16u WinBSegment*/ 0,
873 /*Bit32u WinFuncPtr*/ 0,
874 /*Bit16u BytesPerScanLine*/ 640*3,
875 // Mandatory information for VBE 1.2 and above
876 /*Bit16u XResolution*/ 640,
877 /*Bit16u YResolution*/ 480,
878 /*Bit8u XCharSize*/ 8,
879 /*Bit8u YCharSize*/ 16,
880 /*Bit8u NumberOfPlanes*/ 1,
881 /*Bit8u BitsPerPixel*/ 24,
882 /*Bit8u NumberOfBanks*/ 1,
883 /*Bit8u MemoryModel*/ VBE_MEMORYMODEL_DIRECT_COLOR,
884 /*Bit8u BankSize*/ 0,
885 /*Bit8u NumberOfImagePages*/ 3,
886 /*Bit8u Reserved_page*/ 0,
887 // Direct Color fields (required for direct/6 and YUV/7 memory models)
888 /*Bit8u RedMaskSize*/ 8,
889 /*Bit8u RedFieldPosition*/ 16,
890 /*Bit8u GreenMaskSize*/ 8,
891 /*Bit8u GreenFieldPosition*/ 8,
892 /*Bit8u BlueMaskSize*/ 8,
893 /*Bit8u BlueFieldPosition*/ 0,
894 /*Bit8u RsvdMaskSize*/ 0,
895 /*Bit8u RsvdFieldPosition*/ 0,
896 /*Bit8u DirectColorModeInfo*/ 0,
897 // Mandatory information for VBE 2.0 and above
898 #ifdef VBE_HAVE_LFB
899 /*Bit32u PhysBasePtr*/ VBE_DISPI_LFB_PHYSICAL_ADDRESS,
900 #else
901 /*Bit32u PhysBasePtr*/ 0,
902 #endif
903 /*Bit32u OffScreenMemOffset*/ 0,
904 /*Bit16u OffScreenMemSize*/ 0,
905 // Mandatory information for VBE 3.0 and above
906 /*Bit16u LinBytesPerScanLine*/ 640*3,
907 /*Bit8u BnkNumberOfPages*/ 0,
908 /*Bit8u LinNumberOfPages*/ 0,
909 /*Bit8u LinRedMaskSize*/ 8,
910 /*Bit8u LinRedFieldPosition*/ 16,
911 /*Bit8u LinGreenMaskSize*/ 8,
912 /*Bit8u LinGreenFieldPosition*/ 8,
913 /*Bit8u LinBlueMaskSize*/ 8,
914 /*Bit8u LinBlueFieldPosition*/ 0,
915 /*Bit8u LinRsvdMaskSize*/ 0,
916 /*Bit8u LinRsvdFieldPosition*/ 0,
917 /*Bit32u MaxPixelClock*/ 0,
918 /*} ModeInfoBlock;*/
923 VBE_VESA_MODE_800X600X888,
925 /*typedef struct ModeInfoBlock
927 // Mandatory information for all VBE revisions
928 /*Bit16u ModeAttributes*/ VBE_MODE_ATTRIBUTE_SUPPORTED |
929 VBE_MODE_ATTRIBUTE_EXTENDED_INFORMATION_AVAILABLE |
930 VBE_MODE_ATTRIBUTE_COLOR_MODE |
931 #ifdef VBE_HAVE_LFB
932 VBE_MODE_ATTRIBUTE_LINEAR_FRAME_BUFFER_MODE |
933 #endif
934 VBE_MODE_ATTRIBUTE_GRAPHICS_MODE,
935 /*Bit8u WinAAttributes*/ VBE_WINDOW_ATTRIBUTE_RELOCATABLE |
936 VBE_WINDOW_ATTRIBUTE_READABLE |
937 VBE_WINDOW_ATTRIBUTE_WRITEABLE,
938 /*Bit8u WinBAttributes*/ 0,
939 /*Bit16u WinGranularity*/ VBE_DISPI_BANK_SIZE_KB,
940 /*Bit16u WinSize*/ VBE_DISPI_BANK_SIZE_KB,
941 /*Bit16u WinASegment*/ VGAMEM_GRAPH,
942 /*Bit16u WinBSegment*/ 0,
943 /*Bit32u WinFuncPtr*/ 0,
944 /*Bit16u BytesPerScanLine*/ 800*3,
945 // Mandatory information for VBE 1.2 and above
946 /*Bit16u XResolution*/ 800,
947 /*Bit16u YResolution*/ 600,
948 /*Bit8u XCharSize*/ 8,
949 /*Bit8u YCharSize*/ 16,
950 /*Bit8u NumberOfPlanes*/ 1,
951 /*Bit8u BitsPerPixel*/ 24,
952 /*Bit8u NumberOfBanks*/ 1,
953 /*Bit8u MemoryModel*/ VBE_MEMORYMODEL_DIRECT_COLOR,
954 /*Bit8u BankSize*/ 0,
955 /*Bit8u NumberOfImagePages*/ 1,
956 /*Bit8u Reserved_page*/ 0,
957 // Direct Color fields (required for direct/6 and YUV/7 memory models)
958 /*Bit8u RedMaskSize*/ 8,
959 /*Bit8u RedFieldPosition*/ 16,
960 /*Bit8u GreenMaskSize*/ 8,
961 /*Bit8u GreenFieldPosition*/ 8,
962 /*Bit8u BlueMaskSize*/ 8,
963 /*Bit8u BlueFieldPosition*/ 0,
964 /*Bit8u RsvdMaskSize*/ 0,
965 /*Bit8u RsvdFieldPosition*/ 0,
966 /*Bit8u DirectColorModeInfo*/ 0,
967 // Mandatory information for VBE 2.0 and above
968 #ifdef VBE_HAVE_LFB
969 /*Bit32u PhysBasePtr*/ VBE_DISPI_LFB_PHYSICAL_ADDRESS,
970 #else
971 /*Bit32u PhysBasePtr*/ 0,
972 #endif
973 /*Bit32u OffScreenMemOffset*/ 0,
974 /*Bit16u OffScreenMemSize*/ 0,
975 // Mandatory information for VBE 3.0 and above
976 /*Bit16u LinBytesPerScanLine*/ 800*3,
977 /*Bit8u BnkNumberOfPages*/ 0,
978 /*Bit8u LinNumberOfPages*/ 0,
979 /*Bit8u LinRedMaskSize*/ 8,
980 /*Bit8u LinRedFieldPosition*/ 16,
981 /*Bit8u LinGreenMaskSize*/ 8,
982 /*Bit8u LinGreenFieldPosition*/ 8,
983 /*Bit8u LinBlueMaskSize*/ 8,
984 /*Bit8u LinBlueFieldPosition*/ 0,
985 /*Bit8u LinRsvdMaskSize*/ 0,
986 /*Bit8u LinRsvdFieldPosition*/ 0,
987 /*Bit32u MaxPixelClock*/ 0,
988 /*} ModeInfoBlock;*/
993 VBE_VESA_MODE_1024X768X888,
995 /*typedef struct ModeInfoBlock
997 // Mandatory information for all VBE revisions
998 /*Bit16u ModeAttributes*/ VBE_MODE_ATTRIBUTE_SUPPORTED |
999 VBE_MODE_ATTRIBUTE_EXTENDED_INFORMATION_AVAILABLE |
1000 VBE_MODE_ATTRIBUTE_COLOR_MODE |
1001 #ifdef VBE_HAVE_LFB
1002 VBE_MODE_ATTRIBUTE_LINEAR_FRAME_BUFFER_MODE |
1003 #endif
1004 VBE_MODE_ATTRIBUTE_GRAPHICS_MODE,
1005 /*Bit8u WinAAttributes*/ VBE_WINDOW_ATTRIBUTE_RELOCATABLE |
1006 VBE_WINDOW_ATTRIBUTE_READABLE |
1007 VBE_WINDOW_ATTRIBUTE_WRITEABLE,
1008 /*Bit8u WinBAttributes*/ 0,
1009 /*Bit16u WinGranularity*/ VBE_DISPI_BANK_SIZE_KB,
1010 /*Bit16u WinSize*/ VBE_DISPI_BANK_SIZE_KB,
1011 /*Bit16u WinASegment*/ VGAMEM_GRAPH,
1012 /*Bit16u WinBSegment*/ 0,
1013 /*Bit32u WinFuncPtr*/ 0,
1014 /*Bit16u BytesPerScanLine*/ 1024*3,
1015 // Mandatory information for VBE 1.2 and above
1016 /*Bit16u XResolution*/ 1024,
1017 /*Bit16u YResolution*/ 768,
1018 /*Bit8u XCharSize*/ 8,
1019 /*Bit8u YCharSize*/ 16,
1020 /*Bit8u NumberOfPlanes*/ 1,
1021 /*Bit8u BitsPerPixel*/ 24,
1022 /*Bit8u NumberOfBanks*/ 1,
1023 /*Bit8u MemoryModel*/ VBE_MEMORYMODEL_DIRECT_COLOR,
1024 /*Bit8u BankSize*/ 0,
1025 /*Bit8u NumberOfImagePages*/ 0,
1026 /*Bit8u Reserved_page*/ 0,
1027 // Direct Color fields (required for direct/6 and YUV/7 memory models)
1028 /*Bit8u RedMaskSize*/ 8,
1029 /*Bit8u RedFieldPosition*/ 16,
1030 /*Bit8u GreenMaskSize*/ 8,
1031 /*Bit8u GreenFieldPosition*/ 8,
1032 /*Bit8u BlueMaskSize*/ 8,
1033 /*Bit8u BlueFieldPosition*/ 0,
1034 /*Bit8u RsvdMaskSize*/ 0,
1035 /*Bit8u RsvdFieldPosition*/ 0,
1036 /*Bit8u DirectColorModeInfo*/ 0,
1037 // Mandatory information for VBE 2.0 and above
1038 #ifdef VBE_HAVE_LFB
1039 /*Bit32u PhysBasePtr*/ VBE_DISPI_LFB_PHYSICAL_ADDRESS,
1040 #else
1041 /*Bit32u PhysBasePtr*/ 0,
1042 #endif
1043 /*Bit32u OffScreenMemOffset*/ 0,
1044 /*Bit16u OffScreenMemSize*/ 0,
1045 // Mandatory information for VBE 3.0 and above
1046 /*Bit16u LinBytesPerScanLine*/ 1024*3,
1047 /*Bit8u BnkNumberOfPages*/ 0,
1048 /*Bit8u LinNumberOfPages*/ 0,
1049 /*Bit8u LinRedMaskSize*/ 8,
1050 /*Bit8u LinRedFieldPosition*/ 16,
1051 /*Bit8u LinGreenMaskSize*/ 8,
1052 /*Bit8u LinGreenFieldPosition*/ 8,
1053 /*Bit8u LinBlueMaskSize*/ 8,
1054 /*Bit8u LinBlueFieldPosition*/ 0,
1055 /*Bit8u LinRsvdMaskSize*/ 0,
1056 /*Bit8u LinRsvdFieldPosition*/ 0,
1057 /*Bit32u MaxPixelClock*/ 0,
1058 /*} ModeInfoBlock;*/
1063 VBE_OWN_MODE_640X480X8888,
1065 /*typedef struct ModeInfoBlock
1067 // Mandatory information for all VBE revisions
1068 /*Bit16u ModeAttributes*/ VBE_MODE_ATTRIBUTE_SUPPORTED |
1069 VBE_MODE_ATTRIBUTE_EXTENDED_INFORMATION_AVAILABLE |
1070 VBE_MODE_ATTRIBUTE_COLOR_MODE |
1071 #ifdef VBE_HAVE_LFB
1072 VBE_MODE_ATTRIBUTE_LINEAR_FRAME_BUFFER_MODE |
1073 #endif
1074 VBE_MODE_ATTRIBUTE_GRAPHICS_MODE,
1075 /*Bit8u WinAAttributes*/ VBE_WINDOW_ATTRIBUTE_RELOCATABLE |
1076 VBE_WINDOW_ATTRIBUTE_READABLE |
1077 VBE_WINDOW_ATTRIBUTE_WRITEABLE,
1078 /*Bit8u WinBAttributes*/ 0,
1079 /*Bit16u WinGranularity*/ VBE_DISPI_BANK_SIZE_KB,
1080 /*Bit16u WinSize*/ VBE_DISPI_BANK_SIZE_KB,
1081 /*Bit16u WinASegment*/ VGAMEM_GRAPH,
1082 /*Bit16u WinBSegment*/ 0,
1083 /*Bit32u WinFuncPtr*/ 0,
1084 /*Bit16u BytesPerScanLine*/ 640*4,
1085 // Mandatory information for VBE 1.2 and above
1086 /*Bit16u XResolution*/ 640,
1087 /*Bit16u YResolution*/ 480,
1088 /*Bit8u XCharSize*/ 8,
1089 /*Bit8u YCharSize*/ 16,
1090 /*Bit8u NumberOfPlanes*/ 1,
1091 /*Bit8u BitsPerPixel*/ 32,
1092 /*Bit8u NumberOfBanks*/ 1,
1093 /*Bit8u MemoryModel*/ VBE_MEMORYMODEL_DIRECT_COLOR,
1094 /*Bit8u BankSize*/ 0,
1095 /*Bit8u NumberOfImagePages*/ 1,
1096 /*Bit8u Reserved_page*/ 0,
1097 // Direct Color fields (required for direct/6 and YUV/7 memory models)
1098 /*Bit8u RedMaskSize*/ 8,
1099 /*Bit8u RedFieldPosition*/ 16,
1100 /*Bit8u GreenMaskSize*/ 8,
1101 /*Bit8u GreenFieldPosition*/ 8,
1102 /*Bit8u BlueMaskSize*/ 8,
1103 /*Bit8u BlueFieldPosition*/ 0,
1104 /*Bit8u RsvdMaskSize*/ 8,
1105 /*Bit8u RsvdFieldPosition*/ 24,
1106 /*Bit8u DirectColorModeInfo*/ VBE_DIRECTCOLOR_RESERVED_BITS_AVAILABLE,
1107 // Mandatory information for VBE 2.0 and above
1108 #ifdef VBE_HAVE_LFB
1109 /*Bit32u PhysBasePtr*/ VBE_DISPI_LFB_PHYSICAL_ADDRESS,
1110 #else
1111 /*Bit32u PhysBasePtr*/ 0,
1112 #endif
1113 /*Bit32u OffScreenMemOffset*/ 0,
1114 /*Bit16u OffScreenMemSize*/ 0,
1115 // Mandatory information for VBE 3.0 and above
1116 /*Bit16u LinBytesPerScanLine*/ 640*4,
1117 /*Bit8u BnkNumberOfPages*/ 0,
1118 /*Bit8u LinNumberOfPages*/ 0,
1119 /*Bit8u LinRedMaskSize*/ 8,
1120 /*Bit8u LinRedFieldPosition*/ 16,
1121 /*Bit8u LinGreenMaskSize*/ 8,
1122 /*Bit8u LinGreenFieldPosition*/ 8,
1123 /*Bit8u LinBlueMaskSize*/ 8,
1124 /*Bit8u LinBlueFieldPosition*/ 0,
1125 /*Bit8u LinRsvdMaskSize*/ 8,
1126 /*Bit8u LinRsvdFieldPosition*/ 24,
1127 /*Bit32u MaxPixelClock*/ 0,
1128 /*} ModeInfoBlock;*/
1133 VBE_OWN_MODE_800X600X8888,
1135 /*typedef struct ModeInfoBlock
1137 // Mandatory information for all VBE revisions
1138 /*Bit16u ModeAttributes*/ VBE_MODE_ATTRIBUTE_SUPPORTED |
1139 VBE_MODE_ATTRIBUTE_EXTENDED_INFORMATION_AVAILABLE |
1140 VBE_MODE_ATTRIBUTE_COLOR_MODE |
1141 #ifdef VBE_HAVE_LFB
1142 VBE_MODE_ATTRIBUTE_LINEAR_FRAME_BUFFER_MODE |
1143 #endif
1144 VBE_MODE_ATTRIBUTE_GRAPHICS_MODE,
1145 /*Bit8u WinAAttributes*/ VBE_WINDOW_ATTRIBUTE_RELOCATABLE |
1146 VBE_WINDOW_ATTRIBUTE_READABLE |
1147 VBE_WINDOW_ATTRIBUTE_WRITEABLE,
1148 /*Bit8u WinBAttributes*/ 0,
1149 /*Bit16u WinGranularity*/ VBE_DISPI_BANK_SIZE_KB,
1150 /*Bit16u WinSize*/ VBE_DISPI_BANK_SIZE_KB,
1151 /*Bit16u WinASegment*/ VGAMEM_GRAPH,
1152 /*Bit16u WinBSegment*/ 0,
1153 /*Bit32u WinFuncPtr*/ 0,
1154 /*Bit16u BytesPerScanLine*/ 800*4,
1155 // Mandatory information for VBE 1.2 and above
1156 /*Bit16u XResolution*/ 800,
1157 /*Bit16u YResolution*/ 600,
1158 /*Bit8u XCharSize*/ 8,
1159 /*Bit8u YCharSize*/ 16,
1160 /*Bit8u NumberOfPlanes*/ 1,
1161 /*Bit8u BitsPerPixel*/ 32,
1162 /*Bit8u NumberOfBanks*/ 1,
1163 /*Bit8u MemoryModel*/ VBE_MEMORYMODEL_DIRECT_COLOR,
1164 /*Bit8u BankSize*/ 0,
1165 /*Bit8u NumberOfImagePages*/ 1,
1166 /*Bit8u Reserved_page*/ 0,
1167 // Direct Color fields (required for direct/6 and YUV/7 memory models)
1168 /*Bit8u RedMaskSize*/ 8,
1169 /*Bit8u RedFieldPosition*/ 16,
1170 /*Bit8u GreenMaskSize*/ 8,
1171 /*Bit8u GreenFieldPosition*/ 8,
1172 /*Bit8u BlueMaskSize*/ 8,
1173 /*Bit8u BlueFieldPosition*/ 0,
1174 /*Bit8u RsvdMaskSize*/ 8,
1175 /*Bit8u RsvdFieldPosition*/ 24,
1176 /*Bit8u DirectColorModeInfo*/ VBE_DIRECTCOLOR_RESERVED_BITS_AVAILABLE,
1177 // Mandatory information for VBE 2.0 and above
1178 #ifdef VBE_HAVE_LFB
1179 /*Bit32u PhysBasePtr*/ VBE_DISPI_LFB_PHYSICAL_ADDRESS,
1180 #else
1181 /*Bit32u PhysBasePtr*/ 0,
1182 #endif
1183 /*Bit32u OffScreenMemOffset*/ 0,
1184 /*Bit16u OffScreenMemSize*/ 0,
1185 // Mandatory information for VBE 3.0 and above
1186 /*Bit16u LinBytesPerScanLine*/ 800*4,
1187 /*Bit8u BnkNumberOfPages*/ 0,
1188 /*Bit8u LinNumberOfPages*/ 0,
1189 /*Bit8u LinRedMaskSize*/ 8,
1190 /*Bit8u LinRedFieldPosition*/ 16,
1191 /*Bit8u LinGreenMaskSize*/ 8,
1192 /*Bit8u LinGreenFieldPosition*/ 8,
1193 /*Bit8u LinBlueMaskSize*/ 8,
1194 /*Bit8u LinBlueFieldPosition*/ 0,
1195 /*Bit8u LinRsvdMaskSize*/ 8,
1196 /*Bit8u LinRsvdFieldPosition*/ 24,
1197 /*Bit32u MaxPixelClock*/ 0,
1198 /*} ModeInfoBlock;*/
1203 VBE_OWN_MODE_1024X768X8888,
1205 /*typedef struct ModeInfoBlock
1207 // Mandatory information for all VBE revisions
1208 /*Bit16u ModeAttributes*/ VBE_MODE_ATTRIBUTE_SUPPORTED |
1209 VBE_MODE_ATTRIBUTE_EXTENDED_INFORMATION_AVAILABLE |
1210 VBE_MODE_ATTRIBUTE_COLOR_MODE |
1211 #ifdef VBE_HAVE_LFB
1212 VBE_MODE_ATTRIBUTE_LINEAR_FRAME_BUFFER_MODE |
1213 #endif
1214 VBE_MODE_ATTRIBUTE_GRAPHICS_MODE,
1215 /*Bit8u WinAAttributes*/ VBE_WINDOW_ATTRIBUTE_RELOCATABLE |
1216 VBE_WINDOW_ATTRIBUTE_READABLE |
1217 VBE_WINDOW_ATTRIBUTE_WRITEABLE,
1218 /*Bit8u WinBAttributes*/ 0,
1219 /*Bit16u WinGranularity*/ VBE_DISPI_BANK_SIZE_KB,
1220 /*Bit16u WinSize*/ VBE_DISPI_BANK_SIZE_KB,
1221 /*Bit16u WinASegment*/ VGAMEM_GRAPH,
1222 /*Bit16u WinBSegment*/ 0,
1223 /*Bit32u WinFuncPtr*/ 0,
1224 /*Bit16u BytesPerScanLine*/ 1024*4,
1225 // Mandatory information for VBE 1.2 and above
1226 /*Bit16u XResolution*/ 1024,
1227 /*Bit16u YResolution*/ 768,
1228 /*Bit8u XCharSize*/ 8,
1229 /*Bit8u YCharSize*/ 16,
1230 /*Bit8u NumberOfPlanes*/ 1,
1231 /*Bit8u BitsPerPixel*/ 32,
1232 /*Bit8u NumberOfBanks*/ 1,
1233 /*Bit8u MemoryModel*/ VBE_MEMORYMODEL_DIRECT_COLOR,
1234 /*Bit8u BankSize*/ 0,
1235 /*Bit8u NumberOfImagePages*/ 1,
1236 /*Bit8u Reserved_page*/ 0,
1237 // Direct Color fields (required for direct/6 and YUV/7 memory models)
1238 /*Bit8u RedMaskSize*/ 8,
1239 /*Bit8u RedFieldPosition*/ 16,
1240 /*Bit8u GreenMaskSize*/ 8,
1241 /*Bit8u GreenFieldPosition*/ 8,
1242 /*Bit8u BlueMaskSize*/ 8,
1243 /*Bit8u BlueFieldPosition*/ 0,
1244 /*Bit8u RsvdMaskSize*/ 8,
1245 /*Bit8u RsvdFieldPosition*/ 24,
1246 /*Bit8u DirectColorModeInfo*/ VBE_DIRECTCOLOR_RESERVED_BITS_AVAILABLE,
1247 // Mandatory information for VBE 2.0 and above
1248 #ifdef VBE_HAVE_LFB
1249 /*Bit32u PhysBasePtr*/ VBE_DISPI_LFB_PHYSICAL_ADDRESS,
1250 #else
1251 /*Bit32u PhysBasePtr*/ 0,
1252 #endif
1253 /*Bit32u OffScreenMemOffset*/ 0,
1254 /*Bit16u OffScreenMemSize*/ 0,
1255 // Mandatory information for VBE 3.0 and above
1256 /*Bit16u LinBytesPerScanLine*/ 1024*4,
1257 /*Bit8u BnkNumberOfPages*/ 0,
1258 /*Bit8u LinNumberOfPages*/ 0,
1259 /*Bit8u LinRedMaskSize*/ 8,
1260 /*Bit8u LinRedFieldPosition*/ 16,
1261 /*Bit8u LinGreenMaskSize*/ 8,
1262 /*Bit8u LinGreenFieldPosition*/ 8,
1263 /*Bit8u LinBlueMaskSize*/ 8,
1264 /*Bit8u LinBlueFieldPosition*/ 0,
1265 /*Bit8u LinRsvdMaskSize*/ 8,
1266 /*Bit8u LinRsvdFieldPosition*/ 24,
1267 /*Bit32u MaxPixelClock*/ 0,
1268 /*} ModeInfoBlock;*/
1272 /** END OF THE LIST **/
1274 VBE_VESA_MODE_END_OF_LIST,
1281 #endif