VirtualBox

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

Last change on this file since 37636 was 37576, checked in by vboxsync, 13 years ago

Added another mode table, normally unused.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 26.3 KB
Line 
1/*
2 *
3 * BIOS Memory
4 *
5 */
6#define BIOSMEM_SEG 0x40
7
8#define BIOSMEM_INITIAL_MODE 0x10
9#define BIOSMEM_CURRENT_MODE 0x49
10#define BIOSMEM_NB_COLS 0x4A
11#define BIOSMEM_PAGE_SIZE 0x4C
12#define BIOSMEM_CURRENT_START 0x4E
13#define BIOSMEM_CURSOR_POS 0x50
14#define BIOSMEM_CURSOR_TYPE 0x60
15#define BIOSMEM_CURRENT_PAGE 0x62
16#define BIOSMEM_CRTC_ADDRESS 0x63
17#define BIOSMEM_CURRENT_MSR 0x65
18#define BIOSMEM_CURRENT_PAL 0x66
19#define BIOSMEM_NB_ROWS 0x84
20#define BIOSMEM_CHAR_HEIGHT 0x85
21#define BIOSMEM_VIDEO_CTL 0x87
22#define BIOSMEM_SWITCHES 0x88
23#define BIOSMEM_MODESET_CTL 0x89
24#define BIOSMEM_DCC_INDEX 0x8A
25#define BIOSMEM_VS_POINTER 0xA8
26#define BIOSMEM_VBE_FLAG 0xB9
27#define BIOSMEM_VBE_MODE 0xBA
28
29
30/*
31 *
32 * VGA registers
33 *
34 */
35#define VGAREG_ACTL_ADDRESS 0x3c0
36#define VGAREG_ACTL_WRITE_DATA 0x3c0
37#define VGAREG_ACTL_READ_DATA 0x3c1
38
39#define VGAREG_INPUT_STATUS 0x3c2
40#define VGAREG_WRITE_MISC_OUTPUT 0x3c2
41#define VGAREG_VIDEO_ENABLE 0x3c3
42#define VGAREG_SEQU_ADDRESS 0x3c4
43#define VGAREG_SEQU_DATA 0x3c5
44
45#define VGAREG_PEL_MASK 0x3c6
46#define VGAREG_DAC_STATE 0x3c7
47#define VGAREG_DAC_READ_ADDRESS 0x3c7
48#define VGAREG_DAC_WRITE_ADDRESS 0x3c8
49#define VGAREG_DAC_DATA 0x3c9
50
51#define VGAREG_READ_FEATURE_CTL 0x3ca
52#define VGAREG_READ_MISC_OUTPUT 0x3cc
53
54#define VGAREG_GRDC_ADDRESS 0x3ce
55#define VGAREG_GRDC_DATA 0x3cf
56
57#define VGAREG_MDA_CRTC_ADDRESS 0x3b4
58#define VGAREG_MDA_CRTC_DATA 0x3b5
59#define VGAREG_VGA_CRTC_ADDRESS 0x3d4
60#define VGAREG_VGA_CRTC_DATA 0x3d5
61
62#define VGAREG_MDA_WRITE_FEATURE_CTL 0x3ba
63#define VGAREG_VGA_WRITE_FEATURE_CTL 0x3da
64#define VGAREG_ACTL_RESET 0x3da
65
66#define VGAREG_MDA_MODECTL 0x3b8
67#define VGAREG_CGA_MODECTL 0x3d8
68#define VGAREG_CGA_PALETTE 0x3d9
69
70/* Video memory */
71#define VGAMEM_GRAPH 0xA000
72#define VGAMEM_CTEXT 0xB800
73#define VGAMEM_MTEXT 0xB000
74
75/*
76 *
77 * Tables of default values for each mode
78 *
79 */
80#define MODE_MAX 15
81#define TEXT 0x00
82#define GRAPH 0x01
83
84#define CTEXT 0x00
85#define MTEXT 0x01
86#define CGA 0x02
87#define PLANAR1 0x03
88#define PLANAR4 0x04
89#define LINEAR8 0x05
90
91// for SVGA
92#define LINEAR15 0x10
93#define LINEAR16 0x11
94#define LINEAR24 0x12
95#define LINEAR32 0x13
96
97typedef struct
98{Bit8u svgamode;
99 Bit8u class; /* TEXT, GRAPH */
100 Bit8u memmodel; /* CTEXT,MTEXT,CGA,PL1,PL2,PL4,P8,P15,P16,P24,P32 */
101 Bit8u pixbits;
102 Bit16u sstart;
103 Bit8u pelmask;
104 Bit8u dacmodel; /* 0 1 2 3 */
105} VGAMODES;
106
107static VGAMODES vga_modes[MODE_MAX+1]=
108{//mode class model bits sstart pelm dac
109 {0x00, TEXT, CTEXT, 4, 0xB800, 0xFF, 0x02},
110 {0x01, TEXT, CTEXT, 4, 0xB800, 0xFF, 0x02},
111 {0x02, TEXT, CTEXT, 4, 0xB800, 0xFF, 0x02},
112 {0x03, TEXT, CTEXT, 4, 0xB800, 0xFF, 0x02},
113 {0x04, GRAPH, CGA, 2, 0xB800, 0xFF, 0x01},
114 {0x05, GRAPH, CGA, 2, 0xB800, 0xFF, 0x01},
115 {0x06, GRAPH, CGA, 1, 0xB800, 0xFF, 0x01},
116 {0x07, TEXT, MTEXT, 4, 0xB000, 0xFF, 0x00},
117 {0x0D, GRAPH, PLANAR4, 4, 0xA000, 0xFF, 0x01},
118 {0x0E, GRAPH, PLANAR4, 4, 0xA000, 0xFF, 0x01},
119 {0x0F, GRAPH, PLANAR1, 1, 0xA000, 0xFF, 0x00},
120 {0x10, GRAPH, PLANAR4, 4, 0xA000, 0xFF, 0x02},
121 {0x11, GRAPH, PLANAR1, 1, 0xA000, 0xFF, 0x02},
122 {0x12, GRAPH, PLANAR4, 4, 0xA000, 0xFF, 0x02},
123 {0x13, GRAPH, LINEAR8, 8, 0xA000, 0xFF, 0x03},
124 {0x6A, GRAPH, PLANAR4, 4, 0xA000, 0xFF, 0x02}
125};
126
127/* convert index in vga_modes[] to index in video_param_table[] */
128static Bit8u line_to_vpti[MODE_MAX+1]={
129 0x17, 0x17, 0x18, 0x18, 0x04, 0x05, 0x06, 0x07,
130 0x0d, 0x0e, 0x11, 0x12, 0x1a, 0x1b, 0x1c, 0x1d,
131};
132
133/* Default Palette */
134#define DAC_MAX_MODEL 3
135
136static Bit8u dac_regs[DAC_MAX_MODEL+1]=
137{0x3f,0x3f,0x3f,0xff};
138
139/* standard BIOS Video Parameter Table */
140typedef struct {
141 Bit8u twidth;
142 Bit8u theightm1;
143 Bit8u cheight;
144 Bit8u slength_l;
145 Bit8u slength_h;
146 Bit8u sequ_regs[4];
147 Bit8u miscreg;
148 Bit8u crtc_regs[25];
149 Bit8u actl_regs[20];
150 Bit8u grdc_regs[9];
151} VideoParamTableEntry;
152
153static VideoParamTableEntry video_param_table[30] = {
154{
155 /* index=0x00 no mode defined */
156 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
157 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
158 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
159 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
160 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
161 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
162 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
163 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
164},
165{
166 /* index=0x01 no mode defined */
167 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
168 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
169 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
170 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
171 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
172 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
173 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
174 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
175},
176{
177 /* index=0x02 no mode defined */
178 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
179 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
180 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
181 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
182 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
183 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
184 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
185 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
186},
187{
188 /* index=0x03 no mode defined */
189 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
190 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
191 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
192 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
193 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
194 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
195 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
196 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
197},
198{
199 /* index=0x04 vga mode 0x04 */
200 40, 24, 8, 0x00, 0x08, /* tw, th-1, ch, slength */
201 0x09, 0x03, 0x00, 0x02, /* sequ_regs */
202 0x63, /* miscreg */
203 0x2d, 0x27, 0x28, 0x90, 0x2b, 0x80, 0xbf, 0x1f,
204 0x00, 0xc1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
205 0x9c, 0x8e, 0x8f, 0x14, 0x00, 0x96, 0xb9, 0xa2,
206 0xff, /* crtc_regs */
207 0x00, 0x13, 0x15, 0x17, 0x02, 0x04, 0x06, 0x07,
208 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
209 0x01, 0x00, 0x03, 0x00, /* actl_regs */
210 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x0f, 0x0f, 0xff, /* grdc_regs */
211},
212{
213 /* index=0x05 vga mode 0x05 */
214 40, 24, 8, 0x00, 0x08, /* tw, th-1, ch, slength */
215 0x09, 0x03, 0x00, 0x02, /* sequ_regs */
216 0x63, /* miscreg */
217 0x2d, 0x27, 0x28, 0x90, 0x2b, 0x80, 0xbf, 0x1f,
218 0x00, 0xc1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
219 0x9c, 0x8e, 0x8f, 0x14, 0x00, 0x96, 0xb9, 0xa2,
220 0xff, /* crtc_regs */
221 0x00, 0x13, 0x15, 0x17, 0x02, 0x04, 0x06, 0x07,
222 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
223 0x01, 0x00, 0x03, 0x00, /* actl_regs */
224 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x0f, 0x0f, 0xff, /* grdc_regs */
225},
226{
227 /* index=0x06 vga mode 0x06 */
228 80, 24, 8, 0x00, 0x10, /* tw, th-1, ch, slength */
229 0x01, 0x01, 0x00, 0x06, /* sequ_regs */
230 0x63, /* miscreg */
231 0x5f, 0x4f, 0x50, 0x82, 0x54, 0x80, 0xbf, 0x1f,
232 0x00, 0xc1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
233 0x9c, 0x8e, 0x8f, 0x28, 0x00, 0x96, 0xb9, 0xc2,
234 0xff, /* crtc_regs */
235 0x00, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17,
236 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17,
237 0x01, 0x00, 0x01, 0x00, /* actl_regs */
238 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0d, 0x0f, 0xff, /* grdc_regs */
239},
240{
241 /* index=0x07 vga mode 0x07 */
242 80, 24, 16, 0x00, 0x10, /* tw, th-1, ch, slength */
243 0x00, 0x03, 0x00, 0x02, /* sequ_regs */
244 0x66, /* miscreg */
245 0x5f, 0x4f, 0x50, 0x82, 0x55, 0x81, 0xbf, 0x1f,
246 0x00, 0x4f, 0x0d, 0x0e, 0x00, 0x00, 0x00, 0x00,
247 0x9c, 0x8e, 0x8f, 0x28, 0x0f, 0x96, 0xb9, 0xa3,
248 0xff, /* crtc_regs */
249 0x00, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08,
250 0x10, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18,
251 0x0e, 0x00, 0x0f, 0x08, /* actl_regs */
252 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x0a, 0x0f, 0xff, /* grdc_regs */
253},
254{
255 /* index=0x08 no mode defined */
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 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
260 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
261 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
262 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
263 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
264},
265{
266 /* index=0x09 no mode defined */
267 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
268 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
269 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
270 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
271 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
272 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
273 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
274 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
275},
276{
277 /* index=0x0a no mode defined */
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 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
285 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
286},
287{
288 /* index=0x0b no mode defined */
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 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
296 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
297},
298{
299 /* index=0x0c no mode defined */
300 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
301 0x00, 0x00, 0x00, 0x00, 0x00, 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},
309{
310 /* index=0x0d vga mode 0x0d */
311 40, 24, 8, 0x00, 0x20, /* tw, th-1, ch, slength */
312 0x09, 0x0f, 0x00, 0x06, /* sequ_regs */
313 0x63, /* miscreg */
314 0x2d, 0x27, 0x28, 0x90, 0x2b, 0x80, 0xbf, 0x1f,
315 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
316 0x9c, 0x8e, 0x8f, 0x14, 0x00, 0x96, 0xb9, 0xe3,
317 0xff, /* crtc_regs */
318 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
319 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
320 0x01, 0x00, 0x0f, 0x00, /* actl_regs */
321 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x0f, 0xff, /* grdc_regs */
322},
323{
324 /* index=0x0e vga mode 0x0e */
325 80, 24, 8, 0x00, 0x40, /* tw, th-1, ch, slength */
326 0x01, 0x0f, 0x00, 0x06, /* sequ_regs */
327 0x63, /* miscreg */
328 0x5f, 0x4f, 0x50, 0x82, 0x54, 0x80, 0xbf, 0x1f,
329 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
330 0x9c, 0x8e, 0x8f, 0x28, 0x00, 0x96, 0xb9, 0xe3,
331 0xff, /* crtc_regs */
332 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
333 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
334 0x01, 0x00, 0x0f, 0x00, /* actl_regs */
335 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x0f, 0xff, /* grdc_regs */
336},
337{
338 /* index=0x0f no mode defined */
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 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
347},
348{
349 /* index=0x10 no mode defined */
350 0x00, 0x00, 0x00, 0x00, 0x00, 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=0x11 vga mode 0x0f */
361 80, 24, 14, 0x00, 0x80, /* tw, th-1, ch, slength */
362 0x01, 0x0f, 0x00, 0x06, /* sequ_regs */
363 0xa3, /* miscreg */
364 0x5f, 0x4f, 0x50, 0x82, 0x54, 0x80, 0xbf, 0x1f,
365 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
366 0x83, 0x85, 0x5d, 0x28, 0x0f, 0x63, 0xba, 0xe3,
367 0xff, /* crtc_regs */
368 0x00, 0x08, 0x00, 0x00, 0x18, 0x18, 0x00, 0x00,
369 0x00, 0x08, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00,
370 0x01, 0x00, 0x01, 0x00, /* actl_regs */
371 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x0f, 0xff, /* grdc_regs */
372},
373{
374 /* index=0x12 vga mode 0x10 */
375 80, 24, 14, 0x00, 0x80, /* tw, th-1, ch, slength */
376 0x01, 0x0f, 0x00, 0x06, /* sequ_regs */
377 0xa3, /* miscreg */
378 0x5f, 0x4f, 0x50, 0x82, 0x54, 0x80, 0xbf, 0x1f,
379 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
380 0x83, 0x85, 0x5d, 0x28, 0x0f, 0x63, 0xba, 0xe3,
381 0xff, /* crtc_regs */
382 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x14, 0x07,
383 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
384 0x01, 0x00, 0x0f, 0x00, /* actl_regs */
385 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x0f, 0xff, /* grdc_regs */
386},
387{
388 /* index=0x13 no mode defined */
389 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
390 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
391 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
392 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
393 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
394 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
395 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
396 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
397},
398{
399 /* index=0x14 no mode defined */
400 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
401 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
402 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
403 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
404 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
405 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
406 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
407 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
408},
409{
410 /* index=0x15 no mode defined */
411 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
412 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
413 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
414 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
415 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
416 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
417 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
418 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
419},
420{
421 /* index=0x18 ega mode 0x03 */
422 80, 24, 14, 0x00, 0x10, /* tw, th-1, ch, slength */
423 0x00, 0x03, 0x00, 0x02, /* sequ_regs */
424 0x67, /* miscreg */
425 0x5f, 0x4f, 0x50, 0x82, 0x55, 0x81, 0xbf, 0x1f,
426 0x00, 0x4f, 0x0d, 0x0e, 0x00, 0x00, 0x00, 0x00,
427 0x9c, 0x8e, 0x8f, 0x28, 0x1f, 0x96, 0xb9, 0xa3,
428 0xff, /* crtc_regs */
429 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x14, 0x07,
430 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
431 0x0c, 0x00, 0x0f, 0x08, /* actl_regs */
432 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x0e, 0x0f, 0xff, /* grdc_regs */
433},
434{
435 /* index=0x17 vga mode 0x01 */
436 40, 24, 16, 0x00, 0x08, /* tw, th-1, ch, slength */
437 0x08, 0x03, 0x00, 0x02, /* sequ_regs */
438 0x67, /* miscreg */
439 0x2d, 0x27, 0x28, 0x90, 0x2b, 0xa0, 0xbf, 0x1f,
440 0x00, 0x4f, 0x0d, 0x0e, 0x00, 0x00, 0x00, 0x00,
441 0x9c, 0x8e, 0x8f, 0x14, 0x1f, 0x96, 0xb9, 0xa3,
442 0xff, /* crtc_regs */
443 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x14, 0x07,
444 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
445 0x0c, 0x00, 0x0f, 0x08, /* actl_regs */
446 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x0e, 0x0f, 0xff, /* grdc_regs */
447},
448{
449 /* index=0x18 vga mode 0x03 */
450 80, 24, 16, 0x00, 0x10, /* tw, th-1, ch, slength */
451 0x00, 0x03, 0x00, 0x02, /* sequ_regs */
452 0x67, /* miscreg */
453 0x5f, 0x4f, 0x50, 0x82, 0x55, 0x81, 0xbf, 0x1f,
454 0x00, 0x4f, 0x0d, 0x0e, 0x00, 0x00, 0x00, 0x00,
455 0x9c, 0x8e, 0x8f, 0x28, 0x1f, 0x96, 0xb9, 0xa3,
456 0xff, /* crtc_regs */
457 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x14, 0x07,
458 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
459 0x0c, 0x00, 0x0f, 0x08, /* actl_regs */
460 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x0e, 0x0f, 0xff, /* grdc_regs */
461},
462{
463 /* index=0x19 vga mode 0x07 */
464 80, 24, 16, 0x00, 0x10, /* tw, th-1, ch, slength */
465 0x00, 0x03, 0x00, 0x02, /* sequ_regs */
466 0x66, /* miscreg */
467 0x5f, 0x4f, 0x50, 0x82, 0x55, 0x81, 0xbf, 0x1f,
468 0x00, 0x4f, 0x0d, 0x0e, 0x00, 0x00, 0x00, 0x00,
469 0x9c, 0x8e, 0x8f, 0x28, 0x0f, 0x96, 0xb9, 0xa3,
470 0xff, /* crtc_regs */
471 0x00, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08,
472 0x10, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18,
473 0x0e, 0x00, 0x0f, 0x08, /* actl_regs */
474 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x0a, 0x0f, 0xff, /* grdc_regs */
475},
476{
477 /* index=0x1a vga mode 0x11 */
478 80, 29, 16, 0x00, 0x00, /* tw, th-1, ch, slength */
479 0x01, 0x0f, 0x00, 0x06, /* sequ_regs */
480 0xe3, /* miscreg */
481 0x5f, 0x4f, 0x50, 0x82, 0x54, 0x80, 0x0b, 0x3e,
482 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
483 0xea, 0x8c, 0xdf, 0x28, 0x00, 0xe7, 0x04, 0xe3,
484 0xff, /* crtc_regs */
485 0x00, 0x3f, 0x00, 0x3f, 0x00, 0x3f, 0x00, 0x3f,
486 0x00, 0x3f, 0x00, 0x3f, 0x00, 0x3f, 0x00, 0x3f,
487 0x01, 0x00, 0x0f, 0x00, /* actl_regs */
488 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x0f, 0xff, /* grdc_regs */
489},
490{
491 /* index=0x1b vga mode 0x12 */
492 80, 29, 16, 0x00, 0x00, /* tw, th-1, ch, slength */
493 0x01, 0x0f, 0x00, 0x06, /* sequ_regs */
494 0xe3, /* miscreg */
495 0x5f, 0x4f, 0x50, 0x82, 0x54, 0x80, 0x0b, 0x3e,
496 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
497 0xea, 0x8c, 0xdf, 0x28, 0x00, 0xe7, 0x04, 0xe3,
498 0xff, /* crtc_regs */
499 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x14, 0x07,
500 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
501 0x01, 0x00, 0x0f, 0x00, /* actl_regs */
502 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x0f, 0xff, /* grdc_regs */
503},
504{
505 /* index=0x1c vga mode 0x13 */
506 40, 24, 8, 0x00, 0x00, /* tw, th-1, ch, slength */
507 0x01, 0x0f, 0x00, 0x0e, /* sequ_regs */
508 0x63, /* miscreg */
509 0x5f, 0x4f, 0x50, 0x82, 0x54, 0x80, 0xbf, 0x1f,
510 0x00, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
511 0x9c, 0x8e, 0x8f, 0x28, 0x40, 0x96, 0xb9, 0xa3,
512 0xff, /* crtc_regs */
513 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
514 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
515 0x41, 0x00, 0x0f, 0x00, /* actl_regs */
516 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x05, 0x0f, 0xff, /* grdc_regs */
517},
518{
519 /* index=0x1d vga mode 0x6a */
520 100, 36, 16, 0x00, 0x00, /* tw, th-1, ch, slength */
521 0x01, 0x0f, 0x00, 0x06, /* sequ_regs */
522 0xe3, /* miscreg */
523 0x7f, 0x63, 0x63, 0x83, 0x6b, 0x1b, 0x72, 0xf0,
524 0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
525 0x59, 0x8d, 0x57, 0x32, 0x00, 0x57, 0x73, 0xe3,
526 0xff, /* crtc_regs */
527 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x14, 0x07,
528 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
529 0x01, 0x00, 0x0f, 0x00, /* actl_regs */
530 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x0f, 0xff, /* grdc_regs */
531},
532};
533
534/* Mono */
535static Bit8u palette0[63+1][3]=
536{
537 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
538 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a,
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 0x3f,0x3f,0x3f, 0x3f,0x3f,0x3f, 0x3f,0x3f,0x3f, 0x3f,0x3f,0x3f, 0x3f,0x3f,0x3f, 0x3f,0x3f,0x3f, 0x3f,0x3f,0x3f, 0x3f,0x3f,0x3f,
541 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
542 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a,
543 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a,
544 0x3f,0x3f,0x3f, 0x3f,0x3f,0x3f, 0x3f,0x3f,0x3f, 0x3f,0x3f,0x3f, 0x3f,0x3f,0x3f, 0x3f,0x3f,0x3f, 0x3f,0x3f,0x3f, 0x3f,0x3f,0x3f
545};
546
547static Bit8u palette1[63+1][3]=
548{
549 0x00,0x00,0x00, 0x00,0x00,0x2a, 0x00,0x2a,0x00, 0x00,0x2a,0x2a, 0x2a,0x00,0x00, 0x2a,0x00,0x2a, 0x2a,0x15,0x00, 0x2a,0x2a,0x2a,
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 0x15,0x15,0x15, 0x15,0x15,0x3f, 0x15,0x3f,0x15, 0x15,0x3f,0x3f, 0x3f,0x15,0x15, 0x3f,0x15,0x3f, 0x3f,0x3f,0x15, 0x3f,0x3f,0x3f,
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 0x00,0x00,0x00, 0x00,0x00,0x2a, 0x00,0x2a,0x00, 0x00,0x2a,0x2a, 0x2a,0x00,0x00, 0x2a,0x00,0x2a, 0x2a,0x15,0x00, 0x2a,0x2a,0x2a,
554 0x00,0x00,0x00, 0x00,0x00,0x2a, 0x00,0x2a,0x00, 0x00,0x2a,0x2a, 0x2a,0x00,0x00, 0x2a,0x00,0x2a, 0x2a,0x15,0x00, 0x2a,0x2a,0x2a,
555 0x15,0x15,0x15, 0x15,0x15,0x3f, 0x15,0x3f,0x15, 0x15,0x3f,0x3f, 0x3f,0x15,0x15, 0x3f,0x15,0x3f, 0x3f,0x3f,0x15, 0x3f,0x3f,0x3f,
556 0x15,0x15,0x15, 0x15,0x15,0x3f, 0x15,0x3f,0x15, 0x15,0x3f,0x3f, 0x3f,0x15,0x15, 0x3f,0x15,0x3f, 0x3f,0x3f,0x15, 0x3f,0x3f,0x3f
557};
558
559static Bit8u palette2[63+1][3]=
560{
561 0x00,0x00,0x00, 0x00,0x00,0x2a, 0x00,0x2a,0x00, 0x00,0x2a,0x2a, 0x2a,0x00,0x00, 0x2a,0x00,0x2a, 0x2a,0x2a,0x00, 0x2a,0x2a,0x2a,
562 0x00,0x00,0x15, 0x00,0x00,0x3f, 0x00,0x2a,0x15, 0x00,0x2a,0x3f, 0x2a,0x00,0x15, 0x2a,0x00,0x3f, 0x2a,0x2a,0x15, 0x2a,0x2a,0x3f,
563 0x00,0x15,0x00, 0x00,0x15,0x2a, 0x00,0x3f,0x00, 0x00,0x3f,0x2a, 0x2a,0x15,0x00, 0x2a,0x15,0x2a, 0x2a,0x3f,0x00, 0x2a,0x3f,0x2a,
564 0x00,0x15,0x15, 0x00,0x15,0x3f, 0x00,0x3f,0x15, 0x00,0x3f,0x3f, 0x2a,0x15,0x15, 0x2a,0x15,0x3f, 0x2a,0x3f,0x15, 0x2a,0x3f,0x3f,
565 0x15,0x00,0x00, 0x15,0x00,0x2a, 0x15,0x2a,0x00, 0x15,0x2a,0x2a, 0x3f,0x00,0x00, 0x3f,0x00,0x2a, 0x3f,0x2a,0x00, 0x3f,0x2a,0x2a,
566 0x15,0x00,0x15, 0x15,0x00,0x3f, 0x15,0x2a,0x15, 0x15,0x2a,0x3f, 0x3f,0x00,0x15, 0x3f,0x00,0x3f, 0x3f,0x2a,0x15, 0x3f,0x2a,0x3f,
567 0x15,0x15,0x00, 0x15,0x15,0x2a, 0x15,0x3f,0x00, 0x15,0x3f,0x2a, 0x3f,0x15,0x00, 0x3f,0x15,0x2a, 0x3f,0x3f,0x00, 0x3f,0x3f,0x2a,
568 0x15,0x15,0x15, 0x15,0x15,0x3f, 0x15,0x3f,0x15, 0x15,0x3f,0x3f, 0x3f,0x15,0x15, 0x3f,0x15,0x3f, 0x3f,0x3f,0x15, 0x3f,0x3f,0x3f
569};
570
571static Bit8u palette3[256][3]=
572{
573 0x00,0x00,0x00, 0x00,0x00,0x2a, 0x00,0x2a,0x00, 0x00,0x2a,0x2a, 0x2a,0x00,0x00, 0x2a,0x00,0x2a, 0x2a,0x15,0x00, 0x2a,0x2a,0x2a,
574 0x15,0x15,0x15, 0x15,0x15,0x3f, 0x15,0x3f,0x15, 0x15,0x3f,0x3f, 0x3f,0x15,0x15, 0x3f,0x15,0x3f, 0x3f,0x3f,0x15, 0x3f,0x3f,0x3f,
575 0x00,0x00,0x00, 0x05,0x05,0x05, 0x08,0x08,0x08, 0x0b,0x0b,0x0b, 0x0e,0x0e,0x0e, 0x11,0x11,0x11, 0x14,0x14,0x14, 0x18,0x18,0x18,
576 0x1c,0x1c,0x1c, 0x20,0x20,0x20, 0x24,0x24,0x24, 0x28,0x28,0x28, 0x2d,0x2d,0x2d, 0x32,0x32,0x32, 0x38,0x38,0x38, 0x3f,0x3f,0x3f,
577 0x00,0x00,0x3f, 0x10,0x00,0x3f, 0x1f,0x00,0x3f, 0x2f,0x00,0x3f, 0x3f,0x00,0x3f, 0x3f,0x00,0x2f, 0x3f,0x00,0x1f, 0x3f,0x00,0x10,
578 0x3f,0x00,0x00, 0x3f,0x10,0x00, 0x3f,0x1f,0x00, 0x3f,0x2f,0x00, 0x3f,0x3f,0x00, 0x2f,0x3f,0x00, 0x1f,0x3f,0x00, 0x10,0x3f,0x00,
579 0x00,0x3f,0x00, 0x00,0x3f,0x10, 0x00,0x3f,0x1f, 0x00,0x3f,0x2f, 0x00,0x3f,0x3f, 0x00,0x2f,0x3f, 0x00,0x1f,0x3f, 0x00,0x10,0x3f,
580 0x1f,0x1f,0x3f, 0x27,0x1f,0x3f, 0x2f,0x1f,0x3f, 0x37,0x1f,0x3f, 0x3f,0x1f,0x3f, 0x3f,0x1f,0x37, 0x3f,0x1f,0x2f, 0x3f,0x1f,0x27,
581
582 0x3f,0x1f,0x1f, 0x3f,0x27,0x1f, 0x3f,0x2f,0x1f, 0x3f,0x37,0x1f, 0x3f,0x3f,0x1f, 0x37,0x3f,0x1f, 0x2f,0x3f,0x1f, 0x27,0x3f,0x1f,
583 0x1f,0x3f,0x1f, 0x1f,0x3f,0x27, 0x1f,0x3f,0x2f, 0x1f,0x3f,0x37, 0x1f,0x3f,0x3f, 0x1f,0x37,0x3f, 0x1f,0x2f,0x3f, 0x1f,0x27,0x3f,
584 0x2d,0x2d,0x3f, 0x31,0x2d,0x3f, 0x36,0x2d,0x3f, 0x3a,0x2d,0x3f, 0x3f,0x2d,0x3f, 0x3f,0x2d,0x3a, 0x3f,0x2d,0x36, 0x3f,0x2d,0x31,
585 0x3f,0x2d,0x2d, 0x3f,0x31,0x2d, 0x3f,0x36,0x2d, 0x3f,0x3a,0x2d, 0x3f,0x3f,0x2d, 0x3a,0x3f,0x2d, 0x36,0x3f,0x2d, 0x31,0x3f,0x2d,
586 0x2d,0x3f,0x2d, 0x2d,0x3f,0x31, 0x2d,0x3f,0x36, 0x2d,0x3f,0x3a, 0x2d,0x3f,0x3f, 0x2d,0x3a,0x3f, 0x2d,0x36,0x3f, 0x2d,0x31,0x3f,
587 0x00,0x00,0x1c, 0x07,0x00,0x1c, 0x0e,0x00,0x1c, 0x15,0x00,0x1c, 0x1c,0x00,0x1c, 0x1c,0x00,0x15, 0x1c,0x00,0x0e, 0x1c,0x00,0x07,
588 0x1c,0x00,0x00, 0x1c,0x07,0x00, 0x1c,0x0e,0x00, 0x1c,0x15,0x00, 0x1c,0x1c,0x00, 0x15,0x1c,0x00, 0x0e,0x1c,0x00, 0x07,0x1c,0x00,
589 0x00,0x1c,0x00, 0x00,0x1c,0x07, 0x00,0x1c,0x0e, 0x00,0x1c,0x15, 0x00,0x1c,0x1c, 0x00,0x15,0x1c, 0x00,0x0e,0x1c, 0x00,0x07,0x1c,
590
591 0x0e,0x0e,0x1c, 0x11,0x0e,0x1c, 0x15,0x0e,0x1c, 0x18,0x0e,0x1c, 0x1c,0x0e,0x1c, 0x1c,0x0e,0x18, 0x1c,0x0e,0x15, 0x1c,0x0e,0x11,
592 0x1c,0x0e,0x0e, 0x1c,0x11,0x0e, 0x1c,0x15,0x0e, 0x1c,0x18,0x0e, 0x1c,0x1c,0x0e, 0x18,0x1c,0x0e, 0x15,0x1c,0x0e, 0x11,0x1c,0x0e,
593 0x0e,0x1c,0x0e, 0x0e,0x1c,0x11, 0x0e,0x1c,0x15, 0x0e,0x1c,0x18, 0x0e,0x1c,0x1c, 0x0e,0x18,0x1c, 0x0e,0x15,0x1c, 0x0e,0x11,0x1c,
594 0x14,0x14,0x1c, 0x16,0x14,0x1c, 0x18,0x14,0x1c, 0x1a,0x14,0x1c, 0x1c,0x14,0x1c, 0x1c,0x14,0x1a, 0x1c,0x14,0x18, 0x1c,0x14,0x16,
595 0x1c,0x14,0x14, 0x1c,0x16,0x14, 0x1c,0x18,0x14, 0x1c,0x1a,0x14, 0x1c,0x1c,0x14, 0x1a,0x1c,0x14, 0x18,0x1c,0x14, 0x16,0x1c,0x14,
596 0x14,0x1c,0x14, 0x14,0x1c,0x16, 0x14,0x1c,0x18, 0x14,0x1c,0x1a, 0x14,0x1c,0x1c, 0x14,0x1a,0x1c, 0x14,0x18,0x1c, 0x14,0x16,0x1c,
597 0x00,0x00,0x10, 0x04,0x00,0x10, 0x08,0x00,0x10, 0x0c,0x00,0x10, 0x10,0x00,0x10, 0x10,0x00,0x0c, 0x10,0x00,0x08, 0x10,0x00,0x04,
598 0x10,0x00,0x00, 0x10,0x04,0x00, 0x10,0x08,0x00, 0x10,0x0c,0x00, 0x10,0x10,0x00, 0x0c,0x10,0x00, 0x08,0x10,0x00, 0x04,0x10,0x00,
599
600 0x00,0x10,0x00, 0x00,0x10,0x04, 0x00,0x10,0x08, 0x00,0x10,0x0c, 0x00,0x10,0x10, 0x00,0x0c,0x10, 0x00,0x08,0x10, 0x00,0x04,0x10,
601 0x08,0x08,0x10, 0x0a,0x08,0x10, 0x0c,0x08,0x10, 0x0e,0x08,0x10, 0x10,0x08,0x10, 0x10,0x08,0x0e, 0x10,0x08,0x0c, 0x10,0x08,0x0a,
602 0x10,0x08,0x08, 0x10,0x0a,0x08, 0x10,0x0c,0x08, 0x10,0x0e,0x08, 0x10,0x10,0x08, 0x0e,0x10,0x08, 0x0c,0x10,0x08, 0x0a,0x10,0x08,
603 0x08,0x10,0x08, 0x08,0x10,0x0a, 0x08,0x10,0x0c, 0x08,0x10,0x0e, 0x08,0x10,0x10, 0x08,0x0e,0x10, 0x08,0x0c,0x10, 0x08,0x0a,0x10,
604 0x0b,0x0b,0x10, 0x0c,0x0b,0x10, 0x0d,0x0b,0x10, 0x0f,0x0b,0x10, 0x10,0x0b,0x10, 0x10,0x0b,0x0f, 0x10,0x0b,0x0d, 0x10,0x0b,0x0c,
605 0x10,0x0b,0x0b, 0x10,0x0c,0x0b, 0x10,0x0d,0x0b, 0x10,0x0f,0x0b, 0x10,0x10,0x0b, 0x0f,0x10,0x0b, 0x0d,0x10,0x0b, 0x0c,0x10,0x0b,
606 0x0b,0x10,0x0b, 0x0b,0x10,0x0c, 0x0b,0x10,0x0d, 0x0b,0x10,0x0f, 0x0b,0x10,0x10, 0x0b,0x0f,0x10, 0x0b,0x0d,0x10, 0x0b,0x0c,0x10,
607 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00
608};
609
610static Bit8u static_functionality[0x10]=
611{
612 /* 0 */ 0xff, // All modes supported #1
613 /* 1 */ 0xe0, // All modes supported #2
614 /* 2 */ 0x0f, // All modes supported #3
615 /* 3 */ 0x00, 0x00, 0x00, 0x00, // reserved
616 /* 7 */ 0x07, // 200, 350, 400 scan lines
617 /* 8 */ 0x02, // mamimum number of visible charsets in text mode
618 /* 9 */ 0x08, // total number of charset blocks in text mode
619 /* a */ 0xe7, // Change to add new functions
620 /* b */ 0x0c, // Change to add new functions
621 /* c */ 0x00, // reserved
622 /* d */ 0x00, // reserved
623 /* e */ 0x00, // Change to add new functions
624 /* f */ 0x00 // reserved
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