TacOS  0.2
 Tout Structures de données Fichiers Fonctions Variables Définitions de type Énumérations Macros
vga_modes.h
Aller à la documentation de ce fichier.
1 
29 #ifndef _VGA_MODES_H_
30 #define _VGA_MODES_H_
31 
32 #include <vga_types.h>
33 
37 struct mode {
38  int width;
39  int height;
40  int bpp;
41  bool graphic;
42  unsigned char *reg_values;
43 };
44 
45 static unsigned char mode_320x200x256[] = {
46  /* GC */
47  0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x05, 0x0F,
48  0xFF,
49  /* SEQ */
50  0x03, 0x01, 0x0F, 0x00, 0x0E,
51  /* AC */
52  0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
53  0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F,
54  0x41, 0x00, 0x0F, 0x00, 0x00,
55  /* CRTC */
56  0x5F, 0x4F, 0x50, 0x82, 0x54, 0x80, 0xBF, 0x1F,
57  0x00, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
58  0x9C, 0x0E, 0x8F, 0x28, 0x40, 0x96, 0xB9, 0xA3,
59  0xFF,
60  /* MISC */
61  0x63,
62 };
63 
64 static unsigned char mode_320x200x256_modex[] = {
65  /* GC */
66  0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x05, 0x0F,
67  0xFF,
68  /* SEQ */
69  0x03, 0x01, 0x0F, 0x00, 0x06,
70  /* AC */
71  0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
72  0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F,
73  0x41, 0x00, 0x0F, 0x00, 0x00,
74  /* CRTC */
75  0x5F, 0x4F, 0x50, 0x82, 0x54, 0x80, 0xBF, 0x1F,
76  0x00, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
77  0x9C, 0x0E, 0x8F, 0x28, 0x00, 0x96, 0xB9, 0xE3,
78  0xFF,
79  /* MISC */
80  0x63,
81 };
82 
83 static unsigned char mode_80x25_text[] = {
84  /* GC */
85  0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x0E, 0x00,
86  0xFF,
87  /* SEQ */
88  0x03, 0x00, 0x03, 0x00, 0x02,
89  /* AC */
90  0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x14, 0x07,
91  0x38, 0x39, 0x3A, 0x3B, 0x3C, 0x3D, 0x3E, 0x3F,
92  0x0C, 0x00, 0x0F, 0x08, 0x00,
93  /* CRTC */
94  0x5F, 0x4F, 0x50, 0x82, 0x55, 0x81, 0xBF, 0x1F,
95  0x00, 0x4F, 0x0D, 0x0E, 0x00, 0x00, 0x00, 0x50,
96  0x9C, 0x0E, 0x8F, 0x28, 0x1F, 0x96, 0xB9, 0xA3,
97  0xFF,
98  /* MISC */
99  0x67,
100 };
101 
102 // See enum VGA_mode in include/vga_types.h
103 static struct mode vga_modes[] = {
104  // Text: 80x25
105  { 80, 25, 1, 0, mode_80x25_text },
106  // Graphic: 320x200x256 colors
107  { 320, 200, 1, 1, mode_320x200x256 },
108  // Graphic: 320x200x256 colors, mode X
109  { 320, 200, 1, 1, mode_320x200x256_modex },
110 };
111 
112 #endif
int bpp
Definition: vga_modes.h:40
unsigned char * reg_values
Definition: vga_modes.h:42
int width
Definition: vga_modes.h:38
bool graphic
Definition: vga_modes.h:41
int height
Definition: vga_modes.h:39
Definition: vga_modes.h:37