1 #ifndef vbetables_h_included
2 #define vbetables_h_included
6 This file contains a static mode information list containing all
7 bochs/plex86 "supported" VBE modi and their 'settings'.
11 typedef struct ModeInfoListItem
14 ModeInfoBlockCompact info
;
17 //#define LIST_UNSUPPORTED_MODI
19 // FIXME: check all member variables to be correct for the different modi
20 // FIXME: add more modi
21 static ModeInfoListItem mode_info_list
[]=
24 VBE_OWN_MODE_320X200X8
,
26 /*typedef struct ModeInfoBlock
28 // Mandatory information for all VBE revisions
29 /*Bit16u ModeAttributes*/ VBE_MODE_ATTRIBUTE_SUPPORTED
|
30 VBE_MODE_ATTRIBUTE_EXTENDED_INFORMATION_AVAILABLE
|
31 VBE_MODE_ATTRIBUTE_GRAPHICS_MODE
|
32 VBE_MODE_ATTRIBUTE_COLOR_MODE
|
34 VBE_MODE_ATTRIBUTE_LINEAR_FRAME_BUFFER_MODE
|
36 VBE_MODE_ATTRIBUTE_GRAPHICS_MODE
,
37 /*Bit8u WinAAttributes*/ VBE_WINDOW_ATTRIBUTE_READABLE
|
38 VBE_WINDOW_ATTRIBUTE_WRITEABLE
,
39 /*Bit8u WinBAttributes*/ 0,
40 /*Bit16u WinGranularity*/ VBE_DISPI_BANK_SIZE_KB
,
41 /*Bit16u WinSize*/ VBE_DISPI_BANK_SIZE_KB
,
42 /*Bit16u WinASegment*/ VGAMEM_GRAPH
,
43 /*Bit16u WinBSegment*/ 0,
44 /*Bit32u WinFuncPtr*/ 0,
45 /*Bit16u BytesPerScanLine*/ 320,
46 // Mandatory information for VBE 1.2 and above
47 /*Bit16u XResolution*/ 320,
48 /*Bit16u YResolution*/ 200,
49 /*Bit8u XCharSize*/ 8,
50 /*Bit8u YCharSize*/ 16,
51 /*Bit8u NumberOfPlanes*/ 1,
52 /*Bit8u BitsPerPixel*/ 8,
53 /*Bit8u NumberOfBanks*/ 1,
54 /*Bit8u MemoryModel*/ VBE_MEMORYMODEL_PACKED_PIXEL
,
56 /*Bit8u NumberOfImagePages*/ 3,
57 /*Bit8u Reserved_page*/ 0,
58 // Direct Color fields (required for direct/6 and YUV/7 memory models)
59 /*Bit8u RedMaskSize*/ 0,
60 /*Bit8u RedFieldPosition*/ 0,
61 /*Bit8u GreenMaskSize*/ 0,
62 /*Bit8u GreenFieldPosition*/ 0,
63 /*Bit8u BlueMaskSize*/ 0,
64 /*Bit8u BlueFieldPosition*/ 0,
65 /*Bit8u RsvdMaskSize*/ 0,
66 /*Bit8u RsvdFieldPosition*/ 0,
67 /*Bit8u DirectColorModeInfo*/ 0,
68 // Mandatory information for VBE 2.0 and above
70 /*Bit32u PhysBasePtr*/ VBE_DISPI_LFB_PHYSICAL_ADDRESS
,
72 /*Bit32u PhysBasePtr*/ 0,
74 /*Bit32u OffScreenMemOffset*/ 0,
75 /*Bit16u OffScreenMemSize*/ 0,
76 // Mandatory information for VBE 3.0 and above
77 /*Bit16u LinBytesPerScanLine*/ 320,
78 /*Bit8u BnkNumberOfPages*/ 0,
79 /*Bit8u LinNumberOfPages*/ 0,
80 /*Bit8u LinRedMaskSize*/ 0,
81 /*Bit8u LinRedFieldPosition*/ 0,
82 /*Bit8u LinGreenMaskSize*/ 0,
83 /*Bit8u LinGreenFieldPosition*/ 0,
84 /*Bit8u LinBlueMaskSize*/ 0,
85 /*Bit8u LinBlueFieldPosition*/ 0,
86 /*Bit8u LinRsvdMaskSize*/ 0,
87 /*Bit8u LinRsvdFieldPosition*/ 0,
88 /*Bit32u MaxPixelClock*/ 0,
94 VBE_VESA_MODE_640X400X8
,
96 /*typedef struct ModeInfoBlock
98 // Mandatory information for all VBE revisions
99 /*Bit16u ModeAttributes*/ VBE_MODE_ATTRIBUTE_SUPPORTED
|
100 VBE_MODE_ATTRIBUTE_EXTENDED_INFORMATION_AVAILABLE
|
101 VBE_MODE_ATTRIBUTE_GRAPHICS_MODE
|
102 VBE_MODE_ATTRIBUTE_COLOR_MODE
|
104 VBE_MODE_ATTRIBUTE_LINEAR_FRAME_BUFFER_MODE
|
106 VBE_MODE_ATTRIBUTE_GRAPHICS_MODE
,
107 /*Bit8u WinAAttributes*/ VBE_WINDOW_ATTRIBUTE_RELOCATABLE
|
108 VBE_WINDOW_ATTRIBUTE_READABLE
|
109 VBE_WINDOW_ATTRIBUTE_WRITEABLE
,
110 /*Bit8u WinBAttributes*/ 0,
111 /*Bit16u WinGranularity*/ VBE_DISPI_BANK_SIZE_KB
,
112 /*Bit16u WinSize*/ VBE_DISPI_BANK_SIZE_KB
,
113 /*Bit16u WinASegment*/ VGAMEM_GRAPH
,
114 /*Bit16u WinBSegment*/ 0,
115 /*Bit32u WinFuncPtr*/ 0,
116 /*Bit16u BytesPerScanLine*/ 640,
117 // Mandatory information for VBE 1.2 and above
118 /*Bit16u XResolution*/ 640,
119 /*Bit16u YResolution*/ 400,
120 /*Bit8u XCharSize*/ 8,
121 /*Bit8u YCharSize*/ 16,
122 /*Bit8u NumberOfPlanes*/ 1,
123 /*Bit8u BitsPerPixel*/ 8,
124 /*Bit8u NumberOfBanks*/ 4, // 640x400/64kb == 4
125 /*Bit8u MemoryModel*/ VBE_MEMORYMODEL_PACKED_PIXEL
,
126 /*Bit8u BankSize*/ 0,
127 /*Bit8u NumberOfImagePages*/ 3,
128 /*Bit8u Reserved_page*/ 0,
129 // Direct Color fields (required for direct/6 and YUV/7 memory models)
130 /*Bit8u RedMaskSize*/ 0,
131 /*Bit8u RedFieldPosition*/ 0,
132 /*Bit8u GreenMaskSize*/ 0,
133 /*Bit8u GreenFieldPosition*/ 0,
134 /*Bit8u BlueMaskSize*/ 0,
135 /*Bit8u BlueFieldPosition*/ 0,
136 /*Bit8u RsvdMaskSize*/ 0,
137 /*Bit8u RsvdFieldPosition*/ 0,
138 /*Bit8u DirectColorModeInfo*/ 0,
139 // Mandatory information for VBE 2.0 and above
141 /*Bit32u PhysBasePtr*/ VBE_DISPI_LFB_PHYSICAL_ADDRESS
,
143 /*Bit32u PhysBasePtr*/ 0,
145 /*Bit32u OffScreenMemOffset*/ 0,
146 /*Bit16u OffScreenMemSize*/ 0,
147 // Mandatory information for VBE 3.0 and above
148 /*Bit16u LinBytesPerScanLine*/ 640,
149 /*Bit8u BnkNumberOfPages*/ 0,
150 /*Bit8u LinNumberOfPages*/ 0,
151 /*Bit8u LinRedMaskSize*/ 0,
152 /*Bit8u LinRedFieldPosition*/ 0,
153 /*Bit8u LinGreenMaskSize*/ 0,
154 /*Bit8u LinGreenFieldPosition*/ 0,
155 /*Bit8u LinBlueMaskSize*/ 0,
156 /*Bit8u LinBlueFieldPosition*/ 0,
157 /*Bit8u LinRsvdMaskSize*/ 0,
158 /*Bit8u LinRsvdFieldPosition*/ 0,
159 /*Bit32u MaxPixelClock*/ 0,
165 VBE_VESA_MODE_640X480X8
,
167 /*typedef struct ModeInfoBlock
169 // Mandatory information for all VBE revisions
170 /*Bit16u ModeAttributes*/ VBE_MODE_ATTRIBUTE_SUPPORTED
|
171 VBE_MODE_ATTRIBUTE_EXTENDED_INFORMATION_AVAILABLE
|
172 VBE_MODE_ATTRIBUTE_GRAPHICS_MODE
|
173 VBE_MODE_ATTRIBUTE_COLOR_MODE
|
175 VBE_MODE_ATTRIBUTE_LINEAR_FRAME_BUFFER_MODE
|
177 VBE_MODE_ATTRIBUTE_GRAPHICS_MODE
,
178 /*Bit8u WinAAttributes*/ VBE_WINDOW_ATTRIBUTE_READABLE
|
179 VBE_WINDOW_ATTRIBUTE_WRITEABLE
,
180 /*Bit8u WinBAttributes*/ 0,
181 /*Bit16u WinGranularity*/ VBE_DISPI_BANK_SIZE_KB
,
182 /*Bit16u WinSize*/ VBE_DISPI_BANK_SIZE_KB
,
183 /*Bit16u WinASegment*/ VGAMEM_GRAPH
,
184 /*Bit16u WinBSegment*/ 0,
185 /*Bit32u WinFuncPtr*/ 0,
186 /*Bit16u BytesPerScanLine*/ 640,
187 // Mandatory information for VBE 1.2 and above
188 /*Bit16u XResolution*/ 640,
189 /*Bit16u YResolution*/ 480,
190 /*Bit8u XCharSize*/ 8,
191 /*Bit8u YCharSize*/ 16,
192 /*Bit8u NumberOfPlanes*/ 1,
193 /*Bit8u BitsPerPixel*/ 8,
194 /*Bit8u NumberOfBanks*/ 5, // 640x480/64kb == 5
195 /*Bit8u MemoryModel*/ VBE_MEMORYMODEL_PACKED_PIXEL
,
196 /*Bit8u BankSize*/ 0,
197 /*Bit8u NumberOfImagePages*/ 3,
198 /*Bit8u Reserved_page*/ 0,
199 // Direct Color fields (required for direct/6 and YUV/7 memory models)
200 /*Bit8u RedMaskSize*/ 0,
201 /*Bit8u RedFieldPosition*/ 0,
202 /*Bit8u GreenMaskSize*/ 0,
203 /*Bit8u GreenFieldPosition*/ 0,
204 /*Bit8u BlueMaskSize*/ 0,
205 /*Bit8u BlueFieldPosition*/ 0,
206 /*Bit8u RsvdMaskSize*/ 0,
207 /*Bit8u RsvdFieldPosition*/ 0,
208 /*Bit8u DirectColorModeInfo*/ 0,
209 // Mandatory information for VBE 2.0 and above
211 /*Bit32u PhysBasePtr*/ VBE_DISPI_LFB_PHYSICAL_ADDRESS
,
213 /*Bit32u PhysBasePtr*/ 0,
215 /*Bit32u OffScreenMemOffset*/ 0,
216 /*Bit16u OffScreenMemSize*/ 0,
217 // Mandatory information for VBE 3.0 and above
218 /*Bit16u LinBytesPerScanLine*/ 640,
219 /*Bit8u BnkNumberOfPages*/ 0,
220 /*Bit8u LinNumberOfPages*/ 0,
221 /*Bit8u LinRedMaskSize*/ 0,
222 /*Bit8u LinRedFieldPosition*/ 0,
223 /*Bit8u LinGreenMaskSize*/ 0,
224 /*Bit8u LinGreenFieldPosition*/ 0,
225 /*Bit8u LinBlueMaskSize*/ 0,
226 /*Bit8u LinBlueFieldPosition*/ 0,
227 /*Bit8u LinRsvdMaskSize*/ 0,
228 /*Bit8u LinRsvdFieldPosition*/ 0,
229 /*Bit32u MaxPixelClock*/ 0,
235 VBE_VESA_MODE_800X600X4
,
237 /*typedef struct ModeInfoBlock
239 // Mandatory information for all VBE revisions
240 /*Bit16u ModeAttributes*/ VBE_MODE_ATTRIBUTE_SUPPORTED
|
241 VBE_MODE_ATTRIBUTE_EXTENDED_INFORMATION_AVAILABLE
|
242 VBE_MODE_ATTRIBUTE_GRAPHICS_MODE
|
243 VBE_MODE_ATTRIBUTE_COLOR_MODE
|
244 VBE_MODE_ATTRIBUTE_GRAPHICS_MODE
,
245 /*Bit8u WinAAttributes*/ VBE_WINDOW_ATTRIBUTE_RELOCATABLE
|
246 VBE_WINDOW_ATTRIBUTE_READABLE
|
247 VBE_WINDOW_ATTRIBUTE_WRITEABLE
,
248 /*Bit8u WinBAttributes*/ 0,
249 /*Bit16u WinGranularity*/ VBE_DISPI_BANK_SIZE_KB
,
250 /*Bit16u WinSize*/ VBE_DISPI_BANK_SIZE_KB
,
251 /*Bit16u WinASegment*/ VGAMEM_GRAPH
,
252 /*Bit16u WinBSegment*/ 0,
253 /*Bit32u WinFuncPtr*/ 0,
254 /*Bit16u BytesPerScanLine*/ 100,
255 // Mandatory information for VBE 1.2 and above
256 /*Bit16u XResolution*/ 800,
257 /*Bit16u YResolution*/ 600,
258 /*Bit8u XCharSize*/ 8,
259 /*Bit8u YCharSize*/ 16,
260 /*Bit8u NumberOfPlanes*/ 4,
261 /*Bit8u BitsPerPixel*/ 4,
262 /*Bit8u NumberOfBanks*/ 1,
263 /*Bit8u MemoryModel*/ VBE_MEMORYMODEL_PLANAR
,
264 /*Bit8u BankSize*/ 0,
265 /*Bit8u NumberOfImagePages*/ 1,
266 /*Bit8u Reserved_page*/ 0,
267 // Direct Color fields (required for direct/6 and YUV/7 memory models)
268 /*Bit8u RedMaskSize*/ 0,
269 /*Bit8u RedFieldPosition*/ 0,
270 /*Bit8u GreenMaskSize*/ 0,
271 /*Bit8u GreenFieldPosition*/ 0,
272 /*Bit8u BlueMaskSize*/ 0,
273 /*Bit8u BlueFieldPosition*/ 0,
274 /*Bit8u RsvdMaskSize*/ 0,
275 /*Bit8u RsvdFieldPosition*/ 0,
276 /*Bit8u DirectColorModeInfo*/ 0,
277 // Mandatory information for VBE 2.0 and above
278 /*Bit32u PhysBasePtr*/ 0,
279 /*Bit32u OffScreenMemOffset*/ 0,
280 /*Bit16u OffScreenMemSize*/ 0,
281 // Mandatory information for VBE 3.0 and above
282 /*Bit16u LinBytesPerScanLine*/ 100,
283 /*Bit8u BnkNumberOfPages*/ 0,
284 /*Bit8u LinNumberOfPages*/ 0,
285 /*Bit8u LinRedMaskSize*/ 0,
286 /*Bit8u LinRedFieldPosition*/ 0,
287 /*Bit8u LinGreenMaskSize*/ 0,
288 /*Bit8u LinGreenFieldPosition*/ 0,
289 /*Bit8u LinBlueMaskSize*/ 0,
290 /*Bit8u LinBlueFieldPosition*/ 0,
291 /*Bit8u LinRsvdMaskSize*/ 0,
292 /*Bit8u LinRsvdFieldPosition*/ 0,
293 /*Bit32u MaxPixelClock*/ 0,
299 VBE_VESA_MODE_800X600X8
,
301 /*typedef struct ModeInfoBlock
303 // Mandatory information for all VBE revisions
304 /*Bit16u ModeAttributes*/ VBE_MODE_ATTRIBUTE_SUPPORTED
|
305 VBE_MODE_ATTRIBUTE_EXTENDED_INFORMATION_AVAILABLE
|
306 VBE_MODE_ATTRIBUTE_GRAPHICS_MODE
|
307 VBE_MODE_ATTRIBUTE_COLOR_MODE
|
309 VBE_MODE_ATTRIBUTE_LINEAR_FRAME_BUFFER_MODE
|
311 VBE_MODE_ATTRIBUTE_GRAPHICS_MODE
,
312 /*Bit8u WinAAttributes*/ VBE_WINDOW_ATTRIBUTE_RELOCATABLE
|
313 VBE_WINDOW_ATTRIBUTE_READABLE
|
314 VBE_WINDOW_ATTRIBUTE_WRITEABLE
,
315 /*Bit8u WinBAttributes*/ 0,
316 /*Bit16u WinGranularity*/ VBE_DISPI_BANK_SIZE_KB
,
317 /*Bit16u WinSize*/ VBE_DISPI_BANK_SIZE_KB
,
318 /*Bit16u WinASegment*/ VGAMEM_GRAPH
,
319 /*Bit16u WinBSegment*/ 0,
320 /*Bit32u WinFuncPtr*/ 0,
321 /*Bit16u BytesPerScanLine*/ 800,
322 // Mandatory information for VBE 1.2 and above
323 /*Bit16u XResolution*/ 800,
324 /*Bit16u YResolution*/ 600,
325 /*Bit8u XCharSize*/ 8,
326 /*Bit8u YCharSize*/ 16,
327 /*Bit8u NumberOfPlanes*/ 1,
328 /*Bit8u BitsPerPixel*/ 8,
329 /*Bit8u NumberOfBanks*/ 8, // 800x600/64kb == 8
330 /*Bit8u MemoryModel*/ VBE_MEMORYMODEL_PACKED_PIXEL
,
331 /*Bit8u BankSize*/ 0,
332 /*Bit8u NumberOfImagePages*/ 3,
333 /*Bit8u Reserved_page*/ 0,
334 // Direct Color fields (required for direct/6 and YUV/7 memory models)
335 /*Bit8u RedMaskSize*/ 0,
336 /*Bit8u RedFieldPosition*/ 0,
337 /*Bit8u GreenMaskSize*/ 0,
338 /*Bit8u GreenFieldPosition*/ 0,
339 /*Bit8u BlueMaskSize*/ 0,
340 /*Bit8u BlueFieldPosition*/ 0,
341 /*Bit8u RsvdMaskSize*/ 0,
342 /*Bit8u RsvdFieldPosition*/ 0,
343 /*Bit8u DirectColorModeInfo*/ 0,
344 // Mandatory information for VBE 2.0 and above
346 /*Bit32u PhysBasePtr*/ VBE_DISPI_LFB_PHYSICAL_ADDRESS
,
348 /*Bit32u PhysBasePtr*/ 0,
350 /*Bit32u OffScreenMemOffset*/ 0,
351 /*Bit16u OffScreenMemSize*/ 0,
352 // Mandatory information for VBE 3.0 and above
353 /*Bit16u LinBytesPerScanLine*/ 800,
354 /*Bit8u BnkNumberOfPages*/ 0,
355 /*Bit8u LinNumberOfPages*/ 0,
356 /*Bit8u LinRedMaskSize*/ 0,
357 /*Bit8u LinRedFieldPosition*/ 0,
358 /*Bit8u LinGreenMaskSize*/ 0,
359 /*Bit8u LinGreenFieldPosition*/ 0,
360 /*Bit8u LinBlueMaskSize*/ 0,
361 /*Bit8u LinBlueFieldPosition*/ 0,
362 /*Bit8u LinRsvdMaskSize*/ 0,
363 /*Bit8u LinRsvdFieldPosition*/ 0,
364 /*Bit32u MaxPixelClock*/ 0,
370 VBE_VESA_MODE_1024X768X8
,
372 /*typedef struct ModeInfoBlock
374 // Mandatory information for all VBE revisions
375 /*Bit16u ModeAttributes*/ VBE_MODE_ATTRIBUTE_SUPPORTED
|
376 VBE_MODE_ATTRIBUTE_EXTENDED_INFORMATION_AVAILABLE
|
377 VBE_MODE_ATTRIBUTE_GRAPHICS_MODE
|
378 VBE_MODE_ATTRIBUTE_COLOR_MODE
|
380 VBE_MODE_ATTRIBUTE_LINEAR_FRAME_BUFFER_MODE
|
382 VBE_MODE_ATTRIBUTE_GRAPHICS_MODE
,
383 /*Bit8u WinAAttributes*/ VBE_WINDOW_ATTRIBUTE_RELOCATABLE
|
384 VBE_WINDOW_ATTRIBUTE_READABLE
|
385 VBE_WINDOW_ATTRIBUTE_WRITEABLE
,
386 /*Bit8u WinBAttributes*/ 0,
387 /*Bit16u WinGranularity*/ VBE_DISPI_BANK_SIZE_KB
,
388 /*Bit16u WinSize*/ VBE_DISPI_BANK_SIZE_KB
,
389 /*Bit16u WinASegment*/ VGAMEM_GRAPH
,
390 /*Bit16u WinBSegment*/ 0,
391 /*Bit32u WinFuncPtr*/ 0,
392 /*Bit16u BytesPerScanLine*/ 1024,
393 // Mandatory information for VBE 1.2 and above
394 /*Bit16u XResolution*/ 1024,
395 /*Bit16u YResolution*/ 768,
396 /*Bit8u XCharSize*/ 8,
397 /*Bit8u YCharSize*/ 16,
398 /*Bit8u NumberOfPlanes*/ 1,
399 /*Bit8u BitsPerPixel*/ 8,
400 /*Bit8u NumberOfBanks*/ 12, // 1024x768/64kb == 12
401 /*Bit8u MemoryModel*/ VBE_MEMORYMODEL_PACKED_PIXEL
,
402 /*Bit8u BankSize*/ 0,
403 /*Bit8u NumberOfImagePages*/ 3,
404 /*Bit8u Reserved_page*/ 0,
405 // Direct Color fields (required for direct/6 and YUV/7 memory models)
406 /*Bit8u RedMaskSize*/ 0,
407 /*Bit8u RedFieldPosition*/ 0,
408 /*Bit8u GreenMaskSize*/ 0,
409 /*Bit8u GreenFieldPosition*/ 0,
410 /*Bit8u BlueMaskSize*/ 0,
411 /*Bit8u BlueFieldPosition*/ 0,
412 /*Bit8u RsvdMaskSize*/ 0,
413 /*Bit8u RsvdFieldPosition*/ 0,
414 /*Bit8u DirectColorModeInfo*/ 0,
415 // Mandatory information for VBE 2.0 and above
417 /*Bit32u PhysBasePtr*/ VBE_DISPI_LFB_PHYSICAL_ADDRESS
,
419 /*Bit32u PhysBasePtr*/ 0,
421 /*Bit32u OffScreenMemOffset*/ 0,
422 /*Bit16u OffScreenMemSize*/ 0,
423 // Mandatory information for VBE 3.0 and above
424 /*Bit16u LinBytesPerScanLine*/ 1024,
425 /*Bit8u BnkNumberOfPages*/ 0,
426 /*Bit8u LinNumberOfPages*/ 0,
427 /*Bit8u LinRedMaskSize*/ 0,
428 /*Bit8u LinRedFieldPosition*/ 0,
429 /*Bit8u LinGreenMaskSize*/ 0,
430 /*Bit8u LinGreenFieldPosition*/ 0,
431 /*Bit8u LinBlueMaskSize*/ 0,
432 /*Bit8u LinBlueFieldPosition*/ 0,
433 /*Bit8u LinRsvdMaskSize*/ 0,
434 /*Bit8u LinRsvdFieldPosition*/ 0,
435 /*Bit32u MaxPixelClock*/ 0,
440 #ifdef LIST_UNSUPPORTED_MODI
442 VBE_VESA_MODE_640X480X565
,
444 /*typedef struct ModeInfoBlock
446 // Mandatory information for all VBE revisions
447 /*Bit16u ModeAttributes*/ VBE_MODE_ATTRIBUTE_SUPPORTED
|
448 VBE_MODE_ATTRIBUTE_EXTENDED_INFORMATION_AVAILABLE
|
449 VBE_MODE_ATTRIBUTE_GRAPHICS_MODE
|
450 VBE_MODE_ATTRIBUTE_COLOR_MODE
|
451 VBE_MODE_ATTRIBUTE_LINEAR_FRAME_BUFFER_MODE
|
452 VBE_MODE_ATTRIBUTE_GRAPHICS_MODE
,
453 /*Bit8u WinAAttributes*/ 0,
454 /*Bit8u WinBAttributes*/ 0,
455 /*Bit16u WinGranularity*/ 0,
456 /*Bit16u WinSize*/ 0,
457 /*Bit16u WinASegment*/ 0,
458 /*Bit16u WinBSegment*/ 0,
459 /*Bit32u WinFuncPtr*/ 0,
460 /*Bit16u BytesPerScanLine*/ 640*2,
461 // Mandatory information for VBE 1.2 and above
462 /*Bit16u XResolution*/ 640,
463 /*Bit16u YResolution*/ 480,
464 /*Bit8u XCharSize*/ 8,
465 /*Bit8u YCharSize*/ 16,
466 /*Bit8u NumberOfPlanes*/ 1,
467 /*Bit8u BitsPerPixel*/ 16,
468 /*Bit8u NumberOfBanks*/ 1,
469 /*Bit8u MemoryModel*/ VBE_MEMORYMODEL_DIRECT_COLOR
,
470 /*Bit8u BankSize*/ 0,
471 /*Bit8u NumberOfImagePages*/ 3,
472 /*Bit8u Reserved_page*/ 0,
473 // Direct Color fields (required for direct/6 and YUV/7 memory models)
474 /*Bit8u RedMaskSize*/ 5,
475 /*Bit8u RedFieldPosition*/ 0,
476 /*Bit8u GreenMaskSize*/ 6,
477 /*Bit8u GreenFieldPosition*/ 5,
478 /*Bit8u BlueMaskSize*/ 5,
479 /*Bit8u BlueFieldPosition*/ 11,
480 /*Bit8u RsvdMaskSize*/ 0,
481 /*Bit8u RsvdFieldPosition*/ 0,
482 /*Bit8u DirectColorModeInfo*/ 0,
483 // Mandatory information for VBE 2.0 and above
484 /*Bit32u PhysBasePtr*/ VBE_PHYSICAL_BASE_ADDRESS
,
485 /*Bit32u OffScreenMemOffset*/ 0,
486 /*Bit16u OffScreenMemSize*/ 0,
487 // Mandatory information for VBE 3.0 and above
488 /*Bit16u LinBytesPerScanLine*/ 640*2,
489 /*Bit8u BnkNumberOfPages*/ 0,
490 /*Bit8u LinNumberOfPages*/ 0,
491 /*Bit8u LinRedMaskSize*/ 5,
492 /*Bit8u LinRedFieldPosition*/ 0,
493 /*Bit8u LinGreenMaskSize*/ 6,
494 /*Bit8u LinGreenFieldPosition*/ 5,
495 /*Bit8u LinBlueMaskSize*/ 5,
496 /*Bit8u LinBlueFieldPosition*/ 11,
497 /*Bit8u LinRsvdMaskSize*/ 0,
498 /*Bit8u LinRsvdFieldPosition*/ 0,
499 /*Bit32u MaxPixelClock*/ 0,
505 VBE_VESA_MODE_800X600X565
,
507 /*typedef struct ModeInfoBlock
509 // Mandatory information for all VBE revisions
510 /*Bit16u ModeAttributes*/ VBE_MODE_ATTRIBUTE_SUPPORTED
|
511 VBE_MODE_ATTRIBUTE_GRAPHICS_MODE
|
512 VBE_MODE_ATTRIBUTE_COLOR_MODE
|
513 VBE_MODE_ATTRIBUTE_LINEAR_FRAME_BUFFER_MODE
|
514 VBE_MODE_ATTRIBUTE_GRAPHICS_MODE
,
515 /*Bit8u WinAAttributes*/ 0,
516 /*Bit8u WinBAttributes*/ 0,
517 /*Bit16u WinGranularity*/ 0,
518 /*Bit16u WinSize*/ 0,
519 /*Bit16u WinASegment*/ 0,
520 /*Bit16u WinBSegment*/ 0,
521 /*Bit32u WinFuncPtr*/ 0,
522 /*Bit16u BytesPerScanLine*/ 800*2,
523 // Mandatory information for VBE 1.2 and above
524 /*Bit16u XResolution*/ 800,
525 /*Bit16u YResolution*/ 600,
526 /*Bit8u XCharSize*/ 8,
527 /*Bit8u YCharSize*/ 16,
528 /*Bit8u NumberOfPlanes*/ 1,
529 /*Bit8u BitsPerPixel*/ 16,
530 /*Bit8u NumberOfBanks*/ 1,
531 /*Bit8u MemoryModel*/ VBE_MEMORYMODEL_DIRECT_COLOR
,
532 /*Bit8u BankSize*/ 0,
533 /*Bit8u NumberOfImagePages*/ 3,
534 /*Bit8u Reserved_page*/ 0,
535 // Direct Color fields (required for direct/6 and YUV/7 memory models)
536 /*Bit8u RedMaskSize*/ 5,
537 /*Bit8u RedFieldPosition*/ 0,
538 /*Bit8u GreenMaskSize*/ 6,
539 /*Bit8u GreenFieldPosition*/ 5,
540 /*Bit8u BlueMaskSize*/ 5,
541 /*Bit8u BlueFieldPosition*/ 11,
542 /*Bit8u RsvdMaskSize*/ 0,
543 /*Bit8u RsvdFieldPosition*/ 0,
544 /*Bit8u DirectColorModeInfo*/ 0,
545 // Mandatory information for VBE 2.0 and above
546 /*Bit32u PhysBasePtr*/ VBE_PHYSICAL_BASE_ADDRESS
,
547 /*Bit32u OffScreenMemOffset*/ 0,
548 /*Bit16u OffScreenMemSize*/ 0,
549 // Mandatory information for VBE 3.0 and above
550 /*Bit16u LinBytesPerScanLine*/ 800*2,
551 /*Bit8u BnkNumberOfPages*/ 0,
552 /*Bit8u LinNumberOfPages*/ 0,
553 /*Bit8u LinRedMaskSize*/ 5,
554 /*Bit8u LinRedFieldPosition*/ 0,
555 /*Bit8u LinGreenMaskSize*/ 6,
556 /*Bit8u LinGreenFieldPosition*/ 5,
557 /*Bit8u LinBlueMaskSize*/ 5,
558 /*Bit8u LinBlueFieldPosition*/ 11,
559 /*Bit8u LinRsvdMaskSize*/ 0,
560 /*Bit8u LinRsvdFieldPosition*/ 0,
561 /*Bit32u MaxPixelClock*/ 0,
567 VBE_VESA_MODE_640X480X888
,
569 /*typedef struct ModeInfoBlock
571 // Mandatory information for all VBE revisions
572 /*Bit16u ModeAttributes*/ VBE_MODE_ATTRIBUTE_SUPPORTED
|
573 VBE_MODE_ATTRIBUTE_EXTENDED_INFORMATION_AVAILABLE
|
574 VBE_MODE_ATTRIBUTE_GRAPHICS_MODE
|
575 VBE_MODE_ATTRIBUTE_COLOR_MODE
|
576 VBE_MODE_ATTRIBUTE_LINEAR_FRAME_BUFFER_MODE
|
577 VBE_MODE_ATTRIBUTE_GRAPHICS_MODE
,
578 /*Bit8u WinAAttributes*/ 0,
579 /*Bit8u WinBAttributes*/ 0,
580 /*Bit16u WinGranularity*/ 0,
581 /*Bit16u WinSize*/ 0,
582 /*Bit16u WinASegment*/ 0,
583 /*Bit16u WinBSegment*/ 0,
584 /*Bit32u WinFuncPtr*/ 0,
585 /*Bit16u BytesPerScanLine*/ 640*3,
586 // Mandatory information for VBE 1.2 and above
587 /*Bit16u XResolution*/ 640,
588 /*Bit16u YResolution*/ 480,
589 /*Bit8u XCharSize*/ 8,
590 /*Bit8u YCharSize*/ 16,
591 /*Bit8u NumberOfPlanes*/ 1,
592 /*Bit8u BitsPerPixel*/ 24,
593 /*Bit8u NumberOfBanks*/ 1,
594 /*Bit8u MemoryModel*/ VBE_MEMORYMODEL_DIRECT_COLOR
,
595 /*Bit8u BankSize*/ 0,
596 /*Bit8u NumberOfImagePages*/ 3,
597 /*Bit8u Reserved_page*/ 0,
598 // Direct Color fields (required for direct/6 and YUV/7 memory models)
599 /*Bit8u RedMaskSize*/ 8,
600 /*Bit8u RedFieldPosition*/ 0,
601 /*Bit8u GreenMaskSize*/ 8,
602 /*Bit8u GreenFieldPosition*/ 8,
603 /*Bit8u BlueMaskSize*/ 8,
604 /*Bit8u BlueFieldPosition*/ 16,
605 /*Bit8u RsvdMaskSize*/ 0,
606 /*Bit8u RsvdFieldPosition*/ 0,
607 /*Bit8u DirectColorModeInfo*/ 0,
608 // Mandatory information for VBE 2.0 and above
609 /*Bit32u PhysBasePtr*/ VBE_PHYSICAL_BASE_ADDRESS
,
610 /*Bit32u OffScreenMemOffset*/ 0,
611 /*Bit16u OffScreenMemSize*/ 0,
612 // Mandatory information for VBE 3.0 and above
613 /*Bit16u LinBytesPerScanLine*/ 640*3,
614 /*Bit8u BnkNumberOfPages*/ 0,
615 /*Bit8u LinNumberOfPages*/ 0,
616 /*Bit8u LinRedMaskSize*/ 8,
617 /*Bit8u LinRedFieldPosition*/ 0,
618 /*Bit8u LinGreenMaskSize*/ 8,
619 /*Bit8u LinGreenFieldPosition*/ 8,
620 /*Bit8u LinBlueMaskSize*/ 8,
621 /*Bit8u LinBlueFieldPosition*/ 16,
622 /*Bit8u LinRsvdMaskSize*/ 0,
623 /*Bit8u LinRsvdFieldPosition*/ 0,
624 /*Bit32u MaxPixelClock*/ 0,
630 VBE_VESA_MODE_800X600X888
,
632 /*typedef struct ModeInfoBlock
634 // Mandatory information for all VBE revisions
635 /*Bit16u ModeAttributes*/ VBE_MODE_ATTRIBUTE_SUPPORTED
|
636 VBE_MODE_ATTRIBUTE_EXTENDED_INFORMATION_AVAILABLE
|
637 VBE_MODE_ATTRIBUTE_GRAPHICS_MODE
|
638 VBE_MODE_ATTRIBUTE_COLOR_MODE
|
639 VBE_MODE_ATTRIBUTE_LINEAR_FRAME_BUFFER_MODE
|
640 VBE_MODE_ATTRIBUTE_GRAPHICS_MODE
,
641 /*Bit8u WinAAttributes*/ 0,
642 /*Bit8u WinBAttributes*/ 0,
643 /*Bit16u WinGranularity*/ 0,
644 /*Bit16u WinSize*/ 0,
645 /*Bit16u WinASegment*/ 0,
646 /*Bit16u WinBSegment*/ 0,
647 /*Bit32u WinFuncPtr*/ 0,
648 /*Bit16u BytesPerScanLine*/ 800*3,
649 // Mandatory information for VBE 1.2 and above
650 /*Bit16u XResolution*/ 800,
651 /*Bit16u YResolution*/ 600,
652 /*Bit8u XCharSize*/ 8,
653 /*Bit8u YCharSize*/ 16,
654 /*Bit8u NumberOfPlanes*/ 1,
655 /*Bit8u BitsPerPixel*/ 24,
656 /*Bit8u NumberOfBanks*/ 1,
657 /*Bit8u MemoryModel*/ VBE_MEMORYMODEL_DIRECT_COLOR
,
658 /*Bit8u BankSize*/ 0,
659 /*Bit8u NumberOfImagePages*/ 3,
660 /*Bit8u Reserved_page*/ 0,
661 // Direct Color fields (required for direct/6 and YUV/7 memory models)
662 /*Bit8u RedMaskSize*/ 8,
663 /*Bit8u RedFieldPosition*/ 0,
664 /*Bit8u GreenMaskSize*/ 8,
665 /*Bit8u GreenFieldPosition*/ 8,
666 /*Bit8u BlueMaskSize*/ 8,
667 /*Bit8u BlueFieldPosition*/ 16,
668 /*Bit8u RsvdMaskSize*/ 0,
669 /*Bit8u RsvdFieldPosition*/ 0,
670 /*Bit8u DirectColorModeInfo*/ 0,
671 // Mandatory information for VBE 2.0 and above
672 /*Bit32u PhysBasePtr*/ VBE_PHYSICAL_BASE_ADDRESS
,
673 /*Bit32u OffScreenMemOffset*/ 0,
674 /*Bit16u OffScreenMemSize*/ 0,
675 // Mandatory information for VBE 3.0 and above
676 /*Bit16u LinBytesPerScanLine*/ 800*3,
677 /*Bit8u BnkNumberOfPages*/ 0,
678 /*Bit8u LinNumberOfPages*/ 0,
679 /*Bit8u LinRedMaskSize*/ 8,
680 /*Bit8u LinRedFieldPosition*/ 0,
681 /*Bit8u LinGreenMaskSize*/ 8,
682 /*Bit8u LinGreenFieldPosition*/ 8,
683 /*Bit8u LinBlueMaskSize*/ 8,
684 /*Bit8u LinBlueFieldPosition*/ 16,
685 /*Bit8u LinRsvdMaskSize*/ 0,
686 /*Bit8u LinRsvdFieldPosition*/ 0,
687 /*Bit32u MaxPixelClock*/ 0,
693 VBE_OWN_MODE_800X600X8888
,
695 /*typedef struct ModeInfoBlock
697 // Mandatory information for all VBE revisions
698 /*Bit16u ModeAttributes*/ VBE_MODE_ATTRIBUTE_SUPPORTED
|
699 VBE_MODE_ATTRIBUTE_EXTENDED_INFORMATION_AVAILABLE
|
700 VBE_MODE_ATTRIBUTE_GRAPHICS_MODE
|
701 VBE_MODE_ATTRIBUTE_COLOR_MODE
|
702 VBE_MODE_ATTRIBUTE_LINEAR_FRAME_BUFFER_MODE
|
703 VBE_MODE_ATTRIBUTE_GRAPHICS_MODE
,
704 /*Bit8u WinAAttributes*/ 0,
705 /*Bit8u WinBAttributes*/ 0,
706 /*Bit16u WinGranularity*/ 0,
707 /*Bit16u WinSize*/ 0,
708 /*Bit16u WinASegment*/ 0,
709 /*Bit16u WinBSegment*/ 0,
710 /*Bit32u WinFuncPtr*/ 0,
711 /*Bit16u BytesPerScanLine*/ 800*4,
712 // Mandatory information for VBE 1.2 and above
713 /*Bit16u XResolution*/ 800,
714 /*Bit16u YResolution*/ 600,
715 /*Bit8u XCharSize*/ 8,
716 /*Bit8u YCharSize*/ 16,
717 /*Bit8u NumberOfPlanes*/ 1,
718 /*Bit8u BitsPerPixel*/ 32,
719 /*Bit8u NumberOfBanks*/ 1,
720 /*Bit8u MemoryModel*/ VBE_MEMORYMODEL_DIRECT_COLOR
,
721 /*Bit8u BankSize*/ 0,
722 /*Bit8u NumberOfImagePages*/ 3,
723 /*Bit8u Reserved_page*/ 0,
724 // Direct Color fields (required for direct/6 and YUV/7 memory models)
725 /*Bit8u RedMaskSize*/ 8,
726 /*Bit8u RedFieldPosition*/ 0,
727 /*Bit8u GreenMaskSize*/ 8,
728 /*Bit8u GreenFieldPosition*/ 8,
729 /*Bit8u BlueMaskSize*/ 8,
730 /*Bit8u BlueFieldPosition*/ 16,
731 /*Bit8u RsvdMaskSize*/ 8,
732 /*Bit8u RsvdFieldPosition*/ 24,
733 /*Bit8u DirectColorModeInfo*/ VBE_DIRECTCOLOR_RESERVED_BITS_AVAILABLE
,
734 // Mandatory information for VBE 2.0 and above
735 /*Bit32u PhysBasePtr*/ VBE_PHYSICAL_BASE_ADDRESS
,
736 /*Bit32u OffScreenMemOffset*/ 0,
737 /*Bit16u OffScreenMemSize*/ 0,
738 // Mandatory information for VBE 3.0 and above
739 /*Bit16u LinBytesPerScanLine*/ 800*4,
740 /*Bit8u BnkNumberOfPages*/ 0,
741 /*Bit8u LinNumberOfPages*/ 0,
742 /*Bit8u LinRedMaskSize*/ 8,
743 /*Bit8u LinRedFieldPosition*/ 0,
744 /*Bit8u LinGreenMaskSize*/ 8,
745 /*Bit8u LinGreenFieldPosition*/ 8,
746 /*Bit8u LinBlueMaskSize*/ 8,
747 /*Bit8u LinBlueFieldPosition*/ 16,
748 /*Bit8u LinRsvdMaskSize*/ 8,
749 /*Bit8u LinRsvdFieldPosition*/ 24,
750 /*Bit32u MaxPixelClock*/ 0,
756 VBE_OWN_MODE_1024X768X8888
,
758 /*typedef struct ModeInfoBlock
760 // Mandatory information for all VBE revisions
761 /*Bit16u ModeAttributes*/ VBE_MODE_ATTRIBUTE_SUPPORTED
|
762 VBE_MODE_ATTRIBUTE_EXTENDED_INFORMATION_AVAILABLE
|
763 VBE_MODE_ATTRIBUTE_GRAPHICS_MODE
|
764 VBE_MODE_ATTRIBUTE_COLOR_MODE
|
765 VBE_MODE_ATTRIBUTE_LINEAR_FRAME_BUFFER_MODE
|
766 VBE_MODE_ATTRIBUTE_GRAPHICS_MODE
,
767 /*Bit8u WinAAttributes*/ 0,
768 /*Bit8u WinBAttributes*/ 0,
769 /*Bit16u WinGranularity*/ 0,
770 /*Bit16u WinSize*/ 0,
771 /*Bit16u WinASegment*/ 0,
772 /*Bit16u WinBSegment*/ 0,
773 /*Bit32u WinFuncPtr*/ 0,
774 /*Bit16u BytesPerScanLine*/ 1024*4,
775 // Mandatory information for VBE 1.2 and above
776 /*Bit16u XResolution*/ 1024,
777 /*Bit16u YResolution*/ 800,
778 /*Bit8u XCharSize*/ 8,
779 /*Bit8u YCharSize*/ 16,
780 /*Bit8u NumberOfPlanes*/ 1,
781 /*Bit8u BitsPerPixel*/ 32,
782 /*Bit8u NumberOfBanks*/ 1,
783 /*Bit8u MemoryModel*/ VBE_MEMORYMODEL_DIRECT_COLOR
,
784 /*Bit8u BankSize*/ 0,
785 /*Bit8u NumberOfImagePages*/ 3,
786 /*Bit8u Reserved_page*/ 0,
787 // Direct Color fields (required for direct/6 and YUV/7 memory models)
788 /*Bit8u RedMaskSize*/ 8,
789 /*Bit8u RedFieldPosition*/ 0,
790 /*Bit8u GreenMaskSize*/ 8,
791 /*Bit8u GreenFieldPosition*/ 8,
792 /*Bit8u BlueMaskSize*/ 8,
793 /*Bit8u BlueFieldPosition*/ 16,
794 /*Bit8u RsvdMaskSize*/ 8,
795 /*Bit8u RsvdFieldPosition*/ 24,
796 /*Bit8u DirectColorModeInfo*/ VBE_DIRECTCOLOR_RESERVED_BITS_AVAILABLE
,
797 // Mandatory information for VBE 2.0 and above
798 /*Bit32u PhysBasePtr*/ VBE_PHYSICAL_BASE_ADDRESS
,
799 /*Bit32u OffScreenMemOffset*/ 0,
800 /*Bit16u OffScreenMemSize*/ 0,
801 // Mandatory information for VBE 3.0 and above
802 /*Bit16u LinBytesPerScanLine*/ 1024*4,
803 /*Bit8u BnkNumberOfPages*/ 0,
804 /*Bit8u LinNumberOfPages*/ 0,
805 /*Bit8u LinRedMaskSize*/ 8,
806 /*Bit8u LinRedFieldPosition*/ 0,
807 /*Bit8u LinGreenMaskSize*/ 8,
808 /*Bit8u LinGreenFieldPosition*/ 8,
809 /*Bit8u LinBlueMaskSize*/ 8,
810 /*Bit8u LinBlueFieldPosition*/ 16,
811 /*Bit8u LinRsvdMaskSize*/ 8,
812 /*Bit8u LinRsvdFieldPosition*/ 24,
813 /*Bit32u MaxPixelClock*/ 0,
819 /** END OF THE LIST **/
821 VBE_VESA_MODE_END_OF_LIST
,