VirtualBox

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

Last change on this file since 94353 was 94353, checked in by vboxsync, 3 years ago

VGABIOS: Filled in mode parameters with CGA/EGA text modes.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 25.2 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 cga mode 0/1 */
95 40, 24, 8, 0x0800, /* tw, th-1, ch, slength */
96 0x09, 0x03, 0x00, 0x02, /* sequ_regs */
97 0x63, /* miscreg */
98 0x2d, 0x27, 0x28, 0x90, 0x2b, 0xa0, 0xbf, 0x1f,
99 0x00, 0xc7, 0x06, 0x07, 0x00, 0x00, 0x00, 0x00,
100 0x9c, 0x8e, 0x8f, 0x14, 0x1f, 0x96, 0xb9, 0xa3,
101 0xff, /* crtc_regs */
102 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
103 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
104 0x08, 0x00, 0x0f, 0x08, /* actl_regs */
105 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x0e, 0x00, 0xff, /* grdc_regs */
106},
107{
108 /* index=0x01 cga mode 0/1 */
109 40, 24, 8, 0x0800, /* tw, th-1, ch, slength */
110 0x09, 0x03, 0x00, 0x02, /* sequ_regs */
111 0x63, /* miscreg */
112 0x2d, 0x27, 0x28, 0x90, 0x2b, 0xa0, 0xbf, 0x1f,
113 0x00, 0xc7, 0x06, 0x07, 0x00, 0x00, 0x00, 0x00,
114 0x9c, 0x8e, 0x8f, 0x14, 0x1f, 0x96, 0xb9, 0xa3,
115 0xff, /* crtc_regs */
116 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
117 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
118 0x08, 0x00, 0x0f, 0x08, /* actl_regs */
119 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x0e, 0x00, 0xff, /* grdc_regs */
120},
121{
122 /* index=0x02 cga mode 2/3 */
123 80, 24, 8, 0x1000, /* tw, th-1, ch, slength */
124 0x01, 0x03, 0x00, 0x02, /* sequ_regs */
125 0x63, /* miscreg */
126 0x5f, 0x4f, 0x50, 0x82, 0x55, 0x81, 0xbf, 0x1f,
127 0x00, 0xc7, 0x06, 0x07, 0x00, 0x00, 0x00, 0x00,
128 0x9c, 0x8e, 0x8f, 0x28, 0x1f, 0x96, 0xb9, 0xa3,
129 0xff, /* crtc_regs */
130 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
131 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
132 0x08, 0x00, 0x0f, 0x08, /* actl_regs */
133 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x0e, 0x00, 0xff, /* grdc_regs */
134},
135{
136 /* index=0x03 cga mode 2/3 */
137 80, 24, 8, 0x1000, /* tw, th-1, ch, slength */
138 0x01, 0x03, 0x00, 0x02, /* sequ_regs */
139 0x63, /* miscreg */
140 0x5f, 0x4f, 0x50, 0x82, 0x55, 0x81, 0xbf, 0x1f,
141 0x00, 0xc7, 0x06, 0x07, 0x00, 0x00, 0x00, 0x00,
142 0x9c, 0x8e, 0x8f, 0x28, 0x1f, 0x96, 0xb9, 0xa3,
143 0xff, /* crtc_regs */
144 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
145 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
146 0x08, 0x00, 0x0f, 0x08, /* actl_regs */
147 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x0e, 0x00, 0xff, /* grdc_regs */
148},
149{
150 /* index=0x04 vga mode 0x04 */
151 40, 24, 8, 0x4000, /* tw, th-1, ch, slength */
152 0x09, 0x03, 0x00, 0x02, /* sequ_regs */
153 0x63, /* miscreg */
154 0x2d, 0x27, 0x28, 0x90, 0x2b, 0x80, 0xbf, 0x1f,
155 0x00, 0xc1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
156 0x9c, 0x8e, 0x8f, 0x14, 0x00, 0x96, 0xb9, 0xa2,
157 0xff, /* crtc_regs */
158 0x00, 0x13, 0x15, 0x17, 0x02, 0x04, 0x06, 0x07,
159 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
160 0x01, 0x00, 0x03, 0x00, /* actl_regs */
161 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x0f, 0x0f, 0xff, /* grdc_regs */
162},
163{
164 /* index=0x05 vga mode 0x05 */
165 40, 24, 8, 0x4000, /* tw, th-1, ch, slength */
166 0x09, 0x03, 0x00, 0x02, /* sequ_regs */
167 0x63, /* miscreg */
168 0x2d, 0x27, 0x28, 0x90, 0x2b, 0x80, 0xbf, 0x1f,
169 0x00, 0xc1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
170 0x9c, 0x8e, 0x8f, 0x14, 0x00, 0x96, 0xb9, 0xa2,
171 0xff, /* crtc_regs */
172 0x00, 0x13, 0x15, 0x17, 0x02, 0x04, 0x06, 0x07,
173 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
174 0x01, 0x00, 0x03, 0x00, /* actl_regs */
175 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x0f, 0x0f, 0xff, /* grdc_regs */
176},
177{
178 /* index=0x06 vga mode 0x06 */
179 80, 24, 8, 0x4000, /* tw, th-1, ch, slength */
180 0x01, 0x01, 0x00, 0x06, /* sequ_regs */
181 0x63, /* miscreg */
182 0x5f, 0x4f, 0x50, 0x82, 0x54, 0x80, 0xbf, 0x1f,
183 0x00, 0xc1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
184 0x9c, 0x8e, 0x8f, 0x28, 0x00, 0x96, 0xb9, 0xc2,
185 0xff, /* crtc_regs */
186 0x00, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17,
187 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17,
188 0x01, 0x00, 0x01, 0x00, /* actl_regs */
189 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0d, 0x0f, 0xff, /* grdc_regs */
190},
191{
192 /* index=0x07 vga mode 0x07 */
193 80, 24, 16, 0x1000, /* tw, th-1, ch, slength */
194 0x00, 0x03, 0x00, 0x02, /* sequ_regs */
195 0x66, /* miscreg */
196 0x5f, 0x4f, 0x50, 0x82, 0x55, 0x81, 0xbf, 0x1f,
197 0x00, 0x4f, 0x0d, 0x0e, 0x00, 0x00, 0x00, 0x00,
198 0x9c, 0x8e, 0x8f, 0x28, 0x0f, 0x96, 0xb9, 0xa3,
199 0xff, /* crtc_regs */
200 0x00, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08,
201 0x10, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18,
202 0x0e, 0x00, 0x0f, 0x08, /* actl_regs */
203 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x0a, 0x0f, 0xff, /* grdc_regs */
204},
205{
206 /* index=0x08 no mode defined */
207 0x00, 0x00, 0x00, 0x0000, 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 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
215},
216{
217 /* index=0x09 no mode defined */
218 0x00, 0x00, 0x00, 0x0000, 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 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
226},
227{
228 /* index=0x0a no mode defined */
229 0x00, 0x00, 0x00, 0x0000, 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 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
237},
238{
239 /* index=0x0b no mode defined */
240 0x00, 0x00, 0x00, 0x0000, 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 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
248},
249{
250 /* index=0x0c no mode defined */
251 0x00, 0x00, 0x00, 0x0000, 0x00, 0x00, 0x00,
252 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
253 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
254 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
255 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
256 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
257 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
258 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
259},
260{
261 /* index=0x0d vga mode 0x0d */
262 40, 24, 8, 0x2000, /* tw, th-1, ch, slength */
263 0x09, 0x0f, 0x00, 0x06, /* sequ_regs */
264 0x63, /* miscreg */
265 0x2d, 0x27, 0x28, 0x90, 0x2b, 0x80, 0xbf, 0x1f,
266 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
267 0x9c, 0x8e, 0x8f, 0x14, 0x00, 0x96, 0xb9, 0xe3,
268 0xff, /* crtc_regs */
269 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
270 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
271 0x01, 0x00, 0x0f, 0x00, /* actl_regs */
272 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x0f, 0xff, /* grdc_regs */
273},
274{
275 /* index=0x0e vga mode 0x0e */
276 80, 24, 8, 0x4000, /* tw, th-1, ch, slength */
277 0x01, 0x0f, 0x00, 0x06, /* sequ_regs */
278 0x63, /* miscreg */
279 0x5f, 0x4f, 0x50, 0x82, 0x54, 0x80, 0xbf, 0x1f,
280 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
281 0x9c, 0x8e, 0x8f, 0x28, 0x00, 0x96, 0xb9, 0xe3,
282 0xff, /* crtc_regs */
283 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
284 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
285 0x01, 0x00, 0x0f, 0x00, /* actl_regs */
286 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x0f, 0xff, /* grdc_regs */
287},
288{
289 /* index=0x0f no mode defined */
290 0x00, 0x00, 0x00, 0x0000, 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 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
298},
299{
300 /* index=0x10 no mode defined */
301 0x00, 0x00, 0x00, 0x0000, 0x00, 0x00, 0x00,
302 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
303 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
304 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
305 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
306 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
307 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
308 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
309},
310{
311 /* index=0x11 vga mode 0x0f */
312 80, 24, 14, 0x8000, /* tw, th-1, ch, slength */
313 0x01, 0x0f, 0x00, 0x06, /* sequ_regs */
314 0xa3, /* miscreg */
315 0x5f, 0x4f, 0x50, 0x82, 0x54, 0x80, 0xbf, 0x1f,
316 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
317 0x83, 0x85, 0x5d, 0x28, 0x0f, 0x63, 0xba, 0xe3,
318 0xff, /* crtc_regs */
319 0x00, 0x08, 0x00, 0x00, 0x18, 0x18, 0x00, 0x00,
320 0x00, 0x08, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00,
321 0x01, 0x00, 0x01, 0x00, /* actl_regs */
322 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x0f, 0xff, /* grdc_regs */
323},
324{
325 /* index=0x12 vga mode 0x10 */
326 80, 24, 14, 0x8000, /* tw, th-1, ch, slength */
327 0x01, 0x0f, 0x00, 0x06, /* sequ_regs */
328 0xa3, /* miscreg */
329 0x5f, 0x4f, 0x50, 0x82, 0x54, 0x80, 0xbf, 0x1f,
330 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
331 0x83, 0x85, 0x5d, 0x28, 0x0f, 0x63, 0xba, 0xe3,
332 0xff, /* crtc_regs */
333 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x14, 0x07,
334 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
335 0x01, 0x00, 0x0f, 0x00, /* actl_regs */
336 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x0f, 0xff, /* grdc_regs */
337},
338{
339 /* index=0x13 ega mode 0/1 */
340 40, 24, 14, 0x0800, /* tw, th-1, ch, slength */
341 0x09, 0x03, 0x00, 0x02, /* sequ_regs */
342 0xa3, /* miscreg */
343 0x2d, 0x27, 0x28, 0x90, 0x2b, 0xa0, 0xbf, 0x1f,
344 0x00, 0x4d, 0x0b, 0x0c, 0x00, 0x00, 0x00, 0x00,
345 0x83, 0x85, 0x5d, 0x14, 0x1f, 0x63, 0xba, 0xa3,
346 0xff, /* crtc_regs */
347 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x14, 0x07,
348 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
349 0x08, 0x00, 0x0f, 0x08, /* actl_regs */
350 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x0e, 0x00, 0xff, /* grdc_regs */
351},
352{
353 /* index=0x14 ega mode 0/1 */
354 40, 24, 14, 0x0800, /* tw, th-1, ch, slength */
355 0x09, 0x03, 0x00, 0x02, /* sequ_regs */
356 0xa3, /* miscreg */
357 0x2d, 0x27, 0x28, 0x90, 0x2b, 0xa0, 0xbf, 0x1f,
358 0x00, 0x4d, 0x0b, 0x0c, 0x00, 0x00, 0x00, 0x00,
359 0x83, 0x85, 0x5d, 0x14, 0x1f, 0x63, 0xba, 0xa3,
360 0xff, /* crtc_regs */
361 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x14, 0x07,
362 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
363 0x08, 0x00, 0x0f, 0x08, /* actl_regs */
364 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x0e, 0x00, 0xff, /* grdc_regs */
365},
366{
367 /* index=0x15 ega mode 2/3 */
368 80, 24, 14, 0x1000, /* tw, th-1, ch, slength */
369 0x01, 0x03, 0x00, 0x02, /* sequ_regs */
370 0xa3, /* miscreg */
371 0x5f, 0x4f, 0x50, 0x82, 0x55, 0x81, 0xbf, 0x1f,
372 0x00, 0x4d, 0x0b, 0x0c, 0x00, 0x00, 0x00, 0x00,
373 0x83, 0x85, 0x5d, 0x28, 0x1f, 0x63, 0xba, 0xa3,
374 0xff, /* crtc_regs */
375 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x14, 0x07,
376 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
377 0x08, 0x00, 0x0f, 0x00, /* actl_regs */
378 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x0e, 0x00, 0xff, /* grdc_regs */
379},
380{
381 /* index=0x16 ega mode 2/3 */
382 80, 24, 14, 0x1000, /* tw, th-1, ch, slength */
383 0x01, 0x03, 0x00, 0x02, /* sequ_regs */
384 0xa3, /* miscreg */
385 0x5f, 0x4f, 0x50, 0x82, 0x55, 0x81, 0xbf, 0x1f,
386 0x00, 0x4d, 0x0b, 0x0c, 0x00, 0x00, 0x00, 0x00,
387 0x83, 0x85, 0x5d, 0x28, 0x1f, 0x63, 0xba, 0xa3,
388 0xff, /* crtc_regs */
389 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x14, 0x07,
390 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
391 0x08, 0x00, 0x0f, 0x00, /* actl_regs */
392 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x0e, 0x00, 0xff, /* grdc_regs */
393},
394{
395 /* index=0x17 vga mode 0x01 */
396 40, 24, 16, 0x0800, /* tw, th-1, ch, slength */
397 0x08, 0x03, 0x00, 0x02, /* sequ_regs */
398 0x67, /* miscreg */
399 0x2d, 0x27, 0x28, 0x90, 0x2b, 0xa0, 0xbf, 0x1f,
400 0x00, 0x4f, 0x0d, 0x0e, 0x00, 0x00, 0x00, 0x00,
401 0x9c, 0x8e, 0x8f, 0x14, 0x1f, 0x96, 0xb9, 0xa3,
402 0xff, /* crtc_regs */
403 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x14, 0x07,
404 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
405 0x0c, 0x00, 0x0f, 0x08, /* actl_regs */
406 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x0e, 0x0f, 0xff, /* grdc_regs */
407},
408{
409 /* index=0x18 vga mode 0x03 */
410 80, 24, 16, 0x1000, /* tw, th-1, ch, slength */
411 0x00, 0x03, 0x00, 0x02, /* sequ_regs */
412 0x67, /* miscreg */
413 0x5f, 0x4f, 0x50, 0x82, 0x55, 0x81, 0xbf, 0x1f,
414 0x00, 0x4f, 0x0d, 0x0e, 0x00, 0x00, 0x00, 0x00,
415 0x9c, 0x8e, 0x8f, 0x28, 0x1f, 0x96, 0xb9, 0xa3,
416 0xff, /* crtc_regs */
417 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x14, 0x07,
418 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
419 0x0c, 0x00, 0x0f, 0x08, /* actl_regs */
420 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x0e, 0x0f, 0xff, /* grdc_regs */
421},
422{
423 /* index=0x19 vga mode 0x07 */
424 80, 24, 16, 0x1000, /* tw, th-1, ch, slength */
425 0x00, 0x03, 0x00, 0x02, /* sequ_regs */
426 0x66, /* miscreg */
427 0x5f, 0x4f, 0x50, 0x82, 0x55, 0x81, 0xbf, 0x1f,
428 0x00, 0x4f, 0x0d, 0x0e, 0x00, 0x00, 0x00, 0x00,
429 0x9c, 0x8e, 0x8f, 0x28, 0x0f, 0x96, 0xb9, 0xa3,
430 0xff, /* crtc_regs */
431 0x00, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08,
432 0x10, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18,
433 0x0e, 0x00, 0x0f, 0x08, /* actl_regs */
434 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x0a, 0x0f, 0xff, /* grdc_regs */
435},
436{
437 /* index=0x1a vga mode 0x11 */
438 80, 29, 16, 0xa000, /* tw, th-1, ch, slength */
439 0x01, 0x0f, 0x00, 0x06, /* sequ_regs */
440 0xe3, /* miscreg */
441 0x5f, 0x4f, 0x50, 0x82, 0x54, 0x80, 0x0b, 0x3e,
442 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
443 0xea, 0x8c, 0xdf, 0x28, 0x00, 0xe7, 0x04, 0xc3,
444 0xff, /* crtc_regs */
445 0x00, 0x3f, 0x00, 0x3f, 0x00, 0x3f, 0x00, 0x3f,
446 0x00, 0x3f, 0x00, 0x3f, 0x00, 0x3f, 0x00, 0x3f,
447 0x01, 0x00, 0x0f, 0x00, /* actl_regs */
448 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x0f, 0xff, /* grdc_regs */
449},
450{
451 /* index=0x1b vga mode 0x12 */
452 80, 29, 16, 0xa000, /* tw, th-1, ch, slength */
453 0x01, 0x0f, 0x00, 0x06, /* sequ_regs */
454 0xe3, /* miscreg */
455 0x5f, 0x4f, 0x50, 0x82, 0x54, 0x80, 0x0b, 0x3e,
456 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
457 0xea, 0x8c, 0xdf, 0x28, 0x00, 0xe7, 0x04, 0xe3,
458 0xff, /* crtc_regs */
459 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x14, 0x07,
460 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
461 0x01, 0x00, 0x0f, 0x00, /* actl_regs */
462 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x0f, 0xff, /* grdc_regs */
463},
464{
465 /* index=0x1c vga mode 0x13 */
466 40, 24, 8, 0x2000, /* tw, th-1, ch, slength */
467 0x01, 0x0f, 0x00, 0x0e, /* sequ_regs */
468 0x63, /* miscreg */
469 0x5f, 0x4f, 0x50, 0x82, 0x54, 0x80, 0xbf, 0x1f,
470 0x00, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
471 0x9c, 0x8e, 0x8f, 0x28, 0x40, 0x96, 0xb9, 0xa3,
472 0xff, /* crtc_regs */
473 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
474 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
475 0x41, 0x00, 0x0f, 0x00, /* actl_regs */
476 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x05, 0x0f, 0xff, /* grdc_regs */
477},
478{
479 /* index=0x1d vga mode 0x6a */
480 100, 36, 16, 0x0000, /* tw, th-1, ch, slength */
481 0x01, 0x0f, 0x00, 0x06, /* sequ_regs */
482 0xe3, /* miscreg */
483 0x7f, 0x63, 0x63, 0x83, 0x6b, 0x1b, 0x72, 0xf0,
484 0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
485 0x59, 0x8d, 0x57, 0x32, 0x00, 0x57, 0x73, 0xe3,
486 0xff, /* crtc_regs */
487 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x14, 0x07,
488 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
489 0x01, 0x00, 0x0f, 0x00, /* actl_regs */
490 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x0f, 0xff, /* grdc_regs */
491},
492};
493
494/* Mono */
495static uint8_t palette0[63+1][3]=
496{
497 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
498 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a,
499 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a,
500 0x3f,0x3f,0x3f, 0x3f,0x3f,0x3f, 0x3f,0x3f,0x3f, 0x3f,0x3f,0x3f, 0x3f,0x3f,0x3f, 0x3f,0x3f,0x3f, 0x3f,0x3f,0x3f, 0x3f,0x3f,0x3f,
501 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
502 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a,
503 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a,
504 0x3f,0x3f,0x3f, 0x3f,0x3f,0x3f, 0x3f,0x3f,0x3f, 0x3f,0x3f,0x3f, 0x3f,0x3f,0x3f, 0x3f,0x3f,0x3f, 0x3f,0x3f,0x3f, 0x3f,0x3f,0x3f
505};
506
507static uint8_t palette1[63+1][3]=
508{
509 0x00,0x00,0x00, 0x00,0x00,0x2a, 0x00,0x2a,0x00, 0x00,0x2a,0x2a, 0x2a,0x00,0x00, 0x2a,0x00,0x2a, 0x2a,0x15,0x00, 0x2a,0x2a,0x2a,
510 0x00,0x00,0x00, 0x00,0x00,0x2a, 0x00,0x2a,0x00, 0x00,0x2a,0x2a, 0x2a,0x00,0x00, 0x2a,0x00,0x2a, 0x2a,0x15,0x00, 0x2a,0x2a,0x2a,
511 0x15,0x15,0x15, 0x15,0x15,0x3f, 0x15,0x3f,0x15, 0x15,0x3f,0x3f, 0x3f,0x15,0x15, 0x3f,0x15,0x3f, 0x3f,0x3f,0x15, 0x3f,0x3f,0x3f,
512 0x15,0x15,0x15, 0x15,0x15,0x3f, 0x15,0x3f,0x15, 0x15,0x3f,0x3f, 0x3f,0x15,0x15, 0x3f,0x15,0x3f, 0x3f,0x3f,0x15, 0x3f,0x3f,0x3f,
513 0x00,0x00,0x00, 0x00,0x00,0x2a, 0x00,0x2a,0x00, 0x00,0x2a,0x2a, 0x2a,0x00,0x00, 0x2a,0x00,0x2a, 0x2a,0x15,0x00, 0x2a,0x2a,0x2a,
514 0x00,0x00,0x00, 0x00,0x00,0x2a, 0x00,0x2a,0x00, 0x00,0x2a,0x2a, 0x2a,0x00,0x00, 0x2a,0x00,0x2a, 0x2a,0x15,0x00, 0x2a,0x2a,0x2a,
515 0x15,0x15,0x15, 0x15,0x15,0x3f, 0x15,0x3f,0x15, 0x15,0x3f,0x3f, 0x3f,0x15,0x15, 0x3f,0x15,0x3f, 0x3f,0x3f,0x15, 0x3f,0x3f,0x3f,
516 0x15,0x15,0x15, 0x15,0x15,0x3f, 0x15,0x3f,0x15, 0x15,0x3f,0x3f, 0x3f,0x15,0x15, 0x3f,0x15,0x3f, 0x3f,0x3f,0x15, 0x3f,0x3f,0x3f
517};
518
519static uint8_t palette2[63+1][3]=
520{
521 0x00,0x00,0x00, 0x00,0x00,0x2a, 0x00,0x2a,0x00, 0x00,0x2a,0x2a, 0x2a,0x00,0x00, 0x2a,0x00,0x2a, 0x2a,0x2a,0x00, 0x2a,0x2a,0x2a,
522 0x00,0x00,0x15, 0x00,0x00,0x3f, 0x00,0x2a,0x15, 0x00,0x2a,0x3f, 0x2a,0x00,0x15, 0x2a,0x00,0x3f, 0x2a,0x2a,0x15, 0x2a,0x2a,0x3f,
523 0x00,0x15,0x00, 0x00,0x15,0x2a, 0x00,0x3f,0x00, 0x00,0x3f,0x2a, 0x2a,0x15,0x00, 0x2a,0x15,0x2a, 0x2a,0x3f,0x00, 0x2a,0x3f,0x2a,
524 0x00,0x15,0x15, 0x00,0x15,0x3f, 0x00,0x3f,0x15, 0x00,0x3f,0x3f, 0x2a,0x15,0x15, 0x2a,0x15,0x3f, 0x2a,0x3f,0x15, 0x2a,0x3f,0x3f,
525 0x15,0x00,0x00, 0x15,0x00,0x2a, 0x15,0x2a,0x00, 0x15,0x2a,0x2a, 0x3f,0x00,0x00, 0x3f,0x00,0x2a, 0x3f,0x2a,0x00, 0x3f,0x2a,0x2a,
526 0x15,0x00,0x15, 0x15,0x00,0x3f, 0x15,0x2a,0x15, 0x15,0x2a,0x3f, 0x3f,0x00,0x15, 0x3f,0x00,0x3f, 0x3f,0x2a,0x15, 0x3f,0x2a,0x3f,
527 0x15,0x15,0x00, 0x15,0x15,0x2a, 0x15,0x3f,0x00, 0x15,0x3f,0x2a, 0x3f,0x15,0x00, 0x3f,0x15,0x2a, 0x3f,0x3f,0x00, 0x3f,0x3f,0x2a,
528 0x15,0x15,0x15, 0x15,0x15,0x3f, 0x15,0x3f,0x15, 0x15,0x3f,0x3f, 0x3f,0x15,0x15, 0x3f,0x15,0x3f, 0x3f,0x3f,0x15, 0x3f,0x3f,0x3f
529};
530
531static uint8_t palette3[256][3]=
532{
533 0x00,0x00,0x00, 0x00,0x00,0x2a, 0x00,0x2a,0x00, 0x00,0x2a,0x2a, 0x2a,0x00,0x00, 0x2a,0x00,0x2a, 0x2a,0x15,0x00, 0x2a,0x2a,0x2a,
534 0x15,0x15,0x15, 0x15,0x15,0x3f, 0x15,0x3f,0x15, 0x15,0x3f,0x3f, 0x3f,0x15,0x15, 0x3f,0x15,0x3f, 0x3f,0x3f,0x15, 0x3f,0x3f,0x3f,
535 0x00,0x00,0x00, 0x05,0x05,0x05, 0x08,0x08,0x08, 0x0b,0x0b,0x0b, 0x0e,0x0e,0x0e, 0x11,0x11,0x11, 0x14,0x14,0x14, 0x18,0x18,0x18,
536 0x1c,0x1c,0x1c, 0x20,0x20,0x20, 0x24,0x24,0x24, 0x28,0x28,0x28, 0x2d,0x2d,0x2d, 0x32,0x32,0x32, 0x38,0x38,0x38, 0x3f,0x3f,0x3f,
537 0x00,0x00,0x3f, 0x10,0x00,0x3f, 0x1f,0x00,0x3f, 0x2f,0x00,0x3f, 0x3f,0x00,0x3f, 0x3f,0x00,0x2f, 0x3f,0x00,0x1f, 0x3f,0x00,0x10,
538 0x3f,0x00,0x00, 0x3f,0x10,0x00, 0x3f,0x1f,0x00, 0x3f,0x2f,0x00, 0x3f,0x3f,0x00, 0x2f,0x3f,0x00, 0x1f,0x3f,0x00, 0x10,0x3f,0x00,
539 0x00,0x3f,0x00, 0x00,0x3f,0x10, 0x00,0x3f,0x1f, 0x00,0x3f,0x2f, 0x00,0x3f,0x3f, 0x00,0x2f,0x3f, 0x00,0x1f,0x3f, 0x00,0x10,0x3f,
540 0x1f,0x1f,0x3f, 0x27,0x1f,0x3f, 0x2f,0x1f,0x3f, 0x37,0x1f,0x3f, 0x3f,0x1f,0x3f, 0x3f,0x1f,0x37, 0x3f,0x1f,0x2f, 0x3f,0x1f,0x27,
541
542 0x3f,0x1f,0x1f, 0x3f,0x27,0x1f, 0x3f,0x2f,0x1f, 0x3f,0x37,0x1f, 0x3f,0x3f,0x1f, 0x37,0x3f,0x1f, 0x2f,0x3f,0x1f, 0x27,0x3f,0x1f,
543 0x1f,0x3f,0x1f, 0x1f,0x3f,0x27, 0x1f,0x3f,0x2f, 0x1f,0x3f,0x37, 0x1f,0x3f,0x3f, 0x1f,0x37,0x3f, 0x1f,0x2f,0x3f, 0x1f,0x27,0x3f,
544 0x2d,0x2d,0x3f, 0x31,0x2d,0x3f, 0x36,0x2d,0x3f, 0x3a,0x2d,0x3f, 0x3f,0x2d,0x3f, 0x3f,0x2d,0x3a, 0x3f,0x2d,0x36, 0x3f,0x2d,0x31,
545 0x3f,0x2d,0x2d, 0x3f,0x31,0x2d, 0x3f,0x36,0x2d, 0x3f,0x3a,0x2d, 0x3f,0x3f,0x2d, 0x3a,0x3f,0x2d, 0x36,0x3f,0x2d, 0x31,0x3f,0x2d,
546 0x2d,0x3f,0x2d, 0x2d,0x3f,0x31, 0x2d,0x3f,0x36, 0x2d,0x3f,0x3a, 0x2d,0x3f,0x3f, 0x2d,0x3a,0x3f, 0x2d,0x36,0x3f, 0x2d,0x31,0x3f,
547 0x00,0x00,0x1c, 0x07,0x00,0x1c, 0x0e,0x00,0x1c, 0x15,0x00,0x1c, 0x1c,0x00,0x1c, 0x1c,0x00,0x15, 0x1c,0x00,0x0e, 0x1c,0x00,0x07,
548 0x1c,0x00,0x00, 0x1c,0x07,0x00, 0x1c,0x0e,0x00, 0x1c,0x15,0x00, 0x1c,0x1c,0x00, 0x15,0x1c,0x00, 0x0e,0x1c,0x00, 0x07,0x1c,0x00,
549 0x00,0x1c,0x00, 0x00,0x1c,0x07, 0x00,0x1c,0x0e, 0x00,0x1c,0x15, 0x00,0x1c,0x1c, 0x00,0x15,0x1c, 0x00,0x0e,0x1c, 0x00,0x07,0x1c,
550
551 0x0e,0x0e,0x1c, 0x11,0x0e,0x1c, 0x15,0x0e,0x1c, 0x18,0x0e,0x1c, 0x1c,0x0e,0x1c, 0x1c,0x0e,0x18, 0x1c,0x0e,0x15, 0x1c,0x0e,0x11,
552 0x1c,0x0e,0x0e, 0x1c,0x11,0x0e, 0x1c,0x15,0x0e, 0x1c,0x18,0x0e, 0x1c,0x1c,0x0e, 0x18,0x1c,0x0e, 0x15,0x1c,0x0e, 0x11,0x1c,0x0e,
553 0x0e,0x1c,0x0e, 0x0e,0x1c,0x11, 0x0e,0x1c,0x15, 0x0e,0x1c,0x18, 0x0e,0x1c,0x1c, 0x0e,0x18,0x1c, 0x0e,0x15,0x1c, 0x0e,0x11,0x1c,
554 0x14,0x14,0x1c, 0x16,0x14,0x1c, 0x18,0x14,0x1c, 0x1a,0x14,0x1c, 0x1c,0x14,0x1c, 0x1c,0x14,0x1a, 0x1c,0x14,0x18, 0x1c,0x14,0x16,
555 0x1c,0x14,0x14, 0x1c,0x16,0x14, 0x1c,0x18,0x14, 0x1c,0x1a,0x14, 0x1c,0x1c,0x14, 0x1a,0x1c,0x14, 0x18,0x1c,0x14, 0x16,0x1c,0x14,
556 0x14,0x1c,0x14, 0x14,0x1c,0x16, 0x14,0x1c,0x18, 0x14,0x1c,0x1a, 0x14,0x1c,0x1c, 0x14,0x1a,0x1c, 0x14,0x18,0x1c, 0x14,0x16,0x1c,
557 0x00,0x00,0x10, 0x04,0x00,0x10, 0x08,0x00,0x10, 0x0c,0x00,0x10, 0x10,0x00,0x10, 0x10,0x00,0x0c, 0x10,0x00,0x08, 0x10,0x00,0x04,
558 0x10,0x00,0x00, 0x10,0x04,0x00, 0x10,0x08,0x00, 0x10,0x0c,0x00, 0x10,0x10,0x00, 0x0c,0x10,0x00, 0x08,0x10,0x00, 0x04,0x10,0x00,
559
560 0x00,0x10,0x00, 0x00,0x10,0x04, 0x00,0x10,0x08, 0x00,0x10,0x0c, 0x00,0x10,0x10, 0x00,0x0c,0x10, 0x00,0x08,0x10, 0x00,0x04,0x10,
561 0x08,0x08,0x10, 0x0a,0x08,0x10, 0x0c,0x08,0x10, 0x0e,0x08,0x10, 0x10,0x08,0x10, 0x10,0x08,0x0e, 0x10,0x08,0x0c, 0x10,0x08,0x0a,
562 0x10,0x08,0x08, 0x10,0x0a,0x08, 0x10,0x0c,0x08, 0x10,0x0e,0x08, 0x10,0x10,0x08, 0x0e,0x10,0x08, 0x0c,0x10,0x08, 0x0a,0x10,0x08,
563 0x08,0x10,0x08, 0x08,0x10,0x0a, 0x08,0x10,0x0c, 0x08,0x10,0x0e, 0x08,0x10,0x10, 0x08,0x0e,0x10, 0x08,0x0c,0x10, 0x08,0x0a,0x10,
564 0x0b,0x0b,0x10, 0x0c,0x0b,0x10, 0x0d,0x0b,0x10, 0x0f,0x0b,0x10, 0x10,0x0b,0x10, 0x10,0x0b,0x0f, 0x10,0x0b,0x0d, 0x10,0x0b,0x0c,
565 0x10,0x0b,0x0b, 0x10,0x0c,0x0b, 0x10,0x0d,0x0b, 0x10,0x0f,0x0b, 0x10,0x10,0x0b, 0x0f,0x10,0x0b, 0x0d,0x10,0x0b, 0x0c,0x10,0x0b,
566 0x0b,0x10,0x0b, 0x0b,0x10,0x0c, 0x0b,0x10,0x0d, 0x0b,0x10,0x0f, 0x0b,0x10,0x10, 0x0b,0x0f,0x10, 0x0b,0x0d,0x10, 0x0b,0x0c,0x10,
567 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00
568};
569
570static uint8_t static_functionality[0x10]=
571{
572 /* 0 */ 0xff, // All modes supported #1
573 /* 1 */ 0xe0, // All modes supported #2
574 /* 2 */ 0x0f, // All modes supported #3
575 /* 3 */ 0x00, 0x00, 0x00, 0x00, // reserved
576 /* 7 */ 0x07, // 200, 350, 400 scan lines
577 /* 8 */ 0x02, // maximum number of visible charsets in text mode
578 /* 9 */ 0x08, // total number of charset blocks in text mode
579 /* a */ 0xe7, // Change to add new functions
580 /* b */ 0x0c, // Change to add new functions
581 /* c */ 0x00, // reserved
582 /* d */ 0x00, // reserved
583 /* e */ 0x00, // Change to add new functions
584 /* f */ 0x00 // reserved
585};
586
587#endif /* !VBOX_INCLUDED_SRC_Graphics_BIOS_vgatables_h */
588
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