summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVolker Ruppert <info@vruppert.de>2006-08-09 21:26:02 +0000
committerVolker Ruppert <info@vruppert.de>2006-08-09 21:26:02 +0000
commit79e431847dca5f8cf3f27f4876b138e95906c75b (patch)
tree7aeb2af5194d53b0f4134772459a8b620f07255e
parent4d091af26945e677e975a2eb5174bd53d4edaf99 (diff)
- VBE video memory increased to 8 MB
- VBE dispi ID changed to B0C4 - documentation update
-rw-r--r--vbe.c2
-rw-r--r--vbe.h3
-rw-r--r--vbe_display_api.txt9
-rw-r--r--vbetables-gen.c2
-rw-r--r--vbetables.h208
5 files changed, 185 insertions, 39 deletions
diff --git a/vbe.c b/vbe.c
index 7bf7aee..ce5c62e 100644
--- a/vbe.c
+++ b/vbe.c
@@ -600,7 +600,7 @@ vbe_init:
mov [bx], al
pop bx
pop ds
- mov ax, # VBE_DISPI_ID3
+ mov ax, # VBE_DISPI_ID4
call dispi_set_id
no_vbe_interface:
#if defined(USE_BX_INFO) || defined(DEBUG)
diff --git a/vbe.h b/vbe.h
index 14ec69f..aefc009 100644
--- a/vbe.h
+++ b/vbe.h
@@ -275,7 +275,7 @@ typedef struct ModeInfoListItem
// 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
@@ -301,6 +301,7 @@ typedef struct ModeInfoListItem
#define VBE_DISPI_ID1 0xB0C1
#define VBE_DISPI_ID2 0xB0C2
#define VBE_DISPI_ID3 0xB0C3
+ #define VBE_DISPI_ID4 0xB0C4
#define VBE_DISPI_DISABLED 0x00
#define VBE_DISPI_ENABLED 0x01
diff --git a/vbe_display_api.txt b/vbe_display_api.txt
index 788e17a..afd988b 100644
--- a/vbe_display_api.txt
+++ b/vbe_display_api.txt
@@ -40,6 +40,8 @@ API History
additional features:
VBE_DISPI_INDEX_ENABLE supports new flags VBE_DISPI_GETCAPS and VBE_DISPI_8BIT_DAC
+0xb0c4 VBE video memory increased to 8 MB
+
History
-------
@@ -82,7 +84,7 @@ Abbreviations
#defines
--------
- #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
@@ -106,6 +108,8 @@ Abbreviations
#define VBE_DISPI_ID0 0xB0C0
#define VBE_DISPI_ID1 0xB0C1
#define VBE_DISPI_ID2 0xB0C2
+ #define VBE_DISPI_ID3 0xB0C3
+ #define VBE_DISPI_ID4 0xB0C4
#define VBE_DISPI_DISABLED 0x00
#define VBE_DISPI_ENABLED 0x01
@@ -202,6 +206,9 @@ API
return the gui capabilities.
The new flag VBE_DISPI_8BIT_DAC switches the DAC to 8 bit mode.
+[0xb0c4]
+ * VBE_DISPI_TOTAL_VIDEO_MEMORY_MB set to 8
+
Displaying GFX (banked mode)
--------------
What happens is that the total screen is devided in banks of 'VBE_DISPI_BANK_SIZE_KB' KiloByte in size.
diff --git a/vbetables-gen.c b/vbetables-gen.c
index e016ad7..97243a8 100644
--- a/vbetables-gen.c
+++ b/vbetables-gen.c
@@ -2,7 +2,7 @@
#include <stdlib.h>
#include <stdio.h>
-#define VBE_DISPI_TOTAL_VIDEO_MEMORY_MB 4
+#define VBE_DISPI_TOTAL_VIDEO_MEMORY_MB 8
typedef struct {
int width;
diff --git a/vbetables.h b/vbetables.h
index 560b033..6f87e8e 100644
--- a/vbetables.h
+++ b/vbetables.h
@@ -20,7 +20,7 @@ static ModeInfoListItem mode_info_list[]=
/*Bit8u NumberOfBanks*/ 4,
/*Bit8u MemoryModel*/ VBE_MEMORYMODEL_PACKED_PIXEL,
/*Bit8u BankSize*/ 0,
-/*Bit8u NumberOfImagePages*/ 15,
+/*Bit8u NumberOfImagePages*/ 31,
/*Bit8u Reserved_page*/ 0,
/*Bit8u RedMaskSize*/ 0,
/*Bit8u RedFieldPosition*/ 0,
@@ -66,7 +66,7 @@ static ModeInfoListItem mode_info_list[]=
/*Bit8u NumberOfBanks*/ 5,
/*Bit8u MemoryModel*/ VBE_MEMORYMODEL_PACKED_PIXEL,
/*Bit8u BankSize*/ 0,
-/*Bit8u NumberOfImagePages*/ 12,
+/*Bit8u NumberOfImagePages*/ 26,
/*Bit8u Reserved_page*/ 0,
/*Bit8u RedMaskSize*/ 0,
/*Bit8u RedFieldPosition*/ 0,
@@ -112,7 +112,7 @@ static ModeInfoListItem mode_info_list[]=
/*Bit8u NumberOfBanks*/ 1,
/*Bit8u MemoryModel*/ VBE_MEMORYMODEL_PLANAR,
/*Bit8u BankSize*/ 0,
-/*Bit8u NumberOfImagePages*/ 16,
+/*Bit8u NumberOfImagePages*/ 33,
/*Bit8u Reserved_page*/ 0,
/*Bit8u RedMaskSize*/ 0,
/*Bit8u RedFieldPosition*/ 0,
@@ -158,7 +158,7 @@ static ModeInfoListItem mode_info_list[]=
/*Bit8u NumberOfBanks*/ 8,
/*Bit8u MemoryModel*/ VBE_MEMORYMODEL_PACKED_PIXEL,
/*Bit8u BankSize*/ 0,
-/*Bit8u NumberOfImagePages*/ 7,
+/*Bit8u NumberOfImagePages*/ 16,
/*Bit8u Reserved_page*/ 0,
/*Bit8u RedMaskSize*/ 0,
/*Bit8u RedFieldPosition*/ 0,
@@ -204,7 +204,7 @@ static ModeInfoListItem mode_info_list[]=
/*Bit8u NumberOfBanks*/ 12,
/*Bit8u MemoryModel*/ VBE_MEMORYMODEL_PACKED_PIXEL,
/*Bit8u BankSize*/ 0,
-/*Bit8u NumberOfImagePages*/ 4,
+/*Bit8u NumberOfImagePages*/ 9,
/*Bit8u Reserved_page*/ 0,
/*Bit8u RedMaskSize*/ 0,
/*Bit8u RedFieldPosition*/ 0,
@@ -250,7 +250,7 @@ static ModeInfoListItem mode_info_list[]=
/*Bit8u NumberOfBanks*/ 20,
/*Bit8u MemoryModel*/ VBE_MEMORYMODEL_PACKED_PIXEL,
/*Bit8u BankSize*/ 0,
-/*Bit8u NumberOfImagePages*/ 2,
+/*Bit8u NumberOfImagePages*/ 5,
/*Bit8u Reserved_page*/ 0,
/*Bit8u RedMaskSize*/ 0,
/*Bit8u RedFieldPosition*/ 0,
@@ -296,7 +296,7 @@ static ModeInfoListItem mode_info_list[]=
/*Bit8u NumberOfBanks*/ 2,
/*Bit8u MemoryModel*/ VBE_MEMORYMODEL_DIRECT_COLOR,
/*Bit8u BankSize*/ 0,
-/*Bit8u NumberOfImagePages*/ 31,
+/*Bit8u NumberOfImagePages*/ 64,
/*Bit8u Reserved_page*/ 0,
/*Bit8u RedMaskSize*/ 5,
/*Bit8u RedFieldPosition*/ 10,
@@ -342,7 +342,7 @@ static ModeInfoListItem mode_info_list[]=
/*Bit8u NumberOfBanks*/ 2,
/*Bit8u MemoryModel*/ VBE_MEMORYMODEL_DIRECT_COLOR,
/*Bit8u BankSize*/ 0,
-/*Bit8u NumberOfImagePages*/ 31,
+/*Bit8u NumberOfImagePages*/ 64,
/*Bit8u Reserved_page*/ 0,
/*Bit8u RedMaskSize*/ 5,
/*Bit8u RedFieldPosition*/ 11,
@@ -388,7 +388,7 @@ static ModeInfoListItem mode_info_list[]=
/*Bit8u NumberOfBanks*/ 3,
/*Bit8u MemoryModel*/ VBE_MEMORYMODEL_DIRECT_COLOR,
/*Bit8u BankSize*/ 0,
-/*Bit8u NumberOfImagePages*/ 20,
+/*Bit8u NumberOfImagePages*/ 42,
/*Bit8u Reserved_page*/ 0,
/*Bit8u RedMaskSize*/ 8,
/*Bit8u RedFieldPosition*/ 16,
@@ -434,7 +434,7 @@ static ModeInfoListItem mode_info_list[]=
/*Bit8u NumberOfBanks*/ 10,
/*Bit8u MemoryModel*/ VBE_MEMORYMODEL_DIRECT_COLOR,
/*Bit8u BankSize*/ 0,
-/*Bit8u NumberOfImagePages*/ 5,
+/*Bit8u NumberOfImagePages*/ 12,
/*Bit8u Reserved_page*/ 0,
/*Bit8u RedMaskSize*/ 5,
/*Bit8u RedFieldPosition*/ 10,
@@ -480,7 +480,7 @@ static ModeInfoListItem mode_info_list[]=
/*Bit8u NumberOfBanks*/ 10,
/*Bit8u MemoryModel*/ VBE_MEMORYMODEL_DIRECT_COLOR,
/*Bit8u BankSize*/ 0,
-/*Bit8u NumberOfImagePages*/ 5,
+/*Bit8u NumberOfImagePages*/ 12,
/*Bit8u Reserved_page*/ 0,
/*Bit8u RedMaskSize*/ 5,
/*Bit8u RedFieldPosition*/ 11,
@@ -526,7 +526,7 @@ static ModeInfoListItem mode_info_list[]=
/*Bit8u NumberOfBanks*/ 15,
/*Bit8u MemoryModel*/ VBE_MEMORYMODEL_DIRECT_COLOR,
/*Bit8u BankSize*/ 0,
-/*Bit8u NumberOfImagePages*/ 3,
+/*Bit8u NumberOfImagePages*/ 8,
/*Bit8u Reserved_page*/ 0,
/*Bit8u RedMaskSize*/ 8,
/*Bit8u RedFieldPosition*/ 16,
@@ -572,7 +572,7 @@ static ModeInfoListItem mode_info_list[]=
/*Bit8u NumberOfBanks*/ 15,
/*Bit8u MemoryModel*/ VBE_MEMORYMODEL_DIRECT_COLOR,
/*Bit8u BankSize*/ 0,
-/*Bit8u NumberOfImagePages*/ 3,
+/*Bit8u NumberOfImagePages*/ 7,
/*Bit8u Reserved_page*/ 0,
/*Bit8u RedMaskSize*/ 5,
/*Bit8u RedFieldPosition*/ 10,
@@ -618,7 +618,7 @@ static ModeInfoListItem mode_info_list[]=
/*Bit8u NumberOfBanks*/ 15,
/*Bit8u MemoryModel*/ VBE_MEMORYMODEL_DIRECT_COLOR,
/*Bit8u BankSize*/ 0,
-/*Bit8u NumberOfImagePages*/ 3,
+/*Bit8u NumberOfImagePages*/ 7,
/*Bit8u Reserved_page*/ 0,
/*Bit8u RedMaskSize*/ 5,
/*Bit8u RedFieldPosition*/ 11,
@@ -664,7 +664,7 @@ static ModeInfoListItem mode_info_list[]=
/*Bit8u NumberOfBanks*/ 22,
/*Bit8u MemoryModel*/ VBE_MEMORYMODEL_DIRECT_COLOR,
/*Bit8u BankSize*/ 0,
-/*Bit8u NumberOfImagePages*/ 1,
+/*Bit8u NumberOfImagePages*/ 4,
/*Bit8u Reserved_page*/ 0,
/*Bit8u RedMaskSize*/ 8,
/*Bit8u RedFieldPosition*/ 16,
@@ -710,7 +710,7 @@ static ModeInfoListItem mode_info_list[]=
/*Bit8u NumberOfBanks*/ 24,
/*Bit8u MemoryModel*/ VBE_MEMORYMODEL_DIRECT_COLOR,
/*Bit8u BankSize*/ 0,
-/*Bit8u NumberOfImagePages*/ 1,
+/*Bit8u NumberOfImagePages*/ 4,
/*Bit8u Reserved_page*/ 0,
/*Bit8u RedMaskSize*/ 5,
/*Bit8u RedFieldPosition*/ 10,
@@ -756,7 +756,7 @@ static ModeInfoListItem mode_info_list[]=
/*Bit8u NumberOfBanks*/ 24,
/*Bit8u MemoryModel*/ VBE_MEMORYMODEL_DIRECT_COLOR,
/*Bit8u BankSize*/ 0,
-/*Bit8u NumberOfImagePages*/ 1,
+/*Bit8u NumberOfImagePages*/ 4,
/*Bit8u Reserved_page*/ 0,
/*Bit8u RedMaskSize*/ 5,
/*Bit8u RedFieldPosition*/ 11,
@@ -802,7 +802,7 @@ static ModeInfoListItem mode_info_list[]=
/*Bit8u NumberOfBanks*/ 36,
/*Bit8u MemoryModel*/ VBE_MEMORYMODEL_DIRECT_COLOR,
/*Bit8u BankSize*/ 0,
-/*Bit8u NumberOfImagePages*/ 0,
+/*Bit8u NumberOfImagePages*/ 2,
/*Bit8u Reserved_page*/ 0,
/*Bit8u RedMaskSize*/ 8,
/*Bit8u RedFieldPosition*/ 16,
@@ -848,7 +848,7 @@ static ModeInfoListItem mode_info_list[]=
/*Bit8u NumberOfBanks*/ 40,
/*Bit8u MemoryModel*/ VBE_MEMORYMODEL_DIRECT_COLOR,
/*Bit8u BankSize*/ 0,
-/*Bit8u NumberOfImagePages*/ 0,
+/*Bit8u NumberOfImagePages*/ 2,
/*Bit8u Reserved_page*/ 0,
/*Bit8u RedMaskSize*/ 5,
/*Bit8u RedFieldPosition*/ 10,
@@ -894,7 +894,7 @@ static ModeInfoListItem mode_info_list[]=
/*Bit8u NumberOfBanks*/ 40,
/*Bit8u MemoryModel*/ VBE_MEMORYMODEL_DIRECT_COLOR,
/*Bit8u BankSize*/ 0,
-/*Bit8u NumberOfImagePages*/ 0,
+/*Bit8u NumberOfImagePages*/ 2,
/*Bit8u Reserved_page*/ 0,
/*Bit8u RedMaskSize*/ 5,
/*Bit8u RedFieldPosition*/ 11,
@@ -940,7 +940,7 @@ static ModeInfoListItem mode_info_list[]=
/*Bit8u NumberOfBanks*/ 60,
/*Bit8u MemoryModel*/ VBE_MEMORYMODEL_DIRECT_COLOR,
/*Bit8u BankSize*/ 0,
-/*Bit8u NumberOfImagePages*/ 0,
+/*Bit8u NumberOfImagePages*/ 1,
/*Bit8u Reserved_page*/ 0,
/*Bit8u RedMaskSize*/ 8,
/*Bit8u RedFieldPosition*/ 16,
@@ -986,7 +986,7 @@ static ModeInfoListItem mode_info_list[]=
/*Bit8u NumberOfBanks*/ 30,
/*Bit8u MemoryModel*/ VBE_MEMORYMODEL_PACKED_PIXEL,
/*Bit8u BankSize*/ 0,
-/*Bit8u NumberOfImagePages*/ 1,
+/*Bit8u NumberOfImagePages*/ 3,
/*Bit8u Reserved_page*/ 0,
/*Bit8u RedMaskSize*/ 0,
/*Bit8u RedFieldPosition*/ 0,
@@ -1032,7 +1032,7 @@ static ModeInfoListItem mode_info_list[]=
/*Bit8u NumberOfBanks*/ 59,
/*Bit8u MemoryModel*/ VBE_MEMORYMODEL_DIRECT_COLOR,
/*Bit8u BankSize*/ 0,
-/*Bit8u NumberOfImagePages*/ 0,
+/*Bit8u NumberOfImagePages*/ 1,
/*Bit8u Reserved_page*/ 0,
/*Bit8u RedMaskSize*/ 5,
/*Bit8u RedFieldPosition*/ 10,
@@ -1078,7 +1078,7 @@ static ModeInfoListItem mode_info_list[]=
/*Bit8u NumberOfBanks*/ 59,
/*Bit8u MemoryModel*/ VBE_MEMORYMODEL_DIRECT_COLOR,
/*Bit8u BankSize*/ 0,
-/*Bit8u NumberOfImagePages*/ 0,
+/*Bit8u NumberOfImagePages*/ 1,
/*Bit8u Reserved_page*/ 0,
/*Bit8u RedMaskSize*/ 5,
/*Bit8u RedFieldPosition*/ 11,
@@ -1105,6 +1105,52 @@ static ModeInfoListItem mode_info_list[]=
/*Bit8u LinRsvdFieldPosition*/ 0,
/*Bit32u MaxPixelClock*/ 0,
} },
+{ 0x011f, /* 1600x1200x24 */
+{ /*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*/ 0x0000,
+/*Bit32u WinFuncPtr*/ 0,
+/*Bit16u BytesPerScanLine*/ 4800,
+/*Bit16u XResolution*/ 1600,
+/*Bit16u YResolution*/ 1200,
+/*Bit8u XCharSize*/ 8,
+/*Bit8u YCharSize*/ 16,
+/*Bit8u NumberOfPlanes*/ 1,
+/*Bit8u BitsPerPixel*/ 24,
+/*Bit8u NumberOfBanks*/ 88,
+/*Bit8u MemoryModel*/ VBE_MEMORYMODEL_DIRECT_COLOR,
+/*Bit8u BankSize*/ 0,
+/*Bit8u NumberOfImagePages*/ 0,
+/*Bit8u Reserved_page*/ 0,
+/*Bit8u RedMaskSize*/ 8,
+/*Bit8u RedFieldPosition*/ 16,
+/*Bit8u GreenMaskSize*/ 8,
+/*Bit8u GreenFieldPosition*/ 8,
+/*Bit8u BlueMaskSize*/ 8,
+/*Bit8u BlueFieldPosition*/ 0,
+/*Bit8u RsvdMaskSize*/ 0,
+/*Bit8u RsvdFieldPosition*/ 0,
+/*Bit8u DirectColorModeInfo*/ 0,
+/*Bit32u PhysBasePtr*/ VBE_DISPI_LFB_PHYSICAL_ADDRESS,
+/*Bit32u OffScreenMemOffset*/ 0,
+/*Bit16u OffScreenMemSize*/ 0,
+/*Bit16u LinBytesPerScanLine*/ 4800,
+/*Bit8u BnkNumberOfPages*/ 0,
+/*Bit8u LinNumberOfPages*/ 0,
+/*Bit8u LinRedMaskSize*/ 8,
+/*Bit8u LinRedFieldPosition*/ 16,
+/*Bit8u LinGreenMaskSize*/ 8,
+/*Bit8u LinGreenFieldPosition*/ 8,
+/*Bit8u LinBlueMaskSize*/ 8,
+/*Bit8u LinBlueFieldPosition*/ 0,
+/*Bit8u LinRsvdMaskSize*/ 0,
+/*Bit8u LinRsvdFieldPosition*/ 0,
+/*Bit32u MaxPixelClock*/ 0,
+} },
{ 0x0140, /* 320x200x32 */
{ /*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,
@@ -1124,7 +1170,7 @@ static ModeInfoListItem mode_info_list[]=
/*Bit8u NumberOfBanks*/ 4,
/*Bit8u MemoryModel*/ VBE_MEMORYMODEL_DIRECT_COLOR,
/*Bit8u BankSize*/ 0,
-/*Bit8u NumberOfImagePages*/ 15,
+/*Bit8u NumberOfImagePages*/ 31,
/*Bit8u Reserved_page*/ 0,
/*Bit8u RedMaskSize*/ 8,
/*Bit8u RedFieldPosition*/ 16,
@@ -1170,7 +1216,7 @@ static ModeInfoListItem mode_info_list[]=
/*Bit8u NumberOfBanks*/ 16,
/*Bit8u MemoryModel*/ VBE_MEMORYMODEL_DIRECT_COLOR,
/*Bit8u BankSize*/ 0,
-/*Bit8u NumberOfImagePages*/ 3,
+/*Bit8u NumberOfImagePages*/ 7,
/*Bit8u Reserved_page*/ 0,
/*Bit8u RedMaskSize*/ 8,
/*Bit8u RedFieldPosition*/ 16,
@@ -1216,7 +1262,7 @@ static ModeInfoListItem mode_info_list[]=
/*Bit8u NumberOfBanks*/ 19,
/*Bit8u MemoryModel*/ VBE_MEMORYMODEL_DIRECT_COLOR,
/*Bit8u BankSize*/ 0,
-/*Bit8u NumberOfImagePages*/ 2,
+/*Bit8u NumberOfImagePages*/ 5,
/*Bit8u Reserved_page*/ 0,
/*Bit8u RedMaskSize*/ 8,
/*Bit8u RedFieldPosition*/ 16,
@@ -1262,7 +1308,7 @@ static ModeInfoListItem mode_info_list[]=
/*Bit8u NumberOfBanks*/ 30,
/*Bit8u MemoryModel*/ VBE_MEMORYMODEL_DIRECT_COLOR,
/*Bit8u BankSize*/ 0,
-/*Bit8u NumberOfImagePages*/ 1,
+/*Bit8u NumberOfImagePages*/ 3,
/*Bit8u Reserved_page*/ 0,
/*Bit8u RedMaskSize*/ 8,
/*Bit8u RedFieldPosition*/ 16,
@@ -1308,7 +1354,7 @@ static ModeInfoListItem mode_info_list[]=
/*Bit8u NumberOfBanks*/ 48,
/*Bit8u MemoryModel*/ VBE_MEMORYMODEL_DIRECT_COLOR,
/*Bit8u BankSize*/ 0,
-/*Bit8u NumberOfImagePages*/ 0,
+/*Bit8u NumberOfImagePages*/ 1,
/*Bit8u Reserved_page*/ 0,
/*Bit8u RedMaskSize*/ 8,
/*Bit8u RedFieldPosition*/ 16,
@@ -1335,6 +1381,52 @@ static ModeInfoListItem mode_info_list[]=
/*Bit8u LinRsvdFieldPosition*/ 24,
/*Bit32u MaxPixelClock*/ 0,
} },
+{ 0x0145, /* 1280x1024x32 */
+{ /*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*/ 0x0000,
+/*Bit32u WinFuncPtr*/ 0,
+/*Bit16u BytesPerScanLine*/ 5120,
+/*Bit16u XResolution*/ 1280,
+/*Bit16u YResolution*/ 1024,
+/*Bit8u XCharSize*/ 8,
+/*Bit8u YCharSize*/ 16,
+/*Bit8u NumberOfPlanes*/ 1,
+/*Bit8u BitsPerPixel*/ 32,
+/*Bit8u NumberOfBanks*/ 80,
+/*Bit8u MemoryModel*/ VBE_MEMORYMODEL_DIRECT_COLOR,
+/*Bit8u BankSize*/ 0,
+/*Bit8u NumberOfImagePages*/ 0,
+/*Bit8u Reserved_page*/ 0,
+/*Bit8u RedMaskSize*/ 8,
+/*Bit8u RedFieldPosition*/ 16,
+/*Bit8u GreenMaskSize*/ 8,
+/*Bit8u GreenFieldPosition*/ 8,
+/*Bit8u BlueMaskSize*/ 8,
+/*Bit8u BlueFieldPosition*/ 0,
+/*Bit8u RsvdMaskSize*/ 8,
+/*Bit8u RsvdFieldPosition*/ 24,
+/*Bit8u DirectColorModeInfo*/ VBE_DIRECTCOLOR_RESERVED_BITS_AVAILABLE,
+/*Bit32u PhysBasePtr*/ VBE_DISPI_LFB_PHYSICAL_ADDRESS,
+/*Bit32u OffScreenMemOffset*/ 0,
+/*Bit16u OffScreenMemSize*/ 0,
+/*Bit16u LinBytesPerScanLine*/ 5120,
+/*Bit8u BnkNumberOfPages*/ 0,
+/*Bit8u LinNumberOfPages*/ 0,
+/*Bit8u LinRedMaskSize*/ 8,
+/*Bit8u LinRedFieldPosition*/ 16,
+/*Bit8u LinGreenMaskSize*/ 8,
+/*Bit8u LinGreenFieldPosition*/ 8,
+/*Bit8u LinBlueMaskSize*/ 8,
+/*Bit8u LinBlueFieldPosition*/ 0,
+/*Bit8u LinRsvdMaskSize*/ 8,
+/*Bit8u LinRsvdFieldPosition*/ 24,
+/*Bit32u MaxPixelClock*/ 0,
+} },
{ 0x0146, /* 320x200x8 */
{ /*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,
@@ -1354,7 +1446,7 @@ static ModeInfoListItem mode_info_list[]=
/*Bit8u NumberOfBanks*/ 1,
/*Bit8u MemoryModel*/ VBE_MEMORYMODEL_PACKED_PIXEL,
/*Bit8u BankSize*/ 0,
-/*Bit8u NumberOfImagePages*/ 64,
+/*Bit8u NumberOfImagePages*/ 130,
/*Bit8u Reserved_page*/ 0,
/*Bit8u RedMaskSize*/ 0,
/*Bit8u RedFieldPosition*/ 0,
@@ -1381,6 +1473,52 @@ static ModeInfoListItem mode_info_list[]=
/*Bit8u LinRsvdFieldPosition*/ 0,
/*Bit32u MaxPixelClock*/ 0,
} },
+{ 0x0147, /* 1600x1200x32 */
+{ /*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*/ 0x0000,
+/*Bit32u WinFuncPtr*/ 0,
+/*Bit16u BytesPerScanLine*/ 6400,
+/*Bit16u XResolution*/ 1600,
+/*Bit16u YResolution*/ 1200,
+/*Bit8u XCharSize*/ 8,
+/*Bit8u YCharSize*/ 16,
+/*Bit8u NumberOfPlanes*/ 1,
+/*Bit8u BitsPerPixel*/ 32,
+/*Bit8u NumberOfBanks*/ 118,
+/*Bit8u MemoryModel*/ VBE_MEMORYMODEL_DIRECT_COLOR,
+/*Bit8u BankSize*/ 0,
+/*Bit8u NumberOfImagePages*/ 0,
+/*Bit8u Reserved_page*/ 0,
+/*Bit8u RedMaskSize*/ 8,
+/*Bit8u RedFieldPosition*/ 16,
+/*Bit8u GreenMaskSize*/ 8,
+/*Bit8u GreenFieldPosition*/ 8,
+/*Bit8u BlueMaskSize*/ 8,
+/*Bit8u BlueFieldPosition*/ 0,
+/*Bit8u RsvdMaskSize*/ 8,
+/*Bit8u RsvdFieldPosition*/ 24,
+/*Bit8u DirectColorModeInfo*/ VBE_DIRECTCOLOR_RESERVED_BITS_AVAILABLE,
+/*Bit32u PhysBasePtr*/ VBE_DISPI_LFB_PHYSICAL_ADDRESS,
+/*Bit32u OffScreenMemOffset*/ 0,
+/*Bit16u OffScreenMemSize*/ 0,
+/*Bit16u LinBytesPerScanLine*/ 6400,
+/*Bit8u BnkNumberOfPages*/ 0,
+/*Bit8u LinNumberOfPages*/ 0,
+/*Bit8u LinRedMaskSize*/ 8,
+/*Bit8u LinRedFieldPosition*/ 16,
+/*Bit8u LinGreenMaskSize*/ 8,
+/*Bit8u LinGreenFieldPosition*/ 8,
+/*Bit8u LinBlueMaskSize*/ 8,
+/*Bit8u LinBlueFieldPosition*/ 0,
+/*Bit8u LinRsvdMaskSize*/ 8,
+/*Bit8u LinRsvdFieldPosition*/ 24,
+/*Bit32u MaxPixelClock*/ 0,
+} },
{ 0x0148, /* 1152x864x8 */
{ /*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,
@@ -1400,7 +1538,7 @@ static ModeInfoListItem mode_info_list[]=
/*Bit8u NumberOfBanks*/ 16,
/*Bit8u MemoryModel*/ VBE_MEMORYMODEL_PACKED_PIXEL,
/*Bit8u BankSize*/ 0,
-/*Bit8u NumberOfImagePages*/ 3,
+/*Bit8u NumberOfImagePages*/ 7,
/*Bit8u Reserved_page*/ 0,
/*Bit8u RedMaskSize*/ 0,
/*Bit8u RedFieldPosition*/ 0,
@@ -1446,7 +1584,7 @@ static ModeInfoListItem mode_info_list[]=
/*Bit8u NumberOfBanks*/ 31,
/*Bit8u MemoryModel*/ VBE_MEMORYMODEL_DIRECT_COLOR,
/*Bit8u BankSize*/ 0,
-/*Bit8u NumberOfImagePages*/ 1,
+/*Bit8u NumberOfImagePages*/ 3,
/*Bit8u Reserved_page*/ 0,
/*Bit8u RedMaskSize*/ 5,
/*Bit8u RedFieldPosition*/ 10,
@@ -1492,7 +1630,7 @@ static ModeInfoListItem mode_info_list[]=
/*Bit8u NumberOfBanks*/ 31,
/*Bit8u MemoryModel*/ VBE_MEMORYMODEL_DIRECT_COLOR,
/*Bit8u BankSize*/ 0,
-/*Bit8u NumberOfImagePages*/ 1,
+/*Bit8u NumberOfImagePages*/ 3,
/*Bit8u Reserved_page*/ 0,
/*Bit8u RedMaskSize*/ 5,
/*Bit8u RedFieldPosition*/ 11,
@@ -1538,7 +1676,7 @@ static ModeInfoListItem mode_info_list[]=
/*Bit8u NumberOfBanks*/ 46,
/*Bit8u MemoryModel*/ VBE_MEMORYMODEL_DIRECT_COLOR,
/*Bit8u BankSize*/ 0,
-/*Bit8u NumberOfImagePages*/ 0,
+/*Bit8u NumberOfImagePages*/ 1,
/*Bit8u Reserved_page*/ 0,
/*Bit8u RedMaskSize*/ 8,
/*Bit8u RedFieldPosition*/ 16,
@@ -1584,7 +1722,7 @@ static ModeInfoListItem mode_info_list[]=
/*Bit8u NumberOfBanks*/ 61,
/*Bit8u MemoryModel*/ VBE_MEMORYMODEL_DIRECT_COLOR,
/*Bit8u BankSize*/ 0,
-/*Bit8u NumberOfImagePages*/ 0,
+/*Bit8u NumberOfImagePages*/ 1,
/*Bit8u Reserved_page*/ 0,
/*Bit8u RedMaskSize*/ 8,
/*Bit8u RedFieldPosition*/ 16,