- improved VBE display capabilities check (X resulution checked now)
[vgabios.git] / vbetables.h
blob412bb0c2c54961353be8781c695285938bac5273
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 // FIXME: check all member variables to be correct for the different modi
12 // FIXME: add more modi
13 static ModeInfoListItem mode_info_list[]=
16 VBE_VESA_MODE_640X400X8,
18 /*typedef struct ModeInfoBlock
19 {*/
20 // Mandatory information for all VBE revisions
21 /*Bit16u ModeAttributes*/ VBE_MODE_ATTRIBUTE_SUPPORTED |
22 VBE_MODE_ATTRIBUTE_EXTENDED_INFORMATION_AVAILABLE |
23 VBE_MODE_ATTRIBUTE_COLOR_MODE |
24 VBE_MODE_ATTRIBUTE_LINEAR_FRAME_BUFFER_MODE |
25 VBE_MODE_ATTRIBUTE_GRAPHICS_MODE,
26 /*Bit8u WinAAttributes*/ VBE_WINDOW_ATTRIBUTE_RELOCATABLE |
27 VBE_WINDOW_ATTRIBUTE_READABLE |
28 VBE_WINDOW_ATTRIBUTE_WRITEABLE,
29 /*Bit8u WinBAttributes*/ 0,
30 /*Bit16u WinGranularity*/ VBE_DISPI_BANK_SIZE_KB,
31 /*Bit16u WinSize*/ VBE_DISPI_BANK_SIZE_KB,
32 /*Bit16u WinASegment*/ VGAMEM_GRAPH,
33 /*Bit16u WinBSegment*/ 0,
34 /*Bit32u WinFuncPtr*/ 0,
35 /*Bit16u BytesPerScanLine*/ 640,
36 // Mandatory information for VBE 1.2 and above
37 /*Bit16u XResolution*/ 640,
38 /*Bit16u YResolution*/ 400,
39 /*Bit8u XCharSize*/ 8,
40 /*Bit8u YCharSize*/ 16,
41 /*Bit8u NumberOfPlanes*/ 1,
42 /*Bit8u BitsPerPixel*/ 8,
43 /*Bit8u NumberOfBanks*/ 4, // 640x400/64kb == 4
44 /*Bit8u MemoryModel*/ VBE_MEMORYMODEL_PACKED_PIXEL,
45 /*Bit8u BankSize*/ 0,
46 /*Bit8u NumberOfImagePages*/ 15,
47 /*Bit8u Reserved_page*/ 0,
48 // Direct Color fields (required for direct/6 and YUV/7 memory models)
49 /*Bit8u RedMaskSize*/ 0,
50 /*Bit8u RedFieldPosition*/ 0,
51 /*Bit8u GreenMaskSize*/ 0,
52 /*Bit8u GreenFieldPosition*/ 0,
53 /*Bit8u BlueMaskSize*/ 0,
54 /*Bit8u BlueFieldPosition*/ 0,
55 /*Bit8u RsvdMaskSize*/ 0,
56 /*Bit8u RsvdFieldPosition*/ 0,
57 /*Bit8u DirectColorModeInfo*/ 0,
58 // Mandatory information for VBE 2.0 and above
59 /*Bit32u PhysBasePtr*/ VBE_DISPI_LFB_PHYSICAL_ADDRESS,
60 /*Bit32u OffScreenMemOffset*/ 0,
61 /*Bit16u OffScreenMemSize*/ 0,
62 // Mandatory information for VBE 3.0 and above
63 /*Bit16u LinBytesPerScanLine*/ 640,
64 /*Bit8u BnkNumberOfPages*/ 0,
65 /*Bit8u LinNumberOfPages*/ 0,
66 /*Bit8u LinRedMaskSize*/ 0,
67 /*Bit8u LinRedFieldPosition*/ 0,
68 /*Bit8u LinGreenMaskSize*/ 0,
69 /*Bit8u LinGreenFieldPosition*/ 0,
70 /*Bit8u LinBlueMaskSize*/ 0,
71 /*Bit8u LinBlueFieldPosition*/ 0,
72 /*Bit8u LinRsvdMaskSize*/ 0,
73 /*Bit8u LinRsvdFieldPosition*/ 0,
74 /*Bit32u MaxPixelClock*/ 0,
75 /*} ModeInfoBlock;*/
80 VBE_VESA_MODE_640X480X8,
82 /*typedef struct ModeInfoBlock
83 {*/
84 // Mandatory information for all VBE revisions
85 /*Bit16u ModeAttributes*/ VBE_MODE_ATTRIBUTE_SUPPORTED |
86 VBE_MODE_ATTRIBUTE_EXTENDED_INFORMATION_AVAILABLE |
87 VBE_MODE_ATTRIBUTE_COLOR_MODE |
88 VBE_MODE_ATTRIBUTE_LINEAR_FRAME_BUFFER_MODE |
89 VBE_MODE_ATTRIBUTE_GRAPHICS_MODE,
90 /*Bit8u WinAAttributes*/ VBE_WINDOW_ATTRIBUTE_READABLE |
91 VBE_WINDOW_ATTRIBUTE_WRITEABLE,
92 /*Bit8u WinBAttributes*/ 0,
93 /*Bit16u WinGranularity*/ VBE_DISPI_BANK_SIZE_KB,
94 /*Bit16u WinSize*/ VBE_DISPI_BANK_SIZE_KB,
95 /*Bit16u WinASegment*/ VGAMEM_GRAPH,
96 /*Bit16u WinBSegment*/ 0,
97 /*Bit32u WinFuncPtr*/ 0,
98 /*Bit16u BytesPerScanLine*/ 640,
99 // Mandatory information for VBE 1.2 and above
100 /*Bit16u XResolution*/ 640,
101 /*Bit16u YResolution*/ 480,
102 /*Bit8u XCharSize*/ 8,
103 /*Bit8u YCharSize*/ 16,
104 /*Bit8u NumberOfPlanes*/ 1,
105 /*Bit8u BitsPerPixel*/ 8,
106 /*Bit8u NumberOfBanks*/ 5, // 640x480/64kb == 5
107 /*Bit8u MemoryModel*/ VBE_MEMORYMODEL_PACKED_PIXEL,
108 /*Bit8u BankSize*/ 0,
109 /*Bit8u NumberOfImagePages*/ 11,
110 /*Bit8u Reserved_page*/ 0,
111 // Direct Color fields (required for direct/6 and YUV/7 memory models)
112 /*Bit8u RedMaskSize*/ 0,
113 /*Bit8u RedFieldPosition*/ 0,
114 /*Bit8u GreenMaskSize*/ 0,
115 /*Bit8u GreenFieldPosition*/ 0,
116 /*Bit8u BlueMaskSize*/ 0,
117 /*Bit8u BlueFieldPosition*/ 0,
118 /*Bit8u RsvdMaskSize*/ 0,
119 /*Bit8u RsvdFieldPosition*/ 0,
120 /*Bit8u DirectColorModeInfo*/ 0,
121 // Mandatory information for VBE 2.0 and above
122 /*Bit32u PhysBasePtr*/ VBE_DISPI_LFB_PHYSICAL_ADDRESS,
123 /*Bit32u OffScreenMemOffset*/ 0,
124 /*Bit16u OffScreenMemSize*/ 0,
125 // Mandatory information for VBE 3.0 and above
126 /*Bit16u LinBytesPerScanLine*/ 640,
127 /*Bit8u BnkNumberOfPages*/ 0,
128 /*Bit8u LinNumberOfPages*/ 0,
129 /*Bit8u LinRedMaskSize*/ 0,
130 /*Bit8u LinRedFieldPosition*/ 0,
131 /*Bit8u LinGreenMaskSize*/ 0,
132 /*Bit8u LinGreenFieldPosition*/ 0,
133 /*Bit8u LinBlueMaskSize*/ 0,
134 /*Bit8u LinBlueFieldPosition*/ 0,
135 /*Bit8u LinRsvdMaskSize*/ 0,
136 /*Bit8u LinRsvdFieldPosition*/ 0,
137 /*Bit32u MaxPixelClock*/ 0,
138 /*} ModeInfoBlock;*/
143 VBE_VESA_MODE_800X600X4,
145 /*typedef struct ModeInfoBlock
147 // Mandatory information for all VBE revisions
148 /*Bit16u ModeAttributes*/ VBE_MODE_ATTRIBUTE_SUPPORTED |
149 VBE_MODE_ATTRIBUTE_EXTENDED_INFORMATION_AVAILABLE |
150 VBE_MODE_ATTRIBUTE_TTY_BIOS_SUPPORT |
151 VBE_MODE_ATTRIBUTE_COLOR_MODE |
152 VBE_MODE_ATTRIBUTE_GRAPHICS_MODE,
153 /*Bit8u WinAAttributes*/ VBE_WINDOW_ATTRIBUTE_RELOCATABLE |
154 VBE_WINDOW_ATTRIBUTE_READABLE |
155 VBE_WINDOW_ATTRIBUTE_WRITEABLE,
156 /*Bit8u WinBAttributes*/ 0,
157 /*Bit16u WinGranularity*/ VBE_DISPI_BANK_SIZE_KB,
158 /*Bit16u WinSize*/ VBE_DISPI_BANK_SIZE_KB,
159 /*Bit16u WinASegment*/ VGAMEM_GRAPH,
160 /*Bit16u WinBSegment*/ 0,
161 /*Bit32u WinFuncPtr*/ 0,
162 /*Bit16u BytesPerScanLine*/ 100,
163 // Mandatory information for VBE 1.2 and above
164 /*Bit16u XResolution*/ 800,
165 /*Bit16u YResolution*/ 600,
166 /*Bit8u XCharSize*/ 8,
167 /*Bit8u YCharSize*/ 16,
168 /*Bit8u NumberOfPlanes*/ 4,
169 /*Bit8u BitsPerPixel*/ 4,
170 /*Bit8u NumberOfBanks*/ 16,
171 /*Bit8u MemoryModel*/ VBE_MEMORYMODEL_PLANAR,
172 /*Bit8u BankSize*/ 0,
173 /*Bit8u NumberOfImagePages*/ 15,
174 /*Bit8u Reserved_page*/ 0,
175 // Direct Color fields (required for direct/6 and YUV/7 memory models)
176 /*Bit8u RedMaskSize*/ 0,
177 /*Bit8u RedFieldPosition*/ 0,
178 /*Bit8u GreenMaskSize*/ 0,
179 /*Bit8u GreenFieldPosition*/ 0,
180 /*Bit8u BlueMaskSize*/ 0,
181 /*Bit8u BlueFieldPosition*/ 0,
182 /*Bit8u RsvdMaskSize*/ 0,
183 /*Bit8u RsvdFieldPosition*/ 0,
184 /*Bit8u DirectColorModeInfo*/ 0,
185 // Mandatory information for VBE 2.0 and above
186 /*Bit32u PhysBasePtr*/ 0,
187 /*Bit32u OffScreenMemOffset*/ 0,
188 /*Bit16u OffScreenMemSize*/ 0,
189 // Mandatory information for VBE 3.0 and above
190 /*Bit16u LinBytesPerScanLine*/ 100,
191 /*Bit8u BnkNumberOfPages*/ 0,
192 /*Bit8u LinNumberOfPages*/ 0,
193 /*Bit8u LinRedMaskSize*/ 0,
194 /*Bit8u LinRedFieldPosition*/ 0,
195 /*Bit8u LinGreenMaskSize*/ 0,
196 /*Bit8u LinGreenFieldPosition*/ 0,
197 /*Bit8u LinBlueMaskSize*/ 0,
198 /*Bit8u LinBlueFieldPosition*/ 0,
199 /*Bit8u LinRsvdMaskSize*/ 0,
200 /*Bit8u LinRsvdFieldPosition*/ 0,
201 /*Bit32u MaxPixelClock*/ 0,
202 /*} ModeInfoBlock;*/
207 VBE_VESA_MODE_800X600X8,
209 /*typedef struct ModeInfoBlock
211 // Mandatory information for all VBE revisions
212 /*Bit16u ModeAttributes*/ VBE_MODE_ATTRIBUTE_SUPPORTED |
213 VBE_MODE_ATTRIBUTE_EXTENDED_INFORMATION_AVAILABLE |
214 VBE_MODE_ATTRIBUTE_COLOR_MODE |
215 VBE_MODE_ATTRIBUTE_LINEAR_FRAME_BUFFER_MODE |
216 VBE_MODE_ATTRIBUTE_GRAPHICS_MODE,
217 /*Bit8u WinAAttributes*/ VBE_WINDOW_ATTRIBUTE_RELOCATABLE |
218 VBE_WINDOW_ATTRIBUTE_READABLE |
219 VBE_WINDOW_ATTRIBUTE_WRITEABLE,
220 /*Bit8u WinBAttributes*/ 0,
221 /*Bit16u WinGranularity*/ VBE_DISPI_BANK_SIZE_KB,
222 /*Bit16u WinSize*/ VBE_DISPI_BANK_SIZE_KB,
223 /*Bit16u WinASegment*/ VGAMEM_GRAPH,
224 /*Bit16u WinBSegment*/ 0,
225 /*Bit32u WinFuncPtr*/ 0,
226 /*Bit16u BytesPerScanLine*/ 800,
227 // Mandatory information for VBE 1.2 and above
228 /*Bit16u XResolution*/ 800,
229 /*Bit16u YResolution*/ 600,
230 /*Bit8u XCharSize*/ 8,
231 /*Bit8u YCharSize*/ 16,
232 /*Bit8u NumberOfPlanes*/ 1,
233 /*Bit8u BitsPerPixel*/ 8,
234 /*Bit8u NumberOfBanks*/ 8, // 800x600/64kb == 8
235 /*Bit8u MemoryModel*/ VBE_MEMORYMODEL_PACKED_PIXEL,
236 /*Bit8u BankSize*/ 0,
237 /*Bit8u NumberOfImagePages*/ 7,
238 /*Bit8u Reserved_page*/ 0,
239 // Direct Color fields (required for direct/6 and YUV/7 memory models)
240 /*Bit8u RedMaskSize*/ 0,
241 /*Bit8u RedFieldPosition*/ 0,
242 /*Bit8u GreenMaskSize*/ 0,
243 /*Bit8u GreenFieldPosition*/ 0,
244 /*Bit8u BlueMaskSize*/ 0,
245 /*Bit8u BlueFieldPosition*/ 0,
246 /*Bit8u RsvdMaskSize*/ 0,
247 /*Bit8u RsvdFieldPosition*/ 0,
248 /*Bit8u DirectColorModeInfo*/ 0,
249 // Mandatory information for VBE 2.0 and above
250 /*Bit32u PhysBasePtr*/ VBE_DISPI_LFB_PHYSICAL_ADDRESS,
251 /*Bit32u OffScreenMemOffset*/ 0,
252 /*Bit16u OffScreenMemSize*/ 0,
253 // Mandatory information for VBE 3.0 and above
254 /*Bit16u LinBytesPerScanLine*/ 800,
255 /*Bit8u BnkNumberOfPages*/ 0,
256 /*Bit8u LinNumberOfPages*/ 0,
257 /*Bit8u LinRedMaskSize*/ 0,
258 /*Bit8u LinRedFieldPosition*/ 0,
259 /*Bit8u LinGreenMaskSize*/ 0,
260 /*Bit8u LinGreenFieldPosition*/ 0,
261 /*Bit8u LinBlueMaskSize*/ 0,
262 /*Bit8u LinBlueFieldPosition*/ 0,
263 /*Bit8u LinRsvdMaskSize*/ 0,
264 /*Bit8u LinRsvdFieldPosition*/ 0,
265 /*Bit32u MaxPixelClock*/ 0,
266 /*} ModeInfoBlock;*/
271 VBE_VESA_MODE_1024X768X8,
273 /*typedef struct ModeInfoBlock
275 // Mandatory information for all VBE revisions
276 /*Bit16u ModeAttributes*/ VBE_MODE_ATTRIBUTE_SUPPORTED |
277 VBE_MODE_ATTRIBUTE_EXTENDED_INFORMATION_AVAILABLE |
278 VBE_MODE_ATTRIBUTE_COLOR_MODE |
279 VBE_MODE_ATTRIBUTE_LINEAR_FRAME_BUFFER_MODE |
280 VBE_MODE_ATTRIBUTE_GRAPHICS_MODE,
281 /*Bit8u WinAAttributes*/ VBE_WINDOW_ATTRIBUTE_RELOCATABLE |
282 VBE_WINDOW_ATTRIBUTE_READABLE |
283 VBE_WINDOW_ATTRIBUTE_WRITEABLE,
284 /*Bit8u WinBAttributes*/ 0,
285 /*Bit16u WinGranularity*/ VBE_DISPI_BANK_SIZE_KB,
286 /*Bit16u WinSize*/ VBE_DISPI_BANK_SIZE_KB,
287 /*Bit16u WinASegment*/ VGAMEM_GRAPH,
288 /*Bit16u WinBSegment*/ 0,
289 /*Bit32u WinFuncPtr*/ 0,
290 /*Bit16u BytesPerScanLine*/ 1024,
291 // Mandatory information for VBE 1.2 and above
292 /*Bit16u XResolution*/ 1024,
293 /*Bit16u YResolution*/ 768,
294 /*Bit8u XCharSize*/ 8,
295 /*Bit8u YCharSize*/ 16,
296 /*Bit8u NumberOfPlanes*/ 1,
297 /*Bit8u BitsPerPixel*/ 8,
298 /*Bit8u NumberOfBanks*/ 12, // 1024x768/64kb == 12
299 /*Bit8u MemoryModel*/ VBE_MEMORYMODEL_PACKED_PIXEL,
300 /*Bit8u BankSize*/ 0,
301 /*Bit8u NumberOfImagePages*/ 3,
302 /*Bit8u Reserved_page*/ 0,
303 // Direct Color fields (required for direct/6 and YUV/7 memory models)
304 /*Bit8u RedMaskSize*/ 0,
305 /*Bit8u RedFieldPosition*/ 0,
306 /*Bit8u GreenMaskSize*/ 0,
307 /*Bit8u GreenFieldPosition*/ 0,
308 /*Bit8u BlueMaskSize*/ 0,
309 /*Bit8u BlueFieldPosition*/ 0,
310 /*Bit8u RsvdMaskSize*/ 0,
311 /*Bit8u RsvdFieldPosition*/ 0,
312 /*Bit8u DirectColorModeInfo*/ 0,
313 // Mandatory information for VBE 2.0 and above
314 /*Bit32u PhysBasePtr*/ VBE_DISPI_LFB_PHYSICAL_ADDRESS,
315 /*Bit32u OffScreenMemOffset*/ 0,
316 /*Bit16u OffScreenMemSize*/ 0,
317 // Mandatory information for VBE 3.0 and above
318 /*Bit16u LinBytesPerScanLine*/ 1024,
319 /*Bit8u BnkNumberOfPages*/ 0,
320 /*Bit8u LinNumberOfPages*/ 0,
321 /*Bit8u LinRedMaskSize*/ 0,
322 /*Bit8u LinRedFieldPosition*/ 0,
323 /*Bit8u LinGreenMaskSize*/ 0,
324 /*Bit8u LinGreenFieldPosition*/ 0,
325 /*Bit8u LinBlueMaskSize*/ 0,
326 /*Bit8u LinBlueFieldPosition*/ 0,
327 /*Bit8u LinRsvdMaskSize*/ 0,
328 /*Bit8u LinRsvdFieldPosition*/ 0,
329 /*Bit32u MaxPixelClock*/ 0,
330 /*} ModeInfoBlock;*/
335 VBE_VESA_MODE_640X480X1555,
337 /*typedef struct ModeInfoBlock
339 // Mandatory information for all VBE revisions
340 /*Bit16u ModeAttributes*/ VBE_MODE_ATTRIBUTE_SUPPORTED |
341 VBE_MODE_ATTRIBUTE_EXTENDED_INFORMATION_AVAILABLE |
342 VBE_MODE_ATTRIBUTE_COLOR_MODE |
343 VBE_MODE_ATTRIBUTE_LINEAR_FRAME_BUFFER_MODE |
344 VBE_MODE_ATTRIBUTE_GRAPHICS_MODE,
345 /*Bit8u WinAAttributes*/ VBE_WINDOW_ATTRIBUTE_RELOCATABLE |
346 VBE_WINDOW_ATTRIBUTE_READABLE |
347 VBE_WINDOW_ATTRIBUTE_WRITEABLE,
348 /*Bit8u WinBAttributes*/ 0,
349 /*Bit16u WinGranularity*/ VBE_DISPI_BANK_SIZE_KB,
350 /*Bit16u WinSize*/ VBE_DISPI_BANK_SIZE_KB,
351 /*Bit16u WinASegment*/ VGAMEM_GRAPH,
352 /*Bit16u WinBSegment*/ 0,
353 /*Bit32u WinFuncPtr*/ 0,
354 /*Bit16u BytesPerScanLine*/ 640*2,
355 // Mandatory information for VBE 1.2 and above
356 /*Bit16u XResolution*/ 640,
357 /*Bit16u YResolution*/ 480,
358 /*Bit8u XCharSize*/ 8,
359 /*Bit8u YCharSize*/ 16,
360 /*Bit8u NumberOfPlanes*/ 1,
361 /*Bit8u BitsPerPixel*/ 15,
362 /*Bit8u NumberOfBanks*/ 1,
363 /*Bit8u MemoryModel*/ VBE_MEMORYMODEL_DIRECT_COLOR,
364 /*Bit8u BankSize*/ 0,
365 /*Bit8u NumberOfImagePages*/ 5,
366 /*Bit8u Reserved_page*/ 0,
367 // Direct Color fields (required for direct/6 and YUV/7 memory models)
368 /*Bit8u RedMaskSize*/ 5,
369 /*Bit8u RedFieldPosition*/ 10,
370 /*Bit8u GreenMaskSize*/ 5,
371 /*Bit8u GreenFieldPosition*/ 5,
372 /*Bit8u BlueMaskSize*/ 5,
373 /*Bit8u BlueFieldPosition*/ 0,
374 /*Bit8u RsvdMaskSize*/ 1,
375 /*Bit8u RsvdFieldPosition*/ 15,
376 /*Bit8u DirectColorModeInfo*/ 0,
377 // Mandatory information for VBE 2.0 and above
378 /*Bit32u PhysBasePtr*/ VBE_DISPI_LFB_PHYSICAL_ADDRESS,
379 /*Bit32u OffScreenMemOffset*/ 0,
380 /*Bit16u OffScreenMemSize*/ 0,
381 // Mandatory information for VBE 3.0 and above
382 /*Bit16u LinBytesPerScanLine*/ 640*2,
383 /*Bit8u BnkNumberOfPages*/ 0,
384 /*Bit8u LinNumberOfPages*/ 0,
385 /*Bit8u LinRedMaskSize*/ 5,
386 /*Bit8u LinRedFieldPosition*/ 10,
387 /*Bit8u LinGreenMaskSize*/ 0,
388 /*Bit8u LinGreenFieldPosition*/ 5,
389 /*Bit8u LinBlueMaskSize*/ 5,
390 /*Bit8u LinBlueFieldPosition*/ 0,
391 /*Bit8u LinRsvdMaskSize*/ 1,
392 /*Bit8u LinRsvdFieldPosition*/ 15,
393 /*Bit32u MaxPixelClock*/ 0,
394 /*} ModeInfoBlock;*/
399 VBE_VESA_MODE_800X600X1555,
401 /*typedef struct ModeInfoBlock
403 // Mandatory information for all VBE revisions
404 /*Bit16u ModeAttributes*/ VBE_MODE_ATTRIBUTE_SUPPORTED |
405 VBE_MODE_ATTRIBUTE_EXTENDED_INFORMATION_AVAILABLE |
406 VBE_MODE_ATTRIBUTE_COLOR_MODE |
407 VBE_MODE_ATTRIBUTE_LINEAR_FRAME_BUFFER_MODE |
408 VBE_MODE_ATTRIBUTE_GRAPHICS_MODE,
409 /*Bit8u WinAAttributes*/ VBE_WINDOW_ATTRIBUTE_RELOCATABLE |
410 VBE_WINDOW_ATTRIBUTE_READABLE |
411 VBE_WINDOW_ATTRIBUTE_WRITEABLE,
412 /*Bit8u WinBAttributes*/ 0,
413 /*Bit16u WinGranularity*/ VBE_DISPI_BANK_SIZE_KB,
414 /*Bit16u WinSize*/ VBE_DISPI_BANK_SIZE_KB,
415 /*Bit16u WinASegment*/ VGAMEM_GRAPH,
416 /*Bit16u WinBSegment*/ 0,
417 /*Bit32u WinFuncPtr*/ 0,
418 /*Bit16u BytesPerScanLine*/ 800*2,
419 // Mandatory information for VBE 1.2 and above
420 /*Bit16u XResolution*/ 800,
421 /*Bit16u YResolution*/ 600,
422 /*Bit8u XCharSize*/ 8,
423 /*Bit8u YCharSize*/ 16,
424 /*Bit8u NumberOfPlanes*/ 1,
425 /*Bit8u BitsPerPixel*/ 15,
426 /*Bit8u NumberOfBanks*/ 1,
427 /*Bit8u MemoryModel*/ VBE_MEMORYMODEL_DIRECT_COLOR,
428 /*Bit8u BankSize*/ 0,
429 /*Bit8u NumberOfImagePages*/ 3,
430 /*Bit8u Reserved_page*/ 0,
431 // Direct Color fields (required for direct/6 and YUV/7 memory models)
432 /*Bit8u RedMaskSize*/ 5,
433 /*Bit8u RedFieldPosition*/ 10,
434 /*Bit8u GreenMaskSize*/ 5,
435 /*Bit8u GreenFieldPosition*/ 5,
436 /*Bit8u BlueMaskSize*/ 5,
437 /*Bit8u BlueFieldPosition*/ 0,
438 /*Bit8u RsvdMaskSize*/ 1,
439 /*Bit8u RsvdFieldPosition*/ 15,
440 /*Bit8u DirectColorModeInfo*/ 0,
441 // Mandatory information for VBE 2.0 and above
442 /*Bit32u PhysBasePtr*/ VBE_DISPI_LFB_PHYSICAL_ADDRESS,
443 /*Bit32u OffScreenMemOffset*/ 0,
444 /*Bit16u OffScreenMemSize*/ 0,
445 // Mandatory information for VBE 3.0 and above
446 /*Bit16u LinBytesPerScanLine*/ 800*2,
447 /*Bit8u BnkNumberOfPages*/ 0,
448 /*Bit8u LinNumberOfPages*/ 0,
449 /*Bit8u LinRedMaskSize*/ 5,
450 /*Bit8u LinRedFieldPosition*/ 10,
451 /*Bit8u LinGreenMaskSize*/ 5,
452 /*Bit8u LinGreenFieldPosition*/ 5,
453 /*Bit8u LinBlueMaskSize*/ 5,
454 /*Bit8u LinBlueFieldPosition*/ 0,
455 /*Bit8u LinRsvdMaskSize*/ 1,
456 /*Bit8u LinRsvdFieldPosition*/ 15,
457 /*Bit32u MaxPixelClock*/ 0,
458 /*} ModeInfoBlock;*/
463 VBE_VESA_MODE_1024X768X1555,
465 /*typedef struct ModeInfoBlock
467 // Mandatory information for all VBE revisions
468 /*Bit16u ModeAttributes*/ VBE_MODE_ATTRIBUTE_SUPPORTED |
469 VBE_MODE_ATTRIBUTE_EXTENDED_INFORMATION_AVAILABLE |
470 VBE_MODE_ATTRIBUTE_COLOR_MODE |
471 VBE_MODE_ATTRIBUTE_LINEAR_FRAME_BUFFER_MODE |
472 VBE_MODE_ATTRIBUTE_GRAPHICS_MODE,
473 /*Bit8u WinAAttributes*/ VBE_WINDOW_ATTRIBUTE_RELOCATABLE |
474 VBE_WINDOW_ATTRIBUTE_READABLE |
475 VBE_WINDOW_ATTRIBUTE_WRITEABLE,
476 /*Bit8u WinBAttributes*/ 0,
477 /*Bit16u WinGranularity*/ VBE_DISPI_BANK_SIZE_KB,
478 /*Bit16u WinSize*/ VBE_DISPI_BANK_SIZE_KB,
479 /*Bit16u WinASegment*/ VGAMEM_GRAPH,
480 /*Bit16u WinBSegment*/ 0,
481 /*Bit32u WinFuncPtr*/ 0,
482 /*Bit16u BytesPerScanLine*/ 1024*2,
483 // Mandatory information for VBE 1.2 and above
484 /*Bit16u XResolution*/ 1024,
485 /*Bit16u YResolution*/ 768,
486 /*Bit8u XCharSize*/ 8,
487 /*Bit8u YCharSize*/ 16,
488 /*Bit8u NumberOfPlanes*/ 1,
489 /*Bit8u BitsPerPixel*/ 15,
490 /*Bit8u NumberOfBanks*/ 1,
491 /*Bit8u MemoryModel*/ VBE_MEMORYMODEL_DIRECT_COLOR,
492 /*Bit8u BankSize*/ 0,
493 /*Bit8u NumberOfImagePages*/ 1,
494 /*Bit8u Reserved_page*/ 0,
495 // Direct Color fields (required for direct/6 and YUV/7 memory models)
496 /*Bit8u RedMaskSize*/ 5,
497 /*Bit8u RedFieldPosition*/ 10,
498 /*Bit8u GreenMaskSize*/ 5,
499 /*Bit8u GreenFieldPosition*/ 5,
500 /*Bit8u BlueMaskSize*/ 5,
501 /*Bit8u BlueFieldPosition*/ 0,
502 /*Bit8u RsvdMaskSize*/ 1,
503 /*Bit8u RsvdFieldPosition*/ 15,
504 /*Bit8u DirectColorModeInfo*/ 0,
505 // Mandatory information for VBE 2.0 and above
506 /*Bit32u PhysBasePtr*/ VBE_DISPI_LFB_PHYSICAL_ADDRESS,
507 /*Bit32u OffScreenMemOffset*/ 0,
508 /*Bit16u OffScreenMemSize*/ 0,
509 // Mandatory information for VBE 3.0 and above
510 /*Bit16u LinBytesPerScanLine*/ 1024*2,
511 /*Bit8u BnkNumberOfPages*/ 0,
512 /*Bit8u LinNumberOfPages*/ 0,
513 /*Bit8u LinRedMaskSize*/ 5,
514 /*Bit8u LinRedFieldPosition*/ 10,
515 /*Bit8u LinGreenMaskSize*/ 5,
516 /*Bit8u LinGreenFieldPosition*/ 5,
517 /*Bit8u LinBlueMaskSize*/ 5,
518 /*Bit8u LinBlueFieldPosition*/ 0,
519 /*Bit8u LinRsvdMaskSize*/ 1,
520 /*Bit8u LinRsvdFieldPosition*/ 15,
521 /*Bit32u MaxPixelClock*/ 0,
522 /*} ModeInfoBlock;*/
527 VBE_VESA_MODE_640X480X565,
529 /*typedef struct ModeInfoBlock
531 // Mandatory information for all VBE revisions
532 /*Bit16u ModeAttributes*/ VBE_MODE_ATTRIBUTE_SUPPORTED |
533 VBE_MODE_ATTRIBUTE_EXTENDED_INFORMATION_AVAILABLE |
534 VBE_MODE_ATTRIBUTE_COLOR_MODE |
535 VBE_MODE_ATTRIBUTE_LINEAR_FRAME_BUFFER_MODE |
536 VBE_MODE_ATTRIBUTE_GRAPHICS_MODE,
537 /*Bit8u WinAAttributes*/ VBE_WINDOW_ATTRIBUTE_RELOCATABLE |
538 VBE_WINDOW_ATTRIBUTE_READABLE |
539 VBE_WINDOW_ATTRIBUTE_WRITEABLE,
540 /*Bit8u WinBAttributes*/ 0,
541 /*Bit16u WinGranularity*/ VBE_DISPI_BANK_SIZE_KB,
542 /*Bit16u WinSize*/ VBE_DISPI_BANK_SIZE_KB,
543 /*Bit16u WinASegment*/ VGAMEM_GRAPH,
544 /*Bit16u WinBSegment*/ 0,
545 /*Bit32u WinFuncPtr*/ 0,
546 /*Bit16u BytesPerScanLine*/ 640*2,
547 // Mandatory information for VBE 1.2 and above
548 /*Bit16u XResolution*/ 640,
549 /*Bit16u YResolution*/ 480,
550 /*Bit8u XCharSize*/ 8,
551 /*Bit8u YCharSize*/ 16,
552 /*Bit8u NumberOfPlanes*/ 1,
553 /*Bit8u BitsPerPixel*/ 16,
554 /*Bit8u NumberOfBanks*/ 1,
555 /*Bit8u MemoryModel*/ VBE_MEMORYMODEL_DIRECT_COLOR,
556 /*Bit8u BankSize*/ 0,
557 /*Bit8u NumberOfImagePages*/ 5,
558 /*Bit8u Reserved_page*/ 0,
559 // Direct Color fields (required for direct/6 and YUV/7 memory models)
560 /*Bit8u RedMaskSize*/ 5,
561 /*Bit8u RedFieldPosition*/ 11,
562 /*Bit8u GreenMaskSize*/ 6,
563 /*Bit8u GreenFieldPosition*/ 5,
564 /*Bit8u BlueMaskSize*/ 5,
565 /*Bit8u BlueFieldPosition*/ 0,
566 /*Bit8u RsvdMaskSize*/ 0,
567 /*Bit8u RsvdFieldPosition*/ 0,
568 /*Bit8u DirectColorModeInfo*/ 0,
569 // Mandatory information for VBE 2.0 and above
570 /*Bit32u PhysBasePtr*/ VBE_DISPI_LFB_PHYSICAL_ADDRESS,
571 /*Bit32u OffScreenMemOffset*/ 0,
572 /*Bit16u OffScreenMemSize*/ 0,
573 // Mandatory information for VBE 3.0 and above
574 /*Bit16u LinBytesPerScanLine*/ 640*2,
575 /*Bit8u BnkNumberOfPages*/ 0,
576 /*Bit8u LinNumberOfPages*/ 0,
577 /*Bit8u LinRedMaskSize*/ 5,
578 /*Bit8u LinRedFieldPosition*/ 11,
579 /*Bit8u LinGreenMaskSize*/ 6,
580 /*Bit8u LinGreenFieldPosition*/ 5,
581 /*Bit8u LinBlueMaskSize*/ 5,
582 /*Bit8u LinBlueFieldPosition*/ 0,
583 /*Bit8u LinRsvdMaskSize*/ 0,
584 /*Bit8u LinRsvdFieldPosition*/ 0,
585 /*Bit32u MaxPixelClock*/ 0,
586 /*} ModeInfoBlock;*/
591 VBE_VESA_MODE_800X600X565,
593 /*typedef struct ModeInfoBlock
595 // Mandatory information for all VBE revisions
596 /*Bit16u ModeAttributes*/ VBE_MODE_ATTRIBUTE_SUPPORTED |
597 VBE_MODE_ATTRIBUTE_EXTENDED_INFORMATION_AVAILABLE |
598 VBE_MODE_ATTRIBUTE_COLOR_MODE |
599 VBE_MODE_ATTRIBUTE_LINEAR_FRAME_BUFFER_MODE |
600 VBE_MODE_ATTRIBUTE_GRAPHICS_MODE,
601 /*Bit8u WinAAttributes*/ VBE_WINDOW_ATTRIBUTE_RELOCATABLE |
602 VBE_WINDOW_ATTRIBUTE_READABLE |
603 VBE_WINDOW_ATTRIBUTE_WRITEABLE,
604 /*Bit8u WinBAttributes*/ 0,
605 /*Bit16u WinGranularity*/ VBE_DISPI_BANK_SIZE_KB,
606 /*Bit16u WinSize*/ VBE_DISPI_BANK_SIZE_KB,
607 /*Bit16u WinASegment*/ VGAMEM_GRAPH,
608 /*Bit16u WinBSegment*/ 0,
609 /*Bit32u WinFuncPtr*/ 0,
610 /*Bit16u BytesPerScanLine*/ 800*2,
611 // Mandatory information for VBE 1.2 and above
612 /*Bit16u XResolution*/ 800,
613 /*Bit16u YResolution*/ 600,
614 /*Bit8u XCharSize*/ 8,
615 /*Bit8u YCharSize*/ 16,
616 /*Bit8u NumberOfPlanes*/ 1,
617 /*Bit8u BitsPerPixel*/ 16,
618 /*Bit8u NumberOfBanks*/ 1,
619 /*Bit8u MemoryModel*/ VBE_MEMORYMODEL_DIRECT_COLOR,
620 /*Bit8u BankSize*/ 0,
621 /*Bit8u NumberOfImagePages*/ 3,
622 /*Bit8u Reserved_page*/ 0,
623 // Direct Color fields (required for direct/6 and YUV/7 memory models)
624 /*Bit8u RedMaskSize*/ 5,
625 /*Bit8u RedFieldPosition*/ 11,
626 /*Bit8u GreenMaskSize*/ 6,
627 /*Bit8u GreenFieldPosition*/ 5,
628 /*Bit8u BlueMaskSize*/ 5,
629 /*Bit8u BlueFieldPosition*/ 0,
630 /*Bit8u RsvdMaskSize*/ 0,
631 /*Bit8u RsvdFieldPosition*/ 0,
632 /*Bit8u DirectColorModeInfo*/ 0,
633 // Mandatory information for VBE 2.0 and above
634 /*Bit32u PhysBasePtr*/ VBE_DISPI_LFB_PHYSICAL_ADDRESS,
635 /*Bit32u OffScreenMemOffset*/ 0,
636 /*Bit16u OffScreenMemSize*/ 0,
637 // Mandatory information for VBE 3.0 and above
638 /*Bit16u LinBytesPerScanLine*/ 800*2,
639 /*Bit8u BnkNumberOfPages*/ 0,
640 /*Bit8u LinNumberOfPages*/ 0,
641 /*Bit8u LinRedMaskSize*/ 5,
642 /*Bit8u LinRedFieldPosition*/ 11,
643 /*Bit8u LinGreenMaskSize*/ 6,
644 /*Bit8u LinGreenFieldPosition*/ 5,
645 /*Bit8u LinBlueMaskSize*/ 5,
646 /*Bit8u LinBlueFieldPosition*/ 0,
647 /*Bit8u LinRsvdMaskSize*/ 0,
648 /*Bit8u LinRsvdFieldPosition*/ 0,
649 /*Bit32u MaxPixelClock*/ 0,
650 /*} ModeInfoBlock;*/
655 VBE_VESA_MODE_1024X768X565,
657 /*typedef struct ModeInfoBlock
659 // Mandatory information for all VBE revisions
660 /*Bit16u ModeAttributes*/ VBE_MODE_ATTRIBUTE_SUPPORTED |
661 VBE_MODE_ATTRIBUTE_EXTENDED_INFORMATION_AVAILABLE |
662 VBE_MODE_ATTRIBUTE_COLOR_MODE |
663 VBE_MODE_ATTRIBUTE_LINEAR_FRAME_BUFFER_MODE |
664 VBE_MODE_ATTRIBUTE_GRAPHICS_MODE,
665 /*Bit8u WinAAttributes*/ VBE_WINDOW_ATTRIBUTE_RELOCATABLE |
666 VBE_WINDOW_ATTRIBUTE_READABLE |
667 VBE_WINDOW_ATTRIBUTE_WRITEABLE,
668 /*Bit8u WinBAttributes*/ 0,
669 /*Bit16u WinGranularity*/ VBE_DISPI_BANK_SIZE_KB,
670 /*Bit16u WinSize*/ VBE_DISPI_BANK_SIZE_KB,
671 /*Bit16u WinASegment*/ VGAMEM_GRAPH,
672 /*Bit16u WinBSegment*/ 0,
673 /*Bit32u WinFuncPtr*/ 0,
674 /*Bit16u BytesPerScanLine*/ 1024*2,
675 // Mandatory information for VBE 1.2 and above
676 /*Bit16u XResolution*/ 1024,
677 /*Bit16u YResolution*/ 768,
678 /*Bit8u XCharSize*/ 8,
679 /*Bit8u YCharSize*/ 16,
680 /*Bit8u NumberOfPlanes*/ 1,
681 /*Bit8u BitsPerPixel*/ 16,
682 /*Bit8u NumberOfBanks*/ 1,
683 /*Bit8u MemoryModel*/ VBE_MEMORYMODEL_DIRECT_COLOR,
684 /*Bit8u BankSize*/ 0,
685 /*Bit8u NumberOfImagePages*/ 1,
686 /*Bit8u Reserved_page*/ 0,
687 // Direct Color fields (required for direct/6 and YUV/7 memory models)
688 /*Bit8u RedMaskSize*/ 5,
689 /*Bit8u RedFieldPosition*/ 11,
690 /*Bit8u GreenMaskSize*/ 6,
691 /*Bit8u GreenFieldPosition*/ 5,
692 /*Bit8u BlueMaskSize*/ 5,
693 /*Bit8u BlueFieldPosition*/ 0,
694 /*Bit8u RsvdMaskSize*/ 0,
695 /*Bit8u RsvdFieldPosition*/ 0,
696 /*Bit8u DirectColorModeInfo*/ 0,
697 // Mandatory information for VBE 2.0 and above
698 /*Bit32u PhysBasePtr*/ VBE_DISPI_LFB_PHYSICAL_ADDRESS,
699 /*Bit32u OffScreenMemOffset*/ 0,
700 /*Bit16u OffScreenMemSize*/ 0,
701 // Mandatory information for VBE 3.0 and above
702 /*Bit16u LinBytesPerScanLine*/ 1024*2,
703 /*Bit8u BnkNumberOfPages*/ 0,
704 /*Bit8u LinNumberOfPages*/ 0,
705 /*Bit8u LinRedMaskSize*/ 5,
706 /*Bit8u LinRedFieldPosition*/ 11,
707 /*Bit8u LinGreenMaskSize*/ 6,
708 /*Bit8u LinGreenFieldPosition*/ 5,
709 /*Bit8u LinBlueMaskSize*/ 5,
710 /*Bit8u LinBlueFieldPosition*/ 0,
711 /*Bit8u LinRsvdMaskSize*/ 0,
712 /*Bit8u LinRsvdFieldPosition*/ 0,
713 /*Bit32u MaxPixelClock*/ 0,
714 /*} ModeInfoBlock;*/
719 VBE_VESA_MODE_640X480X888,
721 /*typedef struct ModeInfoBlock
723 // Mandatory information for all VBE revisions
724 /*Bit16u ModeAttributes*/ VBE_MODE_ATTRIBUTE_SUPPORTED |
725 VBE_MODE_ATTRIBUTE_EXTENDED_INFORMATION_AVAILABLE |
726 VBE_MODE_ATTRIBUTE_COLOR_MODE |
727 VBE_MODE_ATTRIBUTE_LINEAR_FRAME_BUFFER_MODE |
728 VBE_MODE_ATTRIBUTE_GRAPHICS_MODE,
729 /*Bit8u WinAAttributes*/ VBE_WINDOW_ATTRIBUTE_RELOCATABLE |
730 VBE_WINDOW_ATTRIBUTE_READABLE |
731 VBE_WINDOW_ATTRIBUTE_WRITEABLE,
732 /*Bit8u WinBAttributes*/ 0,
733 /*Bit16u WinGranularity*/ VBE_DISPI_BANK_SIZE_KB,
734 /*Bit16u WinSize*/ VBE_DISPI_BANK_SIZE_KB,
735 /*Bit16u WinASegment*/ VGAMEM_GRAPH,
736 /*Bit16u WinBSegment*/ 0,
737 /*Bit32u WinFuncPtr*/ 0,
738 /*Bit16u BytesPerScanLine*/ 640*3,
739 // Mandatory information for VBE 1.2 and above
740 /*Bit16u XResolution*/ 640,
741 /*Bit16u YResolution*/ 480,
742 /*Bit8u XCharSize*/ 8,
743 /*Bit8u YCharSize*/ 16,
744 /*Bit8u NumberOfPlanes*/ 1,
745 /*Bit8u BitsPerPixel*/ 24,
746 /*Bit8u NumberOfBanks*/ 1,
747 /*Bit8u MemoryModel*/ VBE_MEMORYMODEL_DIRECT_COLOR,
748 /*Bit8u BankSize*/ 0,
749 /*Bit8u NumberOfImagePages*/ 3,
750 /*Bit8u Reserved_page*/ 0,
751 // Direct Color fields (required for direct/6 and YUV/7 memory models)
752 /*Bit8u RedMaskSize*/ 8,
753 /*Bit8u RedFieldPosition*/ 16,
754 /*Bit8u GreenMaskSize*/ 8,
755 /*Bit8u GreenFieldPosition*/ 8,
756 /*Bit8u BlueMaskSize*/ 8,
757 /*Bit8u BlueFieldPosition*/ 0,
758 /*Bit8u RsvdMaskSize*/ 0,
759 /*Bit8u RsvdFieldPosition*/ 0,
760 /*Bit8u DirectColorModeInfo*/ 0,
761 // Mandatory information for VBE 2.0 and above
762 /*Bit32u PhysBasePtr*/ VBE_DISPI_LFB_PHYSICAL_ADDRESS,
763 /*Bit32u OffScreenMemOffset*/ 0,
764 /*Bit16u OffScreenMemSize*/ 0,
765 // Mandatory information for VBE 3.0 and above
766 /*Bit16u LinBytesPerScanLine*/ 640*3,
767 /*Bit8u BnkNumberOfPages*/ 0,
768 /*Bit8u LinNumberOfPages*/ 0,
769 /*Bit8u LinRedMaskSize*/ 8,
770 /*Bit8u LinRedFieldPosition*/ 16,
771 /*Bit8u LinGreenMaskSize*/ 8,
772 /*Bit8u LinGreenFieldPosition*/ 8,
773 /*Bit8u LinBlueMaskSize*/ 8,
774 /*Bit8u LinBlueFieldPosition*/ 0,
775 /*Bit8u LinRsvdMaskSize*/ 0,
776 /*Bit8u LinRsvdFieldPosition*/ 0,
777 /*Bit32u MaxPixelClock*/ 0,
778 /*} ModeInfoBlock;*/
783 VBE_VESA_MODE_800X600X888,
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 VBE_MODE_ATTRIBUTE_LINEAR_FRAME_BUFFER_MODE |
792 VBE_MODE_ATTRIBUTE_GRAPHICS_MODE,
793 /*Bit8u WinAAttributes*/ VBE_WINDOW_ATTRIBUTE_RELOCATABLE |
794 VBE_WINDOW_ATTRIBUTE_READABLE |
795 VBE_WINDOW_ATTRIBUTE_WRITEABLE,
796 /*Bit8u WinBAttributes*/ 0,
797 /*Bit16u WinGranularity*/ VBE_DISPI_BANK_SIZE_KB,
798 /*Bit16u WinSize*/ VBE_DISPI_BANK_SIZE_KB,
799 /*Bit16u WinASegment*/ VGAMEM_GRAPH,
800 /*Bit16u WinBSegment*/ 0,
801 /*Bit32u WinFuncPtr*/ 0,
802 /*Bit16u BytesPerScanLine*/ 800*3,
803 // Mandatory information for VBE 1.2 and above
804 /*Bit16u XResolution*/ 800,
805 /*Bit16u YResolution*/ 600,
806 /*Bit8u XCharSize*/ 8,
807 /*Bit8u YCharSize*/ 16,
808 /*Bit8u NumberOfPlanes*/ 1,
809 /*Bit8u BitsPerPixel*/ 24,
810 /*Bit8u NumberOfBanks*/ 1,
811 /*Bit8u MemoryModel*/ VBE_MEMORYMODEL_DIRECT_COLOR,
812 /*Bit8u BankSize*/ 0,
813 /*Bit8u NumberOfImagePages*/ 1,
814 /*Bit8u Reserved_page*/ 0,
815 // Direct Color fields (required for direct/6 and YUV/7 memory models)
816 /*Bit8u RedMaskSize*/ 8,
817 /*Bit8u RedFieldPosition*/ 16,
818 /*Bit8u GreenMaskSize*/ 8,
819 /*Bit8u GreenFieldPosition*/ 8,
820 /*Bit8u BlueMaskSize*/ 8,
821 /*Bit8u BlueFieldPosition*/ 0,
822 /*Bit8u RsvdMaskSize*/ 0,
823 /*Bit8u RsvdFieldPosition*/ 0,
824 /*Bit8u DirectColorModeInfo*/ 0,
825 // Mandatory information for VBE 2.0 and above
826 /*Bit32u PhysBasePtr*/ VBE_DISPI_LFB_PHYSICAL_ADDRESS,
827 /*Bit32u OffScreenMemOffset*/ 0,
828 /*Bit16u OffScreenMemSize*/ 0,
829 // Mandatory information for VBE 3.0 and above
830 /*Bit16u LinBytesPerScanLine*/ 800*3,
831 /*Bit8u BnkNumberOfPages*/ 0,
832 /*Bit8u LinNumberOfPages*/ 0,
833 /*Bit8u LinRedMaskSize*/ 8,
834 /*Bit8u LinRedFieldPosition*/ 16,
835 /*Bit8u LinGreenMaskSize*/ 8,
836 /*Bit8u LinGreenFieldPosition*/ 8,
837 /*Bit8u LinBlueMaskSize*/ 8,
838 /*Bit8u LinBlueFieldPosition*/ 0,
839 /*Bit8u LinRsvdMaskSize*/ 0,
840 /*Bit8u LinRsvdFieldPosition*/ 0,
841 /*Bit32u MaxPixelClock*/ 0,
842 /*} ModeInfoBlock;*/
847 VBE_VESA_MODE_1024X768X888,
849 /*typedef struct ModeInfoBlock
851 // Mandatory information for all VBE revisions
852 /*Bit16u ModeAttributes*/ VBE_MODE_ATTRIBUTE_SUPPORTED |
853 VBE_MODE_ATTRIBUTE_EXTENDED_INFORMATION_AVAILABLE |
854 VBE_MODE_ATTRIBUTE_COLOR_MODE |
855 VBE_MODE_ATTRIBUTE_LINEAR_FRAME_BUFFER_MODE |
856 VBE_MODE_ATTRIBUTE_GRAPHICS_MODE,
857 /*Bit8u WinAAttributes*/ VBE_WINDOW_ATTRIBUTE_RELOCATABLE |
858 VBE_WINDOW_ATTRIBUTE_READABLE |
859 VBE_WINDOW_ATTRIBUTE_WRITEABLE,
860 /*Bit8u WinBAttributes*/ 0,
861 /*Bit16u WinGranularity*/ VBE_DISPI_BANK_SIZE_KB,
862 /*Bit16u WinSize*/ VBE_DISPI_BANK_SIZE_KB,
863 /*Bit16u WinASegment*/ VGAMEM_GRAPH,
864 /*Bit16u WinBSegment*/ 0,
865 /*Bit32u WinFuncPtr*/ 0,
866 /*Bit16u BytesPerScanLine*/ 1024*3,
867 // Mandatory information for VBE 1.2 and above
868 /*Bit16u XResolution*/ 1024,
869 /*Bit16u YResolution*/ 768,
870 /*Bit8u XCharSize*/ 8,
871 /*Bit8u YCharSize*/ 16,
872 /*Bit8u NumberOfPlanes*/ 1,
873 /*Bit8u BitsPerPixel*/ 24,
874 /*Bit8u NumberOfBanks*/ 1,
875 /*Bit8u MemoryModel*/ VBE_MEMORYMODEL_DIRECT_COLOR,
876 /*Bit8u BankSize*/ 0,
877 /*Bit8u NumberOfImagePages*/ 0,
878 /*Bit8u Reserved_page*/ 0,
879 // Direct Color fields (required for direct/6 and YUV/7 memory models)
880 /*Bit8u RedMaskSize*/ 8,
881 /*Bit8u RedFieldPosition*/ 16,
882 /*Bit8u GreenMaskSize*/ 8,
883 /*Bit8u GreenFieldPosition*/ 8,
884 /*Bit8u BlueMaskSize*/ 8,
885 /*Bit8u BlueFieldPosition*/ 0,
886 /*Bit8u RsvdMaskSize*/ 0,
887 /*Bit8u RsvdFieldPosition*/ 0,
888 /*Bit8u DirectColorModeInfo*/ 0,
889 // Mandatory information for VBE 2.0 and above
890 /*Bit32u PhysBasePtr*/ VBE_DISPI_LFB_PHYSICAL_ADDRESS,
891 /*Bit32u OffScreenMemOffset*/ 0,
892 /*Bit16u OffScreenMemSize*/ 0,
893 // Mandatory information for VBE 3.0 and above
894 /*Bit16u LinBytesPerScanLine*/ 1024*3,
895 /*Bit8u BnkNumberOfPages*/ 0,
896 /*Bit8u LinNumberOfPages*/ 0,
897 /*Bit8u LinRedMaskSize*/ 8,
898 /*Bit8u LinRedFieldPosition*/ 16,
899 /*Bit8u LinGreenMaskSize*/ 8,
900 /*Bit8u LinGreenFieldPosition*/ 8,
901 /*Bit8u LinBlueMaskSize*/ 8,
902 /*Bit8u LinBlueFieldPosition*/ 0,
903 /*Bit8u LinRsvdMaskSize*/ 0,
904 /*Bit8u LinRsvdFieldPosition*/ 0,
905 /*Bit32u MaxPixelClock*/ 0,
906 /*} ModeInfoBlock;*/
911 VBE_OWN_MODE_640X480X8888,
913 /*typedef struct ModeInfoBlock
915 // Mandatory information for all VBE revisions
916 /*Bit16u ModeAttributes*/ VBE_MODE_ATTRIBUTE_SUPPORTED |
917 VBE_MODE_ATTRIBUTE_EXTENDED_INFORMATION_AVAILABLE |
918 VBE_MODE_ATTRIBUTE_COLOR_MODE |
919 VBE_MODE_ATTRIBUTE_LINEAR_FRAME_BUFFER_MODE |
920 VBE_MODE_ATTRIBUTE_GRAPHICS_MODE,
921 /*Bit8u WinAAttributes*/ VBE_WINDOW_ATTRIBUTE_RELOCATABLE |
922 VBE_WINDOW_ATTRIBUTE_READABLE |
923 VBE_WINDOW_ATTRIBUTE_WRITEABLE,
924 /*Bit8u WinBAttributes*/ 0,
925 /*Bit16u WinGranularity*/ VBE_DISPI_BANK_SIZE_KB,
926 /*Bit16u WinSize*/ VBE_DISPI_BANK_SIZE_KB,
927 /*Bit16u WinASegment*/ VGAMEM_GRAPH,
928 /*Bit16u WinBSegment*/ 0,
929 /*Bit32u WinFuncPtr*/ 0,
930 /*Bit16u BytesPerScanLine*/ 640*4,
931 // Mandatory information for VBE 1.2 and above
932 /*Bit16u XResolution*/ 640,
933 /*Bit16u YResolution*/ 480,
934 /*Bit8u XCharSize*/ 8,
935 /*Bit8u YCharSize*/ 16,
936 /*Bit8u NumberOfPlanes*/ 1,
937 /*Bit8u BitsPerPixel*/ 32,
938 /*Bit8u NumberOfBanks*/ 1,
939 /*Bit8u MemoryModel*/ VBE_MEMORYMODEL_DIRECT_COLOR,
940 /*Bit8u BankSize*/ 0,
941 /*Bit8u NumberOfImagePages*/ 1,
942 /*Bit8u Reserved_page*/ 0,
943 // Direct Color fields (required for direct/6 and YUV/7 memory models)
944 /*Bit8u RedMaskSize*/ 8,
945 /*Bit8u RedFieldPosition*/ 16,
946 /*Bit8u GreenMaskSize*/ 8,
947 /*Bit8u GreenFieldPosition*/ 8,
948 /*Bit8u BlueMaskSize*/ 8,
949 /*Bit8u BlueFieldPosition*/ 0,
950 /*Bit8u RsvdMaskSize*/ 8,
951 /*Bit8u RsvdFieldPosition*/ 24,
952 /*Bit8u DirectColorModeInfo*/ VBE_DIRECTCOLOR_RESERVED_BITS_AVAILABLE,
953 // Mandatory information for VBE 2.0 and above
954 /*Bit32u PhysBasePtr*/ VBE_DISPI_LFB_PHYSICAL_ADDRESS,
955 /*Bit32u OffScreenMemOffset*/ 0,
956 /*Bit16u OffScreenMemSize*/ 0,
957 // Mandatory information for VBE 3.0 and above
958 /*Bit16u LinBytesPerScanLine*/ 640*4,
959 /*Bit8u BnkNumberOfPages*/ 0,
960 /*Bit8u LinNumberOfPages*/ 0,
961 /*Bit8u LinRedMaskSize*/ 8,
962 /*Bit8u LinRedFieldPosition*/ 16,
963 /*Bit8u LinGreenMaskSize*/ 8,
964 /*Bit8u LinGreenFieldPosition*/ 8,
965 /*Bit8u LinBlueMaskSize*/ 8,
966 /*Bit8u LinBlueFieldPosition*/ 0,
967 /*Bit8u LinRsvdMaskSize*/ 8,
968 /*Bit8u LinRsvdFieldPosition*/ 24,
969 /*Bit32u MaxPixelClock*/ 0,
970 /*} ModeInfoBlock;*/
975 VBE_OWN_MODE_800X600X8888,
977 /*typedef struct ModeInfoBlock
979 // Mandatory information for all VBE revisions
980 /*Bit16u ModeAttributes*/ VBE_MODE_ATTRIBUTE_SUPPORTED |
981 VBE_MODE_ATTRIBUTE_EXTENDED_INFORMATION_AVAILABLE |
982 VBE_MODE_ATTRIBUTE_COLOR_MODE |
983 VBE_MODE_ATTRIBUTE_LINEAR_FRAME_BUFFER_MODE |
984 VBE_MODE_ATTRIBUTE_GRAPHICS_MODE,
985 /*Bit8u WinAAttributes*/ VBE_WINDOW_ATTRIBUTE_RELOCATABLE |
986 VBE_WINDOW_ATTRIBUTE_READABLE |
987 VBE_WINDOW_ATTRIBUTE_WRITEABLE,
988 /*Bit8u WinBAttributes*/ 0,
989 /*Bit16u WinGranularity*/ VBE_DISPI_BANK_SIZE_KB,
990 /*Bit16u WinSize*/ VBE_DISPI_BANK_SIZE_KB,
991 /*Bit16u WinASegment*/ VGAMEM_GRAPH,
992 /*Bit16u WinBSegment*/ 0,
993 /*Bit32u WinFuncPtr*/ 0,
994 /*Bit16u BytesPerScanLine*/ 800*4,
995 // Mandatory information for VBE 1.2 and above
996 /*Bit16u XResolution*/ 800,
997 /*Bit16u YResolution*/ 600,
998 /*Bit8u XCharSize*/ 8,
999 /*Bit8u YCharSize*/ 16,
1000 /*Bit8u NumberOfPlanes*/ 1,
1001 /*Bit8u BitsPerPixel*/ 32,
1002 /*Bit8u NumberOfBanks*/ 1,
1003 /*Bit8u MemoryModel*/ VBE_MEMORYMODEL_DIRECT_COLOR,
1004 /*Bit8u BankSize*/ 0,
1005 /*Bit8u NumberOfImagePages*/ 1,
1006 /*Bit8u Reserved_page*/ 0,
1007 // Direct Color fields (required for direct/6 and YUV/7 memory models)
1008 /*Bit8u RedMaskSize*/ 8,
1009 /*Bit8u RedFieldPosition*/ 16,
1010 /*Bit8u GreenMaskSize*/ 8,
1011 /*Bit8u GreenFieldPosition*/ 8,
1012 /*Bit8u BlueMaskSize*/ 8,
1013 /*Bit8u BlueFieldPosition*/ 0,
1014 /*Bit8u RsvdMaskSize*/ 8,
1015 /*Bit8u RsvdFieldPosition*/ 24,
1016 /*Bit8u DirectColorModeInfo*/ VBE_DIRECTCOLOR_RESERVED_BITS_AVAILABLE,
1017 // Mandatory information for VBE 2.0 and above
1018 /*Bit32u PhysBasePtr*/ VBE_DISPI_LFB_PHYSICAL_ADDRESS,
1019 /*Bit32u OffScreenMemOffset*/ 0,
1020 /*Bit16u OffScreenMemSize*/ 0,
1021 // Mandatory information for VBE 3.0 and above
1022 /*Bit16u LinBytesPerScanLine*/ 800*4,
1023 /*Bit8u BnkNumberOfPages*/ 0,
1024 /*Bit8u LinNumberOfPages*/ 0,
1025 /*Bit8u LinRedMaskSize*/ 8,
1026 /*Bit8u LinRedFieldPosition*/ 16,
1027 /*Bit8u LinGreenMaskSize*/ 8,
1028 /*Bit8u LinGreenFieldPosition*/ 8,
1029 /*Bit8u LinBlueMaskSize*/ 8,
1030 /*Bit8u LinBlueFieldPosition*/ 0,
1031 /*Bit8u LinRsvdMaskSize*/ 8,
1032 /*Bit8u LinRsvdFieldPosition*/ 24,
1033 /*Bit32u MaxPixelClock*/ 0,
1034 /*} ModeInfoBlock;*/
1039 VBE_OWN_MODE_1024X768X8888,
1041 /*typedef struct ModeInfoBlock
1043 // Mandatory information for all VBE revisions
1044 /*Bit16u ModeAttributes*/ VBE_MODE_ATTRIBUTE_SUPPORTED |
1045 VBE_MODE_ATTRIBUTE_EXTENDED_INFORMATION_AVAILABLE |
1046 VBE_MODE_ATTRIBUTE_COLOR_MODE |
1047 VBE_MODE_ATTRIBUTE_LINEAR_FRAME_BUFFER_MODE |
1048 VBE_MODE_ATTRIBUTE_GRAPHICS_MODE,
1049 /*Bit8u WinAAttributes*/ VBE_WINDOW_ATTRIBUTE_RELOCATABLE |
1050 VBE_WINDOW_ATTRIBUTE_READABLE |
1051 VBE_WINDOW_ATTRIBUTE_WRITEABLE,
1052 /*Bit8u WinBAttributes*/ 0,
1053 /*Bit16u WinGranularity*/ VBE_DISPI_BANK_SIZE_KB,
1054 /*Bit16u WinSize*/ VBE_DISPI_BANK_SIZE_KB,
1055 /*Bit16u WinASegment*/ VGAMEM_GRAPH,
1056 /*Bit16u WinBSegment*/ 0,
1057 /*Bit32u WinFuncPtr*/ 0,
1058 /*Bit16u BytesPerScanLine*/ 1024*4,
1059 // Mandatory information for VBE 1.2 and above
1060 /*Bit16u XResolution*/ 1024,
1061 /*Bit16u YResolution*/ 768,
1062 /*Bit8u XCharSize*/ 8,
1063 /*Bit8u YCharSize*/ 16,
1064 /*Bit8u NumberOfPlanes*/ 1,
1065 /*Bit8u BitsPerPixel*/ 32,
1066 /*Bit8u NumberOfBanks*/ 1,
1067 /*Bit8u MemoryModel*/ VBE_MEMORYMODEL_DIRECT_COLOR,
1068 /*Bit8u BankSize*/ 0,
1069 /*Bit8u NumberOfImagePages*/ 1,
1070 /*Bit8u Reserved_page*/ 0,
1071 // Direct Color fields (required for direct/6 and YUV/7 memory models)
1072 /*Bit8u RedMaskSize*/ 8,
1073 /*Bit8u RedFieldPosition*/ 16,
1074 /*Bit8u GreenMaskSize*/ 8,
1075 /*Bit8u GreenFieldPosition*/ 8,
1076 /*Bit8u BlueMaskSize*/ 8,
1077 /*Bit8u BlueFieldPosition*/ 0,
1078 /*Bit8u RsvdMaskSize*/ 8,
1079 /*Bit8u RsvdFieldPosition*/ 24,
1080 /*Bit8u DirectColorModeInfo*/ VBE_DIRECTCOLOR_RESERVED_BITS_AVAILABLE,
1081 // Mandatory information for VBE 2.0 and above
1082 /*Bit32u PhysBasePtr*/ VBE_DISPI_LFB_PHYSICAL_ADDRESS,
1083 /*Bit32u OffScreenMemOffset*/ 0,
1084 /*Bit16u OffScreenMemSize*/ 0,
1085 // Mandatory information for VBE 3.0 and above
1086 /*Bit16u LinBytesPerScanLine*/ 1024*4,
1087 /*Bit8u BnkNumberOfPages*/ 0,
1088 /*Bit8u LinNumberOfPages*/ 0,
1089 /*Bit8u LinRedMaskSize*/ 8,
1090 /*Bit8u LinRedFieldPosition*/ 16,
1091 /*Bit8u LinGreenMaskSize*/ 8,
1092 /*Bit8u LinGreenFieldPosition*/ 8,
1093 /*Bit8u LinBlueMaskSize*/ 8,
1094 /*Bit8u LinBlueFieldPosition*/ 0,
1095 /*Bit8u LinRsvdMaskSize*/ 8,
1096 /*Bit8u LinRsvdFieldPosition*/ 24,
1097 /*Bit32u MaxPixelClock*/ 0,
1098 /*} ModeInfoBlock;*/
1103 VBE_OWN_MODE_320X200X8,
1105 /*typedef struct ModeInfoBlock
1107 // Mandatory information for all VBE revisions
1108 /*Bit16u ModeAttributes*/ VBE_MODE_ATTRIBUTE_SUPPORTED |
1109 VBE_MODE_ATTRIBUTE_EXTENDED_INFORMATION_AVAILABLE |
1110 VBE_MODE_ATTRIBUTE_COLOR_MODE |
1111 VBE_MODE_ATTRIBUTE_LINEAR_FRAME_BUFFER_MODE |
1112 VBE_MODE_ATTRIBUTE_GRAPHICS_MODE,
1113 /*Bit8u WinAAttributes*/ VBE_WINDOW_ATTRIBUTE_READABLE |
1114 VBE_WINDOW_ATTRIBUTE_WRITEABLE,
1115 /*Bit8u WinBAttributes*/ 0,
1116 /*Bit16u WinGranularity*/ VBE_DISPI_BANK_SIZE_KB,
1117 /*Bit16u WinSize*/ VBE_DISPI_BANK_SIZE_KB,
1118 /*Bit16u WinASegment*/ VGAMEM_GRAPH,
1119 /*Bit16u WinBSegment*/ 0,
1120 /*Bit32u WinFuncPtr*/ 0,
1121 /*Bit16u BytesPerScanLine*/ 320,
1122 // Mandatory information for VBE 1.2 and above
1123 /*Bit16u XResolution*/ 320,
1124 /*Bit16u YResolution*/ 200,
1125 /*Bit8u XCharSize*/ 8,
1126 /*Bit8u YCharSize*/ 16,
1127 /*Bit8u NumberOfPlanes*/ 1,
1128 /*Bit8u BitsPerPixel*/ 8,
1129 /*Bit8u NumberOfBanks*/ 1,
1130 /*Bit8u MemoryModel*/ VBE_MEMORYMODEL_PACKED_PIXEL,
1131 /*Bit8u BankSize*/ 0,
1132 /*Bit8u NumberOfImagePages*/ 3,
1133 /*Bit8u Reserved_page*/ 0,
1134 // Direct Color fields (required for direct/6 and YUV/7 memory models)
1135 /*Bit8u RedMaskSize*/ 0,
1136 /*Bit8u RedFieldPosition*/ 0,
1137 /*Bit8u GreenMaskSize*/ 0,
1138 /*Bit8u GreenFieldPosition*/ 0,
1139 /*Bit8u BlueMaskSize*/ 0,
1140 /*Bit8u BlueFieldPosition*/ 0,
1141 /*Bit8u RsvdMaskSize*/ 0,
1142 /*Bit8u RsvdFieldPosition*/ 0,
1143 /*Bit8u DirectColorModeInfo*/ 0,
1144 // Mandatory information for VBE 2.0 and above
1145 /*Bit32u PhysBasePtr*/ VBE_DISPI_LFB_PHYSICAL_ADDRESS,
1146 /*Bit32u OffScreenMemOffset*/ 0,
1147 /*Bit16u OffScreenMemSize*/ 0,
1148 // Mandatory information for VBE 3.0 and above
1149 /*Bit16u LinBytesPerScanLine*/ 320,
1150 /*Bit8u BnkNumberOfPages*/ 0,
1151 /*Bit8u LinNumberOfPages*/ 0,
1152 /*Bit8u LinRedMaskSize*/ 0,
1153 /*Bit8u LinRedFieldPosition*/ 0,
1154 /*Bit8u LinGreenMaskSize*/ 0,
1155 /*Bit8u LinGreenFieldPosition*/ 0,
1156 /*Bit8u LinBlueMaskSize*/ 0,
1157 /*Bit8u LinBlueFieldPosition*/ 0,
1158 /*Bit8u LinRsvdMaskSize*/ 0,
1159 /*Bit8u LinRsvdFieldPosition*/ 0,
1160 /*Bit32u MaxPixelClock*/ 0,
1161 /*} ModeInfoBlock;*/
1165 /** END OF THE LIST **/
1167 VBE_VESA_MODE_END_OF_LIST,
1174 #endif