1 #pragma once
2 
3 #define VGA_NORMAL 0
4 #define VGA_AND    8
5 #define VGA_OR     16
6 #define VGA_XOR    24
7 
8 #define MISC         (PUCHAR)0x3c2
9 #define SEQ          (PUCHAR)0x3c4
10 #define SEQDATA      (PUCHAR)0x3c5
11 #define CRTC         (PUCHAR)0x3d4
12 #define CRTCDATA     (PUCHAR)0x3d5
13 #define GRAPHICS     (PUCHAR)0x3ce
14 #define GRAPHICSDATA (PUCHAR)0x3cf
15 #define ATTRIB       (PUCHAR)0x3c0
16 #define ATTRIBREAD   (PUCHAR)0x3c1
17 #define STATUS       (PUCHAR)0x3da
18 #define PELMASK      (PUCHAR)0x3c6
19 #define PELINDEX     (PUCHAR)0x3c8
20 #define PELDATA      (PUCHAR)0x3c9
21 #define FEATURE      (PUCHAR)0x3da
22 
23 typedef struct _VGA_REGISTERS
24 {
25    UCHAR CRT[24];
26    UCHAR Attribute[21];
27    UCHAR Graphics[9];
28    UCHAR Sequencer[5];
29    UCHAR Misc;
30 } VGA_REGISTERS, *PVGA_REGISTERS;
31