Commit 8fa00e0fec0e57cd2d08cee27391925b9ea9eb93

Authored by bellard
1 parent 8454df8b

more high resolution VESA modes in -std-vga case - changed video memory size to 8 MB


git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1958 c046a42c-6fe2-441c-8c8c-71466251a162
pc-bios/vgabios.bin
No preview for this file type
pc-bios/vgabios.diff
... ... @@ -4,7 +4,7 @@ RCS file: /sources/vgabios/vgabios/clext.c,v
4 4 retrieving revision 1.10
5 5 diff -u -w -r1.10 clext.c
6 6 --- clext.c 25 Mar 2006 10:19:15 -0000 1.10
7   -+++ clext.c 14 May 2006 20:49:29 -0000
  7 ++++ clext.c 13 Jun 2006 16:47:23 -0000
8 8 @@ -544,6 +544,13 @@
9 9 cirrus_set_video_mode_extended:
10 10 call cirrus_switch_mode
... ... @@ -72,3 +72,2407 @@ diff -u -w -r1.10 clext.c
72 72 cirrus_extbios_handlers:
73 73 ;; 80h
74 74 dw cirrus_extbios_80h
  75 +Index: vbe.h
  76 +===================================================================
  77 +RCS file: /sources/vgabios/vgabios/vbe.h,v
  78 +retrieving revision 1.24
  79 +diff -u -w -r1.24 vbe.h
  80 +--- vbe.h 9 May 2004 20:31:31 -0000 1.24
  81 ++++ vbe.h 13 Jun 2006 16:47:24 -0000
  82 +@@ -193,6 +193,10 @@
  83 + #define VBE_VESA_MODE_1280X1024X1555 0x119
  84 + #define VBE_VESA_MODE_1280X1024X565 0x11A
  85 + #define VBE_VESA_MODE_1280X1024X888 0x11B
  86 ++#define VBE_VESA_MODE_1600X1200X8 0x11C
  87 ++#define VBE_VESA_MODE_1600X1200X1555 0x11D
  88 ++#define VBE_VESA_MODE_1600X1200X565 0x11E
  89 ++#define VBE_VESA_MODE_1600X1200X888 0x11F
  90 +
  91 + // BOCHS/PLEX86 'own' mode numbers
  92 + #define VBE_OWN_MODE_320X200X8888 0x140
  93 +@@ -202,6 +206,12 @@
  94 + #define VBE_OWN_MODE_1024X768X8888 0x144
  95 + #define VBE_OWN_MODE_1280X1024X8888 0x145
  96 + #define VBE_OWN_MODE_320X200X8 0x146
  97 ++#define VBE_OWN_MODE_1600X1200X8888 0x147
  98 ++#define VBE_OWN_MODE_1152X864X8 0x148
  99 ++#define VBE_OWN_MODE_1152X864X1555 0x149
  100 ++#define VBE_OWN_MODE_1152X864X565 0x14a
  101 ++#define VBE_OWN_MODE_1152X864X888 0x14b
  102 ++#define VBE_OWN_MODE_1152X864X8888 0x14c
  103 +
  104 + #define VBE_VESA_MODE_END_OF_LIST 0xFFFF
  105 +
  106 +@@ -259,7 +269,7 @@
  107 + // like 0xE0000000
  108 +
  109 +
  110 +- #define VBE_DISPI_TOTAL_VIDEO_MEMORY_MB 4
  111 ++ #define VBE_DISPI_TOTAL_VIDEO_MEMORY_MB 8
  112 +
  113 + #define VBE_DISPI_BANK_ADDRESS 0xA0000
  114 + #define VBE_DISPI_BANK_SIZE_KB 64
  115 +Index: vbetables.h
  116 +===================================================================
  117 +RCS file: /sources/vgabios/vgabios/vbetables.h,v
  118 +retrieving revision 1.24
  119 +diff -u -w -r1.24 vbetables.h
  120 +--- vbetables.h 22 Jul 2004 18:37:29 -0000 1.24
  121 ++++ vbetables.h 13 Jun 2006 16:47:24 -0000
  122 +@@ -14,46 +14,29 @@
  123 + ModeInfoBlockCompact info;
  124 + } ModeInfoListItem;
  125 +
  126 +-// FIXME: check all member variables to be correct for the different modi
  127 +-// FIXME: add more modi
  128 + static ModeInfoListItem mode_info_list[]=
  129 + {
  130 +- {
  131 +- VBE_VESA_MODE_640X400X8,
  132 +- {
  133 +-/*typedef struct ModeInfoBlock
  134 +-{*/
  135 +-// Mandatory information for all VBE revisions
  136 +- /*Bit16u ModeAttributes*/ VBE_MODE_ATTRIBUTE_SUPPORTED |
  137 +- VBE_MODE_ATTRIBUTE_EXTENDED_INFORMATION_AVAILABLE |
  138 +- VBE_MODE_ATTRIBUTE_COLOR_MODE |
  139 +-#ifdef VBE_HAVE_LFB
  140 +- VBE_MODE_ATTRIBUTE_LINEAR_FRAME_BUFFER_MODE |
  141 +-#endif
  142 +- VBE_MODE_ATTRIBUTE_GRAPHICS_MODE,
  143 +- /*Bit8u WinAAttributes*/ VBE_WINDOW_ATTRIBUTE_RELOCATABLE |
  144 +- VBE_WINDOW_ATTRIBUTE_READABLE |
  145 +- VBE_WINDOW_ATTRIBUTE_WRITEABLE,
  146 ++{ 0x0100, /* 640x400x8 */
  147 ++{ /*Bit16u ModeAttributes*/ VBE_MODE_ATTRIBUTE_SUPPORTED | VBE_MODE_ATTRIBUTE_EXTENDED_INFORMATION_AVAILABLE | VBE_MODE_ATTRIBUTE_COLOR_MODE | VBE_MODE_ATTRIBUTE_LINEAR_FRAME_BUFFER_MODE | VBE_MODE_ATTRIBUTE_GRAPHICS_MODE,
  148 ++/*Bit8u WinAAttributes*/ VBE_WINDOW_ATTRIBUTE_RELOCATABLE | VBE_WINDOW_ATTRIBUTE_READABLE | VBE_WINDOW_ATTRIBUTE_WRITEABLE,
  149 + /*Bit8u WinBAttributes*/ 0,
  150 + /*Bit16u WinGranularity*/ VBE_DISPI_BANK_SIZE_KB,
  151 + /*Bit16u WinSize*/ VBE_DISPI_BANK_SIZE_KB,
  152 + /*Bit16u WinASegment*/ VGAMEM_GRAPH,
  153 +- /*Bit16u WinBSegment*/ 0,
  154 ++/*Bit16u WinBSegment*/ 0x0000,
  155 + /*Bit32u WinFuncPtr*/ 0,
  156 + /*Bit16u BytesPerScanLine*/ 640,
  157 +-// Mandatory information for VBE 1.2 and above
  158 + /*Bit16u XResolution*/ 640,
  159 + /*Bit16u YResolution*/ 400,
  160 + /*Bit8u XCharSize*/ 8,
  161 + /*Bit8u YCharSize*/ 16,
  162 + /*Bit8u NumberOfPlanes*/ 1,
  163 + /*Bit8u BitsPerPixel*/ 8,
  164 +- /*Bit8u NumberOfBanks*/ 4, // 640x400/64kb == 4
  165 ++/*Bit8u NumberOfBanks*/ 4,
  166 + /*Bit8u MemoryModel*/ VBE_MEMORYMODEL_PACKED_PIXEL,
  167 + /*Bit8u BankSize*/ 0,
  168 +- /*Bit8u NumberOfImagePages*/ 15,
  169 ++/*Bit8u NumberOfImagePages*/ 0,
  170 + /*Bit8u Reserved_page*/ 0,
  171 +-// Direct Color fields (required for direct/6 and YUV/7 memory models)
  172 + /*Bit8u RedMaskSize*/ 0,
  173 + /*Bit8u RedFieldPosition*/ 0,
  174 + /*Bit8u GreenMaskSize*/ 0,
  175 +@@ -63,15 +46,9 @@
  176 + /*Bit8u RsvdMaskSize*/ 0,
  177 + /*Bit8u RsvdFieldPosition*/ 0,
  178 + /*Bit8u DirectColorModeInfo*/ 0,
  179 +-// Mandatory information for VBE 2.0 and above
  180 +-#ifdef VBE_HAVE_LFB
  181 + /*Bit32u PhysBasePtr*/ VBE_DISPI_LFB_PHYSICAL_ADDRESS,
  182 +-#else
  183 +- /*Bit32u PhysBasePtr*/ 0,
  184 +-#endif
  185 + /*Bit32u OffScreenMemOffset*/ 0,
  186 + /*Bit16u OffScreenMemSize*/ 0,
  187 +-// Mandatory information for VBE 3.0 and above
  188 + /*Bit16u LinBytesPerScanLine*/ 640,
  189 + /*Bit8u BnkNumberOfPages*/ 0,
  190 + /*Bit8u LinNumberOfPages*/ 0,
  191 +@@ -84,45 +61,28 @@
  192 + /*Bit8u LinRsvdMaskSize*/ 0,
  193 + /*Bit8u LinRsvdFieldPosition*/ 0,
  194 + /*Bit32u MaxPixelClock*/ 0,
  195 +-/*} ModeInfoBlock;*/
  196 +- }
  197 +- },
  198 +-
  199 +- {
  200 +- VBE_VESA_MODE_640X480X8,
  201 +- {
  202 +-/*typedef struct ModeInfoBlock
  203 +-{*/
  204 +-// Mandatory information for all VBE revisions
  205 +- /*Bit16u ModeAttributes*/ VBE_MODE_ATTRIBUTE_SUPPORTED |
  206 +- VBE_MODE_ATTRIBUTE_EXTENDED_INFORMATION_AVAILABLE |
  207 +- VBE_MODE_ATTRIBUTE_COLOR_MODE |
  208 +-#ifdef VBE_HAVE_LFB
  209 +- VBE_MODE_ATTRIBUTE_LINEAR_FRAME_BUFFER_MODE |
  210 +-#endif
  211 +- VBE_MODE_ATTRIBUTE_GRAPHICS_MODE,
  212 +- /*Bit8u WinAAttributes*/ VBE_WINDOW_ATTRIBUTE_READABLE |
  213 +- VBE_WINDOW_ATTRIBUTE_WRITEABLE,
  214 ++} },
  215 ++{ 0x0101, /* 640x480x8 */
  216 ++{ /*Bit16u ModeAttributes*/ VBE_MODE_ATTRIBUTE_SUPPORTED | VBE_MODE_ATTRIBUTE_EXTENDED_INFORMATION_AVAILABLE | VBE_MODE_ATTRIBUTE_COLOR_MODE | VBE_MODE_ATTRIBUTE_LINEAR_FRAME_BUFFER_MODE | VBE_MODE_ATTRIBUTE_GRAPHICS_MODE,
  217 ++/*Bit8u WinAAttributes*/ VBE_WINDOW_ATTRIBUTE_RELOCATABLE | VBE_WINDOW_ATTRIBUTE_READABLE | VBE_WINDOW_ATTRIBUTE_WRITEABLE,
  218 + /*Bit8u WinBAttributes*/ 0,
  219 + /*Bit16u WinGranularity*/ VBE_DISPI_BANK_SIZE_KB,
  220 + /*Bit16u WinSize*/ VBE_DISPI_BANK_SIZE_KB,
  221 + /*Bit16u WinASegment*/ VGAMEM_GRAPH,
  222 +- /*Bit16u WinBSegment*/ 0,
  223 ++/*Bit16u WinBSegment*/ 0x0000,
  224 + /*Bit32u WinFuncPtr*/ 0,
  225 + /*Bit16u BytesPerScanLine*/ 640,
  226 +-// Mandatory information for VBE 1.2 and above
  227 + /*Bit16u XResolution*/ 640,
  228 + /*Bit16u YResolution*/ 480,
  229 + /*Bit8u XCharSize*/ 8,
  230 + /*Bit8u YCharSize*/ 16,
  231 + /*Bit8u NumberOfPlanes*/ 1,
  232 + /*Bit8u BitsPerPixel*/ 8,
  233 +- /*Bit8u NumberOfBanks*/ 5, // 640x480/64kb == 5
  234 ++/*Bit8u NumberOfBanks*/ 5,
  235 + /*Bit8u MemoryModel*/ VBE_MEMORYMODEL_PACKED_PIXEL,
  236 + /*Bit8u BankSize*/ 0,
  237 +- /*Bit8u NumberOfImagePages*/ 11,
  238 ++/*Bit8u NumberOfImagePages*/ 0,
  239 + /*Bit8u Reserved_page*/ 0,
  240 +-// Direct Color fields (required for direct/6 and YUV/7 memory models)
  241 + /*Bit8u RedMaskSize*/ 0,
  242 + /*Bit8u RedFieldPosition*/ 0,
  243 + /*Bit8u GreenMaskSize*/ 0,
  244 +@@ -132,15 +92,9 @@
  245 + /*Bit8u RsvdMaskSize*/ 0,
  246 + /*Bit8u RsvdFieldPosition*/ 0,
  247 + /*Bit8u DirectColorModeInfo*/ 0,
  248 +-// Mandatory information for VBE 2.0 and above
  249 +-#ifdef VBE_HAVE_LFB
  250 + /*Bit32u PhysBasePtr*/ VBE_DISPI_LFB_PHYSICAL_ADDRESS,
  251 +-#else
  252 +- /*Bit32u PhysBasePtr*/ 0,
  253 +-#endif
  254 + /*Bit32u OffScreenMemOffset*/ 0,
  255 + /*Bit16u OffScreenMemSize*/ 0,
  256 +-// Mandatory information for VBE 3.0 and above
  257 + /*Bit16u LinBytesPerScanLine*/ 640,
  258 + /*Bit8u BnkNumberOfPages*/ 0,
  259 + /*Bit8u LinNumberOfPages*/ 0,
  260 +@@ -153,44 +107,28 @@
  261 + /*Bit8u LinRsvdMaskSize*/ 0,
  262 + /*Bit8u LinRsvdFieldPosition*/ 0,
  263 + /*Bit32u MaxPixelClock*/ 0,
  264 +-/*} ModeInfoBlock;*/
  265 +- }
  266 +- },
  267 +-
  268 +- {
  269 +- VBE_VESA_MODE_800X600X4,
  270 +- {
  271 +-/*typedef struct ModeInfoBlock
  272 +-{*/
  273 +-// Mandatory information for all VBE revisions
  274 +- /*Bit16u ModeAttributes*/ VBE_MODE_ATTRIBUTE_SUPPORTED |
  275 +- VBE_MODE_ATTRIBUTE_EXTENDED_INFORMATION_AVAILABLE |
  276 +- VBE_MODE_ATTRIBUTE_TTY_BIOS_SUPPORT |
  277 +- VBE_MODE_ATTRIBUTE_COLOR_MODE |
  278 +- VBE_MODE_ATTRIBUTE_GRAPHICS_MODE,
  279 +- /*Bit8u WinAAttributes*/ VBE_WINDOW_ATTRIBUTE_RELOCATABLE |
  280 +- VBE_WINDOW_ATTRIBUTE_READABLE |
  281 +- VBE_WINDOW_ATTRIBUTE_WRITEABLE,
  282 ++} },
  283 ++{ 0x0102, /* 800x600x4 */
  284 ++{ /*Bit16u ModeAttributes*/ VBE_MODE_ATTRIBUTE_SUPPORTED | VBE_MODE_ATTRIBUTE_EXTENDED_INFORMATION_AVAILABLE | VBE_MODE_ATTRIBUTE_COLOR_MODE | VBE_MODE_ATTRIBUTE_LINEAR_FRAME_BUFFER_MODE | VBE_MODE_ATTRIBUTE_GRAPHICS_MODE,
  285 ++/*Bit8u WinAAttributes*/ VBE_WINDOW_ATTRIBUTE_RELOCATABLE | VBE_WINDOW_ATTRIBUTE_READABLE | VBE_WINDOW_ATTRIBUTE_WRITEABLE,
  286 + /*Bit8u WinBAttributes*/ 0,
  287 + /*Bit16u WinGranularity*/ VBE_DISPI_BANK_SIZE_KB,
  288 + /*Bit16u WinSize*/ VBE_DISPI_BANK_SIZE_KB,
  289 + /*Bit16u WinASegment*/ VGAMEM_GRAPH,
  290 +- /*Bit16u WinBSegment*/ 0,
  291 ++/*Bit16u WinBSegment*/ 0x0000,
  292 + /*Bit32u WinFuncPtr*/ 0,
  293 + /*Bit16u BytesPerScanLine*/ 100,
  294 +-// Mandatory information for VBE 1.2 and above
  295 + /*Bit16u XResolution*/ 800,
  296 + /*Bit16u YResolution*/ 600,
  297 + /*Bit8u XCharSize*/ 8,
  298 + /*Bit8u YCharSize*/ 16,
  299 + /*Bit8u NumberOfPlanes*/ 4,
  300 + /*Bit8u BitsPerPixel*/ 4,
  301 +- /*Bit8u NumberOfBanks*/ 16,
  302 ++/*Bit8u NumberOfBanks*/ 1,
  303 + /*Bit8u MemoryModel*/ VBE_MEMORYMODEL_PLANAR,
  304 + /*Bit8u BankSize*/ 0,
  305 +- /*Bit8u NumberOfImagePages*/ 15,
  306 ++/*Bit8u NumberOfImagePages*/ 0,
  307 + /*Bit8u Reserved_page*/ 0,
  308 +-// Direct Color fields (required for direct/6 and YUV/7 memory models)
  309 + /*Bit8u RedMaskSize*/ 0,
  310 + /*Bit8u RedFieldPosition*/ 0,
  311 + /*Bit8u GreenMaskSize*/ 0,
  312 +@@ -200,11 +138,9 @@
  313 + /*Bit8u RsvdMaskSize*/ 0,
  314 + /*Bit8u RsvdFieldPosition*/ 0,
  315 + /*Bit8u DirectColorModeInfo*/ 0,
  316 +-// Mandatory information for VBE 2.0 and above
  317 +- /*Bit32u PhysBasePtr*/ 0,
  318 ++/*Bit32u PhysBasePtr*/ VBE_DISPI_LFB_PHYSICAL_ADDRESS,
  319 + /*Bit32u OffScreenMemOffset*/ 0,
  320 + /*Bit16u OffScreenMemSize*/ 0,
  321 +-// Mandatory information for VBE 3.0 and above
  322 + /*Bit16u LinBytesPerScanLine*/ 100,
  323 + /*Bit8u BnkNumberOfPages*/ 0,
  324 + /*Bit8u LinNumberOfPages*/ 0,
  325 +@@ -217,46 +153,28 @@
  326 + /*Bit8u LinRsvdMaskSize*/ 0,
  327 + /*Bit8u LinRsvdFieldPosition*/ 0,
  328 + /*Bit32u MaxPixelClock*/ 0,
  329 +-/*} ModeInfoBlock;*/
  330 +- }
  331 +- },
  332 +-
  333 +- {
  334 +- VBE_VESA_MODE_800X600X8,
  335 +- {
  336 +-/*typedef struct ModeInfoBlock
  337 +-{*/
  338 +-// Mandatory information for all VBE revisions
  339 +- /*Bit16u ModeAttributes*/ VBE_MODE_ATTRIBUTE_SUPPORTED |
  340 +- VBE_MODE_ATTRIBUTE_EXTENDED_INFORMATION_AVAILABLE |
  341 +- VBE_MODE_ATTRIBUTE_COLOR_MODE |
  342 +-#ifdef VBE_HAVE_LFB
  343 +- VBE_MODE_ATTRIBUTE_LINEAR_FRAME_BUFFER_MODE |
  344 +-#endif
  345 +- VBE_MODE_ATTRIBUTE_GRAPHICS_MODE,
  346 +- /*Bit8u WinAAttributes*/ VBE_WINDOW_ATTRIBUTE_RELOCATABLE |
  347 +- VBE_WINDOW_ATTRIBUTE_READABLE |
  348 +- VBE_WINDOW_ATTRIBUTE_WRITEABLE,
  349 ++} },
  350 ++{ 0x0103, /* 800x600x8 */
  351 ++{ /*Bit16u ModeAttributes*/ VBE_MODE_ATTRIBUTE_SUPPORTED | VBE_MODE_ATTRIBUTE_EXTENDED_INFORMATION_AVAILABLE | VBE_MODE_ATTRIBUTE_COLOR_MODE | VBE_MODE_ATTRIBUTE_LINEAR_FRAME_BUFFER_MODE | VBE_MODE_ATTRIBUTE_GRAPHICS_MODE,
  352 ++/*Bit8u WinAAttributes*/ VBE_WINDOW_ATTRIBUTE_RELOCATABLE | VBE_WINDOW_ATTRIBUTE_READABLE | VBE_WINDOW_ATTRIBUTE_WRITEABLE,
  353 + /*Bit8u WinBAttributes*/ 0,
  354 + /*Bit16u WinGranularity*/ VBE_DISPI_BANK_SIZE_KB,
  355 + /*Bit16u WinSize*/ VBE_DISPI_BANK_SIZE_KB,
  356 + /*Bit16u WinASegment*/ VGAMEM_GRAPH,
  357 +- /*Bit16u WinBSegment*/ 0,
  358 ++/*Bit16u WinBSegment*/ 0x0000,
  359 + /*Bit32u WinFuncPtr*/ 0,
  360 + /*Bit16u BytesPerScanLine*/ 800,
  361 +-// Mandatory information for VBE 1.2 and above
  362 + /*Bit16u XResolution*/ 800,
  363 + /*Bit16u YResolution*/ 600,
  364 + /*Bit8u XCharSize*/ 8,
  365 + /*Bit8u YCharSize*/ 16,
  366 + /*Bit8u NumberOfPlanes*/ 1,
  367 + /*Bit8u BitsPerPixel*/ 8,
  368 +- /*Bit8u NumberOfBanks*/ 8, // 800x600/64kb == 8
  369 ++/*Bit8u NumberOfBanks*/ 8,
  370 + /*Bit8u MemoryModel*/ VBE_MEMORYMODEL_PACKED_PIXEL,
  371 + /*Bit8u BankSize*/ 0,
  372 +- /*Bit8u NumberOfImagePages*/ 7,
  373 ++/*Bit8u NumberOfImagePages*/ 0,
  374 + /*Bit8u Reserved_page*/ 0,
  375 +-// Direct Color fields (required for direct/6 and YUV/7 memory models)
  376 + /*Bit8u RedMaskSize*/ 0,
  377 + /*Bit8u RedFieldPosition*/ 0,
  378 + /*Bit8u GreenMaskSize*/ 0,
  379 +@@ -266,15 +184,9 @@
  380 + /*Bit8u RsvdMaskSize*/ 0,
  381 + /*Bit8u RsvdFieldPosition*/ 0,
  382 + /*Bit8u DirectColorModeInfo*/ 0,
  383 +-// Mandatory information for VBE 2.0 and above
  384 +-#ifdef VBE_HAVE_LFB
  385 + /*Bit32u PhysBasePtr*/ VBE_DISPI_LFB_PHYSICAL_ADDRESS,
  386 +-#else
  387 +- /*Bit32u PhysBasePtr*/ 0,
  388 +-#endif
  389 + /*Bit32u OffScreenMemOffset*/ 0,
  390 + /*Bit16u OffScreenMemSize*/ 0,
  391 +-// Mandatory information for VBE 3.0 and above
  392 + /*Bit16u LinBytesPerScanLine*/ 800,
  393 + /*Bit8u BnkNumberOfPages*/ 0,
  394 + /*Bit8u LinNumberOfPages*/ 0,
  395 +@@ -287,46 +199,28 @@
  396 + /*Bit8u LinRsvdMaskSize*/ 0,
  397 + /*Bit8u LinRsvdFieldPosition*/ 0,
  398 + /*Bit32u MaxPixelClock*/ 0,
  399 +-/*} ModeInfoBlock;*/
  400 +- }
  401 +- },
  402 +-
  403 +- {
  404 +- VBE_VESA_MODE_1024X768X8,
  405 +- {
  406 +-/*typedef struct ModeInfoBlock
  407 +-{*/
  408 +-// Mandatory information for all VBE revisions
  409 +- /*Bit16u ModeAttributes*/ VBE_MODE_ATTRIBUTE_SUPPORTED |
  410 +- VBE_MODE_ATTRIBUTE_EXTENDED_INFORMATION_AVAILABLE |
  411 +- VBE_MODE_ATTRIBUTE_COLOR_MODE |
  412 +-#ifdef VBE_HAVE_LFB
  413 +- VBE_MODE_ATTRIBUTE_LINEAR_FRAME_BUFFER_MODE |
  414 +-#endif
  415 +- VBE_MODE_ATTRIBUTE_GRAPHICS_MODE,
  416 +- /*Bit8u WinAAttributes*/ VBE_WINDOW_ATTRIBUTE_RELOCATABLE |
  417 +- VBE_WINDOW_ATTRIBUTE_READABLE |
  418 +- VBE_WINDOW_ATTRIBUTE_WRITEABLE,
  419 ++} },
  420 ++{ 0x0105, /* 1024x768x8 */
  421 ++{ /*Bit16u ModeAttributes*/ VBE_MODE_ATTRIBUTE_SUPPORTED | VBE_MODE_ATTRIBUTE_EXTENDED_INFORMATION_AVAILABLE | VBE_MODE_ATTRIBUTE_COLOR_MODE | VBE_MODE_ATTRIBUTE_LINEAR_FRAME_BUFFER_MODE | VBE_MODE_ATTRIBUTE_GRAPHICS_MODE,
  422 ++/*Bit8u WinAAttributes*/ VBE_WINDOW_ATTRIBUTE_RELOCATABLE | VBE_WINDOW_ATTRIBUTE_READABLE | VBE_WINDOW_ATTRIBUTE_WRITEABLE,
  423 + /*Bit8u WinBAttributes*/ 0,
  424 + /*Bit16u WinGranularity*/ VBE_DISPI_BANK_SIZE_KB,
  425 + /*Bit16u WinSize*/ VBE_DISPI_BANK_SIZE_KB,
  426 + /*Bit16u WinASegment*/ VGAMEM_GRAPH,
  427 +- /*Bit16u WinBSegment*/ 0,
  428 ++/*Bit16u WinBSegment*/ 0x0000,
  429 + /*Bit32u WinFuncPtr*/ 0,
  430 + /*Bit16u BytesPerScanLine*/ 1024,
  431 +-// Mandatory information for VBE 1.2 and above
  432 + /*Bit16u XResolution*/ 1024,
  433 + /*Bit16u YResolution*/ 768,
  434 + /*Bit8u XCharSize*/ 8,
  435 + /*Bit8u YCharSize*/ 16,
  436 + /*Bit8u NumberOfPlanes*/ 1,
  437 + /*Bit8u BitsPerPixel*/ 8,
  438 +- /*Bit8u NumberOfBanks*/ 12, // 1024x768/64kb == 12
  439 ++/*Bit8u NumberOfBanks*/ 12,
  440 + /*Bit8u MemoryModel*/ VBE_MEMORYMODEL_PACKED_PIXEL,
  441 + /*Bit8u BankSize*/ 0,
  442 +- /*Bit8u NumberOfImagePages*/ 3,
  443 ++/*Bit8u NumberOfImagePages*/ 0,
  444 + /*Bit8u Reserved_page*/ 0,
  445 +-// Direct Color fields (required for direct/6 and YUV/7 memory models)
  446 + /*Bit8u RedMaskSize*/ 0,
  447 + /*Bit8u RedFieldPosition*/ 0,
  448 + /*Bit8u GreenMaskSize*/ 0,
  449 +@@ -336,15 +230,9 @@
  450 + /*Bit8u RsvdMaskSize*/ 0,
  451 + /*Bit8u RsvdFieldPosition*/ 0,
  452 + /*Bit8u DirectColorModeInfo*/ 0,
  453 +-// Mandatory information for VBE 2.0 and above
  454 +-#ifdef VBE_HAVE_LFB
  455 + /*Bit32u PhysBasePtr*/ VBE_DISPI_LFB_PHYSICAL_ADDRESS,
  456 +-#else
  457 +- /*Bit32u PhysBasePtr*/ 0,
  458 +-#endif
  459 + /*Bit32u OffScreenMemOffset*/ 0,
  460 + /*Bit16u OffScreenMemSize*/ 0,
  461 +-// Mandatory information for VBE 3.0 and above
  462 + /*Bit16u LinBytesPerScanLine*/ 1024,
  463 + /*Bit8u BnkNumberOfPages*/ 0,
  464 + /*Bit8u LinNumberOfPages*/ 0,
  465 +@@ -357,116 +245,74 @@
  466 + /*Bit8u LinRsvdMaskSize*/ 0,
  467 + /*Bit8u LinRsvdFieldPosition*/ 0,
  468 + /*Bit32u MaxPixelClock*/ 0,
  469 +-/*} ModeInfoBlock;*/
  470 +- }
  471 +- },
  472 +-
  473 +- {
  474 +- VBE_VESA_MODE_640X480X1555,
  475 +- {
  476 +-/*typedef struct ModeInfoBlock
  477 +-{*/
  478 +-// Mandatory information for all VBE revisions
  479 +- /*Bit16u ModeAttributes*/ VBE_MODE_ATTRIBUTE_SUPPORTED |
  480 +- VBE_MODE_ATTRIBUTE_EXTENDED_INFORMATION_AVAILABLE |
  481 +- VBE_MODE_ATTRIBUTE_COLOR_MODE |
  482 +-#ifdef VBE_HAVE_LFB
  483 +- VBE_MODE_ATTRIBUTE_LINEAR_FRAME_BUFFER_MODE |
  484 +-#endif
  485 +- VBE_MODE_ATTRIBUTE_GRAPHICS_MODE,
  486 +- /*Bit8u WinAAttributes*/ VBE_WINDOW_ATTRIBUTE_RELOCATABLE |
  487 +- VBE_WINDOW_ATTRIBUTE_READABLE |
  488 +- VBE_WINDOW_ATTRIBUTE_WRITEABLE,
  489 ++} },
  490 ++{ 0x0107, /* 1280x1024x8 */
  491 ++{ /*Bit16u ModeAttributes*/ VBE_MODE_ATTRIBUTE_SUPPORTED | VBE_MODE_ATTRIBUTE_EXTENDED_INFORMATION_AVAILABLE | VBE_MODE_ATTRIBUTE_COLOR_MODE | VBE_MODE_ATTRIBUTE_LINEAR_FRAME_BUFFER_MODE | VBE_MODE_ATTRIBUTE_GRAPHICS_MODE,
  492 ++/*Bit8u WinAAttributes*/ VBE_WINDOW_ATTRIBUTE_RELOCATABLE | VBE_WINDOW_ATTRIBUTE_READABLE | VBE_WINDOW_ATTRIBUTE_WRITEABLE,
  493 + /*Bit8u WinBAttributes*/ 0,
  494 + /*Bit16u WinGranularity*/ VBE_DISPI_BANK_SIZE_KB,
  495 + /*Bit16u WinSize*/ VBE_DISPI_BANK_SIZE_KB,
  496 + /*Bit16u WinASegment*/ VGAMEM_GRAPH,
  497 +- /*Bit16u WinBSegment*/ 0,
  498 ++/*Bit16u WinBSegment*/ 0x0000,
  499 + /*Bit32u WinFuncPtr*/ 0,
  500 +- /*Bit16u BytesPerScanLine*/ 640*2,
  501 +-// Mandatory information for VBE 1.2 and above
  502 +- /*Bit16u XResolution*/ 640,
  503 +- /*Bit16u YResolution*/ 480,
  504 ++/*Bit16u BytesPerScanLine*/ 1280,
  505 ++/*Bit16u XResolution*/ 1280,
  506 ++/*Bit16u YResolution*/ 1024,
  507 + /*Bit8u XCharSize*/ 8,
  508 + /*Bit8u YCharSize*/ 16,
  509 + /*Bit8u NumberOfPlanes*/ 1,
  510 +- /*Bit8u BitsPerPixel*/ 15,
  511 +- /*Bit8u NumberOfBanks*/ 1,
  512 +- /*Bit8u MemoryModel*/ VBE_MEMORYMODEL_DIRECT_COLOR,
  513 ++/*Bit8u BitsPerPixel*/ 8,
  514 ++/*Bit8u NumberOfBanks*/ 20,
  515 ++/*Bit8u MemoryModel*/ VBE_MEMORYMODEL_PACKED_PIXEL,
  516 + /*Bit8u BankSize*/ 0,
  517 +- /*Bit8u NumberOfImagePages*/ 5,
  518 ++/*Bit8u NumberOfImagePages*/ 0,
  519 + /*Bit8u Reserved_page*/ 0,
  520 +-// Direct Color fields (required for direct/6 and YUV/7 memory models)
  521 +- /*Bit8u RedMaskSize*/ 5,
  522 +- /*Bit8u RedFieldPosition*/ 10,
  523 +- /*Bit8u GreenMaskSize*/ 5,
  524 +- /*Bit8u GreenFieldPosition*/ 5,
  525 +- /*Bit8u BlueMaskSize*/ 5,
  526 ++/*Bit8u RedMaskSize*/ 0,
  527 ++/*Bit8u RedFieldPosition*/ 0,
  528 ++/*Bit8u GreenMaskSize*/ 0,
  529 ++/*Bit8u GreenFieldPosition*/ 0,
  530 ++/*Bit8u BlueMaskSize*/ 0,
  531 + /*Bit8u BlueFieldPosition*/ 0,
  532 +- /*Bit8u RsvdMaskSize*/ 1,
  533 +- /*Bit8u RsvdFieldPosition*/ 15,
  534 ++/*Bit8u RsvdMaskSize*/ 0,
  535 ++/*Bit8u RsvdFieldPosition*/ 0,
  536 + /*Bit8u DirectColorModeInfo*/ 0,
  537 +-// Mandatory information for VBE 2.0 and above
  538 +-#ifdef VBE_HAVE_LFB
  539 + /*Bit32u PhysBasePtr*/ VBE_DISPI_LFB_PHYSICAL_ADDRESS,
  540 +-#else
  541 +- /*Bit32u PhysBasePtr*/ 0,
  542 +-#endif
  543 + /*Bit32u OffScreenMemOffset*/ 0,
  544 + /*Bit16u OffScreenMemSize*/ 0,
  545 +-// Mandatory information for VBE 3.0 and above
  546 +- /*Bit16u LinBytesPerScanLine*/ 640*2,
  547 ++/*Bit16u LinBytesPerScanLine*/ 1280,
  548 + /*Bit8u BnkNumberOfPages*/ 0,
  549 + /*Bit8u LinNumberOfPages*/ 0,
  550 +- /*Bit8u LinRedMaskSize*/ 5,
  551 +- /*Bit8u LinRedFieldPosition*/ 10,
  552 ++/*Bit8u LinRedMaskSize*/ 0,
  553 ++/*Bit8u LinRedFieldPosition*/ 0,
  554 + /*Bit8u LinGreenMaskSize*/ 0,
  555 +- /*Bit8u LinGreenFieldPosition*/ 5,
  556 +- /*Bit8u LinBlueMaskSize*/ 5,
  557 ++/*Bit8u LinGreenFieldPosition*/ 0,
  558 ++/*Bit8u LinBlueMaskSize*/ 0,
  559 + /*Bit8u LinBlueFieldPosition*/ 0,
  560 +- /*Bit8u LinRsvdMaskSize*/ 1,
  561 +- /*Bit8u LinRsvdFieldPosition*/ 15,
  562 ++/*Bit8u LinRsvdMaskSize*/ 0,
  563 ++/*Bit8u LinRsvdFieldPosition*/ 0,
  564 + /*Bit32u MaxPixelClock*/ 0,
  565 +-/*} ModeInfoBlock;*/
  566 +- }
  567 +- },
  568 +-
  569 +- {
  570 +- VBE_VESA_MODE_800X600X1555,
  571 +- {
  572 +-/*typedef struct ModeInfoBlock
  573 +-{*/
  574 +-// Mandatory information for all VBE revisions
  575 +- /*Bit16u ModeAttributes*/ VBE_MODE_ATTRIBUTE_SUPPORTED |
  576 +- VBE_MODE_ATTRIBUTE_EXTENDED_INFORMATION_AVAILABLE |
  577 +- VBE_MODE_ATTRIBUTE_COLOR_MODE |
  578 +-#ifdef VBE_HAVE_LFB
  579 +- VBE_MODE_ATTRIBUTE_LINEAR_FRAME_BUFFER_MODE |
  580 +-#endif
  581 +- VBE_MODE_ATTRIBUTE_GRAPHICS_MODE,
  582 +- /*Bit8u WinAAttributes*/ VBE_WINDOW_ATTRIBUTE_RELOCATABLE |
  583 +- VBE_WINDOW_ATTRIBUTE_READABLE |
  584 +- VBE_WINDOW_ATTRIBUTE_WRITEABLE,
  585 ++} },
  586 ++{ 0x010d, /* 320x200x15 */
  587 ++{ /*Bit16u ModeAttributes*/ VBE_MODE_ATTRIBUTE_SUPPORTED | VBE_MODE_ATTRIBUTE_EXTENDED_INFORMATION_AVAILABLE | VBE_MODE_ATTRIBUTE_COLOR_MODE | VBE_MODE_ATTRIBUTE_LINEAR_FRAME_BUFFER_MODE | VBE_MODE_ATTRIBUTE_GRAPHICS_MODE,
  588 ++/*Bit8u WinAAttributes*/ VBE_WINDOW_ATTRIBUTE_RELOCATABLE | VBE_WINDOW_ATTRIBUTE_READABLE | VBE_WINDOW_ATTRIBUTE_WRITEABLE,
  589 + /*Bit8u WinBAttributes*/ 0,
  590 + /*Bit16u WinGranularity*/ VBE_DISPI_BANK_SIZE_KB,
  591 + /*Bit16u WinSize*/ VBE_DISPI_BANK_SIZE_KB,
  592 + /*Bit16u WinASegment*/ VGAMEM_GRAPH,
  593 +- /*Bit16u WinBSegment*/ 0,
  594 ++/*Bit16u WinBSegment*/ 0x0000,
  595 + /*Bit32u WinFuncPtr*/ 0,
  596 +- /*Bit16u BytesPerScanLine*/ 800*2,
  597 +-// Mandatory information for VBE 1.2 and above
  598 +- /*Bit16u XResolution*/ 800,
  599 +- /*Bit16u YResolution*/ 600,
  600 ++/*Bit16u BytesPerScanLine*/ 640,
  601 ++/*Bit16u XResolution*/ 320,
  602 ++/*Bit16u YResolution*/ 200,
  603 + /*Bit8u XCharSize*/ 8,
  604 + /*Bit8u YCharSize*/ 16,
  605 + /*Bit8u NumberOfPlanes*/ 1,
  606 + /*Bit8u BitsPerPixel*/ 15,
  607 +- /*Bit8u NumberOfBanks*/ 1,
  608 ++/*Bit8u NumberOfBanks*/ 2,
  609 + /*Bit8u MemoryModel*/ VBE_MEMORYMODEL_DIRECT_COLOR,
  610 + /*Bit8u BankSize*/ 0,
  611 +- /*Bit8u NumberOfImagePages*/ 3,
  612 ++/*Bit8u NumberOfImagePages*/ 0,
  613 + /*Bit8u Reserved_page*/ 0,
  614 +-// Direct Color fields (required for direct/6 and YUV/7 memory models)
  615 + /*Bit8u RedMaskSize*/ 5,
  616 + /*Bit8u RedFieldPosition*/ 10,
  617 + /*Bit8u GreenMaskSize*/ 5,
  618 +@@ -476,16 +322,10 @@
  619 + /*Bit8u RsvdMaskSize*/ 1,
  620 + /*Bit8u RsvdFieldPosition*/ 15,
  621 + /*Bit8u DirectColorModeInfo*/ 0,
  622 +-// Mandatory information for VBE 2.0 and above
  623 +-#ifdef VBE_HAVE_LFB
  624 + /*Bit32u PhysBasePtr*/ VBE_DISPI_LFB_PHYSICAL_ADDRESS,
  625 +-#else
  626 +- /*Bit32u PhysBasePtr*/ 0,
  627 +-#endif
  628 + /*Bit32u OffScreenMemOffset*/ 0,
  629 + /*Bit16u OffScreenMemSize*/ 0,
  630 +-// Mandatory information for VBE 3.0 and above
  631 +- /*Bit16u LinBytesPerScanLine*/ 800*2,
  632 ++/*Bit16u LinBytesPerScanLine*/ 640,
  633 + /*Bit8u BnkNumberOfPages*/ 0,
  634 + /*Bit8u LinNumberOfPages*/ 0,
  635 + /*Bit8u LinRedMaskSize*/ 5,
  636 +@@ -497,256 +337,166 @@
  637 + /*Bit8u LinRsvdMaskSize*/ 1,
  638 + /*Bit8u LinRsvdFieldPosition*/ 15,
  639 + /*Bit32u MaxPixelClock*/ 0,
  640 +-/*} ModeInfoBlock;*/
  641 +- }
  642 +- },
  643 +-
  644 +- {
  645 +- VBE_VESA_MODE_1024X768X1555,
  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 ++} },
  661 ++{ 0x010e, /* 320x200x16 */
  662 ++{ /*Bit16u ModeAttributes*/ VBE_MODE_ATTRIBUTE_SUPPORTED | VBE_MODE_ATTRIBUTE_EXTENDED_INFORMATION_AVAILABLE | VBE_MODE_ATTRIBUTE_COLOR_MODE | VBE_MODE_ATTRIBUTE_LINEAR_FRAME_BUFFER_MODE | VBE_MODE_ATTRIBUTE_GRAPHICS_MODE,
  663 ++/*Bit8u WinAAttributes*/ VBE_WINDOW_ATTRIBUTE_RELOCATABLE | VBE_WINDOW_ATTRIBUTE_READABLE | VBE_WINDOW_ATTRIBUTE_WRITEABLE,
  664 + /*Bit8u WinBAttributes*/ 0,
  665 + /*Bit16u WinGranularity*/ VBE_DISPI_BANK_SIZE_KB,
  666 + /*Bit16u WinSize*/ VBE_DISPI_BANK_SIZE_KB,
  667 + /*Bit16u WinASegment*/ VGAMEM_GRAPH,
  668 +- /*Bit16u WinBSegment*/ 0,
  669 ++/*Bit16u WinBSegment*/ 0x0000,
  670 + /*Bit32u WinFuncPtr*/ 0,
  671 +- /*Bit16u BytesPerScanLine*/ 1024*2,
  672 +-// Mandatory information for VBE 1.2 and above
  673 +- /*Bit16u XResolution*/ 1024,
  674 +- /*Bit16u YResolution*/ 768,
  675 ++/*Bit16u BytesPerScanLine*/ 640,
  676 ++/*Bit16u XResolution*/ 320,
  677 ++/*Bit16u YResolution*/ 200,
  678 + /*Bit8u XCharSize*/ 8,
  679 + /*Bit8u YCharSize*/ 16,
  680 + /*Bit8u NumberOfPlanes*/ 1,
  681 +- /*Bit8u BitsPerPixel*/ 15,
  682 +- /*Bit8u NumberOfBanks*/ 1,
  683 ++/*Bit8u BitsPerPixel*/ 16,
  684 ++/*Bit8u NumberOfBanks*/ 2,
  685 + /*Bit8u MemoryModel*/ VBE_MEMORYMODEL_DIRECT_COLOR,
  686 + /*Bit8u BankSize*/ 0,
  687 +- /*Bit8u NumberOfImagePages*/ 1,
  688 ++/*Bit8u NumberOfImagePages*/ 0,
  689 + /*Bit8u Reserved_page*/ 0,
  690 +-// Direct Color fields (required for direct/6 and YUV/7 memory models)
  691 + /*Bit8u RedMaskSize*/ 5,
  692 +- /*Bit8u RedFieldPosition*/ 10,
  693 +- /*Bit8u GreenMaskSize*/ 5,
  694 ++/*Bit8u RedFieldPosition*/ 11,
  695 ++/*Bit8u GreenMaskSize*/ 6,
  696 + /*Bit8u GreenFieldPosition*/ 5,
  697 + /*Bit8u BlueMaskSize*/ 5,
  698 + /*Bit8u BlueFieldPosition*/ 0,
  699 +- /*Bit8u RsvdMaskSize*/ 1,
  700 +- /*Bit8u RsvdFieldPosition*/ 15,
  701 ++/*Bit8u RsvdMaskSize*/ 0,
  702 ++/*Bit8u RsvdFieldPosition*/ 0,
  703 + /*Bit8u DirectColorModeInfo*/ 0,
  704 +-// Mandatory information for VBE 2.0 and above
  705 +-#ifdef VBE_HAVE_LFB
  706 + /*Bit32u PhysBasePtr*/ VBE_DISPI_LFB_PHYSICAL_ADDRESS,
  707 +-#else
  708 +- /*Bit32u PhysBasePtr*/ 0,
  709 +-#endif
  710 + /*Bit32u OffScreenMemOffset*/ 0,
  711 + /*Bit16u OffScreenMemSize*/ 0,
  712 +-// Mandatory information for VBE 3.0 and above
  713 +- /*Bit16u LinBytesPerScanLine*/ 1024*2,
  714 ++/*Bit16u LinBytesPerScanLine*/ 640,
  715 + /*Bit8u BnkNumberOfPages*/ 0,
  716 + /*Bit8u LinNumberOfPages*/ 0,
  717 + /*Bit8u LinRedMaskSize*/ 5,
  718 +- /*Bit8u LinRedFieldPosition*/ 10,
  719 +- /*Bit8u LinGreenMaskSize*/ 5,
  720 ++/*Bit8u LinRedFieldPosition*/ 11,
  721 ++/*Bit8u LinGreenMaskSize*/ 6,
  722 + /*Bit8u LinGreenFieldPosition*/ 5,
  723 + /*Bit8u LinBlueMaskSize*/ 5,
  724 + /*Bit8u LinBlueFieldPosition*/ 0,
  725 +- /*Bit8u LinRsvdMaskSize*/ 1,
  726 +- /*Bit8u LinRsvdFieldPosition*/ 15,
  727 ++/*Bit8u LinRsvdMaskSize*/ 0,
  728 ++/*Bit8u LinRsvdFieldPosition*/ 0,
  729 + /*Bit32u MaxPixelClock*/ 0,
  730 +-/*} ModeInfoBlock;*/
  731 +- }
  732 +- },
  733 +-
  734 +- {
  735 +- VBE_VESA_MODE_640X480X565,
  736 +- {
  737 +-/*typedef struct ModeInfoBlock
  738 +-{*/
  739 +-// Mandatory information for all VBE revisions
  740 +- /*Bit16u ModeAttributes*/ VBE_MODE_ATTRIBUTE_SUPPORTED |
  741 +- VBE_MODE_ATTRIBUTE_EXTENDED_INFORMATION_AVAILABLE |
  742 +- VBE_MODE_ATTRIBUTE_COLOR_MODE |
  743 +-#ifdef VBE_HAVE_LFB
  744 +- VBE_MODE_ATTRIBUTE_LINEAR_FRAME_BUFFER_MODE |
  745 +-#endif
  746 +- VBE_MODE_ATTRIBUTE_GRAPHICS_MODE,
  747 +- /*Bit8u WinAAttributes*/ VBE_WINDOW_ATTRIBUTE_RELOCATABLE |
  748 +- VBE_WINDOW_ATTRIBUTE_READABLE |
  749 +- VBE_WINDOW_ATTRIBUTE_WRITEABLE,
  750 ++} },
  751 ++{ 0x010f, /* 320x200x24 */
  752 ++{ /*Bit16u ModeAttributes*/ VBE_MODE_ATTRIBUTE_SUPPORTED | VBE_MODE_ATTRIBUTE_EXTENDED_INFORMATION_AVAILABLE | VBE_MODE_ATTRIBUTE_COLOR_MODE | VBE_MODE_ATTRIBUTE_LINEAR_FRAME_BUFFER_MODE | VBE_MODE_ATTRIBUTE_GRAPHICS_MODE,
  753 ++/*Bit8u WinAAttributes*/ VBE_WINDOW_ATTRIBUTE_RELOCATABLE | VBE_WINDOW_ATTRIBUTE_READABLE | VBE_WINDOW_ATTRIBUTE_WRITEABLE,
  754 + /*Bit8u WinBAttributes*/ 0,
  755 + /*Bit16u WinGranularity*/ VBE_DISPI_BANK_SIZE_KB,
  756 + /*Bit16u WinSize*/ VBE_DISPI_BANK_SIZE_KB,
  757 + /*Bit16u WinASegment*/ VGAMEM_GRAPH,
  758 +- /*Bit16u WinBSegment*/ 0,
  759 ++/*Bit16u WinBSegment*/ 0x0000,
  760 + /*Bit32u WinFuncPtr*/ 0,
  761 +- /*Bit16u BytesPerScanLine*/ 640*2,
  762 +-// Mandatory information for VBE 1.2 and above
  763 +- /*Bit16u XResolution*/ 640,
  764 +- /*Bit16u YResolution*/ 480,
  765 ++/*Bit16u BytesPerScanLine*/ 960,
  766 ++/*Bit16u XResolution*/ 320,
  767 ++/*Bit16u YResolution*/ 200,
  768 + /*Bit8u XCharSize*/ 8,
  769 + /*Bit8u YCharSize*/ 16,
  770 + /*Bit8u NumberOfPlanes*/ 1,
  771 +- /*Bit8u BitsPerPixel*/ 16,
  772 +- /*Bit8u NumberOfBanks*/ 1,
  773 ++/*Bit8u BitsPerPixel*/ 24,
  774 ++/*Bit8u NumberOfBanks*/ 3,
  775 + /*Bit8u MemoryModel*/ VBE_MEMORYMODEL_DIRECT_COLOR,
  776 + /*Bit8u BankSize*/ 0,
  777 +- /*Bit8u NumberOfImagePages*/ 5,
  778 ++/*Bit8u NumberOfImagePages*/ 0,
  779 + /*Bit8u Reserved_page*/ 0,
  780 +-// Direct Color fields (required for direct/6 and YUV/7 memory models)
  781 +- /*Bit8u RedMaskSize*/ 5,
  782 +- /*Bit8u RedFieldPosition*/ 11,
  783 +- /*Bit8u GreenMaskSize*/ 6,
  784 +- /*Bit8u GreenFieldPosition*/ 5,
  785 +- /*Bit8u BlueMaskSize*/ 5,
  786 ++/*Bit8u RedMaskSize*/ 8,
  787 ++/*Bit8u RedFieldPosition*/ 16,
  788 ++/*Bit8u GreenMaskSize*/ 8,
  789 ++/*Bit8u GreenFieldPosition*/ 8,
  790 ++/*Bit8u BlueMaskSize*/ 8,
  791 + /*Bit8u BlueFieldPosition*/ 0,
  792 + /*Bit8u RsvdMaskSize*/ 0,
  793 + /*Bit8u RsvdFieldPosition*/ 0,
  794 + /*Bit8u DirectColorModeInfo*/ 0,
  795 +-// Mandatory information for VBE 2.0 and above
  796 +-#ifdef VBE_HAVE_LFB
  797 + /*Bit32u PhysBasePtr*/ VBE_DISPI_LFB_PHYSICAL_ADDRESS,
  798 +-#else
  799 +- /*Bit32u PhysBasePtr*/ 0,
  800 +-#endif
  801 + /*Bit32u OffScreenMemOffset*/ 0,
  802 + /*Bit16u OffScreenMemSize*/ 0,
  803 +-// Mandatory information for VBE 3.0 and above
  804 +- /*Bit16u LinBytesPerScanLine*/ 640*2,
  805 ++/*Bit16u LinBytesPerScanLine*/ 960,
  806 + /*Bit8u BnkNumberOfPages*/ 0,
  807 + /*Bit8u LinNumberOfPages*/ 0,
  808 +- /*Bit8u LinRedMaskSize*/ 5,
  809 +- /*Bit8u LinRedFieldPosition*/ 11,
  810 +- /*Bit8u LinGreenMaskSize*/ 6,
  811 +- /*Bit8u LinGreenFieldPosition*/ 5,
  812 +- /*Bit8u LinBlueMaskSize*/ 5,
  813 ++/*Bit8u LinRedMaskSize*/ 8,
  814 ++/*Bit8u LinRedFieldPosition*/ 16,
  815 ++/*Bit8u LinGreenMaskSize*/ 8,
  816 ++/*Bit8u LinGreenFieldPosition*/ 8,
  817 ++/*Bit8u LinBlueMaskSize*/ 8,
  818 + /*Bit8u LinBlueFieldPosition*/ 0,
  819 + /*Bit8u LinRsvdMaskSize*/ 0,
  820 + /*Bit8u LinRsvdFieldPosition*/ 0,
  821 + /*Bit32u MaxPixelClock*/ 0,
  822 +-/*} ModeInfoBlock;*/
  823 +- }
  824 +- },
  825 +-
  826 +- {
  827 +- VBE_VESA_MODE_800X600X565,
  828 +- {
  829 +-/*typedef struct ModeInfoBlock
  830 +-{*/
  831 +-// Mandatory information for all VBE revisions
  832 +- /*Bit16u ModeAttributes*/ VBE_MODE_ATTRIBUTE_SUPPORTED |
  833 +- VBE_MODE_ATTRIBUTE_EXTENDED_INFORMATION_AVAILABLE |
  834 +- VBE_MODE_ATTRIBUTE_COLOR_MODE |
  835 +-#ifdef VBE_HAVE_LFB
  836 +- VBE_MODE_ATTRIBUTE_LINEAR_FRAME_BUFFER_MODE |
  837 +-#endif
  838 +- VBE_MODE_ATTRIBUTE_GRAPHICS_MODE,
  839 +- /*Bit8u WinAAttributes*/ VBE_WINDOW_ATTRIBUTE_RELOCATABLE |
  840 +- VBE_WINDOW_ATTRIBUTE_READABLE |
  841 +- VBE_WINDOW_ATTRIBUTE_WRITEABLE,
  842 ++} },
  843 ++{ 0x0110, /* 640x480x15 */
  844 ++{ /*Bit16u ModeAttributes*/ VBE_MODE_ATTRIBUTE_SUPPORTED | VBE_MODE_ATTRIBUTE_EXTENDED_INFORMATION_AVAILABLE | VBE_MODE_ATTRIBUTE_COLOR_MODE | VBE_MODE_ATTRIBUTE_LINEAR_FRAME_BUFFER_MODE | VBE_MODE_ATTRIBUTE_GRAPHICS_MODE,
  845 ++/*Bit8u WinAAttributes*/ VBE_WINDOW_ATTRIBUTE_RELOCATABLE | VBE_WINDOW_ATTRIBUTE_READABLE | VBE_WINDOW_ATTRIBUTE_WRITEABLE,
  846 + /*Bit8u WinBAttributes*/ 0,
  847 + /*Bit16u WinGranularity*/ VBE_DISPI_BANK_SIZE_KB,
  848 + /*Bit16u WinSize*/ VBE_DISPI_BANK_SIZE_KB,
  849 + /*Bit16u WinASegment*/ VGAMEM_GRAPH,
  850 +- /*Bit16u WinBSegment*/ 0,
  851 ++/*Bit16u WinBSegment*/ 0x0000,
  852 + /*Bit32u WinFuncPtr*/ 0,
  853 +- /*Bit16u BytesPerScanLine*/ 800*2,
  854 +-// Mandatory information for VBE 1.2 and above
  855 +- /*Bit16u XResolution*/ 800,
  856 +- /*Bit16u YResolution*/ 600,
  857 ++/*Bit16u BytesPerScanLine*/ 1280,
  858 ++/*Bit16u XResolution*/ 640,
  859 ++/*Bit16u YResolution*/ 480,
  860 + /*Bit8u XCharSize*/ 8,
  861 + /*Bit8u YCharSize*/ 16,
  862 + /*Bit8u NumberOfPlanes*/ 1,
  863 +- /*Bit8u BitsPerPixel*/ 16,
  864 +- /*Bit8u NumberOfBanks*/ 1,
  865 ++/*Bit8u BitsPerPixel*/ 15,
  866 ++/*Bit8u NumberOfBanks*/ 10,
  867 + /*Bit8u MemoryModel*/ VBE_MEMORYMODEL_DIRECT_COLOR,
  868 + /*Bit8u BankSize*/ 0,
  869 +- /*Bit8u NumberOfImagePages*/ 3,
  870 ++/*Bit8u NumberOfImagePages*/ 0,
  871 + /*Bit8u Reserved_page*/ 0,
  872 +-// Direct Color fields (required for direct/6 and YUV/7 memory models)
  873 + /*Bit8u RedMaskSize*/ 5,
  874 +- /*Bit8u RedFieldPosition*/ 11,
  875 +- /*Bit8u GreenMaskSize*/ 6,
  876 ++/*Bit8u RedFieldPosition*/ 10,
  877 ++/*Bit8u GreenMaskSize*/ 5,
  878 + /*Bit8u GreenFieldPosition*/ 5,
  879 + /*Bit8u BlueMaskSize*/ 5,
  880 + /*Bit8u BlueFieldPosition*/ 0,
  881 +- /*Bit8u RsvdMaskSize*/ 0,
  882 +- /*Bit8u RsvdFieldPosition*/ 0,
  883 ++/*Bit8u RsvdMaskSize*/ 1,
  884 ++/*Bit8u RsvdFieldPosition*/ 15,
  885 + /*Bit8u DirectColorModeInfo*/ 0,
  886 +-// Mandatory information for VBE 2.0 and above
  887 +-#ifdef VBE_HAVE_LFB
  888 + /*Bit32u PhysBasePtr*/ VBE_DISPI_LFB_PHYSICAL_ADDRESS,
  889 +-#else
  890 +- /*Bit32u PhysBasePtr*/ 0,
  891 +-#endif
  892 + /*Bit32u OffScreenMemOffset*/ 0,
  893 + /*Bit16u OffScreenMemSize*/ 0,
  894 +-// Mandatory information for VBE 3.0 and above
  895 +- /*Bit16u LinBytesPerScanLine*/ 800*2,
  896 ++/*Bit16u LinBytesPerScanLine*/ 1280,
  897 + /*Bit8u BnkNumberOfPages*/ 0,
  898 + /*Bit8u LinNumberOfPages*/ 0,
  899 + /*Bit8u LinRedMaskSize*/ 5,
  900 +- /*Bit8u LinRedFieldPosition*/ 11,
  901 +- /*Bit8u LinGreenMaskSize*/ 6,
  902 ++/*Bit8u LinRedFieldPosition*/ 10,
  903 ++/*Bit8u LinGreenMaskSize*/ 5,
  904 + /*Bit8u LinGreenFieldPosition*/ 5,
  905 + /*Bit8u LinBlueMaskSize*/ 5,
  906 + /*Bit8u LinBlueFieldPosition*/ 0,
  907 +- /*Bit8u LinRsvdMaskSize*/ 0,
  908 +- /*Bit8u LinRsvdFieldPosition*/ 0,
  909 ++/*Bit8u LinRsvdMaskSize*/ 1,
  910 ++/*Bit8u LinRsvdFieldPosition*/ 15,
  911 + /*Bit32u MaxPixelClock*/ 0,
  912 +-/*} ModeInfoBlock;*/
  913 +- }
  914 +- },
  915 +-
  916 +- {
  917 +- VBE_VESA_MODE_1024X768X565,
  918 +- {
  919 +-/*typedef struct ModeInfoBlock
  920 +-{*/
  921 +-// Mandatory information for all VBE revisions
  922 +- /*Bit16u ModeAttributes*/ VBE_MODE_ATTRIBUTE_SUPPORTED |
  923 +- VBE_MODE_ATTRIBUTE_EXTENDED_INFORMATION_AVAILABLE |
  924 +- VBE_MODE_ATTRIBUTE_COLOR_MODE |
  925 +-#ifdef VBE_HAVE_LFB
  926 +- VBE_MODE_ATTRIBUTE_LINEAR_FRAME_BUFFER_MODE |
  927 +-#endif
  928 +- VBE_MODE_ATTRIBUTE_GRAPHICS_MODE,
  929 +- /*Bit8u WinAAttributes*/ VBE_WINDOW_ATTRIBUTE_RELOCATABLE |
  930 +- VBE_WINDOW_ATTRIBUTE_READABLE |
  931 +- VBE_WINDOW_ATTRIBUTE_WRITEABLE,
  932 ++} },
  933 ++{ 0x0111, /* 640x480x16 */
  934 ++{ /*Bit16u ModeAttributes*/ VBE_MODE_ATTRIBUTE_SUPPORTED | VBE_MODE_ATTRIBUTE_EXTENDED_INFORMATION_AVAILABLE | VBE_MODE_ATTRIBUTE_COLOR_MODE | VBE_MODE_ATTRIBUTE_LINEAR_FRAME_BUFFER_MODE | VBE_MODE_ATTRIBUTE_GRAPHICS_MODE,
  935 ++/*Bit8u WinAAttributes*/ VBE_WINDOW_ATTRIBUTE_RELOCATABLE | VBE_WINDOW_ATTRIBUTE_READABLE | VBE_WINDOW_ATTRIBUTE_WRITEABLE,
  936 + /*Bit8u WinBAttributes*/ 0,
  937 + /*Bit16u WinGranularity*/ VBE_DISPI_BANK_SIZE_KB,
  938 + /*Bit16u WinSize*/ VBE_DISPI_BANK_SIZE_KB,
  939 + /*Bit16u WinASegment*/ VGAMEM_GRAPH,
  940 +- /*Bit16u WinBSegment*/ 0,
  941 ++/*Bit16u WinBSegment*/ 0x0000,
  942 + /*Bit32u WinFuncPtr*/ 0,
  943 +- /*Bit16u BytesPerScanLine*/ 1024*2,
  944 +-// Mandatory information for VBE 1.2 and above
  945 +- /*Bit16u XResolution*/ 1024,
  946 +- /*Bit16u YResolution*/ 768,
  947 ++/*Bit16u BytesPerScanLine*/ 1280,
  948 ++/*Bit16u XResolution*/ 640,
  949 ++/*Bit16u YResolution*/ 480,
  950 + /*Bit8u XCharSize*/ 8,
  951 + /*Bit8u YCharSize*/ 16,
  952 + /*Bit8u NumberOfPlanes*/ 1,
  953 + /*Bit8u BitsPerPixel*/ 16,
  954 +- /*Bit8u NumberOfBanks*/ 1,
  955 ++/*Bit8u NumberOfBanks*/ 10,
  956 + /*Bit8u MemoryModel*/ VBE_MEMORYMODEL_DIRECT_COLOR,
  957 + /*Bit8u BankSize*/ 0,
  958 +- /*Bit8u NumberOfImagePages*/ 1,
  959 ++/*Bit8u NumberOfImagePages*/ 0,
  960 + /*Bit8u Reserved_page*/ 0,
  961 +-// Direct Color fields (required for direct/6 and YUV/7 memory models)
  962 + /*Bit8u RedMaskSize*/ 5,
  963 + /*Bit8u RedFieldPosition*/ 11,
  964 + /*Bit8u GreenMaskSize*/ 6,
  965 +@@ -756,16 +506,10 @@
  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*2,
  979 ++/*Bit16u LinBytesPerScanLine*/ 1280,
  980 + /*Bit8u BnkNumberOfPages*/ 0,
  981 + /*Bit8u LinNumberOfPages*/ 0,
  982 + /*Bit8u LinRedMaskSize*/ 5,
  983 +@@ -777,46 +521,28 @@
  984 + /*Bit8u LinRsvdMaskSize*/ 0,
  985 + /*Bit8u LinRsvdFieldPosition*/ 0,
  986 + /*Bit32u MaxPixelClock*/ 0,
  987 +-/*} ModeInfoBlock;*/
  988 +- }
  989 +- },
  990 +-
  991 +- {
  992 +- VBE_VESA_MODE_640X480X888,
  993 +- {
  994 +-/*typedef struct ModeInfoBlock
  995 +-{*/
  996 +-// Mandatory information for all VBE revisions
  997 +- /*Bit16u ModeAttributes*/ VBE_MODE_ATTRIBUTE_SUPPORTED |
  998 +- VBE_MODE_ATTRIBUTE_EXTENDED_INFORMATION_AVAILABLE |
  999 +- VBE_MODE_ATTRIBUTE_COLOR_MODE |
  1000 +-#ifdef VBE_HAVE_LFB
  1001 +- VBE_MODE_ATTRIBUTE_LINEAR_FRAME_BUFFER_MODE |
  1002 +-#endif
  1003 +- VBE_MODE_ATTRIBUTE_GRAPHICS_MODE,
  1004 +- /*Bit8u WinAAttributes*/ VBE_WINDOW_ATTRIBUTE_RELOCATABLE |
  1005 +- VBE_WINDOW_ATTRIBUTE_READABLE |
  1006 +- VBE_WINDOW_ATTRIBUTE_WRITEABLE,
  1007 ++} },
  1008 ++{ 0x0112, /* 640x480x24 */
  1009 ++{ /*Bit16u ModeAttributes*/ VBE_MODE_ATTRIBUTE_SUPPORTED | VBE_MODE_ATTRIBUTE_EXTENDED_INFORMATION_AVAILABLE | VBE_MODE_ATTRIBUTE_COLOR_MODE | VBE_MODE_ATTRIBUTE_LINEAR_FRAME_BUFFER_MODE | VBE_MODE_ATTRIBUTE_GRAPHICS_MODE,
  1010 ++/*Bit8u WinAAttributes*/ VBE_WINDOW_ATTRIBUTE_RELOCATABLE | VBE_WINDOW_ATTRIBUTE_READABLE | VBE_WINDOW_ATTRIBUTE_WRITEABLE,
  1011 + /*Bit8u WinBAttributes*/ 0,
  1012 + /*Bit16u WinGranularity*/ VBE_DISPI_BANK_SIZE_KB,
  1013 + /*Bit16u WinSize*/ VBE_DISPI_BANK_SIZE_KB,
  1014 + /*Bit16u WinASegment*/ VGAMEM_GRAPH,
  1015 +- /*Bit16u WinBSegment*/ 0,
  1016 ++/*Bit16u WinBSegment*/ 0x0000,
  1017 + /*Bit32u WinFuncPtr*/ 0,
  1018 +- /*Bit16u BytesPerScanLine*/ 640*3,
  1019 +-// Mandatory information for VBE 1.2 and above
  1020 ++/*Bit16u BytesPerScanLine*/ 1920,
  1021 + /*Bit16u XResolution*/ 640,
  1022 + /*Bit16u YResolution*/ 480,
  1023 + /*Bit8u XCharSize*/ 8,
  1024 + /*Bit8u YCharSize*/ 16,
  1025 + /*Bit8u NumberOfPlanes*/ 1,
  1026 + /*Bit8u BitsPerPixel*/ 24,
  1027 +- /*Bit8u NumberOfBanks*/ 1,
  1028 ++/*Bit8u NumberOfBanks*/ 15,
  1029 + /*Bit8u MemoryModel*/ VBE_MEMORYMODEL_DIRECT_COLOR,
  1030 + /*Bit8u BankSize*/ 0,
  1031 +- /*Bit8u NumberOfImagePages*/ 3,
  1032 ++/*Bit8u NumberOfImagePages*/ 0,
  1033 + /*Bit8u Reserved_page*/ 0,
  1034 +-// Direct Color fields (required for direct/6 and YUV/7 memory models)
  1035 + /*Bit8u RedMaskSize*/ 8,
  1036 + /*Bit8u RedFieldPosition*/ 16,
  1037 + /*Bit8u GreenMaskSize*/ 8,
  1038 +@@ -826,16 +552,10 @@
  1039 + /*Bit8u RsvdMaskSize*/ 0,
  1040 + /*Bit8u RsvdFieldPosition*/ 0,
  1041 + /*Bit8u DirectColorModeInfo*/ 0,
  1042 +-// Mandatory information for VBE 2.0 and above
  1043 +-#ifdef VBE_HAVE_LFB
  1044 + /*Bit32u PhysBasePtr*/ VBE_DISPI_LFB_PHYSICAL_ADDRESS,
  1045 +-#else
  1046 +- /*Bit32u PhysBasePtr*/ 0,
  1047 +-#endif
  1048 + /*Bit32u OffScreenMemOffset*/ 0,
  1049 + /*Bit16u OffScreenMemSize*/ 0,
  1050 +-// Mandatory information for VBE 3.0 and above
  1051 +- /*Bit16u LinBytesPerScanLine*/ 640*3,
  1052 ++/*Bit16u LinBytesPerScanLine*/ 1920,
  1053 + /*Bit8u BnkNumberOfPages*/ 0,
  1054 + /*Bit8u LinNumberOfPages*/ 0,
  1055 + /*Bit8u LinRedMaskSize*/ 8,
  1056 +@@ -847,186 +567,764 @@
  1057 + /*Bit8u LinRsvdMaskSize*/ 0,
  1058 + /*Bit8u LinRsvdFieldPosition*/ 0,
  1059 + /*Bit32u MaxPixelClock*/ 0,
  1060 +-/*} ModeInfoBlock;*/
  1061 +- }
  1062 +- },
  1063 +-
  1064 +- {
  1065 +- VBE_VESA_MODE_800X600X888,
  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 ++} },
  1081 ++{ 0x0113, /* 800x600x15 */
  1082 ++{ /*Bit16u ModeAttributes*/ VBE_MODE_ATTRIBUTE_SUPPORTED | VBE_MODE_ATTRIBUTE_EXTENDED_INFORMATION_AVAILABLE | VBE_MODE_ATTRIBUTE_COLOR_MODE | VBE_MODE_ATTRIBUTE_LINEAR_FRAME_BUFFER_MODE | VBE_MODE_ATTRIBUTE_GRAPHICS_MODE,
  1083 ++/*Bit8u WinAAttributes*/ VBE_WINDOW_ATTRIBUTE_RELOCATABLE | VBE_WINDOW_ATTRIBUTE_READABLE | VBE_WINDOW_ATTRIBUTE_WRITEABLE,
  1084 + /*Bit8u WinBAttributes*/ 0,
  1085 + /*Bit16u WinGranularity*/ VBE_DISPI_BANK_SIZE_KB,
  1086 + /*Bit16u WinSize*/ VBE_DISPI_BANK_SIZE_KB,
  1087 + /*Bit16u WinASegment*/ VGAMEM_GRAPH,
  1088 +- /*Bit16u WinBSegment*/ 0,
  1089 ++/*Bit16u WinBSegment*/ 0x0000,
  1090 + /*Bit32u WinFuncPtr*/ 0,
  1091 +- /*Bit16u BytesPerScanLine*/ 800*3,
  1092 +-// Mandatory information for VBE 1.2 and above
  1093 ++/*Bit16u BytesPerScanLine*/ 1600,
  1094 + /*Bit16u XResolution*/ 800,
  1095 + /*Bit16u YResolution*/ 600,
  1096 + /*Bit8u XCharSize*/ 8,
  1097 + /*Bit8u YCharSize*/ 16,
  1098 + /*Bit8u NumberOfPlanes*/ 1,
  1099 +- /*Bit8u BitsPerPixel*/ 24,
  1100 +- /*Bit8u NumberOfBanks*/ 1,
  1101 ++/*Bit8u BitsPerPixel*/ 15,
  1102 ++/*Bit8u NumberOfBanks*/ 15,
  1103 + /*Bit8u MemoryModel*/ VBE_MEMORYMODEL_DIRECT_COLOR,
  1104 + /*Bit8u BankSize*/ 0,
  1105 +- /*Bit8u NumberOfImagePages*/ 1,
  1106 ++/*Bit8u NumberOfImagePages*/ 0,
  1107 + /*Bit8u Reserved_page*/ 0,
  1108 +-// Direct Color fields (required for direct/6 and YUV/7 memory models)
  1109 +- /*Bit8u RedMaskSize*/ 8,
  1110 +- /*Bit8u RedFieldPosition*/ 16,
  1111 +- /*Bit8u GreenMaskSize*/ 8,
  1112 +- /*Bit8u GreenFieldPosition*/ 8,
  1113 +- /*Bit8u BlueMaskSize*/ 8,
  1114 ++/*Bit8u RedMaskSize*/ 5,
  1115 ++/*Bit8u RedFieldPosition*/ 10,
  1116 ++/*Bit8u GreenMaskSize*/ 5,
  1117 ++/*Bit8u GreenFieldPosition*/ 5,
  1118 ++/*Bit8u BlueMaskSize*/ 5,
  1119 + /*Bit8u BlueFieldPosition*/ 0,
  1120 +- /*Bit8u RsvdMaskSize*/ 0,
  1121 +- /*Bit8u RsvdFieldPosition*/ 0,
  1122 ++/*Bit8u RsvdMaskSize*/ 1,
  1123 ++/*Bit8u RsvdFieldPosition*/ 15,
  1124 + /*Bit8u DirectColorModeInfo*/ 0,
  1125 +-// Mandatory information for VBE 2.0 and above
  1126 +-#ifdef VBE_HAVE_LFB
  1127 + /*Bit32u PhysBasePtr*/ VBE_DISPI_LFB_PHYSICAL_ADDRESS,
  1128 +-#else
  1129 +- /*Bit32u PhysBasePtr*/ 0,
  1130 +-#endif
  1131 + /*Bit32u OffScreenMemOffset*/ 0,
  1132 + /*Bit16u OffScreenMemSize*/ 0,
  1133 +-// Mandatory information for VBE 3.0 and above
  1134 +- /*Bit16u LinBytesPerScanLine*/ 800*3,
  1135 ++/*Bit16u LinBytesPerScanLine*/ 1600,
  1136 + /*Bit8u BnkNumberOfPages*/ 0,
  1137 + /*Bit8u LinNumberOfPages*/ 0,
  1138 +- /*Bit8u LinRedMaskSize*/ 8,
  1139 +- /*Bit8u LinRedFieldPosition*/ 16,
  1140 +- /*Bit8u LinGreenMaskSize*/ 8,
  1141 +- /*Bit8u LinGreenFieldPosition*/ 8,
  1142 +- /*Bit8u LinBlueMaskSize*/ 8,
  1143 ++/*Bit8u LinRedMaskSize*/ 5,
  1144 ++/*Bit8u LinRedFieldPosition*/ 10,
  1145 ++/*Bit8u LinGreenMaskSize*/ 5,
  1146 ++/*Bit8u LinGreenFieldPosition*/ 5,
  1147 ++/*Bit8u LinBlueMaskSize*/ 5,
  1148 + /*Bit8u LinBlueFieldPosition*/ 0,
  1149 +- /*Bit8u LinRsvdMaskSize*/ 0,
  1150 +- /*Bit8u LinRsvdFieldPosition*/ 0,
  1151 ++/*Bit8u LinRsvdMaskSize*/ 1,
  1152 ++/*Bit8u LinRsvdFieldPosition*/ 15,
  1153 + /*Bit32u MaxPixelClock*/ 0,
  1154 +-/*} ModeInfoBlock;*/
  1155 +- }
  1156 +- },
  1157 +-
  1158 +- {
  1159 +- VBE_VESA_MODE_1024X768X888,
  1160 +- {
  1161 +-/*typedef struct ModeInfoBlock
  1162 +-{*/
  1163 +-// Mandatory information for all VBE revisions
  1164 +- /*Bit16u ModeAttributes*/ VBE_MODE_ATTRIBUTE_SUPPORTED |
  1165 +- VBE_MODE_ATTRIBUTE_EXTENDED_INFORMATION_AVAILABLE |
  1166 +- VBE_MODE_ATTRIBUTE_COLOR_MODE |
  1167 +-#ifdef VBE_HAVE_LFB
  1168 +- VBE_MODE_ATTRIBUTE_LINEAR_FRAME_BUFFER_MODE |
  1169 +-#endif
  1170 +- VBE_MODE_ATTRIBUTE_GRAPHICS_MODE,
  1171 +- /*Bit8u WinAAttributes*/ VBE_WINDOW_ATTRIBUTE_RELOCATABLE |
  1172 +- VBE_WINDOW_ATTRIBUTE_READABLE |
  1173 +- VBE_WINDOW_ATTRIBUTE_WRITEABLE,
  1174 ++} },
  1175 ++{ 0x0114, /* 800x600x16 */
  1176 ++{ /*Bit16u ModeAttributes*/ VBE_MODE_ATTRIBUTE_SUPPORTED | VBE_MODE_ATTRIBUTE_EXTENDED_INFORMATION_AVAILABLE | VBE_MODE_ATTRIBUTE_COLOR_MODE | VBE_MODE_ATTRIBUTE_LINEAR_FRAME_BUFFER_MODE | VBE_MODE_ATTRIBUTE_GRAPHICS_MODE,
  1177 ++/*Bit8u WinAAttributes*/ VBE_WINDOW_ATTRIBUTE_RELOCATABLE | VBE_WINDOW_ATTRIBUTE_READABLE | VBE_WINDOW_ATTRIBUTE_WRITEABLE,
  1178 + /*Bit8u WinBAttributes*/ 0,
  1179 + /*Bit16u WinGranularity*/ VBE_DISPI_BANK_SIZE_KB,
  1180 + /*Bit16u WinSize*/ VBE_DISPI_BANK_SIZE_KB,
  1181 + /*Bit16u WinASegment*/ VGAMEM_GRAPH,
  1182 +- /*Bit16u WinBSegment*/ 0,
  1183 ++/*Bit16u WinBSegment*/ 0x0000,
  1184 + /*Bit32u WinFuncPtr*/ 0,
  1185 +- /*Bit16u BytesPerScanLine*/ 1024*3,
  1186 +-// Mandatory information for VBE 1.2 and above
  1187 +- /*Bit16u XResolution*/ 1024,
  1188 +- /*Bit16u YResolution*/ 768,
  1189 ++/*Bit16u BytesPerScanLine*/ 1600,
  1190 ++/*Bit16u XResolution*/ 800,
  1191 ++/*Bit16u YResolution*/ 600,
  1192 + /*Bit8u XCharSize*/ 8,
  1193 + /*Bit8u YCharSize*/ 16,
  1194 + /*Bit8u NumberOfPlanes*/ 1,
  1195 +- /*Bit8u BitsPerPixel*/ 24,
  1196 +- /*Bit8u NumberOfBanks*/ 1,
  1197 ++/*Bit8u BitsPerPixel*/ 16,
  1198 ++/*Bit8u NumberOfBanks*/ 15,
  1199 + /*Bit8u MemoryModel*/ VBE_MEMORYMODEL_DIRECT_COLOR,
  1200 + /*Bit8u BankSize*/ 0,
  1201 + /*Bit8u NumberOfImagePages*/ 0,
  1202 + /*Bit8u Reserved_page*/ 0,
  1203 +-// Direct Color fields (required for direct/6 and YUV/7 memory models)
  1204 +- /*Bit8u RedMaskSize*/ 8,
  1205 +- /*Bit8u RedFieldPosition*/ 16,
  1206 +- /*Bit8u GreenMaskSize*/ 8,
  1207 +- /*Bit8u GreenFieldPosition*/ 8,
  1208 +- /*Bit8u BlueMaskSize*/ 8,
  1209 ++/*Bit8u RedMaskSize*/ 5,
  1210 ++/*Bit8u RedFieldPosition*/ 11,
  1211 ++/*Bit8u GreenMaskSize*/ 6,
  1212 ++/*Bit8u GreenFieldPosition*/ 5,
  1213 ++/*Bit8u BlueMaskSize*/ 5,
  1214 + /*Bit8u BlueFieldPosition*/ 0,
  1215 + /*Bit8u RsvdMaskSize*/ 0,
  1216 + /*Bit8u RsvdFieldPosition*/ 0,
  1217 + /*Bit8u DirectColorModeInfo*/ 0,
  1218 +-// Mandatory information for VBE 2.0 and above
  1219 +-#ifdef VBE_HAVE_LFB
  1220 + /*Bit32u PhysBasePtr*/ VBE_DISPI_LFB_PHYSICAL_ADDRESS,
  1221 +-#else
  1222 +- /*Bit32u PhysBasePtr*/ 0,
  1223 +-#endif
  1224 + /*Bit32u OffScreenMemOffset*/ 0,
  1225 + /*Bit16u OffScreenMemSize*/ 0,
  1226 +-// Mandatory information for VBE 3.0 and above
  1227 +- /*Bit16u LinBytesPerScanLine*/ 1024*3,
  1228 ++/*Bit16u LinBytesPerScanLine*/ 1600,
  1229 + /*Bit8u BnkNumberOfPages*/ 0,
  1230 + /*Bit8u LinNumberOfPages*/ 0,
  1231 +- /*Bit8u LinRedMaskSize*/ 8,
  1232 +- /*Bit8u LinRedFieldPosition*/ 16,
  1233 +- /*Bit8u LinGreenMaskSize*/ 8,
  1234 +- /*Bit8u LinGreenFieldPosition*/ 8,
  1235 ++/*Bit8u LinRedMaskSize*/ 5,
  1236 ++/*Bit8u LinRedFieldPosition*/ 11,
  1237 ++/*Bit8u LinGreenMaskSize*/ 6,
  1238 ++/*Bit8u LinGreenFieldPosition*/ 5,
  1239 ++/*Bit8u LinBlueMaskSize*/ 5,
  1240 ++/*Bit8u LinBlueFieldPosition*/ 0,
  1241 ++/*Bit8u LinRsvdMaskSize*/ 0,
  1242 ++/*Bit8u LinRsvdFieldPosition*/ 0,
  1243 ++/*Bit32u MaxPixelClock*/ 0,
  1244 ++} },
  1245 ++{ 0x0115, /* 800x600x24 */
  1246 ++{ /*Bit16u ModeAttributes*/ VBE_MODE_ATTRIBUTE_SUPPORTED | VBE_MODE_ATTRIBUTE_EXTENDED_INFORMATION_AVAILABLE | VBE_MODE_ATTRIBUTE_COLOR_MODE | VBE_MODE_ATTRIBUTE_LINEAR_FRAME_BUFFER_MODE | VBE_MODE_ATTRIBUTE_GRAPHICS_MODE,
  1247 ++/*Bit8u WinAAttributes*/ VBE_WINDOW_ATTRIBUTE_RELOCATABLE | VBE_WINDOW_ATTRIBUTE_READABLE | VBE_WINDOW_ATTRIBUTE_WRITEABLE,
  1248 ++/*Bit8u WinBAttributes*/ 0,
  1249 ++/*Bit16u WinGranularity*/ VBE_DISPI_BANK_SIZE_KB,
  1250 ++/*Bit16u WinSize*/ VBE_DISPI_BANK_SIZE_KB,
  1251 ++/*Bit16u WinASegment*/ VGAMEM_GRAPH,
  1252 ++/*Bit16u WinBSegment*/ 0x0000,
  1253 ++/*Bit32u WinFuncPtr*/ 0,
  1254 ++/*Bit16u BytesPerScanLine*/ 2400,
  1255 ++/*Bit16u XResolution*/ 800,
  1256 ++/*Bit16u YResolution*/ 600,
  1257 ++/*Bit8u XCharSize*/ 8,
  1258 ++/*Bit8u YCharSize*/ 16,
  1259 ++/*Bit8u NumberOfPlanes*/ 1,
  1260 ++/*Bit8u BitsPerPixel*/ 24,
  1261 ++/*Bit8u NumberOfBanks*/ 22,
  1262 ++/*Bit8u MemoryModel*/ VBE_MEMORYMODEL_DIRECT_COLOR,
  1263 ++/*Bit8u BankSize*/ 0,
  1264 ++/*Bit8u NumberOfImagePages*/ 0,
  1265 ++/*Bit8u Reserved_page*/ 0,
  1266 ++/*Bit8u RedMaskSize*/ 8,
  1267 ++/*Bit8u RedFieldPosition*/ 16,
  1268 ++/*Bit8u GreenMaskSize*/ 8,
  1269 ++/*Bit8u GreenFieldPosition*/ 8,
  1270 ++/*Bit8u BlueMaskSize*/ 8,
  1271 ++/*Bit8u BlueFieldPosition*/ 0,
  1272 ++/*Bit8u RsvdMaskSize*/ 0,
  1273 ++/*Bit8u RsvdFieldPosition*/ 0,
  1274 ++/*Bit8u DirectColorModeInfo*/ 0,
  1275 ++/*Bit32u PhysBasePtr*/ VBE_DISPI_LFB_PHYSICAL_ADDRESS,
  1276 ++/*Bit32u OffScreenMemOffset*/ 0,
  1277 ++/*Bit16u OffScreenMemSize*/ 0,
  1278 ++/*Bit16u LinBytesPerScanLine*/ 2400,
  1279 ++/*Bit8u BnkNumberOfPages*/ 0,
  1280 ++/*Bit8u LinNumberOfPages*/ 0,
  1281 ++/*Bit8u LinRedMaskSize*/ 8,
  1282 ++/*Bit8u LinRedFieldPosition*/ 16,
  1283 ++/*Bit8u LinGreenMaskSize*/ 8,
  1284 ++/*Bit8u LinGreenFieldPosition*/ 8,
  1285 ++/*Bit8u LinBlueMaskSize*/ 8,
  1286 ++/*Bit8u LinBlueFieldPosition*/ 0,
  1287 ++/*Bit8u LinRsvdMaskSize*/ 0,
  1288 ++/*Bit8u LinRsvdFieldPosition*/ 0,
  1289 ++/*Bit32u MaxPixelClock*/ 0,
  1290 ++} },
  1291 ++{ 0x0116, /* 1024x768x15 */
  1292 ++{ /*Bit16u ModeAttributes*/ VBE_MODE_ATTRIBUTE_SUPPORTED | VBE_MODE_ATTRIBUTE_EXTENDED_INFORMATION_AVAILABLE | VBE_MODE_ATTRIBUTE_COLOR_MODE | VBE_MODE_ATTRIBUTE_LINEAR_FRAME_BUFFER_MODE | VBE_MODE_ATTRIBUTE_GRAPHICS_MODE,
  1293 ++/*Bit8u WinAAttributes*/ VBE_WINDOW_ATTRIBUTE_RELOCATABLE | VBE_WINDOW_ATTRIBUTE_READABLE | VBE_WINDOW_ATTRIBUTE_WRITEABLE,
  1294 ++/*Bit8u WinBAttributes*/ 0,
  1295 ++/*Bit16u WinGranularity*/ VBE_DISPI_BANK_SIZE_KB,
  1296 ++/*Bit16u WinSize*/ VBE_DISPI_BANK_SIZE_KB,
  1297 ++/*Bit16u WinASegment*/ VGAMEM_GRAPH,
  1298 ++/*Bit16u WinBSegment*/ 0x0000,
  1299 ++/*Bit32u WinFuncPtr*/ 0,
  1300 ++/*Bit16u BytesPerScanLine*/ 2048,
  1301 ++/*Bit16u XResolution*/ 1024,
  1302 ++/*Bit16u YResolution*/ 768,
  1303 ++/*Bit8u XCharSize*/ 8,
  1304 ++/*Bit8u YCharSize*/ 16,
  1305 ++/*Bit8u NumberOfPlanes*/ 1,
  1306 ++/*Bit8u BitsPerPixel*/ 15,
  1307 ++/*Bit8u NumberOfBanks*/ 24,
  1308 ++/*Bit8u MemoryModel*/ VBE_MEMORYMODEL_DIRECT_COLOR,
  1309 ++/*Bit8u BankSize*/ 0,
  1310 ++/*Bit8u NumberOfImagePages*/ 0,
  1311 ++/*Bit8u Reserved_page*/ 0,
  1312 ++/*Bit8u RedMaskSize*/ 5,
  1313 ++/*Bit8u RedFieldPosition*/ 10,
  1314 ++/*Bit8u GreenMaskSize*/ 5,
  1315 ++/*Bit8u GreenFieldPosition*/ 5,
  1316 ++/*Bit8u BlueMaskSize*/ 5,
  1317 ++/*Bit8u BlueFieldPosition*/ 0,
  1318 ++/*Bit8u RsvdMaskSize*/ 1,
  1319 ++/*Bit8u RsvdFieldPosition*/ 15,
  1320 ++/*Bit8u DirectColorModeInfo*/ 0,
  1321 ++/*Bit32u PhysBasePtr*/ VBE_DISPI_LFB_PHYSICAL_ADDRESS,
  1322 ++/*Bit32u OffScreenMemOffset*/ 0,
  1323 ++/*Bit16u OffScreenMemSize*/ 0,
  1324 ++/*Bit16u LinBytesPerScanLine*/ 2048,
  1325 ++/*Bit8u BnkNumberOfPages*/ 0,
  1326 ++/*Bit8u LinNumberOfPages*/ 0,
  1327 ++/*Bit8u LinRedMaskSize*/ 5,
  1328 ++/*Bit8u LinRedFieldPosition*/ 10,
  1329 ++/*Bit8u LinGreenMaskSize*/ 5,
  1330 ++/*Bit8u LinGreenFieldPosition*/ 5,
  1331 ++/*Bit8u LinBlueMaskSize*/ 5,
  1332 ++/*Bit8u LinBlueFieldPosition*/ 0,
  1333 ++/*Bit8u LinRsvdMaskSize*/ 1,
  1334 ++/*Bit8u LinRsvdFieldPosition*/ 15,
  1335 ++/*Bit32u MaxPixelClock*/ 0,
  1336 ++} },
  1337 ++{ 0x0117, /* 1024x768x16 */
  1338 ++{ /*Bit16u ModeAttributes*/ VBE_MODE_ATTRIBUTE_SUPPORTED | VBE_MODE_ATTRIBUTE_EXTENDED_INFORMATION_AVAILABLE | VBE_MODE_ATTRIBUTE_COLOR_MODE | VBE_MODE_ATTRIBUTE_LINEAR_FRAME_BUFFER_MODE | VBE_MODE_ATTRIBUTE_GRAPHICS_MODE,
  1339 ++/*Bit8u WinAAttributes*/ VBE_WINDOW_ATTRIBUTE_RELOCATABLE | VBE_WINDOW_ATTRIBUTE_READABLE | VBE_WINDOW_ATTRIBUTE_WRITEABLE,
  1340 ++/*Bit8u WinBAttributes*/ 0,
  1341 ++/*Bit16u WinGranularity*/ VBE_DISPI_BANK_SIZE_KB,
  1342 ++/*Bit16u WinSize*/ VBE_DISPI_BANK_SIZE_KB,
  1343 ++/*Bit16u WinASegment*/ VGAMEM_GRAPH,
  1344 ++/*Bit16u WinBSegment*/ 0x0000,
  1345 ++/*Bit32u WinFuncPtr*/ 0,
  1346 ++/*Bit16u BytesPerScanLine*/ 2048,
  1347 ++/*Bit16u XResolution*/ 1024,
  1348 ++/*Bit16u YResolution*/ 768,
  1349 ++/*Bit8u XCharSize*/ 8,
  1350 ++/*Bit8u YCharSize*/ 16,
  1351 ++/*Bit8u NumberOfPlanes*/ 1,
  1352 ++/*Bit8u BitsPerPixel*/ 16,
  1353 ++/*Bit8u NumberOfBanks*/ 24,
  1354 ++/*Bit8u MemoryModel*/ VBE_MEMORYMODEL_DIRECT_COLOR,
  1355 ++/*Bit8u BankSize*/ 0,
  1356 ++/*Bit8u NumberOfImagePages*/ 0,
  1357 ++/*Bit8u Reserved_page*/ 0,
  1358 ++/*Bit8u RedMaskSize*/ 5,
  1359 ++/*Bit8u RedFieldPosition*/ 11,
  1360 ++/*Bit8u GreenMaskSize*/ 6,
  1361 ++/*Bit8u GreenFieldPosition*/ 5,
  1362 ++/*Bit8u BlueMaskSize*/ 5,
  1363 ++/*Bit8u BlueFieldPosition*/ 0,
  1364 ++/*Bit8u RsvdMaskSize*/ 0,
  1365 ++/*Bit8u RsvdFieldPosition*/ 0,
  1366 ++/*Bit8u DirectColorModeInfo*/ 0,
  1367 ++/*Bit32u PhysBasePtr*/ VBE_DISPI_LFB_PHYSICAL_ADDRESS,
  1368 ++/*Bit32u OffScreenMemOffset*/ 0,
  1369 ++/*Bit16u OffScreenMemSize*/ 0,
  1370 ++/*Bit16u LinBytesPerScanLine*/ 2048,
  1371 ++/*Bit8u BnkNumberOfPages*/ 0,
  1372 ++/*Bit8u LinNumberOfPages*/ 0,
  1373 ++/*Bit8u LinRedMaskSize*/ 5,
  1374 ++/*Bit8u LinRedFieldPosition*/ 11,
  1375 ++/*Bit8u LinGreenMaskSize*/ 6,
  1376 ++/*Bit8u LinGreenFieldPosition*/ 5,
  1377 ++/*Bit8u LinBlueMaskSize*/ 5,
  1378 ++/*Bit8u LinBlueFieldPosition*/ 0,
  1379 ++/*Bit8u LinRsvdMaskSize*/ 0,
  1380 ++/*Bit8u LinRsvdFieldPosition*/ 0,
  1381 ++/*Bit32u MaxPixelClock*/ 0,
  1382 ++} },
  1383 ++{ 0x0118, /* 1024x768x24 */
  1384 ++{ /*Bit16u ModeAttributes*/ VBE_MODE_ATTRIBUTE_SUPPORTED | VBE_MODE_ATTRIBUTE_EXTENDED_INFORMATION_AVAILABLE | VBE_MODE_ATTRIBUTE_COLOR_MODE | VBE_MODE_ATTRIBUTE_LINEAR_FRAME_BUFFER_MODE | VBE_MODE_ATTRIBUTE_GRAPHICS_MODE,
  1385 ++/*Bit8u WinAAttributes*/ VBE_WINDOW_ATTRIBUTE_RELOCATABLE | VBE_WINDOW_ATTRIBUTE_READABLE | VBE_WINDOW_ATTRIBUTE_WRITEABLE,
  1386 ++/*Bit8u WinBAttributes*/ 0,
  1387 ++/*Bit16u WinGranularity*/ VBE_DISPI_BANK_SIZE_KB,
  1388 ++/*Bit16u WinSize*/ VBE_DISPI_BANK_SIZE_KB,
  1389 ++/*Bit16u WinASegment*/ VGAMEM_GRAPH,
  1390 ++/*Bit16u WinBSegment*/ 0x0000,
  1391 ++/*Bit32u WinFuncPtr*/ 0,
  1392 ++/*Bit16u BytesPerScanLine*/ 3072,
  1393 ++/*Bit16u XResolution*/ 1024,
  1394 ++/*Bit16u YResolution*/ 768,
  1395 ++/*Bit8u XCharSize*/ 8,
  1396 ++/*Bit8u YCharSize*/ 16,
  1397 ++/*Bit8u NumberOfPlanes*/ 1,
  1398 ++/*Bit8u BitsPerPixel*/ 24,
  1399 ++/*Bit8u NumberOfBanks*/ 36,
  1400 ++/*Bit8u MemoryModel*/ VBE_MEMORYMODEL_DIRECT_COLOR,
  1401 ++/*Bit8u BankSize*/ 0,
  1402 ++/*Bit8u NumberOfImagePages*/ 0,
  1403 ++/*Bit8u Reserved_page*/ 0,
  1404 ++/*Bit8u RedMaskSize*/ 8,
  1405 ++/*Bit8u RedFieldPosition*/ 16,
  1406 ++/*Bit8u GreenMaskSize*/ 8,
  1407 ++/*Bit8u GreenFieldPosition*/ 8,
  1408 ++/*Bit8u BlueMaskSize*/ 8,
  1409 ++/*Bit8u BlueFieldPosition*/ 0,
  1410 ++/*Bit8u RsvdMaskSize*/ 0,
  1411 ++/*Bit8u RsvdFieldPosition*/ 0,
  1412 ++/*Bit8u DirectColorModeInfo*/ 0,
  1413 ++/*Bit32u PhysBasePtr*/ VBE_DISPI_LFB_PHYSICAL_ADDRESS,
  1414 ++/*Bit32u OffScreenMemOffset*/ 0,
  1415 ++/*Bit16u OffScreenMemSize*/ 0,
  1416 ++/*Bit16u LinBytesPerScanLine*/ 3072,
  1417 ++/*Bit8u BnkNumberOfPages*/ 0,
  1418 ++/*Bit8u LinNumberOfPages*/ 0,
  1419 ++/*Bit8u LinRedMaskSize*/ 8,
  1420 ++/*Bit8u LinRedFieldPosition*/ 16,
  1421 ++/*Bit8u LinGreenMaskSize*/ 8,
  1422 ++/*Bit8u LinGreenFieldPosition*/ 8,
  1423 ++/*Bit8u LinBlueMaskSize*/ 8,
  1424 ++/*Bit8u LinBlueFieldPosition*/ 0,
  1425 ++/*Bit8u LinRsvdMaskSize*/ 0,
  1426 ++/*Bit8u LinRsvdFieldPosition*/ 0,
  1427 ++/*Bit32u MaxPixelClock*/ 0,
  1428 ++} },
  1429 ++{ 0x0119, /* 1280x1024x15 */
  1430 ++{ /*Bit16u ModeAttributes*/ VBE_MODE_ATTRIBUTE_SUPPORTED | VBE_MODE_ATTRIBUTE_EXTENDED_INFORMATION_AVAILABLE | VBE_MODE_ATTRIBUTE_COLOR_MODE | VBE_MODE_ATTRIBUTE_LINEAR_FRAME_BUFFER_MODE | VBE_MODE_ATTRIBUTE_GRAPHICS_MODE,
  1431 ++/*Bit8u WinAAttributes*/ VBE_WINDOW_ATTRIBUTE_RELOCATABLE | VBE_WINDOW_ATTRIBUTE_READABLE | VBE_WINDOW_ATTRIBUTE_WRITEABLE,
  1432 ++/*Bit8u WinBAttributes*/ 0,
  1433 ++/*Bit16u WinGranularity*/ VBE_DISPI_BANK_SIZE_KB,
  1434 ++/*Bit16u WinSize*/ VBE_DISPI_BANK_SIZE_KB,
  1435 ++/*Bit16u WinASegment*/ VGAMEM_GRAPH,
  1436 ++/*Bit16u WinBSegment*/ 0x0000,
  1437 ++/*Bit32u WinFuncPtr*/ 0,
  1438 ++/*Bit16u BytesPerScanLine*/ 2560,
  1439 ++/*Bit16u XResolution*/ 1280,
  1440 ++/*Bit16u YResolution*/ 1024,
  1441 ++/*Bit8u XCharSize*/ 8,
  1442 ++/*Bit8u YCharSize*/ 16,
  1443 ++/*Bit8u NumberOfPlanes*/ 1,
  1444 ++/*Bit8u BitsPerPixel*/ 15,
  1445 ++/*Bit8u NumberOfBanks*/ 40,
  1446 ++/*Bit8u MemoryModel*/ VBE_MEMORYMODEL_DIRECT_COLOR,
  1447 ++/*Bit8u BankSize*/ 0,
  1448 ++/*Bit8u NumberOfImagePages*/ 0,
  1449 ++/*Bit8u Reserved_page*/ 0,
  1450 ++/*Bit8u RedMaskSize*/ 5,
  1451 ++/*Bit8u RedFieldPosition*/ 10,
  1452 ++/*Bit8u GreenMaskSize*/ 5,
  1453 ++/*Bit8u GreenFieldPosition*/ 5,
  1454 ++/*Bit8u BlueMaskSize*/ 5,
  1455 ++/*Bit8u BlueFieldPosition*/ 0,
  1456 ++/*Bit8u RsvdMaskSize*/ 1,
  1457 ++/*Bit8u RsvdFieldPosition*/ 15,
  1458 ++/*Bit8u DirectColorModeInfo*/ 0,
  1459 ++/*Bit32u PhysBasePtr*/ VBE_DISPI_LFB_PHYSICAL_ADDRESS,
  1460 ++/*Bit32u OffScreenMemOffset*/ 0,
  1461 ++/*Bit16u OffScreenMemSize*/ 0,
  1462 ++/*Bit16u LinBytesPerScanLine*/ 2560,
  1463 ++/*Bit8u BnkNumberOfPages*/ 0,
  1464 ++/*Bit8u LinNumberOfPages*/ 0,
  1465 ++/*Bit8u LinRedMaskSize*/ 5,
  1466 ++/*Bit8u LinRedFieldPosition*/ 10,
  1467 ++/*Bit8u LinGreenMaskSize*/ 5,
  1468 ++/*Bit8u LinGreenFieldPosition*/ 5,
  1469 ++/*Bit8u LinBlueMaskSize*/ 5,
  1470 ++/*Bit8u LinBlueFieldPosition*/ 0,
  1471 ++/*Bit8u LinRsvdMaskSize*/ 1,
  1472 ++/*Bit8u LinRsvdFieldPosition*/ 15,
  1473 ++/*Bit32u MaxPixelClock*/ 0,
  1474 ++} },
  1475 ++{ 0x011a, /* 1280x1024x16 */
  1476 ++{ /*Bit16u ModeAttributes*/ VBE_MODE_ATTRIBUTE_SUPPORTED | VBE_MODE_ATTRIBUTE_EXTENDED_INFORMATION_AVAILABLE | VBE_MODE_ATTRIBUTE_COLOR_MODE | VBE_MODE_ATTRIBUTE_LINEAR_FRAME_BUFFER_MODE | VBE_MODE_ATTRIBUTE_GRAPHICS_MODE,
  1477 ++/*Bit8u WinAAttributes*/ VBE_WINDOW_ATTRIBUTE_RELOCATABLE | VBE_WINDOW_ATTRIBUTE_READABLE | VBE_WINDOW_ATTRIBUTE_WRITEABLE,
  1478 ++/*Bit8u WinBAttributes*/ 0,
  1479 ++/*Bit16u WinGranularity*/ VBE_DISPI_BANK_SIZE_KB,
  1480 ++/*Bit16u WinSize*/ VBE_DISPI_BANK_SIZE_KB,
  1481 ++/*Bit16u WinASegment*/ VGAMEM_GRAPH,
  1482 ++/*Bit16u WinBSegment*/ 0x0000,
  1483 ++/*Bit32u WinFuncPtr*/ 0,
  1484 ++/*Bit16u BytesPerScanLine*/ 2560,
  1485 ++/*Bit16u XResolution*/ 1280,
  1486 ++/*Bit16u YResolution*/ 1024,
  1487 ++/*Bit8u XCharSize*/ 8,
  1488 ++/*Bit8u YCharSize*/ 16,
  1489 ++/*Bit8u NumberOfPlanes*/ 1,
  1490 ++/*Bit8u BitsPerPixel*/ 16,
  1491 ++/*Bit8u NumberOfBanks*/ 40,
  1492 ++/*Bit8u MemoryModel*/ VBE_MEMORYMODEL_DIRECT_COLOR,
  1493 ++/*Bit8u BankSize*/ 0,
  1494 ++/*Bit8u NumberOfImagePages*/ 0,
  1495 ++/*Bit8u Reserved_page*/ 0,
  1496 ++/*Bit8u RedMaskSize*/ 5,
  1497 ++/*Bit8u RedFieldPosition*/ 11,
  1498 ++/*Bit8u GreenMaskSize*/ 6,
  1499 ++/*Bit8u GreenFieldPosition*/ 5,
  1500 ++/*Bit8u BlueMaskSize*/ 5,
  1501 ++/*Bit8u BlueFieldPosition*/ 0,
  1502 ++/*Bit8u RsvdMaskSize*/ 0,
  1503 ++/*Bit8u RsvdFieldPosition*/ 0,
  1504 ++/*Bit8u DirectColorModeInfo*/ 0,
  1505 ++/*Bit32u PhysBasePtr*/ VBE_DISPI_LFB_PHYSICAL_ADDRESS,
  1506 ++/*Bit32u OffScreenMemOffset*/ 0,
  1507 ++/*Bit16u OffScreenMemSize*/ 0,
  1508 ++/*Bit16u LinBytesPerScanLine*/ 2560,
  1509 ++/*Bit8u BnkNumberOfPages*/ 0,
  1510 ++/*Bit8u LinNumberOfPages*/ 0,
  1511 ++/*Bit8u LinRedMaskSize*/ 5,
  1512 ++/*Bit8u LinRedFieldPosition*/ 11,
  1513 ++/*Bit8u LinGreenMaskSize*/ 6,
  1514 ++/*Bit8u LinGreenFieldPosition*/ 5,
  1515 ++/*Bit8u LinBlueMaskSize*/ 5,
  1516 ++/*Bit8u LinBlueFieldPosition*/ 0,
  1517 ++/*Bit8u LinRsvdMaskSize*/ 0,
  1518 ++/*Bit8u LinRsvdFieldPosition*/ 0,
  1519 ++/*Bit32u MaxPixelClock*/ 0,
  1520 ++} },
  1521 ++{ 0x011b, /* 1280x1024x24 */
  1522 ++{ /*Bit16u ModeAttributes*/ VBE_MODE_ATTRIBUTE_SUPPORTED | VBE_MODE_ATTRIBUTE_EXTENDED_INFORMATION_AVAILABLE | VBE_MODE_ATTRIBUTE_COLOR_MODE | VBE_MODE_ATTRIBUTE_LINEAR_FRAME_BUFFER_MODE | VBE_MODE_ATTRIBUTE_GRAPHICS_MODE,
  1523 ++/*Bit8u WinAAttributes*/ VBE_WINDOW_ATTRIBUTE_RELOCATABLE | VBE_WINDOW_ATTRIBUTE_READABLE | VBE_WINDOW_ATTRIBUTE_WRITEABLE,
  1524 ++/*Bit8u WinBAttributes*/ 0,
  1525 ++/*Bit16u WinGranularity*/ VBE_DISPI_BANK_SIZE_KB,
  1526 ++/*Bit16u WinSize*/ VBE_DISPI_BANK_SIZE_KB,
  1527 ++/*Bit16u WinASegment*/ VGAMEM_GRAPH,
  1528 ++/*Bit16u WinBSegment*/ 0x0000,
  1529 ++/*Bit32u WinFuncPtr*/ 0,
  1530 ++/*Bit16u BytesPerScanLine*/ 3840,
  1531 ++/*Bit16u XResolution*/ 1280,
  1532 ++/*Bit16u YResolution*/ 1024,
  1533 ++/*Bit8u XCharSize*/ 8,
  1534 ++/*Bit8u YCharSize*/ 16,
  1535 ++/*Bit8u NumberOfPlanes*/ 1,
  1536 ++/*Bit8u BitsPerPixel*/ 24,
  1537 ++/*Bit8u NumberOfBanks*/ 60,
  1538 ++/*Bit8u MemoryModel*/ VBE_MEMORYMODEL_DIRECT_COLOR,
  1539 ++/*Bit8u BankSize*/ 0,
  1540 ++/*Bit8u NumberOfImagePages*/ 0,
  1541 ++/*Bit8u Reserved_page*/ 0,
  1542 ++/*Bit8u RedMaskSize*/ 8,
  1543 ++/*Bit8u RedFieldPosition*/ 16,
  1544 ++/*Bit8u GreenMaskSize*/ 8,
  1545 ++/*Bit8u GreenFieldPosition*/ 8,
  1546 ++/*Bit8u BlueMaskSize*/ 8,
  1547 ++/*Bit8u BlueFieldPosition*/ 0,
  1548 ++/*Bit8u RsvdMaskSize*/ 0,
  1549 ++/*Bit8u RsvdFieldPosition*/ 0,
  1550 ++/*Bit8u DirectColorModeInfo*/ 0,
  1551 ++/*Bit32u PhysBasePtr*/ VBE_DISPI_LFB_PHYSICAL_ADDRESS,
  1552 ++/*Bit32u OffScreenMemOffset*/ 0,
  1553 ++/*Bit16u OffScreenMemSize*/ 0,
  1554 ++/*Bit16u LinBytesPerScanLine*/ 3840,
  1555 ++/*Bit8u BnkNumberOfPages*/ 0,
  1556 ++/*Bit8u LinNumberOfPages*/ 0,
  1557 ++/*Bit8u LinRedMaskSize*/ 8,
  1558 ++/*Bit8u LinRedFieldPosition*/ 16,
  1559 ++/*Bit8u LinGreenMaskSize*/ 8,
  1560 ++/*Bit8u LinGreenFieldPosition*/ 8,
  1561 ++/*Bit8u LinBlueMaskSize*/ 8,
  1562 ++/*Bit8u LinBlueFieldPosition*/ 0,
  1563 ++/*Bit8u LinRsvdMaskSize*/ 0,
  1564 ++/*Bit8u LinRsvdFieldPosition*/ 0,
  1565 ++/*Bit32u MaxPixelClock*/ 0,
  1566 ++} },
  1567 ++{ 0x011c, /* 1600x1200x8 */
  1568 ++{ /*Bit16u ModeAttributes*/ VBE_MODE_ATTRIBUTE_SUPPORTED | VBE_MODE_ATTRIBUTE_EXTENDED_INFORMATION_AVAILABLE | VBE_MODE_ATTRIBUTE_COLOR_MODE | VBE_MODE_ATTRIBUTE_LINEAR_FRAME_BUFFER_MODE | VBE_MODE_ATTRIBUTE_GRAPHICS_MODE,
  1569 ++/*Bit8u WinAAttributes*/ VBE_WINDOW_ATTRIBUTE_RELOCATABLE | VBE_WINDOW_ATTRIBUTE_READABLE | VBE_WINDOW_ATTRIBUTE_WRITEABLE,
  1570 ++/*Bit8u WinBAttributes*/ 0,
  1571 ++/*Bit16u WinGranularity*/ VBE_DISPI_BANK_SIZE_KB,
  1572 ++/*Bit16u WinSize*/ VBE_DISPI_BANK_SIZE_KB,
  1573 ++/*Bit16u WinASegment*/ VGAMEM_GRAPH,
  1574 ++/*Bit16u WinBSegment*/ 0x0000,
  1575 ++/*Bit32u WinFuncPtr*/ 0,
  1576 ++/*Bit16u BytesPerScanLine*/ 1600,
  1577 ++/*Bit16u XResolution*/ 1600,
  1578 ++/*Bit16u YResolution*/ 1200,
  1579 ++/*Bit8u XCharSize*/ 8,
  1580 ++/*Bit8u YCharSize*/ 16,
  1581 ++/*Bit8u NumberOfPlanes*/ 1,
  1582 ++/*Bit8u BitsPerPixel*/ 8,
  1583 ++/*Bit8u NumberOfBanks*/ 30,
  1584 ++/*Bit8u MemoryModel*/ VBE_MEMORYMODEL_PACKED_PIXEL,
  1585 ++/*Bit8u BankSize*/ 0,
  1586 ++/*Bit8u NumberOfImagePages*/ 0,
  1587 ++/*Bit8u Reserved_page*/ 0,
  1588 ++/*Bit8u RedMaskSize*/ 0,
  1589 ++/*Bit8u RedFieldPosition*/ 0,
  1590 ++/*Bit8u GreenMaskSize*/ 0,
  1591 ++/*Bit8u GreenFieldPosition*/ 0,
  1592 ++/*Bit8u BlueMaskSize*/ 0,
  1593 ++/*Bit8u BlueFieldPosition*/ 0,
  1594 ++/*Bit8u RsvdMaskSize*/ 0,
  1595 ++/*Bit8u RsvdFieldPosition*/ 0,
  1596 ++/*Bit8u DirectColorModeInfo*/ 0,
  1597 ++/*Bit32u PhysBasePtr*/ VBE_DISPI_LFB_PHYSICAL_ADDRESS,
  1598 ++/*Bit32u OffScreenMemOffset*/ 0,
  1599 ++/*Bit16u OffScreenMemSize*/ 0,
  1600 ++/*Bit16u LinBytesPerScanLine*/ 1600,
  1601 ++/*Bit8u BnkNumberOfPages*/ 0,
  1602 ++/*Bit8u LinNumberOfPages*/ 0,
  1603 ++/*Bit8u LinRedMaskSize*/ 0,
  1604 ++/*Bit8u LinRedFieldPosition*/ 0,
  1605 ++/*Bit8u LinGreenMaskSize*/ 0,
  1606 ++/*Bit8u LinGreenFieldPosition*/ 0,
  1607 ++/*Bit8u LinBlueMaskSize*/ 0,
  1608 ++/*Bit8u LinBlueFieldPosition*/ 0,
  1609 ++/*Bit8u LinRsvdMaskSize*/ 0,
  1610 ++/*Bit8u LinRsvdFieldPosition*/ 0,
  1611 ++/*Bit32u MaxPixelClock*/ 0,
  1612 ++} },
  1613 ++{ 0x011d, /* 1600x1200x15 */
  1614 ++{ /*Bit16u ModeAttributes*/ VBE_MODE_ATTRIBUTE_SUPPORTED | VBE_MODE_ATTRIBUTE_EXTENDED_INFORMATION_AVAILABLE | VBE_MODE_ATTRIBUTE_COLOR_MODE | VBE_MODE_ATTRIBUTE_LINEAR_FRAME_BUFFER_MODE | VBE_MODE_ATTRIBUTE_GRAPHICS_MODE,
  1615 ++/*Bit8u WinAAttributes*/ VBE_WINDOW_ATTRIBUTE_RELOCATABLE | VBE_WINDOW_ATTRIBUTE_READABLE | VBE_WINDOW_ATTRIBUTE_WRITEABLE,
  1616 ++/*Bit8u WinBAttributes*/ 0,
  1617 ++/*Bit16u WinGranularity*/ VBE_DISPI_BANK_SIZE_KB,
  1618 ++/*Bit16u WinSize*/ VBE_DISPI_BANK_SIZE_KB,
  1619 ++/*Bit16u WinASegment*/ VGAMEM_GRAPH,
  1620 ++/*Bit16u WinBSegment*/ 0x0000,
  1621 ++/*Bit32u WinFuncPtr*/ 0,
  1622 ++/*Bit16u BytesPerScanLine*/ 3200,
  1623 ++/*Bit16u XResolution*/ 1600,
  1624 ++/*Bit16u YResolution*/ 1200,
  1625 ++/*Bit8u XCharSize*/ 8,
  1626 ++/*Bit8u YCharSize*/ 16,
  1627 ++/*Bit8u NumberOfPlanes*/ 1,
  1628 ++/*Bit8u BitsPerPixel*/ 15,
  1629 ++/*Bit8u NumberOfBanks*/ 59,
  1630 ++/*Bit8u MemoryModel*/ VBE_MEMORYMODEL_DIRECT_COLOR,
  1631 ++/*Bit8u BankSize*/ 0,
  1632 ++/*Bit8u NumberOfImagePages*/ 0,
  1633 ++/*Bit8u Reserved_page*/ 0,
  1634 ++/*Bit8u RedMaskSize*/ 5,
  1635 ++/*Bit8u RedFieldPosition*/ 10,
  1636 ++/*Bit8u GreenMaskSize*/ 5,
  1637 ++/*Bit8u GreenFieldPosition*/ 5,
  1638 ++/*Bit8u BlueMaskSize*/ 5,
  1639 ++/*Bit8u BlueFieldPosition*/ 0,
  1640 ++/*Bit8u RsvdMaskSize*/ 1,
  1641 ++/*Bit8u RsvdFieldPosition*/ 15,
  1642 ++/*Bit8u DirectColorModeInfo*/ 0,
  1643 ++/*Bit32u PhysBasePtr*/ VBE_DISPI_LFB_PHYSICAL_ADDRESS,
  1644 ++/*Bit32u OffScreenMemOffset*/ 0,
  1645 ++/*Bit16u OffScreenMemSize*/ 0,
  1646 ++/*Bit16u LinBytesPerScanLine*/ 3200,
  1647 ++/*Bit8u BnkNumberOfPages*/ 0,
  1648 ++/*Bit8u LinNumberOfPages*/ 0,
  1649 ++/*Bit8u LinRedMaskSize*/ 5,
  1650 ++/*Bit8u LinRedFieldPosition*/ 10,
  1651 ++/*Bit8u LinGreenMaskSize*/ 5,
  1652 ++/*Bit8u LinGreenFieldPosition*/ 5,
  1653 ++/*Bit8u LinBlueMaskSize*/ 5,
  1654 ++/*Bit8u LinBlueFieldPosition*/ 0,
  1655 ++/*Bit8u LinRsvdMaskSize*/ 1,
  1656 ++/*Bit8u LinRsvdFieldPosition*/ 15,
  1657 ++/*Bit32u MaxPixelClock*/ 0,
  1658 ++} },
  1659 ++{ 0x011e, /* 1600x1200x16 */
  1660 ++{ /*Bit16u ModeAttributes*/ VBE_MODE_ATTRIBUTE_SUPPORTED | VBE_MODE_ATTRIBUTE_EXTENDED_INFORMATION_AVAILABLE | VBE_MODE_ATTRIBUTE_COLOR_MODE | VBE_MODE_ATTRIBUTE_LINEAR_FRAME_BUFFER_MODE | VBE_MODE_ATTRIBUTE_GRAPHICS_MODE,
  1661 ++/*Bit8u WinAAttributes*/ VBE_WINDOW_ATTRIBUTE_RELOCATABLE | VBE_WINDOW_ATTRIBUTE_READABLE | VBE_WINDOW_ATTRIBUTE_WRITEABLE,
  1662 ++/*Bit8u WinBAttributes*/ 0,
  1663 ++/*Bit16u WinGranularity*/ VBE_DISPI_BANK_SIZE_KB,
  1664 ++/*Bit16u WinSize*/ VBE_DISPI_BANK_SIZE_KB,
  1665 ++/*Bit16u WinASegment*/ VGAMEM_GRAPH,
  1666 ++/*Bit16u WinBSegment*/ 0x0000,
  1667 ++/*Bit32u WinFuncPtr*/ 0,
  1668 ++/*Bit16u BytesPerScanLine*/ 3200,
  1669 ++/*Bit16u XResolution*/ 1600,
  1670 ++/*Bit16u YResolution*/ 1200,
  1671 ++/*Bit8u XCharSize*/ 8,
  1672 ++/*Bit8u YCharSize*/ 16,
  1673 ++/*Bit8u NumberOfPlanes*/ 1,
  1674 ++/*Bit8u BitsPerPixel*/ 16,
  1675 ++/*Bit8u NumberOfBanks*/ 59,
  1676 ++/*Bit8u MemoryModel*/ VBE_MEMORYMODEL_DIRECT_COLOR,
  1677 ++/*Bit8u BankSize*/ 0,
  1678 ++/*Bit8u NumberOfImagePages*/ 0,
  1679 ++/*Bit8u Reserved_page*/ 0,
  1680 ++/*Bit8u RedMaskSize*/ 5,
  1681 ++/*Bit8u RedFieldPosition*/ 11,
  1682 ++/*Bit8u GreenMaskSize*/ 6,
  1683 ++/*Bit8u GreenFieldPosition*/ 5,
  1684 ++/*Bit8u BlueMaskSize*/ 5,
  1685 ++/*Bit8u BlueFieldPosition*/ 0,
  1686 ++/*Bit8u RsvdMaskSize*/ 0,
  1687 ++/*Bit8u RsvdFieldPosition*/ 0,
  1688 ++/*Bit8u DirectColorModeInfo*/ 0,
  1689 ++/*Bit32u PhysBasePtr*/ VBE_DISPI_LFB_PHYSICAL_ADDRESS,
  1690 ++/*Bit32u OffScreenMemOffset*/ 0,
  1691 ++/*Bit16u OffScreenMemSize*/ 0,
  1692 ++/*Bit16u LinBytesPerScanLine*/ 3200,
  1693 ++/*Bit8u BnkNumberOfPages*/ 0,
  1694 ++/*Bit8u LinNumberOfPages*/ 0,
  1695 ++/*Bit8u LinRedMaskSize*/ 5,
  1696 ++/*Bit8u LinRedFieldPosition*/ 11,
  1697 ++/*Bit8u LinGreenMaskSize*/ 6,
  1698 ++/*Bit8u LinGreenFieldPosition*/ 5,
  1699 ++/*Bit8u LinBlueMaskSize*/ 5,
  1700 ++/*Bit8u LinBlueFieldPosition*/ 0,
  1701 ++/*Bit8u LinRsvdMaskSize*/ 0,
  1702 ++/*Bit8u LinRsvdFieldPosition*/ 0,
  1703 ++/*Bit32u MaxPixelClock*/ 0,
  1704 ++} },
  1705 ++{ 0x011f, /* 1600x1200x24 */
  1706 ++{ /*Bit16u ModeAttributes*/ VBE_MODE_ATTRIBUTE_SUPPORTED | VBE_MODE_ATTRIBUTE_EXTENDED_INFORMATION_AVAILABLE | VBE_MODE_ATTRIBUTE_COLOR_MODE | VBE_MODE_ATTRIBUTE_LINEAR_FRAME_BUFFER_MODE | VBE_MODE_ATTRIBUTE_GRAPHICS_MODE,
  1707 ++/*Bit8u WinAAttributes*/ VBE_WINDOW_ATTRIBUTE_RELOCATABLE | VBE_WINDOW_ATTRIBUTE_READABLE | VBE_WINDOW_ATTRIBUTE_WRITEABLE,
  1708 ++/*Bit8u WinBAttributes*/ 0,
  1709 ++/*Bit16u WinGranularity*/ VBE_DISPI_BANK_SIZE_KB,
  1710 ++/*Bit16u WinSize*/ VBE_DISPI_BANK_SIZE_KB,
  1711 ++/*Bit16u WinASegment*/ VGAMEM_GRAPH,
  1712 ++/*Bit16u WinBSegment*/ 0x0000,
  1713 ++/*Bit32u WinFuncPtr*/ 0,
  1714 ++/*Bit16u BytesPerScanLine*/ 4800,
  1715 ++/*Bit16u XResolution*/ 1600,
  1716 ++/*Bit16u YResolution*/ 1200,
  1717 ++/*Bit8u XCharSize*/ 8,
  1718 ++/*Bit8u YCharSize*/ 16,
  1719 ++/*Bit8u NumberOfPlanes*/ 1,
  1720 ++/*Bit8u BitsPerPixel*/ 24,
  1721 ++/*Bit8u NumberOfBanks*/ 88,
  1722 ++/*Bit8u MemoryModel*/ VBE_MEMORYMODEL_DIRECT_COLOR,
  1723 ++/*Bit8u BankSize*/ 0,
  1724 ++/*Bit8u NumberOfImagePages*/ 0,
  1725 ++/*Bit8u Reserved_page*/ 0,
  1726 ++/*Bit8u RedMaskSize*/ 8,
  1727 ++/*Bit8u RedFieldPosition*/ 16,
  1728 ++/*Bit8u GreenMaskSize*/ 8,
  1729 ++/*Bit8u GreenFieldPosition*/ 8,
  1730 ++/*Bit8u BlueMaskSize*/ 8,
  1731 ++/*Bit8u BlueFieldPosition*/ 0,
  1732 ++/*Bit8u RsvdMaskSize*/ 0,
  1733 ++/*Bit8u RsvdFieldPosition*/ 0,
  1734 ++/*Bit8u DirectColorModeInfo*/ 0,
  1735 ++/*Bit32u PhysBasePtr*/ VBE_DISPI_LFB_PHYSICAL_ADDRESS,
  1736 ++/*Bit32u OffScreenMemOffset*/ 0,
  1737 ++/*Bit16u OffScreenMemSize*/ 0,
  1738 ++/*Bit16u LinBytesPerScanLine*/ 4800,
  1739 ++/*Bit8u BnkNumberOfPages*/ 0,
  1740 ++/*Bit8u LinNumberOfPages*/ 0,
  1741 ++/*Bit8u LinRedMaskSize*/ 8,
  1742 ++/*Bit8u LinRedFieldPosition*/ 16,
  1743 ++/*Bit8u LinGreenMaskSize*/ 8,
  1744 ++/*Bit8u LinGreenFieldPosition*/ 8,
  1745 + /*Bit8u LinBlueMaskSize*/ 8,
  1746 + /*Bit8u LinBlueFieldPosition*/ 0,
  1747 + /*Bit8u LinRsvdMaskSize*/ 0,
  1748 + /*Bit8u LinRsvdFieldPosition*/ 0,
  1749 + /*Bit32u MaxPixelClock*/ 0,
  1750 +-/*} ModeInfoBlock;*/
  1751 +- }
  1752 +- },
  1753 +-
  1754 +- {
  1755 +- VBE_OWN_MODE_640X480X8888,
  1756 +- {
  1757 +-/*typedef struct ModeInfoBlock
  1758 +-{*/
  1759 +-// Mandatory information for all VBE revisions
  1760 +- /*Bit16u ModeAttributes*/ VBE_MODE_ATTRIBUTE_SUPPORTED |
  1761 +- VBE_MODE_ATTRIBUTE_EXTENDED_INFORMATION_AVAILABLE |
  1762 +- VBE_MODE_ATTRIBUTE_COLOR_MODE |
  1763 +-#ifdef VBE_HAVE_LFB
  1764 +- VBE_MODE_ATTRIBUTE_LINEAR_FRAME_BUFFER_MODE |
  1765 +-#endif
  1766 +- VBE_MODE_ATTRIBUTE_GRAPHICS_MODE,
  1767 +- /*Bit8u WinAAttributes*/ VBE_WINDOW_ATTRIBUTE_RELOCATABLE |
  1768 +- VBE_WINDOW_ATTRIBUTE_READABLE |
  1769 +- VBE_WINDOW_ATTRIBUTE_WRITEABLE,
  1770 ++} },
  1771 ++{ 0x0140, /* 320x200x32 */
  1772 ++{ /*Bit16u ModeAttributes*/ VBE_MODE_ATTRIBUTE_SUPPORTED | VBE_MODE_ATTRIBUTE_EXTENDED_INFORMATION_AVAILABLE | VBE_MODE_ATTRIBUTE_COLOR_MODE | VBE_MODE_ATTRIBUTE_LINEAR_FRAME_BUFFER_MODE | VBE_MODE_ATTRIBUTE_GRAPHICS_MODE,
  1773 ++/*Bit8u WinAAttributes*/ VBE_WINDOW_ATTRIBUTE_RELOCATABLE | VBE_WINDOW_ATTRIBUTE_READABLE | VBE_WINDOW_ATTRIBUTE_WRITEABLE,
  1774 ++/*Bit8u WinBAttributes*/ 0,
  1775 ++/*Bit16u WinGranularity*/ VBE_DISPI_BANK_SIZE_KB,
  1776 ++/*Bit16u WinSize*/ VBE_DISPI_BANK_SIZE_KB,
  1777 ++/*Bit16u WinASegment*/ VGAMEM_GRAPH,
  1778 ++/*Bit16u WinBSegment*/ 0x0000,
  1779 ++/*Bit32u WinFuncPtr*/ 0,
  1780 ++/*Bit16u BytesPerScanLine*/ 1280,
  1781 ++/*Bit16u XResolution*/ 320,
  1782 ++/*Bit16u YResolution*/ 200,
  1783 ++/*Bit8u XCharSize*/ 8,
  1784 ++/*Bit8u YCharSize*/ 16,
  1785 ++/*Bit8u NumberOfPlanes*/ 1,
  1786 ++/*Bit8u BitsPerPixel*/ 32,
  1787 ++/*Bit8u NumberOfBanks*/ 4,
  1788 ++/*Bit8u MemoryModel*/ VBE_MEMORYMODEL_DIRECT_COLOR,
  1789 ++/*Bit8u BankSize*/ 0,
  1790 ++/*Bit8u NumberOfImagePages*/ 0,
  1791 ++/*Bit8u Reserved_page*/ 0,
  1792 ++/*Bit8u RedMaskSize*/ 8,
  1793 ++/*Bit8u RedFieldPosition*/ 16,
  1794 ++/*Bit8u GreenMaskSize*/ 8,
  1795 ++/*Bit8u GreenFieldPosition*/ 8,
  1796 ++/*Bit8u BlueMaskSize*/ 8,
  1797 ++/*Bit8u BlueFieldPosition*/ 0,
  1798 ++/*Bit8u RsvdMaskSize*/ 8,
  1799 ++/*Bit8u RsvdFieldPosition*/ 24,
  1800 ++/*Bit8u DirectColorModeInfo*/ 0,
  1801 ++/*Bit32u PhysBasePtr*/ VBE_DISPI_LFB_PHYSICAL_ADDRESS,
  1802 ++/*Bit32u OffScreenMemOffset*/ 0,
  1803 ++/*Bit16u OffScreenMemSize*/ 0,
  1804 ++/*Bit16u LinBytesPerScanLine*/ 1280,
  1805 ++/*Bit8u BnkNumberOfPages*/ 0,
  1806 ++/*Bit8u LinNumberOfPages*/ 0,
  1807 ++/*Bit8u LinRedMaskSize*/ 8,
  1808 ++/*Bit8u LinRedFieldPosition*/ 16,
  1809 ++/*Bit8u LinGreenMaskSize*/ 8,
  1810 ++/*Bit8u LinGreenFieldPosition*/ 8,
  1811 ++/*Bit8u LinBlueMaskSize*/ 8,
  1812 ++/*Bit8u LinBlueFieldPosition*/ 0,
  1813 ++/*Bit8u LinRsvdMaskSize*/ 8,
  1814 ++/*Bit8u LinRsvdFieldPosition*/ 24,
  1815 ++/*Bit32u MaxPixelClock*/ 0,
  1816 ++} },
  1817 ++{ 0x0141, /* 640x400x32 */
  1818 ++{ /*Bit16u ModeAttributes*/ VBE_MODE_ATTRIBUTE_SUPPORTED | VBE_MODE_ATTRIBUTE_EXTENDED_INFORMATION_AVAILABLE | VBE_MODE_ATTRIBUTE_COLOR_MODE | VBE_MODE_ATTRIBUTE_LINEAR_FRAME_BUFFER_MODE | VBE_MODE_ATTRIBUTE_GRAPHICS_MODE,
  1819 ++/*Bit8u WinAAttributes*/ VBE_WINDOW_ATTRIBUTE_RELOCATABLE | VBE_WINDOW_ATTRIBUTE_READABLE | VBE_WINDOW_ATTRIBUTE_WRITEABLE,
  1820 ++/*Bit8u WinBAttributes*/ 0,
  1821 ++/*Bit16u WinGranularity*/ VBE_DISPI_BANK_SIZE_KB,
  1822 ++/*Bit16u WinSize*/ VBE_DISPI_BANK_SIZE_KB,
  1823 ++/*Bit16u WinASegment*/ VGAMEM_GRAPH,
  1824 ++/*Bit16u WinBSegment*/ 0x0000,
  1825 ++/*Bit32u WinFuncPtr*/ 0,
  1826 ++/*Bit16u BytesPerScanLine*/ 2560,
  1827 ++/*Bit16u XResolution*/ 640,
  1828 ++/*Bit16u YResolution*/ 400,
  1829 ++/*Bit8u XCharSize*/ 8,
  1830 ++/*Bit8u YCharSize*/ 16,
  1831 ++/*Bit8u NumberOfPlanes*/ 1,
  1832 ++/*Bit8u BitsPerPixel*/ 32,
  1833 ++/*Bit8u NumberOfBanks*/ 16,
  1834 ++/*Bit8u MemoryModel*/ VBE_MEMORYMODEL_DIRECT_COLOR,
  1835 ++/*Bit8u BankSize*/ 0,
  1836 ++/*Bit8u NumberOfImagePages*/ 0,
  1837 ++/*Bit8u Reserved_page*/ 0,
  1838 ++/*Bit8u RedMaskSize*/ 8,
  1839 ++/*Bit8u RedFieldPosition*/ 16,
  1840 ++/*Bit8u GreenMaskSize*/ 8,
  1841 ++/*Bit8u GreenFieldPosition*/ 8,
  1842 ++/*Bit8u BlueMaskSize*/ 8,
  1843 ++/*Bit8u BlueFieldPosition*/ 0,
  1844 ++/*Bit8u RsvdMaskSize*/ 8,
  1845 ++/*Bit8u RsvdFieldPosition*/ 24,
  1846 ++/*Bit8u DirectColorModeInfo*/ 0,
  1847 ++/*Bit32u PhysBasePtr*/ VBE_DISPI_LFB_PHYSICAL_ADDRESS,
  1848 ++/*Bit32u OffScreenMemOffset*/ 0,
  1849 ++/*Bit16u OffScreenMemSize*/ 0,
  1850 ++/*Bit16u LinBytesPerScanLine*/ 2560,
  1851 ++/*Bit8u BnkNumberOfPages*/ 0,
  1852 ++/*Bit8u LinNumberOfPages*/ 0,
  1853 ++/*Bit8u LinRedMaskSize*/ 8,
  1854 ++/*Bit8u LinRedFieldPosition*/ 16,
  1855 ++/*Bit8u LinGreenMaskSize*/ 8,
  1856 ++/*Bit8u LinGreenFieldPosition*/ 8,
  1857 ++/*Bit8u LinBlueMaskSize*/ 8,
  1858 ++/*Bit8u LinBlueFieldPosition*/ 0,
  1859 ++/*Bit8u LinRsvdMaskSize*/ 8,
  1860 ++/*Bit8u LinRsvdFieldPosition*/ 24,
  1861 ++/*Bit32u MaxPixelClock*/ 0,
  1862 ++} },
  1863 ++{ 0x0142, /* 640x480x32 */
  1864 ++{ /*Bit16u ModeAttributes*/ VBE_MODE_ATTRIBUTE_SUPPORTED | VBE_MODE_ATTRIBUTE_EXTENDED_INFORMATION_AVAILABLE | VBE_MODE_ATTRIBUTE_COLOR_MODE | VBE_MODE_ATTRIBUTE_LINEAR_FRAME_BUFFER_MODE | VBE_MODE_ATTRIBUTE_GRAPHICS_MODE,
  1865 ++/*Bit8u WinAAttributes*/ VBE_WINDOW_ATTRIBUTE_RELOCATABLE | VBE_WINDOW_ATTRIBUTE_READABLE | VBE_WINDOW_ATTRIBUTE_WRITEABLE,
  1866 ++/*Bit8u WinBAttributes*/ 0,
  1867 ++/*Bit16u WinGranularity*/ VBE_DISPI_BANK_SIZE_KB,
  1868 ++/*Bit16u WinSize*/ VBE_DISPI_BANK_SIZE_KB,
  1869 ++/*Bit16u WinASegment*/ VGAMEM_GRAPH,
  1870 ++/*Bit16u WinBSegment*/ 0x0000,
  1871 ++/*Bit32u WinFuncPtr*/ 0,
  1872 ++/*Bit16u BytesPerScanLine*/ 2560,
  1873 ++/*Bit16u XResolution*/ 640,
  1874 ++/*Bit16u YResolution*/ 480,
  1875 ++/*Bit8u XCharSize*/ 8,
  1876 ++/*Bit8u YCharSize*/ 16,
  1877 ++/*Bit8u NumberOfPlanes*/ 1,
  1878 ++/*Bit8u BitsPerPixel*/ 32,
  1879 ++/*Bit8u NumberOfBanks*/ 19,
  1880 ++/*Bit8u MemoryModel*/ VBE_MEMORYMODEL_DIRECT_COLOR,
  1881 ++/*Bit8u BankSize*/ 0,
  1882 ++/*Bit8u NumberOfImagePages*/ 0,
  1883 ++/*Bit8u Reserved_page*/ 0,
  1884 ++/*Bit8u RedMaskSize*/ 8,
  1885 ++/*Bit8u RedFieldPosition*/ 16,
  1886 ++/*Bit8u GreenMaskSize*/ 8,
  1887 ++/*Bit8u GreenFieldPosition*/ 8,
  1888 ++/*Bit8u BlueMaskSize*/ 8,
  1889 ++/*Bit8u BlueFieldPosition*/ 0,
  1890 ++/*Bit8u RsvdMaskSize*/ 8,
  1891 ++/*Bit8u RsvdFieldPosition*/ 24,
  1892 ++/*Bit8u DirectColorModeInfo*/ 0,
  1893 ++/*Bit32u PhysBasePtr*/ VBE_DISPI_LFB_PHYSICAL_ADDRESS,
  1894 ++/*Bit32u OffScreenMemOffset*/ 0,
  1895 ++/*Bit16u OffScreenMemSize*/ 0,
  1896 ++/*Bit16u LinBytesPerScanLine*/ 2560,
  1897 ++/*Bit8u BnkNumberOfPages*/ 0,
  1898 ++/*Bit8u LinNumberOfPages*/ 0,
  1899 ++/*Bit8u LinRedMaskSize*/ 8,
  1900 ++/*Bit8u LinRedFieldPosition*/ 16,
  1901 ++/*Bit8u LinGreenMaskSize*/ 8,
  1902 ++/*Bit8u LinGreenFieldPosition*/ 8,
  1903 ++/*Bit8u LinBlueMaskSize*/ 8,
  1904 ++/*Bit8u LinBlueFieldPosition*/ 0,
  1905 ++/*Bit8u LinRsvdMaskSize*/ 8,
  1906 ++/*Bit8u LinRsvdFieldPosition*/ 24,
  1907 ++/*Bit32u MaxPixelClock*/ 0,
  1908 ++} },
  1909 ++{ 0x0143, /* 800x600x32 */
  1910 ++{ /*Bit16u ModeAttributes*/ VBE_MODE_ATTRIBUTE_SUPPORTED | VBE_MODE_ATTRIBUTE_EXTENDED_INFORMATION_AVAILABLE | VBE_MODE_ATTRIBUTE_COLOR_MODE | VBE_MODE_ATTRIBUTE_LINEAR_FRAME_BUFFER_MODE | VBE_MODE_ATTRIBUTE_GRAPHICS_MODE,
  1911 ++/*Bit8u WinAAttributes*/ VBE_WINDOW_ATTRIBUTE_RELOCATABLE | VBE_WINDOW_ATTRIBUTE_READABLE | VBE_WINDOW_ATTRIBUTE_WRITEABLE,
  1912 + /*Bit8u WinBAttributes*/ 0,
  1913 + /*Bit16u WinGranularity*/ VBE_DISPI_BANK_SIZE_KB,
  1914 + /*Bit16u WinSize*/ VBE_DISPI_BANK_SIZE_KB,
  1915 + /*Bit16u WinASegment*/ VGAMEM_GRAPH,
  1916 +- /*Bit16u WinBSegment*/ 0,
  1917 ++/*Bit16u WinBSegment*/ 0x0000,
  1918 + /*Bit32u WinFuncPtr*/ 0,
  1919 +- /*Bit16u BytesPerScanLine*/ 640*4,
  1920 +-// Mandatory information for VBE 1.2 and above
  1921 +- /*Bit16u XResolution*/ 640,
  1922 +- /*Bit16u YResolution*/ 480,
  1923 ++/*Bit16u BytesPerScanLine*/ 3200,
  1924 ++/*Bit16u XResolution*/ 800,
  1925 ++/*Bit16u YResolution*/ 600,
  1926 + /*Bit8u XCharSize*/ 8,
  1927 + /*Bit8u YCharSize*/ 16,
  1928 + /*Bit8u NumberOfPlanes*/ 1,
  1929 + /*Bit8u BitsPerPixel*/ 32,
  1930 +- /*Bit8u NumberOfBanks*/ 1,
  1931 ++/*Bit8u NumberOfBanks*/ 30,
  1932 + /*Bit8u MemoryModel*/ VBE_MEMORYMODEL_DIRECT_COLOR,
  1933 + /*Bit8u BankSize*/ 0,
  1934 +- /*Bit8u NumberOfImagePages*/ 1,
  1935 ++/*Bit8u NumberOfImagePages*/ 0,
  1936 + /*Bit8u Reserved_page*/ 0,
  1937 +-// Direct Color fields (required for direct/6 and YUV/7 memory models)
  1938 + /*Bit8u RedMaskSize*/ 8,
  1939 + /*Bit8u RedFieldPosition*/ 16,
  1940 + /*Bit8u GreenMaskSize*/ 8,
  1941 +@@ -1035,17 +1333,11 @@
  1942 + /*Bit8u BlueFieldPosition*/ 0,
  1943 + /*Bit8u RsvdMaskSize*/ 8,
  1944 + /*Bit8u RsvdFieldPosition*/ 24,
  1945 +- /*Bit8u DirectColorModeInfo*/ VBE_DIRECTCOLOR_RESERVED_BITS_AVAILABLE,
  1946 +-// Mandatory information for VBE 2.0 and above
  1947 +-#ifdef VBE_HAVE_LFB
  1948 ++/*Bit8u DirectColorModeInfo*/ 0,
  1949 + /*Bit32u PhysBasePtr*/ VBE_DISPI_LFB_PHYSICAL_ADDRESS,
  1950 +-#else
  1951 +- /*Bit32u PhysBasePtr*/ 0,
  1952 +-#endif
  1953 + /*Bit32u OffScreenMemOffset*/ 0,
  1954 + /*Bit16u OffScreenMemSize*/ 0,
  1955 +-// Mandatory information for VBE 3.0 and above
  1956 +- /*Bit16u LinBytesPerScanLine*/ 640*4,
  1957 ++/*Bit16u LinBytesPerScanLine*/ 3200,
  1958 + /*Bit8u BnkNumberOfPages*/ 0,
  1959 + /*Bit8u LinNumberOfPages*/ 0,
  1960 + /*Bit8u LinRedMaskSize*/ 8,
  1961 +@@ -1057,46 +1349,28 @@
  1962 + /*Bit8u LinRsvdMaskSize*/ 8,
  1963 + /*Bit8u LinRsvdFieldPosition*/ 24,
  1964 + /*Bit32u MaxPixelClock*/ 0,
  1965 +-/*} ModeInfoBlock;*/
  1966 +- }
  1967 +- },
  1968 +-
  1969 +- {
  1970 +- VBE_OWN_MODE_800X600X8888,
  1971 +- {
  1972 +-/*typedef struct ModeInfoBlock
  1973 +-{*/
  1974 +-// Mandatory information for all VBE revisions
  1975 +- /*Bit16u ModeAttributes*/ VBE_MODE_ATTRIBUTE_SUPPORTED |
  1976 +- VBE_MODE_ATTRIBUTE_EXTENDED_INFORMATION_AVAILABLE |
  1977 +- VBE_MODE_ATTRIBUTE_COLOR_MODE |
  1978 +-#ifdef VBE_HAVE_LFB
  1979 +- VBE_MODE_ATTRIBUTE_LINEAR_FRAME_BUFFER_MODE |
  1980 +-#endif
  1981 +- VBE_MODE_ATTRIBUTE_GRAPHICS_MODE,
  1982 +- /*Bit8u WinAAttributes*/ VBE_WINDOW_ATTRIBUTE_RELOCATABLE |
  1983 +- VBE_WINDOW_ATTRIBUTE_READABLE |
  1984 +- VBE_WINDOW_ATTRIBUTE_WRITEABLE,
  1985 ++} },
  1986 ++{ 0x0144, /* 1024x768x32 */
  1987 ++{ /*Bit16u ModeAttributes*/ VBE_MODE_ATTRIBUTE_SUPPORTED | VBE_MODE_ATTRIBUTE_EXTENDED_INFORMATION_AVAILABLE | VBE_MODE_ATTRIBUTE_COLOR_MODE | VBE_MODE_ATTRIBUTE_LINEAR_FRAME_BUFFER_MODE | VBE_MODE_ATTRIBUTE_GRAPHICS_MODE,
  1988 ++/*Bit8u WinAAttributes*/ VBE_WINDOW_ATTRIBUTE_RELOCATABLE | VBE_WINDOW_ATTRIBUTE_READABLE | VBE_WINDOW_ATTRIBUTE_WRITEABLE,
  1989 + /*Bit8u WinBAttributes*/ 0,
  1990 + /*Bit16u WinGranularity*/ VBE_DISPI_BANK_SIZE_KB,
  1991 + /*Bit16u WinSize*/ VBE_DISPI_BANK_SIZE_KB,
  1992 + /*Bit16u WinASegment*/ VGAMEM_GRAPH,
  1993 +- /*Bit16u WinBSegment*/ 0,
  1994 ++/*Bit16u WinBSegment*/ 0x0000,
  1995 + /*Bit32u WinFuncPtr*/ 0,
  1996 +- /*Bit16u BytesPerScanLine*/ 800*4,
  1997 +-// Mandatory information for VBE 1.2 and above
  1998 +- /*Bit16u XResolution*/ 800,
  1999 +- /*Bit16u YResolution*/ 600,
  2000 ++/*Bit16u BytesPerScanLine*/ 4096,
  2001 ++/*Bit16u XResolution*/ 1024,
  2002 ++/*Bit16u YResolution*/ 768,
  2003 + /*Bit8u XCharSize*/ 8,
  2004 + /*Bit8u YCharSize*/ 16,
  2005 + /*Bit8u NumberOfPlanes*/ 1,
  2006 + /*Bit8u BitsPerPixel*/ 32,
  2007 +- /*Bit8u NumberOfBanks*/ 1,
  2008 ++/*Bit8u NumberOfBanks*/ 48,
  2009 + /*Bit8u MemoryModel*/ VBE_MEMORYMODEL_DIRECT_COLOR,
  2010 + /*Bit8u BankSize*/ 0,
  2011 +- /*Bit8u NumberOfImagePages*/ 1,
  2012 ++/*Bit8u NumberOfImagePages*/ 0,
  2013 + /*Bit8u Reserved_page*/ 0,
  2014 +-// Direct Color fields (required for direct/6 and YUV/7 memory models)
  2015 + /*Bit8u RedMaskSize*/ 8,
  2016 + /*Bit8u RedFieldPosition*/ 16,
  2017 + /*Bit8u GreenMaskSize*/ 8,
  2018 +@@ -1105,17 +1379,11 @@
  2019 + /*Bit8u BlueFieldPosition*/ 0,
  2020 + /*Bit8u RsvdMaskSize*/ 8,
  2021 + /*Bit8u RsvdFieldPosition*/ 24,
  2022 +- /*Bit8u DirectColorModeInfo*/ VBE_DIRECTCOLOR_RESERVED_BITS_AVAILABLE,
  2023 +-// Mandatory information for VBE 2.0 and above
  2024 +-#ifdef VBE_HAVE_LFB
  2025 ++/*Bit8u DirectColorModeInfo*/ 0,
  2026 + /*Bit32u PhysBasePtr*/ VBE_DISPI_LFB_PHYSICAL_ADDRESS,
  2027 +-#else
  2028 +- /*Bit32u PhysBasePtr*/ 0,
  2029 +-#endif
  2030 + /*Bit32u OffScreenMemOffset*/ 0,
  2031 + /*Bit16u OffScreenMemSize*/ 0,
  2032 +-// Mandatory information for VBE 3.0 and above
  2033 +- /*Bit16u LinBytesPerScanLine*/ 800*4,
  2034 ++/*Bit16u LinBytesPerScanLine*/ 4096,
  2035 + /*Bit8u BnkNumberOfPages*/ 0,
  2036 + /*Bit8u LinNumberOfPages*/ 0,
  2037 + /*Bit8u LinRedMaskSize*/ 8,
  2038 +@@ -1127,46 +1395,28 @@
  2039 + /*Bit8u LinRsvdMaskSize*/ 8,
  2040 + /*Bit8u LinRsvdFieldPosition*/ 24,
  2041 + /*Bit32u MaxPixelClock*/ 0,
  2042 +-/*} ModeInfoBlock;*/
  2043 +- }
  2044 +- },
  2045 +-
  2046 +- {
  2047 +- VBE_OWN_MODE_1024X768X8888,
  2048 +- {
  2049 +-/*typedef struct ModeInfoBlock
  2050 +-{*/
  2051 +-// Mandatory information for all VBE revisions
  2052 +- /*Bit16u ModeAttributes*/ VBE_MODE_ATTRIBUTE_SUPPORTED |
  2053 +- VBE_MODE_ATTRIBUTE_EXTENDED_INFORMATION_AVAILABLE |
  2054 +- VBE_MODE_ATTRIBUTE_COLOR_MODE |
  2055 +-#ifdef VBE_HAVE_LFB
  2056 +- VBE_MODE_ATTRIBUTE_LINEAR_FRAME_BUFFER_MODE |
  2057 +-#endif
  2058 +- VBE_MODE_ATTRIBUTE_GRAPHICS_MODE,
  2059 +- /*Bit8u WinAAttributes*/ VBE_WINDOW_ATTRIBUTE_RELOCATABLE |
  2060 +- VBE_WINDOW_ATTRIBUTE_READABLE |
  2061 +- VBE_WINDOW_ATTRIBUTE_WRITEABLE,
  2062 ++} },
  2063 ++{ 0x0145, /* 1280x1024x32 */
  2064 ++{ /*Bit16u ModeAttributes*/ VBE_MODE_ATTRIBUTE_SUPPORTED | VBE_MODE_ATTRIBUTE_EXTENDED_INFORMATION_AVAILABLE | VBE_MODE_ATTRIBUTE_COLOR_MODE | VBE_MODE_ATTRIBUTE_LINEAR_FRAME_BUFFER_MODE | VBE_MODE_ATTRIBUTE_GRAPHICS_MODE,
  2065 ++/*Bit8u WinAAttributes*/ VBE_WINDOW_ATTRIBUTE_RELOCATABLE | VBE_WINDOW_ATTRIBUTE_READABLE | VBE_WINDOW_ATTRIBUTE_WRITEABLE,
  2066 + /*Bit8u WinBAttributes*/ 0,
  2067 + /*Bit16u WinGranularity*/ VBE_DISPI_BANK_SIZE_KB,
  2068 + /*Bit16u WinSize*/ VBE_DISPI_BANK_SIZE_KB,
  2069 + /*Bit16u WinASegment*/ VGAMEM_GRAPH,
  2070 +- /*Bit16u WinBSegment*/ 0,
  2071 ++/*Bit16u WinBSegment*/ 0x0000,
  2072 + /*Bit32u WinFuncPtr*/ 0,
  2073 +- /*Bit16u BytesPerScanLine*/ 1024*4,
  2074 +-// Mandatory information for VBE 1.2 and above
  2075 +- /*Bit16u XResolution*/ 1024,
  2076 +- /*Bit16u YResolution*/ 768,
  2077 ++/*Bit16u BytesPerScanLine*/ 5120,
  2078 ++/*Bit16u XResolution*/ 1280,
  2079 ++/*Bit16u YResolution*/ 1024,
  2080 + /*Bit8u XCharSize*/ 8,
  2081 + /*Bit8u YCharSize*/ 16,
  2082 + /*Bit8u NumberOfPlanes*/ 1,
  2083 + /*Bit8u BitsPerPixel*/ 32,
  2084 +- /*Bit8u NumberOfBanks*/ 1,
  2085 ++/*Bit8u NumberOfBanks*/ 80,
  2086 + /*Bit8u MemoryModel*/ VBE_MEMORYMODEL_DIRECT_COLOR,
  2087 + /*Bit8u BankSize*/ 0,
  2088 +- /*Bit8u NumberOfImagePages*/ 1,
  2089 ++/*Bit8u NumberOfImagePages*/ 0,
  2090 + /*Bit8u Reserved_page*/ 0,
  2091 +-// Direct Color fields (required for direct/6 and YUV/7 memory models)
  2092 + /*Bit8u RedMaskSize*/ 8,
  2093 + /*Bit8u RedFieldPosition*/ 16,
  2094 + /*Bit8u GreenMaskSize*/ 8,
  2095 +@@ -1175,17 +1425,11 @@
  2096 + /*Bit8u BlueFieldPosition*/ 0,
  2097 + /*Bit8u RsvdMaskSize*/ 8,
  2098 + /*Bit8u RsvdFieldPosition*/ 24,
  2099 +- /*Bit8u DirectColorModeInfo*/ VBE_DIRECTCOLOR_RESERVED_BITS_AVAILABLE,
  2100 +-// Mandatory information for VBE 2.0 and above
  2101 +-#ifdef VBE_HAVE_LFB
  2102 ++/*Bit8u DirectColorModeInfo*/ 0,
  2103 + /*Bit32u PhysBasePtr*/ VBE_DISPI_LFB_PHYSICAL_ADDRESS,
  2104 +-#else
  2105 +- /*Bit32u PhysBasePtr*/ 0,
  2106 +-#endif
  2107 + /*Bit32u OffScreenMemOffset*/ 0,
  2108 + /*Bit16u OffScreenMemSize*/ 0,
  2109 +-// Mandatory information for VBE 3.0 and above
  2110 +- /*Bit16u LinBytesPerScanLine*/ 1024*4,
  2111 ++/*Bit16u LinBytesPerScanLine*/ 5120,
  2112 + /*Bit8u BnkNumberOfPages*/ 0,
  2113 + /*Bit8u LinNumberOfPages*/ 0,
  2114 + /*Bit8u LinRedMaskSize*/ 8,
  2115 +@@ -1197,33 +1441,17 @@
  2116 + /*Bit8u LinRsvdMaskSize*/ 8,
  2117 + /*Bit8u LinRsvdFieldPosition*/ 24,
  2118 + /*Bit32u MaxPixelClock*/ 0,
  2119 +-/*} ModeInfoBlock;*/
  2120 +- }
  2121 +- },
  2122 +-
  2123 +- {
  2124 +- VBE_OWN_MODE_320X200X8,
  2125 +- {
  2126 +-/*typedef struct ModeInfoBlock
  2127 +-{*/
  2128 +-// Mandatory information for all VBE revisions
  2129 +- /*Bit16u ModeAttributes*/ VBE_MODE_ATTRIBUTE_SUPPORTED |
  2130 +- VBE_MODE_ATTRIBUTE_EXTENDED_INFORMATION_AVAILABLE |
  2131 +- VBE_MODE_ATTRIBUTE_COLOR_MODE |
  2132 +-#ifdef VBE_HAVE_LFB
  2133 +- VBE_MODE_ATTRIBUTE_LINEAR_FRAME_BUFFER_MODE |
  2134 +-#endif
  2135 +- VBE_MODE_ATTRIBUTE_GRAPHICS_MODE,
  2136 +- /*Bit8u WinAAttributes*/ VBE_WINDOW_ATTRIBUTE_READABLE |
  2137 +- VBE_WINDOW_ATTRIBUTE_WRITEABLE,
  2138 ++} },
  2139 ++{ 0x0146, /* 320x200x8 */
  2140 ++{ /*Bit16u ModeAttributes*/ VBE_MODE_ATTRIBUTE_SUPPORTED | VBE_MODE_ATTRIBUTE_EXTENDED_INFORMATION_AVAILABLE | VBE_MODE_ATTRIBUTE_COLOR_MODE | VBE_MODE_ATTRIBUTE_LINEAR_FRAME_BUFFER_MODE | VBE_MODE_ATTRIBUTE_GRAPHICS_MODE,
  2141 ++/*Bit8u WinAAttributes*/ VBE_WINDOW_ATTRIBUTE_RELOCATABLE | VBE_WINDOW_ATTRIBUTE_READABLE | VBE_WINDOW_ATTRIBUTE_WRITEABLE,
  2142 + /*Bit8u WinBAttributes*/ 0,
  2143 + /*Bit16u WinGranularity*/ VBE_DISPI_BANK_SIZE_KB,
  2144 + /*Bit16u WinSize*/ VBE_DISPI_BANK_SIZE_KB,
  2145 + /*Bit16u WinASegment*/ VGAMEM_GRAPH,
  2146 +- /*Bit16u WinBSegment*/ 0,
  2147 ++/*Bit16u WinBSegment*/ 0x0000,
  2148 + /*Bit32u WinFuncPtr*/ 0,
  2149 + /*Bit16u BytesPerScanLine*/ 320,
  2150 +-// Mandatory information for VBE 1.2 and above
  2151 + /*Bit16u XResolution*/ 320,
  2152 + /*Bit16u YResolution*/ 200,
  2153 + /*Bit8u XCharSize*/ 8,
  2154 +@@ -1233,9 +1461,8 @@
  2155 + /*Bit8u NumberOfBanks*/ 1,
  2156 + /*Bit8u MemoryModel*/ VBE_MEMORYMODEL_PACKED_PIXEL,
  2157 + /*Bit8u BankSize*/ 0,
  2158 +- /*Bit8u NumberOfImagePages*/ 3,
  2159 ++/*Bit8u NumberOfImagePages*/ 0,
  2160 + /*Bit8u Reserved_page*/ 0,
  2161 +-// Direct Color fields (required for direct/6 and YUV/7 memory models)
  2162 + /*Bit8u RedMaskSize*/ 0,
  2163 + /*Bit8u RedFieldPosition*/ 0,
  2164 + /*Bit8u GreenMaskSize*/ 0,
  2165 +@@ -1245,15 +1472,9 @@
  2166 + /*Bit8u RsvdMaskSize*/ 0,
  2167 + /*Bit8u RsvdFieldPosition*/ 0,
  2168 + /*Bit8u DirectColorModeInfo*/ 0,
  2169 +-// Mandatory information for VBE 2.0 and above
  2170 +-#ifdef VBE_HAVE_LFB
  2171 + /*Bit32u PhysBasePtr*/ VBE_DISPI_LFB_PHYSICAL_ADDRESS,
  2172 +-#else
  2173 +- /*Bit32u PhysBasePtr*/ 0,
  2174 +-#endif
  2175 + /*Bit32u OffScreenMemOffset*/ 0,
  2176 + /*Bit16u OffScreenMemSize*/ 0,
  2177 +-// Mandatory information for VBE 3.0 and above
  2178 + /*Bit16u LinBytesPerScanLine*/ 320,
  2179 + /*Bit8u BnkNumberOfPages*/ 0,
  2180 + /*Bit8u LinNumberOfPages*/ 0,
  2181 +@@ -1266,17 +1487,286 @@
  2182 + /*Bit8u LinRsvdMaskSize*/ 0,
  2183 + /*Bit8u LinRsvdFieldPosition*/ 0,
  2184 + /*Bit32u MaxPixelClock*/ 0,
  2185 +-/*} ModeInfoBlock;*/
  2186 +- }
  2187 +- },
  2188 +-
  2189 +-/** END OF THE LIST **/
  2190 +- {
  2191 +- VBE_VESA_MODE_END_OF_LIST,
  2192 +- {
  2193 +- 0,
  2194 +- }
  2195 +- }
  2196 ++} },
  2197 ++{ 0x0147, /* 1600x1200x32 */
  2198 ++{ /*Bit16u ModeAttributes*/ VBE_MODE_ATTRIBUTE_SUPPORTED | VBE_MODE_ATTRIBUTE_EXTENDED_INFORMATION_AVAILABLE | VBE_MODE_ATTRIBUTE_COLOR_MODE | VBE_MODE_ATTRIBUTE_LINEAR_FRAME_BUFFER_MODE | VBE_MODE_ATTRIBUTE_GRAPHICS_MODE,
  2199 ++/*Bit8u WinAAttributes*/ VBE_WINDOW_ATTRIBUTE_RELOCATABLE | VBE_WINDOW_ATTRIBUTE_READABLE | VBE_WINDOW_ATTRIBUTE_WRITEABLE,
  2200 ++/*Bit8u WinBAttributes*/ 0,
  2201 ++/*Bit16u WinGranularity*/ VBE_DISPI_BANK_SIZE_KB,
  2202 ++/*Bit16u WinSize*/ VBE_DISPI_BANK_SIZE_KB,
  2203 ++/*Bit16u WinASegment*/ VGAMEM_GRAPH,
  2204 ++/*Bit16u WinBSegment*/ 0x0000,
  2205 ++/*Bit32u WinFuncPtr*/ 0,
  2206 ++/*Bit16u BytesPerScanLine*/ 6400,
  2207 ++/*Bit16u XResolution*/ 1600,
  2208 ++/*Bit16u YResolution*/ 1200,
  2209 ++/*Bit8u XCharSize*/ 8,
  2210 ++/*Bit8u YCharSize*/ 16,
  2211 ++/*Bit8u NumberOfPlanes*/ 1,
  2212 ++/*Bit8u BitsPerPixel*/ 32,
  2213 ++/*Bit8u NumberOfBanks*/ 118,
  2214 ++/*Bit8u MemoryModel*/ VBE_MEMORYMODEL_DIRECT_COLOR,
  2215 ++/*Bit8u BankSize*/ 0,
  2216 ++/*Bit8u NumberOfImagePages*/ 0,
  2217 ++/*Bit8u Reserved_page*/ 0,
  2218 ++/*Bit8u RedMaskSize*/ 8,
  2219 ++/*Bit8u RedFieldPosition*/ 16,
  2220 ++/*Bit8u GreenMaskSize*/ 8,
  2221 ++/*Bit8u GreenFieldPosition*/ 8,
  2222 ++/*Bit8u BlueMaskSize*/ 8,
  2223 ++/*Bit8u BlueFieldPosition*/ 0,
  2224 ++/*Bit8u RsvdMaskSize*/ 8,
  2225 ++/*Bit8u RsvdFieldPosition*/ 24,
  2226 ++/*Bit8u DirectColorModeInfo*/ 0,
  2227 ++/*Bit32u PhysBasePtr*/ VBE_DISPI_LFB_PHYSICAL_ADDRESS,
  2228 ++/*Bit32u OffScreenMemOffset*/ 0,
  2229 ++/*Bit16u OffScreenMemSize*/ 0,
  2230 ++/*Bit16u LinBytesPerScanLine*/ 6400,
  2231 ++/*Bit8u BnkNumberOfPages*/ 0,
  2232 ++/*Bit8u LinNumberOfPages*/ 0,
  2233 ++/*Bit8u LinRedMaskSize*/ 8,
  2234 ++/*Bit8u LinRedFieldPosition*/ 16,
  2235 ++/*Bit8u LinGreenMaskSize*/ 8,
  2236 ++/*Bit8u LinGreenFieldPosition*/ 8,
  2237 ++/*Bit8u LinBlueMaskSize*/ 8,
  2238 ++/*Bit8u LinBlueFieldPosition*/ 0,
  2239 ++/*Bit8u LinRsvdMaskSize*/ 8,
  2240 ++/*Bit8u LinRsvdFieldPosition*/ 24,
  2241 ++/*Bit32u MaxPixelClock*/ 0,
  2242 ++} },
  2243 ++{ 0x0148, /* 1152x864x8 */
  2244 ++{ /*Bit16u ModeAttributes*/ VBE_MODE_ATTRIBUTE_SUPPORTED | VBE_MODE_ATTRIBUTE_EXTENDED_INFORMATION_AVAILABLE | VBE_MODE_ATTRIBUTE_COLOR_MODE | VBE_MODE_ATTRIBUTE_LINEAR_FRAME_BUFFER_MODE | VBE_MODE_ATTRIBUTE_GRAPHICS_MODE,
  2245 ++/*Bit8u WinAAttributes*/ VBE_WINDOW_ATTRIBUTE_RELOCATABLE | VBE_WINDOW_ATTRIBUTE_READABLE | VBE_WINDOW_ATTRIBUTE_WRITEABLE,
  2246 ++/*Bit8u WinBAttributes*/ 0,
  2247 ++/*Bit16u WinGranularity*/ VBE_DISPI_BANK_SIZE_KB,
  2248 ++/*Bit16u WinSize*/ VBE_DISPI_BANK_SIZE_KB,
  2249 ++/*Bit16u WinASegment*/ VGAMEM_GRAPH,
  2250 ++/*Bit16u WinBSegment*/ 0x0000,
  2251 ++/*Bit32u WinFuncPtr*/ 0,
  2252 ++/*Bit16u BytesPerScanLine*/ 1152,
  2253 ++/*Bit16u XResolution*/ 1152,
  2254 ++/*Bit16u YResolution*/ 864,
  2255 ++/*Bit8u XCharSize*/ 8,
  2256 ++/*Bit8u YCharSize*/ 16,
  2257 ++/*Bit8u NumberOfPlanes*/ 1,
  2258 ++/*Bit8u BitsPerPixel*/ 8,
  2259 ++/*Bit8u NumberOfBanks*/ 16,
  2260 ++/*Bit8u MemoryModel*/ VBE_MEMORYMODEL_PACKED_PIXEL,
  2261 ++/*Bit8u BankSize*/ 0,
  2262 ++/*Bit8u NumberOfImagePages*/ 0,
  2263 ++/*Bit8u Reserved_page*/ 0,
  2264 ++/*Bit8u RedMaskSize*/ 0,
  2265 ++/*Bit8u RedFieldPosition*/ 0,
  2266 ++/*Bit8u GreenMaskSize*/ 0,
  2267 ++/*Bit8u GreenFieldPosition*/ 0,
  2268 ++/*Bit8u BlueMaskSize*/ 0,
  2269 ++/*Bit8u BlueFieldPosition*/ 0,
  2270 ++/*Bit8u RsvdMaskSize*/ 0,
  2271 ++/*Bit8u RsvdFieldPosition*/ 0,
  2272 ++/*Bit8u DirectColorModeInfo*/ 0,
  2273 ++/*Bit32u PhysBasePtr*/ VBE_DISPI_LFB_PHYSICAL_ADDRESS,
  2274 ++/*Bit32u OffScreenMemOffset*/ 0,
  2275 ++/*Bit16u OffScreenMemSize*/ 0,
  2276 ++/*Bit16u LinBytesPerScanLine*/ 1152,
  2277 ++/*Bit8u BnkNumberOfPages*/ 0,
  2278 ++/*Bit8u LinNumberOfPages*/ 0,
  2279 ++/*Bit8u LinRedMaskSize*/ 0,
  2280 ++/*Bit8u LinRedFieldPosition*/ 0,
  2281 ++/*Bit8u LinGreenMaskSize*/ 0,
  2282 ++/*Bit8u LinGreenFieldPosition*/ 0,
  2283 ++/*Bit8u LinBlueMaskSize*/ 0,
  2284 ++/*Bit8u LinBlueFieldPosition*/ 0,
  2285 ++/*Bit8u LinRsvdMaskSize*/ 0,
  2286 ++/*Bit8u LinRsvdFieldPosition*/ 0,
  2287 ++/*Bit32u MaxPixelClock*/ 0,
  2288 ++} },
  2289 ++{ 0x0149, /* 1152x864x15 */
  2290 ++{ /*Bit16u ModeAttributes*/ VBE_MODE_ATTRIBUTE_SUPPORTED | VBE_MODE_ATTRIBUTE_EXTENDED_INFORMATION_AVAILABLE | VBE_MODE_ATTRIBUTE_COLOR_MODE | VBE_MODE_ATTRIBUTE_LINEAR_FRAME_BUFFER_MODE | VBE_MODE_ATTRIBUTE_GRAPHICS_MODE,
  2291 ++/*Bit8u WinAAttributes*/ VBE_WINDOW_ATTRIBUTE_RELOCATABLE | VBE_WINDOW_ATTRIBUTE_READABLE | VBE_WINDOW_ATTRIBUTE_WRITEABLE,
  2292 ++/*Bit8u WinBAttributes*/ 0,
  2293 ++/*Bit16u WinGranularity*/ VBE_DISPI_BANK_SIZE_KB,
  2294 ++/*Bit16u WinSize*/ VBE_DISPI_BANK_SIZE_KB,
  2295 ++/*Bit16u WinASegment*/ VGAMEM_GRAPH,
  2296 ++/*Bit16u WinBSegment*/ 0x0000,
  2297 ++/*Bit32u WinFuncPtr*/ 0,
  2298 ++/*Bit16u BytesPerScanLine*/ 2304,
  2299 ++/*Bit16u XResolution*/ 1152,
  2300 ++/*Bit16u YResolution*/ 864,
  2301 ++/*Bit8u XCharSize*/ 8,
  2302 ++/*Bit8u YCharSize*/ 16,
  2303 ++/*Bit8u NumberOfPlanes*/ 1,
  2304 ++/*Bit8u BitsPerPixel*/ 15,
  2305 ++/*Bit8u NumberOfBanks*/ 31,
  2306 ++/*Bit8u MemoryModel*/ VBE_MEMORYMODEL_DIRECT_COLOR,
  2307 ++/*Bit8u BankSize*/ 0,
  2308 ++/*Bit8u NumberOfImagePages*/ 0,
  2309 ++/*Bit8u Reserved_page*/ 0,
  2310 ++/*Bit8u RedMaskSize*/ 5,
  2311 ++/*Bit8u RedFieldPosition*/ 10,
  2312 ++/*Bit8u GreenMaskSize*/ 5,
  2313 ++/*Bit8u GreenFieldPosition*/ 5,
  2314 ++/*Bit8u BlueMaskSize*/ 5,
  2315 ++/*Bit8u BlueFieldPosition*/ 0,
  2316 ++/*Bit8u RsvdMaskSize*/ 1,
  2317 ++/*Bit8u RsvdFieldPosition*/ 15,
  2318 ++/*Bit8u DirectColorModeInfo*/ 0,
  2319 ++/*Bit32u PhysBasePtr*/ VBE_DISPI_LFB_PHYSICAL_ADDRESS,
  2320 ++/*Bit32u OffScreenMemOffset*/ 0,
  2321 ++/*Bit16u OffScreenMemSize*/ 0,
  2322 ++/*Bit16u LinBytesPerScanLine*/ 2304,
  2323 ++/*Bit8u BnkNumberOfPages*/ 0,
  2324 ++/*Bit8u LinNumberOfPages*/ 0,
  2325 ++/*Bit8u LinRedMaskSize*/ 5,
  2326 ++/*Bit8u LinRedFieldPosition*/ 10,
  2327 ++/*Bit8u LinGreenMaskSize*/ 5,
  2328 ++/*Bit8u LinGreenFieldPosition*/ 5,
  2329 ++/*Bit8u LinBlueMaskSize*/ 5,
  2330 ++/*Bit8u LinBlueFieldPosition*/ 0,
  2331 ++/*Bit8u LinRsvdMaskSize*/ 1,
  2332 ++/*Bit8u LinRsvdFieldPosition*/ 15,
  2333 ++/*Bit32u MaxPixelClock*/ 0,
  2334 ++} },
  2335 ++{ 0x014a, /* 1152x864x16 */
  2336 ++{ /*Bit16u ModeAttributes*/ VBE_MODE_ATTRIBUTE_SUPPORTED | VBE_MODE_ATTRIBUTE_EXTENDED_INFORMATION_AVAILABLE | VBE_MODE_ATTRIBUTE_COLOR_MODE | VBE_MODE_ATTRIBUTE_LINEAR_FRAME_BUFFER_MODE | VBE_MODE_ATTRIBUTE_GRAPHICS_MODE,
  2337 ++/*Bit8u WinAAttributes*/ VBE_WINDOW_ATTRIBUTE_RELOCATABLE | VBE_WINDOW_ATTRIBUTE_READABLE | VBE_WINDOW_ATTRIBUTE_WRITEABLE,
  2338 ++/*Bit8u WinBAttributes*/ 0,
  2339 ++/*Bit16u WinGranularity*/ VBE_DISPI_BANK_SIZE_KB,
  2340 ++/*Bit16u WinSize*/ VBE_DISPI_BANK_SIZE_KB,
  2341 ++/*Bit16u WinASegment*/ VGAMEM_GRAPH,
  2342 ++/*Bit16u WinBSegment*/ 0x0000,
  2343 ++/*Bit32u WinFuncPtr*/ 0,
  2344 ++/*Bit16u BytesPerScanLine*/ 2304,
  2345 ++/*Bit16u XResolution*/ 1152,
  2346 ++/*Bit16u YResolution*/ 864,
  2347 ++/*Bit8u XCharSize*/ 8,
  2348 ++/*Bit8u YCharSize*/ 16,
  2349 ++/*Bit8u NumberOfPlanes*/ 1,
  2350 ++/*Bit8u BitsPerPixel*/ 16,
  2351 ++/*Bit8u NumberOfBanks*/ 31,
  2352 ++/*Bit8u MemoryModel*/ VBE_MEMORYMODEL_DIRECT_COLOR,
  2353 ++/*Bit8u BankSize*/ 0,
  2354 ++/*Bit8u NumberOfImagePages*/ 0,
  2355 ++/*Bit8u Reserved_page*/ 0,
  2356 ++/*Bit8u RedMaskSize*/ 5,
  2357 ++/*Bit8u RedFieldPosition*/ 11,
  2358 ++/*Bit8u GreenMaskSize*/ 6,
  2359 ++/*Bit8u GreenFieldPosition*/ 5,
  2360 ++/*Bit8u BlueMaskSize*/ 5,
  2361 ++/*Bit8u BlueFieldPosition*/ 0,
  2362 ++/*Bit8u RsvdMaskSize*/ 0,
  2363 ++/*Bit8u RsvdFieldPosition*/ 0,
  2364 ++/*Bit8u DirectColorModeInfo*/ 0,
  2365 ++/*Bit32u PhysBasePtr*/ VBE_DISPI_LFB_PHYSICAL_ADDRESS,
  2366 ++/*Bit32u OffScreenMemOffset*/ 0,
  2367 ++/*Bit16u OffScreenMemSize*/ 0,
  2368 ++/*Bit16u LinBytesPerScanLine*/ 2304,
  2369 ++/*Bit8u BnkNumberOfPages*/ 0,
  2370 ++/*Bit8u LinNumberOfPages*/ 0,
  2371 ++/*Bit8u LinRedMaskSize*/ 5,
  2372 ++/*Bit8u LinRedFieldPosition*/ 11,
  2373 ++/*Bit8u LinGreenMaskSize*/ 6,
  2374 ++/*Bit8u LinGreenFieldPosition*/ 5,
  2375 ++/*Bit8u LinBlueMaskSize*/ 5,
  2376 ++/*Bit8u LinBlueFieldPosition*/ 0,
  2377 ++/*Bit8u LinRsvdMaskSize*/ 0,
  2378 ++/*Bit8u LinRsvdFieldPosition*/ 0,
  2379 ++/*Bit32u MaxPixelClock*/ 0,
  2380 ++} },
  2381 ++{ 0x014b, /* 1152x864x24 */
  2382 ++{ /*Bit16u ModeAttributes*/ VBE_MODE_ATTRIBUTE_SUPPORTED | VBE_MODE_ATTRIBUTE_EXTENDED_INFORMATION_AVAILABLE | VBE_MODE_ATTRIBUTE_COLOR_MODE | VBE_MODE_ATTRIBUTE_LINEAR_FRAME_BUFFER_MODE | VBE_MODE_ATTRIBUTE_GRAPHICS_MODE,
  2383 ++/*Bit8u WinAAttributes*/ VBE_WINDOW_ATTRIBUTE_RELOCATABLE | VBE_WINDOW_ATTRIBUTE_READABLE | VBE_WINDOW_ATTRIBUTE_WRITEABLE,
  2384 ++/*Bit8u WinBAttributes*/ 0,
  2385 ++/*Bit16u WinGranularity*/ VBE_DISPI_BANK_SIZE_KB,
  2386 ++/*Bit16u WinSize*/ VBE_DISPI_BANK_SIZE_KB,
  2387 ++/*Bit16u WinASegment*/ VGAMEM_GRAPH,
  2388 ++/*Bit16u WinBSegment*/ 0x0000,
  2389 ++/*Bit32u WinFuncPtr*/ 0,
  2390 ++/*Bit16u BytesPerScanLine*/ 3456,
  2391 ++/*Bit16u XResolution*/ 1152,
  2392 ++/*Bit16u YResolution*/ 864,
  2393 ++/*Bit8u XCharSize*/ 8,
  2394 ++/*Bit8u YCharSize*/ 16,
  2395 ++/*Bit8u NumberOfPlanes*/ 1,
  2396 ++/*Bit8u BitsPerPixel*/ 24,
  2397 ++/*Bit8u NumberOfBanks*/ 46,
  2398 ++/*Bit8u MemoryModel*/ VBE_MEMORYMODEL_DIRECT_COLOR,
  2399 ++/*Bit8u BankSize*/ 0,
  2400 ++/*Bit8u NumberOfImagePages*/ 0,
  2401 ++/*Bit8u Reserved_page*/ 0,
  2402 ++/*Bit8u RedMaskSize*/ 8,
  2403 ++/*Bit8u RedFieldPosition*/ 16,
  2404 ++/*Bit8u GreenMaskSize*/ 8,
  2405 ++/*Bit8u GreenFieldPosition*/ 8,
  2406 ++/*Bit8u BlueMaskSize*/ 8,
  2407 ++/*Bit8u BlueFieldPosition*/ 0,
  2408 ++/*Bit8u RsvdMaskSize*/ 0,
  2409 ++/*Bit8u RsvdFieldPosition*/ 0,
  2410 ++/*Bit8u DirectColorModeInfo*/ 0,
  2411 ++/*Bit32u PhysBasePtr*/ VBE_DISPI_LFB_PHYSICAL_ADDRESS,
  2412 ++/*Bit32u OffScreenMemOffset*/ 0,
  2413 ++/*Bit16u OffScreenMemSize*/ 0,
  2414 ++/*Bit16u LinBytesPerScanLine*/ 3456,
  2415 ++/*Bit8u BnkNumberOfPages*/ 0,
  2416 ++/*Bit8u LinNumberOfPages*/ 0,
  2417 ++/*Bit8u LinRedMaskSize*/ 8,
  2418 ++/*Bit8u LinRedFieldPosition*/ 16,
  2419 ++/*Bit8u LinGreenMaskSize*/ 8,
  2420 ++/*Bit8u LinGreenFieldPosition*/ 8,
  2421 ++/*Bit8u LinBlueMaskSize*/ 8,
  2422 ++/*Bit8u LinBlueFieldPosition*/ 0,
  2423 ++/*Bit8u LinRsvdMaskSize*/ 0,
  2424 ++/*Bit8u LinRsvdFieldPosition*/ 0,
  2425 ++/*Bit32u MaxPixelClock*/ 0,
  2426 ++} },
  2427 ++{ 0x014c, /* 1152x864x32 */
  2428 ++{ /*Bit16u ModeAttributes*/ VBE_MODE_ATTRIBUTE_SUPPORTED | VBE_MODE_ATTRIBUTE_EXTENDED_INFORMATION_AVAILABLE | VBE_MODE_ATTRIBUTE_COLOR_MODE | VBE_MODE_ATTRIBUTE_LINEAR_FRAME_BUFFER_MODE | VBE_MODE_ATTRIBUTE_GRAPHICS_MODE,
  2429 ++/*Bit8u WinAAttributes*/ VBE_WINDOW_ATTRIBUTE_RELOCATABLE | VBE_WINDOW_ATTRIBUTE_READABLE | VBE_WINDOW_ATTRIBUTE_WRITEABLE,
  2430 ++/*Bit8u WinBAttributes*/ 0,
  2431 ++/*Bit16u WinGranularity*/ VBE_DISPI_BANK_SIZE_KB,
  2432 ++/*Bit16u WinSize*/ VBE_DISPI_BANK_SIZE_KB,
  2433 ++/*Bit16u WinASegment*/ VGAMEM_GRAPH,
  2434 ++/*Bit16u WinBSegment*/ 0x0000,
  2435 ++/*Bit32u WinFuncPtr*/ 0,
  2436 ++/*Bit16u BytesPerScanLine*/ 4608,
  2437 ++/*Bit16u XResolution*/ 1152,
  2438 ++/*Bit16u YResolution*/ 864,
  2439 ++/*Bit8u XCharSize*/ 8,
  2440 ++/*Bit8u YCharSize*/ 16,
  2441 ++/*Bit8u NumberOfPlanes*/ 1,
  2442 ++/*Bit8u BitsPerPixel*/ 32,
  2443 ++/*Bit8u NumberOfBanks*/ 61,
  2444 ++/*Bit8u MemoryModel*/ VBE_MEMORYMODEL_DIRECT_COLOR,
  2445 ++/*Bit8u BankSize*/ 0,
  2446 ++/*Bit8u NumberOfImagePages*/ 0,
  2447 ++/*Bit8u Reserved_page*/ 0,
  2448 ++/*Bit8u RedMaskSize*/ 8,
  2449 ++/*Bit8u RedFieldPosition*/ 16,
  2450 ++/*Bit8u GreenMaskSize*/ 8,
  2451 ++/*Bit8u GreenFieldPosition*/ 8,
  2452 ++/*Bit8u BlueMaskSize*/ 8,
  2453 ++/*Bit8u BlueFieldPosition*/ 0,
  2454 ++/*Bit8u RsvdMaskSize*/ 8,
  2455 ++/*Bit8u RsvdFieldPosition*/ 24,
  2456 ++/*Bit8u DirectColorModeInfo*/ 0,
  2457 ++/*Bit32u PhysBasePtr*/ VBE_DISPI_LFB_PHYSICAL_ADDRESS,
  2458 ++/*Bit32u OffScreenMemOffset*/ 0,
  2459 ++/*Bit16u OffScreenMemSize*/ 0,
  2460 ++/*Bit16u LinBytesPerScanLine*/ 4608,
  2461 ++/*Bit8u BnkNumberOfPages*/ 0,
  2462 ++/*Bit8u LinNumberOfPages*/ 0,
  2463 ++/*Bit8u LinRedMaskSize*/ 8,
  2464 ++/*Bit8u LinRedFieldPosition*/ 16,
  2465 ++/*Bit8u LinGreenMaskSize*/ 8,
  2466 ++/*Bit8u LinGreenFieldPosition*/ 8,
  2467 ++/*Bit8u LinBlueMaskSize*/ 8,
  2468 ++/*Bit8u LinBlueFieldPosition*/ 0,
  2469 ++/*Bit8u LinRsvdMaskSize*/ 8,
  2470 ++/*Bit8u LinRsvdFieldPosition*/ 24,
  2471 ++/*Bit32u MaxPixelClock*/ 0,
  2472 ++} },
  2473 ++{ VBE_VESA_MODE_END_OF_LIST,
  2474 ++{ 0,
  2475 ++} },
  2476 + };
  2477 +
  2478 + #endif
... ...