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