VirtualBox

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

Last change on this file since 100710 was 97653, checked in by vboxsync, 2 years ago

VGABIOS: Corrected mode table for 350-line mono mode 7.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 26.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 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, 0x00, /* 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, 0x00, /* 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, 0x00, /* 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, 0x00, /* 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 ega mode 0x07 */
193 80, 24, 14, 0x1000, /* tw, th-1, ch, slength */
194 0x00, 0x03, 0x00, 0x03, /* sequ_regs */
195 0xA6, /* miscreg */
196 0x5f, 0x4f, 0x50, 0x82, 0x55, 0x81, 0xbf, 0x1f,
197 0x00, 0x4d, 0x0b, 0x0c, 0x00, 0x00, 0x00, 0x00,
198 0x83, 0x85, 0x5d, 0x28, 0x0d, 0x63, 0xba, 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, 0x00, 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#if 0
239/* XENIX 2.2 uses mode entries Bh/Ch when loading EGA fonts. If they are
240 * all zeros, fonts can't be set. However, some versions (XENIX 2.2.3b)
241 * end up programming garbage into the fonts. We're better off with
242 * cut off VGA fonts than with complete garbage, so we leave these
243 * mode table entries zeroed.
244 */
245{
246 /* index=0x0b EGA font load fake mode (color) */
247 80, 24, 8, 0x1000, /* tw, th-1, ch, slength */
248 0x01, 0x04, 0x00, 0x07, /* sequ_regs */
249 0x23, /* miscreg */
250 0x70, 0x4f, 0x5c, 0x2f, 0x5f, 0x07, 0x04, 0x11,
251 0x00, 0x07, 0x06, 0x07, 0x00, 0x00, 0x00, 0x00,
252 0xe1, 0x24, 0xc7, 0x28, 0x08, 0xe0, 0xf0, 0xa3,
253 0xff, /* crtc_regs */
254 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
255 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
256 0x00, 0x00, 0x0f, 0x00, /* actl_regs */
257 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0xff, /* grdc_regs */
258},
259{
260 /* index=0x0c EGA font load fake mode (mono) */
261 80, 24, 14, 0x1000, /* tw, th-1, ch, slength */
262 0x01, 0x04, 0x00, 0x07, /* sequ_regs */
263 0xa6, /* miscreg */
264 0x60, 0x4f, 0x56, 0x3a, 0x51, 0x60, 0x70, 0x1f,
265 0x00, 0x0d, 0x0b, 0x0c, 0x00, 0x00, 0x00, 0x00,
266 0x5e, 0x2e, 0x5d, 0x28, 0x0d, 0x5e, 0x6e, 0xa3,
267 0xff, /* crtc_regs */
268 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
269 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
270 0x00, 0x00, 0x0f, 0x08, /* actl_regs */
271 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0xff, /* grdc_regs */
272},
273#else
274{
275 /* index=0x0b no mode defined */
276 0x00, 0x00, 0x00, 0x0000, 0x00, 0x00, 0x00,
277 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
278 0x00, 0x00, 0x00, 0x00, 0x00, 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},
285{
286 /* index=0x0c no mode defined */
287 0x00, 0x00, 0x00, 0x0000, 0x00, 0x00, 0x00,
288 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
289 0x00, 0x00, 0x00, 0x00, 0x00, 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},
296#endif
297{
298 /* index=0x0d vga mode 0x0d */
299 40, 24, 8, 0x2000, /* tw, th-1, ch, slength */
300 0x09, 0x0f, 0x00, 0x06, /* sequ_regs */
301 0x63, /* miscreg */
302 0x2d, 0x27, 0x28, 0x90, 0x2b, 0x80, 0xbf, 0x1f,
303 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
304 0x9c, 0x8e, 0x8f, 0x14, 0x00, 0x96, 0xb9, 0xe3,
305 0xff, /* crtc_regs */
306 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
307 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
308 0x01, 0x00, 0x0f, 0x00, /* actl_regs */
309 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x0f, 0xff, /* grdc_regs */
310},
311{
312 /* index=0x0e vga mode 0x0e */
313 80, 24, 8, 0x4000, /* tw, th-1, ch, slength */
314 0x01, 0x0f, 0x00, 0x06, /* sequ_regs */
315 0x63, /* miscreg */
316 0x5f, 0x4f, 0x50, 0x82, 0x54, 0x80, 0xbf, 0x1f,
317 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
318 0x9c, 0x8e, 0x8f, 0x28, 0x00, 0x96, 0xb9, 0xe3,
319 0xff, /* crtc_regs */
320 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
321 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
322 0x01, 0x00, 0x0f, 0x00, /* actl_regs */
323 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x0f, 0xff, /* grdc_regs */
324},
325{
326 /* index=0x0f no mode defined */
327 0x00, 0x00, 0x00, 0x0000, 0x00, 0x00, 0x00,
328 0x00, 0x00, 0x00, 0x00, 0x00, 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},
336{
337 /* index=0x10 no mode defined */
338 0x00, 0x00, 0x00, 0x0000, 0x00, 0x00, 0x00,
339 0x00, 0x00, 0x00, 0x00, 0x00, 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},
347{
348 /* index=0x11 vga mode 0x0f */
349 80, 24, 14, 0x8000, /* tw, th-1, ch, slength */
350 0x01, 0x0f, 0x00, 0x06, /* sequ_regs */
351 0xa3, /* miscreg */
352 0x5f, 0x4f, 0x50, 0x82, 0x54, 0x80, 0xbf, 0x1f,
353 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
354 0x83, 0x85, 0x5d, 0x28, 0x0f, 0x63, 0xba, 0xe3,
355 0xff, /* crtc_regs */
356 0x00, 0x08, 0x00, 0x00, 0x18, 0x18, 0x00, 0x00,
357 0x00, 0x08, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00,
358 0x01, 0x00, 0x01, 0x00, /* actl_regs */
359 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x0f, 0xff, /* grdc_regs */
360},
361{
362 /* index=0x12 vga mode 0x10 */
363 80, 24, 14, 0x8000, /* tw, th-1, ch, slength */
364 0x01, 0x0f, 0x00, 0x06, /* sequ_regs */
365 0xa3, /* miscreg */
366 0x5f, 0x4f, 0x50, 0x82, 0x54, 0x80, 0xbf, 0x1f,
367 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
368 0x83, 0x85, 0x5d, 0x28, 0x0f, 0x63, 0xba, 0xe3,
369 0xff, /* crtc_regs */
370 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x14, 0x07,
371 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
372 0x01, 0x00, 0x0f, 0x00, /* actl_regs */
373 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x0f, 0xff, /* grdc_regs */
374},
375{
376 /* index=0x13 ega mode 0/1 */
377 40, 24, 14, 0x0800, /* tw, th-1, ch, slength */
378 0x09, 0x03, 0x00, 0x02, /* sequ_regs */
379 0xa3, /* miscreg */
380 0x2d, 0x27, 0x28, 0x90, 0x2b, 0xa0, 0xbf, 0x1f,
381 0x00, 0x4d, 0x0b, 0x0c, 0x00, 0x00, 0x00, 0x00,
382 0x83, 0x85, 0x5d, 0x14, 0x1f, 0x63, 0xba, 0xa3,
383 0xff, /* crtc_regs */
384 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x14, 0x07,
385 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
386 0x08, 0x00, 0x0f, 0x08, /* actl_regs */
387 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x0e, 0x00, 0xff, /* grdc_regs */
388},
389{
390 /* index=0x14 ega mode 0/1 */
391 40, 24, 14, 0x0800, /* tw, th-1, ch, slength */
392 0x09, 0x03, 0x00, 0x02, /* sequ_regs */
393 0xa3, /* miscreg */
394 0x2d, 0x27, 0x28, 0x90, 0x2b, 0xa0, 0xbf, 0x1f,
395 0x00, 0x4d, 0x0b, 0x0c, 0x00, 0x00, 0x00, 0x00,
396 0x83, 0x85, 0x5d, 0x14, 0x1f, 0x63, 0xba, 0xa3,
397 0xff, /* crtc_regs */
398 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x14, 0x07,
399 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
400 0x08, 0x00, 0x0f, 0x08, /* actl_regs */
401 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x0e, 0x00, 0xff, /* grdc_regs */
402},
403{
404 /* index=0x15 ega mode 2/3 */
405 80, 24, 14, 0x1000, /* tw, th-1, ch, slength */
406 0x01, 0x03, 0x00, 0x02, /* sequ_regs */
407 0xa3, /* miscreg */
408 0x5f, 0x4f, 0x50, 0x82, 0x55, 0x81, 0xbf, 0x1f,
409 0x00, 0x4d, 0x0b, 0x0c, 0x00, 0x00, 0x00, 0x00,
410 0x83, 0x85, 0x5d, 0x28, 0x1f, 0x63, 0xba, 0xa3,
411 0xff, /* crtc_regs */
412 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x14, 0x07,
413 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
414 0x08, 0x00, 0x0f, 0x00, /* actl_regs */
415 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x0e, 0x00, 0xff, /* grdc_regs */
416},
417{
418 /* index=0x16 ega mode 2/3 */
419 80, 24, 14, 0x1000, /* tw, th-1, ch, slength */
420 0x01, 0x03, 0x00, 0x02, /* sequ_regs */
421 0xa3, /* miscreg */
422 0x5f, 0x4f, 0x50, 0x82, 0x55, 0x81, 0xbf, 0x1f,
423 0x00, 0x4d, 0x0b, 0x0c, 0x00, 0x00, 0x00, 0x00,
424 0x83, 0x85, 0x5d, 0x28, 0x1f, 0x63, 0xba, 0xa3,
425 0xff, /* crtc_regs */
426 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x14, 0x07,
427 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
428 0x08, 0x00, 0x0f, 0x00, /* actl_regs */
429 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x0e, 0x00, 0xff, /* grdc_regs */
430},
431{
432 /* index=0x17 vga mode 0x01 */
433 40, 24, 16, 0x0800, /* tw, th-1, ch, slength */
434 0x08, 0x03, 0x00, 0x02, /* sequ_regs */
435 0x67, /* miscreg */
436 0x2d, 0x27, 0x28, 0x90, 0x2b, 0xa0, 0xbf, 0x1f,
437 0x00, 0x4f, 0x0d, 0x0e, 0x00, 0x00, 0x00, 0x00,
438 0x9c, 0x8e, 0x8f, 0x14, 0x1f, 0x96, 0xb9, 0xa3,
439 0xff, /* crtc_regs */
440 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x14, 0x07,
441 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
442 0x0c, 0x00, 0x0f, 0x08, /* actl_regs */
443 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x0e, 0x0f, 0xff, /* grdc_regs */
444},
445{
446 /* index=0x18 vga mode 0x03 */
447 80, 24, 16, 0x1000, /* tw, th-1, ch, slength */
448 0x00, 0x03, 0x00, 0x02, /* sequ_regs */
449 0x67, /* miscreg */
450 0x5f, 0x4f, 0x50, 0x82, 0x55, 0x81, 0xbf, 0x1f,
451 0x00, 0x4f, 0x0d, 0x0e, 0x00, 0x00, 0x00, 0x00,
452 0x9c, 0x8e, 0x8f, 0x28, 0x1f, 0x96, 0xb9, 0xa3,
453 0xff, /* crtc_regs */
454 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x14, 0x07,
455 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
456 0x0c, 0x00, 0x0f, 0x08, /* actl_regs */
457 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x0e, 0x0f, 0xff, /* grdc_regs */
458},
459{
460 /* index=0x19 vga mode 0x07 */
461 80, 24, 16, 0x1000, /* tw, th-1, ch, slength */
462 0x00, 0x03, 0x00, 0x02, /* sequ_regs */
463 0x66, /* miscreg */
464 0x5f, 0x4f, 0x50, 0x82, 0x55, 0x81, 0xbf, 0x1f,
465 0x00, 0x4f, 0x0d, 0x0e, 0x00, 0x00, 0x00, 0x00,
466 0x9c, 0x8e, 0x8f, 0x28, 0x0f, 0x96, 0xb9, 0xa3,
467 0xff, /* crtc_regs */
468 0x00, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08,
469 0x10, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18,
470 0x0e, 0x00, 0x0f, 0x08, /* actl_regs */
471 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x0a, 0x0f, 0xff, /* grdc_regs */
472},
473{
474 /* index=0x1a vga mode 0x11 */
475 80, 29, 16, 0xa000, /* tw, th-1, ch, slength */
476 0x01, 0x0f, 0x00, 0x06, /* sequ_regs */
477 0xe3, /* miscreg */
478 0x5f, 0x4f, 0x50, 0x82, 0x54, 0x80, 0x0b, 0x3e,
479 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
480 0xea, 0x8c, 0xdf, 0x28, 0x00, 0xe7, 0x04, 0xc3,
481 0xff, /* crtc_regs */
482 0x00, 0x3f, 0x00, 0x3f, 0x00, 0x3f, 0x00, 0x3f,
483 0x00, 0x3f, 0x00, 0x3f, 0x00, 0x3f, 0x00, 0x3f,
484 0x01, 0x00, 0x0f, 0x00, /* actl_regs */
485 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x0f, 0xff, /* grdc_regs */
486},
487{
488 /* index=0x1b vga mode 0x12 */
489 80, 29, 16, 0xa000, /* tw, th-1, ch, slength */
490 0x01, 0x0f, 0x00, 0x06, /* sequ_regs */
491 0xe3, /* miscreg */
492 0x5f, 0x4f, 0x50, 0x82, 0x54, 0x80, 0x0b, 0x3e,
493 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
494 0xea, 0x8c, 0xdf, 0x28, 0x00, 0xe7, 0x04, 0xe3,
495 0xff, /* crtc_regs */
496 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x14, 0x07,
497 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
498 0x01, 0x00, 0x0f, 0x00, /* actl_regs */
499 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x0f, 0xff, /* grdc_regs */
500},
501{
502 /* index=0x1c vga mode 0x13 */
503 40, 24, 8, 0x2000, /* tw, th-1, ch, slength */
504 0x01, 0x0f, 0x00, 0x0e, /* sequ_regs */
505 0x63, /* miscreg */
506 0x5f, 0x4f, 0x50, 0x82, 0x54, 0x80, 0xbf, 0x1f,
507 0x00, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
508 0x9c, 0x8e, 0x8f, 0x28, 0x40, 0x96, 0xb9, 0xa3,
509 0xff, /* crtc_regs */
510 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
511 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
512 0x41, 0x00, 0x0f, 0x00, /* actl_regs */
513 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x05, 0x0f, 0xff, /* grdc_regs */
514},
515{
516 /* index=0x1d vga mode 0x6a */
517 100, 36, 16, 0x0000, /* tw, th-1, ch, slength */
518 0x01, 0x0f, 0x00, 0x06, /* sequ_regs */
519 0xe3, /* miscreg */
520 0x7f, 0x63, 0x63, 0x83, 0x6b, 0x1b, 0x72, 0xf0,
521 0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
522 0x59, 0x8d, 0x57, 0x32, 0x00, 0x57, 0x73, 0xe3,
523 0xff, /* crtc_regs */
524 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x14, 0x07,
525 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
526 0x01, 0x00, 0x0f, 0x00, /* actl_regs */
527 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x0f, 0xff, /* grdc_regs */
528},
529};
530
531/* Mono */
532static uint8_t palette0[63+1][3]=
533{
534 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
535 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a,
536 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a,
537 0x3f,0x3f,0x3f, 0x3f,0x3f,0x3f, 0x3f,0x3f,0x3f, 0x3f,0x3f,0x3f, 0x3f,0x3f,0x3f, 0x3f,0x3f,0x3f, 0x3f,0x3f,0x3f, 0x3f,0x3f,0x3f,
538 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
539 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a,
540 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a,
541 0x3f,0x3f,0x3f, 0x3f,0x3f,0x3f, 0x3f,0x3f,0x3f, 0x3f,0x3f,0x3f, 0x3f,0x3f,0x3f, 0x3f,0x3f,0x3f, 0x3f,0x3f,0x3f, 0x3f,0x3f,0x3f
542};
543
544static uint8_t palette1[63+1][3]=
545{
546 0x00,0x00,0x00, 0x00,0x00,0x2a, 0x00,0x2a,0x00, 0x00,0x2a,0x2a, 0x2a,0x00,0x00, 0x2a,0x00,0x2a, 0x2a,0x15,0x00, 0x2a,0x2a,0x2a,
547 0x00,0x00,0x00, 0x00,0x00,0x2a, 0x00,0x2a,0x00, 0x00,0x2a,0x2a, 0x2a,0x00,0x00, 0x2a,0x00,0x2a, 0x2a,0x15,0x00, 0x2a,0x2a,0x2a,
548 0x15,0x15,0x15, 0x15,0x15,0x3f, 0x15,0x3f,0x15, 0x15,0x3f,0x3f, 0x3f,0x15,0x15, 0x3f,0x15,0x3f, 0x3f,0x3f,0x15, 0x3f,0x3f,0x3f,
549 0x15,0x15,0x15, 0x15,0x15,0x3f, 0x15,0x3f,0x15, 0x15,0x3f,0x3f, 0x3f,0x15,0x15, 0x3f,0x15,0x3f, 0x3f,0x3f,0x15, 0x3f,0x3f,0x3f,
550 0x00,0x00,0x00, 0x00,0x00,0x2a, 0x00,0x2a,0x00, 0x00,0x2a,0x2a, 0x2a,0x00,0x00, 0x2a,0x00,0x2a, 0x2a,0x15,0x00, 0x2a,0x2a,0x2a,
551 0x00,0x00,0x00, 0x00,0x00,0x2a, 0x00,0x2a,0x00, 0x00,0x2a,0x2a, 0x2a,0x00,0x00, 0x2a,0x00,0x2a, 0x2a,0x15,0x00, 0x2a,0x2a,0x2a,
552 0x15,0x15,0x15, 0x15,0x15,0x3f, 0x15,0x3f,0x15, 0x15,0x3f,0x3f, 0x3f,0x15,0x15, 0x3f,0x15,0x3f, 0x3f,0x3f,0x15, 0x3f,0x3f,0x3f,
553 0x15,0x15,0x15, 0x15,0x15,0x3f, 0x15,0x3f,0x15, 0x15,0x3f,0x3f, 0x3f,0x15,0x15, 0x3f,0x15,0x3f, 0x3f,0x3f,0x15, 0x3f,0x3f,0x3f
554};
555
556static uint8_t palette2[63+1][3]=
557{
558 0x00,0x00,0x00, 0x00,0x00,0x2a, 0x00,0x2a,0x00, 0x00,0x2a,0x2a, 0x2a,0x00,0x00, 0x2a,0x00,0x2a, 0x2a,0x2a,0x00, 0x2a,0x2a,0x2a,
559 0x00,0x00,0x15, 0x00,0x00,0x3f, 0x00,0x2a,0x15, 0x00,0x2a,0x3f, 0x2a,0x00,0x15, 0x2a,0x00,0x3f, 0x2a,0x2a,0x15, 0x2a,0x2a,0x3f,
560 0x00,0x15,0x00, 0x00,0x15,0x2a, 0x00,0x3f,0x00, 0x00,0x3f,0x2a, 0x2a,0x15,0x00, 0x2a,0x15,0x2a, 0x2a,0x3f,0x00, 0x2a,0x3f,0x2a,
561 0x00,0x15,0x15, 0x00,0x15,0x3f, 0x00,0x3f,0x15, 0x00,0x3f,0x3f, 0x2a,0x15,0x15, 0x2a,0x15,0x3f, 0x2a,0x3f,0x15, 0x2a,0x3f,0x3f,
562 0x15,0x00,0x00, 0x15,0x00,0x2a, 0x15,0x2a,0x00, 0x15,0x2a,0x2a, 0x3f,0x00,0x00, 0x3f,0x00,0x2a, 0x3f,0x2a,0x00, 0x3f,0x2a,0x2a,
563 0x15,0x00,0x15, 0x15,0x00,0x3f, 0x15,0x2a,0x15, 0x15,0x2a,0x3f, 0x3f,0x00,0x15, 0x3f,0x00,0x3f, 0x3f,0x2a,0x15, 0x3f,0x2a,0x3f,
564 0x15,0x15,0x00, 0x15,0x15,0x2a, 0x15,0x3f,0x00, 0x15,0x3f,0x2a, 0x3f,0x15,0x00, 0x3f,0x15,0x2a, 0x3f,0x3f,0x00, 0x3f,0x3f,0x2a,
565 0x15,0x15,0x15, 0x15,0x15,0x3f, 0x15,0x3f,0x15, 0x15,0x3f,0x3f, 0x3f,0x15,0x15, 0x3f,0x15,0x3f, 0x3f,0x3f,0x15, 0x3f,0x3f,0x3f
566};
567
568static uint8_t palette3[256][3]=
569{
570 0x00,0x00,0x00, 0x00,0x00,0x2a, 0x00,0x2a,0x00, 0x00,0x2a,0x2a, 0x2a,0x00,0x00, 0x2a,0x00,0x2a, 0x2a,0x15,0x00, 0x2a,0x2a,0x2a,
571 0x15,0x15,0x15, 0x15,0x15,0x3f, 0x15,0x3f,0x15, 0x15,0x3f,0x3f, 0x3f,0x15,0x15, 0x3f,0x15,0x3f, 0x3f,0x3f,0x15, 0x3f,0x3f,0x3f,
572 0x00,0x00,0x00, 0x05,0x05,0x05, 0x08,0x08,0x08, 0x0b,0x0b,0x0b, 0x0e,0x0e,0x0e, 0x11,0x11,0x11, 0x14,0x14,0x14, 0x18,0x18,0x18,
573 0x1c,0x1c,0x1c, 0x20,0x20,0x20, 0x24,0x24,0x24, 0x28,0x28,0x28, 0x2d,0x2d,0x2d, 0x32,0x32,0x32, 0x38,0x38,0x38, 0x3f,0x3f,0x3f,
574 0x00,0x00,0x3f, 0x10,0x00,0x3f, 0x1f,0x00,0x3f, 0x2f,0x00,0x3f, 0x3f,0x00,0x3f, 0x3f,0x00,0x2f, 0x3f,0x00,0x1f, 0x3f,0x00,0x10,
575 0x3f,0x00,0x00, 0x3f,0x10,0x00, 0x3f,0x1f,0x00, 0x3f,0x2f,0x00, 0x3f,0x3f,0x00, 0x2f,0x3f,0x00, 0x1f,0x3f,0x00, 0x10,0x3f,0x00,
576 0x00,0x3f,0x00, 0x00,0x3f,0x10, 0x00,0x3f,0x1f, 0x00,0x3f,0x2f, 0x00,0x3f,0x3f, 0x00,0x2f,0x3f, 0x00,0x1f,0x3f, 0x00,0x10,0x3f,
577 0x1f,0x1f,0x3f, 0x27,0x1f,0x3f, 0x2f,0x1f,0x3f, 0x37,0x1f,0x3f, 0x3f,0x1f,0x3f, 0x3f,0x1f,0x37, 0x3f,0x1f,0x2f, 0x3f,0x1f,0x27,
578
579 0x3f,0x1f,0x1f, 0x3f,0x27,0x1f, 0x3f,0x2f,0x1f, 0x3f,0x37,0x1f, 0x3f,0x3f,0x1f, 0x37,0x3f,0x1f, 0x2f,0x3f,0x1f, 0x27,0x3f,0x1f,
580 0x1f,0x3f,0x1f, 0x1f,0x3f,0x27, 0x1f,0x3f,0x2f, 0x1f,0x3f,0x37, 0x1f,0x3f,0x3f, 0x1f,0x37,0x3f, 0x1f,0x2f,0x3f, 0x1f,0x27,0x3f,
581 0x2d,0x2d,0x3f, 0x31,0x2d,0x3f, 0x36,0x2d,0x3f, 0x3a,0x2d,0x3f, 0x3f,0x2d,0x3f, 0x3f,0x2d,0x3a, 0x3f,0x2d,0x36, 0x3f,0x2d,0x31,
582 0x3f,0x2d,0x2d, 0x3f,0x31,0x2d, 0x3f,0x36,0x2d, 0x3f,0x3a,0x2d, 0x3f,0x3f,0x2d, 0x3a,0x3f,0x2d, 0x36,0x3f,0x2d, 0x31,0x3f,0x2d,
583 0x2d,0x3f,0x2d, 0x2d,0x3f,0x31, 0x2d,0x3f,0x36, 0x2d,0x3f,0x3a, 0x2d,0x3f,0x3f, 0x2d,0x3a,0x3f, 0x2d,0x36,0x3f, 0x2d,0x31,0x3f,
584 0x00,0x00,0x1c, 0x07,0x00,0x1c, 0x0e,0x00,0x1c, 0x15,0x00,0x1c, 0x1c,0x00,0x1c, 0x1c,0x00,0x15, 0x1c,0x00,0x0e, 0x1c,0x00,0x07,
585 0x1c,0x00,0x00, 0x1c,0x07,0x00, 0x1c,0x0e,0x00, 0x1c,0x15,0x00, 0x1c,0x1c,0x00, 0x15,0x1c,0x00, 0x0e,0x1c,0x00, 0x07,0x1c,0x00,
586 0x00,0x1c,0x00, 0x00,0x1c,0x07, 0x00,0x1c,0x0e, 0x00,0x1c,0x15, 0x00,0x1c,0x1c, 0x00,0x15,0x1c, 0x00,0x0e,0x1c, 0x00,0x07,0x1c,
587
588 0x0e,0x0e,0x1c, 0x11,0x0e,0x1c, 0x15,0x0e,0x1c, 0x18,0x0e,0x1c, 0x1c,0x0e,0x1c, 0x1c,0x0e,0x18, 0x1c,0x0e,0x15, 0x1c,0x0e,0x11,
589 0x1c,0x0e,0x0e, 0x1c,0x11,0x0e, 0x1c,0x15,0x0e, 0x1c,0x18,0x0e, 0x1c,0x1c,0x0e, 0x18,0x1c,0x0e, 0x15,0x1c,0x0e, 0x11,0x1c,0x0e,
590 0x0e,0x1c,0x0e, 0x0e,0x1c,0x11, 0x0e,0x1c,0x15, 0x0e,0x1c,0x18, 0x0e,0x1c,0x1c, 0x0e,0x18,0x1c, 0x0e,0x15,0x1c, 0x0e,0x11,0x1c,
591 0x14,0x14,0x1c, 0x16,0x14,0x1c, 0x18,0x14,0x1c, 0x1a,0x14,0x1c, 0x1c,0x14,0x1c, 0x1c,0x14,0x1a, 0x1c,0x14,0x18, 0x1c,0x14,0x16,
592 0x1c,0x14,0x14, 0x1c,0x16,0x14, 0x1c,0x18,0x14, 0x1c,0x1a,0x14, 0x1c,0x1c,0x14, 0x1a,0x1c,0x14, 0x18,0x1c,0x14, 0x16,0x1c,0x14,
593 0x14,0x1c,0x14, 0x14,0x1c,0x16, 0x14,0x1c,0x18, 0x14,0x1c,0x1a, 0x14,0x1c,0x1c, 0x14,0x1a,0x1c, 0x14,0x18,0x1c, 0x14,0x16,0x1c,
594 0x00,0x00,0x10, 0x04,0x00,0x10, 0x08,0x00,0x10, 0x0c,0x00,0x10, 0x10,0x00,0x10, 0x10,0x00,0x0c, 0x10,0x00,0x08, 0x10,0x00,0x04,
595 0x10,0x00,0x00, 0x10,0x04,0x00, 0x10,0x08,0x00, 0x10,0x0c,0x00, 0x10,0x10,0x00, 0x0c,0x10,0x00, 0x08,0x10,0x00, 0x04,0x10,0x00,
596
597 0x00,0x10,0x00, 0x00,0x10,0x04, 0x00,0x10,0x08, 0x00,0x10,0x0c, 0x00,0x10,0x10, 0x00,0x0c,0x10, 0x00,0x08,0x10, 0x00,0x04,0x10,
598 0x08,0x08,0x10, 0x0a,0x08,0x10, 0x0c,0x08,0x10, 0x0e,0x08,0x10, 0x10,0x08,0x10, 0x10,0x08,0x0e, 0x10,0x08,0x0c, 0x10,0x08,0x0a,
599 0x10,0x08,0x08, 0x10,0x0a,0x08, 0x10,0x0c,0x08, 0x10,0x0e,0x08, 0x10,0x10,0x08, 0x0e,0x10,0x08, 0x0c,0x10,0x08, 0x0a,0x10,0x08,
600 0x08,0x10,0x08, 0x08,0x10,0x0a, 0x08,0x10,0x0c, 0x08,0x10,0x0e, 0x08,0x10,0x10, 0x08,0x0e,0x10, 0x08,0x0c,0x10, 0x08,0x0a,0x10,
601 0x0b,0x0b,0x10, 0x0c,0x0b,0x10, 0x0d,0x0b,0x10, 0x0f,0x0b,0x10, 0x10,0x0b,0x10, 0x10,0x0b,0x0f, 0x10,0x0b,0x0d, 0x10,0x0b,0x0c,
602 0x10,0x0b,0x0b, 0x10,0x0c,0x0b, 0x10,0x0d,0x0b, 0x10,0x0f,0x0b, 0x10,0x10,0x0b, 0x0f,0x10,0x0b, 0x0d,0x10,0x0b, 0x0c,0x10,0x0b,
603 0x0b,0x10,0x0b, 0x0b,0x10,0x0c, 0x0b,0x10,0x0d, 0x0b,0x10,0x0f, 0x0b,0x10,0x10, 0x0b,0x0f,0x10, 0x0b,0x0d,0x10, 0x0b,0x0c,0x10,
604 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00
605};
606
607static uint8_t static_functionality[0x10]=
608{
609 /* 0 */ 0xff, // All modes supported #1
610 /* 1 */ 0xe0, // All modes supported #2
611 /* 2 */ 0x0f, // All modes supported #3
612 /* 3 */ 0x00, 0x00, 0x00, 0x00, // reserved
613 /* 7 */ 0x07, // 200, 350, 400 scan lines
614 /* 8 */ 0x02, // maximum number of visible charsets in text mode
615 /* 9 */ 0x08, // total number of charset blocks in text mode
616 /* a */ 0xe7, // Change to add new functions
617 /* b */ 0x0c, // Change to add new functions
618 /* c */ 0x00, // reserved
619 /* d */ 0x00, // reserved
620 /* e */ 0x00, // Change to add new functions
621 /* f */ 0x00 // reserved
622};
623
624#endif /* !VBOX_INCLUDED_SRC_Graphics_BIOS_vgatables_h */
625
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