[NTVDM]
[reactos.git] / reactos / subsystems / mvdm / ntvdm / bios / vidbios.c
1 /*
2 * COPYRIGHT: GPL - See COPYING in the top level directory
3 * PROJECT: ReactOS Virtual DOS Machine
4 * FILE: subsystems/mvdm/ntvdm/bios/vidbios.c
5 * PURPOSE: VDM 32-bit Video BIOS Support Library
6 * PROGRAMMERS: Aleksandar Andrejevic <theflash AT sdf DOT lonestar DOT org>
7 * Hermes Belusca-Maito (hermes.belusca@sfr.fr)
8 */
9
10 /* INCLUDES *******************************************************************/
11
12 #include "ntvdm.h"
13
14 #define NDEBUG
15 #include <debug.h>
16
17 /* BIOS Version number and Copyright */
18 #include <reactos/buildno.h>
19 #include <reactos/version.h>
20
21 #include "emulator.h"
22 #include "cpu/cpu.h"
23 #include "cpu/bop.h"
24 #include "memory.h"
25
26 #include "bios.h"
27 #include "bios32/bios32p.h"
28 #include "rom.h"
29 #include "bios32/vbe.h"
30 // #include "vidbios.h"
31 #include "bios32/vidbios32.h"
32
33 #include "io.h"
34 #include "hardware/video/svga.h"
35 /**/
36 #include "../console/video.h"
37 /**/
38
39 /* PRIVATE VARIABLES **********************************************************/
40
41 /*
42 * WARNING! For compatibility purposes the string "IBM" should be at C000:001E.
43 */
44 static const CHAR BiosInfo[] =
45 "00000000000 Emulation of IBM VGA Compatible ROM\0"
46 "CL-GD5434 VGA BIOS Version 1.41 \r\n"
47 "Copyright (C) ReactOS Team 1996-"COPYRIGHT_YEAR"\r\n"
48 "The original CL-GD5434 card was created by Cirrus Logic, Inc.\r\n\0"
49 "BIOS Date: 06/17/13\0";
50
51 C_ASSERT(sizeof(BiosInfo)-1 <= 0xFF-0x05); // Ensures that we won't overflow on the Video Code
52
53
54 /*
55 * VGA Register Configurations for BIOS Video Modes.
56 * The configurations were checked against SeaBIOS VGA BIOS.
57 */
58
59 static VGA_REGISTERS VideoMode_40x25_text =
60 {
61 /* Miscellaneous Register */
62 0x67,
63
64 /* Sequencer Registers */
65 {0x00, 0x08, 0x03, 0x00, 0x02},
66
67 /* CRTC Registers */ /* CGA-compatible: 0xC7, 0x06, 0x07 */
68 {0x2D, 0x27, 0x28, 0x90, 0x2B, 0xA0, 0xBF, 0x1F, 0x00, 0x4F, 0x0D, 0x0E,
69 0x00, 0x00, 0x00, 0x00, 0x9C, 0x8E, 0x8F, 0x14, 0x1F, 0x96, 0xB9, 0xA3,
70 0xFF},
71
72 /* GC Registers */
73 {0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x0E, 0x0F, 0xFF},
74
75 /* AC Registers */
76 {0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x14, 0x07, 0x38, 0x39, 0x3A, 0x3B,
77 0x3C, 0x3D, 0x3E, 0x3F, 0x0C, 0x00, 0x0F, 0x08, 0x00}
78 };
79
80 static VGA_REGISTERS VideoMode_80x25_text =
81 {
82 /* Miscellaneous Register */
83 0x67,
84
85 /* Sequencer Registers */
86 {0x00, 0x00, 0x03, 0x00, 0x02},
87
88 /* CRTC Registers */ /* CGA-compatible: 0xC7, 0x06, 0x07 */
89 {0x5F, 0x4F, 0x50, 0x82, 0x55, 0x81, 0xBF, 0x1F, 0x00, 0x4F, 0x0D, 0x0E,
90 0x00, 0x00, 0x00, 0x00, 0x9C, 0x8E, 0x8F, 0x28, 0x1F, 0x96, 0xB9, 0xA3,
91 0xFF},
92
93 /* GC Registers */
94 {0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x0E, 0x0F, 0xFF},
95
96 /* AC Registers */
97 {0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x14, 0x07, 0x38, 0x39, 0x3A, 0x3B,
98 0x3C, 0x3D, 0x3E, 0x3F, 0x0C, 0x00, 0x0F, 0x08, 0x00}
99 };
100
101 static VGA_REGISTERS VideoMode_320x200_4color =
102 {
103 /* Miscellaneous Register */
104 0x63,
105
106 /* Sequencer Registers */
107 {0x00, 0x09, 0x03, 0x00, 0x02},
108
109 /* CRTC Registers */
110 {0x2D, 0x27, 0x28, 0x90, 0x2B, 0x80, 0xBF, 0x1F, 0x00, 0xC1, 0x00, 0x00,
111 0x00, 0x00, 0x00, 0x00, 0x9C, 0x8E, 0x8F, 0x14, 0x00, 0x96, 0xB9, 0xA2,
112 0xFF},
113
114 /* GC Registers */
115 {0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x0F, 0x0F, 0xFF},
116
117 /* AC Registers */
118 {0x00, 0x13, 0x15, 0x17, 0x02, 0x04, 0x06, 0x07, 0x10, 0x11, 0x12, 0x13,
119 0x14, 0x15, 0x16, 0x17, 0x01, 0x00, 0x03, 0x00, 0x00}
120 };
121
122 static VGA_REGISTERS VideoMode_640x200_2color =
123 {
124 /* Miscellaneous Register */
125 0x63,
126
127 /* Sequencer Registers */
128 {0x00, 0x01, 0x01, 0x00, 0x02},
129
130 /* CRTC Registers */
131 {0x5F, 0x4F, 0x50, 0x82, 0x54, 0x80, 0xBF, 0x1F, 0x00, 0xC1, 0x00, 0x00,
132 0x00, 0x00, 0x00, 0x00, 0x9C, 0x8E, 0x8F, 0x28, 0x00, 0x96, 0xB9, 0xC2,
133 0xFF},
134
135 /* GC Registers */
136 {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x0F, 0xFF},
137
138 /* AC Registers */
139 {0x00, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17,
140 0x17, 0x17, 0x17, 0x17, 0x01, 0x00, 0x01, 0x00, 0x00}
141 };
142
143 static VGA_REGISTERS VideoMode_320x200_16color =
144 {
145 /* Miscellaneous Register */
146 0x63,
147
148 /* Sequencer Registers */
149 {0x00, 0x09, 0x0F, 0x00, 0x06},
150
151 /* CRTC Registers */
152 {0x2D, 0x27, 0x28, 0x90, 0x2B, 0x80, 0xBF, 0x1F, 0x00, 0xC0, 0x00, 0x00,
153 0x00, 0x00, 0x00, 0x00, 0x9C, 0x8E, 0x8F, 0x14, 0x00, 0x96, 0xB9, 0xE3,
154 0xFF},
155
156 /* GC Registers */
157 {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x0F, 0xFF},
158
159 /* AC Registers */
160 {0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x10, 0x11, 0x12, 0x13,
161 0x14, 0x15, 0x16, 0x17, 0x01, 0x00, 0x0F, 0x00, 0x00}
162 };
163
164 static VGA_REGISTERS VideoMode_640x200_16color =
165 {
166 /* Miscellaneous Register */
167 0x63,
168
169 /* Sequencer Registers */
170 {0x00, 0x01, 0x0F, 0x00, 0x06},
171
172 /* CRTC Registers */
173 {0x5F, 0x4F, 0x50, 0x82, 0x54, 0x80, 0xBF, 0x1F, 0x00, 0xC0, 0x00, 0x00,
174 0x00, 0x00, 0x00, 0x00, 0x9C, 0x8E, 0x8F, 0x28, 0x00, 0x96, 0xB9, 0xE3,
175 0xFF},
176
177 /* GC Registers */
178 {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x0F, 0xFF},
179
180 /* AC Registers */
181 {0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x10, 0x11, 0x12, 0x13,
182 0x14, 0x15, 0x16, 0x17, 0x01, 0x00, 0x0F, 0x00, 0x00}
183 };
184
185 static VGA_REGISTERS VideoMode_640x350_16color =
186 {
187 /* Miscellaneous Register */
188 0xA3,
189
190 /* Sequencer Registers */
191 {0x00, 0x01, 0x0F, 0x00, 0x06},
192
193 /* CRTC Registers */
194 {0x5F, 0x4F, 0x50, 0x82, 0x54, 0x80, 0xBF, 0x1F, 0x00, 0x40, 0x00, 0x00,
195 0x00, 0x00, 0x00, 0x00, 0x83, 0x85, 0x5D, 0x28, 0x0F, 0x63, 0xBA, 0xE3,
196 0xFF},
197
198 /* GC Registers */
199 {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x0F, 0xFF},
200
201 /* AC Registers */
202 {0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x14, 0x07, 0x38, 0x39, 0x3A, 0x3B,
203 0x3C, 0x3D, 0x3E, 0x3F, 0x01, 0x00, 0x0F, 0x00, 0x00}
204 };
205
206 static VGA_REGISTERS VideoMode_640x480_2color =
207 {
208 /* Miscellaneous Register */
209 0xE3,
210
211 /* Sequencer Registers */
212 {0x00, 0x01, 0x0F, 0x00, 0x06},
213
214 /* CRTC Registers */
215 {0x5F, 0x4F, 0x50, 0x82, 0x54, 0x80, 0x0B, 0x3E, 0x00, 0x40, 0x00, 0x00,
216 0x00, 0x00, 0x00, 0x00, 0xEA, 0x8C, 0xDF, 0x28, 0x00, 0xE7, 0x04, 0xC3,
217 0xFF},
218
219 /* GC Registers */
220 {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x0F, 0xFF},
221
222 /* AC Registers */
223 // {0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
224 // 0x3F, 0x3F, 0x3F, 0x3F, 0x01, 0x00, 0x0F, 0x00, 0x00}
225 {0x00, 0x3F, 0x00, 0x3F, 0x00, 0x3F, 0x00, 0x3F, 0x00, 0x3F, 0x00, 0x3F,
226 0x00, 0x3F, 0x00, 0x3F, 0x01, 0x00, 0x0F, 0x00, 0x00}
227 };
228
229 static VGA_REGISTERS VideoMode_640x480_16color =
230 {
231 /* Miscellaneous Register */
232 0xE3,
233
234 /* Sequencer Registers */
235 {0x00, 0x01, 0x0F, 0x00, 0x06},
236
237 /* CRTC Registers */
238 {0x5F, 0x4F, 0x50, 0x82, 0x54, 0x80, 0x0B, 0x3E, 0x00, 0x40, 0x00, 0x00,
239 0x00, 0x00, 0x00, 0x00, 0xEA, 0x8C, 0xDF, 0x28, 0x00, 0xE7, 0x04, 0xE3,
240 0xFF},
241
242 /* GC Registers */
243 {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x0F, 0xFF},
244
245 /* AC Registers */
246 {0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x14, 0x07, 0x38, 0x39, 0x3A, 0x3B,
247 0x3C, 0x3D, 0x3E, 0x3F, 0x01, 0x00, 0x0F, 0x00, 0x00}
248 };
249
250 static VGA_REGISTERS VideoMode_320x200_256color =
251 {
252 /* Miscellaneous Register */
253 0x63,
254
255 /* Sequencer Registers */
256 {0x00, 0x01, 0x0F, 0x00, 0x0E},
257
258 /* CRTC Registers */
259 {0x5F, 0x4F, 0x50, 0x82, 0x54, 0x80, 0xBF, 0x1F, 0x00, 0x41, 0x00, 0x00,
260 0x00, 0x00, 0x00, 0x00, 0x9C, 0x8E, 0x8F, 0x28, 0x40, 0x96, 0xB9, 0xA3,
261 0xFF},
262
263 /* GC Registers */
264 {0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x05, 0x0F, 0xFF},
265
266 /* AC Registers */
267 {0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B,
268 0x0C, 0x0D, 0x0E, 0x0F, 0x41, 0x00, 0x0F, 0x00, 0x00}
269 };
270
271
272 /*
273 * BIOS Mode Palettes
274 *
275 * Many people have different versions of those palettes
276 * (e.g. DOSBox, http://www.brokenthorn.com/Resources/OSDevVid2.html ,
277 * etc...) A choice should be made at some point.
278 */
279
280 // This is the same as EgaPalette__HiRes
281 static CONST COLORREF TextPalette[VGA_MAX_COLORS / 4] =
282 {
283 RGB(0x00, 0x00, 0x00), RGB(0x00, 0x00, 0xAA), RGB(0x00, 0xAA, 0x00), RGB(0x00, 0xAA, 0xAA),
284 RGB(0xAA, 0x00, 0x00), RGB(0xAA, 0x00, 0xAA), RGB(0xAA, 0xAA, 0x00), RGB(0xAA, 0xAA, 0xAA),
285 RGB(0x00, 0x00, 0x55), RGB(0x00, 0x00, 0xFF), RGB(0x00, 0xAA, 0x55), RGB(0x00, 0xAA, 0xFF),
286 RGB(0xAA, 0x00, 0x55), RGB(0xAA, 0x00, 0xFF), RGB(0xAA, 0xAA, 0x55), RGB(0xAA, 0xAA, 0xFF),
287
288 RGB(0x00, 0x55, 0x00), RGB(0x00, 0x55, 0xAA), RGB(0x00, 0xFF, 0x00), RGB(0x00, 0xFF, 0xAA),
289 RGB(0xAA, 0x55, 0x00), RGB(0xAA, 0x55, 0xAA), RGB(0xAA, 0xFF, 0x00), RGB(0xAA, 0xFF, 0xAA),
290 RGB(0x00, 0x55, 0x55), RGB(0x00, 0x55, 0xFF), RGB(0x00, 0xFF, 0x55), RGB(0x00, 0xFF, 0xFF),
291 RGB(0xAA, 0x55, 0x55), RGB(0xAA, 0x55, 0xFF), RGB(0xAA, 0xFF, 0x55), RGB(0xAA, 0xFF, 0xFF),
292
293
294 RGB(0x55, 0x00, 0x00), RGB(0x55, 0x00, 0xAA), RGB(0x55, 0xAA, 0x00), RGB(0x55, 0xAA, 0xAA),
295 RGB(0xFF, 0x00, 0x00), RGB(0xFF, 0x00, 0xAA), RGB(0xFF, 0xAA, 0x00), RGB(0xFF, 0xAA, 0xAA),
296 RGB(0x55, 0x00, 0x55), RGB(0x55, 0x00, 0xFF), RGB(0x55, 0xAA, 0x55), RGB(0x55, 0xAA, 0xFF),
297 RGB(0xFF, 0x00, 0x55), RGB(0xFF, 0x00, 0xFF), RGB(0xFF, 0xAA, 0x55), RGB(0xFF, 0xAA, 0xFF),
298
299 RGB(0x55, 0x55, 0x00), RGB(0x55, 0x55, 0xAA), RGB(0x55, 0xFF, 0x00), RGB(0x55, 0xFF, 0xAA),
300 RGB(0xFF, 0x55, 0x00), RGB(0xFF, 0x55, 0xAA), RGB(0xFF, 0xFF, 0x00), RGB(0xFF, 0xFF, 0xAA),
301 RGB(0x55, 0x55, 0x55), RGB(0x55, 0x55, 0xFF), RGB(0x55, 0xFF, 0x55), RGB(0x55, 0xFF, 0xFF),
302 RGB(0xFF, 0x55, 0x55), RGB(0xFF, 0x55, 0xFF), RGB(0xFF, 0xFF, 0x55), RGB(0xFF, 0xFF, 0xFF)
303 };
304
305 // Unused at the moment
306 static CONST COLORREF mtext_palette[64] =
307 {
308 RGB(0x00, 0x00, 0x00), RGB(0x00, 0x00, 0x00), RGB(0x00, 0x00, 0x00), RGB(0x00, 0x00, 0x00),
309 RGB(0x00, 0x00, 0x00), RGB(0x00, 0x00, 0x00), RGB(0x00, 0x00, 0x00), RGB(0x00, 0x00, 0x00),
310 RGB(0xAA, 0xAA, 0xAA), RGB(0xAA, 0xAA, 0xAA), RGB(0xAA, 0xAA, 0xAA), RGB(0xAA, 0xAA, 0xAA),
311 RGB(0xAA, 0xAA, 0xAA), RGB(0xAA, 0xAA, 0xAA), RGB(0xAA, 0xAA, 0xAA), RGB(0xAA, 0xAA, 0xAA),
312 RGB(0x00, 0x00, 0x00), RGB(0x00, 0x00, 0x00), RGB(0x00, 0x00, 0x00), RGB(0x00, 0x00, 0x00),
313 RGB(0x00, 0x00, 0x00), RGB(0x00, 0x00, 0x00), RGB(0x00, 0x00, 0x00), RGB(0x00, 0x00, 0x00),
314 RGB(0xFF, 0xFF, 0xFF), RGB(0xFF, 0xFF, 0xFF), RGB(0xFF, 0xFF, 0xFF), RGB(0xFF, 0xFF, 0xFF),
315 RGB(0xFF, 0xFF, 0xFF), RGB(0xFF, 0xFF, 0xFF), RGB(0xFF, 0xFF, 0xFF), RGB(0xFF, 0xFF, 0xFF),
316
317 RGB(0x00, 0x00, 0x00), RGB(0x00, 0x00, 0x00), RGB(0x00, 0x00, 0x00), RGB(0x00, 0x00, 0x00),
318 RGB(0x00, 0x00, 0x00), RGB(0x00, 0x00, 0x00), RGB(0x00, 0x00, 0x00), RGB(0x00, 0x00, 0x00),
319 RGB(0xAA, 0xAA, 0xAA), RGB(0xAA, 0xAA, 0xAA), RGB(0xAA, 0xAA, 0xAA), RGB(0xAA, 0xAA, 0xAA),
320 RGB(0xAA, 0xAA, 0xAA), RGB(0xAA, 0xAA, 0xAA), RGB(0xAA, 0xAA, 0xAA), RGB(0xAA, 0xAA, 0xAA),
321 RGB(0x00, 0x00, 0x00), RGB(0x00, 0x00, 0x00), RGB(0x00, 0x00, 0x00), RGB(0x00, 0x00, 0x00),
322 RGB(0x00, 0x00, 0x00), RGB(0x00, 0x00, 0x00), RGB(0x00, 0x00, 0x00), RGB(0x00, 0x00, 0x00),
323 RGB(0xFF, 0xFF, 0xFF), RGB(0xFF, 0xFF, 0xFF), RGB(0xFF, 0xFF, 0xFF), RGB(0xFF, 0xFF, 0xFF),
324 RGB(0xFF, 0xFF, 0xFF), RGB(0xFF, 0xFF, 0xFF), RGB(0xFF, 0xFF, 0xFF), RGB(0xFF, 0xFF, 0xFF)
325 };
326
327 // Unused at the moment
328 static CONST COLORREF mtext_s3_palette[64] =
329 {
330 RGB(0x00, 0x00, 0x00), RGB(0x00, 0x00, 0x00), RGB(0x00, 0x00, 0x00), RGB(0x00, 0x00, 0x00),
331 RGB(0x00, 0x00, 0x00), RGB(0x00, 0x00, 0x00), RGB(0x00, 0x00, 0x00), RGB(0x00, 0x00, 0x00),
332 RGB(0xAA, 0xAA, 0xAA), RGB(0xAA, 0xAA, 0xAA), RGB(0xAA, 0xAA, 0xAA), RGB(0xAA, 0xAA, 0xAA),
333 RGB(0xAA, 0xAA, 0xAA), RGB(0xAA, 0xAA, 0xAA), RGB(0xAA, 0xAA, 0xAA), RGB(0xAA, 0xAA, 0xAA),
334 RGB(0xAA, 0xAA, 0xAA), RGB(0xAA, 0xAA, 0xAA), RGB(0xAA, 0xAA, 0xAA), RGB(0xAA, 0xAA, 0xAA),
335 RGB(0xAA, 0xAA, 0xAA), RGB(0xAA, 0xAA, 0xAA), RGB(0xAA, 0xAA, 0xAA), RGB(0xAA, 0xAA, 0xAA),
336 RGB(0xFF, 0xFF, 0xFF), RGB(0xFF, 0xFF, 0xFF), RGB(0xFF, 0xFF, 0xFF), RGB(0xFF, 0xFF, 0xFF),
337 RGB(0xFF, 0xFF, 0xFF), RGB(0xFF, 0xFF, 0xFF), RGB(0xFF, 0xFF, 0xFF), RGB(0xFF, 0xFF, 0xFF),
338
339 RGB(0x00, 0x00, 0x00), RGB(0x00, 0x00, 0x00), RGB(0x00, 0x00, 0x00), RGB(0x00, 0x00, 0x00),
340 RGB(0x00, 0x00, 0x00), RGB(0x00, 0x00, 0x00), RGB(0x00, 0x00, 0x00), RGB(0x00, 0x00, 0x00),
341 RGB(0xAA, 0xAA, 0xAA), RGB(0xAA, 0xAA, 0xAA), RGB(0xAA, 0xAA, 0xAA), RGB(0xAA, 0xAA, 0xAA),
342 RGB(0xAA, 0xAA, 0xAA), RGB(0xAA, 0xAA, 0xAA), RGB(0xAA, 0xAA, 0xAA), RGB(0xAA, 0xAA, 0xAA),
343 RGB(0xAA, 0xAA, 0xAA), RGB(0xAA, 0xAA, 0xAA), RGB(0xAA, 0xAA, 0xAA), RGB(0xAA, 0xAA, 0xAA),
344 RGB(0xAA, 0xAA, 0xAA), RGB(0xAA, 0xAA, 0xAA), RGB(0xAA, 0xAA, 0xAA), RGB(0xAA, 0xAA, 0xAA),
345 RGB(0xFF, 0xFF, 0xFF), RGB(0xFF, 0xFF, 0xFF), RGB(0xFF, 0xFF, 0xFF), RGB(0xFF, 0xFF, 0xFF),
346 RGB(0xFF, 0xFF, 0xFF), RGB(0xFF, 0xFF, 0xFF), RGB(0xFF, 0xFF, 0xFF), RGB(0xFF, 0xFF, 0xFF)
347 };
348
349 #if 0
350
351 // Unused at the moment
352 static CONST COLORREF CgaPalette[16] =
353 {
354 RGB(0x00, 0x00, 0x00), RGB(0x00, 0x00, 0xAA), RGB(0x00, 0xAA, 0x00), RGB(0x00, 0xAA, 0xAA),
355 RGB(0xAA, 0x00, 0x00), RGB(0xAA, 0x00, 0xAA), RGB(0xAA, 0x55, 0x00), RGB(0xAA, 0xAA, 0xAA),
356 RGB(0x55, 0x55, 0x55), RGB(0x55, 0x55, 0xFF), RGB(0x55, 0xFF, 0x55), RGB(0x55, 0xFF, 0xFF),
357 RGB(0xFF, 0x55, 0x55), RGB(0xFF, 0x55, 0xFF), RGB(0xFF, 0xFF, 0x55), RGB(0xFF, 0xFF, 0xFF)
358 };
359
360 /* CGA palette 1 */
361 static CONST BYTE CgaPalette1[] =
362 {
363 0x00, /* 0 - Black */
364 0x03, /* 1 - Cyan */
365 0x05, /* 2- Magenta */
366 0x07, /* 3 - White */
367 }
368
369 /* CGA palette 1 bright */
370 static CONST BYTE CgaPalette1i[] =
371 {
372 0x00, /* 0 - Black */
373 0x13, /* 1 - Light cyan */
374 0x15, /* 2 - Light magenta */
375 0x17, /* 3 - Bright White */
376 };
377
378 /* CGA palette 2 */
379 static CONST BYTE CgaPalette2[] =
380 {
381 0x00, /* 0 - Black */
382 0x02, /* 1 - Green */
383 0x04, /* 2 - Red */
384 0x06, /* 3 - Brown */
385 };
386
387 /* CGA palette 2 bright */
388 static CONST BYTE CgaPalette2i[] =
389 {
390 0x00, /* 0 - Black */
391 0x12, /* 1 - Light green */
392 0x14, /* 2 - Light red */
393 0x16, /* 3 - Yellow */
394 };
395
396 // Unused at the moment; same palette as EgaPalette__16Colors
397 static CONST COLORREF CgaPalette2[VGA_MAX_COLORS / 4] =
398 {
399 RGB(0x00, 0x00, 0x00), RGB(0x00, 0x00, 0xAA), RGB(0x00, 0xAA, 0x00), RGB(0x00, 0xAA, 0xAA),
400 RGB(0xAA, 0x00, 0x00), RGB(0xAA, 0x00, 0xAA), RGB(0xAA, 0x55, 0x00), RGB(0xAA, 0xAA, 0xAA),
401 RGB(0x00, 0x00, 0x00), RGB(0x00, 0x00, 0xAA), RGB(0x00, 0xAA, 0x00), RGB(0x00, 0xAA, 0xAA),
402 RGB(0xAA, 0x00, 0x00), RGB(0xAA, 0x00, 0xAA), RGB(0xAA, 0x55, 0x00), RGB(0xAA, 0xAA, 0xAA),
403
404 RGB(0x55, 0x55, 0x55), RGB(0x55, 0x55, 0xFF), RGB(0x55, 0xFF, 0x55), RGB(0x55, 0xFF, 0xFF),
405 RGB(0xFF, 0x55, 0x55), RGB(0xFF, 0x55, 0xFF), RGB(0xFF, 0xFF, 0x55), RGB(0xFF, 0xFF, 0xFF),
406 RGB(0x55, 0x55, 0x55), RGB(0x55, 0x55, 0xFF), RGB(0x55, 0xFF, 0x55), RGB(0x55, 0xFF, 0xFF),
407 RGB(0xFF, 0x55, 0x55), RGB(0xFF, 0x55, 0xFF), RGB(0xFF, 0xFF, 0x55), RGB(0xFF, 0xFF, 0xFF),
408
409 RGB(0x00, 0x00, 0x00), RGB(0x00, 0x00, 0xAA), RGB(0x00, 0xAA, 0x00), RGB(0x00, 0xAA, 0xAA),
410 RGB(0xAA, 0x00, 0x00), RGB(0xAA, 0x00, 0xAA), RGB(0xAA, 0x55, 0x00), RGB(0xAA, 0xAA, 0xAA),
411 RGB(0x00, 0x00, 0x00), RGB(0x00, 0x00, 0xAA), RGB(0x00, 0xAA, 0x00), RGB(0x00, 0xAA, 0xAA),
412 RGB(0xAA, 0x00, 0x00), RGB(0xAA, 0x00, 0xAA), RGB(0xAA, 0x55, 0x00), RGB(0xAA, 0xAA, 0xAA),
413
414 RGB(0x55, 0x55, 0x55), RGB(0x55, 0x55, 0xFF), RGB(0x55, 0xFF, 0x55), RGB(0x55, 0xFF, 0xFF),
415 RGB(0xFF, 0x55, 0x55), RGB(0xFF, 0x55, 0xFF), RGB(0xFF, 0xFF, 0x55), RGB(0xFF, 0xFF, 0xFF),
416 RGB(0x55, 0x55, 0x55), RGB(0x55, 0x55, 0xFF), RGB(0x55, 0xFF, 0x55), RGB(0x55, 0xFF, 0xFF),
417 RGB(0xFF, 0x55, 0x55), RGB(0xFF, 0x55, 0xFF), RGB(0xFF, 0xFF, 0x55), RGB(0xFF, 0xFF, 0xFF)
418 };
419
420 #endif
421
422 static CONST COLORREF EgaPalette__16Colors[VGA_MAX_COLORS / 4] =
423 {
424 RGB(0x00, 0x00, 0x00), RGB(0x00, 0x00, 0xAA), RGB(0x00, 0xAA, 0x00), RGB(0x00, 0xAA, 0xAA),
425 RGB(0xAA, 0x00, 0x00), RGB(0xAA, 0x00, 0xAA), RGB(0xAA, 0x55, 0x00), RGB(0xAA, 0xAA, 0xAA),
426
427 RGB(0x00, 0x00, 0x00), RGB(0x00, 0x00, 0xAA), RGB(0x00, 0xAA, 0x00), RGB(0x00, 0xAA, 0xAA),
428 RGB(0xAA, 0x00, 0x00), RGB(0xAA, 0x00, 0xAA), RGB(0xAA, 0x55, 0x00), RGB(0xAA, 0xAA, 0xAA),
429
430
431 RGB(0x55, 0x55, 0x55), RGB(0x55, 0x55, 0xFF), RGB(0x55, 0xFF, 0x55), RGB(0x55, 0xFF, 0xFF),
432 RGB(0xFF, 0x55, 0x55), RGB(0xFF, 0x55, 0xFF), RGB(0xFF, 0xFF, 0x55), RGB(0xFF, 0xFF, 0xFF),
433
434 RGB(0x55, 0x55, 0x55), RGB(0x55, 0x55, 0xFF), RGB(0x55, 0xFF, 0x55), RGB(0x55, 0xFF, 0xFF),
435 RGB(0xFF, 0x55, 0x55), RGB(0xFF, 0x55, 0xFF), RGB(0xFF, 0xFF, 0x55), RGB(0xFF, 0xFF, 0xFF),
436
437
438
439 RGB(0x00, 0x00, 0x00), RGB(0x00, 0x00, 0xAA), RGB(0x00, 0xAA, 0x00), RGB(0x00, 0xAA, 0xAA),
440 RGB(0xAA, 0x00, 0x00), RGB(0xAA, 0x00, 0xAA), RGB(0xAA, 0x55, 0x00), RGB(0xAA, 0xAA, 0xAA),
441
442 RGB(0x00, 0x00, 0x00), RGB(0x00, 0x00, 0xAA), RGB(0x00, 0xAA, 0x00), RGB(0x00, 0xAA, 0xAA),
443 RGB(0xAA, 0x00, 0x00), RGB(0xAA, 0x00, 0xAA), RGB(0xAA, 0x55, 0x00), RGB(0xAA, 0xAA, 0xAA),
444
445
446 RGB(0x55, 0x55, 0x55), RGB(0x55, 0x55, 0xFF), RGB(0x55, 0xFF, 0x55), RGB(0x55, 0xFF, 0xFF),
447 RGB(0xFF, 0x55, 0x55), RGB(0xFF, 0x55, 0xFF), RGB(0xFF, 0xFF, 0x55), RGB(0xFF, 0xFF, 0xFF),
448
449 RGB(0x55, 0x55, 0x55), RGB(0x55, 0x55, 0xFF), RGB(0x55, 0xFF, 0x55), RGB(0x55, 0xFF, 0xFF),
450 RGB(0xFF, 0x55, 0x55), RGB(0xFF, 0x55, 0xFF), RGB(0xFF, 0xFF, 0x55), RGB(0xFF, 0xFF, 0xFF)
451 };
452
453 // This is the same as TextPalette
454 static CONST COLORREF EgaPalette__HiRes[VGA_MAX_COLORS / 4] =
455 {
456 RGB(0x00, 0x00, 0x00), RGB(0x00, 0x00, 0xAA), RGB(0x00, 0xAA, 0x00), RGB(0x00, 0xAA, 0xAA),
457 RGB(0xAA, 0x00, 0x00), RGB(0xAA, 0x00, 0xAA), RGB(0xAA, 0xAA, 0x00), RGB(0xAA, 0xAA, 0xAA),
458 RGB(0x00, 0x00, 0x55), RGB(0x00, 0x00, 0xFF), RGB(0x00, 0xAA, 0x55), RGB(0x00, 0xAA, 0xFF),
459 RGB(0xAA, 0x00, 0x55), RGB(0xAA, 0x00, 0xFF), RGB(0xAA, 0xAA, 0x55), RGB(0xAA, 0xAA, 0xFF),
460
461 RGB(0x00, 0x55, 0x00), RGB(0x00, 0x55, 0xAA), RGB(0x00, 0xFF, 0x00), RGB(0x00, 0xFF, 0xAA),
462 RGB(0xAA, 0x55, 0x00), RGB(0xAA, 0x55, 0xAA), RGB(0xAA, 0xFF, 0x00), RGB(0xAA, 0xFF, 0xAA),
463 RGB(0x00, 0x55, 0x55), RGB(0x00, 0x55, 0xFF), RGB(0x00, 0xFF, 0x55), RGB(0x00, 0xFF, 0xFF),
464 RGB(0xAA, 0x55, 0x55), RGB(0xAA, 0x55, 0xFF), RGB(0xAA, 0xFF, 0x55), RGB(0xAA, 0xFF, 0xFF),
465
466
467 RGB(0x55, 0x00, 0x00), RGB(0x55, 0x00, 0xAA), RGB(0x55, 0xAA, 0x00), RGB(0x55, 0xAA, 0xAA),
468 RGB(0xFF, 0x00, 0x00), RGB(0xFF, 0x00, 0xAA), RGB(0xFF, 0xAA, 0x00), RGB(0xFF, 0xAA, 0xAA),
469 RGB(0x55, 0x00, 0x55), RGB(0x55, 0x00, 0xFF), RGB(0x55, 0xAA, 0x55), RGB(0x55, 0xAA, 0xFF),
470 RGB(0xFF, 0x00, 0x55), RGB(0xFF, 0x00, 0xFF), RGB(0xFF, 0xAA, 0x55), RGB(0xFF, 0xAA, 0xFF),
471
472 RGB(0x55, 0x55, 0x00), RGB(0x55, 0x55, 0xAA), RGB(0x55, 0xFF, 0x00), RGB(0x55, 0xFF, 0xAA),
473 RGB(0xFF, 0x55, 0x00), RGB(0xFF, 0x55, 0xAA), RGB(0xFF, 0xFF, 0x00), RGB(0xFF, 0xFF, 0xAA),
474 RGB(0x55, 0x55, 0x55), RGB(0x55, 0x55, 0xFF), RGB(0x55, 0xFF, 0x55), RGB(0x55, 0xFF, 0xFF),
475 RGB(0xFF, 0x55, 0x55), RGB(0xFF, 0x55, 0xFF), RGB(0xFF, 0xFF, 0x55), RGB(0xFF, 0xFF, 0xFF)
476 };
477
478 #define USE_REACTOS_COLORS
479 // #define USE_DOSBOX_COLORS
480
481 /*
482 * Same palette as the default one 'VgaDefaultPalette' in vga.c
483 */
484 #if defined(USE_REACTOS_COLORS)
485
486 // ReactOS colors
487 static CONST COLORREF VgaPalette[VGA_MAX_COLORS] =
488 {
489 RGB(0x00, 0x00, 0x00), RGB(0x00, 0x00, 0xAA), RGB(0x00, 0xAA, 0x00), RGB(0x00, 0xAA, 0xAA),
490 RGB(0xAA, 0x00, 0x00), RGB(0xAA, 0x00, 0xAA), RGB(0xAA, 0x55, 0x00), RGB(0xAA, 0xAA, 0xAA),
491 RGB(0x55, 0x55, 0x55), RGB(0x55, 0x55, 0xFF), RGB(0x55, 0xFF, 0x55), RGB(0x55, 0xFF, 0xFF),
492 RGB(0xFF, 0x55, 0x55), RGB(0xFF, 0x55, 0xFF), RGB(0xFF, 0xFF, 0x55), RGB(0xFF, 0xFF, 0xFF),
493 RGB(0x00, 0x00, 0x00), RGB(0x10, 0x10, 0x10), RGB(0x20, 0x20, 0x20), RGB(0x35, 0x35, 0x35),
494 RGB(0x45, 0x45, 0x45), RGB(0x55, 0x55, 0x55), RGB(0x65, 0x65, 0x65), RGB(0x75, 0x75, 0x75),
495 RGB(0x8A, 0x8A, 0x8A), RGB(0x9A, 0x9A, 0x9A), RGB(0xAA, 0xAA, 0xAA), RGB(0xBA, 0xBA, 0xBA),
496 RGB(0xCA, 0xCA, 0xCA), RGB(0xDF, 0xDF, 0xDF), RGB(0xEF, 0xEF, 0xEF), RGB(0xFF, 0xFF, 0xFF),
497 RGB(0x00, 0x00, 0xFF), RGB(0x41, 0x00, 0xFF), RGB(0x82, 0x00, 0xFF), RGB(0xBE, 0x00, 0xFF),
498 RGB(0xFF, 0x00, 0xFF), RGB(0xFF, 0x00, 0xBE), RGB(0xFF, 0x00, 0x82), RGB(0xFF, 0x00, 0x41),
499 RGB(0xFF, 0x00, 0x00), RGB(0xFF, 0x41, 0x00), RGB(0xFF, 0x82, 0x00), RGB(0xFF, 0xBE, 0x00),
500 RGB(0xFF, 0xFF, 0x00), RGB(0xBE, 0xFF, 0x00), RGB(0x82, 0xFF, 0x00), RGB(0x41, 0xFF, 0x00),
501 RGB(0x00, 0xFF, 0x00), RGB(0x00, 0xFF, 0x41), RGB(0x00, 0xFF, 0x82), RGB(0x00, 0xFF, 0xBE),
502 RGB(0x00, 0xFF, 0xFF), RGB(0x00, 0xBE, 0xFF), RGB(0x00, 0x82, 0xFF), RGB(0x00, 0x41, 0xFF),
503 RGB(0x82, 0x82, 0xFF), RGB(0x9E, 0x82, 0xFF), RGB(0xBE, 0x82, 0xFF), RGB(0xDF, 0x82, 0xFF),
504 RGB(0xFF, 0x82, 0xFF), RGB(0xFF, 0x82, 0xDF), RGB(0xFF, 0x82, 0xBE), RGB(0xFF, 0x82, 0x9E),
505 RGB(0xFF, 0x82, 0x82), RGB(0xFF, 0x9E, 0x82), RGB(0xFF, 0xBE, 0x82), RGB(0xFF, 0xDF, 0x82),
506 RGB(0xFF, 0xFF, 0x82), RGB(0xDF, 0xFF, 0x82), RGB(0xBE, 0xFF, 0x82), RGB(0x9E, 0xFF, 0x82),
507 RGB(0x82, 0xFF, 0x82), RGB(0x82, 0xFF, 0x9E), RGB(0x82, 0xFF, 0xBE), RGB(0x82, 0xFF, 0xDF),
508 RGB(0x82, 0xFF, 0xFF), RGB(0x82, 0xDF, 0xFF), RGB(0x82, 0xBE, 0xFF), RGB(0x82, 0x9E, 0xFF),
509 RGB(0xBA, 0xBA, 0xFF), RGB(0xCA, 0xBA, 0xFF), RGB(0xDF, 0xBA, 0xFF), RGB(0xEF, 0xBA, 0xFF),
510 RGB(0xFF, 0xBA, 0xFF), RGB(0xFF, 0xBA, 0xEF), RGB(0xFF, 0xBA, 0xDF), RGB(0xFF, 0xBA, 0xCA),
511 RGB(0xFF, 0xBA, 0xBA), RGB(0xFF, 0xCA, 0xBA), RGB(0xFF, 0xDF, 0xBA), RGB(0xFF, 0xEF, 0xBA),
512 RGB(0xFF, 0xFF, 0xBA), RGB(0xEF, 0xFF, 0xBA), RGB(0xDF, 0xFF, 0xBA), RGB(0xCA, 0xFF, 0xBA),
513 RGB(0xBA, 0xFF, 0xBA), RGB(0xBA, 0xFF, 0xCA), RGB(0xBA, 0xFF, 0xDF), RGB(0xBA, 0xFF, 0xEF),
514 RGB(0xBA, 0xFF, 0xFF), RGB(0xBA, 0xEF, 0xFF), RGB(0xBA, 0xDF, 0xFF), RGB(0xBA, 0xCA, 0xFF),
515 RGB(0x00, 0x00, 0x71), RGB(0x1C, 0x00, 0x71), RGB(0x39, 0x00, 0x71), RGB(0x55, 0x00, 0x71),
516 RGB(0x71, 0x00, 0x71), RGB(0x71, 0x00, 0x55), RGB(0x71, 0x00, 0x39), RGB(0x71, 0x00, 0x1C),
517 RGB(0x71, 0x00, 0x00), RGB(0x71, 0x1C, 0x00), RGB(0x71, 0x39, 0x00), RGB(0x71, 0x55, 0x00),
518 RGB(0x71, 0x71, 0x00), RGB(0x55, 0x71, 0x00), RGB(0x39, 0x71, 0x00), RGB(0x1C, 0x71, 0x00),
519 RGB(0x00, 0x71, 0x00), RGB(0x00, 0x71, 0x1C), RGB(0x00, 0x71, 0x39), RGB(0x00, 0x71, 0x55),
520 RGB(0x00, 0x71, 0x71), RGB(0x00, 0x55, 0x71), RGB(0x00, 0x39, 0x71), RGB(0x00, 0x1C, 0x71),
521 RGB(0x39, 0x39, 0x71), RGB(0x45, 0x39, 0x71), RGB(0x55, 0x39, 0x71), RGB(0x61, 0x39, 0x71),
522 RGB(0x71, 0x39, 0x71), RGB(0x71, 0x39, 0x61), RGB(0x71, 0x39, 0x55), RGB(0x71, 0x39, 0x45),
523 RGB(0x71, 0x39, 0x39), RGB(0x71, 0x45, 0x39), RGB(0x71, 0x55, 0x39), RGB(0x71, 0x61, 0x39),
524 RGB(0x71, 0x71, 0x39), RGB(0x61, 0x71, 0x39), RGB(0x55, 0x71, 0x39), RGB(0x45, 0x71, 0x39),
525 RGB(0x39, 0x71, 0x39), RGB(0x39, 0x71, 0x45), RGB(0x39, 0x71, 0x55), RGB(0x39, 0x71, 0x61),
526 RGB(0x39, 0x71, 0x71), RGB(0x39, 0x61, 0x71), RGB(0x39, 0x55, 0x71), RGB(0x39, 0x45, 0x71),
527 RGB(0x51, 0x51, 0x71), RGB(0x59, 0x51, 0x71), RGB(0x61, 0x51, 0x71), RGB(0x69, 0x51, 0x71),
528 RGB(0x71, 0x51, 0x71), RGB(0x71, 0x51, 0x69), RGB(0x71, 0x51, 0x61), RGB(0x71, 0x51, 0x59),
529 RGB(0x71, 0x51, 0x51), RGB(0x71, 0x59, 0x51), RGB(0x71, 0x61, 0x51), RGB(0x71, 0x69, 0x51),
530 RGB(0x71, 0x71, 0x51), RGB(0x69, 0x71, 0x51), RGB(0x61, 0x71, 0x51), RGB(0x59, 0x71, 0x51),
531 RGB(0x51, 0x71, 0x51), RGB(0x51, 0x71, 0x59), RGB(0x51, 0x71, 0x61), RGB(0x51, 0x71, 0x69),
532 RGB(0x51, 0x71, 0x71), RGB(0x51, 0x69, 0x71), RGB(0x51, 0x61, 0x71), RGB(0x51, 0x59, 0x71),
533 RGB(0x00, 0x00, 0x41), RGB(0x10, 0x00, 0x41), RGB(0x20, 0x00, 0x41), RGB(0x31, 0x00, 0x41),
534 RGB(0x41, 0x00, 0x41), RGB(0x41, 0x00, 0x31), RGB(0x41, 0x00, 0x20), RGB(0x41, 0x00, 0x10),
535 RGB(0x41, 0x00, 0x00), RGB(0x41, 0x10, 0x00), RGB(0x41, 0x20, 0x00), RGB(0x41, 0x31, 0x00),
536 RGB(0x41, 0x41, 0x00), RGB(0x31, 0x41, 0x00), RGB(0x20, 0x41, 0x00), RGB(0x10, 0x41, 0x00),
537 RGB(0x00, 0x41, 0x00), RGB(0x00, 0x41, 0x10), RGB(0x00, 0x41, 0x20), RGB(0x00, 0x41, 0x31),
538 RGB(0x00, 0x41, 0x41), RGB(0x00, 0x31, 0x41), RGB(0x00, 0x20, 0x41), RGB(0x00, 0x10, 0x41),
539 RGB(0x20, 0x20, 0x41), RGB(0x28, 0x20, 0x41), RGB(0x31, 0x20, 0x41), RGB(0x39, 0x20, 0x41),
540 RGB(0x41, 0x20, 0x41), RGB(0x41, 0x20, 0x39), RGB(0x41, 0x20, 0x31), RGB(0x41, 0x20, 0x28),
541 RGB(0x41, 0x20, 0x20), RGB(0x41, 0x28, 0x20), RGB(0x41, 0x31, 0x20), RGB(0x41, 0x39, 0x20),
542 RGB(0x41, 0x41, 0x20), RGB(0x39, 0x41, 0x20), RGB(0x31, 0x41, 0x20), RGB(0x28, 0x41, 0x20),
543 RGB(0x20, 0x41, 0x20), RGB(0x20, 0x41, 0x28), RGB(0x20, 0x41, 0x31), RGB(0x20, 0x41, 0x39),
544 RGB(0x20, 0x41, 0x41), RGB(0x20, 0x39, 0x41), RGB(0x20, 0x31, 0x41), RGB(0x20, 0x28, 0x41),
545 RGB(0x2D, 0x2D, 0x41), RGB(0x31, 0x2D, 0x41), RGB(0x35, 0x2D, 0x41), RGB(0x3D, 0x2D, 0x41),
546 RGB(0x41, 0x2D, 0x41), RGB(0x41, 0x2D, 0x3D), RGB(0x41, 0x2D, 0x35), RGB(0x41, 0x2D, 0x31),
547 RGB(0x41, 0x2D, 0x2D), RGB(0x41, 0x31, 0x2D), RGB(0x41, 0x35, 0x2D), RGB(0x41, 0x3D, 0x2D),
548 RGB(0x41, 0x41, 0x2D), RGB(0x3D, 0x41, 0x2D), RGB(0x35, 0x41, 0x2D), RGB(0x31, 0x41, 0x2D),
549 RGB(0x2D, 0x41, 0x2D), RGB(0x2D, 0x41, 0x31), RGB(0x2D, 0x41, 0x35), RGB(0x2D, 0x41, 0x3D),
550 RGB(0x2D, 0x41, 0x41), RGB(0x2D, 0x3D, 0x41), RGB(0x2D, 0x35, 0x41), RGB(0x2D, 0x31, 0x41),
551 RGB(0x00, 0x00, 0x00), RGB(0x00, 0x00, 0x00), RGB(0x00, 0x00, 0x00), RGB(0x00, 0x00, 0x00),
552 RGB(0x00, 0x00, 0x00), RGB(0x00, 0x00, 0x00), RGB(0x00, 0x00, 0x00), RGB(0x00, 0x00, 0x00)
553 };
554
555 #elif defined(USE_DOSBOX_COLORS)
556
557 // DOSBox colors
558 static CONST COLORREF VgaPalette[VGA_MAX_COLORS] =
559 {
560 RGB(0x00, 0x00, 0x00), RGB(0x00, 0x00, 0xAA), RGB(0x00, 0xAA, 0x00), RGB(0x00, 0xAA, 0xAA),
561 RGB(0xAA, 0x00, 0x00), RGB(0xAA, 0x00, 0xAA), RGB(0xAA, 0x55, 0x00), RGB(0xAA, 0xAA, 0xAA),
562 RGB(0x55, 0x55, 0x55), RGB(0x55, 0x55, 0xFF), RGB(0x55, 0xFF, 0x55), RGB(0x55, 0xFF, 0xFF),
563 RGB(0xFF, 0x55, 0x55), RGB(0xFF, 0x55, 0xFF), RGB(0xFF, 0xFF, 0x55), RGB(0xFF, 0xFF, 0xFF),
564 RGB(0x00, 0x00, 0x00), RGB(0x14, 0x14, 0x14), RGB(0x20, 0x20, 0x20), RGB(0x2C, 0x2C, 0x2C),
565 RGB(0x38, 0x38, 0x38), RGB(0x45, 0x45, 0x45), RGB(0x51, 0x51, 0x51), RGB(0x61, 0x61, 0x61),
566 RGB(0x71, 0x71, 0x71), RGB(0x82, 0x82, 0x82), RGB(0x92, 0x92, 0x92), RGB(0xA2, 0xA2, 0xA2),
567 RGB(0xB6, 0xB6, 0xB6), RGB(0xCB, 0xCB, 0xCB), RGB(0xE3, 0xE3, 0xE3), RGB(0xFF, 0xFF, 0xFF),
568 RGB(0x00, 0x00, 0xFF), RGB(0x41, 0x00, 0xFF), RGB(0x7D, 0x00, 0xFF), RGB(0xBE, 0x00, 0xFF),
569 RGB(0xFF, 0x00, 0xFF), RGB(0xFF, 0x00, 0xBE), RGB(0xFF, 0x00, 0x7D), RGB(0xFF, 0x00, 0x41),
570 RGB(0xFF, 0x00, 0x00), RGB(0xFF, 0x41, 0x00), RGB(0xFF, 0x7D, 0x00), RGB(0xFF, 0xBE, 0x00),
571 RGB(0xFF, 0xFF, 0x00), RGB(0xBE, 0xFF, 0x00), RGB(0x7D, 0xFF, 0x00), RGB(0x41, 0xFF, 0x00),
572 RGB(0x00, 0xFF, 0x00), RGB(0x00, 0xFF, 0x41), RGB(0x00, 0xFF, 0x7D), RGB(0x00, 0xFF, 0xBE),
573 RGB(0x00, 0xFF, 0xFF), RGB(0x00, 0xBE, 0xFF), RGB(0x00, 0x7D, 0xFF), RGB(0x00, 0x41, 0xFF),
574 RGB(0x7D, 0x7D, 0xFF), RGB(0x9E, 0x7D, 0xFF), RGB(0xBE, 0x7D, 0xFF), RGB(0xDF, 0x7D, 0xFF),
575 RGB(0xFF, 0x7D, 0xFF), RGB(0xFF, 0x7D, 0xDF), RGB(0xFF, 0x7D, 0xBE), RGB(0xFF, 0x7D, 0x9E),
576
577 RGB(0xFF, 0x7D, 0x7D), RGB(0xFF, 0x9E, 0x7D), RGB(0xFF, 0xBE, 0x7D), RGB(0xFF, 0xDF, 0x7D),
578 RGB(0xFF, 0xFF, 0x7D), RGB(0xDF, 0xFF, 0x7D), RGB(0xBE, 0xFF, 0x7D), RGB(0x9E, 0xFF, 0x7D),
579 RGB(0x7D, 0xFF, 0x7D), RGB(0x7D, 0xFF, 0x9E), RGB(0x7D, 0xFF, 0xBE), RGB(0x7D, 0xFF, 0xDF),
580 RGB(0x7D, 0xFF, 0xFF), RGB(0x7D, 0xDF, 0xFF), RGB(0x7D, 0xBE, 0xFF), RGB(0x7D, 0x9E, 0xFF),
581 RGB(0xB6, 0xB6, 0xFF), RGB(0xC7, 0xB6, 0xFF), RGB(0xDB, 0xB6, 0xFF), RGB(0xEB, 0xB6, 0xFF),
582 RGB(0xFF, 0xB6, 0xFF), RGB(0xFF, 0xB6, 0xEB), RGB(0xFF, 0xB6, 0xDB), RGB(0xFF, 0xB6, 0xC7),
583 RGB(0xFF, 0xB6, 0xB6), RGB(0xFF, 0xC7, 0xB6), RGB(0xFF, 0xDB, 0xB6), RGB(0xFF, 0xEB, 0xB6),
584 RGB(0xFF, 0xFF, 0xB6), RGB(0xEB, 0xFF, 0xB6), RGB(0xDB, 0xFF, 0xB6), RGB(0xC7, 0xFF, 0xB6),
585 RGB(0xB6, 0xFF, 0xB6), RGB(0xB6, 0xFF, 0xC7), RGB(0xB6, 0xFF, 0xDB), RGB(0xB6, 0xFF, 0xEB),
586 RGB(0xB6, 0xFF, 0xFF), RGB(0xB6, 0xEB, 0xFF), RGB(0xB6, 0xDB, 0xFF), RGB(0xB6, 0xC7, 0xFF),
587 RGB(0x00, 0x00, 0x71), RGB(0x1C, 0x00, 0x71), RGB(0x38, 0x00, 0x71), RGB(0x55, 0x00, 0x71),
588 RGB(0x71, 0x00, 0x71), RGB(0x71, 0x00, 0x55), RGB(0x71, 0x00, 0x38), RGB(0x71, 0x00, 0x1C),
589 RGB(0x71, 0x00, 0x00), RGB(0x71, 0x1C, 0x00), RGB(0x71, 0x38, 0x00), RGB(0x71, 0x55, 0x00),
590 RGB(0x71, 0x71, 0x00), RGB(0x55, 0x71, 0x00), RGB(0x38, 0x71, 0x00), RGB(0x1C, 0x71, 0x00),
591 RGB(0x00, 0x71, 0x00), RGB(0x00, 0x71, 0x1C), RGB(0x00, 0x71, 0x38), RGB(0x00, 0x71, 0x55),
592 RGB(0x00, 0x71, 0x71), RGB(0x00, 0x55, 0x71), RGB(0x00, 0x38, 0x71), RGB(0x00, 0x1C, 0x71),
593
594 RGB(0x38, 0x38, 0x71), RGB(0x45, 0x38, 0x71), RGB(0x55, 0x38, 0x71), RGB(0x61, 0x38, 0x71),
595 RGB(0x71, 0x38, 0x71), RGB(0x71, 0x38, 0x61), RGB(0x71, 0x38, 0x55), RGB(0x71, 0x38, 0x45),
596 RGB(0x71, 0x38, 0x38), RGB(0x71, 0x45, 0x38), RGB(0x71, 0x55, 0x38), RGB(0x71, 0x61, 0x38),
597 RGB(0x71, 0x71, 0x38), RGB(0x61, 0x71, 0x38), RGB(0x55, 0x71, 0x38), RGB(0x45, 0x71, 0x38),
598 RGB(0x38, 0x71, 0x38), RGB(0x38, 0x71, 0x45), RGB(0x38, 0x71, 0x55), RGB(0x38, 0x71, 0x61),
599 RGB(0x38, 0x71, 0x71), RGB(0x38, 0x61, 0x71), RGB(0x38, 0x55, 0x71), RGB(0x38, 0x45, 0x71),
600 RGB(0x51, 0x51, 0x71), RGB(0x59, 0x51, 0x71), RGB(0x61, 0x51, 0x71), RGB(0x69, 0x51, 0x71),
601 RGB(0x71, 0x51, 0x71), RGB(0x71, 0x51, 0x69), RGB(0x71, 0x51, 0x61), RGB(0x71, 0x51, 0x59),
602 RGB(0x71, 0x51, 0x51), RGB(0x71, 0x59, 0x51), RGB(0x71, 0x61, 0x51), RGB(0x71, 0x69, 0x51),
603 RGB(0x71, 0x71, 0x51), RGB(0x69, 0x71, 0x51), RGB(0x61, 0x71, 0x51), RGB(0x59, 0x71, 0x51),
604 RGB(0x51, 0x71, 0x51), RGB(0x51, 0x71, 0x59), RGB(0x51, 0x71, 0x61), RGB(0x51, 0x71, 0x69),
605 RGB(0x51, 0x71, 0x71), RGB(0x51, 0x69, 0x71), RGB(0x51, 0x61, 0x71), RGB(0x51, 0x59, 0x71),
606 RGB(0x00, 0x00, 0x41), RGB(0x10, 0x00, 0x41), RGB(0x20, 0x00, 0x41), RGB(0x30, 0x00, 0x41),
607 RGB(0x41, 0x00, 0x41), RGB(0x41, 0x00, 0x30), RGB(0x41, 0x00, 0x20), RGB(0x41, 0x00, 0x10),
608 RGB(0x41, 0x00, 0x00), RGB(0x41, 0x10, 0x00), RGB(0x41, 0x20, 0x00), RGB(0x41, 0x30, 0x00),
609 RGB(0x41, 0x41, 0x00), RGB(0x30, 0x41, 0x00), RGB(0x20, 0x41, 0x00), RGB(0x10, 0x41, 0x00),
610
611 RGB(0x00, 0x41, 0x00), RGB(0x00, 0x41, 0x10), RGB(0x00, 0x41, 0x20), RGB(0x00, 0x41, 0x30),
612 RGB(0x00, 0x41, 0x41), RGB(0x00, 0x30, 0x41), RGB(0x00, 0x20, 0x41), RGB(0x00, 0x10, 0x41),
613 RGB(0x20, 0x20, 0x41), RGB(0x28, 0x20, 0x41), RGB(0x30, 0x20, 0x41), RGB(0x38, 0x20, 0x41),
614 RGB(0x41, 0x20, 0x41), RGB(0x41, 0x20, 0x38), RGB(0x41, 0x20, 0x30), RGB(0x41, 0x20, 0x28),
615 RGB(0x41, 0x20, 0x20), RGB(0x41, 0x28, 0x20), RGB(0x41, 0x30, 0x20), RGB(0x41, 0x38, 0x20),
616 RGB(0x41, 0x41, 0x20), RGB(0x38, 0x41, 0x20), RGB(0x30, 0x41, 0x20), RGB(0x28, 0x41, 0x20),
617 RGB(0x20, 0x41, 0x20), RGB(0x20, 0x41, 0x28), RGB(0x20, 0x41, 0x30), RGB(0x20, 0x41, 0x38),
618 RGB(0x20, 0x41, 0x41), RGB(0x20, 0x38, 0x41), RGB(0x20, 0x30, 0x41), RGB(0x20, 0x28, 0x41),
619 RGB(0x2C, 0x2C, 0x41), RGB(0x30, 0x2C, 0x41), RGB(0x34, 0x2C, 0x41), RGB(0x3C, 0x2C, 0x41),
620 RGB(0x41, 0x2C, 0x41), RGB(0x41, 0x2C, 0x3C), RGB(0x41, 0x2C, 0x34), RGB(0x41, 0x2C, 0x30),
621 RGB(0x41, 0x2C, 0x2C), RGB(0x41, 0x30, 0x2C), RGB(0x41, 0x34, 0x2C), RGB(0x41, 0x3C, 0x2C),
622 RGB(0x41, 0x41, 0x2C), RGB(0x3C, 0x41, 0x2C), RGB(0x34, 0x41, 0x2C), RGB(0x30, 0x41, 0x2C),
623 RGB(0x2C, 0x41, 0x2C), RGB(0x2C, 0x41, 0x30), RGB(0x2C, 0x41, 0x34), RGB(0x2C, 0x41, 0x3C),
624 RGB(0x2C, 0x41, 0x41), RGB(0x2C, 0x3C, 0x41), RGB(0x2C, 0x34, 0x41), RGB(0x2C, 0x30, 0x41),
625 RGB(0x00, 0x00, 0x00), RGB(0x00, 0x00, 0x00), RGB(0x00, 0x00, 0x00), RGB(0x00, 0x00, 0x00),
626 RGB(0x00, 0x00, 0x00), RGB(0x00, 0x00, 0x00), RGB(0x00, 0x00, 0x00), RGB(0x00, 0x00, 0x00)
627 };
628
629 #endif
630
631 static CONST UCHAR Font8x8[VGA_FONT_CHARACTERS * 8] =
632 {
633 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
634 0x7E, 0x81, 0xA5, 0x81, 0xBD, 0x99, 0x81, 0x7E,
635 0x7E, 0xFF, 0xDB, 0xFF, 0xC3, 0xE7, 0xFF, 0x7E,
636 0x6C, 0xFE, 0xFE, 0xFE, 0x7C, 0x38, 0x10, 0x00,
637 0x10, 0x38, 0x7C, 0xFE, 0x7C, 0x38, 0x10, 0x00,
638 0x38, 0x7C, 0x38, 0xFE, 0xFE, 0x92, 0x10, 0x7C,
639 0x00, 0x10, 0x38, 0x7C, 0xFE, 0x7C, 0x38, 0x7C,
640 0x00, 0x00, 0x18, 0x3C, 0x3C, 0x18, 0x00, 0x00,
641 0xFF, 0xFF, 0xE7, 0xC3, 0xC3, 0xE7, 0xFF, 0xFF,
642 0x00, 0x3C, 0x66, 0x42, 0x42, 0x66, 0x3C, 0x00,
643 0xFF, 0xC3, 0x99, 0xBD, 0xBD, 0x99, 0xC3, 0xFF,
644 0x0F, 0x07, 0x0F, 0x7D, 0xCC, 0xCC, 0xCC, 0x78,
645 0x3C, 0x66, 0x66, 0x66, 0x3C, 0x18, 0x7E, 0x18,
646 0x3F, 0x33, 0x3F, 0x30, 0x30, 0x70, 0xF0, 0xE0,
647 0x7F, 0x63, 0x7F, 0x63, 0x63, 0x67, 0xE6, 0xC0,
648 0x99, 0x5A, 0x3C, 0xE7, 0xE7, 0x3C, 0x5A, 0x99,
649 0x80, 0xE0, 0xF8, 0xFE, 0xF8, 0xE0, 0x80, 0x00,
650 0x02, 0x0E, 0x3E, 0xFE, 0x3E, 0x0E, 0x02, 0x00,
651 0x18, 0x3C, 0x7E, 0x18, 0x18, 0x7E, 0x3C, 0x18,
652 0x66, 0x66, 0x66, 0x66, 0x66, 0x00, 0x66, 0x00,
653 0x7F, 0xDB, 0xDB, 0x7B, 0x1B, 0x1B, 0x1B, 0x00,
654 0x3E, 0x63, 0x38, 0x6C, 0x6C, 0x38, 0x86, 0xFC,
655 0x00, 0x00, 0x00, 0x00, 0x7E, 0x7E, 0x7E, 0x00,
656 0x18, 0x3C, 0x7E, 0x18, 0x7E, 0x3C, 0x18, 0xFF,
657 0x18, 0x3C, 0x7E, 0x18, 0x18, 0x18, 0x18, 0x00,
658 0x18, 0x18, 0x18, 0x18, 0x7E, 0x3C, 0x18, 0x00,
659 0x00, 0x18, 0x0C, 0xFE, 0x0C, 0x18, 0x00, 0x00,
660 0x00, 0x30, 0x60, 0xFE, 0x60, 0x30, 0x00, 0x00,
661 0x00, 0x00, 0xC0, 0xC0, 0xC0, 0xFE, 0x00, 0x00,
662 0x00, 0x24, 0x66, 0xFF, 0x66, 0x24, 0x00, 0x00,
663 0x00, 0x18, 0x3C, 0x7E, 0xFF, 0xFF, 0x00, 0x00,
664 0x00, 0xFF, 0xFF, 0x7E, 0x3C, 0x18, 0x00, 0x00,
665 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
666 0x18, 0x3C, 0x3C, 0x18, 0x18, 0x00, 0x18, 0x00,
667 0x6C, 0x6C, 0x6C, 0x00, 0x00, 0x00, 0x00, 0x00,
668 0x6C, 0x6C, 0xFE, 0x6C, 0xFE, 0x6C, 0x6C, 0x00,
669 0x18, 0x7E, 0xC0, 0x7C, 0x06, 0xFC, 0x18, 0x00,
670 0x00, 0xC6, 0xCC, 0x18, 0x30, 0x66, 0xC6, 0x00,
671 0x38, 0x6C, 0x38, 0x76, 0xDC, 0xCC, 0x76, 0x00,
672 0x30, 0x30, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00,
673 0x18, 0x30, 0x60, 0x60, 0x60, 0x30, 0x18, 0x00,
674 0x60, 0x30, 0x18, 0x18, 0x18, 0x30, 0x60, 0x00,
675 0x00, 0x66, 0x3C, 0xFF, 0x3C, 0x66, 0x00, 0x00,
676 0x00, 0x18, 0x18, 0x7E, 0x18, 0x18, 0x00, 0x00,
677 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x30,
678 0x00, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x00, 0x00,
679 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x00,
680 0x06, 0x0C, 0x18, 0x30, 0x60, 0xC0, 0x80, 0x00,
681 0x7C, 0xCE, 0xDE, 0xF6, 0xE6, 0xC6, 0x7C, 0x00,
682 0x30, 0x70, 0x30, 0x30, 0x30, 0x30, 0xFC, 0x00,
683 0x78, 0xCC, 0x0C, 0x38, 0x60, 0xCC, 0xFC, 0x00,
684 0x78, 0xCC, 0x0C, 0x38, 0x0C, 0xCC, 0x78, 0x00,
685 0x1C, 0x3C, 0x6C, 0xCC, 0xFE, 0x0C, 0x1E, 0x00,
686 0xFC, 0xC0, 0xF8, 0x0C, 0x0C, 0xCC, 0x78, 0x00,
687 0x38, 0x60, 0xC0, 0xF8, 0xCC, 0xCC, 0x78, 0x00,
688 0xFC, 0xCC, 0x0C, 0x18, 0x30, 0x30, 0x30, 0x00,
689 0x78, 0xCC, 0xCC, 0x78, 0xCC, 0xCC, 0x78, 0x00,
690 0x78, 0xCC, 0xCC, 0x7C, 0x0C, 0x18, 0x70, 0x00,
691 0x00, 0x18, 0x18, 0x00, 0x00, 0x18, 0x18, 0x00,
692 0x00, 0x18, 0x18, 0x00, 0x00, 0x18, 0x18, 0x30,
693 0x18, 0x30, 0x60, 0xC0, 0x60, 0x30, 0x18, 0x00,
694 0x00, 0x00, 0x7E, 0x00, 0x7E, 0x00, 0x00, 0x00,
695 0x60, 0x30, 0x18, 0x0C, 0x18, 0x30, 0x60, 0x00,
696 0x3C, 0x66, 0x0C, 0x18, 0x18, 0x00, 0x18, 0x00,
697 0x7C, 0xC6, 0xDE, 0xDE, 0xDC, 0xC0, 0x7C, 0x00,
698 0x30, 0x78, 0xCC, 0xCC, 0xFC, 0xCC, 0xCC, 0x00,
699 0xFC, 0x66, 0x66, 0x7C, 0x66, 0x66, 0xFC, 0x00,
700 0x3C, 0x66, 0xC0, 0xC0, 0xC0, 0x66, 0x3C, 0x00,
701 0xF8, 0x6C, 0x66, 0x66, 0x66, 0x6C, 0xF8, 0x00,
702 0xFE, 0x62, 0x68, 0x78, 0x68, 0x62, 0xFE, 0x00,
703 0xFE, 0x62, 0x68, 0x78, 0x68, 0x60, 0xF0, 0x00,
704 0x3C, 0x66, 0xC0, 0xC0, 0xCE, 0x66, 0x3A, 0x00,
705 0xCC, 0xCC, 0xCC, 0xFC, 0xCC, 0xCC, 0xCC, 0x00,
706 0x78, 0x30, 0x30, 0x30, 0x30, 0x30, 0x78, 0x00,
707 0x1E, 0x0C, 0x0C, 0x0C, 0xCC, 0xCC, 0x78, 0x00,
708 0xE6, 0x66, 0x6C, 0x78, 0x6C, 0x66, 0xE6, 0x00,
709 0xF0, 0x60, 0x60, 0x60, 0x62, 0x66, 0xFE, 0x00,
710 0xC6, 0xEE, 0xFE, 0xFE, 0xD6, 0xC6, 0xC6, 0x00,
711 0xC6, 0xE6, 0xF6, 0xDE, 0xCE, 0xC6, 0xC6, 0x00,
712 0x38, 0x6C, 0xC6, 0xC6, 0xC6, 0x6C, 0x38, 0x00,
713 0xFC, 0x66, 0x66, 0x7C, 0x60, 0x60, 0xF0, 0x00,
714 0x7C, 0xC6, 0xC6, 0xC6, 0xD6, 0x7C, 0x0E, 0x00,
715 0xFC, 0x66, 0x66, 0x7C, 0x6C, 0x66, 0xE6, 0x00,
716 0x7C, 0xC6, 0xE0, 0x78, 0x0E, 0xC6, 0x7C, 0x00,
717 0xFC, 0xB4, 0x30, 0x30, 0x30, 0x30, 0x78, 0x00,
718 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xFC, 0x00,
719 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x78, 0x30, 0x00,
720 0xC6, 0xC6, 0xC6, 0xC6, 0xD6, 0xFE, 0x6C, 0x00,
721 0xC6, 0xC6, 0x6C, 0x38, 0x6C, 0xC6, 0xC6, 0x00,
722 0xCC, 0xCC, 0xCC, 0x78, 0x30, 0x30, 0x78, 0x00,
723 0xFE, 0xC6, 0x8C, 0x18, 0x32, 0x66, 0xFE, 0x00,
724 0x78, 0x60, 0x60, 0x60, 0x60, 0x60, 0x78, 0x00,
725 0xC0, 0x60, 0x30, 0x18, 0x0C, 0x06, 0x02, 0x00,
726 0x78, 0x18, 0x18, 0x18, 0x18, 0x18, 0x78, 0x00,
727 0x10, 0x38, 0x6C, 0xC6, 0x00, 0x00, 0x00, 0x00,
728 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF,
729 0x30, 0x30, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00,
730 0x00, 0x00, 0x78, 0x0C, 0x7C, 0xCC, 0x76, 0x00,
731 0xE0, 0x60, 0x60, 0x7C, 0x66, 0x66, 0xDC, 0x00,
732 0x00, 0x00, 0x78, 0xCC, 0xC0, 0xCC, 0x78, 0x00,
733 0x1C, 0x0C, 0x0C, 0x7C, 0xCC, 0xCC, 0x76, 0x00,
734 0x00, 0x00, 0x78, 0xCC, 0xFC, 0xC0, 0x78, 0x00,
735 0x38, 0x6C, 0x64, 0xF0, 0x60, 0x60, 0xF0, 0x00,
736 0x00, 0x00, 0x76, 0xCC, 0xCC, 0x7C, 0x0C, 0xF8,
737 0xE0, 0x60, 0x6C, 0x76, 0x66, 0x66, 0xE6, 0x00,
738 0x30, 0x00, 0x70, 0x30, 0x30, 0x30, 0x78, 0x00,
739 0x0C, 0x00, 0x1C, 0x0C, 0x0C, 0xCC, 0xCC, 0x78,
740 0xE0, 0x60, 0x66, 0x6C, 0x78, 0x6C, 0xE6, 0x00,
741 0x70, 0x30, 0x30, 0x30, 0x30, 0x30, 0x78, 0x00,
742 0x00, 0x00, 0xCC, 0xFE, 0xFE, 0xD6, 0xD6, 0x00,
743 0x00, 0x00, 0xB8, 0xCC, 0xCC, 0xCC, 0xCC, 0x00,
744 0x00, 0x00, 0x78, 0xCC, 0xCC, 0xCC, 0x78, 0x00,
745 0x00, 0x00, 0xDC, 0x66, 0x66, 0x7C, 0x60, 0xF0,
746 0x00, 0x00, 0x76, 0xCC, 0xCC, 0x7C, 0x0C, 0x1E,
747 0x00, 0x00, 0xDC, 0x76, 0x62, 0x60, 0xF0, 0x00,
748 0x00, 0x00, 0x7C, 0xC0, 0x70, 0x1C, 0xF8, 0x00,
749 0x10, 0x30, 0xFC, 0x30, 0x30, 0x34, 0x18, 0x00,
750 0x00, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0x76, 0x00,
751 0x00, 0x00, 0xCC, 0xCC, 0xCC, 0x78, 0x30, 0x00,
752 0x00, 0x00, 0xC6, 0xC6, 0xD6, 0xFE, 0x6C, 0x00,
753 0x00, 0x00, 0xC6, 0x6C, 0x38, 0x6C, 0xC6, 0x00,
754 0x00, 0x00, 0xCC, 0xCC, 0xCC, 0x7C, 0x0C, 0xF8,
755 0x00, 0x00, 0xFC, 0x98, 0x30, 0x64, 0xFC, 0x00,
756 0x1C, 0x30, 0x30, 0xE0, 0x30, 0x30, 0x1C, 0x00,
757 0x18, 0x18, 0x18, 0x00, 0x18, 0x18, 0x18, 0x00,
758 0xE0, 0x30, 0x30, 0x1C, 0x30, 0x30, 0xE0, 0x00,
759 0x76, 0xDC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
760 0x00, 0x10, 0x38, 0x6C, 0xC6, 0xC6, 0xFE, 0x00,
761 0x7C, 0xC6, 0xC0, 0xC6, 0x7C, 0x0C, 0x06, 0x7C,
762 0x00, 0xCC, 0x00, 0xCC, 0xCC, 0xCC, 0x76, 0x00,
763 0x1C, 0x00, 0x78, 0xCC, 0xFC, 0xC0, 0x78, 0x00,
764 0x7E, 0x81, 0x3C, 0x06, 0x3E, 0x66, 0x3B, 0x00,
765 0xCC, 0x00, 0x78, 0x0C, 0x7C, 0xCC, 0x76, 0x00,
766 0xE0, 0x00, 0x78, 0x0C, 0x7C, 0xCC, 0x76, 0x00,
767 0x30, 0x30, 0x78, 0x0C, 0x7C, 0xCC, 0x76, 0x00,
768 0x00, 0x00, 0x7C, 0xC6, 0xC0, 0x78, 0x0C, 0x38,
769 0x7E, 0x81, 0x3C, 0x66, 0x7E, 0x60, 0x3C, 0x00,
770 0xCC, 0x00, 0x78, 0xCC, 0xFC, 0xC0, 0x78, 0x00,
771 0xE0, 0x00, 0x78, 0xCC, 0xFC, 0xC0, 0x78, 0x00,
772 0xCC, 0x00, 0x70, 0x30, 0x30, 0x30, 0x78, 0x00,
773 0x7C, 0x82, 0x38, 0x18, 0x18, 0x18, 0x3C, 0x00,
774 0xE0, 0x00, 0x70, 0x30, 0x30, 0x30, 0x78, 0x00,
775 0xC6, 0x10, 0x7C, 0xC6, 0xFE, 0xC6, 0xC6, 0x00,
776 0x30, 0x30, 0x00, 0x78, 0xCC, 0xFC, 0xCC, 0x00,
777 0x1C, 0x00, 0xFC, 0x60, 0x78, 0x60, 0xFC, 0x00,
778 0x00, 0x00, 0x7F, 0x0C, 0x7F, 0xCC, 0x7F, 0x00,
779 0x3E, 0x6C, 0xCC, 0xFE, 0xCC, 0xCC, 0xCE, 0x00,
780 0x78, 0x84, 0x00, 0x78, 0xCC, 0xCC, 0x78, 0x00,
781 0x00, 0xCC, 0x00, 0x78, 0xCC, 0xCC, 0x78, 0x00,
782 0x00, 0xE0, 0x00, 0x78, 0xCC, 0xCC, 0x78, 0x00,
783 0x78, 0x84, 0x00, 0xCC, 0xCC, 0xCC, 0x76, 0x00,
784 0x00, 0xE0, 0x00, 0xCC, 0xCC, 0xCC, 0x76, 0x00,
785 0x00, 0xCC, 0x00, 0xCC, 0xCC, 0x7C, 0x0C, 0xF8,
786 0xC3, 0x18, 0x3C, 0x66, 0x66, 0x3C, 0x18, 0x00,
787 0xCC, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0x78, 0x00,
788 0x18, 0x18, 0x7E, 0xC0, 0xC0, 0x7E, 0x18, 0x18,
789 0x38, 0x6C, 0x64, 0xF0, 0x60, 0xE6, 0xFC, 0x00,
790 0xCC, 0xCC, 0x78, 0x30, 0xFC, 0x30, 0xFC, 0x30,
791 0xF8, 0xCC, 0xCC, 0xFA, 0xC6, 0xCF, 0xC6, 0xC3,
792 0x0E, 0x1B, 0x18, 0x3C, 0x18, 0x18, 0xD8, 0x70,
793 0x1C, 0x00, 0x78, 0x0C, 0x7C, 0xCC, 0x76, 0x00,
794 0x38, 0x00, 0x70, 0x30, 0x30, 0x30, 0x78, 0x00,
795 0x00, 0x1C, 0x00, 0x78, 0xCC, 0xCC, 0x78, 0x00,
796 0x00, 0x1C, 0x00, 0xCC, 0xCC, 0xCC, 0x76, 0x00,
797 0x00, 0xF8, 0x00, 0xB8, 0xCC, 0xCC, 0xCC, 0x00,
798 0xFC, 0x00, 0xCC, 0xEC, 0xFC, 0xDC, 0xCC, 0x00,
799 0x3C, 0x6C, 0x6C, 0x3E, 0x00, 0x7E, 0x00, 0x00,
800 0x38, 0x6C, 0x6C, 0x38, 0x00, 0x7C, 0x00, 0x00,
801 0x18, 0x00, 0x18, 0x18, 0x30, 0x66, 0x3C, 0x00,
802 0x00, 0x00, 0x00, 0xFC, 0xC0, 0xC0, 0x00, 0x00,
803 0x00, 0x00, 0x00, 0xFC, 0x0C, 0x0C, 0x00, 0x00,
804 0xC6, 0xCC, 0xD8, 0x36, 0x6B, 0xC2, 0x84, 0x0F,
805 0xC3, 0xC6, 0xCC, 0xDB, 0x37, 0x6D, 0xCF, 0x03,
806 0x18, 0x00, 0x18, 0x18, 0x3C, 0x3C, 0x18, 0x00,
807 0x00, 0x33, 0x66, 0xCC, 0x66, 0x33, 0x00, 0x00,
808 0x00, 0xCC, 0x66, 0x33, 0x66, 0xCC, 0x00, 0x00,
809 0x22, 0x88, 0x22, 0x88, 0x22, 0x88, 0x22, 0x88,
810 0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA,
811 0xDB, 0xF6, 0xDB, 0x6F, 0xDB, 0x7E, 0xD7, 0xED,
812 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18,
813 0x18, 0x18, 0x18, 0x18, 0xF8, 0x18, 0x18, 0x18,
814 0x18, 0x18, 0xF8, 0x18, 0xF8, 0x18, 0x18, 0x18,
815 0x36, 0x36, 0x36, 0x36, 0xF6, 0x36, 0x36, 0x36,
816 0x00, 0x00, 0x00, 0x00, 0xFE, 0x36, 0x36, 0x36,
817 0x00, 0x00, 0xF8, 0x18, 0xF8, 0x18, 0x18, 0x18,
818 0x36, 0x36, 0xF6, 0x06, 0xF6, 0x36, 0x36, 0x36,
819 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36,
820 0x00, 0x00, 0xFE, 0x06, 0xF6, 0x36, 0x36, 0x36,
821 0x36, 0x36, 0xF6, 0x06, 0xFE, 0x00, 0x00, 0x00,
822 0x36, 0x36, 0x36, 0x36, 0xFE, 0x00, 0x00, 0x00,
823 0x18, 0x18, 0xF8, 0x18, 0xF8, 0x00, 0x00, 0x00,
824 0x00, 0x00, 0x00, 0x00, 0xF8, 0x18, 0x18, 0x18,
825 0x18, 0x18, 0x18, 0x18, 0x1F, 0x00, 0x00, 0x00,
826 0x18, 0x18, 0x18, 0x18, 0xFF, 0x00, 0x00, 0x00,
827 0x00, 0x00, 0x00, 0x00, 0xFF, 0x18, 0x18, 0x18,
828 0x18, 0x18, 0x18, 0x18, 0x1F, 0x18, 0x18, 0x18,
829 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00,
830 0x18, 0x18, 0x18, 0x18, 0xFF, 0x18, 0x18, 0x18,
831 0x18, 0x18, 0x1F, 0x18, 0x1F, 0x18, 0x18, 0x18,
832 0x36, 0x36, 0x36, 0x36, 0x37, 0x36, 0x36, 0x36,
833 0x36, 0x36, 0x37, 0x30, 0x3F, 0x00, 0x00, 0x00,
834 0x00, 0x00, 0x3F, 0x30, 0x37, 0x36, 0x36, 0x36,
835 0x36, 0x36, 0xF7, 0x00, 0xFF, 0x00, 0x00, 0x00,
836 0x00, 0x00, 0xFF, 0x00, 0xF7, 0x36, 0x36, 0x36,
837 0x36, 0x36, 0x37, 0x30, 0x37, 0x36, 0x36, 0x36,
838 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00,
839 0x36, 0x36, 0xF7, 0x00, 0xF7, 0x36, 0x36, 0x36,
840 0x18, 0x18, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00,
841 0x36, 0x36, 0x36, 0x36, 0xFF, 0x00, 0x00, 0x00,
842 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x18, 0x18, 0x18,
843 0x00, 0x00, 0x00, 0x00, 0xFF, 0x36, 0x36, 0x36,
844 0x36, 0x36, 0x36, 0x36, 0x3F, 0x00, 0x00, 0x00,
845 0x18, 0x18, 0x1F, 0x18, 0x1F, 0x00, 0x00, 0x00,
846 0x00, 0x00, 0x1F, 0x18, 0x1F, 0x18, 0x18, 0x18,
847 0x00, 0x00, 0x00, 0x00, 0x3F, 0x36, 0x36, 0x36,
848 0x36, 0x36, 0x36, 0x36, 0xFF, 0x36, 0x36, 0x36,
849 0x18, 0x18, 0xFF, 0x18, 0xFF, 0x18, 0x18, 0x18,
850 0x18, 0x18, 0x18, 0x18, 0xF8, 0x00, 0x00, 0x00,
851 0x00, 0x00, 0x00, 0x00, 0x1F, 0x18, 0x18, 0x18,
852 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
853 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF,
854 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0,
855 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F,
856 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00,
857 0x00, 0x00, 0x76, 0xDC, 0xC8, 0xDC, 0x76, 0x00,
858 0x00, 0x78, 0xCC, 0xF8, 0xCC, 0xF8, 0xC0, 0xC0,
859 0x00, 0xFC, 0xCC, 0xC0, 0xC0, 0xC0, 0xC0, 0x00,
860 0x00, 0x00, 0xFE, 0x6C, 0x6C, 0x6C, 0x6C, 0x00,
861 0xFC, 0xCC, 0x60, 0x30, 0x60, 0xCC, 0xFC, 0x00,
862 0x00, 0x00, 0x7E, 0xD8, 0xD8, 0xD8, 0x70, 0x00,
863 0x00, 0x66, 0x66, 0x66, 0x66, 0x7C, 0x60, 0xC0,
864 0x00, 0x76, 0xDC, 0x18, 0x18, 0x18, 0x18, 0x00,
865 0xFC, 0x30, 0x78, 0xCC, 0xCC, 0x78, 0x30, 0xFC,
866 0x38, 0x6C, 0xC6, 0xFE, 0xC6, 0x6C, 0x38, 0x00,
867 0x38, 0x6C, 0xC6, 0xC6, 0x6C, 0x6C, 0xEE, 0x00,
868 0x1C, 0x30, 0x18, 0x7C, 0xCC, 0xCC, 0x78, 0x00,
869 0x00, 0x00, 0x7E, 0xDB, 0xDB, 0x7E, 0x00, 0x00,
870 0x06, 0x0C, 0x7E, 0xDB, 0xDB, 0x7E, 0x60, 0xC0,
871 0x38, 0x60, 0xC0, 0xF8, 0xC0, 0x60, 0x38, 0x00,
872 0x78, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x00,
873 0x00, 0x7E, 0x00, 0x7E, 0x00, 0x7E, 0x00, 0x00,
874 0x18, 0x18, 0x7E, 0x18, 0x18, 0x00, 0x7E, 0x00,
875 0x60, 0x30, 0x18, 0x30, 0x60, 0x00, 0xFC, 0x00,
876 0x18, 0x30, 0x60, 0x30, 0x18, 0x00, 0xFC, 0x00,
877 0x0E, 0x1B, 0x1B, 0x18, 0x18, 0x18, 0x18, 0x18,
878 0x18, 0x18, 0x18, 0x18, 0x18, 0xD8, 0xD8, 0x70,
879 0x18, 0x18, 0x00, 0x7E, 0x00, 0x18, 0x18, 0x00,
880 0x00, 0x76, 0xDC, 0x00, 0x76, 0xDC, 0x00, 0x00,
881 0x38, 0x6C, 0x6C, 0x38, 0x00, 0x00, 0x00, 0x00,
882 0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00,
883 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00,
884 0x0F, 0x0C, 0x0C, 0x0C, 0xEC, 0x6C, 0x3C, 0x1C,
885 0x58, 0x6C, 0x6C, 0x6C, 0x6C, 0x00, 0x00, 0x00,
886 0x70, 0x98, 0x30, 0x60, 0xF8, 0x00, 0x00, 0x00,
887 0x00, 0x00, 0x3C, 0x3C, 0x3C, 0x3C, 0x00, 0x00,
888 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
889 };
890
891 static CONST UCHAR Font8x14[VGA_FONT_CHARACTERS * 14] =
892 {
893 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
894 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
895 0x00, 0x00, 0x00, 0x7E, 0x81, 0xA5, 0x81,
896 0x81, 0xBD, 0x99, 0x81, 0x7E, 0x00, 0x00,
897 0x00, 0x00, 0x00, 0x7E, 0xFF, 0xDB, 0xFF,
898 0xFF, 0xC3, 0xE7, 0xFF, 0x7E, 0x00, 0x00,
899 0x00, 0x00, 0x00, 0x00, 0x6C, 0xFE, 0xFE,
900 0xFE, 0xFE, 0x7C, 0x38, 0x10, 0x00, 0x00,
901 0x00, 0x00, 0x00, 0x00, 0x10, 0x38, 0x7C,
902 0xFE, 0x7C, 0x38, 0x10, 0x00, 0x00, 0x00,
903 0x00, 0x00, 0x00, 0x18, 0x3C, 0x3C, 0xE7,
904 0xE7, 0xE7, 0x18, 0x18, 0x3C, 0x00, 0x00,
905 0x00, 0x00, 0x00, 0x18, 0x3C, 0x7E, 0xFF,
906 0xFF, 0x7E, 0x18, 0x18, 0x3C, 0x00, 0x00,
907 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18,
908 0x3C, 0x3C, 0x18, 0x00, 0x00, 0x00, 0x00,
909 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7,
910 0xC3, 0xC3, 0xE7, 0xFF, 0xFF, 0xFF, 0xFF,
911 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x66,
912 0x42, 0x42, 0x66, 0x3C, 0x00, 0x00, 0x00,
913 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, 0x99,
914 0xBD, 0xBD, 0x99, 0xC3, 0xFF, 0xFF, 0xFF,
915 0x00, 0x00, 0x00, 0x1E, 0x0E, 0x1A, 0x32,
916 0x78, 0xCC, 0xCC, 0xCC, 0x78, 0x00, 0x00,
917 0x00, 0x00, 0x00, 0x3C, 0x66, 0x66, 0x66,
918 0x3C, 0x18, 0x7E, 0x18, 0x18, 0x00, 0x00,
919 0x00, 0x00, 0x00, 0x3F, 0x33, 0x3F, 0x30,
920 0x30, 0x30, 0x70, 0xF0, 0xE0, 0x00, 0x00,
921 0x00, 0x00, 0x00, 0x7F, 0x63, 0x7F, 0x63,
922 0x63, 0x63, 0x67, 0xE7, 0xE6, 0xC0, 0x00,
923 0x00, 0x00, 0x00, 0x18, 0x18, 0xDB, 0x3C,
924 0xE7, 0x3C, 0xDB, 0x18, 0x18, 0x00, 0x00,
925 0x00, 0x00, 0x00, 0x80, 0xC0, 0xE0, 0xF8,
926 0xFE, 0xF8, 0xE0, 0xC0, 0x80, 0x00, 0x00,
927 0x00, 0x00, 0x00, 0x02, 0x06, 0x0E, 0x3E,
928 0xFE, 0x3E, 0x0E, 0x06, 0x02, 0x00, 0x00,
929 0x00, 0x00, 0x00, 0x18, 0x3C, 0x7E, 0x18,
930 0x18, 0x18, 0x7E, 0x3C, 0x18, 0x00, 0x00,
931 0x00, 0x00, 0x00, 0x66, 0x66, 0x66, 0x66,
932 0x66, 0x66, 0x00, 0x66, 0x66, 0x00, 0x00,
933 0x00, 0x00, 0x00, 0x7F, 0xDB, 0xDB, 0xDB,
934 0x7B, 0x1B, 0x1B, 0x1B, 0x1B, 0x00, 0x00,
935 0x00, 0x7C, 0xC6, 0x60, 0x38, 0x6C, 0xC6,
936 0x6C, 0x38, 0x0C, 0xC6, 0x7C, 0x00, 0x00,
937 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
938 0x00, 0x00, 0x00, 0x00, 0xFE, 0xFE, 0xFE,
939 0x00, 0x00, 0x00, 0x18, 0x3C, 0x7E, 0x18,
940 0x18, 0x18, 0x7E, 0x3C, 0x18, 0x7E, 0x00,
941 0x00, 0x00, 0x00, 0x18, 0x3C, 0x7E, 0x18,
942 0x18, 0x18, 0x18, 0x18, 0x18, 0x00, 0x00,
943 0x00, 0x00, 0x00, 0x18, 0x18, 0x18, 0x18,
944 0x18, 0x18, 0x7E, 0x3C, 0x18, 0x00, 0x00,
945 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x0C,
946 0xFE, 0x0C, 0x18, 0x00, 0x00, 0x00, 0x00,
947 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x60,
948 0xFE, 0x60, 0x30, 0x00, 0x00, 0x00, 0x00,
949 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0,
950 0xC0, 0xC0, 0xFE, 0x00, 0x00, 0x00, 0x00,
951 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0x6C,
952 0xFE, 0x6C, 0x28, 0x00, 0x00, 0x00, 0x00,
953 0x00, 0x00, 0x00, 0x00, 0x10, 0x38, 0x38,
954 0x7C, 0x7C, 0xFE, 0xFE, 0x00, 0x00, 0x00,
955 0x00, 0x00, 0x00, 0x00, 0xFE, 0xFE, 0x7C,
956 0x7C, 0x38, 0x38, 0x10, 0x00, 0x00, 0x00,
957 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
958 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
959 0x00, 0x00, 0x00, 0x18, 0x3C, 0x3C, 0x3C,
960 0x18, 0x18, 0x00, 0x18, 0x18, 0x00, 0x00,
961 0x00, 0x66, 0x66, 0x66, 0x24, 0x00, 0x00,
962 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
963 0x00, 0x00, 0x00, 0x6C, 0x6C, 0xFE, 0x6C,
964 0x6C, 0x6C, 0xFE, 0x6C, 0x6C, 0x00, 0x00,
965 0x00, 0x18, 0x18, 0x7C, 0xC6, 0xC2, 0xC0,
966 0x7C, 0x06, 0x86, 0xC6, 0x7C, 0x18, 0x18,
967 0x00, 0x00, 0x00, 0x00, 0x00, 0xC2, 0xC6,
968 0x0C, 0x18, 0x30, 0x66, 0xC6, 0x00, 0x00,
969 0x00, 0x00, 0x00, 0x38, 0x6C, 0x6C, 0x38,
970 0x76, 0xDC, 0xCC, 0xCC, 0x76, 0x00, 0x00,
971 0x00, 0x00, 0x00, 0x18, 0x18, 0x18, 0x30,
972 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
973 0x00, 0x00, 0x00, 0x0C, 0x18, 0x30, 0x30,
974 0x30, 0x30, 0x30, 0x18, 0x0C, 0x00, 0x00,
975 0x00, 0x00, 0x00, 0x30, 0x18, 0x0C, 0x0C,
976 0x0C, 0x0C, 0x0C, 0x18, 0x30, 0x00, 0x00,
977 0x00, 0x00, 0x00, 0x00, 0x00, 0x66, 0x3C,
978 0xFF, 0x3C, 0x66, 0x00, 0x00, 0x00, 0x00,
979 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18,
980 0x7E, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00,
981 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
982 0x00, 0x00, 0x00, 0x18, 0x18, 0x30, 0x00,
983 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
984 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
985 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
986 0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0x00,
987 0x00, 0x00, 0x00, 0x02, 0x06, 0x0C, 0x18,
988 0x30, 0x60, 0xC0, 0x80, 0x00, 0x00, 0x00,
989 0x00, 0x00, 0x00, 0x38, 0x6C, 0xC6, 0xC6,
990 0xD6, 0xC6, 0xC6, 0x6C, 0x38, 0x00, 0x00,
991 0x00, 0x00, 0x00, 0x18, 0x38, 0x78, 0x18,
992 0x18, 0x18, 0x18, 0x18, 0x7E, 0x00, 0x00,
993 0x00, 0x00, 0x00, 0x7C, 0xC6, 0x06, 0x0C,
994 0x18, 0x30, 0x60, 0xC6, 0xFE, 0x00, 0x00,
995 0x00, 0x00, 0x00, 0x7C, 0xC6, 0x06, 0x06,
996 0x3C, 0x06, 0x06, 0xC6, 0x7C, 0x00, 0x00,
997 0x00, 0x00, 0x00, 0x0C, 0x1C, 0x3C, 0x6C,
998 0xCC, 0xFE, 0x0C, 0x0C, 0x1E, 0x00, 0x00,
999 0x00, 0x00, 0x00, 0xFE, 0xC0, 0xC0, 0xC0,
1000 0xFC, 0x06, 0x06, 0xC6, 0x7C, 0x00, 0x00,
1001 0x00, 0x00, 0x00, 0x38, 0x60, 0xC0, 0xC0,
1002 0xFC, 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00,
1003 0x00, 0x00, 0x00, 0xFE, 0xC6, 0x06, 0x0C,
1004 0x18, 0x30, 0x30, 0x30, 0x30, 0x00, 0x00,
1005 0x00, 0x00, 0x00, 0x7C, 0xC6, 0xC6, 0xC6,
1006 0x7C, 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00,
1007 0x00, 0x00, 0x00, 0x7C, 0xC6, 0xC6, 0xC6,
1008 0x7E, 0x06, 0x06, 0x0C, 0x78, 0x00, 0x00,
1009 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18,
1010 0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0x00,
1011 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18,
1012 0x00, 0x00, 0x00, 0x18, 0x18, 0x30, 0x00,
1013 0x00, 0x00, 0x00, 0x0C, 0x18, 0x30, 0x60,
1014 0xC0, 0x60, 0x30, 0x18, 0x0C, 0x00, 0x00,
1015 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7E,
1016 0x00, 0x00, 0x7E, 0x00, 0x00, 0x00, 0x00,
1017 0x00, 0x00, 0x00, 0x60, 0x30, 0x18, 0x0C,
1018 0x06, 0x0C, 0x18, 0x30, 0x60, 0x00, 0x00,
1019 0x00, 0x00, 0x00, 0x7C, 0xC6, 0xC6, 0x0C,
1020 0x18, 0x18, 0x00, 0x18, 0x18, 0x00, 0x00,
1021 0x00, 0x00, 0x00, 0x7C, 0xC6, 0xC6, 0xDE,
1022 0xDE, 0xDE, 0xDC, 0xC0, 0x7C, 0x00, 0x00,
1023 0x00, 0x00, 0x00, 0x10, 0x38, 0x6C, 0xC6,
1024 0xC6, 0xFE, 0xC6, 0xC6, 0xC6, 0x00, 0x00,
1025 0x00, 0x00, 0x00, 0xFC, 0x66, 0x66, 0x66,
1026 0x7C, 0x66, 0x66, 0x66, 0xFC, 0x00, 0x00,
1027 0x00, 0x00, 0x00, 0x3C, 0x66, 0xC2, 0xC0,
1028 0xC0, 0xC0, 0xC2, 0x66, 0x3C, 0x00, 0x00,
1029 0x00, 0x00, 0x00, 0xF8, 0x6C, 0x66, 0x66,
1030 0x66, 0x66, 0x66, 0x6C, 0xF8, 0x00, 0x00,
1031 0x00, 0x00, 0x00, 0xFE, 0x66, 0x62, 0x68,
1032 0x78, 0x68, 0x62, 0x66, 0xFE, 0x00, 0x00,
1033 0x00, 0x00, 0x00, 0xFE, 0x66, 0x62, 0x68,
1034 0x78, 0x68, 0x60, 0x60, 0xF0, 0x00, 0x00,
1035 0x00, 0x00, 0x00, 0x3C, 0x66, 0xC2, 0xC0,
1036 0xC0, 0xDE, 0xC6, 0x66, 0x3A, 0x00, 0x00,
1037 0x00, 0x00, 0x00, 0xC6, 0xC6, 0xC6, 0xC6,
1038 0xFE, 0xC6, 0xC6, 0xC6, 0xC6, 0x00, 0x00,
1039 0x00, 0x00, 0x00, 0x3C, 0x18, 0x18, 0x18,
1040 0x18, 0x18, 0x18, 0x18, 0x3C, 0x00, 0x00,
1041 0x00, 0x00, 0x00, 0x1E, 0x0C, 0x0C, 0x0C,
1042 0x0C, 0x0C, 0xCC, 0xCC, 0x78, 0x00, 0x00,
1043 0x00, 0x00, 0x00, 0xE6, 0x66, 0x6C, 0x6C,
1044 0x78, 0x6C, 0x6C, 0x66, 0xE6, 0x00, 0x00,
1045 0x00, 0x00, 0x00, 0xF0, 0x60, 0x60, 0x60,
1046 0x60, 0x60, 0x62, 0x66, 0xFE, 0x00, 0x00,
1047 0x00, 0x00, 0x00, 0xC6, 0xEE, 0xFE, 0xD6,
1048 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x00, 0x00,
1049 0x00, 0x00, 0x00, 0xC6, 0xE6, 0xF6, 0xFE,
1050 0xDE, 0xCE, 0xC6, 0xC6, 0xC6, 0x00, 0x00,
1051 0x00, 0x00, 0x00, 0x7C, 0xC6, 0xC6, 0xC6,
1052 0xC6, 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00,
1053 0x00, 0x00, 0x00, 0xFC, 0x66, 0x66, 0x66,
1054 0x7C, 0x60, 0x60, 0x60, 0xF0, 0x00, 0x00,
1055 0x00, 0x00, 0x00, 0x7C, 0xC6, 0xC6, 0xC6,
1056 0xC6, 0xC6, 0xD6, 0xDE, 0x7C, 0x0E, 0x00,
1057 0x00, 0x00, 0x00, 0xFC, 0x66, 0x66, 0x66,
1058 0x7C, 0x6C, 0x66, 0x66, 0xE6, 0x00, 0x00,
1059 0x00, 0x00, 0x00, 0x7C, 0xC6, 0xC6, 0x60,
1060 0x38, 0x0C, 0xC6, 0xC6, 0x7C, 0x00, 0x00,
1061 0x00, 0x00, 0x00, 0x7E, 0x7E, 0x5A, 0x18,
1062 0x18, 0x18, 0x18, 0x18, 0x3C, 0x00, 0x00,
1063 0x00, 0x00, 0x00, 0xC6, 0xC6, 0xC6, 0xC6,
1064 0xC6, 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00,
1065 0x00, 0x00, 0x00, 0xC6, 0xC6, 0xC6, 0xC6,
1066 0xC6, 0xC6, 0x6C, 0x38, 0x10, 0x00, 0x00,
1067 0x00, 0x00, 0x00, 0xC6, 0xC6, 0xC6, 0xC6,
1068 0xD6, 0xD6, 0xFE, 0x6C, 0x6C, 0x00, 0x00,
1069 0x00, 0x00, 0x00, 0xC6, 0xC6, 0xC6, 0x7C,
1070 0x38, 0x7C, 0xC6, 0xC6, 0xC6, 0x00, 0x00,
1071 0x00, 0x00, 0x00, 0x66, 0x66, 0x66, 0x66,
1072 0x3C, 0x18, 0x18, 0x18, 0x3C, 0x00, 0x00,
1073 0x00, 0x00, 0x00, 0xFE, 0xC6, 0x8C, 0x18,
1074 0x30, 0x60, 0xC2, 0xC6, 0xFE, 0x00, 0x00,
1075 0x00, 0x00, 0x00, 0x3C, 0x30, 0x30, 0x30,
1076 0x30, 0x30, 0x30, 0x30, 0x3C, 0x00, 0x00,
1077 0x00, 0x00, 0x00, 0x80, 0xC0, 0xE0, 0x70,
1078 0x38, 0x1C, 0x0E, 0x06, 0x02, 0x00, 0x00,
1079 0x00, 0x00, 0x00, 0x3C, 0x0C, 0x0C, 0x0C,
1080 0x0C, 0x0C, 0x0C, 0x0C, 0x3C, 0x00, 0x00,
1081 0x38, 0x6C, 0x00, 0x00, 0x00, 0x00, 0x00,
1082 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1083 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1084 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00,
1085 0x30, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00,
1086 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1087 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78,
1088 0x0C, 0x7C, 0xCC, 0xCC, 0x76, 0x00, 0x00,
1089 0x00, 0x00, 0x00, 0xE0, 0x60, 0x60, 0x78,
1090 0x6C, 0x66, 0x66, 0x66, 0x7C, 0x00, 0x00,
1091 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7C,
1092 0xC6, 0xC0, 0xC0, 0xC6, 0x7C, 0x00, 0x00,
1093 0x00, 0x00, 0x00, 0x1C, 0x0C, 0x0C, 0x3C,
1094 0x6C, 0xCC, 0xCC, 0xCC, 0x76, 0x00, 0x00,
1095 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7C,
1096 0xC6, 0xFE, 0xC0, 0xC6, 0x7C, 0x00, 0x00,
1097 0x00, 0x00, 0x00, 0x1C, 0x36, 0x32, 0x30,
1098 0x7C, 0x30, 0x30, 0x30, 0x78, 0x00, 0x00,
1099 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x76,
1100 0xCC, 0xCC, 0xCC, 0xCC, 0x7C, 0x0C, 0x78,
1101 0x00, 0x00, 0x00, 0xE0, 0x60, 0x60, 0x6C,
1102 0x76, 0x66, 0x66, 0x66, 0xE6, 0x00, 0x00,
1103 0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0x38,
1104 0x18, 0x18, 0x18, 0x18, 0x3C, 0x00, 0x00,
1105 0x00, 0x00, 0x00, 0x06, 0x06, 0x00, 0x0E,
1106 0x06, 0x06, 0x06, 0x06, 0x66, 0x66, 0x3C,
1107 0x00, 0x00, 0x00, 0xE0, 0x60, 0x60, 0x66,
1108 0x6C, 0x78, 0x6C, 0x66, 0xE6, 0x00, 0x00,
1109 0x00, 0x00, 0x00, 0x38, 0x18, 0x18, 0x18,
1110 0x18, 0x18, 0x18, 0x18, 0x3C, 0x00, 0x00,
1111 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xEC,
1112 0xFE, 0xD6, 0xD6, 0xD6, 0xD6, 0x00, 0x00,
1113 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xDC,
1114 0x66, 0x66, 0x66, 0x66, 0x66, 0x00, 0x00,
1115 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7C,
1116 0xC6, 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00,
1117 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xDC,
1118 0x66, 0x66, 0x66, 0x66, 0x7C, 0x60, 0xF0,
1119 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x76,
1120 0xCC, 0xCC, 0xCC, 0xCC, 0x7C, 0x0C, 0x1E,
1121 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xDC,
1122 0x76, 0x66, 0x60, 0x60, 0xF0, 0x00, 0x00,
1123 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7C,
1124 0xC6, 0x70, 0x1C, 0xC6, 0x7C, 0x00, 0x00,
1125 0x00, 0x00, 0x00, 0x10, 0x30, 0x30, 0xFC,
1126 0x30, 0x30, 0x30, 0x36, 0x1C, 0x00, 0x00,
1127 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xCC,
1128 0xCC, 0xCC, 0xCC, 0xCC, 0x76, 0x00, 0x00,
1129 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC6,
1130 0xC6, 0xC6, 0x6C, 0x38, 0x10, 0x00, 0x00,
1131 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC6,
1132 0xC6, 0xD6, 0xD6, 0xFE, 0x6C, 0x00, 0x00,
1133 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC6,
1134 0x6C, 0x38, 0x38, 0x6C, 0xC6, 0x00, 0x00,
1135 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC6,
1136 0xC6, 0xC6, 0xC6, 0xC6, 0x7E, 0x06, 0x7C,
1137 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE,
1138 0xCC, 0x18, 0x30, 0x66, 0xFE, 0x00, 0x00,
1139 0x00, 0x00, 0x00, 0x0E, 0x18, 0x18, 0x18,
1140 0x70, 0x18, 0x18, 0x18, 0x0E, 0x00, 0x00,
1141 0x00, 0x00, 0x00, 0x18, 0x18, 0x18, 0x18,
1142 0x18, 0x18, 0x18, 0x18, 0x18, 0x00, 0x00,
1143 0x00, 0x00, 0x00, 0x70, 0x18, 0x18, 0x18,
1144 0x0E, 0x18, 0x18, 0x18, 0x70, 0x00, 0x00,
1145 0x76, 0xDC, 0x00, 0x00, 0x00, 0x00, 0x00,
1146 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1147 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10,
1148 0x38, 0x6C, 0xC6, 0xC6, 0xFE, 0x00, 0x00,
1149 0x00, 0x00, 0x00, 0x3C, 0x66, 0xC2, 0xC0,
1150 0xC0, 0xC0, 0xC2, 0x66, 0x3C, 0x18, 0x70,
1151 0x00, 0x00, 0x00, 0x00, 0xCC, 0x00, 0xCC,
1152 0xCC, 0xCC, 0xCC, 0xCC, 0x76, 0x00, 0x00,
1153 0x00, 0x00, 0x06, 0x0C, 0x18, 0x00, 0x7C,
1154 0xC6, 0xFE, 0xC0, 0xC6, 0x7C, 0x00, 0x00,
1155 0x00, 0x00, 0x10, 0x38, 0x6C, 0x00, 0x78,
1156 0x0C, 0x7C, 0xCC, 0xCC, 0x76, 0x00, 0x00,
1157 0x00, 0x00, 0x00, 0x00, 0xCC, 0x00, 0x78,
1158 0x0C, 0x7C, 0xCC, 0xCC, 0x76, 0x00, 0x00,
1159 0x00, 0x00, 0xC0, 0x60, 0x30, 0x00, 0x78,
1160 0x0C, 0x7C, 0xCC, 0xCC, 0x76, 0x00, 0x00,
1161 0x00, 0x00, 0x38, 0x6C, 0x38, 0x00, 0x78,
1162 0x0C, 0x7C, 0xCC, 0xCC, 0x76, 0x00, 0x00,
1163 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7C,
1164 0xC6, 0xC0, 0xC0, 0xC6, 0x7C, 0x18, 0x70,
1165 0x00, 0x00, 0x10, 0x38, 0x6C, 0x00, 0x7C,
1166 0xC6, 0xFE, 0xC0, 0xC6, 0x7C, 0x00, 0x00,
1167 0x00, 0x00, 0x00, 0x00, 0xC6, 0x00, 0x7C,
1168 0xC6, 0xFE, 0xC0, 0xC6, 0x7C, 0x00, 0x00,
1169 0x00, 0x00, 0x60, 0x30, 0x18, 0x00, 0x7C,
1170 0xC6, 0xFE, 0xC0, 0xC6, 0x7C, 0x00, 0x00,
1171 0x00, 0x00, 0x00, 0x00, 0x66, 0x00, 0x38,
1172 0x18, 0x18, 0x18, 0x18, 0x3C, 0x00, 0x00,
1173 0x00, 0x00, 0x18, 0x3C, 0x66, 0x00, 0x38,
1174 0x18, 0x18, 0x18, 0x18, 0x3C, 0x00, 0x00,
1175 0x00, 0x00, 0x60, 0x30, 0x18, 0x00, 0x38,
1176 0x18, 0x18, 0x18, 0x18, 0x3C, 0x00, 0x00,
1177 0x00, 0xC6, 0x00, 0x10, 0x38, 0x6C, 0xC6,
1178 0xC6, 0xFE, 0xC6, 0xC6, 0xC6, 0x00, 0x00,
1179 0x38, 0x6C, 0x38, 0x10, 0x38, 0x6C, 0xC6,
1180 0xC6, 0xFE, 0xC6, 0xC6, 0xC6, 0x00, 0x00,
1181 0x0C, 0x18, 0x00, 0xFE, 0x66, 0x62, 0x68,
1182 0x78, 0x68, 0x62, 0x66, 0xFE, 0x00, 0x00,
1183 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xEC,
1184 0x36, 0x76, 0xDC, 0xD8, 0x6E, 0x00, 0x00,
1185 0x00, 0x00, 0x00, 0x3E, 0x6C, 0xCC, 0xCC,
1186 0xFE, 0xCC, 0xCC, 0xCC, 0xCE, 0x00, 0x00,
1187 0x00, 0x00, 0x10, 0x38, 0x6C, 0x00, 0x7C,
1188 0xC6, 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00,
1189 0x00, 0x00, 0x00, 0x00, 0xC6, 0x00, 0x7C,
1190 0xC6, 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00,
1191 0x00, 0x00, 0x60, 0x30, 0x18, 0x00, 0x7C,
1192 0xC6, 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00,
1193 0x00, 0x00, 0x30, 0x78, 0xCC, 0x00, 0xCC,
1194 0xCC, 0xCC, 0xCC, 0xCC, 0x76, 0x00, 0x00,
1195 0x00, 0x00, 0xC0, 0x60, 0x30, 0x00, 0xCC,
1196 0xCC, 0xCC, 0xCC, 0xCC, 0x76, 0x00, 0x00,
1197 0x00, 0x00, 0x00, 0x00, 0xC6, 0x00, 0xC6,
1198 0xC6, 0xC6, 0xC6, 0xC6, 0x7E, 0x06, 0x7C,
1199 0x00, 0xC6, 0x00, 0x7C, 0xC6, 0xC6, 0xC6,
1200 0xC6, 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00,
1201 0x00, 0xC6, 0x00, 0xC6, 0xC6, 0xC6, 0xC6,
1202 0xC6, 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00,
1203 0x00, 0x00, 0x00, 0x18, 0x18, 0x7C, 0xC6,
1204 0xC0, 0xC6, 0x7C, 0x18, 0x18, 0x00, 0x00,
1205 0x00, 0x00, 0x00, 0x38, 0x6C, 0x64, 0x60,
1206 0xF0, 0x60, 0x60, 0x66, 0xFC, 0x00, 0x00,
1207 0x00, 0x00, 0x00, 0x66, 0x66, 0x3C, 0x18,
1208 0x7E, 0x18, 0x7E, 0x18, 0x18, 0x00, 0x00,
1209 0x00, 0x00, 0x00, 0xFC, 0x66, 0x66, 0x7C,
1210 0x62, 0x66, 0x6F, 0x66, 0xF3, 0x00, 0x00,
1211 0x00, 0x00, 0x00, 0x0E, 0x1B, 0x18, 0x18,
1212 0x7E, 0x18, 0x18, 0xD8, 0x70, 0x00, 0x00,
1213 0x00, 0x00, 0x0C, 0x18, 0x30, 0x00, 0x78,
1214 0x0C, 0x7C, 0xCC, 0xCC, 0x76, 0x00, 0x00,
1215 0x00, 0x00, 0x06, 0x0C, 0x18, 0x00, 0x38,
1216 0x18, 0x18, 0x18, 0x18, 0x3C, 0x00, 0x00,
1217 0x00, 0x00, 0x06, 0x0C, 0x18, 0x00, 0x7C,
1218 0xC6, 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00,
1219 0x00, 0x00, 0x0C, 0x18, 0x30, 0x00, 0xCC,
1220 0xCC, 0xCC, 0xCC, 0xCC, 0x76, 0x00, 0x00,
1221 0x00, 0x00, 0x00, 0x76, 0xDC, 0x00, 0xDC,
1222 0x66, 0x66, 0x66, 0x66, 0x66, 0x00, 0x00,
1223 0x76, 0xDC, 0x00, 0xC6, 0xE6, 0xF6, 0xFE,
1224 0xDE, 0xCE, 0xC6, 0xC6, 0xC6, 0x00, 0x00,
1225 0x00, 0x00, 0x00, 0x3C, 0x6C, 0x6C, 0x36,
1226 0x00, 0x7E, 0x00, 0x00, 0x00, 0x00, 0x00,
1227 0x00, 0x00, 0x00, 0x38, 0x6C, 0x6C, 0x38,
1228 0x00, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x00,
1229 0x00, 0x00, 0x00, 0x30, 0x30, 0x00, 0x30,
1230 0x30, 0x60, 0xC6, 0xC6, 0x7C, 0x00, 0x00,
1231 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE,
1232 0xC0, 0xC0, 0xC0, 0x00, 0x00, 0x00, 0x00,
1233 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE,
1234 0x06, 0x06, 0x06, 0x00, 0x00, 0x00, 0x00,
1235 0x00, 0x60, 0xE0, 0x63, 0x66, 0x6C, 0x18,
1236 0x30, 0x6E, 0xC3, 0x06, 0x0C, 0x1F, 0x00,
1237 0x00, 0x60, 0xE0, 0x63, 0x66, 0x6C, 0x18,
1238 0x36, 0x6E, 0xDA, 0x3F, 0x06, 0x06, 0x00,
1239 0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0x18,
1240 0x18, 0x3C, 0x3C, 0x3C, 0x18, 0x00, 0x00,
1241 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1242 0x36, 0x6C, 0xD8, 0x6C, 0x36, 0x00, 0x00,
1243 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1244 0xD8, 0x6C, 0x36, 0x6C, 0xD8, 0x00, 0x00,
1245 0x11, 0x44, 0x11, 0x44, 0x11, 0x44, 0x11,
1246 0x44, 0x11, 0x44, 0x11, 0x44, 0x11, 0x44,
1247 0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA, 0x55,
1248 0xAA, 0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA,
1249 0xDD, 0x77, 0xDD, 0x77, 0xDD, 0x77, 0xDD,
1250 0x77, 0xDD, 0x77, 0xDD, 0x77, 0xDD, 0x77,
1251 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18,
1252 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18,
1253 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18,
1254 0xF8, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18,
1255 0x18, 0x18, 0x18, 0x18, 0x18, 0xF8, 0x18,
1256 0xF8, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18,
1257 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36,
1258 0xF6, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36,
1259 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1260 0xFE, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36,
1261 0x00, 0x00, 0x00, 0x00, 0x00, 0xF8, 0x18,
1262 0xF8, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18,
1263 0x36, 0x36, 0x36, 0x36, 0x36, 0xF6, 0x06,
1264 0xF6, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36,
1265 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36,
1266 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36,
1267 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x06,
1268 0xF6, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36,
1269 0x36, 0x36, 0x36, 0x36, 0x36, 0xF6, 0x06,
1270 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1271 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36,
1272 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1273 0x18, 0x18, 0x18, 0x18, 0x18, 0xF8, 0x18,
1274 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1275 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1276 0xF8, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18,
1277 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18,
1278 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1279 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18,
1280 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1281 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1282 0xFF, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18,
1283 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18,
1284 0x1F, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18,
1285 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1286 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1287 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18,
1288 0xFF, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18,
1289 0x18, 0x18, 0x18, 0x18, 0x18, 0x1F, 0x18,
1290 0x1F, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18,
1291 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36,
1292 0x37, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36,
1293 0x36, 0x36, 0x36, 0x36, 0x36, 0x37, 0x30,
1294 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1295 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x30,
1296 0x37, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36,
1297 0x36, 0x36, 0x36, 0x36, 0x36, 0xF7, 0x00,
1298 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1299 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00,
1300 0xF7, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36,
1301 0x36, 0x36, 0x36, 0x36, 0x36, 0x37, 0x30,
1302 0x37, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36,
1303 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00,
1304 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1305 0x36, 0x36, 0x36, 0x36, 0x36, 0xF7, 0x00,
1306 0xF7, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36,
1307 0x18, 0x18, 0x18, 0x18, 0x18, 0xFF, 0x00,
1308 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1309 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36,
1310 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1311 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00,
1312 0xFF, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18,
1313 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1314 0xFF, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36,
1315 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36,
1316 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1317 0x18, 0x18, 0x18, 0x18, 0x18, 0x1F, 0x18,
1318 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1319 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x18,
1320 0x1F, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18,
1321 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1322 0x3F, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36,
1323 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36,
1324 0xFF, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36,
1325 0x18, 0x18, 0x18, 0x18, 0x18, 0xFF, 0x18,
1326 0xFF, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18,
1327 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18,
1328 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1329 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1330 0x1F, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18,
1331 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
1332 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
1333 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1334 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
1335 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0,
1336 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0,
1337 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F,
1338 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F,
1339 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
1340 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1341 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x76,
1342 0xDC, 0xD8, 0xD8, 0xDC, 0x76, 0x00, 0x00,
1343 0x00, 0x00, 0x00, 0x78, 0xCC, 0xCC, 0xD8,
1344 0xCC, 0xC6, 0xC6, 0xC6, 0xCC, 0x00, 0x00,
1345 0x00, 0x00, 0x00, 0xFE, 0xC6, 0xC6, 0xC0,
1346 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0x00, 0x00,
1347 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE,
1348 0x6C, 0x6C, 0x6C, 0x6C, 0x6C, 0x00, 0x00,
1349 0x00, 0x00, 0x00, 0xFE, 0xC6, 0x60, 0x30,
1350 0x18, 0x30, 0x60, 0xC6, 0xFE, 0x00, 0x00,
1351 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7E,
1352 0xD8, 0xD8, 0xD8, 0xD8, 0x70, 0x00, 0x00,
1353 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x66,
1354 0x66, 0x66, 0x66, 0x66, 0x7C, 0x60, 0xC0,
1355 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x76,
1356 0xDC, 0x18, 0x18, 0x18, 0x18, 0x00, 0x00,
1357 0x00, 0x00, 0x00, 0x7E, 0x18, 0x3C, 0x66,
1358 0x66, 0x66, 0x3C, 0x18, 0x7E, 0x00, 0x00,
1359 0x00, 0x00, 0x00, 0x38, 0x6C, 0xC6, 0xC6,
1360 0xFE, 0xC6, 0xC6, 0x6C, 0x38, 0x00, 0x00,
1361 0x00, 0x00, 0x00, 0x38, 0x6C, 0xC6, 0xC6,
1362 0xC6, 0x6C, 0x6C, 0x6C, 0xEE, 0x00, 0x00,
1363 0x00, 0x00, 0x00, 0x1E, 0x30, 0x18, 0x0C,
1364 0x3E, 0x66, 0x66, 0x66, 0x3C, 0x00, 0x00,
1365 0x00, 0x00, 0x00, 0x00, 0x00, 0x7E, 0xDB,
1366 0xDB, 0x7E, 0x00, 0x00, 0x00, 0x00, 0x00,
1367 0x00, 0x00, 0x00, 0x03, 0x06, 0x7E, 0xDB,
1368 0xDB, 0xF3, 0x7E, 0x60, 0xC0, 0x00, 0x00,
1369 0x00, 0x00, 0x00, 0x1E, 0x30, 0x60, 0x60,
1370 0x7E, 0x60, 0x60, 0x30, 0x1E, 0x00, 0x00,
1371 0x00, 0x00, 0x00, 0x7C, 0xC6, 0xC6, 0xC6,
1372 0xC6, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00,
1373 0x00, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x00,
1374 0xFE, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x00,
1375 0x00, 0x00, 0x00, 0x18, 0x18, 0x7E, 0x18,
1376 0x18, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x00,
1377 0x00, 0x00, 0x00, 0x30, 0x18, 0x0C, 0x06,
1378 0x0C, 0x18, 0x30, 0x00, 0x7E, 0x00, 0x00,
1379 0x00, 0x00, 0x00, 0x0C, 0x18, 0x30, 0x60,
1380 0x30, 0x18, 0x0C, 0x00, 0x7E, 0x00, 0x00,
1381 0x00, 0x00, 0x0E, 0x1B, 0x1B, 0x18, 0x18,
1382 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18,
1383 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18,
1384 0x18, 0xD8, 0xD8, 0x70, 0x00, 0x00, 0x00,
1385 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00,
1386 0x7E, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00,
1387 0x00, 0x00, 0x00, 0x00, 0x00, 0x76, 0xDC,
1388 0x00, 0x76, 0xDC, 0x00, 0x00, 0x00, 0x00,
1389 0x00, 0x00, 0x00, 0x38, 0x6C, 0x6C, 0x38,
1390 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1391 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1392 0x18, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00,
1393 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1394 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1395 0x00, 0x00, 0x0F, 0x0C, 0x0C, 0x0C, 0x0C,
1396 0x0C, 0xEC, 0x6C, 0x3C, 0x1C, 0x00, 0x00,
1397 0x00, 0x00, 0x00, 0x6C, 0x36, 0x36, 0x36,
1398 0x36, 0x36, 0x00, 0x00, 0x00, 0x00, 0x00,
1399 0x00, 0x00, 0x00, 0x3C, 0x66, 0x0C, 0x18,
1400 0x32, 0x7E, 0x00, 0x00, 0x00, 0x00, 0x00,
1401 0x00, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x7E,
1402 0x7E, 0x7E, 0x7E, 0x7E, 0x00, 0x00, 0x00,
1403 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1404 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1405 };
1406
1407 static CONST UCHAR Font8x16[VGA_FONT_CHARACTERS * 16] =
1408 {
1409 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1410 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1411 0x00, 0x00, 0x7E, 0x81, 0xA5, 0x81, 0x81, 0xBD,
1412 0x99, 0x81, 0x81, 0x7E, 0x00, 0x00, 0x00, 0x00,
1413 0x00, 0x00, 0x7C, 0xFE, 0xFE, 0xD6, 0xFE, 0xFE,
1414 0xBA, 0xC6, 0xFE, 0x7C, 0x00, 0x00, 0x00, 0x00,
1415 0x00, 0x00, 0x00, 0x6C, 0xEE, 0xFE, 0xFE, 0xFE,
1416 0xFE, 0x7C, 0x38, 0x10, 0x00, 0x00, 0x00, 0x00,
1417 0x00, 0x00, 0x00, 0x10, 0x38, 0x7C, 0xFE, 0x7C,
1418 0x38, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1419 0x00, 0x00, 0x00, 0x10, 0x38, 0x38, 0x10, 0x6C,
1420 0xEE, 0x6C, 0x10, 0x38, 0x00, 0x00, 0x00, 0x00,
1421 0x00, 0x00, 0x10, 0x38, 0x7C, 0x7C, 0xFE, 0xFE,
1422 0xFE, 0x6C, 0x10, 0x38, 0x00, 0x00, 0x00, 0x00,
1423 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x3C, 0x3C,
1424 0x3C, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1425 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0xC3, 0xC3,
1426 0xC3, 0xE7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
1427 0x00, 0x00, 0x00, 0x00, 0x18, 0x3C, 0x66, 0x66,
1428 0x66, 0x3C, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00,
1429 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0xC3, 0x99, 0x99,
1430 0x99, 0xC3, 0xE7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
1431 0x00, 0x00, 0x1E, 0x0E, 0x1E, 0x36, 0x78, 0xCC,
1432 0xCC, 0xCC, 0xCC, 0x78, 0x00, 0x00, 0x00, 0x00,
1433 0x00, 0x00, 0x3C, 0x66, 0x66, 0x66, 0x3C, 0x18,
1434 0x7E, 0x18, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00,
1435 0x00, 0x00, 0x1E, 0x1A, 0x1E, 0x18, 0x18, 0x18,
1436 0x18, 0x78, 0xF8, 0x70, 0x00, 0x00, 0x00, 0x00,
1437 0x00, 0x00, 0x3E, 0x36, 0x3E, 0x36, 0x36, 0x76,
1438 0xF6, 0x66, 0x0E, 0x1E, 0x0C, 0x00, 0x00, 0x00,
1439 0x00, 0x00, 0x18, 0xDB, 0x7E, 0x3C, 0x66, 0x66,
1440 0x3C, 0x7E, 0xDB, 0x18, 0x00, 0x00, 0x00, 0x00,
1441 0x00, 0x00, 0x00, 0x80, 0xE0, 0xF0, 0xFC, 0xFE,
1442 0xFC, 0xF0, 0xE0, 0x80, 0x00, 0x00, 0x00, 0x00,
1443 0x00, 0x00, 0x00, 0x02, 0x0E, 0x3E, 0x7E, 0xFE,
1444 0x7E, 0x3E, 0x0E, 0x02, 0x00, 0x00, 0x00, 0x00,
1445 0x00, 0x00, 0x18, 0x3C, 0x7E, 0x18, 0x18, 0x18,
1446 0x18, 0x7E, 0x3C, 0x18, 0x00, 0x00, 0x00, 0x00,
1447 0x00, 0x00, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66,
1448 0x66, 0x00, 0x66, 0x66, 0x00, 0x00, 0x00, 0x00,
1449 0x00, 0x00, 0x7F, 0xDB, 0xDB, 0xDB, 0xDB, 0x7B,
1450 0x1B, 0x1B, 0x1B, 0x1B, 0x00, 0x00, 0x00, 0x00,
1451 0x00, 0x00, 0x7C, 0xC6, 0xC6, 0x60, 0x7C, 0xF6,
1452 0xDE, 0x7C, 0x0C, 0xC6, 0xC6, 0x7C, 0x00, 0x00,
1453 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1454 0xFE, 0xFE, 0xFE, 0xFE, 0x00, 0x00, 0x00, 0x00,
1455 0x00, 0x00, 0x18, 0x3C, 0x7E, 0x18, 0x18, 0x18,
1456 0x7E, 0x3C, 0x18, 0x7E, 0x00, 0x00, 0x00, 0x00,
1457 0x00, 0x00, 0x18, 0x3C, 0x7E, 0x18, 0x18, 0x18,
1458 0x18, 0x18, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00,
1459 0x00, 0x00, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18,
1460 0x18, 0x7E, 0x3C, 0x18, 0x00, 0x00, 0x00, 0x00,
1461 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x0E, 0xFF,
1462 0x0E, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1463 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x70, 0xFE,
1464 0x70, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1465 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xC0,
1466 0xC0, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1467 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x66, 0xFF,
1468 0x66, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1469 0x00, 0x00, 0x00, 0x10, 0x38, 0x38, 0x38, 0x7C,
1470 0x7C, 0xFE, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00,
1471 0x00, 0x00, 0x00, 0xFE, 0xFE, 0x7C, 0x7C, 0x7C,
1472 0x38, 0x38, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00,
1473 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1474 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1475 0x00, 0x00, 0x18, 0x3C, 0x3C, 0x3C, 0x3C, 0x18,
1476 0x18, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00,
1477 0x00, 0x36, 0x36, 0x36, 0x36, 0x14, 0x00, 0x00,
1478 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1479 0x00, 0x00, 0x6C, 0x6C, 0x6C, 0xFE, 0x6C, 0x6C,
1480 0xFE, 0x6C, 0x6C, 0x6C, 0x00, 0x00, 0x00, 0x00,
1481 0x00, 0x00, 0x18, 0x18, 0x7C, 0xC6, 0xC0, 0x78,
1482 0x3C, 0x06, 0xC6, 0x7C, 0x18, 0x18, 0x00, 0x00,
1483 0x00, 0x00, 0x00, 0x00, 0x00, 0x62, 0x66, 0x0C,
1484 0x18, 0x30, 0x66, 0xC6, 0x00, 0x00, 0x00, 0x00,
1485 0x00, 0x00, 0x38, 0x6C, 0x38, 0x30, 0x76, 0x7E,
1486 0xCC, 0xCC, 0xCC, 0x76, 0x00, 0x00, 0x00, 0x00,
1487 0x00, 0x0C, 0x0C, 0x0C, 0x18, 0x00, 0x00, 0x00,
1488 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1489 0x00, 0x00, 0x0C, 0x18, 0x30, 0x30, 0x30, 0x30,
1490 0x30, 0x30, 0x18, 0x0C, 0x00, 0x00, 0x00, 0x00,
1491 0x00, 0x00, 0x30, 0x18, 0x0C, 0x0C, 0x0C, 0x0C,
1492 0x0C, 0x0C, 0x18, 0x30, 0x00, 0x00, 0x00, 0x00,
1493 0x00, 0x00, 0x00, 0x00, 0x00, 0x6C, 0x38, 0xFE,
1494 0x38, 0x6C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1495 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x7E,
1496 0x18, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1497 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1498 0x00, 0x0C, 0x0C, 0x0C, 0x18, 0x00, 0x00, 0x00,
1499 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE,
1500 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1501 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1502 0x00, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00,
1503 0x00, 0x00, 0x00, 0x00, 0x02, 0x06, 0x0C, 0x18,
1504 0x30, 0x60, 0xC0, 0x80, 0x00, 0x00, 0x00, 0x00,
1505 0x00, 0x00, 0x7C, 0xC6, 0xC6, 0xCE, 0xDE, 0xF6,
1506 0xE6, 0xC6, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00,
1507 0x00, 0x00, 0x18, 0x78, 0x18, 0x18, 0x18, 0x18,
1508 0x18, 0x18, 0x18, 0x7E, 0x00, 0x00, 0x00, 0x00,
1509 0x00, 0x00, 0x7C, 0xC6, 0xC6, 0x06, 0x0C, 0x18,
1510 0x30, 0x60, 0xC6, 0xFE, 0x00, 0x00, 0x00, 0x00,
1511 0x00, 0x00, 0x7C, 0xC6, 0x06, 0x06, 0x3C, 0x06,
1512 0x06, 0x06, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00,
1513 0x00, 0x00, 0x0C, 0x1C, 0x3C, 0x6C, 0xCC, 0xCC,
1514 0xFE, 0x0C, 0x0C, 0x1E, 0x00, 0x00, 0x00, 0x00,
1515 0x00, 0x00, 0xFE, 0xC0, 0xC0, 0xC0, 0xFC, 0x06,
1516 0x06, 0x06, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00,
1517 0x00, 0x00, 0x7C, 0xC6, 0xC0, 0xC0, 0xFC, 0xC6,
1518 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00,
1519 0x00, 0x00, 0xFE, 0xC6, 0x06, 0x0C, 0x18, 0x30,
1520 0x30, 0x30, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00,
1521 0x00, 0x00, 0x7C, 0xC6, 0xC6, 0xC6, 0x7C, 0xC6,
1522 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00,
1523 0x00, 0x00, 0x7C, 0xC6, 0xC6, 0xC6, 0xC6, 0x7E,
1524 0x06, 0x06, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00,
1525 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x0C, 0x00,
1526 0x00, 0x0C, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00,
1527 0x00, 0x00, 0x00, 0x00, 0x00