Modules/VBE - Sanity checking, pre-set current mode to boot mode
[tpg/acess2.git] / KernelLand / Modules / Display / VESA / common.h
index eeaddd5..94fd8e2 100644 (file)
@@ -1,15 +1,28 @@
 /**
+ * Acess2 Kernel VBE Driver
+ * - By John Hodge (thePowersGang)
+ *
+ * common.h
+ * - Driver-internal definitions
  */
 #ifndef _COMMON_H_
 #define _COMMON_H_
 
-// === TYPES ===
-typedef struct sFarPtr
-{
-       Uint16  ofs;
-       Uint16  seg;
-}      tFarPtr;
+#include "vbe.h"
+
+/**
+ * \name Mode Flags
+ * \{
+ */
+#define        FLAG_LFB        0x01    //!< Framebuffer is a linear framebufer
+#define FLAG_POPULATED 0x02    //!< Mode information is populated
+#define FLAG_VALID     0x04    //!< Mode is valid (usable)
+#define FLAG_GRAPHICS  0x08    //!< Graphics mode
+/**
+ * \}
+ */
 
+// === TYPES ===
 typedef struct sVesa_Mode
 {
        Uint16  code;
@@ -19,41 +32,4 @@ typedef struct sVesa_Mode
        Uint32  fbSize;
        Uint32  framebuffer;
 }      tVesa_Mode;
-
-typedef struct sVesa_CallModeInfo
-{
-       Uint16  attributes;
-       Uint8   winA,winB;
-       Uint16  granularity;
-       Uint16  winsize;
-       Uint16  segmentA, segmentB;
-       tFarPtr realFctPtr;
-       Uint16  pitch;  // Bytes per scanline
-
-       Uint16  Xres, Yres;
-       Uint8   Wchar, Ychar, planes, bpp, banks;
-       Uint8   memory_model, bank_size, image_pages;
-       Uint8   reserved0;
-
-       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;
-}      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
-}      tVesa_CallInfo;
-
 #endif

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