1 //==============================================================================
2 // Copyright 2011 Meta Watch Ltd. - http://www.MetaWatch.org/
4 // Licensed under the Meta Watch License, Version 1.0 (the "License");
5 // you may not use this file except in compliance with the License.
6 // You may obtain a copy of the License at
8 // http://www.MetaWatch.org/licenses/license-1.0.html
10 // Unless required by applicable law or agreed to in writing, software
11 // distributed under the License is distributed on an "AS IS" BASIS,
12 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 // See the License for the specific language governing permissions and
14 // limitations under the License.
15 //==============================================================================
20 /*! The number of printable characters in the font tables */
21 #define PRINTABLE_CHARACTERS ( 94 )
23 #if defined(__GNUC__) && (__MSP430X__ > 0)
24 __attribute__((__far__))
26 const unsigned char MetaWatch5table[PRINTABLE_CHARACTERS][5];
27 #if defined(__GNUC__) && (__MSP430X__ > 0)
28 __attribute__((__far__))
30 const unsigned char MetaWatch7table[PRINTABLE_CHARACTERS][7];
31 #if defined(__GNUC__) && (__MSP430X__ > 0)
32 __attribute__((__far__))
34 const u16t MetaWatch16table[PRINTABLE_CHARACTERS][16];
35 #if defined(__GNUC__) && (__MSP430X__ > 0)
36 __attribute__((__far__))
38 const u16t MetaWatchTimeTable[TOTAL_TIME_CHARACTERS][19];
39 #if defined(__GNUC__) && (__MSP430X__ > 0)
40 __attribute__((__far__))
42 const unsigned char MetaWatchMonospaced10Table[PRINTABLE_CHARACTERS][10];
44 #if defined(__GNUC__) && (__MSP430X__ > 0)
45 __attribute__((__far__))
47 const unsigned char MetaWatch5width[PRINTABLE_CHARACTERS];
48 #if defined(__GNUC__) && (__MSP430X__ > 0)
49 __attribute__((__far__))
51 const unsigned char MetaWatch7width[PRINTABLE_CHARACTERS];
52 #if defined(__GNUC__) && (__MSP430X__ > 0)
53 __attribute__((__far__))
55 const unsigned char MetaWatch16width[PRINTABLE_CHARACTERS];
56 #if defined(__GNUC__) && (__MSP430X__ > 0)
57 __attribute__((__far__))
59 const unsigned char MetaWatchTimeWidth[TOTAL_TIME_CHARACTERS];
63 * \param Type is the enumerated type of font
65 * \param Spacing is the horizontal spacing that should be inserted when
72 unsigned char Spacing;
75 static tFont CurrentFont;
77 void SetFont(etFontType Type)
82 CurrentFont.Type = Type;
83 CurrentFont.Height = 5;
84 CurrentFont.Spacing = 1;
88 CurrentFont.Type = Type;
89 CurrentFont.Height = 7;
90 CurrentFont.Spacing = 1;
94 CurrentFont.Type = Type;
95 CurrentFont.Height = 16;
96 CurrentFont.Spacing = 1;
100 CurrentFont.Type = Type;
101 CurrentFont.Height = 19;
102 CurrentFont.Spacing = 1;
105 case MetaWatchMonospaced10:
106 CurrentFont.Type = Type;
107 CurrentFont.Height = 10;
108 CurrentFont.Spacing = 0;
112 //printf("Undefined Font Selected\r\n");
117 unsigned char MapDigitToIndex(unsigned char Digit)
119 /* default is a space (the first printable character) */
120 return (Digit < 10 ? Digit + 0x10 : 0);
124 unsigned char GetCharacterWidth(unsigned char Character)
126 unsigned char index = MapCharacterToIndex(Character);
127 unsigned char Width = 0;
129 switch (CurrentFont.Type)
131 case MetaWatch5: Width = MetaWatch5width[index]; break;
132 case MetaWatch7: Width = MetaWatch7width[index]; break;
133 case MetaWatch16: Width = MetaWatch16width[index]; break;
134 case MetaWatchTime: Width = MetaWatchTimeWidth[index]; break;
135 case MetaWatchMonospaced10: Width = 7; break;
144 unsigned char GetCharacterHeight(void)
146 return CurrentFont.Height;
149 void SetFontSpacing(unsigned char Spacing)
151 CurrentFont.Spacing = Spacing;
154 unsigned char GetFontSpacing(void)
156 return CurrentFont.Spacing;
159 unsigned char MapCharacterToIndex(unsigned char CharIn)
161 unsigned char Result = 0;
163 switch (CurrentFont.Type)
170 // space = 0x20 and 0x7f = delete character
171 if ( (CharIn >= 0x20) && (CharIn < 0x7f) )
173 Result = CharIn - 0x20;
183 void GetCharacterBitmap(unsigned char Character, u16t *pBitmap)
185 unsigned char index = MapCharacterToIndex(Character);
188 for (row = 0; row < CurrentFont.Height; row++ )
190 switch (CurrentFont.Type)
193 pBitmap[row] = (u16t)MetaWatch5table[index][row];
197 pBitmap[row] = (u16t)MetaWatch7table[index][row];
201 pBitmap[row] = MetaWatch16table[index][row];
205 pBitmap[row] = MetaWatchTimeTable[index][row];
208 case MetaWatchMonospaced10:
209 pBitmap[row] = MetaWatchMonospaced10Table[index][row];
219 #if defined(__GNUC__) && (__MSP430X__ > 0)
220 __attribute__((__far__))
222 const unsigned char MetaWatch5table[PRINTABLE_CHARACTERS][5] =
224 /* character 0x20 (' '): (width = 2) */
225 {0x00, 0x00, 0x00, 0x00, 0x00,},
227 /* character 0x21 ('!'): (width=1) */
228 {0x01, 0x01, 0x01, 0x00, 0x01,},
230 /* character 0x22 ('"'): (width=3) */
231 {0x05, 0x05, 0x00, 0x00, 0x00,},
233 /* character 0x23 ('#'): (width=5) */
234 { 0x0A, 0x1F, 0x0A, 0x1F, 0x0A,},
236 /* character 0x24 ('$'): (width=3) */
237 0x00, 0x00, 0x00, 0x00, 0x00,},
239 /* character 0x25 ('%'): (width=3) */
240 0x00, 0x00, 0x00, 0x00, 0x00,},
242 /* character 0x26 ('&'): (width=5) */
243 0x02, 0x05, 0x16, 0x09, 0x1E,},
245 /* character 0x27 ('''): (width=1) */
246 0x01, 0x01, 0x00, 0x00, 0x00,},
248 /* character 0x28 ('('): (width=2) */
249 0x02, 0x01, 0x01, 0x01, 0x02,},
251 /* character 0x29 (')'): (width=2) */
252 0x01, 0x02, 0x02, 0x02, 0x01,},
254 /* character 0x2A ('*'): (width=5) */
255 0x0A, 0x04, 0x1F, 0x04, 0x0A,},
257 /* character 0x2B ('+'): (width=5) */
258 0x04, 0x04, 0x1F, 0x04, 0x04,},
260 /* character 0x2C (','): (width=1) */
261 0x00, 0x00, 0x00, 0x01, 0x01,},
263 /* character 0x2D ('-'): (width=3) */
264 0x00, 0x00, 0x07, 0x00, 0x00,},
266 /* character 0x2E ('.'): (width=1) */
267 0x00, 0x00, 0x00, 0x00, 0x01,},
269 /* character 0x2F ('/'): (width=5) */
270 0x10, 0x08, 0x04, 0x02, 0x01,},
272 /* character 0x30 ('0'): (width=4) */
273 0x06, 0x09, 0x09, 0x09, 0x06,},
275 /* character 0x31 ('1'): (width=3) */
276 0x03, 0x02, 0x02, 0x02, 0x07,},
278 /* character 0x32 ('2'): (width=4) */
279 0x06, 0x09, 0x04, 0x02, 0x0F,},
281 /* character 0x33 ('3'): (width=4) */
282 0x0F, 0x08, 0x06, 0x08, 0x07,},
284 /* character 0x34 ('4'): (width=4) */
285 0x04, 0x06, 0x05, 0x0F, 0x04,},
287 /* character 0x35 ('5'): (width=4) */
288 0x0F, 0x01, 0x0F, 0x08, 0x07,},
290 /* character 0x36 ('6'): (width=4) */
291 0x06, 0x01, 0x07, 0x09, 0x06,},
293 /* character 0x37 ('7'): (width=4) */
294 0x0F, 0x08, 0x04, 0x02, 0x02,},
296 /* character 0x38 ('8'): (width=4) */
297 0x06, 0x09, 0x06, 0x09, 0x06,},
299 /* character 0x39 ('9'): (width=4) */
300 0x06, 0x09, 0x0E, 0x08, 0x06,},
302 /* character 0x3A (':'): (width=1) */
303 0x00, 0x01, 0x00, 0x01, 0x00,},
305 /* character 0x3B (';'): (width=2) */
306 0x00, 0x02, 0x00, 0x02, 0x01,},
308 /* character 0x3C ('<'): (width=3) */
309 0x04, 0x02, 0x01, 0x02, 0x04,},
311 /* character 0x3D ('='): (width=4) */
312 0x00, 0x0F, 0x00, 0x0F, 0x00,},
314 /* character 0x3E ('>'): (width=3) */
315 0x01, 0x02, 0x04, 0x02, 0x01,},
317 /* character 0x3F ('?'): (width=3) */
318 0x03, 0x04, 0x02, 0x00, 0x02,},
320 /* character 0x40 ('@'): (width=3) */
321 0x00, 0x00, 0x00, 0x00, 0x00,},
323 /* character 0x41 ('A'): (width=5) */
324 0x04, 0x04, 0x0A, 0x0E, 0x11,},
326 /* character 0x42 ('B'): (width=4) */
327 0x07, 0x09, 0x07, 0x09, 0x07,},
329 /* character 0x43 ('C'): (width=4) */
330 0x06, 0x09, 0x01, 0x09, 0x06,},
332 /* character 0x44 ('D'): (width=4) */
333 0x07, 0x09, 0x09, 0x09, 0x07,},
335 /* character 0x45 ('E'): (width=4) */
336 0x0F, 0x01, 0x07, 0x01, 0x0F,},
338 /* character 0x46 ('F'): (width=4) */
339 0x0F, 0x01, 0x07, 0x01, 0x01,},
341 /* character 0x47 ('G'): (width=4) */
342 0x06, 0x01, 0x0D, 0x09, 0x06,},
344 /* character 0x48 ('H'): (width=4) */
345 0x09, 0x09, 0x0F, 0x09, 0x09,},
347 /* character 0x49 ('I'): (width=3) */
348 0x07, 0x02, 0x02, 0x02, 0x07,},
350 /* character 0x4A ('J'): (width=4) */
351 0x08, 0x08, 0x08, 0x09, 0x06,},
353 /* character 0x4B ('K'): (width=4) */
354 0x09, 0x05, 0x03, 0x05, 0x09,},
356 /* character 0x4C ('L'): (width=4) */
357 0x01, 0x01, 0x01, 0x01, 0x0F,},
359 /* character 0x4D ('M'): (width=5) */
360 0x11, 0x1B, 0x15, 0x11, 0x11,},
362 /* character 0x4E ('N'): (width=5) */
363 0x11, 0x13, 0x15, 0x19, 0x11,},
365 /* character 0x4F ('O'): (width=4) */
366 0x06, 0x09, 0x09, 0x09, 0x06,},
368 /* character 0x50 ('P'): (width=4) */
369 0x07, 0x09, 0x07, 0x01, 0x01,},
371 /* character 0x51 ('Q'): (width=5) */
372 0x06, 0x09, 0x09, 0x09, 0x1E,},
374 /* character 0x52 ('R'): (width=4) */
375 0x07, 0x09, 0x07, 0x09, 0x09,},
377 /* character 0x53 ('S'): (width=4) */
378 0x0E, 0x01, 0x06, 0x08, 0x07,},
380 /* character 0x54 ('T'): (width=3) */
381 0x07, 0x02, 0x02, 0x02, 0x02,},
383 /* character 0x55 ('U'): (width=4) */
384 0x09, 0x09, 0x09, 0x09, 0x06,},
386 /* character 0x56 ('V'): (width=5) */
387 0x11, 0x0A, 0x0A, 0x04, 0x04,},
389 /* character 0x57 ('W'): (width=5) */
390 0x15, 0x15, 0x0A, 0x0A, 0x0A,},
392 /* character 0x58 ('X'): (width=4) */
393 0x09, 0x09, 0x06, 0x09, 0x09,},
395 /* character 0x59 ('Y'): (width=5) */
396 0x11, 0x0A, 0x04, 0x04, 0x04,},
398 /* character 0x5A ('Z'): (width=4) */
399 0x0F, 0x04, 0x02, 0x01, 0x0F,},
401 /* character 0x5B ('['): (width=2) */
402 0x03, 0x01, 0x01, 0x01, 0x03,},
404 /* character 0x5C ('\'): (width=5) */
405 0x01, 0x02, 0x04, 0x08, 0x10,},
407 /* character 0x5D (']'): (width=2) */
408 0x03, 0x02, 0x02, 0x02, 0x03,},
410 /* character 0x5E ('^'): (width=5) */
411 0x04, 0x0A, 0x11, 0x00, 0x00,},
413 /* character 0x5F ('_'): (width=4) */
414 0x00, 0x00, 0x00, 0x00, 0x0F,},
416 /* character 0x60 ('`'): (width=1) */
417 0x01, 0x01, 0x00, 0x00, 0x00,},
419 /* character 0x61 ('a'): (width=5) */
420 0x04, 0x04, 0x0A, 0x0E, 0x11,},
422 /* character 0x62 ('b'): (width=4) */
423 0x07, 0x09, 0x07, 0x09, 0x07,},
425 /* character 0x63 ('c'): (width=4) */
426 0x06, 0x09, 0x01, 0x09, 0x06,},
428 /* character 0x64 ('d'): (width=4) */
429 0x07, 0x09, 0x09, 0x09, 0x07,},
431 /* character 0x65 ('e'): (width=4) */
432 0x0F, 0x01, 0x07, 0x01, 0x0F,},
434 /* character 0x66 ('f'): (width=4) */
435 0x0F, 0x01, 0x07, 0x01, 0x01,},
437 /* character 0x67 ('g'): (width=4) */
438 0x06, 0x01, 0x0D, 0x09, 0x06,},
440 /* character 0x68 ('h'): (width=4) */
441 0x09, 0x09, 0x0F, 0x09, 0x09,},
443 /* character 0x69 ('i'): (width=3) */
444 0x07, 0x02, 0x02, 0x02, 0x07,},
446 /* character 0x6A ('j'): (width=4) */
447 0x08, 0x08, 0x08, 0x09, 0x06,},
449 /* character 0x6B ('k'): (width=4) */
450 0x09, 0x05, 0x03, 0x05, 0x09,},
452 /* character 0x6C ('l'): (width=4) */
453 0x01, 0x01, 0x01, 0x01, 0x0F,},
455 /* character 0x6D ('m'): (width=5) */
456 0x11, 0x1B, 0x15, 0x11, 0x11,},
458 /* character 0x6E ('n'): (width=5) */
459 0x11, 0x13, 0x15, 0x19, 0x11,},
461 /* character 0x6F ('o'): (width=4) */
462 0x06, 0x09, 0x09, 0x09, 0x06,},
464 /* character 0x70 ('p'): (width=4) */
465 0x07, 0x09, 0x07, 0x01, 0x01,},
467 /* character 0x71 ('q'): (width=5) */
468 0x06, 0x09, 0x09, 0x09, 0x1E,},
470 /* character 0x72 ('r'): (width=4) */
471 0x07, 0x09, 0x07, 0x09, 0x09,},
473 /* character 0x73 ('s'): (width=4) */
474 0x0E, 0x01, 0x06, 0x08, 0x07,},
476 /* character 0x74 ('t'): (width=3) */
477 0x07, 0x02, 0x02, 0x02, 0x02,},
479 /* character 0x75 ('u'): (width=4) */
480 0x09, 0x09, 0x09, 0x09, 0x06,},
482 /* character 0x76 ('v'): (width=5) */
483 0x11, 0x0A, 0x0A, 0x04, 0x04,},
485 /* character 0x77 ('w'): (width=5) */
486 0x15, 0x15, 0x0A, 0x0A, 0x0A,},
488 /* character 0x78 ('x'): (width=4) */
489 0x09, 0x09, 0x06, 0x09, 0x09,},
491 /* character 0x79 ('y'): (width=5) */
492 0x11, 0x0A, 0x04, 0x04, 0x04,},
494 /* character 0x7A ('z'): (width=4) */
495 0x0F, 0x04, 0x02, 0x01, 0x0F,},
497 /* character 0x7B ('{'): (width=3) */
498 0x00, 0x00, 0x00, 0x00, 0x00,},
500 /* character 0x7C ('|'): (width=1) */
501 0x01, 0x01, 0x01, 0x01, 0x01,},
503 /* character 0x7D ('}'): (width=3) */
504 0x00, 0x00, 0x00, 0x00, 0x00,},
507 #if defined(__GNUC__) && (__MSP430X__ > 0)
508 __attribute__((__far__))
510 const unsigned char MetaWatch5width[PRINTABLE_CHARACTERS] =
512 /* width char hexcode */
513 /* ===== ==== ======= */
610 #if defined(__GNUC__) && (__MSP430X__ > 0)
611 __attribute__((__far__))
613 const unsigned char MetaWatch7table[PRINTABLE_CHARACTERS][7] =
616 /* character 0x20 (' '): (width = 2) */
617 {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,},
618 /* character 0x21 ('!'): (width=1) */
619 {0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x01,},
621 /* character 0x22 ('"'): (width=3) */
622 0x05, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00,},
624 /* character 0x23 ('#'): (width=7) */
625 0x00, 0x28, 0x7E, 0x14, 0x3F, 0x0A, 0x00,},
627 /* character 0x24 ('$'): (width=5) */
628 0x04, 0x1E, 0x05, 0x0E, 0x14, 0x0F, 0x04,},
630 /* character 0x25 ('%'): (width=7) */
631 0x42, 0x25, 0x15, 0x2A, 0x54, 0x52, 0x21,},
633 /* character 0x26 ('&'): (width=5) */
634 0x02, 0x05, 0x05, 0x02, 0x15, 0x09, 0x16,},
636 /* character 0x27 ('''): (width=3) */
637 0x05, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00,},
639 /* character 0x28 ('('): (width=3) */
640 0x04, 0x02, 0x01, 0x01, 0x01, 0x02, 0x04,},
642 /* character 0x29 (')'): (width=3) */
643 0x01, 0x02, 0x04, 0x04, 0x04, 0x02, 0x01,},
645 /* character 0x2A ('*'): (width=7) */
646 0x08, 0x2A, 0x1C, 0x7F, 0x1C, 0x2A, 0x08,},
648 /* character 0x2B ('+'): (width=5) */
649 0x00, 0x04, 0x04, 0x1F, 0x04, 0x04, 0x00,},
651 /* character 0x2C (','): (width=1) */
652 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01,},
654 /* character 0x2D ('-'): (width=4) */
655 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00,},
657 /* character 0x2E ('.'): (width=1) */
658 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,},
660 /* character 0x2F ('/'): (width=4) */
661 0x08, 0x08, 0x04, 0x06, 0x02, 0x01, 0x01,},
663 /* character 0x30 ('0'): (width=4) */
664 0x06, 0x09, 0x09, 0x09, 0x09, 0x09, 0x06,},
666 /* character 0x31 ('1'): (width=2) */
667 0x02, 0x03, 0x02, 0x02, 0x02, 0x02, 0x02,},
669 /* character 0x32 ('2'): (width=4) */
670 0x06, 0x09, 0x08, 0x04, 0x02, 0x01, 0x0F,},
672 /* character 0x33 ('3'): (width=4) */
673 0x06, 0x09, 0x08, 0x06, 0x08, 0x09, 0x06,},
675 /* character 0x34 ('4'): (width=5) */
676 0x04, 0x04, 0x0A, 0x09, 0x1F, 0x08, 0x08,},
678 /* character 0x35 ('5'): (width=4) */
679 0x0F, 0x01, 0x07, 0x08, 0x08, 0x09, 0x06,},
681 /* character 0x36 ('6'): (width=4) */
682 0x06, 0x01, 0x07, 0x09, 0x09, 0x09, 0x06,},
684 /* character 0x37 ('7'): (width=4) */
685 0x0F, 0x08, 0x04, 0x04, 0x02, 0x02, 0x02,},
687 /* character 0x38 ('8'): (width=4) */
688 0x06, 0x09, 0x09, 0x06, 0x09, 0x09, 0x06,},
690 /* character 0x39 ('9'): (width=4) */
691 0x06, 0x09, 0x09, 0x09, 0x0E, 0x08, 0x06,},
693 /* character 0x3A (':'): (width=1) */
694 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00,},
696 /* character 0x3B (';'): (width=1) */
697 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x01,},
699 /* character 0x3C ('<'): (width=3) */
700 0x00, 0x04, 0x02, 0x01, 0x02, 0x04, 0x00,},
702 /* character 0x3D ('='): (width=4) */
703 0x00, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x00,},
705 /* character 0x3E ('>'): (width=3) */
706 0x00, 0x01, 0x02, 0x04, 0x02, 0x01, 0x00,},
708 /* character 0x3F ('?'): (width=4) */
709 0x07, 0x08, 0x04, 0x02, 0x02, 0x00, 0x02,},
711 /* character 0x40 ('@'): (width=7) */
712 0x3C, 0x42, 0x59, 0x55, 0x39, 0x02, 0x3C,},
714 /* character 0x41 ('A'): (width=7) */
715 0x08, 0x08, 0x14, 0x14, 0x3E, 0x22, 0x41,},
717 /* character 0x42 ('B'): (width=5) */
718 0x0F, 0x11, 0x11, 0x0F, 0x11, 0x11, 0x0F,},
720 /* character 0x43 ('C'): (width=5) */
721 0x0C, 0x12, 0x01, 0x01, 0x01, 0x12, 0x0C,},
723 /* character 0x44 ('D'): (width=5) */
724 0x07, 0x09, 0x11, 0x11, 0x11, 0x09, 0x07,},
726 /* character 0x45 ('E'): (width=4) */
727 0x0F, 0x01, 0x01, 0x07, 0x01, 0x01, 0x0F,},
729 /* character 0x46 ('F'): (width=4) */
730 0x0F, 0x01, 0x01, 0x07, 0x01, 0x01, 0x01,},
732 /* character 0x47 ('G'): (width=6) */
733 0x0C, 0x12, 0x01, 0x39, 0x21, 0x12, 0x0C,},
735 /* character 0x48 ('H'): (width=5) */
736 0x11, 0x11, 0x11, 0x1F, 0x11, 0x11, 0x11,},
738 /* character 0x49 ('I'): (width=3) */
739 0x07, 0x02, 0x02, 0x02, 0x02, 0x02, 0x07,},
741 /* character 0x4A ('J'): (width=5) */
742 0x10, 0x10, 0x10, 0x10, 0x10, 0x11, 0x0E,},
744 /* character 0x4B ('K'): (width=5) */
745 0x11, 0x09, 0x05, 0x03, 0x05, 0x09, 0x11,},
747 /* character 0x4C ('L'): (width=4) */
748 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x0F,},
750 /* character 0x4D ('M'): (width=7) */
751 0x41, 0x63, 0x63, 0x55, 0x55, 0x49, 0x49,},
753 /* character 0x4E ('N'): (width=6) */
754 0x21, 0x23, 0x25, 0x2D, 0x29, 0x31, 0x21,},
756 /* character 0x4F ('O'): (width=6) */
757 0x0C, 0x12, 0x21, 0x21, 0x21, 0x12, 0x0C,},
759 /* character 0x50 ('P'): (width=4) */
760 0x07, 0x09, 0x09, 0x07, 0x01, 0x01, 0x01,},
762 /* character 0x51 ('Q'): (width=7) */
763 0x0C, 0x12, 0x21, 0x21, 0x21, 0x12, 0x6C,},
765 /* character 0x52 ('R'): (width=5) */
766 0x0F, 0x11, 0x11, 0x0F, 0x09, 0x11, 0x11,},
768 /* character 0x53 ('S'): (width=4) */
769 0x06, 0x09, 0x01, 0x06, 0x08, 0x09, 0x06,},
771 /* character 0x54 ('T'): (width=5) */
772 0x1F, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,},
774 /* character 0x55 ('U'): (width=5) */
775 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x0E,},
777 /* character 0x56 ('V'): (width=7) */
778 0x41, 0x22, 0x22, 0x14, 0x14, 0x08, 0x08,},
780 /* character 0x57 ('W'): (width=7) */
781 0x49, 0x49, 0x49, 0x55, 0x55, 0x22, 0x22,},
783 /* character 0x58 ('X'): (width=5) */
784 0x11, 0x1B, 0x0A, 0x04, 0x0A, 0x1B, 0x11,},
786 /* character 0x59 ('Y'): (width=7) */
787 0x41, 0x22, 0x14, 0x08, 0x08, 0x08, 0x08,},
789 /* character 0x5A ('Z'): (width=5) */
790 0x1F, 0x10, 0x08, 0x04, 0x02, 0x01, 0x1F,},
792 /* character 0x5B ('['): (width=3) */
793 0x07, 0x01, 0x01, 0x01, 0x01, 0x01, 0x07,},
795 /* character 0x5C ('\'): (width=4) */
796 0x01, 0x01, 0x02, 0x06, 0x04, 0x08, 0x08,},
798 /* character 0x5D (']'): (width=3) */
799 0x07, 0x04, 0x04, 0x04, 0x04, 0x04, 0x07,},
801 /* character 0x5E ('^'): (width=5) */
802 0x04, 0x0A, 0x11, 0x00, 0x00, 0x00, 0x00,},
804 /* character 0x5F ('_'): (width=5) */
805 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F,},
807 /* character 0x60 ('`'): (width=1) */
808 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,},
810 /* character 0x61 ('a'): (width=7) */
811 0x08, 0x08, 0x14, 0x14, 0x3E, 0x22, 0x41,},
813 /* character 0x62 ('b'): (width=5) */
814 0x0F, 0x11, 0x11, 0x0F, 0x11, 0x11, 0x0F,},
816 /* character 0x63 ('c'): (width=5) */
817 0x0C, 0x12, 0x01, 0x01, 0x01, 0x12, 0x0C,},
819 /* character 0x64 ('d'): (width=5) */
820 0x07, 0x09, 0x11, 0x11, 0x11, 0x09, 0x07,},
822 /* character 0x65 ('e'): (width=4) */
823 0x0F, 0x01, 0x01, 0x07, 0x01, 0x01, 0x0F,},
825 /* character 0x66 ('f'): (width=4) */
826 0x0F, 0x01, 0x01, 0x07, 0x01, 0x01, 0x01,},
828 /* character 0x67 ('g'): (width=6) */
829 0x0C, 0x12, 0x01, 0x39, 0x21, 0x12, 0x0C,},
831 /* character 0x68 ('h'): (width=5) */
832 0x11, 0x11, 0x11, 0x1F, 0x11, 0x11, 0x11,},
834 /* character 0x69 ('i'): (width=3) */
835 0x07, 0x02, 0x02, 0x02, 0x02, 0x02, 0x07,},
837 /* character 0x6A ('j'): (width=5) */
838 0x10, 0x10, 0x10, 0x10, 0x10, 0x11, 0x0E,},
840 /* character 0x6B ('k'): (width=5) */
841 0x11, 0x09, 0x05, 0x03, 0x05, 0x09, 0x11,},
843 /* character 0x6C ('l'): (width=4) */
844 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x0F,},
846 /* character 0x6D ('m'): (width=7) */
847 0x41, 0x63, 0x63, 0x55, 0x55, 0x49, 0x49,},
849 /* character 0x6E ('n'): (width=6) */
850 0x21, 0x23, 0x25, 0x2D, 0x29, 0x31, 0x21,},
852 /* character 0x6F ('o'): (width=6) */
853 0x0C, 0x12, 0x21, 0x21, 0x21, 0x12, 0x0C,},
855 /* character 0x70 ('p'): (width=4) */
856 0x07, 0x09, 0x09, 0x07, 0x01, 0x01, 0x01,},
858 /* character 0x71 ('q'): (width=7) */
859 0x0C, 0x12, 0x21, 0x21, 0x21, 0x12, 0x6C,},
861 /* character 0x72 ('r'): (width=5) */
862 0x0F, 0x11, 0x11, 0x0F, 0x09, 0x11, 0x11,},
864 /* character 0x73 ('s'): (width=4) */
865 0x06, 0x09, 0x01, 0x06, 0x08, 0x09, 0x06,},
867 /* character 0x74 ('t'): (width=5) */
868 0x1F, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,},
870 /* character 0x75 ('u'): (width=5) */
871 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x0E,},
873 /* character 0x76 ('v'): (width=7) */
874 0x41, 0x22, 0x22, 0x14, 0x14, 0x08, 0x08,},
876 /* character 0x77 ('w'): (width=7) */
877 0x49, 0x49, 0x49, 0x55, 0x55, 0x22, 0x22,},
879 /* character 0x78 ('x'): (width=5) */
880 0x11, 0x1B, 0x0A, 0x04, 0x0A, 0x1B, 0x11,},
882 /* character 0x79 ('y'): (width=7) */
883 0x41, 0x22, 0x14, 0x08, 0x08, 0x08, 0x08,},
885 /* character 0x7A ('z'): (width=5) */
886 0x1F, 0x10, 0x08, 0x04, 0x02, 0x01, 0x1F,},
888 /* character 0x7B ('{'): (width=3) */
889 0x04, 0x02, 0x01, 0x01, 0x01, 0x02, 0x04,},
891 /* character 0x7C ('|'): (width=1) */
892 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,},
894 /* character 0x7D ('}'): (width=3) */
895 0x01, 0x02, 0x04, 0x04, 0x04, 0x02, 0x01,},
899 #if defined(__GNUC__) && (__MSP430X__ > 0)
900 __attribute__((__far__))
902 const unsigned char MetaWatch7width[PRINTABLE_CHARACTERS] = {
903 /* width char hexcode */
904 /* ===== ==== ======= */
1002 #if defined(__GNUC__) && (__MSP430X__ > 0)
1003 __attribute__((__far__))
1005 const u16t MetaWatch16table[PRINTABLE_CHARACTERS][16] =
1007 /* character 0x20 (' '): (width=4) */
1008 {0x0000, 0x0000, 0x0000, 0x0000,
1009 0x0000, 0x0000, 0x0000, 0x0000,
1010 0x0000, 0x0000, 0x0000, 0x0000,
1011 0x0000, 0x0000, 0x0000, 0x0000},
1013 /* character 0x21 ('!'): (width=2) */
1014 {0x0000, 0x0000, 0x0003, 0x0003,
1015 0x0003, 0x0003, 0x0003, 0x0003,
1016 0x0003, 0x0003, 0x0000, 0x0003,
1017 0x0003, 0x0000, 0x0000, 0x0000},
1018 /* character 0x22 ('"'): (width=5) */
1019 {0x0000, 0x0012, 0x001B, 0x001B,
1020 0x0009, 0x0000, 0x0000, 0x0000,
1021 0x0000, 0x0000, 0x0000, 0x0000,
1022 0x0000, 0x0000, 0x0000, 0x0000},
1024 /* character 0x23 ('#'): (width=12) */
1025 {0x0000, 0x0000, 0x0000, 0x0110,
1026 0x0198, 0x0FFE, 0x07FF, 0x0198,
1027 0x0198, 0x0FFE, 0x07FF, 0x0198,
1028 0x0088, 0x0000, 0x0000, 0x0000},
1030 /* character 0x24 ('$'): (width=6) */
1031 {0x000C, 0x000C, 0x001E, 0x003F,
1032 0x0033, 0x0003, 0x0007, 0x001E,
1033 0x0038, 0x0030, 0x0033, 0x003F,
1034 0x001E, 0x000C, 0x000C, 0x0000},
1036 /* character 0x25 ('%'): (width=10) */
1037 {0x0000, 0x020E, 0x031F, 0x039B,
1038 0x01DF, 0x00EE, 0x0070, 0x0038,
1039 0x01DC, 0x03EE, 0x0367, 0x03E3,
1040 0x01C1, 0x0000, 0x0000, 0x0000},
1042 /* character 0x26 ('&'): (width=10) */
1043 {0x0000, 0x0000, 0x001C, 0x003E,
1044 0x0036, 0x003E, 0x001C, 0x01BE,
1045 0x01F7, 0x00E3, 0x01F7, 0x03BE,
1046 0x031C, 0x0000, 0x0000, 0x0000},
1048 /* character 0x27 ('''): (width=2) */
1049 {0x0000, 0x0002, 0x0003, 0x0003,
1050 0x0001, 0x0000, 0x0000, 0x0000,
1051 0x0000, 0x0000, 0x0000, 0x0000,
1052 0x0000, 0x0000, 0x0000, 0x0000},
1054 /* character 0x28 ('('): (width=4) */
1055 0x0008, 0x0004, 0x0006, 0x0006,
1056 0x0003, 0x0003, 0x0003, 0x0003,
1057 0x0003, 0x0003, 0x0003, 0x0006,
1058 0x0006, 0x0004, 0x0008, 0x0000},
1060 /* character 0x29 (')'): (width=4) */
1061 0x0001, 0x0002, 0x0006, 0x0006,
1062 0x000C, 0x000C, 0x000C, 0x000C,
1063 0x000C, 0x000C, 0x000C, 0x0006,
1064 0x0006, 0x0002, 0x0001, 0x0000},
1066 /* character 0x2A ('*'): (width=8) */
1067 0x0000, 0x0000, 0x0018, 0x0018,
1068 0x00DB, 0x00FF, 0x003C, 0x00FF,
1069 0x00DB, 0x0018, 0x0018, 0x0000,
1070 0x0000, 0x0000, 0x0000, 0x0000},
1072 /* character 0x2B ('+'): (width=8) */
1073 0x0000, 0x0000, 0x0000, 0x0000,
1074 0x0018, 0x0018, 0x0018, 0x00FF,
1075 0x00FF, 0x0018, 0x0018, 0x0018,
1076 0x0000, 0x0000, 0x0000, 0x0000},
1078 /* character 0x2C (','): (width=2) */
1079 0x0000, 0x0000, 0x0000, 0x0000,
1080 0x0000, 0x0000, 0x0000, 0x0000,
1081 0x0000, 0x0000, 0x0000, 0x0002,
1082 0x0003, 0x0003, 0x0001, 0x0000},
1084 /* character 0x2D ('-'): (width=8) */
1085 0x0000, 0x0000, 0x0000, 0x0000,
1086 0x0000, 0x0000, 0x0000, 0x00FF,
1087 0x00FF, 0x0000, 0x0000, 0x0000,
1088 0x0000, 0x0000, 0x0000, 0x0000},
1090 /* character 0x2E ('.'): (width=2) */
1091 0x0000, 0x0000, 0x0000, 0x0000,
1092 0x0000, 0x0000, 0x0000, 0x0000,
1093 0x0000, 0x0000, 0x0000, 0x0003,
1094 0x0003, 0x0000, 0x0000, 0x0000},
1096 /* character 0x2F ('/'): (width=6) */
1097 0x0000, 0x0000, 0x0000, 0x0030,
1098 0x0030, 0x0018, 0x0018, 0x000C,
1099 0x000C, 0x0006, 0x0006, 0x0003,
1100 0x0003, 0x0000, 0x0000, 0x0000},
1102 /* character 0x30 ('0'): (width=7) */
1103 0x0000, 0x0000, 0x001C, 0x003E,
1104 0x0036, 0x0063, 0x0063, 0x0063,
1105 0x0063, 0x0063, 0x0036, 0x003E,
1106 0x001C, 0x0000, 0x0000, 0x0000},
1108 /* character 0x31 ('1'): (width=3) */
1109 0x0000, 0x0000, 0x0006, 0x0007,
1110 0x0007, 0x0006, 0x0006, 0x0006,
1111 0x0006, 0x0006, 0x0006, 0x0006,
1112 0x0006, 0x0000, 0x0000, 0x0000},
1114 /* character 0x32 ('2'): (width=6) */
1115 0x0000, 0x0000, 0x001E, 0x003F,
1116 0x0033, 0x0030, 0x0038, 0x001C,
1117 0x000E, 0x0007, 0x0003, 0x003F,
1118 0x003F, 0x0000, 0x0000, 0x0000},
1120 /* character 0x33 ('3'): (width=6) */
1121 0x0000, 0x0000, 0x001E, 0x003F,
1122 0x0033, 0x0030, 0x001C, 0x003C,
1123 0x0030, 0x0030, 0x0033, 0x003F,
1124 0x001E, 0x0000, 0x0000, 0x0000},
1126 /* character 0x34 ('4'): (width=7) */
1127 0x0000, 0x0000, 0x000C, 0x000C,
1128 0x000C, 0x0036, 0x0036, 0x0033,
1129 0x007F, 0x007F, 0x0030, 0x0030,
1130 0x0030, 0x0000, 0x0000, 0x0000},
1132 /* character 0x35 ('5'): (width=6) */
1133 0x0000, 0x0000, 0x003F, 0x003F,
1134 0x0003, 0x0003, 0x001F, 0x003F,
1135 0x0030, 0x0030, 0x0033, 0x003F,
1136 0x001E, 0x0000, 0x0000, 0x0000},
1138 /* character 0x36 ('6'): (width=6) */
1139 0x0000, 0x0000, 0x000C, 0x000E,
1140 0x0006, 0x0003, 0x001F, 0x003F,
1141 0x0033, 0x0033, 0x0033, 0x001F,
1142 0x001E, 0x0000, 0x0000, 0x0000},
1144 /* character 0x37 ('7'): (width=6) */
1145 0x0000, 0x0000, 0x003F, 0x003F,
1146 0x0030, 0x0030, 0x0018, 0x0018,
1147 0x000C, 0x000C, 0x000C, 0x000C,
1148 0x000C, 0x0000, 0x0000, 0x0000},
1150 /* character 0x38 ('8'): (width=6) */
1151 0x0000, 0x0000, 0x001E, 0x003F,
1152 0x0033, 0x0033, 0x003F, 0x001E,
1153 0x0033, 0x0033, 0x0033, 0x003F,
1154 0x001E, 0x0000, 0x0000, 0x0000},
1156 /* character 0x39 ('9'): (width=6) */
1157 0x0000, 0x0000, 0x001E, 0x003F,
1158 0x0033, 0x0033, 0x0033, 0x003F,
1159 0x003E, 0x0030, 0x0018, 0x001C,
1160 0x000C, 0x0000, 0x0000, 0x0000},
1162 /* character 0x3A (':'): (width=2) */
1163 0x0000, 0x0000, 0x0000, 0x0000,
1164 0x0000, 0x0003, 0x0003, 0x0000,
1165 0x0000, 0x0003, 0x0003, 0x0000,
1166 0x0000, 0x0000, 0x0000, 0x0000},
1168 /* character 0x3B (';'): (width=2) */
1169 {0x0000, 0x0000, 0x0000, 0x0000,
1170 0x0000, 0x0003, 0x0003, 0x0000,
1171 0x0002, 0x0003, 0x0003, 0x0001,
1172 0x0000, 0x0000, 0x0000, 0x0000},
1174 /* character 0x3C ('<'): (width=8) */
1175 0x0000, 0x0000, 0x0000, 0x0000,
1176 0x00C0, 0x00F0, 0x003C, 0x000F,
1177 0x003C, 0x00F0, 0x00C0, 0x0000,
1178 0x0000, 0x0000, 0x0000, 0x0000},
1180 /* character 0x3D ('='): (width=7) */
1181 0x0000, 0x0000, 0x0000, 0x0000,
1182 0x0000, 0x0000, 0x007F, 0x007F,
1183 0x0000, 0x007F, 0x007F, 0x0000,
1184 0x0000, 0x0000, 0x0000, 0x0000},
1186 /* character 0x3E ('>'): (width=8) */
1187 0x0000, 0x0000, 0x0000, 0x0000,
1188 0x0003, 0x000F, 0x003C, 0x00F0,
1189 0x003C, 0x000F, 0x0003, 0x0000,
1190 0x0000, 0x0000, 0x0000, 0x0000},
1192 /* character 0x3F ('?'): (width=6) */
1193 0x0000, 0x0000, 0x001E, 0x003F,
1194 0x0033, 0x0030, 0x0018, 0x001C,
1195 0x000C, 0x000C, 0x0000, 0x000C,
1196 0x000C, 0x0000, 0x0000, 0x0000},
1198 /* character 0x40 ('@'): (width=11) */
1199 0x0000, 0x0000, 0x01F8, 0x03FE,
1200 0x0706, 0x06F3, 0x06FB, 0x06DB,
1201 0x07FB, 0x03F3, 0x0006, 0x01FE,
1202 0x00F8, 0x0000, 0x0000, 0x0000},
1204 /* character 0x41 ('A'): (width=9) */
1205 0x0000, 0x0000, 0x0010, 0x0010,
1206 0x0038, 0x0038, 0x006C, 0x006C,
1207 0x00C6, 0x00C6, 0x01FF, 0x0183,
1208 0x0183, 0x0000, 0x0000, 0x0000},
1210 /* character 0x42 ('B'): (width=7) */
1211 0x0000, 0x0000, 0x003F, 0x007F,
1212 0x0063, 0x0063, 0x003F, 0x007F,
1213 0x0063, 0x0063, 0x0063, 0x007F,
1214 0x003F, 0x0000, 0x0000, 0x0000},
1216 /* character 0x43 ('C'): (width=7) */
1217 0x0000, 0x0000, 0x003E, 0x007F,
1218 0x0063, 0x0003, 0x0003, 0x0003,
1219 0x0003, 0x0003, 0x0063, 0x007F,
1220 0x003E, 0x0000, 0x0000, 0x0000},
1222 /* character 0x44 ('D'): (width=7) */
1223 0x0000, 0x0000, 0x003F, 0x007F,
1224 0x0063, 0x0063, 0x0063, 0x0063,
1225 0x0063, 0x0063, 0x0063, 0x007F,
1226 0x003F, 0x0000, 0x0000, 0x0000},
1228 /* character 0x45 ('E'): (width=7) */
1229 0x0000, 0x0000, 0x007F, 0x007F,
1230 0x0003, 0x0003, 0x001F, 0x001F,
1231 0x0003, 0x0003, 0x0003, 0x007F,
1232 0x007F, 0x0000, 0x0000, 0x0000},
1234 /* character 0x46 ('F'): (width=6) */
1235 0x0000, 0x0000, 0x003F, 0x003F,
1236 0x0003, 0x0003, 0x003F, 0x003F,
1237 0x0003, 0x0003, 0x0003, 0x0003,
1238 0x0003, 0x0000, 0x0000, 0x0000},
1240 /* character 0x47 ('G'): (width=7) */
1241 0x0000, 0x0000, 0x003E, 0x007F,
1242 0x0063, 0x0003, 0x0003, 0x007B,
1243 0x007B, 0x0063, 0x0063, 0x007F,
1244 0x003E, 0x0000, 0x0000, 0x0000},
1246 /* character 0x48 ('H'): (width=7) */
1247 0x0000, 0x0000, 0x0063, 0x0063,
1248 0x0063, 0x0063, 0x007F, 0x007F,
1249 0x0063, 0x0063, 0x0063, 0x0063,
1250 0x0063, 0x0000, 0x0000, 0x0000},
1252 /* character 0x49 ('I'): (width=4) */
1253 0x0000, 0x0000, 0x000F, 0x000F,
1254 0x0006, 0x0006, 0x0006, 0x0006,
1255 0x0006, 0x0006, 0x0006, 0x000F,
1256 0x000F, 0x0000, 0x0000, 0x0000},
1258 /* character 0x4A ('J'): (width=6) */
1259 0x0000, 0x0000, 0x0030, 0x0030,
1260 0x0030, 0x0030, 0x0030, 0x0030,
1261 0x0030, 0x0030, 0x0033, 0x003F,
1262 0x001E, 0x0000, 0x0000, 0x0000},
1264 /* character 0x4B ('K'): (width=7) */
1265 0x0000, 0x0000, 0x0063, 0x0073,
1266 0x003B, 0x001F, 0x000F, 0x0007,
1267 0x000F, 0x001F, 0x003B, 0x0073,
1268 0x0063, 0x0000, 0x0000, 0x0000},
1270 /* character 0x4C ('L'): (width=6) */
1271 0x0000, 0x0000, 0x0003, 0x0003,
1272 0x0003, 0x0003, 0x0003, 0x0003,
1273 0x0003, 0x0003, 0x0003, 0x003F,
1274 0x003F, 0x0000, 0x0000, 0x0000},
1276 /* character 0x4D ('M'): (width=11) */
1277 0x0000, 0x0000, 0x0401, 0x0603,
1278 0x0707, 0x078F, 0x07DF, 0x06FB,
1279 0x0673, 0x0623, 0x0603, 0x0603,
1280 0x0603, 0x0000, 0x0000, 0x0000},
1282 /* character 0x4E ('N'): (width=9) */
1283 0x0000, 0x0000, 0x0181, 0x0183,
1284 0x0187, 0x018F, 0x019F, 0x01BB,
1285 0x01F3, 0x01E3, 0x01C3, 0x0183,
1286 0x0103, 0x0000, 0x0000, 0x0000},
1288 /* character 0x4F ('O'): (width=7) */
1289 0x0000, 0x0000, 0x003E, 0x007F,
1290 0x0063, 0x0063, 0x0063, 0x0063,
1291 0x0063, 0x0063, 0x0063, 0x007F,
1292 0x003E, 0x0000, 0x0000, 0x0000},
1294 /* character 0x50 ('P'): (width=7) */
1295 0x0000, 0x0000, 0x003F, 0x007F,
1296 0x0063, 0x0063, 0x0063, 0x007F,
1297 0x003F, 0x0003, 0x0003, 0x0003,
1298 0x0003, 0x0000, 0x0000, 0x0000},
1300 /* character 0x51 ('Q'): (width=8) */
1301 0x0000, 0x0000, 0x003E, 0x007F,
1302 0x0063, 0x0063, 0x0063, 0x0063,
1303 0x0063, 0x0063, 0x0063, 0x007F,
1304 0x003E, 0x00F0, 0x0060, 0x0000},
1306 /* character 0x52 ('R'): (width=7) */
1307 0x0000, 0x0000, 0x003F, 0x007F,
1308 0x0063, 0x0063, 0x0063, 0x003F,
1309 0x007F, 0x0063, 0x0063, 0x0063,
1310 0x0063, 0x0000, 0x0000, 0x0000},
1312 /* character 0x53 ('S'): (width=6) */
1313 0x0000, 0x0000, 0x001E, 0x003F,
1314 0x0033, 0x0003, 0x0007, 0x001E,
1315 0x0038, 0x0030, 0x0033, 0x003F,
1316 0x001E, 0x0000, 0x0000, 0x0000},
1318 /* character 0x54 ('T'): (width=6) */
1319 0x0000, 0x0000, 0x003F, 0x003F,
1320 0x000C, 0x000C, 0x000C, 0x000C,
1321 0x000C, 0x000C, 0x000C, 0x000C,
1322 0x000C, 0x0000, 0x0000, 0x0000},
1324 /* character 0x55 ('U'): (width=7) */
1325 0x0000, 0x0000, 0x0063, 0x0063,
1326 0x0063, 0x0063, 0x0063, 0x0063,
1327 0x0063, 0x0063, 0x0063, 0x007F,
1328 0x003E, 0x0000, 0x0000, 0x0000},
1330 /* character 0x56 ('V'): (width=7) */
1331 0x0000, 0x0000, 0x0063, 0x0063,
1332 0x0063, 0x0036, 0x0036, 0x0036,
1333 0x001C, 0x001C, 0x001C, 0x0008,
1334 0x0008, 0x0000, 0x0000, 0x0000},
1336 /* character 0x57 ('W'): (width=11) */
1337 0x0000, 0x0000, 0x0603, 0x0623,
1338 0x0623, 0x0376, 0x0376, 0x0376,
1339 0x01DC, 0x01DC, 0x01DC, 0x0088,
1340 0x0088, 0x0000, 0x0000, 0x0000},
1342 /* character 0x58 ('X'): (width=7) */
1343 0x0000, 0x0000, 0x0063, 0x0063,
1344 0x0036, 0x0036, 0x001C, 0x001C,
1345 0x001C, 0x0036, 0x0036, 0x0063,
1346 0x0063, 0x0000, 0x0000, 0x0000},
1348 /* character 0x59 ('Y'): (width=8) */
1349 0x0000, 0x0000, 0x00C3, 0x00C3,
1350 0x0066, 0x0066, 0x003C, 0x003C,
1351 0x0018, 0x0018, 0x0018, 0x0018,
1352 0x0018, 0x0000, 0x0000, 0x0000},
1354 /* character 0x5A ('Z'): (width=7) */
1355 0x0000, 0x0000, 0x007F, 0x007F,
1356 0x0030, 0x0030, 0x0018, 0x0018,
1357 0x000C, 0x000E, 0x0006, 0x007F,
1358 0x007F, 0x0000, 0x0000, 0x0000},
1360 /* character 0x5B ('['): (width=4) */
1361 0x000F, 0x000F, 0x0003, 0x0003,
1362 0x0003, 0x0003, 0x0003, 0x0003,
1363 0x0003, 0x0003, 0x0003, 0x0003,
1364 0x0003, 0x000F, 0x000F, 0x0000},
1366 /* character 0x5C ('\'): (width=6) */
1367 0x0000, 0x0000, 0x0000, 0x0003,
1368 0x0003, 0x0006, 0x0006, 0x000C,
1369 0x000C, 0x0018, 0x0018, 0x0030,
1370 0x0030, 0x0000, 0x0000, 0x0000},
1372 /* character 0x5D (']'): (width=4) */
1373 0x000F, 0x000F, 0x000C, 0x000C,
1374 0x000C, 0x000C, 0x000C, 0x000C,
1375 0x000C, 0x000C, 0x000C, 0x000C,
1376 0x000C, 0x000F, 0x000F, 0x0000},
1378 /* character 0x5E ('^'): (width=7) */
1379 0x0000, 0x0000, 0x0000, 0x0008,
1380 0x0008, 0x001C, 0x001C, 0x0036,
1381 0x0036, 0x0063, 0x0063, 0x0000,
1382 0x0000, 0x0000, 0x0000, 0x0000},
1384 /* character 0x5F ('_'): (width=9) */
1385 0x0000, 0x0000, 0x0000, 0x0000,
1386 0x0000, 0x0000, 0x0000, 0x0000,
1387 0x0000, 0x0000, 0x0000, 0x0000,
1388 0x01FF, 0x0000, 0x0000, 0x0000},
1390 /* character 0x60 ('`'): (width=3) */
1391 0x0000, 0x0000, 0x0000, 0x0001,
1392 0x0003, 0x0006, 0x0004, 0x0000,
1393 0x0000, 0x0000, 0x0000, 0x0000,
1394 0x0000, 0x0000, 0x0000, 0x0000},
1396 /* character 0x61 ('a'): (width=6) */
1397 0x0000, 0x0000, 0x0000, 0x0000,
1398 0x0000, 0x001E, 0x003F, 0x0030,
1399 0x003E, 0x003F, 0x0033, 0x003F,
1400 0x003E, 0x0000, 0x0000, 0x0000},
1402 /* character 0x62 ('b'): (width=6) */
1403 0x0000, 0x0000, 0x0003, 0x0003,
1404 0x0003, 0x001F, 0x003F, 0x0033,
1405 0x0033, 0x0033, 0x0033, 0x003F,
1406 0x001F, 0x0000, 0x0000, 0x0000},
1408 /* character 0x63 ('c'): (width=6) */
1409 0x0000, 0x0000, 0x0000, 0x0000,
1410 0x0000, 0x001E, 0x003F, 0x0033,
1411 0x0003, 0x0003, 0x0033, 0x003F,
1412 0x001E, 0x0000, 0x0000, 0x0000},
1414 /* character 0x64 ('d'): (width=6) */
1415 0x0000, 0x0000, 0x0030, 0x0030,
1416 0x0030, 0x003E, 0x003F, 0x0033,
1417 0x0033, 0x0033, 0x0033, 0x003F,
1418 0x003E, 0x0000, 0x0000, 0x0000},
1420 /* character 0x65 ('e'): (width=6) */
1421 0x0000, 0x0000, 0x0000, 0x0000,
1422 0x0000, 0x001E, 0x003F, 0x0033,
1423 0x003F, 0x003F, 0x0003, 0x003F,
1424 0x001E, 0x0000, 0x0000, 0x0000},
1426 /* character 0x66 ('f'): (width=4) */
1427 0x0000, 0x0000, 0x000C, 0x000E,
1428 0x0006, 0x000F, 0x000F, 0x0006,
1429 0x0006, 0x0006, 0x0006, 0x0006,
1430 0x0006, 0x0000, 0x0000, 0x0000},
1432 /* character 0x67 ('g'): (width=6) */
1433 0x0000, 0x0000, 0x0000, 0x0000,
1434 0x0000, 0x003E, 0x003F, 0x0033,
1435 0x0033, 0x0033, 0x0033, 0x003F,
1436 0x003E, 0x0030, 0x003E, 0x001C},
1438 /* character 0x68 ('h'): (width=6) */
1439 0x0000, 0x0000, 0x0003, 0x0003,
1440 0x0003, 0x001F, 0x003F, 0x0033,
1441 0x0033, 0x0033, 0x0033, 0x0033,
1442 0x0033, 0x0000, 0x0000, 0x0000},
1444 /* character 0x69 ('i'): (width=2) */
1445 0x0000, 0x0000, 0x0003, 0x0003,
1446 0x0000, 0x0003, 0x0003, 0x0003,
1447 0x0003, 0x0003, 0x0003, 0x0003,
1448 0x0003, 0x0000, 0x0000, 0x0000},
1450 /* character 0x6A ('j'): (width=5) */
1451 0x0000, 0x0000, 0x0018, 0x0018,
1452 0x0000, 0x0018, 0x0018, 0x0018,
1453 0x0018, 0x0018, 0x0018, 0x0018,
1454 0x0018, 0x0018, 0x001F, 0x000E},
1456 /* character 0x6B ('k'): (width=6) */
1457 0x0000, 0x0000, 0x0003, 0x0003,
1458 0x0003, 0x0033, 0x003B, 0x001F,
1459 0x000F, 0x000F, 0x001F, 0x003B,
1460 0x0033, 0x0000, 0x0000, 0x0000},
1462 /* character 0x6C ('l'): (width=2) */
1463 0x0000, 0x0000, 0x0003, 0x0003,
1464 0x0003, 0x0003, 0x0003, 0x0003,
1465 0x0003, 0x0003, 0x0003, 0x0003,
1466 0x0003, 0x0000, 0x0000, 0x0000},
1468 /* character 0x6D ('m'): (width=10) */
1469 0x0000, 0x0000, 0x0000, 0x0000,
1470 0x0000, 0x01DB, 0x03FF, 0x0377,
1471 0x0333, 0x0333, 0x0333, 0x0333,
1472 0x0333, 0x0000, 0x0000, 0x0000},
1474 /* character 0x6E ('n'): (width=6) */
1475 0x0000, 0x0000, 0x0000, 0x0000,
1476 0x0000, 0x001B, 0x003F, 0x0037,
1477 0x0033, 0x0033, 0x0033, 0x0033,
1478 0x0033, 0x0000, 0x0000, 0x0000},
1480 /* character 0x6F ('o'): (width=6) */
1481 0x0000, 0x0000, 0x0000, 0x0000,
1482 0x0000, 0x001E, 0x003F, 0x0033,
1483 0x0033, 0x0033, 0x0033, 0x003F,
1484 0x001E, 0x0000, 0x0000, 0x0000},
1486 /* character 0x70 ('p'): (width=6) */
1487 0x0000, 0x0000, 0x0000, 0x0000,
1488 0x0000, 0x001F, 0x003F, 0x0033,
1489 0x0033, 0x0033, 0x0033, 0x001F,
1490 0x001F, 0x0003, 0x0003, 0x0003},
1492 /* character 0x71 ('q'): (width=6) */
1493 0x0000, 0x0000, 0x0000, 0x0000,
1494 0x0000, 0x003E, 0x003F, 0x0033,
1495 0x0033, 0x0033, 0x0033, 0x003E,
1496 0x003E, 0x0030, 0x0030, 0x0030},
1498 /* character 0x72 ('r'): (width=5) */
1499 0x0000, 0x0000, 0x0000, 0x0000,
1500 0x0000, 0x001B, 0x001F, 0x0007,
1501 0x0003, 0x0003, 0x0003, 0x0003,
1502 0x0003, 0x0000, 0x0000, 0x0000},
1504 /* character 0x73 ('s'): (width=5) */
1505 0x0000, 0x0000, 0x0000, 0x0000,
1506 0x0000, 0x000E, 0x001F, 0x0003,
1507 0x000F, 0x001E, 0x0018, 0x001F,
1508 0x000E, 0x0000, 0x0000, 0x0000},
1510 /* character 0x74 ('t'): (width=4) */
1511 0x0000, 0x0000, 0x0004, 0x0006,
1512 0x0006, 0x000F, 0x000F, 0x0006,
1513 0x0006, 0x0006, 0x0006, 0x000E,
1514 0x000C, 0x0000, 0x0000, 0x0000},
1516 /* character 0x75 ('u'): (width=6) */
1517 0x0000, 0x0000, 0x0000, 0x0000,
1518 0x0000, 0x0033, 0x0033, 0x0033,
1519 0x0033, 0x0033, 0x0033, 0x003F,
1520 0x003E, 0x0000, 0x0000, 0x0000},
1522 /* character 0x76 ('v'): (width=7) */
1523 0x0000, 0x0000, 0x0000, 0x0000,
1524 0x0000, 0x0063, 0x0063, 0x0036,
1525 0x0036, 0x001C, 0x001C, 0x0008,
1526 0x0008, 0x0000, 0x0000, 0x0000},
1528 /* character 0x77 ('w'): (width=11) */
1529 0x0000, 0x0000, 0x0000, 0x0000,
1530 0x0000, 0x0623, 0x0623, 0x0376,
1531 0x0376, 0x01DC, 0x01DC, 0x0088,
1532 0x0088, 0x0000, 0x0000, 0x0000},
1534 /* character 0x78 ('x'): (width=7) */
1535 0x0000, 0x0000, 0x0000, 0x0000,
1536 0x0000, 0x0063, 0x0077, 0x003E,
1537 0x001C, 0x001C, 0x003E, 0x0077,
1538 0x0063, 0x0000, 0x0000, 0x0000},
1540 /* character 0x79 ('y'): (width=6) */
1541 0x0000, 0x0000, 0x0000, 0x0000,
1542 0x0000, 0x0033, 0x0033, 0x0033,
1543 0x0033, 0x0033, 0x0033, 0x003F,
1544 0x003E, 0x0030, 0x003E, 0x001C},
1546 /* character 0x7A ('z'): (width=6) */
1547 0x0000, 0x0000, 0x0000, 0x0000,
1548 0x0000, 0x003F, 0x003F, 0x0030,
1549 0x0018, 0x000C, 0x0006, 0x003F,
1550 0x003F, 0x0000, 0x0000, 0x0000},
1552 /* character 0x7B ('{'): (width=4) */
1553 0x0008, 0x0004, 0x0006, 0x0006,
1554 0x0003, 0x0003, 0x0003, 0x0003,
1555 0x0003, 0x0003, 0x0003, 0x0006,
1556 0x0006, 0x0004, 0x0008, 0x0000},
1558 /* character 0x7C ('|'): (width=2) */
1559 0x0000, 0x0003, 0x0003, 0x0003,
1560 0x0003, 0x0003, 0x0000, 0x0000,
1561 0x0003, 0x0003, 0x0003, 0x0003,
1562 0x0003, 0x0000, 0x0000, 0x0000},
1564 /* character 0x7D ('}'): (width=4) */
1565 0x0001, 0x0002, 0x0006, 0x0006,
1566 0x000C, 0x000C, 0x000C, 0x000C,
1567 0x000C, 0x000C, 0x000C, 0x0006,
1568 0x0006, 0x0002, 0x0001, 0x0000},
1571 #if defined(__GNUC__) && (__MSP430X__ > 0)
1572 __attribute__((__far__))
1574 const unsigned char MetaWatch16width[PRINTABLE_CHARACTERS] =
1576 /* width char hexcode */
1577 /* ===== ==== ======= */
1674 /******************************************************************************/
1675 #if defined(__GNUC__) && (__MSP430X__ > 0)
1676 __attribute__((__far__))
1678 const u16t MetaWatchTimeTable[TOTAL_TIME_CHARACTERS][19] =
1680 /* character 0x30 ('0'): (width=11, offset=0) */
1681 {0x01FC, 0x03FE, 0x07FF, 0x07FF,
1682 0x078F, 0x078F, 0x078F, 0x078F,
1683 0x078F, 0x078F, 0x078F, 0x078F,
1684 0x078F, 0x078F, 0x078F, 0x07FF,
1685 0x07FF, 0x03FE, 0x01FC},
1687 /* character 0x31 ('1'): (width=11, offset=38) */
1688 0x01C0, 0x01E0, 0x01F8, 0x01F8,
1689 0x01F8, 0x01F8, 0x01E0, 0x01E0,
1690 0x01E0, 0x01E0, 0x01E0, 0x01E0,
1691 0x01E0, 0x01E0, 0x01E0, 0x01E0,
1692 0x01E0, 0x01E0, 0x01E0},
1694 /* character 0x32 ('2'): (width=11, offset=76) */
1695 0x01FC, 0x03FE, 0x07FF, 0x07FF,
1696 0x078F, 0x078F, 0x0780, 0x07C0,
1697 0x07E0, 0x03F0, 0x01F8, 0x00FC,
1698 0x007E, 0x003F, 0x001F, 0x07FF,
1699 0x07FF, 0x07FF, 0x07FF},
1701 /* character 0x33 ('3'): (width=11, offset=114) */
1702 0x01FC, 0x03FE, 0x07FF, 0x07FF,
1703 0x078F, 0x078F, 0x0780, 0x07C0,
1704 0x03F0, 0x01F0, 0x03F0, 0x07C0,
1705 0x0780, 0x078F, 0x078F, 0x07FF,
1706 0x07FF, 0x03FE, 0x01FC},
1708 /* character 0x34 ('4'): (width=11, offset=152) */
1709 0x003C, 0x07BC, 0x07BC, 0x079E,
1710 0x079E, 0x078F, 0x078F, 0x07FF,
1711 0x07FF, 0x07FF, 0x07FF, 0x0780,
1712 0x0780, 0x0780, 0x0780, 0x0780,
1713 0x0780, 0x0780, 0x0780},
1715 /* character 0x35 ('5'): (width=11, offset=190) */
1716 0x07FF, 0x07FF, 0x07FF, 0x07FF,
1717 0x000F, 0x000F, 0x000F, 0x03FF,
1718 0x07FF, 0x07FF, 0x07FF, 0x0780,
1719 0x0780, 0x0780, 0x07C0, 0x07FF,
1720 0x03FF, 0x03FF, 0x00FF},
1722 /* character 0x36 ('6'): (width=11, offset=228) */
1723 0x01F0, 0x01FC, 0x01FE, 0x01FE,
1724 0x001F, 0x000F, 0x000F, 0x01FF,
1725 0x03FF, 0x07FF, 0x07FF, 0x078F,
1726 0x078F, 0x078F, 0x078F, 0x07FF,
1727 0x07FF, 0x03FE, 0x01FC},
1729 /* character 0x37 ('7'): (width=11, offset=266) */
1730 0x07FF, 0x07FF, 0x07FF, 0x07FF,
1731 0x0780, 0x07C0, 0x03C0, 0x03E0,
1732 0x01E0, 0x01F0, 0x00F0, 0x00F8,
1733 0x0078, 0x0078, 0x0078, 0x0078,
1734 0x0078, 0x0078, 0x0078},
1736 /* character 0x38 ('8'): (width=11, offset=304) */
1737 0x01FC, 0x03FE, 0x07FF, 0x07FF,
1738 0x078F, 0x078F, 0x078F, 0x07FF,
1739 0x07FF, 0x03FE, 0x07FF, 0x078F,
1740 0x078F, 0x078F, 0x078F, 0x07FF,
1741 0x07FF, 0x03FE, 0x01FC},
1743 /* character 0x39 ('9'): (width=11, offset=342) */
1744 0x01FC, 0x03FE, 0x07FF, 0x07FF,
1745 0x078F, 0x078F, 0x078F, 0x078F,
1746 0x07FF, 0x07FF, 0x07FE, 0x07FC,
1747 0x0780, 0x0780, 0x07C0, 0x03FC,
1748 0x03FC, 0x01FC, 0x007C},
1750 /* character 0x3A (':'): (width=4, offset=380) */
1751 0x0000, 0x0000, 0x0000, 0x0000,
1752 0x0006, 0x000F, 0x000F, 0x0006,
1753 0x0000, 0x0000, 0x0000, 0x0006,
1754 0x000F, 0x000F, 0x0006, 0x0000,
1755 0x0000, 0x0000, 0x0000},
1757 /* character 0x3B (';'): (width=11, offset=418) */
1758 0x0000, 0x0000, 0x0000, 0x0000,
1759 0x0000, 0x0000, 0x0000, 0x0000,
1760 0x0000, 0x0000, 0x0000, 0x0000,
1761 0x0000, 0x0000, 0x0000, 0x0000,
1762 0x0000, 0x0000, 0x0000},
1765 #if defined(__GNUC__) && (__MSP430X__ > 0)
1766 __attribute__((__far__))
1768 const unsigned char MetaWatchTimeWidth[TOTAL_TIME_CHARACTERS] =
1770 /* width char hexcode */
1771 /* ===== ==== ======= */
1786 /******************************************************************************/
1788 #if defined(__GNUC__) && (__MSP430X__ > 0)
1789 __attribute__((__far__))
1791 const unsigned char MetaWatchMonospaced10Table[PRINTABLE_CHARACTERS][10] =
1793 {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
1794 {0x00,0x00,0x10,0x38,0x38,0x10,0x10,0x00,0x10,0x00},
1795 {0x00,0x00,0x6C,0x6C,0x24,0x00,0x00,0x00,0x00,0x00},
1796 {0x00,0x00,0x00,0x28,0x7C,0x28,0x28,0x7C,0x28,0x00},
1797 {0x00,0x00,0x10,0x70,0x08,0x30,0x40,0x38,0x20,0x00},
1798 {0x00,0x00,0x4C,0x4C,0x20,0x10,0x08,0x64,0x64,0x00},
1799 {0x00,0x00,0x08,0x14,0x14,0x08,0x54,0x24,0x58,0x00},
1800 {0x00,0x00,0x18,0x18,0x10,0x08,0x00,0x00,0x00,0x00},
1801 {0x00,0x00,0x10,0x08,0x08,0x08,0x08,0x08,0x10,0x00},
1802 {0x00,0x00,0x10,0x20,0x20,0x20,0x20,0x20,0x10,0x00},
1803 {0x00,0x00,0x92,0x54,0x38,0xFE,0x38,0x54,0x92,0x00},
1804 {0x00,0x00,0x00,0x10,0x10,0x7C,0x10,0x10,0x00,0x00},
1805 {0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x10,0x08},
1806 {0x00,0x00,0x00,0x00,0x00,0x7C,0x00,0x00,0x00,0x00},
1807 {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x00},
1808 {0x00,0x00,0x00,0x40,0x20,0x10,0x08,0x04,0x00,0x00},
1809 {0x00,0x00,0x38,0x44,0x64,0x54,0x4C,0x44,0x38,0x00},
1810 {0x00,0x00,0x10,0x18,0x10,0x10,0x10,0x10,0x38,0x00},
1811 {0x00,0x00,0x38,0x44,0x40,0x30,0x08,0x04,0x7C,0x00},
1812 {0x00,0x00,0x38,0x44,0x40,0x38,0x40,0x44,0x38,0x00},
1813 {0x00,0x00,0x20,0x30,0x28,0x24,0x7C,0x20,0x20,0x00},
1814 {0x00,0x00,0x7C,0x04,0x04,0x3C,0x40,0x44,0x38,0x00},
1815 {0x00,0x00,0x30,0x08,0x04,0x3C,0x44,0x44,0x38,0x00},
1816 {0x00,0x00,0x7C,0x40,0x20,0x10,0x08,0x08,0x08,0x00},
1817 {0x00,0x00,0x38,0x44,0x44,0x38,0x44,0x44,0x38,0x00},
1818 {0x00,0x00,0x38,0x44,0x44,0x78,0x40,0x20,0x18,0x00},
1819 {0x00,0x00,0x00,0x00,0x18,0x18,0x00,0x18,0x18,0x00},
1820 {0x00,0x00,0x00,0x00,0x18,0x18,0x00,0x18,0x18,0x10},
1821 {0x00,0x00,0x20,0x10,0x08,0x04,0x08,0x10,0x20,0x00},
1822 {0x00,0x00,0x00,0x00,0x7C,0x00,0x00,0x7C,0x00,0x00},
1823 {0x00,0x00,0x08,0x10,0x20,0x40,0x20,0x10,0x08,0x00},
1824 {0x00,0x00,0x38,0x44,0x40,0x30,0x10,0x00,0x10,0x00},
1825 {0x00,0x00,0x38,0x44,0x74,0x54,0x74,0x04,0x38,0x00},
1826 {0x00,0x00,0x38,0x44,0x44,0x44,0x7C,0x44,0x44,0x00},
1827 {0x00,0x00,0x3C,0x44,0x44,0x3C,0x44,0x44,0x3C,0x00},
1828 {0x00,0x00,0x38,0x44,0x04,0x04,0x04,0x44,0x38,0x00},
1829 {0x00,0x00,0x3C,0x44,0x44,0x44,0x44,0x44,0x3C,0x00},
1830 {0x00,0x00,0x7C,0x04,0x04,0x3C,0x04,0x04,0x7C,0x00},
1831 {0x00,0x00,0x7C,0x04,0x04,0x3C,0x04,0x04,0x04,0x00},
1832 {0x00,0x00,0x38,0x44,0x04,0x74,0x44,0x44,0x78,0x00},
1833 {0x00,0x00,0x44,0x44,0x44,0x7C,0x44,0x44,0x44,0x00},
1834 {0x00,0x00,0x38,0x10,0x10,0x10,0x10,0x10,0x38,0x00},
1835 {0x00,0x00,0x40,0x40,0x40,0x40,0x44,0x44,0x38,0x00},
1836 {0x00,0x00,0x44,0x24,0x14,0x0C,0x14,0x24,0x44,0x00},
1837 {0x00,0x00,0x04,0x04,0x04,0x04,0x04,0x04,0x7C,0x00},
1838 {0x00,0x00,0x44,0x6C,0x54,0x44,0x44,0x44,0x44,0x00},
1839 {0x00,0x00,0x44,0x4C,0x54,0x64,0x44,0x44,0x44,0x00},
1840 {0x00,0x00,0x38,0x44,0x44,0x44,0x44,0x44,0x38,0x00},
1841 {0x00,0x00,0x3C,0x44,0x44,0x3C,0x04,0x04,0x04,0x00},
1842 {0x00,0x00,0x38,0x44,0x44,0x44,0x54,0x24,0x58,0x00},
1843 {0x00,0x00,0x3C,0x44,0x44,0x3C,0x24,0x44,0x44,0x00},
1844 {0x00,0x00,0x38,0x44,0x04,0x38,0x40,0x44,0x38,0x00},
1845 {0x00,0x00,0x7C,0x10,0x10,0x10,0x10,0x10,0x10,0x00},
1846 {0x00,0x00,0x44,0x44,0x44,0x44,0x44,0x44,0x38,0x00},
1847 {0x00,0x00,0x44,0x44,0x44,0x44,0x44,0x28,0x10,0x00},
1848 {0x00,0x00,0x44,0x44,0x54,0x54,0x54,0x54,0x28,0x00},
1849 {0x00,0x00,0x44,0x44,0x28,0x10,0x28,0x44,0x44,0x00},
1850 {0x00,0x00,0x44,0x44,0x44,0x28,0x10,0x10,0x10,0x00},
1851 {0x00,0x00,0x7C,0x40,0x20,0x10,0x08,0x04,0x7C,0x00},
1852 {0x00,0x00,0x38,0x08,0x08,0x08,0x08,0x08,0x38,0x00},
1853 {0x00,0x00,0x00,0x04,0x08,0x10,0x20,0x40,0x00,0x00},
1854 {0x00,0x00,0x38,0x20,0x20,0x20,0x20,0x20,0x38,0x00},
1855 {0x00,0x00,0x10,0x28,0x44,0x00,0x00,0x00,0x00,0x00},
1856 {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x00},
1857 {0x00,0x18,0x18,0x08,0x10,0x00,0x00,0x00,0x00,0x00},
1858 {0x00,0x00,0x00,0x00,0x38,0x40,0x78,0x44,0x78,0x00},
1859 {0x00,0x00,0x04,0x04,0x3C,0x44,0x44,0x44,0x3C,0x00},
1860 {0x00,0x00,0x00,0x00,0x38,0x44,0x04,0x44,0x38,0x00},
1861 {0x00,0x00,0x40,0x40,0x78,0x44,0x44,0x44,0x78,0x00},
1862 {0x00,0x00,0x00,0x00,0x38,0x44,0x3C,0x04,0x38,0x00},
1863 {0x00,0x00,0x60,0x10,0x10,0x78,0x10,0x10,0x10,0x00},
1864 {0x00,0x00,0x00,0x78,0x44,0x44,0x78,0x40,0x38,0x00},
1865 {0x00,0x00,0x08,0x08,0x38,0x48,0x48,0x48,0x48,0x00},
1866 {0x00,0x00,0x10,0x00,0x10,0x10,0x10,0x10,0x10,0x00},
1867 {0x00,0x00,0x40,0x00,0x60,0x40,0x40,0x40,0x48,0x30},
1868 {0x00,0x00,0x08,0x08,0x48,0x28,0x18,0x28,0x48,0x00},
1869 {0x00,0x00,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x00},
1870 {0x00,0x00,0x00,0x00,0x2C,0x54,0x54,0x44,0x44,0x00},
1871 {0x00,0x00,0x00,0x00,0x38,0x48,0x48,0x48,0x48,0x00},
1872 {0x00,0x00,0x00,0x00,0x38,0x44,0x44,0x44,0x38,0x00},
1873 {0x00,0x00,0x00,0x00,0x3C,0x44,0x44,0x3C,0x04,0x04},
1874 {0x00,0x00,0x00,0x00,0x78,0x44,0x44,0x78,0x40,0x40},
1875 {0x00,0x00,0x00,0x00,0x34,0x48,0x08,0x08,0x1C,0x00},
1876 {0x00,0x00,0x00,0x00,0x38,0x04,0x38,0x40,0x38,0x00},
1877 {0x00,0x00,0x00,0x10,0x78,0x10,0x10,0x50,0x20,0x00},
1878 {0x00,0x00,0x00,0x00,0x48,0x48,0x48,0x68,0x50,0x00},
1879 {0x00,0x00,0x00,0x00,0x44,0x44,0x44,0x28,0x10,0x00},
1880 {0x00,0x00,0x00,0x00,0x44,0x44,0x54,0x7C,0x28,0x00},
1881 {0x00,0x00,0x00,0x00,0x44,0x28,0x10,0x28,0x44,0x00},
1882 {0x00,0x00,0x00,0x00,0x48,0x48,0x48,0x70,0x40,0x70},
1883 {0x00,0x00,0x00,0x00,0x78,0x40,0x30,0x08,0x78,0x00},
1884 {0x00,0x00,0x30,0x08,0x08,0x0C,0x08,0x08,0x30,0x00},
1885 {0x00,0x00,0x10,0x10,0x10,0x00,0x10,0x10,0x10,0x00},
1886 {0x00,0x00,0x18,0x20,0x20,0x60,0x20,0x20,0x18,0x00},
1887 // {0x00,0x00,0x00,0x50,0x28,0x00,0x00,0x00,0x00,0x00},