VirtualBox

source: vbox/trunk/src/VBox/Devices/Graphics/BIOS/vgatables.h@ 86899

Last change on this file since 86899 was 82241, checked in by vboxsync, 5 years ago

VGABIOS: Video parameter table must be packed, duh. External users (e.g. XENIX) use it directly.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 24.6 KB
Line 
1
2#ifndef VBOX_INCLUDED_SRC_Graphics_BIOS_vgatables_h
3#define VBOX_INCLUDED_SRC_Graphics_BIOS_vgatables_h
4#ifndef RT_WITHOUT_PRAGMA_ONCE
5# pragma once
6#endif
7
8/* Video memory */
9#define VGAMEM_GRAPH 0xA000
10#define VGAMEM_CTEXT 0xB800
11#define VGAMEM_MTEXT 0xB000
12
13/*
14 *
15 * Tables of default values for each mode
16 *
17 */
18#define MODE_MAX 15
19#define TEXT 0x00
20#define GRAPH 0x01
21
22#define CTEXT 0x00
23#define MTEXT 0x01
24#define CGA 0x02
25#define PLANAR1 0x03
26#define PLANAR4 0x04
27#define LINEAR8 0x05
28
29// for SVGA
30#define LINEAR15 0x10
31#define LINEAR16 0x11
32#define LINEAR24 0x12
33#define LINEAR32 0x13
34
35typedef struct
36{uint8_t svgamode;
37 uint8_t class; /* TEXT, GRAPH */
38 uint8_t memmodel; /* CTEXT,MTEXT,CGA,PL1,PL2,PL4,P8,P15,P16,P24,P32 */
39 uint8_t pixbits;
40 uint16_t sstart;
41 uint8_t pelmask;
42 uint8_t dacmodel; /* 0 1 2 3 */
43} VGAMODES;
44
45static VGAMODES vga_modes[MODE_MAX+1]=
46{//mode class model bits sstart pelm dac
47 {0x00, TEXT, CTEXT, 4, 0xB800, 0xFF, 0x02},
48 {0x01, TEXT, CTEXT, 4, 0xB800, 0xFF, 0x02},
49 {0x02, TEXT, CTEXT, 4, 0xB800, 0xFF, 0x02},
50 {0x03, TEXT, CTEXT, 4, 0xB800, 0xFF, 0x02},
51 {0x04, GRAPH, CGA, 2, 0xB800, 0xFF, 0x01},
52 {0x05, GRAPH, CGA, 2, 0xB800, 0xFF, 0x01},
53 {0x06, GRAPH, CGA, 1, 0xB800, 0xFF, 0x01},
54 {0x07, TEXT, MTEXT, 4, 0xB000, 0xFF, 0x00},
55 {0x0D, GRAPH, PLANAR4, 4, 0xA000, 0xFF, 0x01},
56 {0x0E, GRAPH, PLANAR4, 4, 0xA000, 0xFF, 0x01},
57 {0x0F, GRAPH, PLANAR1, 1, 0xA000, 0xFF, 0x00},
58 {0x10, GRAPH, PLANAR4, 4, 0xA000, 0xFF, 0x02},
59 {0x11, GRAPH, PLANAR1, 1, 0xA000, 0xFF, 0x02},
60 {0x12, GRAPH, PLANAR4, 4, 0xA000, 0xFF, 0x02},
61 {0x13, GRAPH, LINEAR8, 8, 0xA000, 0xFF, 0x03},
62 {0x6A, GRAPH, PLANAR4, 4, 0xA000, 0xFF, 0x02}
63};
64
65/* convert index in vga_modes[] to index in video_param_table[] */
66static uint8_t line_to_vpti[MODE_MAX+1]={
67 0x17, 0x17, 0x18, 0x18, 0x04, 0x05, 0x06, 0x07,
68 0x0d, 0x0e, 0x11, 0x12, 0x1a, 0x1b, 0x1c, 0x1d,
69};
70
71/* Default Palette */
72#define DAC_MAX_MODEL 3
73
74static uint8_t dac_regs[DAC_MAX_MODEL+1]=
75{0x3f,0x3f,0x3f,0xff};
76
77/* standard BIOS Video Parameter Table */
78#pragma pack(push, 1)
79typedef struct {
80 uint8_t twidth;
81 uint8_t theightm1;
82 uint8_t cheight;
83 uint16_t slength;
84 uint8_t sequ_regs[4];
85 uint8_t miscreg;
86 uint8_t crtc_regs[25];
87 uint8_t actl_regs[20];
88 uint8_t grdc_regs[9];
89} VideoParamTableEntry;
90#pragma pack(pop)
91
92static VideoParamTableEntry video_param_table[30] = {
93{
94 /* index=0x00 no mode defined */
95 0x00, 0x00, 0x00, 0x0000, 0x00, 0x00, 0x00,
96 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
97 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
98 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
99 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
100 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
101 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
102 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
103},
104{
105 /* index=0x01 no mode defined */
106 0x00, 0x00, 0x00, 0x0000, 0x00, 0x00, 0x00,
107 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
108 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
109 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
110 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
111 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
112 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
113 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
114},
115{
116 /* index=0x02 no mode defined */
117 0x00, 0x00, 0x00, 0x0000, 0x00, 0x00, 0x00,
118 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
119 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
120 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
121 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
122 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
123 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
124 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
125},
126{
127 /* index=0x03 no mode defined */
128 0x00, 0x00, 0x00, 0x0000, 0x00, 0x00, 0x00,
129 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
130 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
131 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
132 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
133 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
134 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
135 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
136},
137{
138 /* index=0x04 vga mode 0x04 */
139 40, 24, 8, 0x4000, /* tw, th-1, ch, slength */
140 0x09, 0x03, 0x00, 0x02, /* sequ_regs */
141 0x63, /* miscreg */
142 0x2d, 0x27, 0x28, 0x90, 0x2b, 0x80, 0xbf, 0x1f,
143 0x00, 0xc1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
144 0x9c, 0x8e, 0x8f, 0x14, 0x00, 0x96, 0xb9, 0xa2,
145 0xff, /* crtc_regs */
146 0x00, 0x13, 0x15, 0x17, 0x02, 0x04, 0x06, 0x07,
147 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
148 0x01, 0x00, 0x03, 0x00, /* actl_regs */
149 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x0f, 0x0f, 0xff, /* grdc_regs */
150},
151{
152 /* index=0x05 vga mode 0x05 */
153 40, 24, 8, 0x4000, /* tw, th-1, ch, slength */
154 0x09, 0x03, 0x00, 0x02, /* sequ_regs */
155 0x63, /* miscreg */
156 0x2d, 0x27, 0x28, 0x90, 0x2b, 0x80, 0xbf, 0x1f,
157 0x00, 0xc1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
158 0x9c, 0x8e, 0x8f, 0x14, 0x00, 0x96, 0xb9, 0xa2,
159 0xff, /* crtc_regs */
160 0x00, 0x13, 0x15, 0x17, 0x02, 0x04, 0x06, 0x07,
161 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
162 0x01, 0x00, 0x03, 0x00, /* actl_regs */
163 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x0f, 0x0f, 0xff, /* grdc_regs */
164},
165{
166 /* index=0x06 vga mode 0x06 */
167 80, 24, 8, 0x4000, /* tw, th-1, ch, slength */
168 0x01, 0x01, 0x00, 0x06, /* sequ_regs */
169 0x63, /* miscreg */
170 0x5f, 0x4f, 0x50, 0x82, 0x54, 0x80, 0xbf, 0x1f,
171 0x00, 0xc1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
172 0x9c, 0x8e, 0x8f, 0x28, 0x00, 0x96, 0xb9, 0xc2,
173 0xff, /* crtc_regs */
174 0x00, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17,
175 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17,
176 0x01, 0x00, 0x01, 0x00, /* actl_regs */
177 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0d, 0x0f, 0xff, /* grdc_regs */
178},
179{
180 /* index=0x07 vga mode 0x07 */
181 80, 24, 16, 0x1000, /* tw, th-1, ch, slength */
182 0x00, 0x03, 0x00, 0x02, /* sequ_regs */
183 0x66, /* miscreg */
184 0x5f, 0x4f, 0x50, 0x82, 0x55, 0x81, 0xbf, 0x1f,
185 0x00, 0x4f, 0x0d, 0x0e, 0x00, 0x00, 0x00, 0x00,
186 0x9c, 0x8e, 0x8f, 0x28, 0x0f, 0x96, 0xb9, 0xa3,
187 0xff, /* crtc_regs */
188 0x00, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08,
189 0x10, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18,
190 0x0e, 0x00, 0x0f, 0x08, /* actl_regs */
191 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x0a, 0x0f, 0xff, /* grdc_regs */
192},
193{
194 /* index=0x08 no mode defined */
195 0x00, 0x00, 0x00, 0x0000, 0x00, 0x00, 0x00,
196 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
197 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
198 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
199 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
200 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
201 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
202 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
203},
204{
205 /* index=0x09 no mode defined */
206 0x00, 0x00, 0x00, 0x0000, 0x00, 0x00, 0x00,
207 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
208 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
209 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
210 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
211 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
212 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
213 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
214},
215{
216 /* index=0x0a no mode defined */
217 0x00, 0x00, 0x00, 0x0000, 0x00, 0x00, 0x00,
218 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
219 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
220 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
221 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
222 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
223 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
224 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
225},
226{
227 /* index=0x0b no mode defined */
228 0x00, 0x00, 0x00, 0x0000, 0x00, 0x00, 0x00,
229 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
230 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
231 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
232 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
233 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
234 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
235 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
236},
237{
238 /* index=0x0c no mode defined */
239 0x00, 0x00, 0x00, 0x0000, 0x00, 0x00, 0x00,
240 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
241 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
242 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
243 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
244 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
245 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
246 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
247},
248{
249 /* index=0x0d vga mode 0x0d */
250 40, 24, 8, 0x2000, /* tw, th-1, ch, slength */
251 0x09, 0x0f, 0x00, 0x06, /* sequ_regs */
252 0x63, /* miscreg */
253 0x2d, 0x27, 0x28, 0x90, 0x2b, 0x80, 0xbf, 0x1f,
254 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
255 0x9c, 0x8e, 0x8f, 0x14, 0x00, 0x96, 0xb9, 0xe3,
256 0xff, /* crtc_regs */
257 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
258 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
259 0x01, 0x00, 0x0f, 0x00, /* actl_regs */
260 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x0f, 0xff, /* grdc_regs */
261},
262{
263 /* index=0x0e vga mode 0x0e */
264 80, 24, 8, 0x4000, /* tw, th-1, ch, slength */
265 0x01, 0x0f, 0x00, 0x06, /* sequ_regs */
266 0x63, /* miscreg */
267 0x5f, 0x4f, 0x50, 0x82, 0x54, 0x80, 0xbf, 0x1f,
268 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
269 0x9c, 0x8e, 0x8f, 0x28, 0x00, 0x96, 0xb9, 0xe3,
270 0xff, /* crtc_regs */
271 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
272 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
273 0x01, 0x00, 0x0f, 0x00, /* actl_regs */
274 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x0f, 0xff, /* grdc_regs */
275},
276{
277 /* index=0x0f no mode defined */
278 0x00, 0x00, 0x00, 0x0000, 0x00, 0x00, 0x00,
279 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
280 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
281 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
282 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
283 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
284 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
285 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
286},
287{
288 /* index=0x10 no mode defined */
289 0x00, 0x00, 0x00, 0x0000, 0x00, 0x00, 0x00,
290 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
291 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
292 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
293 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
294 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
295 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
296 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
297},
298{
299 /* index=0x11 vga mode 0x0f */
300 80, 24, 14, 0x8000, /* tw, th-1, ch, slength */
301 0x01, 0x0f, 0x00, 0x06, /* sequ_regs */
302 0xa3, /* miscreg */
303 0x5f, 0x4f, 0x50, 0x82, 0x54, 0x80, 0xbf, 0x1f,
304 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
305 0x83, 0x85, 0x5d, 0x28, 0x0f, 0x63, 0xba, 0xe3,
306 0xff, /* crtc_regs */
307 0x00, 0x08, 0x00, 0x00, 0x18, 0x18, 0x00, 0x00,
308 0x00, 0x08, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00,
309 0x01, 0x00, 0x01, 0x00, /* actl_regs */
310 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x0f, 0xff, /* grdc_regs */
311},
312{
313 /* index=0x12 vga mode 0x10 */
314 80, 24, 14, 0x8000, /* tw, th-1, ch, slength */
315 0x01, 0x0f, 0x00, 0x06, /* sequ_regs */
316 0xa3, /* miscreg */
317 0x5f, 0x4f, 0x50, 0x82, 0x54, 0x80, 0xbf, 0x1f,
318 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
319 0x83, 0x85, 0x5d, 0x28, 0x0f, 0x63, 0xba, 0xe3,
320 0xff, /* crtc_regs */
321 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x14, 0x07,
322 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
323 0x01, 0x00, 0x0f, 0x00, /* actl_regs */
324 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x0f, 0xff, /* grdc_regs */
325},
326{
327 /* index=0x13 no mode defined */
328 0x00, 0x00, 0x00, 0x0000, 0x00, 0x00, 0x00,
329 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
330 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
331 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
332 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
333 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
334 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
335 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
336},
337{
338 /* index=0x14 no mode defined */
339 0x00, 0x00, 0x00, 0x0000, 0x00, 0x00, 0x00,
340 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
341 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
342 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
343 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
344 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
345 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
346 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
347},
348{
349 /* index=0x15 no mode defined */
350 0x00, 0x00, 0x00, 0x0000, 0x00, 0x00, 0x00,
351 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
352 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
353 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
354 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
355 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
356 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
357 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
358},
359{
360 /* index=0x16 ega mode 0x03 */
361 80, 24, 14, 0x1000, /* tw, th-1, ch, slength */
362 0x00, 0x03, 0x00, 0x02, /* sequ_regs */
363 0x67, /* miscreg */
364 0x5f, 0x4f, 0x50, 0x82, 0x55, 0x81, 0xbf, 0x1f,
365 0x00, 0x4f, 0x0d, 0x0e, 0x00, 0x00, 0x00, 0x00,
366 0x9c, 0x8e, 0x8f, 0x28, 0x1f, 0x96, 0xb9, 0xa3,
367 0xff, /* crtc_regs */
368 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x14, 0x07,
369 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
370 0x0c, 0x00, 0x0f, 0x08, /* actl_regs */
371 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x0e, 0x0f, 0xff, /* grdc_regs */
372},
373{
374 /* index=0x17 vga mode 0x01 */
375 40, 24, 16, 0x0800, /* tw, th-1, ch, slength */
376 0x08, 0x03, 0x00, 0x02, /* sequ_regs */
377 0x67, /* miscreg */
378 0x2d, 0x27, 0x28, 0x90, 0x2b, 0xa0, 0xbf, 0x1f,
379 0x00, 0x4f, 0x0d, 0x0e, 0x00, 0x00, 0x00, 0x00,
380 0x9c, 0x8e, 0x8f, 0x14, 0x1f, 0x96, 0xb9, 0xa3,
381 0xff, /* crtc_regs */
382 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x14, 0x07,
383 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
384 0x0c, 0x00, 0x0f, 0x08, /* actl_regs */
385 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x0e, 0x0f, 0xff, /* grdc_regs */
386},
387{
388 /* index=0x18 vga mode 0x03 */
389 80, 24, 16, 0x1000, /* tw, th-1, ch, slength */
390 0x00, 0x03, 0x00, 0x02, /* sequ_regs */
391 0x67, /* miscreg */
392 0x5f, 0x4f, 0x50, 0x82, 0x55, 0x81, 0xbf, 0x1f,
393 0x00, 0x4f, 0x0d, 0x0e, 0x00, 0x00, 0x00, 0x00,
394 0x9c, 0x8e, 0x8f, 0x28, 0x1f, 0x96, 0xb9, 0xa3,
395 0xff, /* crtc_regs */
396 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x14, 0x07,
397 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
398 0x0c, 0x00, 0x0f, 0x08, /* actl_regs */
399 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x0e, 0x0f, 0xff, /* grdc_regs */
400},
401{
402 /* index=0x19 vga mode 0x07 */
403 80, 24, 16, 0x1000, /* tw, th-1, ch, slength */
404 0x00, 0x03, 0x00, 0x02, /* sequ_regs */
405 0x66, /* miscreg */
406 0x5f, 0x4f, 0x50, 0x82, 0x55, 0x81, 0xbf, 0x1f,
407 0x00, 0x4f, 0x0d, 0x0e, 0x00, 0x00, 0x00, 0x00,
408 0x9c, 0x8e, 0x8f, 0x28, 0x0f, 0x96, 0xb9, 0xa3,
409 0xff, /* crtc_regs */
410 0x00, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08,
411 0x10, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18,
412 0x0e, 0x00, 0x0f, 0x08, /* actl_regs */
413 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x0a, 0x0f, 0xff, /* grdc_regs */
414},
415{
416 /* index=0x1a vga mode 0x11 */
417 80, 29, 16, 0xa000, /* tw, th-1, ch, slength */
418 0x01, 0x0f, 0x00, 0x06, /* sequ_regs */
419 0xe3, /* miscreg */
420 0x5f, 0x4f, 0x50, 0x82, 0x54, 0x80, 0x0b, 0x3e,
421 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
422 0xea, 0x8c, 0xdf, 0x28, 0x00, 0xe7, 0x04, 0xc3,
423 0xff, /* crtc_regs */
424 0x00, 0x3f, 0x00, 0x3f, 0x00, 0x3f, 0x00, 0x3f,
425 0x00, 0x3f, 0x00, 0x3f, 0x00, 0x3f, 0x00, 0x3f,
426 0x01, 0x00, 0x0f, 0x00, /* actl_regs */
427 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x0f, 0xff, /* grdc_regs */
428},
429{
430 /* index=0x1b vga mode 0x12 */
431 80, 29, 16, 0xa000, /* tw, th-1, ch, slength */
432 0x01, 0x0f, 0x00, 0x06, /* sequ_regs */
433 0xe3, /* miscreg */
434 0x5f, 0x4f, 0x50, 0x82, 0x54, 0x80, 0x0b, 0x3e,
435 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
436 0xea, 0x8c, 0xdf, 0x28, 0x00, 0xe7, 0x04, 0xe3,
437 0xff, /* crtc_regs */
438 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x14, 0x07,
439 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
440 0x01, 0x00, 0x0f, 0x00, /* actl_regs */
441 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x0f, 0xff, /* grdc_regs */
442},
443{
444 /* index=0x1c vga mode 0x13 */
445 40, 24, 8, 0x2000, /* tw, th-1, ch, slength */
446 0x01, 0x0f, 0x00, 0x0e, /* sequ_regs */
447 0x63, /* miscreg */
448 0x5f, 0x4f, 0x50, 0x82, 0x54, 0x80, 0xbf, 0x1f,
449 0x00, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
450 0x9c, 0x8e, 0x8f, 0x28, 0x40, 0x96, 0xb9, 0xa3,
451 0xff, /* crtc_regs */
452 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
453 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
454 0x41, 0x00, 0x0f, 0x00, /* actl_regs */
455 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x05, 0x0f, 0xff, /* grdc_regs */
456},
457{
458 /* index=0x1d vga mode 0x6a */
459 100, 36, 16, 0x0000, /* tw, th-1, ch, slength */
460 0x01, 0x0f, 0x00, 0x06, /* sequ_regs */
461 0xe3, /* miscreg */
462 0x7f, 0x63, 0x63, 0x83, 0x6b, 0x1b, 0x72, 0xf0,
463 0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
464 0x59, 0x8d, 0x57, 0x32, 0x00, 0x57, 0x73, 0xe3,
465 0xff, /* crtc_regs */
466 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x14, 0x07,
467 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
468 0x01, 0x00, 0x0f, 0x00, /* actl_regs */
469 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x0f, 0xff, /* grdc_regs */
470},
471};
472
473/* Mono */
474static uint8_t palette0[63+1][3]=
475{
476 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
477 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a,
478 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a,
479 0x3f,0x3f,0x3f, 0x3f,0x3f,0x3f, 0x3f,0x3f,0x3f, 0x3f,0x3f,0x3f, 0x3f,0x3f,0x3f, 0x3f,0x3f,0x3f, 0x3f,0x3f,0x3f, 0x3f,0x3f,0x3f,
480 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
481 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a,
482 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a,
483 0x3f,0x3f,0x3f, 0x3f,0x3f,0x3f, 0x3f,0x3f,0x3f, 0x3f,0x3f,0x3f, 0x3f,0x3f,0x3f, 0x3f,0x3f,0x3f, 0x3f,0x3f,0x3f, 0x3f,0x3f,0x3f
484};
485
486static uint8_t palette1[63+1][3]=
487{
488 0x00,0x00,0x00, 0x00,0x00,0x2a, 0x00,0x2a,0x00, 0x00,0x2a,0x2a, 0x2a,0x00,0x00, 0x2a,0x00,0x2a, 0x2a,0x15,0x00, 0x2a,0x2a,0x2a,
489 0x00,0x00,0x00, 0x00,0x00,0x2a, 0x00,0x2a,0x00, 0x00,0x2a,0x2a, 0x2a,0x00,0x00, 0x2a,0x00,0x2a, 0x2a,0x15,0x00, 0x2a,0x2a,0x2a,
490 0x15,0x15,0x15, 0x15,0x15,0x3f, 0x15,0x3f,0x15, 0x15,0x3f,0x3f, 0x3f,0x15,0x15, 0x3f,0x15,0x3f, 0x3f,0x3f,0x15, 0x3f,0x3f,0x3f,
491 0x15,0x15,0x15, 0x15,0x15,0x3f, 0x15,0x3f,0x15, 0x15,0x3f,0x3f, 0x3f,0x15,0x15, 0x3f,0x15,0x3f, 0x3f,0x3f,0x15, 0x3f,0x3f,0x3f,
492 0x00,0x00,0x00, 0x00,0x00,0x2a, 0x00,0x2a,0x00, 0x00,0x2a,0x2a, 0x2a,0x00,0x00, 0x2a,0x00,0x2a, 0x2a,0x15,0x00, 0x2a,0x2a,0x2a,
493 0x00,0x00,0x00, 0x00,0x00,0x2a, 0x00,0x2a,0x00, 0x00,0x2a,0x2a, 0x2a,0x00,0x00, 0x2a,0x00,0x2a, 0x2a,0x15,0x00, 0x2a,0x2a,0x2a,
494 0x15,0x15,0x15, 0x15,0x15,0x3f, 0x15,0x3f,0x15, 0x15,0x3f,0x3f, 0x3f,0x15,0x15, 0x3f,0x15,0x3f, 0x3f,0x3f,0x15, 0x3f,0x3f,0x3f,
495 0x15,0x15,0x15, 0x15,0x15,0x3f, 0x15,0x3f,0x15, 0x15,0x3f,0x3f, 0x3f,0x15,0x15, 0x3f,0x15,0x3f, 0x3f,0x3f,0x15, 0x3f,0x3f,0x3f
496};
497
498static uint8_t palette2[63+1][3]=
499{
500 0x00,0x00,0x00, 0x00,0x00,0x2a, 0x00,0x2a,0x00, 0x00,0x2a,0x2a, 0x2a,0x00,0x00, 0x2a,0x00,0x2a, 0x2a,0x2a,0x00, 0x2a,0x2a,0x2a,
501 0x00,0x00,0x15, 0x00,0x00,0x3f, 0x00,0x2a,0x15, 0x00,0x2a,0x3f, 0x2a,0x00,0x15, 0x2a,0x00,0x3f, 0x2a,0x2a,0x15, 0x2a,0x2a,0x3f,
502 0x00,0x15,0x00, 0x00,0x15,0x2a, 0x00,0x3f,0x00, 0x00,0x3f,0x2a, 0x2a,0x15,0x00, 0x2a,0x15,0x2a, 0x2a,0x3f,0x00, 0x2a,0x3f,0x2a,
503 0x00,0x15,0x15, 0x00,0x15,0x3f, 0x00,0x3f,0x15, 0x00,0x3f,0x3f, 0x2a,0x15,0x15, 0x2a,0x15,0x3f, 0x2a,0x3f,0x15, 0x2a,0x3f,0x3f,
504 0x15,0x00,0x00, 0x15,0x00,0x2a, 0x15,0x2a,0x00, 0x15,0x2a,0x2a, 0x3f,0x00,0x00, 0x3f,0x00,0x2a, 0x3f,0x2a,0x00, 0x3f,0x2a,0x2a,
505 0x15,0x00,0x15, 0x15,0x00,0x3f, 0x15,0x2a,0x15, 0x15,0x2a,0x3f, 0x3f,0x00,0x15, 0x3f,0x00,0x3f, 0x3f,0x2a,0x15, 0x3f,0x2a,0x3f,
506 0x15,0x15,0x00, 0x15,0x15,0x2a, 0x15,0x3f,0x00, 0x15,0x3f,0x2a, 0x3f,0x15,0x00, 0x3f,0x15,0x2a, 0x3f,0x3f,0x00, 0x3f,0x3f,0x2a,
507 0x15,0x15,0x15, 0x15,0x15,0x3f, 0x15,0x3f,0x15, 0x15,0x3f,0x3f, 0x3f,0x15,0x15, 0x3f,0x15,0x3f, 0x3f,0x3f,0x15, 0x3f,0x3f,0x3f
508};
509
510static uint8_t palette3[256][3]=
511{
512 0x00,0x00,0x00, 0x00,0x00,0x2a, 0x00,0x2a,0x00, 0x00,0x2a,0x2a, 0x2a,0x00,0x00, 0x2a,0x00,0x2a, 0x2a,0x15,0x00, 0x2a,0x2a,0x2a,
513 0x15,0x15,0x15, 0x15,0x15,0x3f, 0x15,0x3f,0x15, 0x15,0x3f,0x3f, 0x3f,0x15,0x15, 0x3f,0x15,0x3f, 0x3f,0x3f,0x15, 0x3f,0x3f,0x3f,
514 0x00,0x00,0x00, 0x05,0x05,0x05, 0x08,0x08,0x08, 0x0b,0x0b,0x0b, 0x0e,0x0e,0x0e, 0x11,0x11,0x11, 0x14,0x14,0x14, 0x18,0x18,0x18,
515 0x1c,0x1c,0x1c, 0x20,0x20,0x20, 0x24,0x24,0x24, 0x28,0x28,0x28, 0x2d,0x2d,0x2d, 0x32,0x32,0x32, 0x38,0x38,0x38, 0x3f,0x3f,0x3f,
516 0x00,0x00,0x3f, 0x10,0x00,0x3f, 0x1f,0x00,0x3f, 0x2f,0x00,0x3f, 0x3f,0x00,0x3f, 0x3f,0x00,0x2f, 0x3f,0x00,0x1f, 0x3f,0x00,0x10,
517 0x3f,0x00,0x00, 0x3f,0x10,0x00, 0x3f,0x1f,0x00, 0x3f,0x2f,0x00, 0x3f,0x3f,0x00, 0x2f,0x3f,0x00, 0x1f,0x3f,0x00, 0x10,0x3f,0x00,
518 0x00,0x3f,0x00, 0x00,0x3f,0x10, 0x00,0x3f,0x1f, 0x00,0x3f,0x2f, 0x00,0x3f,0x3f, 0x00,0x2f,0x3f, 0x00,0x1f,0x3f, 0x00,0x10,0x3f,
519 0x1f,0x1f,0x3f, 0x27,0x1f,0x3f, 0x2f,0x1f,0x3f, 0x37,0x1f,0x3f, 0x3f,0x1f,0x3f, 0x3f,0x1f,0x37, 0x3f,0x1f,0x2f, 0x3f,0x1f,0x27,
520
521 0x3f,0x1f,0x1f, 0x3f,0x27,0x1f, 0x3f,0x2f,0x1f, 0x3f,0x37,0x1f, 0x3f,0x3f,0x1f, 0x37,0x3f,0x1f, 0x2f,0x3f,0x1f, 0x27,0x3f,0x1f,
522 0x1f,0x3f,0x1f, 0x1f,0x3f,0x27, 0x1f,0x3f,0x2f, 0x1f,0x3f,0x37, 0x1f,0x3f,0x3f, 0x1f,0x37,0x3f, 0x1f,0x2f,0x3f, 0x1f,0x27,0x3f,
523 0x2d,0x2d,0x3f, 0x31,0x2d,0x3f, 0x36,0x2d,0x3f, 0x3a,0x2d,0x3f, 0x3f,0x2d,0x3f, 0x3f,0x2d,0x3a, 0x3f,0x2d,0x36, 0x3f,0x2d,0x31,
524 0x3f,0x2d,0x2d, 0x3f,0x31,0x2d, 0x3f,0x36,0x2d, 0x3f,0x3a,0x2d, 0x3f,0x3f,0x2d, 0x3a,0x3f,0x2d, 0x36,0x3f,0x2d, 0x31,0x3f,0x2d,
525 0x2d,0x3f,0x2d, 0x2d,0x3f,0x31, 0x2d,0x3f,0x36, 0x2d,0x3f,0x3a, 0x2d,0x3f,0x3f, 0x2d,0x3a,0x3f, 0x2d,0x36,0x3f, 0x2d,0x31,0x3f,
526 0x00,0x00,0x1c, 0x07,0x00,0x1c, 0x0e,0x00,0x1c, 0x15,0x00,0x1c, 0x1c,0x00,0x1c, 0x1c,0x00,0x15, 0x1c,0x00,0x0e, 0x1c,0x00,0x07,
527 0x1c,0x00,0x00, 0x1c,0x07,0x00, 0x1c,0x0e,0x00, 0x1c,0x15,0x00, 0x1c,0x1c,0x00, 0x15,0x1c,0x00, 0x0e,0x1c,0x00, 0x07,0x1c,0x00,
528 0x00,0x1c,0x00, 0x00,0x1c,0x07, 0x00,0x1c,0x0e, 0x00,0x1c,0x15, 0x00,0x1c,0x1c, 0x00,0x15,0x1c, 0x00,0x0e,0x1c, 0x00,0x07,0x1c,
529
530 0x0e,0x0e,0x1c, 0x11,0x0e,0x1c, 0x15,0x0e,0x1c, 0x18,0x0e,0x1c, 0x1c,0x0e,0x1c, 0x1c,0x0e,0x18, 0x1c,0x0e,0x15, 0x1c,0x0e,0x11,
531 0x1c,0x0e,0x0e, 0x1c,0x11,0x0e, 0x1c,0x15,0x0e, 0x1c,0x18,0x0e, 0x1c,0x1c,0x0e, 0x18,0x1c,0x0e, 0x15,0x1c,0x0e, 0x11,0x1c,0x0e,
532 0x0e,0x1c,0x0e, 0x0e,0x1c,0x11, 0x0e,0x1c,0x15, 0x0e,0x1c,0x18, 0x0e,0x1c,0x1c, 0x0e,0x18,0x1c, 0x0e,0x15,0x1c, 0x0e,0x11,0x1c,
533 0x14,0x14,0x1c, 0x16,0x14,0x1c, 0x18,0x14,0x1c, 0x1a,0x14,0x1c, 0x1c,0x14,0x1c, 0x1c,0x14,0x1a, 0x1c,0x14,0x18, 0x1c,0x14,0x16,
534 0x1c,0x14,0x14, 0x1c,0x16,0x14, 0x1c,0x18,0x14, 0x1c,0x1a,0x14, 0x1c,0x1c,0x14, 0x1a,0x1c,0x14, 0x18,0x1c,0x14, 0x16,0x1c,0x14,
535 0x14,0x1c,0x14, 0x14,0x1c,0x16, 0x14,0x1c,0x18, 0x14,0x1c,0x1a, 0x14,0x1c,0x1c, 0x14,0x1a,0x1c, 0x14,0x18,0x1c, 0x14,0x16,0x1c,
536 0x00,0x00,0x10, 0x04,0x00,0x10, 0x08,0x00,0x10, 0x0c,0x00,0x10, 0x10,0x00,0x10, 0x10,0x00,0x0c, 0x10,0x00,0x08, 0x10,0x00,0x04,
537 0x10,0x00,0x00, 0x10,0x04,0x00, 0x10,0x08,0x00, 0x10,0x0c,0x00, 0x10,0x10,0x00, 0x0c,0x10,0x00, 0x08,0x10,0x00, 0x04,0x10,0x00,
538
539 0x00,0x10,0x00, 0x00,0x10,0x04, 0x00,0x10,0x08, 0x00,0x10,0x0c, 0x00,0x10,0x10, 0x00,0x0c,0x10, 0x00,0x08,0x10, 0x00,0x04,0x10,
540 0x08,0x08,0x10, 0x0a,0x08,0x10, 0x0c,0x08,0x10, 0x0e,0x08,0x10, 0x10,0x08,0x10, 0x10,0x08,0x0e, 0x10,0x08,0x0c, 0x10,0x08,0x0a,
541 0x10,0x08,0x08, 0x10,0x0a,0x08, 0x10,0x0c,0x08, 0x10,0x0e,0x08, 0x10,0x10,0x08, 0x0e,0x10,0x08, 0x0c,0x10,0x08, 0x0a,0x10,0x08,
542 0x08,0x10,0x08, 0x08,0x10,0x0a, 0x08,0x10,0x0c, 0x08,0x10,0x0e, 0x08,0x10,0x10, 0x08,0x0e,0x10, 0x08,0x0c,0x10, 0x08,0x0a,0x10,
543 0x0b,0x0b,0x10, 0x0c,0x0b,0x10, 0x0d,0x0b,0x10, 0x0f,0x0b,0x10, 0x10,0x0b,0x10, 0x10,0x0b,0x0f, 0x10,0x0b,0x0d, 0x10,0x0b,0x0c,
544 0x10,0x0b,0x0b, 0x10,0x0c,0x0b, 0x10,0x0d,0x0b, 0x10,0x0f,0x0b, 0x10,0x10,0x0b, 0x0f,0x10,0x0b, 0x0d,0x10,0x0b, 0x0c,0x10,0x0b,
545 0x0b,0x10,0x0b, 0x0b,0x10,0x0c, 0x0b,0x10,0x0d, 0x0b,0x10,0x0f, 0x0b,0x10,0x10, 0x0b,0x0f,0x10, 0x0b,0x0d,0x10, 0x0b,0x0c,0x10,
546 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00
547};
548
549static uint8_t static_functionality[0x10]=
550{
551 /* 0 */ 0xff, // All modes supported #1
552 /* 1 */ 0xe0, // All modes supported #2
553 /* 2 */ 0x0f, // All modes supported #3
554 /* 3 */ 0x00, 0x00, 0x00, 0x00, // reserved
555 /* 7 */ 0x07, // 200, 350, 400 scan lines
556 /* 8 */ 0x02, // maximum number of visible charsets in text mode
557 /* 9 */ 0x08, // total number of charset blocks in text mode
558 /* a */ 0xe7, // Change to add new functions
559 /* b */ 0x0c, // Change to add new functions
560 /* c */ 0x00, // reserved
561 /* d */ 0x00, // reserved
562 /* e */ 0x00, // Change to add new functions
563 /* f */ 0x00 // reserved
564};
565
566#endif /* !VBOX_INCLUDED_SRC_Graphics_BIOS_vgatables_h */
567
Note: See TracBrowser for help on using the repository browser.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette