X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=KernelLand%2FModules%2FDisplay%2FVESA%2Fcommon.h;h=c81fe1a818cea8831933ffb9dc262ef65b4fae62;hb=6d6b367c4f5e413a9e4135d9f5c40077c3724525;hp=eeaddd56766ee31f8c83924cd70d177ba73de652;hpb=51ab5f489bc356940c95cc936fd0508e8f07ea97;p=tpg%2Facess2.git diff --git a/KernelLand/Modules/Display/VESA/common.h b/KernelLand/Modules/Display/VESA/common.h index eeaddd56..c81fe1a8 100644 --- a/KernelLand/Modules/Display/VESA/common.h +++ b/KernelLand/Modules/Display/VESA/common.h @@ -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