Commit 8fa00e0f authored by bellard's avatar bellard
Browse files

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
parent 8454df8b
No preview for this file type
......@@ -4,7 +4,7 @@ RCS file: /sources/vgabios/vgabios/clext.c,v
retrieving revision 1.10
diff -u -w -r1.10 clext.c
--- clext.c 25 Mar 2006 10:19:15 -0000 1.10
+++ clext.c 14 May 2006 20:49:29 -0000
+++ clext.c 13 Jun 2006 16:47:23 -0000
@@ -544,6 +544,13 @@
cirrus_set_video_mode_extended:
call cirrus_switch_mode
......@@ -72,3 +72,2407 @@ diff -u -w -r1.10 clext.c
cirrus_extbios_handlers:
;; 80h
dw cirrus_extbios_80h
Index: vbe.h
===================================================================
RCS file: /sources/vgabios/vgabios/vbe.h,v
retrieving revision 1.24
diff -u -w -r1.24 vbe.h
--- vbe.h 9 May 2004 20:31:31 -0000 1.24
+++ vbe.h 13 Jun 2006 16:47:24 -0000
@@ -193,6 +193,10 @@
#define VBE_VESA_MODE_1280X1024X1555 0x119
#define VBE_VESA_MODE_1280X1024X565 0x11A
#define VBE_VESA_MODE_1280X1024X888 0x11B
+#define VBE_VESA_MODE_1600X1200X8 0x11C
+#define VBE_VESA_MODE_1600X1200X1555 0x11D
+#define VBE_VESA_MODE_1600X1200X565 0x11E
+#define VBE_VESA_MODE_1600X1200X888 0x11F
// BOCHS/PLEX86 'own' mode numbers
#define VBE_OWN_MODE_320X200X8888 0x140
@@ -202,6 +206,12 @@
#define VBE_OWN_MODE_1024X768X8888 0x144
#define VBE_OWN_MODE_1280X1024X8888 0x145
#define VBE_OWN_MODE_320X200X8 0x146
+#define VBE_OWN_MODE_1600X1200X8888 0x147
+#define VBE_OWN_MODE_1152X864X8 0x148
+#define VBE_OWN_MODE_1152X864X1555 0x149
+#define VBE_OWN_MODE_1152X864X565 0x14a
+#define VBE_OWN_MODE_1152X864X888 0x14b
+#define VBE_OWN_MODE_1152X864X8888 0x14c
#define VBE_VESA_MODE_END_OF_LIST 0xFFFF
@@ -259,7 +269,7 @@
// like 0xE0000000
- #define VBE_DISPI_TOTAL_VIDEO_MEMORY_MB 4
+ #define VBE_DISPI_TOTAL_VIDEO_MEMORY_MB 8
#define VBE_DISPI_BANK_ADDRESS 0xA0000
#define VBE_DISPI_BANK_SIZE_KB 64
Index: vbetables.h
===================================================================
RCS file: /sources/vgabios/vgabios/vbetables.h,v
retrieving revision 1.24
diff -u -w -r1.24 vbetables.h
--- vbetables.h 22 Jul 2004 18:37:29 -0000 1.24
+++ vbetables.h 13 Jun 2006 16:47:24 -0000
@@ -14,46 +14,29 @@
ModeInfoBlockCompact info;
} ModeInfoListItem;
-// FIXME: check all member variables to be correct for the different modi
-// FIXME: add more modi
static ModeInfoListItem mode_info_list[]=
{
- {
- VBE_VESA_MODE_640X400X8,
- {
-/*typedef struct ModeInfoBlock
-{*/
-// Mandatory information for all VBE revisions
- /*Bit16u ModeAttributes*/ VBE_MODE_ATTRIBUTE_SUPPORTED |
- VBE_MODE_ATTRIBUTE_EXTENDED_INFORMATION_AVAILABLE |
- VBE_MODE_ATTRIBUTE_COLOR_MODE |
-#ifdef VBE_HAVE_LFB
- VBE_MODE_ATTRIBUTE_LINEAR_FRAME_BUFFER_MODE |
-#endif
- VBE_MODE_ATTRIBUTE_GRAPHICS_MODE,
- /*Bit8u WinAAttributes*/ VBE_WINDOW_ATTRIBUTE_RELOCATABLE |
- VBE_WINDOW_ATTRIBUTE_READABLE |
- VBE_WINDOW_ATTRIBUTE_WRITEABLE,
+{ 0x0100, /* 640x400x8 */
+{ /*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,
+/*Bit8u WinAAttributes*/ VBE_WINDOW_ATTRIBUTE_RELOCATABLE | VBE_WINDOW_ATTRIBUTE_READABLE | VBE_WINDOW_ATTRIBUTE_WRITEABLE,
/*Bit8u WinBAttributes*/ 0,
/*Bit16u WinGranularity*/ VBE_DISPI_BANK_SIZE_KB,
/*Bit16u WinSize*/ VBE_DISPI_BANK_SIZE_KB,
/*Bit16u WinASegment*/ VGAMEM_GRAPH,
- /*Bit16u WinBSegment*/ 0,
+/*Bit16u WinBSegment*/ 0x0000,
/*Bit32u WinFuncPtr*/ 0,
/*Bit16u BytesPerScanLine*/ 640,
-// Mandatory information for VBE 1.2 and above
/*Bit16u XResolution*/ 640,
/*Bit16u YResolution*/ 400,
/*Bit8u XCharSize*/ 8,
/*Bit8u YCharSize*/ 16,
/*Bit8u NumberOfPlanes*/ 1,
/*Bit8u BitsPerPixel*/ 8,
- /*Bit8u NumberOfBanks*/ 4, // 640x400/64kb == 4
+/*Bit8u NumberOfBanks*/ 4,
/*Bit8u MemoryModel*/ VBE_MEMORYMODEL_PACKED_PIXEL,
/*Bit8u BankSize*/ 0,
- /*Bit8u NumberOfImagePages*/ 15,
+/*Bit8u NumberOfImagePages*/ 0,
/*Bit8u Reserved_page*/ 0,
-// Direct Color fields (required for direct/6 and YUV/7 memory models)
/*Bit8u RedMaskSize*/ 0,
/*Bit8u RedFieldPosition*/ 0,
/*Bit8u GreenMaskSize*/ 0,
@@ -63,15 +46,9 @@
/*Bit8u RsvdMaskSize*/ 0,
/*Bit8u RsvdFieldPosition*/ 0,
/*Bit8u DirectColorModeInfo*/ 0,
-// Mandatory information for VBE 2.0 and above
-#ifdef VBE_HAVE_LFB
/*Bit32u PhysBasePtr*/ VBE_DISPI_LFB_PHYSICAL_ADDRESS,
-#else
- /*Bit32u PhysBasePtr*/ 0,
-#endif
/*Bit32u OffScreenMemOffset*/ 0,
/*Bit16u OffScreenMemSize*/ 0,
-// Mandatory information for VBE 3.0 and above
/*Bit16u LinBytesPerScanLine*/ 640,
/*Bit8u BnkNumberOfPages*/ 0,
/*Bit8u LinNumberOfPages*/ 0,
@@ -84,45 +61,28 @@
/*Bit8u LinRsvdMaskSize*/ 0,
/*Bit8u LinRsvdFieldPosition*/ 0,
/*Bit32u MaxPixelClock*/ 0,
-/*} ModeInfoBlock;*/
- }
- },
-
- {
- VBE_VESA_MODE_640X480X8,
- {
-/*typedef struct ModeInfoBlock
-{*/
-// Mandatory information for all VBE revisions
- /*Bit16u ModeAttributes*/ VBE_MODE_ATTRIBUTE_SUPPORTED |
- VBE_MODE_ATTRIBUTE_EXTENDED_INFORMATION_AVAILABLE |
- VBE_MODE_ATTRIBUTE_COLOR_MODE |
-#ifdef VBE_HAVE_LFB
- VBE_MODE_ATTRIBUTE_LINEAR_FRAME_BUFFER_MODE |
-#endif
- VBE_MODE_ATTRIBUTE_GRAPHICS_MODE,
- /*Bit8u WinAAttributes*/ VBE_WINDOW_ATTRIBUTE_READABLE |
- VBE_WINDOW_ATTRIBUTE_WRITEABLE,
+} },
+{ 0x0101, /* 640x480x8 */
+{ /*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,
+/*Bit8u WinAAttributes*/ VBE_WINDOW_ATTRIBUTE_RELOCATABLE | VBE_WINDOW_ATTRIBUTE_READABLE | VBE_WINDOW_ATTRIBUTE_WRITEABLE,
/*Bit8u WinBAttributes*/ 0,
/*Bit16u WinGranularity*/ VBE_DISPI_BANK_SIZE_KB,
/*Bit16u WinSize*/ VBE_DISPI_BANK_SIZE_KB,
/*Bit16u WinASegment*/ VGAMEM_GRAPH,
- /*Bit16u WinBSegment*/ 0,
+/*Bit16u WinBSegment*/ 0x0000,
/*Bit32u WinFuncPtr*/ 0,
/*Bit16u BytesPerScanLine*/ 640,
-// Mandatory information for VBE 1.2 and above
/*Bit16u XResolution*/ 640,
/*Bit16u YResolution*/ 480,
/*Bit8u XCharSize*/ 8,
/*Bit8u YCharSize*/ 16,
/*Bit8u NumberOfPlanes*/ 1,
/*Bit8u BitsPerPixel*/ 8,
- /*Bit8u NumberOfBanks*/ 5, // 640x480/64kb == 5
+/*Bit8u NumberOfBanks*/ 5,
/*Bit8u MemoryModel*/ VBE_MEMORYMODEL_PACKED_PIXEL,
/*Bit8u BankSize*/ 0,
- /*Bit8u NumberOfImagePages*/ 11,
+/*Bit8u NumberOfImagePages*/ 0,
/*Bit8u Reserved_page*/ 0,
-// Direct Color fields (required for direct/6 and YUV/7 memory models)
/*Bit8u RedMaskSize*/ 0,
/*Bit8u RedFieldPosition*/ 0,
/*Bit8u GreenMaskSize*/ 0,
@@ -132,15 +92,9 @@
/*Bit8u RsvdMaskSize*/ 0,
/*Bit8u RsvdFieldPosition*/ 0,
/*Bit8u DirectColorModeInfo*/ 0,
-// Mandatory information for VBE 2.0 and above
-#ifdef VBE_HAVE_LFB
/*Bit32u PhysBasePtr*/ VBE_DISPI_LFB_PHYSICAL_ADDRESS,
-#else
- /*Bit32u PhysBasePtr*/ 0,
-#endif
/*Bit32u OffScreenMemOffset*/ 0,
/*Bit16u OffScreenMemSize*/ 0,
-// Mandatory information for VBE 3.0 and above
/*Bit16u LinBytesPerScanLine*/ 640,
/*Bit8u BnkNumberOfPages*/ 0,
/*Bit8u LinNumberOfPages*/ 0,
@@ -153,44 +107,28 @@
/*Bit8u LinRsvdMaskSize*/ 0,
/*Bit8u LinRsvdFieldPosition*/ 0,
/*Bit32u MaxPixelClock*/ 0,
-/*} ModeInfoBlock;*/
- }
- },
-
- {
- VBE_VESA_MODE_800X600X4,
- {
-/*typedef struct ModeInfoBlock
-{*/
-// Mandatory information for all VBE revisions
- /*Bit16u ModeAttributes*/ VBE_MODE_ATTRIBUTE_SUPPORTED |
- VBE_MODE_ATTRIBUTE_EXTENDED_INFORMATION_AVAILABLE |
- VBE_MODE_ATTRIBUTE_TTY_BIOS_SUPPORT |
- VBE_MODE_ATTRIBUTE_COLOR_MODE |
- VBE_MODE_ATTRIBUTE_GRAPHICS_MODE,
- /*Bit8u WinAAttributes*/ VBE_WINDOW_ATTRIBUTE_RELOCATABLE |
- VBE_WINDOW_ATTRIBUTE_READABLE |
- VBE_WINDOW_ATTRIBUTE_WRITEABLE,
+} },
+{ 0x0102, /* 800x600x4 */
+{ /*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,
+/*Bit8u WinAAttributes*/ VBE_WINDOW_ATTRIBUTE_RELOCATABLE | VBE_WINDOW_ATTRIBUTE_READABLE | VBE_WINDOW_ATTRIBUTE_WRITEABLE,
/*Bit8u WinBAttributes*/ 0,
/*Bit16u WinGranularity*/ VBE_DISPI_BANK_SIZE_KB,
/*Bit16u WinSize*/ VBE_DISPI_BANK_SIZE_KB,
/*Bit16u WinASegment*/ VGAMEM_GRAPH,
- /*Bit16u WinBSegment*/ 0,
+/*Bit16u WinBSegment*/ 0x0000,
/*Bit32u WinFuncPtr*/ 0,
/*Bit16u BytesPerScanLine*/ 100,
-// Mandatory information for VBE 1.2 and above
/*Bit16u XResolution*/ 800,
/*Bit16u YResolution*/ 600,
/*Bit8u XCharSize*/ 8,
/*Bit8u YCharSize*/ 16,
/*Bit8u NumberOfPlanes*/ 4,
/*Bit8u BitsPerPixel*/ 4,
- /*Bit8u NumberOfBanks*/ 16,
+/*Bit8u NumberOfBanks*/ 1,
/*Bit8u MemoryModel*/ VBE_MEMORYMODEL_PLANAR,
/*Bit8u BankSize*/ 0,
- /*Bit8u NumberOfImagePages*/ 15,
+/*Bit8u NumberOfImagePages*/ 0,
/*Bit8u Reserved_page*/ 0,
-// Direct Color fields (required for direct/6 and YUV/7 memory models)
/*Bit8u RedMaskSize*/ 0,
/*Bit8u RedFieldPosition*/ 0,
/*Bit8u GreenMaskSize*/ 0,
@@ -200,11 +138,9 @@
/*Bit8u RsvdMaskSize*/ 0,
/*Bit8u RsvdFieldPosition*/ 0,
/*Bit8u DirectColorModeInfo*/ 0,
-// Mandatory information for VBE 2.0 and above
- /*Bit32u PhysBasePtr*/ 0,
+/*Bit32u PhysBasePtr*/ VBE_DISPI_LFB_PHYSICAL_ADDRESS,
/*Bit32u OffScreenMemOffset*/ 0,
/*Bit16u OffScreenMemSize*/ 0,
-// Mandatory information for VBE 3.0 and above
/*Bit16u LinBytesPerScanLine*/ 100,
/*Bit8u BnkNumberOfPages*/ 0,
/*Bit8u LinNumberOfPages*/ 0,
@@ -217,46 +153,28 @@
/*Bit8u LinRsvdMaskSize*/ 0,
/*Bit8u LinRsvdFieldPosition*/ 0,
/*Bit32u MaxPixelClock*/ 0,
-/*} ModeInfoBlock;*/
- }
- },
-
- {
- VBE_VESA_MODE_800X600X8,
- {
-/*typedef struct ModeInfoBlock
-{*/
-// Mandatory information for all VBE revisions
- /*Bit16u ModeAttributes*/ VBE_MODE_ATTRIBUTE_SUPPORTED |
- VBE_MODE_ATTRIBUTE_EXTENDED_INFORMATION_AVAILABLE |
- VBE_MODE_ATTRIBUTE_COLOR_MODE |
-#ifdef VBE_HAVE_LFB
- VBE_MODE_ATTRIBUTE_LINEAR_FRAME_BUFFER_MODE |
-#endif
- VBE_MODE_ATTRIBUTE_GRAPHICS_MODE,
- /*Bit8u WinAAttributes*/ VBE_WINDOW_ATTRIBUTE_RELOCATABLE |
- VBE_WINDOW_ATTRIBUTE_READABLE |
- VBE_WINDOW_ATTRIBUTE_WRITEABLE,
+} },
+{ 0x0103, /* 800x600x8 */
+{ /*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,
+/*Bit8u WinAAttributes*/ VBE_WINDOW_ATTRIBUTE_RELOCATABLE | VBE_WINDOW_ATTRIBUTE_READABLE | VBE_WINDOW_ATTRIBUTE_WRITEABLE,
/*Bit8u WinBAttributes*/ 0,
/*Bit16u WinGranularity*/ VBE_DISPI_BANK_SIZE_KB,
/*Bit16u WinSize*/ VBE_DISPI_BANK_SIZE_KB,
/*Bit16u WinASegment*/ VGAMEM_GRAPH,
- /*Bit16u WinBSegment*/ 0,
+/*Bit16u WinBSegment*/ 0x0000,
/*Bit32u WinFuncPtr*/ 0,
/*Bit16u BytesPerScanLine*/ 800,
-// Mandatory information for VBE 1.2 and above
/*Bit16u XResolution*/ 800,
/*Bit16u YResolution*/ 600,
/*Bit8u XCharSize*/ 8,
/*Bit8u YCharSize*/ 16,
/*Bit8u NumberOfPlanes*/ 1,
/*Bit8u BitsPerPixel*/ 8,
- /*Bit8u NumberOfBanks*/ 8, // 800x600/64kb == 8
+/*Bit8u NumberOfBanks*/ 8,
/*Bit8u MemoryModel*/ VBE_MEMORYMODEL_PACKED_PIXEL,
/*Bit8u BankSize*/ 0,
- /*Bit8u NumberOfImagePages*/ 7,
+/*Bit8u NumberOfImagePages*/ 0,
/*Bit8u Reserved_page*/ 0,
-// Direct Color fields (required for direct/6 and YUV/7 memory models)
/*Bit8u RedMaskSize*/ 0,
/*Bit8u RedFieldPosition*/ 0,
/*Bit8u GreenMaskSize*/ 0,
@@ -266,15 +184,9 @@
/*Bit8u RsvdMaskSize*/ 0,
/*Bit8u RsvdFieldPosition*/ 0,
/*Bit8u DirectColorModeInfo*/ 0,
-// Mandatory information for VBE 2.0 and above
-#ifdef VBE_HAVE_LFB
/*Bit32u PhysBasePtr*/ VBE_DISPI_LFB_PHYSICAL_ADDRESS,
-#else
- /*Bit32u PhysBasePtr*/ 0,
-#endif
/*Bit32u OffScreenMemOffset*/ 0,
/*Bit16u OffScreenMemSize*/ 0,
-// Mandatory information for VBE 3.0 and above
/*Bit16u LinBytesPerScanLine*/ 800,
/*Bit8u BnkNumberOfPages*/ 0,
/*Bit8u LinNumberOfPages*/ 0,
@@ -287,46 +199,28 @@
/*Bit8u LinRsvdMaskSize*/ 0,
/*Bit8u LinRsvdFieldPosition*/ 0,
/*Bit32u MaxPixelClock*/ 0,
-/*} ModeInfoBlock;*/
- }
- },
-
- {
- VBE_VESA_MODE_1024X768X8,
- {
-/*typedef struct ModeInfoBlock
-{*/
-// Mandatory information for all VBE revisions
- /*Bit16u ModeAttributes*/ VBE_MODE_ATTRIBUTE_SUPPORTED |
- VBE_MODE_ATTRIBUTE_EXTENDED_INFORMATION_AVAILABLE |
- VBE_MODE_ATTRIBUTE_COLOR_MODE |
-#ifdef VBE_HAVE_LFB
- VBE_MODE_ATTRIBUTE_LINEAR_FRAME_BUFFER_MODE |
-#endif
- VBE_MODE_ATTRIBUTE_GRAPHICS_MODE,
- /*Bit8u WinAAttributes*/ VBE_WINDOW_ATTRIBUTE_RELOCATABLE |
- VBE_WINDOW_ATTRIBUTE_READABLE |
- VBE_WINDOW_ATTRIBUTE_WRITEABLE,
+} },
+{ 0x0105, /* 1024x768x8 */
+{ /*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,
+/*Bit8u WinAAttributes*/ VBE_WINDOW_ATTRIBUTE_RELOCATABLE | VBE_WINDOW_ATTRIBUTE_READABLE | VBE_WINDOW_ATTRIBUTE_WRITEABLE,
/*Bit8u WinBAttributes*/ 0,
/*Bit16u WinGranularity*/ VBE_DISPI_BANK_SIZE_KB,
/*Bit16u WinSize*/ VBE_DISPI_BANK_SIZE_KB,
/*Bit16u WinASegment*/ VGAMEM_GRAPH,
- /*Bit16u WinBSegment*/ 0,
+/*Bit16u WinBSegment*/ 0x0000,
/*Bit32u WinFuncPtr*/ 0,
/*Bit16u BytesPerScanLine*/ 1024,
-// Mandatory information for VBE 1.2 and above
/*Bit16u XResolution*/ 1024,
/*Bit16u YResolution*/ 768,
/*Bit8u XCharSize*/ 8,
/*Bit8u YCharSize*/ 16,
/*Bit8u NumberOfPlanes*/ 1,
/*Bit8u BitsPerPixel*/ 8,
- /*Bit8u NumberOfBanks*/ 12, // 1024x768/64kb == 12
+/*Bit8u NumberOfBanks*/ 12,
/*Bit8u MemoryModel*/ VBE_MEMORYMODEL_PACKED_PIXEL,
/*Bit8u BankSize*/ 0,
- /*Bit8u NumberOfImagePages*/ 3,
+/*Bit8u NumberOfImagePages*/ 0,
/*Bit8u Reserved_page*/ 0,
-// Direct Color fields (required for direct/6 and YUV/7 memory models)
/*Bit8u RedMaskSize*/ 0,
/*Bit8u RedFieldPosition*/ 0,
/*Bit8u GreenMaskSize*/ 0,
@@ -336,15 +230,9 @@
/*Bit8u RsvdMaskSize*/ 0,
/*Bit8u RsvdFieldPosition*/ 0,
/*Bit8u DirectColorModeInfo*/ 0,
-// Mandatory information for VBE 2.0 and above
-#ifdef VBE_HAVE_LFB
/*Bit32u PhysBasePtr*/ VBE_DISPI_LFB_PHYSICAL_ADDRESS,
-#else
- /*Bit32u PhysBasePtr*/ 0,
-#endif
/*Bit32u OffScreenMemOffset*/ 0,
/*Bit16u OffScreenMemSize*/ 0,
-// Mandatory information for VBE 3.0 and above
/*Bit16u LinBytesPerScanLine*/ 1024,
/*Bit8u BnkNumberOfPages*/ 0,
/*Bit8u LinNumberOfPages*/ 0,
@@ -357,116 +245,74 @@
/*Bit8u LinRsvdMaskSize*/ 0,
/*Bit8u LinRsvdFieldPosition*/ 0,
/*Bit32u MaxPixelClock*/ 0,
-/*} ModeInfoBlock;*/
- }
- },
-
- {
- VBE_VESA_MODE_640X480X1555,
- {
-/*typedef struct ModeInfoBlock
-{*/
-// Mandatory information for all VBE revisions
- /*Bit16u ModeAttributes*/ VBE_MODE_ATTRIBUTE_SUPPORTED |
- VBE_MODE_ATTRIBUTE_EXTENDED_INFORMATION_AVAILABLE |
- VBE_MODE_ATTRIBUTE_COLOR_MODE |
-#ifdef VBE_HAVE_LFB
- VBE_MODE_ATTRIBUTE_LINEAR_FRAME_BUFFER_MODE |
-#endif
- VBE_MODE_ATTRIBUTE_GRAPHICS_MODE,
- /*Bit8u WinAAttributes*/ VBE_WINDOW_ATTRIBUTE_RELOCATABLE |
- VBE_WINDOW_ATTRIBUTE_READABLE |
- VBE_WINDOW_ATTRIBUTE_WRITEABLE,
+} },
+{ 0x0107, /* 1280x1024x8 */
+{ /*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,
+/*Bit8u WinAAttributes*/ VBE_WINDOW_ATTRIBUTE_RELOCATABLE | VBE_WINDOW_ATTRIBUTE_READABLE | VBE_WINDOW_ATTRIBUTE_WRITEABLE,
/*Bit8u WinBAttributes*/ 0,
/*Bit16u WinGranularity*/ VBE_DISPI_BANK_SIZE_KB,
/*Bit16u WinSize*/ VBE_DISPI_BANK_SIZE_KB,
/*Bit16u WinASegment*/ VGAMEM_GRAPH,
- /*Bit16u WinBSegment*/ 0,
+/*Bit16u WinBSegment*/ 0x0000,
/*Bit32u WinFuncPtr*/ 0,
- /*Bit16u BytesPerScanLine*/ 640*2,
-// Mandatory information for VBE 1.2 and above
- /*Bit16u XResolution*/ 640,
- /*Bit16u YResolution*/ 480,
+/*Bit16u BytesPerScanLine*/ 1280,
+/*Bit16u XResolution*/ 1280,
+/*Bit16u YResolution*/ 1024,
/*Bit8u XCharSize*/ 8,
/*Bit8u YCharSize*/ 16,
/*Bit8u NumberOfPlanes*/ 1,
- /*Bit8u BitsPerPixel*/ 15,
- /*Bit8u NumberOfBanks*/ 1,
- /*Bit8u MemoryModel*/ VBE_MEMORYMODEL_DIRECT_COLOR,
+/*Bit8u BitsPerPixel*/ 8,
+/*Bit8u NumberOfBanks*/ 20,
+/*Bit8u MemoryModel*/ VBE_MEMORYMODEL_PACKED_PIXEL,
/*Bit8u BankSize*/ 0,
- /*Bit8u NumberOfImagePages*/ 5,
+/*Bit8u NumberOfImagePages*/ 0,
/*Bit8u Reserved_page*/ 0,
-// Direct Color fields (required for direct/6 and YUV/7 memory models)
- /*Bit8u RedMaskSize*/ 5,
- /*Bit8u RedFieldPosition*/ 10,
- /*Bit8u GreenMaskSize*/ 5,
- /*Bit8u GreenFieldPosition*/ 5,
- /*Bit8u BlueMaskSize*/ 5,
+/*Bit8u RedMaskSize*/ 0,
+/*Bit8u RedFieldPosition*/ 0,
+/*Bit8u GreenMaskSize*/ 0,
+/*Bit8u GreenFieldPosition*/ 0,
+/*Bit8u BlueMaskSize*/ 0,
/*Bit8u BlueFieldPosition*/ 0,
- /*Bit8u RsvdMaskSize*/ 1,
- /*Bit8u RsvdFieldPosition*/ 15,
+/*Bit8u RsvdMaskSize*/ 0,
+/*Bit8u RsvdFieldPosition*/ 0,
/*Bit8u DirectColorModeInfo*/ 0,
-// Mandatory information for VBE 2.0 and above
-#ifdef VBE_HAVE_LFB
/*Bit32u PhysBasePtr*/ VBE_DISPI_LFB_PHYSICAL_ADDRESS,
-#else
- /*Bit32u PhysBasePtr*/ 0,
-#endif
/*Bit32u OffScreenMemOffset*/ 0,
/*Bit16u OffScreenMemSize*/ 0,
-// Mandatory information for VBE 3.0 and above
- /*Bit16u LinBytesPerScanLine*/ 640*2,
+/*Bit16u LinBytesPerScanLine*/ 1280,
/*Bit8u BnkNumberOfPages*/ 0,
/*Bit8u LinNumberOfPages*/ 0,
- /*Bit8u LinRedMaskSize*/ 5,
- /*Bit8u LinRedFieldPosition*/ 10,
+/*Bit8u LinRedMaskSize*/ 0,
+/*Bit8u LinRedFieldPosition*/ 0,
/*Bit8u LinGreenMaskSize*/ 0,
- /*Bit8u LinGreenFieldPosition*/ 5,
- /*Bit8u LinBlueMaskSize*/ 5,
+/*Bit8u LinGreenFieldPosition*/ 0,
+/*Bit8u LinBlueMaskSize*/ 0,
/*Bit8u LinBlueFieldPosition*/ 0,
- /*Bit8u LinRsvdMaskSize*/ 1,
- /*Bit8u LinRsvdFieldPosition*/ 15,
+/*Bit8u LinRsvdMaskSize*/ 0,
+/*Bit8u LinRsvdFieldPosition*/ 0,
/*Bit32u MaxPixelClock*/ 0,
-/*} ModeInfoBlock;*/
- }
- },
-
- {
- VBE_VESA_MODE_800X600X1555,
- {
-/*typedef struct ModeInfoBlock
-{*/
-// Mandatory information for all VBE revisions
- /*Bit16u ModeAttributes*/ VBE_MODE_ATTRIBUTE_SUPPORTED |
- VBE_MODE_ATTRIBUTE_EXTENDED_INFORMATION_AVAILABLE |
- VBE_MODE_ATTRIBUTE_COLOR_MODE |
-#ifdef VBE_HAVE_LFB
- VBE_MODE_ATTRIBUTE_LINEAR_FRAME_BUFFER_MODE |
-#endif
- VBE_MODE_ATTRIBUTE_GRAPHICS_MODE,
- /*Bit8u WinAAttributes*/ VBE_WINDOW_ATTRIBUTE_RELOCATABLE |
- VBE_WINDOW_ATTRIBUTE_READABLE |
- VBE_WINDOW_ATTRIBUTE_WRITEABLE,
+} },
+{ 0x010d, /* 320x200x15 */
+{ /*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,
+/*Bit8u WinAAttributes*/ VBE_WINDOW_ATTRIBUTE_RELOCATABLE | VBE_WINDOW_ATTRIBUTE_READABLE | VBE_WINDOW_ATTRIBUTE_WRITEABLE,
/*Bit8u WinBAttributes*/ 0,
/*Bit16u WinGranularity*/ VBE_DISPI_BANK_SIZE_KB,
/*Bit16u WinSize*/ VBE_DISPI_BANK_SIZE_KB,
/*Bit16u WinASegment*/ VGAMEM_GRAPH,
- /*Bit16u WinBSegment*/ 0,
+/*Bit16u WinBSegment*/ 0x0000,
/*Bit32u WinFuncPtr*/ 0,
- /*Bit16u BytesPerScanLine*/ 800*2,
-// Mandatory information for VBE 1.2 and above
- /*Bit16u XResolution*/ 800,
- /*Bit16u YResolution*/ 600,
+/*Bit16u BytesPerScanLine*/ 640,
+/*Bit16u XResolution*/ 320,
+/*Bit16u YResolution*/ 200,
/*Bit8u XCharSize*/ 8,
/*Bit8u YCharSize*/ 16,
/*Bit8u NumberOfPlanes*/ 1,
/*Bit8u BitsPerPixel*/ 15,
- /*Bit8u NumberOfBanks*/ 1,
+/*Bit8u NumberOfBanks*/ 2,
/*Bit8u MemoryModel*/ VBE_MEMORYMODEL_DIRECT_COLOR,
/*Bit8u BankSize*/ 0,
- /*Bit8u NumberOfImagePages*/ 3,
+/*Bit8u NumberOfImagePages*/ 0,
/*Bit8u Reserved_page*/ 0,
-// Direct Color fields (required for direct/6 and YUV/7 memory models)
/*Bit8u RedMaskSize*/ 5,
/*Bit8u RedFieldPosition*/ 10,
/*Bit8u GreenMaskSize*/ 5,
@@ -476,16 +322,10 @@
/*Bit8u RsvdMaskSize*/ 1,
/*Bit8u RsvdFieldPosition*/ 15,
/*Bit8u DirectColorModeInfo*/ 0,
-// Mandatory information for VBE 2.0 and above
-#ifdef VBE_HAVE_LFB
/*Bit32u PhysBasePtr*/ VBE_DISPI_LFB_PHYSICAL_ADDRESS,
-#else
- /*Bit32u PhysBasePtr*/ 0,
-#endif
/*Bit32u OffScreenMemOffset*/ 0,
/*Bit16u OffScreenMemSize*/ 0,
-// Mandatory information for VBE 3.0 and above
- /*Bit16u LinBytesPerScanLine*/ 800*2,
+/*Bit16u LinBytesPerScanLine*/ 640,
/*Bit8u BnkNumberOfPages*/ 0,
/*Bit8u LinNumberOfPages*/ 0,
/*Bit8u LinRedMaskSize*/ 5,
@@ -497,256 +337,166 @@
/*Bit8u LinRsvdMaskSize*/ 1,
/*Bit8u LinRsvdFieldPosition*/ 15,
/*Bit32u MaxPixelClock*/ 0,
-/*} ModeInfoBlock;*/
- }
- },
-
- {
- VBE_VESA_MODE_1024X768X1555,
- {
-/*typedef struct ModeInfoBlock
-{*/
-// Mandatory information for all VBE revisions
- /*Bit16u ModeAttributes*/ VBE_MODE_ATTRIBUTE_SUPPORTED |
- VBE_MODE_ATTRIBUTE_EXTENDED_INFORMATION_AVAILABLE |
- VBE_MODE_ATTRIBUTE_COLOR_MODE |
-#ifdef VBE_HAVE_LFB
- VBE_MODE_ATTRIBUTE_LINEAR_FRAME_BUFFER_MODE |
-#endif
- VBE_MODE_ATTRIBUTE_GRAPHICS_MODE,
- /*Bit8u WinAAttributes*/ VBE_WINDOW_ATTRIBUTE_RELOCATABLE |
- VBE_WINDOW_ATTRIBUTE_READABLE |
- VBE_WINDOW_ATTRIBUTE_WRITEABLE,
+} },
+{ 0x010e, /* 320x200x16 */
+{ /*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,
+/*Bit8u WinAAttributes*/ VBE_WINDOW_ATTRIBUTE_RELOCATABLE | VBE_WINDOW_ATTRIBUTE_READABLE | VBE_WINDOW_ATTRIBUTE_WRITEABLE,
/*Bit8u WinBAttributes*/ 0,
/*Bit16u WinGranularity*/ VBE_DISPI_BANK_SIZE_KB,
/*Bit16u WinSize*/ VBE_DISPI_BANK_SIZE_KB,
/*Bit16u WinASegment*/ VGAMEM_GRAPH,
- /*Bit16u WinBSegment*/ 0,
+/*Bit16u WinBSegment*/ 0x0000,
/*Bit32u WinFuncPtr*/ 0,
- /*Bit16u BytesPerScanLine*/ 1024*2,
-// Mandatory information for VBE 1.2 and above
- /*Bit16u XResolution*/ 1024,
- /*Bit16u YResolution*/ 768,
+/*Bit16u BytesPerScanLine*/ 640,
+/*Bit16u XResolution*/ 320,
+/*Bit16u YResolution*/ 200,
/*Bit8u XCharSize*/ 8,
/*Bit8u YCharSize*/ 16,
/*Bit8u NumberOfPlanes*/ 1,
- /*Bit8u BitsPerPixel*/ 15,
- /*Bit8u NumberOfBanks*/ 1,
+/*Bit8u BitsPerPixel*/ 16,
+/*Bit8u NumberOfBanks*/ 2,
/*Bit8u MemoryModel*/ VBE_MEMORYMODEL_DIRECT_COLOR,
/*Bit8u BankSize*/ 0,
- /*Bit8u NumberOfImagePages*/ 1,
+/*Bit8u NumberOfImagePages*/ 0,
/*Bit8u Reserved_page*/ 0,
-// Direct Color fields (required for direct/6 and YUV/7 memory models)
/*Bit8u RedMaskSize*/ 5,
- /*Bit8u RedFieldPosition*/ 10,
- /*Bit8u GreenMaskSize*/ 5,
+/*Bit8u RedFieldPosition*/ 11,
+/*Bit8u GreenMaskSize*/ 6,
/*Bit8u GreenFieldPosition*/ 5,
/*Bit8u BlueMaskSize*/ 5,
/*Bit8u BlueFieldPosition*/ 0,
- /*Bit8u RsvdMaskSize*/ 1,
- /*Bit8u RsvdFieldPosition*/ 15,
+/*Bit8u RsvdMaskSize*/ 0,
+/*Bit8u RsvdFieldPosition*/ 0,
/*Bit8u DirectColorModeInfo*/ 0,
-// Mandatory information for VBE 2.0 and above
-#ifdef VBE_HAVE_LFB
/*Bit32u PhysBasePtr*/ VBE_DISPI_LFB_PHYSICAL_ADDRESS,
-#else
- /*Bit32u PhysBasePtr*/ 0,
-#endif
/*Bit32u OffScreenMemOffset*/ 0,
/*Bit16u OffScreenMemSize*/ 0,
-// Mandatory information for VBE 3.0 and above