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