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