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