VESA - Debugging issue on VIA S3 BIOS
[tpg/acess2.git] / KernelLand / Modules / Display / VESA / common.h
index eeaddd5..c81fe1a 100644 (file)
@@ -22,7 +22,24 @@ typedef struct sVesa_Mode
 
 typedef struct sVesa_CallModeInfo
 {
+       /**
+        * 0 : Mode is supported
+        * 1 : Optional information avaliable (Xres onwards)
+        * 2 : BIOS Output Supported
+        * 3 : Colour Mode?
+        * 4 : Graphics mode?
+        * -- VBE v2.0+
+        * 5 : Mode is not VGA compatible
+        * 6 : Bank switched mode supported
+        * 7 : Linear framebuffer mode supported
+        * 8 : Double-scan mode avaliable
+        */
        Uint16  attributes;
+       /**
+        * 0 : Window exists
+        * 1 : Window is readable
+        * 2 : Window is writable
+        */
        Uint8   winA,winB;
        Uint16  granularity;
        Uint16  winsize;
@@ -35,25 +52,32 @@ typedef struct sVesa_CallModeInfo
        Uint8   memory_model, bank_size, image_pages;
        Uint8   reserved0;
 
+       // -- VBE v1.2+
        Uint8   red_mask, red_position;
        Uint8   green_mask, green_position;
        Uint8   blue_mask, blue_position;
        Uint8   rsv_mask, rsv_position;
        Uint8   directcolor_attributes;
 
-       Uint32  physbase;  // Your LFB address ;)
-       Uint32  reserved1;
-       Sint16  reserved2;
+       // -- VBE v2.0+
+       Uint32  physbase;
+       Uint32  offscreen_ptr;  // Start of offscreen memory
+       Uint16  offscreen_size_kb;      // Size of offscreen memory
+       
+       // -- VBE v3.0
+       Uint16  lfb_pitch;
+       Uint8   image_count_banked;
+       Uint8   image_count_lfb;
 }      tVesa_CallModeInfo;
 
 typedef struct sVesa_CallInfo
 {
-   char                signature[4];           // == "VESA"
-   Uint16      Version;        // == 0x0300 for Vesa 3.0
-   tFarPtr     OEMString;      // isa vbeFarPtr
-   Uint8       Capabilities[4];        
-   tFarPtr     VideoModes;     // isa vbeParPtr
-   Uint16      TotalMemory;    // as # of 64KB blocks
+       char            signature[4];           // == "VESA"
+       Uint16  Version;        // == 0x0300 for Vesa 3.0
+       tFarPtr OEMString;      // isa vbeFarPtr
+       Uint8   Capabilities[4];        
+       tFarPtr VideoModes;     // isa vbeParPtr
+       Uint16  TotalMemory;    // as # of 64KB blocks
 }      tVesa_CallInfo;
 
 #endif

UCC git Repository :: git.ucc.asn.au