Palacios Public Git Repository

To checkout Palacios execute

  git clone http://v3vee.org/palacios/palacios.web/palacios.git
This will give you the master branch. You probably want the devel branch or one of the release branches. To switch to the devel branch, simply execute
  cd palacios
  git checkout --track -b devel origin/devel
The other branches are similar.


Merge branch 'devel' of ssh://newskysaw.cs.northwestern.edu/home/palacios/palacios...
[palacios.git] / bios / vgabios / vbetables.h
1 #ifndef vbetables_h_included
2 #define vbetables_h_included
3
4 /* vbetables.h
5
6    This file contains a static mode information list containing all
7    bochs/plex86 "supported" VBE modi and their 'settings'.
8
9 */
10
11 typedef struct ModeInfoListItem
12 {
13         Bit16u                  mode;
14         ModeInfoBlockCompact    info;
15 } ModeInfoListItem;
16
17 // FIXME: check all member variables to be correct for the different modi
18 // FIXME: add more modi
19 static ModeInfoListItem mode_info_list[]=
20 {
21         {
22                 VBE_VESA_MODE_640X400X8,
23                 {
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;*/
88                 }
89         },
90
91         {
92                 VBE_VESA_MODE_640X480X8,
93                 {
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;*/
157                 }
158         },
159
160         {
161                 VBE_VESA_MODE_800X600X4,
162                 {
163 /*typedef struct ModeInfoBlock
164 {*/
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;*/
221                 }
222         },
223
224         {
225                 VBE_VESA_MODE_800X600X8,
226                 {
227 /*typedef struct ModeInfoBlock
228 {*/
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;*/
291                 }
292         },
293
294         {
295                 VBE_VESA_MODE_1024X768X8,
296                 {
297 /*typedef struct ModeInfoBlock
298 {*/
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;*/
361                 }
362         },
363
364         {
365                 VBE_VESA_MODE_640X480X1555,
366                 {
367 /*typedef struct ModeInfoBlock
368 {*/
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;*/
431                 }
432         },
433
434         {
435                 VBE_VESA_MODE_800X600X1555,
436                 {
437 /*typedef struct ModeInfoBlock
438 {*/
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;*/
501                 }
502         },
503
504         {
505                 VBE_VESA_MODE_1024X768X1555,
506                 {
507 /*typedef struct ModeInfoBlock
508 {*/
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;*/
571                 }
572         },
573
574         {
575                 VBE_VESA_MODE_640X480X565,
576                 {
577 /*typedef struct ModeInfoBlock
578 {*/
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;*/
641                 }
642         },
643
644         {
645                 VBE_VESA_MODE_800X600X565,
646                 {
647 /*typedef struct ModeInfoBlock
648 {*/
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;*/
711                 }
712         },
713
714         {
715                 VBE_VESA_MODE_1024X768X565,
716                 {
717 /*typedef struct ModeInfoBlock
718 {*/
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;*/
781                 }
782         },
783
784         {
785                 VBE_VESA_MODE_640X480X888,
786                 {
787 /*typedef struct ModeInfoBlock
788 {*/
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;*/
851                 }
852         },
853
854         {
855                 VBE_VESA_MODE_800X600X888,
856                 {
857 /*typedef struct ModeInfoBlock
858 {*/
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;*/
921                 }
922         },
923
924         {
925                 VBE_VESA_MODE_1024X768X888,
926                 {
927 /*typedef struct ModeInfoBlock
928 {*/
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;*/
991                 }
992         },
993
994         {
995                 VBE_OWN_MODE_640X480X8888,
996                 {
997 /*typedef struct ModeInfoBlock
998 {*/
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;*/
1061                 }
1062         },
1063
1064         {
1065                 VBE_OWN_MODE_800X600X8888,
1066                 {
1067 /*typedef struct ModeInfoBlock
1068 {*/
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;*/
1131                 }
1132         },
1133
1134         {
1135                 VBE_OWN_MODE_1024X768X8888,
1136                 {
1137 /*typedef struct ModeInfoBlock
1138 {*/
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;*/
1201                 }
1202         },
1203
1204         {
1205                 VBE_OWN_MODE_320X200X8,
1206                 {
1207 /*typedef struct ModeInfoBlock
1208 {*/
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;*/
1270                 }
1271         },
1272
1273 /** END OF THE LIST **/
1274         {
1275                 VBE_VESA_MODE_END_OF_LIST,
1276                 {
1277                         0,
1278                 }
1279         }
1280 };
1281
1282 #endif