VirtualBox

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

最後變更 在這個檔案從64208是 43115,由 vboxsync 提交於 12 年 前

export to OSE

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

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