ReactOS  0.4.14-dev-1115-gebeeb9d
vbe.h
Go to the documentation of this file.
1 /*
2  * COPYRIGHT: GPLv2+ - See COPYING in the top level directory
3  * PROJECT: ReactOS Virtual DOS Machine
4  * FILE: subsystems/mvdm/ntvdm/bios/bios32/vbe.h
5  * PURPOSE: VDM VESA BIOS Extensions (for the Cirrus CL-GD5434 emulated card)
6  * PROGRAMMERS: Aleksandar Andrejevic <theflash AT sdf DOT lonestar DOT org>
7  */
8 
9 #ifndef _VBE_H_
10 #define _VBE_H_
11 
12 #include "hardware/video/svga.h"
13 
14 /* DEFINITIONS ****************************************************************/
15 
16 #define OEM_NAME "Cirrus Logic GD-5434 VGA"
17 #define OEM_NAME_PTR 0xF01D5091
18 
19 #define VBE_MODE_COUNT 40
20 
21 /* VBE Mode Attribute Flags */
22 #define VBE_MODE_SUPPORTED (1 << 0)
23 #define VBE_MODE_OPTIONAL_INFO (1 << 1)
24 #define VBE_MODE_BIOS_SUPPORT (1 << 2)
25 #define VBE_MODE_COLOR (1 << 3)
26 #define VBE_MODE_GRAPHICS (1 << 4)
27 
28 /* VBE Window Attribute Flags */
29 #define VBE_WINDOW_EXISTS (1 << 0)
30 #define VBE_WINDOW_READABLE (1 << 1)
31 #define VBE_WINDOW_WRITABLE (1 << 2)
32 
33 /* VBE Memory Models */
34 #define VBE_MODEL_TEXT 0
35 #define VBE_MODEL_CGA 1
36 #define VBE_MODEL_HGC 2
37 #define VBE_MODEL_EGA 3
38 #define VBE_MODEL_PACKED 4
39 #define VBE_MODEL_UNCHAINED 5
40 #define VBE_MODEL_DIRECT 6
41 #define VBE_MODEL_YUV 7
42 
43 #pragma pack(push, 1)
44 
45 typedef struct _VBE_INFORMATION
46 {
55 
56 C_ASSERT(sizeof(VBE_INFORMATION) == 256);
57 
58 typedef struct _VBE_MODE_INFO
59 {
90 
91 C_ASSERT(sizeof(VBE_MODE_INFO) % sizeof(WORD) == 0);
92 
93 typedef const struct _VBE_MODE_INFO *PCVBE_MODE_INFO;
94 
95 #pragma pack(pop)
96 
97 typedef struct _VBE_MODE
98 {
103 } VBE_MODE, *PVBE_MODE;
104 
105 typedef const struct _VBE_MODE *PCVBE_MODE;
106 
107 /* FUNCTIONS ******************************************************************/
108 
113 
114 #endif // _VBE_H_
BOOLEAN VbeInitialize(VOID)
Definition: vbe.c:763
BYTE DirectColorInfo
Definition: vbe.h:88
Definition: vbe.h:97
VOID WINAPI VbeResetExtendedRegisters(VOID)
Definition: vbe.c:380
BYTE ReservedMaskSize
Definition: vbe.h:86
BYTE WindowAttrA
Definition: vbe.h:61
DWORD Signature
Definition: vbe.h:47
DWORD Capabilities
Definition: vbe.h:50
BYTE RedFieldPosition
Definition: vbe.h:81
struct _VBE_INFORMATION * PVBE_INFORMATION
BYTE GreenMaskSize
Definition: vbe.h:82
BYTE GreenFieldPosition
Definition: vbe.h:83
struct _VBE_MODE VBE_MODE
PSVGA_REGISTERS Registers
Definition: vbe.h:102
WORD WindowSize
Definition: vbe.h:64
DWORD OemName
Definition: vbe.h:49
BYTE CellWidth
Definition: vbe.h:71
BYTE NumBanks
Definition: vbe.h:75
C_ASSERT(sizeof(VBE_INFORMATION)==256)
BYTE BlueMaskSize
Definition: vbe.h:84
WORD ModeListBuffer[118]
Definition: vbe.h:53
WORD WindowGranularity
Definition: vbe.h:63
unsigned char BOOLEAN
WORD WindowSegmentB
Definition: vbe.h:66
BOOLEAN WINAPI VbeSetExtendedVideoMode(BYTE ModeNumber)
Definition: vbe.c:356
WORD VideoMemory
Definition: vbe.h:52
WORD Version
Definition: vbe.h:48
const struct _VBE_MODE * PCVBE_MODE
Definition: vbe.h:105
BYTE Reserved
Definition: vbe.h:79
DWORD ModeList
Definition: vbe.h:51
BYTE Number
Definition: vbe.h:99
WORD VesaNumber
Definition: vbe.h:100
BYTE BlueFieldPosition
Definition: vbe.h:85
DWORD WindowPosFunc
Definition: vbe.h:67
WORD Height
Definition: vbe.h:70
#define WINAPI
Definition: msvc.h:6
unsigned short WORD
Definition: ntddk_ex.h:93
unsigned long DWORD
Definition: ntddk_ex.h:95
BYTE BitsPerPixel
Definition: vbe.h:74
BYTE RedMaskSize
Definition: vbe.h:80
const struct _VBE_MODE_INFO * PCVBE_MODE_INFO
Definition: vbe.h:93
WORD BytesPerScanline
Definition: vbe.h:68
BYTE ReservedFieldPosition
Definition: vbe.h:87
WORD Attributes
Definition: vbe.h:60
unsigned char BYTE
Definition: mem.h:68
uint16_t * LPWORD
Definition: typedefs.h:55
BYTE NumPlanes
Definition: vbe.h:73
struct _VBE_MODE_INFO * PVBE_MODE_INFO
struct _VBE_INFORMATION VBE_INFORMATION
PCVBE_MODE_INFO Info
Definition: vbe.h:101
struct _VBE_MODE_INFO VBE_MODE_INFO
BYTE WindowAttrB
Definition: vbe.h:62
struct _VBE_MODE * PVBE_MODE
BYTE MemoryModel
Definition: vbe.h:76
BYTE BankSize
Definition: vbe.h:77
WORD Width
Definition: vbe.h:69
VOID WINAPI VbeService(LPWORD Stack)
Definition: vbe.c:472
BYTE ImagePages
Definition: vbe.h:78
WORD WindowSegmentA
Definition: vbe.h:65
BYTE CellHeight
Definition: vbe.h:72