//\r
// VESA BIOS Extensions status codes\r
//\r
-#define VESA_BIOS_EXTENSIONS_STATUS_SUCCESS 0x004f\r
+#define VESA_BIOS_EXTENSIONS_STATUS_SUCCESS 0x004f\r
\r
//\r
// VESA BIOS Extensions Services\r
AX = Return Status\r
\r
--*/\r
-#define VESA_BIOS_EXTENSIONS_SET_MODE 0x4f02\r
+#define VESA_BIOS_EXTENSIONS_SET_MODE 0x4f02\r
\r
/*++\r
\r
= 1 - Memory not cleared at last mode set\r
\r
--*/\r
-#define VESA_BIOS_EXTENSIONS_SAVE_RESTORE_STATE 0x4f04\r
+#define VESA_BIOS_EXTENSIONS_SAVE_RESTORE_STATE 0x4f04\r
\r
/*++\r
\r
//\r
// Timing data from EDID data block\r
//\r
-#define VESA_BIOS_EXTENSIONS_EDID_BLOCK_SIZE 128\r
-#define VESA_BIOS_EXTENSIONS_EDID_ESTABLISHED_TIMING_MAX_NUMBER 17\r
+#define VESA_BIOS_EXTENSIONS_EDID_BLOCK_SIZE 128\r
+#define VESA_BIOS_EXTENSIONS_EDID_ESTABLISHED_TIMING_MAX_NUMBER 17\r
\r
//\r
// Established Timings: 24 possible resolutions\r
// Standard Timings: 8 possible resolutions\r
// Detailed Timings: 4 possible resolutions\r
//\r
-#define VESA_BIOS_EXTENSIONS_EDID_TIMING_MAX_NUMBER 36\r
+#define VESA_BIOS_EXTENSIONS_EDID_TIMING_MAX_NUMBER 36\r
\r
//\r
// Timing data size for Established Timings, Standard Timings and Detailed Timings\r
//\r
-#define VESA_BIOS_EXTENSIONS_ESTABLISHED_TIMING_SIZE 3\r
-#define VESA_BIOS_EXTENSIONS_STANDARD_TIMING_SIZE 16\r
-#define VESA_BIOS_EXTENSIONS_DETAILED_TIMING_EACH_DESCRIPTOR_SIZE 18\r
-#define VESA_BIOS_EXTENSIONS_DETAILED_TIMING_DESCRIPTOR_MAX_SIZE 72\r
+#define VESA_BIOS_EXTENSIONS_ESTABLISHED_TIMING_SIZE 3\r
+#define VESA_BIOS_EXTENSIONS_STANDARD_TIMING_SIZE 16\r
+#define VESA_BIOS_EXTENSIONS_DETAILED_TIMING_EACH_DESCRIPTOR_SIZE 18\r
+#define VESA_BIOS_EXTENSIONS_DETAILED_TIMING_DESCRIPTOR_MAX_SIZE 72\r
\r
typedef struct {\r
- UINT16 HorizontalResolution;\r
- UINT16 VerticalResolution;\r
- UINT16 RefreshRate;\r
+ UINT16 HorizontalResolution;\r
+ UINT16 VerticalResolution;\r
+ UINT16 RefreshRate;\r
} VESA_BIOS_EXTENSIONS_EDID_TIMING;\r
\r
typedef struct {\r
- UINT32 ValidNumber;\r
- UINT32 Key[VESA_BIOS_EXTENSIONS_EDID_TIMING_MAX_NUMBER];\r
+ UINT32 ValidNumber;\r
+ UINT32 Key[VESA_BIOS_EXTENSIONS_EDID_TIMING_MAX_NUMBER];\r
} VESA_BIOS_EXTENSIONS_VALID_EDID_TIMING;\r
\r
typedef struct {\r
- UINT8 Header[8]; //EDID header "00 FF FF FF FF FF FF 00"\r
- UINT16 ManufactureName; //EISA 3-character ID\r
- UINT16 ProductCode; //Vendor assigned code\r
- UINT32 SerialNumber; //32-bit serial number\r
- UINT8 WeekOfManufacture; //Week number\r
- UINT8 YearOfManufacture; //Year\r
- UINT8 EdidVersion; //EDID Structure Version\r
- UINT8 EdidRevision; //EDID Structure Revision\r
- UINT8 VideoInputDefinition;\r
- UINT8 MaxHorizontalImageSize; //cm\r
- UINT8 MaxVerticalImageSize; //cm\r
- UINT8 DisplayTransferCharacteristic;\r
- UINT8 FeatureSupport;\r
- UINT8 RedGreenLowBits; //Rx1 Rx0 Ry1 Ry0 Gx1 Gx0 Gy1Gy0\r
- UINT8 BlueWhiteLowBits; //Bx1 Bx0 By1 By0 Wx1 Wx0 Wy1 Wy0\r
- UINT8 RedX; //Red-x Bits 9 - 2\r
- UINT8 RedY; //Red-y Bits 9 - 2\r
- UINT8 GreenX; //Green-x Bits 9 - 2\r
- UINT8 GreenY; //Green-y Bits 9 - 2\r
- UINT8 BlueX; //Blue-x Bits 9 - 2\r
- UINT8 BlueY; //Blue-y Bits 9 - 2\r
- UINT8 WhiteX; //White-x Bits 9 - 2\r
- UINT8 WhiteY; //White-x Bits 9 - 2\r
- UINT8 EstablishedTimings[VESA_BIOS_EXTENSIONS_ESTABLISHED_TIMING_SIZE];\r
- UINT8 StandardTimingIdentification[VESA_BIOS_EXTENSIONS_STANDARD_TIMING_SIZE];\r
- UINT8 DetailedTimingDescriptions[VESA_BIOS_EXTENSIONS_DETAILED_TIMING_DESCRIPTOR_MAX_SIZE];\r
- UINT8 ExtensionFlag; //Number of (optional) 128-byte EDID extension blocks to follow\r
- UINT8 Checksum;\r
+ UINT8 Header[8]; // EDID header "00 FF FF FF FF FF FF 00"\r
+ UINT16 ManufactureName; // EISA 3-character ID\r
+ UINT16 ProductCode; // Vendor assigned code\r
+ UINT32 SerialNumber; // 32-bit serial number\r
+ UINT8 WeekOfManufacture; // Week number\r
+ UINT8 YearOfManufacture; // Year\r
+ UINT8 EdidVersion; // EDID Structure Version\r
+ UINT8 EdidRevision; // EDID Structure Revision\r
+ UINT8 VideoInputDefinition;\r
+ UINT8 MaxHorizontalImageSize; // cm\r
+ UINT8 MaxVerticalImageSize; // cm\r
+ UINT8 DisplayTransferCharacteristic;\r
+ UINT8 FeatureSupport;\r
+ UINT8 RedGreenLowBits; // Rx1 Rx0 Ry1 Ry0 Gx1 Gx0 Gy1Gy0\r
+ UINT8 BlueWhiteLowBits; // Bx1 Bx0 By1 By0 Wx1 Wx0 Wy1 Wy0\r
+ UINT8 RedX; // Red-x Bits 9 - 2\r
+ UINT8 RedY; // Red-y Bits 9 - 2\r
+ UINT8 GreenX; // Green-x Bits 9 - 2\r
+ UINT8 GreenY; // Green-y Bits 9 - 2\r
+ UINT8 BlueX; // Blue-x Bits 9 - 2\r
+ UINT8 BlueY; // Blue-y Bits 9 - 2\r
+ UINT8 WhiteX; // White-x Bits 9 - 2\r
+ UINT8 WhiteY; // White-x Bits 9 - 2\r
+ UINT8 EstablishedTimings[VESA_BIOS_EXTENSIONS_ESTABLISHED_TIMING_SIZE];\r
+ UINT8 StandardTimingIdentification[VESA_BIOS_EXTENSIONS_STANDARD_TIMING_SIZE];\r
+ UINT8 DetailedTimingDescriptions[VESA_BIOS_EXTENSIONS_DETAILED_TIMING_DESCRIPTOR_MAX_SIZE];\r
+ UINT8 ExtensionFlag; // Number of (optional) 128-byte EDID extension blocks to follow\r
+ UINT8 Checksum;\r
} VESA_BIOS_EXTENSIONS_EDID_DATA_BLOCK;\r
\r
//\r
// Super VGA Information Block\r
//\r
typedef struct {\r
- UINT32 VESASignature; // 'VESA' 4 byte signature\r
- UINT16 VESAVersion; // VBE version number\r
- UINT32 OEMStringPtr; // Pointer to OEM string\r
- UINT32 Capabilities; // Capabilities of video card\r
- UINT32 VideoModePtr; // Pointer to an array of 16-bit supported modes values terminated by 0xFFFF\r
- UINT16 TotalMemory; // Number of 64kb memory blocks\r
- UINT16 OemSoftwareRev; // VBE implementation Software revision\r
- UINT32 OemVendorNamePtr; // VbeFarPtr to Vendor Name String\r
- UINT32 OemProductNamePtr; // VbeFarPtr to Product Name String\r
- UINT32 OemProductRevPtr; // VbeFarPtr to Product Revision String\r
- UINT8 Reserved[222]; // Reserved for VBE implementation scratch area\r
- UINT8 OemData[256]; // Data area for OEM strings. Pad to 512 byte block size\r
+ UINT32 VESASignature; // 'VESA' 4 byte signature\r
+ UINT16 VESAVersion; // VBE version number\r
+ UINT32 OEMStringPtr; // Pointer to OEM string\r
+ UINT32 Capabilities; // Capabilities of video card\r
+ UINT32 VideoModePtr; // Pointer to an array of 16-bit supported modes values terminated by 0xFFFF\r
+ UINT16 TotalMemory; // Number of 64kb memory blocks\r
+ UINT16 OemSoftwareRev; // VBE implementation Software revision\r
+ UINT32 OemVendorNamePtr; // VbeFarPtr to Vendor Name String\r
+ UINT32 OemProductNamePtr; // VbeFarPtr to Product Name String\r
+ UINT32 OemProductRevPtr; // VbeFarPtr to Product Revision String\r
+ UINT8 Reserved[222]; // Reserved for VBE implementation scratch area\r
+ UINT8 OemData[256]; // Data area for OEM strings. Pad to 512 byte block size\r
} VESA_BIOS_EXTENSIONS_INFORMATION_BLOCK;\r
\r
//\r
// Super VGA Information Block VESASignature values\r
//\r
-#define VESA_BIOS_EXTENSIONS_VESA_SIGNATURE SIGNATURE_32 ('V', 'E', 'S', 'A')\r
-#define VESA_BIOS_EXTENSIONS_VBE2_SIGNATURE SIGNATURE_32 ('V', 'B', 'E', '2')\r
+#define VESA_BIOS_EXTENSIONS_VESA_SIGNATURE SIGNATURE_32 ('V', 'E', 'S', 'A')\r
+#define VESA_BIOS_EXTENSIONS_VBE2_SIGNATURE SIGNATURE_32 ('V', 'B', 'E', '2')\r
\r
//\r
// Super VGA Information Block VESAVersion values\r
//\r
// Super VGA Information Block Capabilities field bit definitions\r
//\r
-#define VESA_BIOS_EXTENSIONS_CAPABILITY_8_BIT_DAC 0x01 // 0: DAC width is fixed at 6 bits/color\r
+#define VESA_BIOS_EXTENSIONS_CAPABILITY_8_BIT_DAC 0x01 // 0: DAC width is fixed at 6 bits/color\r
// 1: DAC width switchable to 8 bits/color\r
//\r
-#define VESA_BIOS_EXTENSIONS_CAPABILITY_NOT_VGA 0x02 // 0: Controller is VGA compatible\r
+#define VESA_BIOS_EXTENSIONS_CAPABILITY_NOT_VGA 0x02 // 0: Controller is VGA compatible\r
// 1: Controller is not VGA compatible\r
//\r
-#define VESA_BIOS_EXTENSIONS_CAPABILITY_NOT_NORMAL_RAMDAC 0x04 // 0: Normal RAMDAC operation\r
+#define VESA_BIOS_EXTENSIONS_CAPABILITY_NOT_NORMAL_RAMDAC 0x04 // 0: Normal RAMDAC operation\r
// 1: Use blank bit in function 9 to program RAMDAC\r
//\r
#define VESA_BIOS_EXTENSIONS_CAPABILITY_STEREOSCOPIC 0x08 // 0: No hardware stereoscopic signal support\r
//\r
// Super VGA mode number bite field definitions\r
//\r
-#define VESA_BIOS_EXTENSIONS_MODE_NUMBER_VESA 0x0100 // 0: Not a VESA defined VBE mode\r
+#define VESA_BIOS_EXTENSIONS_MODE_NUMBER_VESA 0x0100 // 0: Not a VESA defined VBE mode\r
// 1: A VESA defined VBE mode\r
//\r
-#define VESA_BIOS_EXTENSIONS_MODE_NUMBER_REFRESH_CONTROL_USER 0x0800 // 0: Use current BIOS default referesh rate\r
+#define VESA_BIOS_EXTENSIONS_MODE_NUMBER_REFRESH_CONTROL_USER 0x0800 // 0: Use current BIOS default referesh rate\r
// 1: Use the user specified CRTC values for refresh rate\r
//\r
#define VESA_BIOS_EXTENSIONS_MODE_NUMBER_LINEAR_FRAME_BUFFER 0x4000 // 0: Use a banked/windowed frame buffer\r
//\r
// Super VGA Information Block mode list terminator value\r
//\r
-#define VESA_BIOS_EXTENSIONS_END_OF_MODE_LIST 0xffff\r
+#define VESA_BIOS_EXTENSIONS_END_OF_MODE_LIST 0xffff\r
\r
//\r
// Window Function\r
//\r
// Manadory fields for all VESA Bios Extensions revisions\r
//\r
- UINT16 ModeAttributes; // Mode attributes\r
- UINT8 WinAAttributes; // Window A attributes\r
- UINT8 WinBAttributes; // Window B attributes\r
- UINT16 WinGranularity; // Window granularity in k\r
- UINT16 WinSize; // Window size in k\r
- UINT16 WinASegment; // Window A segment\r
- UINT16 WinBSegment; // Window B segment\r
- UINT32 WindowFunction; // Pointer to window function\r
- UINT16 BytesPerScanLine; // Bytes per scanline\r
+ UINT16 ModeAttributes; // Mode attributes\r
+ UINT8 WinAAttributes; // Window A attributes\r
+ UINT8 WinBAttributes; // Window B attributes\r
+ UINT16 WinGranularity; // Window granularity in k\r
+ UINT16 WinSize; // Window size in k\r
+ UINT16 WinASegment; // Window A segment\r
+ UINT16 WinBSegment; // Window B segment\r
+ UINT32 WindowFunction; // Pointer to window function\r
+ UINT16 BytesPerScanLine; // Bytes per scanline\r
//\r
// Manadory fields for VESA Bios Extensions 1.2 and above\r
//\r
- UINT16 XResolution; // Horizontal resolution\r
- UINT16 YResolution; // Vertical resolution\r
- UINT8 XCharSize; // Character cell width\r
- UINT8 YCharSize; // Character cell height\r
- UINT8 NumberOfPlanes; // Number of memory planes\r
- UINT8 BitsPerPixel; // Bits per pixel\r
- UINT8 NumberOfBanks; // Number of CGA style banks\r
- UINT8 MemoryModel; // Memory model type\r
- UINT8 BankSize; // Size of CGA style banks\r
- UINT8 NumberOfImagePages; // Number of images pages\r
- UINT8 Reserved1; // Reserved\r
- UINT8 RedMaskSize; // Size of direct color red mask\r
- UINT8 RedFieldPosition; // Bit posn of lsb of red mask\r
- UINT8 GreenMaskSize; // Size of direct color green mask\r
- UINT8 GreenFieldPosition; // Bit posn of lsb of green mask\r
- UINT8 BlueMaskSize; // Size of direct color blue mask\r
- UINT8 BlueFieldPosition; // Bit posn of lsb of blue mask\r
- UINT8 RsvdMaskSize; // Size of direct color res mask\r
- UINT8 RsvdFieldPosition; // Bit posn of lsb of res mask\r
- UINT8 DirectColorModeInfo; // Direct color mode attributes\r
+ UINT16 XResolution; // Horizontal resolution\r
+ UINT16 YResolution; // Vertical resolution\r
+ UINT8 XCharSize; // Character cell width\r
+ UINT8 YCharSize; // Character cell height\r
+ UINT8 NumberOfPlanes; // Number of memory planes\r
+ UINT8 BitsPerPixel; // Bits per pixel\r
+ UINT8 NumberOfBanks; // Number of CGA style banks\r
+ UINT8 MemoryModel; // Memory model type\r
+ UINT8 BankSize; // Size of CGA style banks\r
+ UINT8 NumberOfImagePages; // Number of images pages\r
+ UINT8 Reserved1; // Reserved\r
+ UINT8 RedMaskSize; // Size of direct color red mask\r
+ UINT8 RedFieldPosition; // Bit posn of lsb of red mask\r
+ UINT8 GreenMaskSize; // Size of direct color green mask\r
+ UINT8 GreenFieldPosition; // Bit posn of lsb of green mask\r
+ UINT8 BlueMaskSize; // Size of direct color blue mask\r
+ UINT8 BlueFieldPosition; // Bit posn of lsb of blue mask\r
+ UINT8 RsvdMaskSize; // Size of direct color res mask\r
+ UINT8 RsvdFieldPosition; // Bit posn of lsb of res mask\r
+ UINT8 DirectColorModeInfo; // Direct color mode attributes\r
//\r
// Manadory fields for VESA Bios Extensions 2.0 and above\r
//\r
- UINT32 PhysBasePtr; // Physical Address for flat memory frame buffer\r
- UINT32 Reserved2; // Reserved\r
- UINT16 Reserved3; // Reserved\r
+ UINT32 PhysBasePtr; // Physical Address for flat memory frame buffer\r
+ UINT32 Reserved2; // Reserved\r
+ UINT16 Reserved3; // Reserved\r
//\r
// Manadory fields for VESA Bios Extensions 3.0 and above\r
//\r
- UINT16 LinBytesPerScanLine; // Bytes/scan line for linear modes\r
- UINT8 BnkNumberOfImagePages; // Number of images for banked modes\r
- UINT8 LinNumberOfImagePages; // Number of images for linear modes\r
- UINT8 LinRedMaskSize; // Size of direct color red mask (linear mode)\r
- UINT8 LinRedFieldPosition; // Bit posiiton of lsb of red mask (linear modes)\r
- UINT8 LinGreenMaskSize; // Size of direct color green mask (linear mode)\r
- UINT8 LinGreenFieldPosition; // Bit posiiton of lsb of green mask (linear modes)\r
- UINT8 LinBlueMaskSize; // Size of direct color blue mask (linear mode)\r
- UINT8 LinBlueFieldPosition; // Bit posiiton of lsb of blue mask (linear modes)\r
- UINT8 LinRsvdMaskSize; // Size of direct color reserved mask (linear mode)\r
- UINT8 LinRsvdFieldPosition; // Bit posiiton of lsb of reserved mask (linear modes)\r
- UINT32 MaxPixelClock; // Maximum pixel clock (in Hz) for graphics mode\r
- UINT8 Pad[190]; // Pad to 256 byte block size\r
+ UINT16 LinBytesPerScanLine; // Bytes/scan line for linear modes\r
+ UINT8 BnkNumberOfImagePages; // Number of images for banked modes\r
+ UINT8 LinNumberOfImagePages; // Number of images for linear modes\r
+ UINT8 LinRedMaskSize; // Size of direct color red mask (linear mode)\r
+ UINT8 LinRedFieldPosition; // Bit posiiton of lsb of red mask (linear modes)\r
+ UINT8 LinGreenMaskSize; // Size of direct color green mask (linear mode)\r
+ UINT8 LinGreenFieldPosition; // Bit posiiton of lsb of green mask (linear modes)\r
+ UINT8 LinBlueMaskSize; // Size of direct color blue mask (linear mode)\r
+ UINT8 LinBlueFieldPosition; // Bit posiiton of lsb of blue mask (linear modes)\r
+ UINT8 LinRsvdMaskSize; // Size of direct color reserved mask (linear mode)\r
+ UINT8 LinRsvdFieldPosition; // Bit posiiton of lsb of reserved mask (linear modes)\r
+ UINT32 MaxPixelClock; // Maximum pixel clock (in Hz) for graphics mode\r
+ UINT8 Pad[190]; // Pad to 256 byte block size\r
} VESA_BIOS_EXTENSIONS_MODE_INFORMATION_BLOCK;\r
\r
//\r
#define VESA_BIOS_EXTENSIONS_MODE_ATTRIBUTE_HARDWARE 0x0001 // 0: Mode not supported in handware\r
// 1: Mode supported in handware\r
//\r
-#define VESA_BIOS_EXTENSIONS_MODE_ATTRIBUTE_TTY 0x0004 // 0: TTY Output functions not supported by BIOS\r
+#define VESA_BIOS_EXTENSIONS_MODE_ATTRIBUTE_TTY 0x0004 // 0: TTY Output functions not supported by BIOS\r
// 1: TTY Output functions supported by BIOS\r
//\r
-#define VESA_BIOS_EXTENSIONS_MODE_ATTRIBUTE_COLOR 0x0008 // 0: Monochrome mode\r
+#define VESA_BIOS_EXTENSIONS_MODE_ATTRIBUTE_COLOR 0x0008 // 0: Monochrome mode\r
// 1: Color mode\r
//\r
#define VESA_BIOS_EXTENSIONS_MODE_ATTRIBUTE_GRAPHICS 0x0010 // 0: Text mode\r
// 1: Graphics mode\r
//\r
-#define VESA_BIOS_EXTENSIONS_MODE_ATTRIBUTE_NOT_VGA 0x0020 // 0: VGA compatible mode\r
+#define VESA_BIOS_EXTENSIONS_MODE_ATTRIBUTE_NOT_VGA 0x0020 // 0: VGA compatible mode\r
// 1: Not a VGA compatible mode\r
//\r
#define VESA_BIOS_EXTENSIONS_MODE_ATTRIBUTE_NOT_WINDOWED 0x0040 // 0: VGA compatible windowed memory mode\r
// 1: Not a VGA compatible windowed memory mode\r
//\r
-#define VESA_BIOS_EXTENSIONS_MODE_ATTRIBUTE_LINEAR_FRAME_BUFFER 0x0080 // 0: No linear fram buffer mode available\r
+#define VESA_BIOS_EXTENSIONS_MODE_ATTRIBUTE_LINEAR_FRAME_BUFFER 0x0080 // 0: No linear fram buffer mode available\r
// 1: Linear frame buffer mode available\r
//\r
-#define VESA_BIOS_EXTENSIONS_MODE_ATTRIBUTE_DOUBLE_SCAN 0x0100 // 0: No double scan mode available\r
+#define VESA_BIOS_EXTENSIONS_MODE_ATTRIBUTE_DOUBLE_SCAN 0x0100 // 0: No double scan mode available\r
// 1: Double scan mode available\r
//\r
#define VESA_BIOS_EXTENSIONS_MODE_ATTRIBUTE_INTERLACED 0x0200 // 0: No interlaced mode is available\r
// 1: Interlaced mode is available\r
//\r
-#define VESA_BIOS_EXTENSIONS_MODE_ATTRIBUTE_NO_TRIPPLE_BUFFER 0x0400 // 0: No hardware triple buffer mode support available\r
+#define VESA_BIOS_EXTENSIONS_MODE_ATTRIBUTE_NO_TRIPPLE_BUFFER 0x0400 // 0: No hardware triple buffer mode support available\r
// 1: Hardware triple buffer mode support available\r
//\r
#define VESA_BIOS_EXTENSIONS_MODE_ATTRIBUTE_STEREOSCOPIC 0x0800 // 0: No hardware steroscopic display support\r
//\r
// Super VGA Mode Information Block WinAAttribite/WinBAttributes field bit definitions\r
//\r
-#define VESA_BIOS_EXTENSIONS_WINX_ATTRIBUTE_RELOCATABLE 0x01 // 0: Single non-relocatable window only\r
+#define VESA_BIOS_EXTENSIONS_WINX_ATTRIBUTE_RELOCATABLE 0x01 // 0: Single non-relocatable window only\r
// 1: Relocatable window(s) are supported\r
//\r
#define VESA_BIOS_EXTENSIONS_WINX_ATTRIBUTE_READABLE 0x02 // 0: Window is not readable\r
// Super VGA Memory Models\r
//\r
typedef enum {\r
- MemPL = 3, // Planar memory model\r
- MemPK = 4, // Packed pixel memory model\r
- MemRGB= 6, // Direct color RGB memory model\r
- MemYUV= 7 // Direct color YUV memory model\r
+ MemPL = 3, // Planar memory model\r
+ MemPK = 4, // Packed pixel memory model\r
+ MemRGB = 6, // Direct color RGB memory model\r
+ MemYUV = 7 // Direct color YUV memory model\r
} VESA_BIOS_EXTENSIONS_MEMORY_MODELS;\r
\r
//\r
// Super VGA CRTC Information Block\r
//\r
typedef struct {\r
- UINT16 HorizontalTotal; // Horizontal total in pixels\r
- UINT16 HorizontalSyncStart; // Horizontal sync start in pixels\r
- UINT16 HorizontalSyncEnd; // Horizontal sync end in pixels\r
- UINT16 VericalTotal; // Vertical total in pixels\r
- UINT16 VericalSyncStart; // Vertical sync start in pixels\r
- UINT16 VericalSyncEnd; // Vertical sync end in pixels\r
- UINT8 Flags; // Flags (Interlaced/DoubleScan/etc).\r
- UINT32 PixelClock; // Pixel clock in units of Hz\r
- UINT16 RefreshRate; // Refresh rate in units of 0.01 Hz\r
- UINT8 Reserved[40]; // Pad\r
+ UINT16 HorizontalTotal; // Horizontal total in pixels\r
+ UINT16 HorizontalSyncStart; // Horizontal sync start in pixels\r
+ UINT16 HorizontalSyncEnd; // Horizontal sync end in pixels\r
+ UINT16 VericalTotal; // Vertical total in pixels\r
+ UINT16 VericalSyncStart; // Vertical sync start in pixels\r
+ UINT16 VericalSyncEnd; // Vertical sync end in pixels\r
+ UINT8 Flags; // Flags (Interlaced/DoubleScan/etc).\r
+ UINT32 PixelClock; // Pixel clock in units of Hz\r
+ UINT16 RefreshRate; // Refresh rate in units of 0.01 Hz\r
+ UINT8 Reserved[40]; // Pad\r
} VESA_BIOS_EXTENSIONS_CRTC_INFORMATION_BLOCK;\r
\r
-#define VESA_BIOS_EXTENSIONS_CRTC_FLAGS_DOUBLE_SCAN 0x01 // 0: Graphics mode is not souble scanned\r
+#define VESA_BIOS_EXTENSIONS_CRTC_FLAGS_DOUBLE_SCAN 0x01 // 0: Graphics mode is not souble scanned\r
// 1: Graphics mode is double scanned\r
//\r
-#define VESA_BIOS_EXTENSIONS_CRTC_FLAGSINTERLACED 0x02 // 0: Graphics mode is not interlaced\r
+#define VESA_BIOS_EXTENSIONS_CRTC_FLAGSINTERLACED 0x02 // 0: Graphics mode is not interlaced\r
// 1: Graphics mode is interlaced\r
//\r
#define VESA_BIOS_EXTENSIONS_CRTC_HORIZONTAL_SYNC_NEGATIVE 0x04 // 0: Horizontal sync polarity is positive(+)\r
// 0: Horizontal sync polarity is negative(-)\r
//\r
-#define VESA_BIOS_EXTENSIONS_CRTC_VERITICAL_SYNC_NEGATIVE 0x08 // 0: Verical sync polarity is positive(+)\r
+#define VESA_BIOS_EXTENSIONS_CRTC_VERITICAL_SYNC_NEGATIVE 0x08 // 0: Verical sync polarity is positive(+)\r
// 0: Verical sync polarity is negative(-)\r
//\r
// Turn off byte packing of data structures\r