home *** CD-ROM | disk | FTP | other *** search
- // ____________________________________________________
- // | |
- // | Project: POWER VIEW INTERFACE |
- // | File: PVDC.CPP |
- // | Compiler: WPP386 (10.6) |
- // | |
- // | Subject: Device Context implementation |
- // | |
- // | Author: Emil Dotchevski |
- // |____________________________________________________|
- //
- // E-mail: zajo@geocities.com
- // URL: http://www.geocities.com/SiliconValley/Bay/3577
-
- #define uses_stdarg
- #define uses_stdio
- #define uses_malloc
- #define uses_string
- #define uses_basics
- #define uses_conio
- #define uses_dc
- #define uses_drv
- #ifdef HGR
- #define uses_hgr
- #endif
-
- #define DECLARE_PVDC
- #include "PVuses.h"
- #undef DECLARE_PVDC
-
- #define MAX_FORMATTED_LINE_LENGTH 512
-
- #ifdef HGR
- #ifdef CYR
- char graph_chars16[256][16] = {
- { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 },
- { 0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0 },
- { 0x00,0x00,0xF8,0xFC,0xFC,0xFC,0x0C,0x1C,0x3C,0x7C,0xFC,0xFC,0xFC,0xF8,0x00,0x00 },
- { 0x00,0x00,0xF8,0xFC,0xFC,0xFC,0x7C,0x3C,0x1C,0x0C,0xFC,0xFC,0xFC,0xF8,0x00,0x00 },
- { 0x00,0x00,0xF8,0xFC,0x7C,0x3C,0x1C,0xFC,0xFC,0x1C,0x3C,0x7C,0xFC,0xF8,0x00,0x00 },
- { 0x00,0x00,0xF8,0xFC,0x3C,0x0C,0x2C,0x2C,0x2C,0x2C,0xEC,0x0C,0xFC,0xF8,0x00,0x00 },
- { 0x00,0x00,0xF8,0xFC,0xFC,0xFC,0xFC,0x1C,0x1C,0xFC,0xFC,0xFC,0xFC,0xF8,0x00,0x00 },
- { 0x00,0x00,0xF8,0xFC,0xFC,0xBC,0x9C,0x0C,0x0C,0x9C,0xBC,0xFC,0xFC,0xF8,0x00,0x00 },
- { 0x00,0x00,0xF8,0xFC,0x7C,0x7C,0x7C,0x7C,0x7C,0x1C,0x3C,0x7C,0xFC,0xF8,0x00,0x00 },
- { 0x00,0x00,0xF8,0xFC,0x7C,0x3C,0x1C,0x7C,0x7C,0x7C,0x7C,0x7C,0xFC,0xF8,0x00,0x00 },
- { 0xFC,0x04,0xFC,0x04,0xFC,0x04,0xFC,0x04,0xFC,0x04,0xFC,0x04,0xFC,0x04,0xFC,0x04 },
- { 0x55,0xAA,0x55,0xAA,0x55,0xAA,0x55,0xAA,0x55,0xAA,0x55,0xAA,0x55,0xAA,0x55,0xAA },
- { 0x00,0x00,0xE0,0x10,0x08,0x04,0x04,0x04,0x04,0x04,0x08,0x10,0xE0,0x00,0x00,0x00 },
- { 0x00,0x00,0xE0,0x10,0x08,0xC4,0xE4,0xE4,0xE4,0xC4,0x08,0x10,0xE0,0x00,0x00,0x00 },
- { 0x00,0x00,0xFC,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0xFC,0x00,0x00,0x00 },
- { 0x00,0x00,0xFC,0x04,0x34,0x64,0x64,0xC4,0xC4,0x84,0x84,0x04,0xFC,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x00,0xC0,0xF0,0xFC,0xFF,0xFC,0xF0,0xC0,0x00,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x00,0x03,0x0F,0x3F,0xFF,0x3F,0x0F,0x03,0x00,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0xFC,0x00,0xFC,0x00,0xFC,0x00,0xFC,0x00,0xFC,0x00,0x00,0x00,0x00 },
- { 0x00,0x7C,0xD6,0xAA,0xD6,0xAA,0xD6,0x7C,0x00,0x7C,0xD6,0xAA,0xD6,0xAA,0xD6,0x7C },
- { 0x18,0x18,0x18,0x18,0x18,0x18,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 },
- { 0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0 },
- { 0xFF,0xFC,0xF8,0xF0,0xF0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xF0,0xF0,0xF8,0xFC,0xFF },
- { 0x00,0xC0,0xE0,0xF0,0xF0,0xF8,0xF8,0xF8,0xF8,0xF8,0xF8,0xF0,0xF0,0xE0,0xC0,0x00 },
- { 0x00,0x00,0x00,0x18,0x3C,0x7E,0x18,0x18,0x18,0x18,0x18,0x00,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x18,0x18,0x18,0x18,0x18,0x7E,0x3C,0x18,0x00,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x00,0x04,0x06,0xFF,0xFF,0x06,0x04,0x00,0x00,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x00,0x20,0x60,0xFF,0xFF,0x60,0x20,0x00,0x00,0x00,0x00,0x00,0x00 },
- { 0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18 },
- { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18 },
- { 0x00,0x00,0x00,0x00,0x10,0x38,0x38,0x7C,0x7C,0xFE,0xFE,0x00,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x00,0xFE,0xFE,0x7C,0x7C,0x38,0x38,0x10,0x00,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x18,0x3C,0x3C,0x3C,0x18,0x18,0x18,0x00,0x18,0x18,0x00,0x00,0x00,0x00 },
- { 0x00,0x66,0x66,0x66,0x24,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x6C,0x6C,0xFE,0x6C,0x6C,0x6C,0xFE,0x6C,0x6C,0x00,0x00,0x00,0x00 },
- { 0x18,0x18,0x7C,0xC6,0xC2,0xC0,0x7C,0x06,0x06,0x86,0xC6,0x7C,0x18,0x18,0x00,0x00 },
- { 0x00,0x00,0x00,0x00,0xC2,0xC6,0x0C,0x18,0x30,0x60,0xC6,0x86,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x38,0x6C,0x6C,0x38,0x76,0xDC,0xCC,0xCC,0xCC,0x76,0x00,0x00,0x00,0x00 },
- { 0x00,0x30,0x30,0x30,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x0C,0x18,0x30,0x30,0x30,0x30,0x30,0x30,0x18,0x0C,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x30,0x18,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x18,0x30,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x00,0x00,0x66,0x3C,0xFF,0x3C,0x66,0x00,0x00,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x7E,0x18,0x18,0x00,0x00,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x18,0x30,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x00,0x02,0x06,0x0C,0x18,0x30,0x60,0xC0,0x80,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x3C,0x66,0xC3,0xC3,0xDB,0xDB,0xC3,0xC3,0x66,0x3C,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x18,0x38,0x78,0x18,0x18,0x18,0x18,0x18,0x18,0x7E,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x7C,0xC6,0x06,0x0C,0x18,0x30,0x60,0xC0,0xC6,0xFE,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x7C,0xC6,0x06,0x06,0x3C,0x06,0x06,0x06,0xC6,0x7C,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x0C,0x1C,0x3C,0x6C,0xCC,0xFE,0x0C,0x0C,0x0C,0x1E,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0xFE,0xC0,0xC0,0xC0,0xFC,0x06,0x06,0x06,0xC6,0x7C,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x38,0x60,0xC0,0xC0,0xFC,0xC6,0xC6,0xC6,0xC6,0x7C,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0xFE,0xC6,0x06,0x06,0x0C,0x18,0x30,0x30,0x30,0x30,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x7C,0xC6,0xC6,0xC6,0x7C,0xC6,0xC6,0xC6,0xC6,0x7C,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x7C,0xC6,0xC6,0xC6,0x7E,0x06,0x06,0x06,0x0C,0x78,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x00,0x18,0x18,0x00,0x00,0x00,0x18,0x18,0x00,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x00,0x18,0x18,0x00,0x00,0x00,0x18,0x18,0x30,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x06,0x0C,0x18,0x30,0x60,0x30,0x18,0x0C,0x06,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x00,0x00,0x7E,0x00,0x00,0x7E,0x00,0x00,0x00,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x60,0x30,0x18,0x0C,0x06,0x0C,0x18,0x30,0x60,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x7C,0xC6,0xC6,0x0C,0x18,0x18,0x18,0x00,0x18,0x18,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x7C,0xC6,0xC6,0xDE,0xDE,0xDE,0xDC,0xC0,0x7C,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x10,0x38,0x6C,0xC6,0xC6,0xFE,0xC6,0xC6,0xC6,0xC6,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0xFC,0x66,0x66,0x66,0x7C,0x66,0x66,0x66,0x66,0xFC,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x3C,0x66,0xC2,0xC0,0xC0,0xC0,0xC0,0xC2,0x66,0x3C,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0xF8,0x6C,0x66,0x66,0x66,0x66,0x66,0x66,0x6C,0xF8,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0xFE,0x66,0x62,0x68,0x78,0x68,0x60,0x62,0x66,0xFE,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0xFE,0x66,0x62,0x68,0x78,0x68,0x60,0x60,0x60,0xF0,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x3C,0x66,0xC2,0xC0,0xC0,0xDE,0xC6,0xC6,0x66,0x3A,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0xC6,0xC6,0xC6,0xC6,0xFE,0xC6,0xC6,0xC6,0xC6,0xC6,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x3C,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x3C,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x1E,0x0C,0x0C,0x0C,0x0C,0x0C,0xCC,0xCC,0xCC,0x78,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0xE6,0x66,0x66,0x6C,0x78,0x78,0x6C,0x66,0x66,0xE6,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0xF0,0x60,0x60,0x60,0x60,0x60,0x60,0x62,0x66,0xFE,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0xC3,0xE7,0xFF,0xFF,0xDB,0xC3,0xC3,0xC3,0xC3,0xC3,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0xC6,0xE6,0xF6,0xFE,0xDE,0xCE,0xC6,0xC6,0xC6,0xC6,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x7C,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0x7C,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0xFC,0x66,0x66,0x66,0x7C,0x60,0x60,0x60,0x60,0xF0,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x7C,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0xD6,0xDE,0x7C,0x0C,0x0E,0x00,0x00 },
- { 0x00,0x00,0xFC,0x66,0x66,0x66,0x7C,0x6C,0x66,0x66,0x66,0xE6,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x7C,0xC6,0xC6,0x60,0x38,0x0C,0x06,0xC6,0xC6,0x7C,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0xFF,0xDB,0x99,0x18,0x18,0x18,0x18,0x18,0x18,0x3C,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0x7C,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0xC3,0xC3,0xC3,0xC3,0xC3,0xC3,0xC3,0x66,0x3C,0x18,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0xC3,0xC3,0xC3,0xC3,0xC3,0xDB,0xDB,0xFF,0x66,0x66,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0xC3,0xC3,0x66,0x3C,0x18,0x18,0x3C,0x66,0xC3,0xC3,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0xC3,0xC3,0xC3,0x66,0x3C,0x18,0x18,0x18,0x18,0x3C,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0xFF,0xC3,0x86,0x0C,0x18,0x30,0x60,0xC1,0xC3,0xFF,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x3C,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x3C,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x80,0xC0,0xE0,0x70,0x38,0x1C,0x0E,0x06,0x02,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x3C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x3C,0x00,0x00,0x00,0x00 },
- { 0x10,0x38,0x6C,0xC6,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x00 },
- { 0x30,0x30,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x00,0x00,0x78,0x0C,0x7C,0xCC,0xCC,0xCC,0x76,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0xE0,0x60,0x60,0x78,0x6C,0x66,0x66,0x66,0x66,0x7C,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x00,0x00,0x7C,0xC6,0xC0,0xC0,0xC0,0xC6,0x7C,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x1C,0x0C,0x0C,0x3C,0x6C,0xCC,0xCC,0xCC,0xCC,0x76,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x00,0x00,0x7C,0xC6,0xFE,0xC0,0xC0,0xC6,0x7C,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x38,0x6C,0x64,0x60,0xF0,0x60,0x60,0x60,0x60,0xF0,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x00,0x00,0x76,0xCC,0xCC,0xCC,0xCC,0xCC,0x7C,0x0C,0xCC,0x78,0x00 },
- { 0x00,0x00,0xE0,0x60,0x60,0x6C,0x76,0x66,0x66,0x66,0x66,0xE6,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x18,0x18,0x00,0x38,0x18,0x18,0x18,0x18,0x18,0x3C,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x06,0x06,0x00,0x0E,0x06,0x06,0x06,0x06,0x06,0x06,0x66,0x66,0x3C,0x00 },
- { 0x00,0x00,0xE0,0x60,0x60,0x66,0x6C,0x78,0x78,0x6C,0x66,0xE6,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x38,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x3C,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x00,0x00,0xEC,0xFE,0xD6,0xD6,0xD6,0xD6,0xD6,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x00,0x00,0xDC,0x66,0x66,0x66,0x66,0x66,0x66,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x00,0x00,0x7C,0xC6,0xC6,0xC6,0xC6,0xC6,0x7C,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x00,0x00,0xDC,0x66,0x66,0x66,0x66,0x66,0x7C,0x60,0x60,0xF0,0x00 },
- { 0x00,0x00,0x00,0x00,0x00,0x76,0xCC,0xCC,0xCC,0xCC,0xCC,0x7C,0x0C,0x0C,0x1E,0x00 },
- { 0x00,0x00,0x00,0x00,0x00,0xDC,0x76,0x66,0x60,0x60,0x60,0xF0,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x00,0x00,0x7C,0xC6,0x60,0x38,0x0C,0xC6,0x7C,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x10,0x30,0x30,0xFC,0x30,0x30,0x30,0x30,0x36,0x1C,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x00,0x00,0xCC,0xCC,0xCC,0xCC,0xCC,0xCC,0x76,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x00,0x00,0xC6,0xC6,0xC6,0xC6,0x6C,0x38,0x10,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x00,0x00,0xC3,0xC3,0xC3,0xDB,0xDB,0xFF,0x66,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x00,0x00,0xC3,0x66,0x3C,0x18,0x3C,0x66,0xC3,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x00,0x00,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0x7E,0x06,0x0C,0xF8,0x00 },
- { 0x00,0x00,0x00,0x00,0x00,0xFE,0xCC,0x18,0x30,0x60,0xC6,0xFE,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x0E,0x18,0x18,0x18,0x70,0x18,0x18,0x18,0x18,0x0E,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x18,0x18,0x18,0x18,0x00,0x18,0x18,0x18,0x18,0x18,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x70,0x18,0x18,0x18,0x0E,0x18,0x18,0x18,0x18,0x70,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x76,0xDC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x00,0x10,0x38,0x6C,0xC6,0xC6,0xC6,0xFE,0x00,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x10,0x38,0x6C,0xC6,0xC6,0xFE,0xC6,0xC6,0xC6,0xC6,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0xFC,0x60,0x60,0x7C,0x66,0x66,0x66,0x66,0x66,0xFC,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0xFC,0x66,0x66,0x66,0x7C,0x66,0x66,0x66,0x66,0xFC,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0xFE,0x66,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0xF0,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x3E,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0xFE,0xC6,0x00,0x00,0x00 },
- { 0x00,0x00,0xFE,0x66,0x62,0x68,0x78,0x68,0x60,0x62,0x66,0xFE,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0xD6,0xD6,0xD6,0xD6,0x7C,0x7C,0xD6,0xD6,0xD6,0xD6,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x7C,0xC6,0x06,0x06,0x3C,0x06,0x06,0x06,0xC6,0x7C,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0xC6,0xC6,0xCE,0xDE,0xFE,0xF6,0xE6,0xC6,0xC6,0xC6,0x00,0x00,0x00,0x00 },
- { 0x38,0x00,0xC6,0xC6,0xCE,0xDE,0xFE,0xF6,0xE6,0xC6,0xC6,0xC6,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0xE6,0x66,0x66,0x6C,0x78,0x78,0x6C,0x66,0x66,0xE6,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x3E,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0xC6,0x00,0x00,0x00 },
- { 0x00,0x00,0xC6,0xEE,0xFE,0xFE,0xD6,0xC6,0xC6,0xC6,0xC6,0xC6,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0xC6,0xC6,0xC6,0xC6,0xFE,0xC6,0xC6,0xC6,0xC6,0xC6,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x7C,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0x7C,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0xFE,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0xFC,0x66,0x66,0x66,0x7C,0x60,0x60,0x60,0x60,0xF0,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x3C,0x66,0xC2,0xC0,0xC0,0xC0,0xC0,0xC2,0x66,0x3C,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0xFF,0xDB,0x99,0x18,0x18,0x18,0x18,0x18,0x18,0x3C,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0xC6,0xC6,0xC6,0xC6,0xC6,0x7E,0x06,0x06,0x06,0x7C,0x00,0x00,0x00,0x00 },
- { 0x00,0x10,0x7C,0xD6,0xD6,0xD6,0xD6,0xD6,0xD6,0xD6,0xD6,0x7C,0x10,0x00,0x00,0x00 },
- { 0x00,0x00,0xC3,0xC3,0x66,0x3C,0x18,0x18,0x3C,0x66,0xC3,0xC3,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0x7F,0x03,0x00,0x00,0x00 },
- { 0x00,0x00,0xC6,0xC6,0xC6,0xC6,0xC6,0x7E,0x06,0x06,0x06,0x06,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0xD6,0xD6,0xD6,0xD6,0xD6,0xD6,0xD6,0xD6,0xD6,0xFE,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0xD6,0xD6,0xD6,0xD6,0xD6,0xD6,0xD6,0xD6,0xD6,0xFF,0x03,0x00,0x00,0x00 },
- { 0x00,0x00,0xE0,0x60,0x60,0x60,0x7C,0x66,0x66,0x66,0x66,0xFC,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0xC3,0xC3,0xC3,0xC3,0xF3,0xCB,0xCB,0xCB,0xCB,0xF3,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x60,0x60,0x60,0x60,0x7C,0x66,0x66,0x66,0x66,0x7C,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x78,0xCC,0x86,0x06,0x3E,0x06,0x06,0x86,0xCC,0x78,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0xCE,0xDB,0xDB,0xDB,0xFB,0xFB,0xDB,0xDB,0xDB,0xCE,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x7E,0xCC,0xCC,0xCC,0x7C,0x6C,0xCC,0xCC,0xCC,0xCE,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x00,0x00,0x78,0x0C,0x7C,0xCC,0xCC,0xCC,0x76,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x06,0x3C,0x60,0x6E,0x76,0x66,0x66,0x66,0xFC,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x00,0x00,0xF8,0x6C,0x6C,0x7C,0x66,0x66,0xFC,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x00,0x00,0xFE,0x66,0x60,0x60,0x60,0x60,0xF0,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x00,0x00,0x3E,0x66,0x66,0x66,0x66,0x66,0xFE,0xC6,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x00,0x00,0x7C,0xC6,0xFE,0xC0,0xC0,0xC6,0x7C,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x00,0x00,0xD6,0xD6,0xD6,0x7C,0xD6,0xD6,0xD6,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x00,0x00,0x7C,0xC6,0x06,0x3C,0x06,0xC6,0x7C,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x00,0x00,0xC6,0xCE,0xDE,0xFE,0xF6,0xE6,0xC6,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x38,0x00,0xC6,0xCE,0xDE,0xFE,0xF6,0xE6,0xC6,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x00,0x00,0xE6,0x6C,0x78,0x78,0x6C,0x66,0xE6,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x00,0x00,0x3E,0x66,0x66,0x66,0x66,0x66,0xC6,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x00,0x00,0xC6,0xEE,0xFE,0xFE,0xD6,0xC6,0xC6,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x00,0x00,0xC6,0xC6,0xC6,0xFE,0xC6,0xC6,0xC6,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x00,0x00,0x7C,0xC6,0xC6,0xC6,0xC6,0xC6,0x7C,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x00,0x00,0xFE,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x00,0x00,0xFC,0x66,0x66,0x66,0x7C,0x60,0xF0,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x00,0x00,0x7C,0xC6,0xC0,0xC0,0xC0,0xC6,0x7C,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x00,0x00,0x7E,0x5A,0x18,0x18,0x18,0x18,0x18,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x00,0x00,0xC6,0xC6,0xC6,0x7E,0x06,0x06,0x7C,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x00,0x10,0x7C,0xD6,0xD6,0xD6,0xD6,0xD6,0x7C,0x10,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x00,0x00,0xC3,0x66,0x3C,0x18,0x3C,0x66,0xC3,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x00,0x00,0xCC,0xCC,0xCC,0xCC,0xCC,0xCC,0x7E,0x06,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x00,0x00,0xC6,0xC6,0xC6,0xC6,0x7E,0x06,0x06,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x00,0x00,0xD6,0xD6,0xD6,0xD6,0xD6,0xD6,0xFE,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x00,0x00,0xD6,0xD6,0xD6,0xD6,0xD6,0xD6,0xFF,0x03,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x00,0x00,0xE0,0x60,0x7C,0x66,0x66,0x66,0xFC,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x00,0x00,0xC2,0xC2,0xF2,0xCA,0xCA,0xCA,0xF2,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x00,0x00,0x60,0x60,0x7C,0x66,0x66,0x66,0x7C,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x00,0x00,0x78,0xCC,0x06,0x3E,0x06,0xCC,0x78,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x00,0x00,0xCC,0xD6,0xD6,0xF6,0xD6,0xD6,0xCC,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x00,0x00,0x7E,0xCC,0xCC,0x7C,0x6C,0xCC,0xCE,0x00,0x00,0x00,0x00 },
- { 0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 },
- { 0xFF,0xFF,0xE0,0xC0,0xC0,0xC0,0xCF,0xC7,0xC3,0xC1,0xC0,0xC0,0xC0,0xE0,0xFF,0xFF },
- { 0xFF,0xFF,0xE0,0xC0,0xC0,0xC0,0xC1,0xC3,0xC7,0xCF,0xC0,0xC0,0xC0,0xE0,0xFF,0xFF },
- { 0xFF,0xFF,0xE0,0xC0,0xC1,0xC3,0xC7,0xC0,0xC0,0xC7,0xC3,0xC1,0xC0,0xE0,0xFF,0xFF },
- { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 },
- { 0xFF,0xFF,0xE0,0xC0,0xCF,0xCF,0xCF,0xCF,0xCF,0xCF,0xC2,0xC3,0xC0,0xE0,0xFF,0xFF },
- { 0xFF,0xFF,0xE0,0xC0,0xC0,0xC0,0xC0,0xC7,0xC7,0xC0,0xC0,0xC0,0xC0,0xE0,0xFF,0xFF },
- { 0xFF,0xFF,0xE0,0xC0,0xC0,0xC2,0xC6,0xCF,0xCF,0xC6,0xC2,0xC0,0xC0,0xE0,0xFF,0xFF },
- { 0xFF,0xFF,0xE0,0xC0,0xC1,0xC1,0xC1,0xC1,0xC1,0xC7,0xC3,0xC1,0xC0,0xE0,0xFF,0xFF },
- { 0xFF,0xFF,0xE0,0xC0,0xC1,0xC3,0xC7,0xC1,0xC1,0xC1,0xC1,0xC1,0xC0,0xE0,0xFF,0xFF },
- { 0xC0,0xDF,0xC0,0xDF,0xC0,0xDF,0xC0,0xDF,0xC0,0xDF,0xC0,0xDF,0xC0,0xDF,0xC0,0xDF },
- { 0xFF,0x00,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x00,0xFF },
- { 0x00,0x00,0x07,0x08,0x10,0x20,0x20,0x20,0x20,0x20,0x10,0x08,0x07,0x00,0x00,0x00 },
- { 0x00,0x00,0x07,0x08,0x10,0x23,0x27,0x27,0x27,0x23,0x10,0x08,0x07,0x00,0x00,0x00 },
- { 0x00,0x00,0x3F,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3F,0x00,0x00,0x00 },
- { 0x00,0x00,0x3F,0x20,0x20,0x20,0x20,0x2C,0x26,0x23,0x21,0x20,0x3F,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF,0x00,0x00,0x00,0x00 },
- { 0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF },
- { 0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF },
- { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0 },
- { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03 },
- { 0xFF,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0 },
- { 0xFF,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03 },
- { 0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xFF },
- { 0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0xFF },
- { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18 },
- { 0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03 },
- { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF },
- { 0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0 },
- { 0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F },
- { 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x00,0x00,0x76,0xDC,0xD8,0xD8,0xD8,0xDC,0x76,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x78,0xCC,0xCC,0xCC,0xD8,0xCC,0xC6,0xC6,0xC6,0xCC,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0xFE,0xC6,0xC6,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x00,0xFE,0x6C,0x6C,0x6C,0x6C,0x6C,0x6C,0x6C,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0xFE,0xC6,0x60,0x30,0x18,0x30,0x60,0xC6,0xFE,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x00,0x00,0x7E,0xD8,0xD8,0xD8,0xD8,0xD8,0x70,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x00,0x66,0x66,0x66,0x66,0x66,0x7C,0x60,0x60,0xC0,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x00,0x76,0xDC,0x18,0x18,0x18,0x18,0x18,0x18,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x7E,0x18,0x3C,0x66,0x66,0x66,0x3C,0x18,0x7E,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x38,0x6C,0xC6,0xC6,0xFE,0xC6,0xC6,0x6C,0x38,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x38,0x6C,0xC6,0xC6,0xC6,0x6C,0x6C,0x6C,0x6C,0xEE,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x1E,0x30,0x18,0x0C,0x3E,0x66,0x66,0x66,0x66,0x3C,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x00,0x00,0x7E,0xDB,0xDB,0xDB,0x7E,0x00,0x00,0x00,0x00,0x00,0x00 },
- { 0x7C,0xFE,0xFE,0xFE,0xFE,0xFE,0x7C,0x00,0x7C,0xFE,0xFE,0xFE,0xFE,0xFE,0x7C,0x00 },
- { 0x7C,0xFE,0xFE,0xFE,0xFE,0xFE,0x7C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0xFE,0xFE,0xFE,0xFE,0xFE,0x7C,0x00,0x00 },
- { 0x00,0x00,0x00,0x00,0xFE,0x00,0x00,0xFE,0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x00,0x18,0x18,0x7E,0x18,0x18,0x00,0x00,0xFF,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x30,0x18,0x0C,0x06,0x0C,0x18,0x30,0x00,0x7E,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x0C,0x18,0x30,0x60,0x30,0x18,0x0C,0x00,0x7E,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x0E,0x1B,0x1B,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18 },
- { 0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0xD8,0xD8,0xD8,0x70,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x00,0x18,0x18,0x00,0x7E,0x00,0x18,0x18,0x00,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x00,0x00,0x76,0xDC,0x00,0x76,0xDC,0x00,0x00,0x00,0x00,0x00,0x00 },
- { 0x00,0x38,0x6C,0x6C,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3C,0x00,0x00,0x00,0x00,0x00 },
- { 0x00,0x01,0x03,0x02,0x06,0x04,0x0C,0x88,0xD8,0x50,0x70,0x20,0x00,0x00,0x00,0x00 },
- { 0x00,0xD8,0x6C,0x6C,0x6C,0x6C,0x6C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 },
- { 0x00,0x70,0xD8,0x30,0x60,0xC8,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x00,0x7C,0x7C,0x7C,0x7C,0x7C,0x7C,0x7C,0x00,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 }
- };
- #else //CYR
- char graph_chars16[256][16] = {
- { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 },
- { 0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0 },
- { 0x00,0x00,0xF8,0xFC,0xFC,0xFC,0x0C,0x1C,0x3C,0x7C,0xFC,0xFC,0xFC,0xF8,0x00,0x00 },
- { 0x00,0x00,0xF8,0xFC,0xFC,0xFC,0x7C,0x3C,0x1C,0x0C,0xFC,0xFC,0xFC,0xF8,0x00,0x00 },
- { 0x00,0x00,0xF8,0xFC,0x7C,0x3C,0x1C,0xFC,0xFC,0x1C,0x3C,0x7C,0xFC,0xF8,0x00,0x00 },
- { 0x00,0x00,0xF8,0xFC,0x3C,0x0C,0x2C,0x2C,0x2C,0x2C,0xEC,0x0C,0xFC,0xF8,0x00,0x00 },
- { 0x00,0x00,0xF8,0xFC,0xFC,0xFC,0xFC,0x1C,0x1C,0xFC,0xFC,0xFC,0xFC,0xF8,0x00,0x00 },
- { 0x00,0x00,0xF8,0xFC,0xFC,0xBC,0x9C,0x0C,0x0C,0x9C,0xBC,0xFC,0xFC,0xF8,0x00,0x00 },
- { 0x00,0x00,0xF8,0xFC,0x7C,0x7C,0x7C,0x7C,0x7C,0x1C,0x3C,0x7C,0xFC,0xF8,0x00,0x00 },
- { 0x00,0x00,0xF8,0xFC,0x7C,0x3C,0x1C,0x7C,0x7C,0x7C,0x7C,0x7C,0xFC,0xF8,0x00,0x00 },
- { 0xFC,0x04,0xFC,0x04,0xFC,0x04,0xFC,0x04,0xFC,0x04,0xFC,0x04,0xFC,0x04,0xFC,0x04 },
- { 0x55,0xAA,0x55,0xAA,0x55,0xAA,0x55,0xAA,0x55,0xAA,0x55,0xAA,0x55,0xAA,0x55,0xAA },
- { 0x00,0x00,0xE0,0x10,0x08,0x04,0x04,0x04,0x04,0x04,0x08,0x10,0xE0,0x00,0x00,0x00 },
- { 0x00,0x00,0xE0,0x10,0x08,0xC4,0xE4,0xE4,0xE4,0xC4,0x08,0x10,0xE0,0x00,0x00,0x00 },
- { 0x00,0x00,0xFC,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0xFC,0x00,0x00,0x00 },
- { 0x00,0x00,0xFC,0x04,0x34,0x64,0x64,0xC4,0xC4,0x84,0x84,0x04,0xFC,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x00,0xC0,0xF0,0xFC,0xFF,0xFC,0xF0,0xC0,0x00,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x00,0x03,0x0F,0x3F,0xFF,0x3F,0x0F,0x03,0x00,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0xFC,0x00,0xFC,0x00,0xFC,0x00,0xFC,0x00,0xFC,0x00,0x00,0x00,0x00 },
- { 0x00,0x7C,0xD6,0xAA,0xD6,0xAA,0xD6,0x7C,0x00,0x7C,0xD6,0xAA,0xD6,0xAA,0xD6,0x7C },
- { 0x18,0x18,0x18,0x18,0x18,0x18,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 },
- { 0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0 },
- { 0xFF,0xFC,0xF8,0xF0,0xF0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xF0,0xF0,0xF8,0xFC,0xFF },
- { 0x00,0xC0,0xE0,0xF0,0xF0,0xF8,0xF8,0xF8,0xF8,0xF8,0xF8,0xF0,0xF0,0xE0,0xC0,0x00 },
- { 0x00,0x00,0x00,0x18,0x3C,0x7E,0x18,0x18,0x18,0x18,0x18,0x00,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x18,0x18,0x18,0x18,0x18,0x7E,0x3C,0x18,0x00,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x00,0x04,0x06,0xFF,0xFF,0x06,0x04,0x00,0x00,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x00,0x20,0x60,0xFF,0xFF,0x60,0x20,0x00,0x00,0x00,0x00,0x00,0x00 },
- { 0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18 },
- { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18 },
- { 0x00,0x00,0x00,0x00,0x10,0x38,0x38,0x7C,0x7C,0xFE,0xFE,0x00,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x00,0xFE,0xFE,0x7C,0x7C,0x38,0x38,0x10,0x00,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x18,0x3C,0x3C,0x3C,0x18,0x18,0x18,0x00,0x18,0x18,0x00,0x00,0x00,0x00 },
- { 0x00,0x66,0x66,0x66,0x24,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x6C,0x6C,0xFE,0x6C,0x6C,0x6C,0xFE,0x6C,0x6C,0x00,0x00,0x00,0x00 },
- { 0x18,0x18,0x7C,0xC6,0xC2,0xC0,0x7C,0x06,0x06,0x86,0xC6,0x7C,0x18,0x18,0x00,0x00 },
- { 0x00,0x00,0x00,0x00,0xC2,0xC6,0x0C,0x18,0x30,0x60,0xC6,0x86,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x38,0x6C,0x6C,0x38,0x76,0xDC,0xCC,0xCC,0xCC,0x76,0x00,0x00,0x00,0x00 },
- { 0x00,0x30,0x30,0x30,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x0C,0x18,0x30,0x30,0x30,0x30,0x30,0x30,0x18,0x0C,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x30,0x18,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x18,0x30,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x00,0x00,0x66,0x3C,0xFF,0x3C,0x66,0x00,0x00,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x7E,0x18,0x18,0x00,0x00,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x18,0x30,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x00,0x02,0x06,0x0C,0x18,0x30,0x60,0xC0,0x80,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x3C,0x66,0xC3,0xC3,0xDB,0xDB,0xC3,0xC3,0x66,0x3C,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x18,0x38,0x78,0x18,0x18,0x18,0x18,0x18,0x18,0x7E,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x7C,0xC6,0x06,0x0C,0x18,0x30,0x60,0xC0,0xC6,0xFE,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x7C,0xC6,0x06,0x06,0x3C,0x06,0x06,0x06,0xC6,0x7C,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x0C,0x1C,0x3C,0x6C,0xCC,0xFE,0x0C,0x0C,0x0C,0x1E,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0xFE,0xC0,0xC0,0xC0,0xFC,0x06,0x06,0x06,0xC6,0x7C,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x38,0x60,0xC0,0xC0,0xFC,0xC6,0xC6,0xC6,0xC6,0x7C,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0xFE,0xC6,0x06,0x06,0x0C,0x18,0x30,0x30,0x30,0x30,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x7C,0xC6,0xC6,0xC6,0x7C,0xC6,0xC6,0xC6,0xC6,0x7C,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x7C,0xC6,0xC6,0xC6,0x7E,0x06,0x06,0x06,0x0C,0x78,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x00,0x18,0x18,0x00,0x00,0x00,0x18,0x18,0x00,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x00,0x18,0x18,0x00,0x00,0x00,0x18,0x18,0x30,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x06,0x0C,0x18,0x30,0x60,0x30,0x18,0x0C,0x06,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x00,0x00,0x7E,0x00,0x00,0x7E,0x00,0x00,0x00,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x60,0x30,0x18,0x0C,0x06,0x0C,0x18,0x30,0x60,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x7C,0xC6,0xC6,0x0C,0x18,0x18,0x18,0x00,0x18,0x18,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x7C,0xC6,0xC6,0xDE,0xDE,0xDE,0xDC,0xC0,0x7C,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x10,0x38,0x6C,0xC6,0xC6,0xFE,0xC6,0xC6,0xC6,0xC6,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0xFC,0x66,0x66,0x66,0x7C,0x66,0x66,0x66,0x66,0xFC,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x3C,0x66,0xC2,0xC0,0xC0,0xC0,0xC0,0xC2,0x66,0x3C,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0xF8,0x6C,0x66,0x66,0x66,0x66,0x66,0x66,0x6C,0xF8,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0xFE,0x66,0x62,0x68,0x78,0x68,0x60,0x62,0x66,0xFE,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0xFE,0x66,0x62,0x68,0x78,0x68,0x60,0x60,0x60,0xF0,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x3C,0x66,0xC2,0xC0,0xC0,0xDE,0xC6,0xC6,0x66,0x3A,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0xC6,0xC6,0xC6,0xC6,0xFE,0xC6,0xC6,0xC6,0xC6,0xC6,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x3C,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x3C,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x1E,0x0C,0x0C,0x0C,0x0C,0x0C,0xCC,0xCC,0xCC,0x78,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0xE6,0x66,0x66,0x6C,0x78,0x78,0x6C,0x66,0x66,0xE6,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0xF0,0x60,0x60,0x60,0x60,0x60,0x60,0x62,0x66,0xFE,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0xC3,0xE7,0xFF,0xFF,0xDB,0xC3,0xC3,0xC3,0xC3,0xC3,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0xC6,0xE6,0xF6,0xFE,0xDE,0xCE,0xC6,0xC6,0xC6,0xC6,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x7C,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0x7C,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0xFC,0x66,0x66,0x66,0x7C,0x60,0x60,0x60,0x60,0xF0,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x7C,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0xD6,0xDE,0x7C,0x0C,0x0E,0x00,0x00 },
- { 0x00,0x00,0xFC,0x66,0x66,0x66,0x7C,0x6C,0x66,0x66,0x66,0xE6,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x7C,0xC6,0xC6,0x60,0x38,0x0C,0x06,0xC6,0xC6,0x7C,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0xFF,0xDB,0x99,0x18,0x18,0x18,0x18,0x18,0x18,0x3C,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0x7C,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0xC3,0xC3,0xC3,0xC3,0xC3,0xC3,0xC3,0x66,0x3C,0x18,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0xC3,0xC3,0xC3,0xC3,0xC3,0xDB,0xDB,0xFF,0x66,0x66,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0xC3,0xC3,0x66,0x3C,0x18,0x18,0x3C,0x66,0xC3,0xC3,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0xC3,0xC3,0xC3,0x66,0x3C,0x18,0x18,0x18,0x18,0x3C,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0xFF,0xC3,0x86,0x0C,0x18,0x30,0x60,0xC1,0xC3,0xFF,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x3C,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x3C,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x80,0xC0,0xE0,0x70,0x38,0x1C,0x0E,0x06,0x02,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x3C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x3C,0x00,0x00,0x00,0x00 },
- { 0x10,0x38,0x6C,0xC6,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x00 },
- { 0x30,0x30,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x00,0x00,0x78,0x0C,0x7C,0xCC,0xCC,0xCC,0x76,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0xE0,0x60,0x60,0x78,0x6C,0x66,0x66,0x66,0x66,0x7C,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x00,0x00,0x7C,0xC6,0xC0,0xC0,0xC0,0xC6,0x7C,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x1C,0x0C,0x0C,0x3C,0x6C,0xCC,0xCC,0xCC,0xCC,0x76,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x00,0x00,0x7C,0xC6,0xFE,0xC0,0xC0,0xC6,0x7C,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x38,0x6C,0x64,0x60,0xF0,0x60,0x60,0x60,0x60,0xF0,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x00,0x00,0x76,0xCC,0xCC,0xCC,0xCC,0xCC,0x7C,0x0C,0xCC,0x78,0x00 },
- { 0x00,0x00,0xE0,0x60,0x60,0x6C,0x76,0x66,0x66,0x66,0x66,0xE6,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x18,0x18,0x00,0x38,0x18,0x18,0x18,0x18,0x18,0x3C,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x06,0x06,0x00,0x0E,0x06,0x06,0x06,0x06,0x06,0x06,0x66,0x66,0x3C,0x00 },
- { 0x00,0x00,0xE0,0x60,0x60,0x66,0x6C,0x78,0x78,0x6C,0x66,0xE6,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x38,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x3C,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x00,0x00,0xEC,0xFE,0xD6,0xD6,0xD6,0xD6,0xD6,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x00,0x00,0xDC,0x66,0x66,0x66,0x66,0x66,0x66,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x00,0x00,0x7C,0xC6,0xC6,0xC6,0xC6,0xC6,0x7C,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x00,0x00,0xDC,0x66,0x66,0x66,0x66,0x66,0x7C,0x60,0x60,0xF0,0x00 },
- { 0x00,0x00,0x00,0x00,0x00,0x76,0xCC,0xCC,0xCC,0xCC,0xCC,0x7C,0x0C,0x0C,0x1E,0x00 },
- { 0x00,0x00,0x00,0x00,0x00,0xDC,0x76,0x66,0x60,0x60,0x60,0xF0,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x00,0x00,0x7C,0xC6,0x60,0x38,0x0C,0xC6,0x7C,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x10,0x30,0x30,0xFC,0x30,0x30,0x30,0x30,0x36,0x1C,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x00,0x00,0xCC,0xCC,0xCC,0xCC,0xCC,0xCC,0x76,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x00,0x00,0xC6,0xC6,0xC6,0xC6,0x6C,0x38,0x10,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x00,0x00,0xC3,0xC3,0xC3,0xDB,0xDB,0xFF,0x66,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x00,0x00,0xC3,0x66,0x3C,0x18,0x3C,0x66,0xC3,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x00,0x00,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0x7E,0x06,0x0C,0xF8,0x00 },
- { 0x00,0x00,0x00,0x00,0x00,0xFE,0xCC,0x18,0x30,0x60,0xC6,0xFE,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x0E,0x18,0x18,0x18,0x70,0x18,0x18,0x18,0x18,0x0E,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x18,0x18,0x18,0x18,0x00,0x18,0x18,0x18,0x18,0x18,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x70,0x18,0x18,0x18,0x0E,0x18,0x18,0x18,0x18,0x70,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x76,0xDC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x00,0x10,0x38,0x6C,0xC6,0xC6,0xC6,0xFE,0x00,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x3C,0x66,0xC2,0xC0,0xC0,0xC0,0xC2,0x66,0x3C,0x0C,0x06,0x7C,0x00,0x00 },
- { 0x00,0x00,0xCC,0x00,0x00,0xCC,0xCC,0xCC,0xCC,0xCC,0xCC,0x76,0x00,0x00,0x00,0x00 },
- { 0x00,0x0C,0x18,0x30,0x00,0x7C,0xC6,0xFE,0xC0,0xC0,0xC6,0x7C,0x00,0x00,0x00,0x00 },
- { 0x00,0x10,0x38,0x6C,0x00,0x78,0x0C,0x7C,0xCC,0xCC,0xCC,0x76,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0xCC,0x00,0x00,0x78,0x0C,0x7C,0xCC,0xCC,0xCC,0x76,0x00,0x00,0x00,0x00 },
- { 0x00,0x60,0x30,0x18,0x00,0x78,0x0C,0x7C,0xCC,0xCC,0xCC,0x76,0x00,0x00,0x00,0x00 },
- { 0x00,0x38,0x6C,0x38,0x00,0x78,0x0C,0x7C,0xCC,0xCC,0xCC,0x76,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x00,0x3C,0x66,0x60,0x60,0x66,0x3C,0x0C,0x06,0x3C,0x00,0x00,0x00 },
- { 0x00,0x10,0x38,0x6C,0x00,0x7C,0xC6,0xFE,0xC0,0xC0,0xC6,0x7C,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0xC6,0x00,0x00,0x7C,0xC6,0xFE,0xC0,0xC0,0xC6,0x7C,0x00,0x00,0x00,0x00 },
- { 0x00,0x60,0x30,0x18,0x00,0x7C,0xC6,0xFE,0xC0,0xC0,0xC6,0x7C,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x66,0x00,0x00,0x38,0x18,0x18,0x18,0x18,0x18,0x3C,0x00,0x00,0x00,0x00 },
- { 0x00,0x18,0x3C,0x66,0x00,0x38,0x18,0x18,0x18,0x18,0x18,0x3C,0x00,0x00,0x00,0x00 },
- { 0x00,0x60,0x30,0x18,0x00,0x38,0x18,0x18,0x18,0x18,0x18,0x3C,0x00,0x00,0x00,0x00 },
- { 0x00,0xC6,0x00,0x10,0x38,0x6C,0xC6,0xC6,0xFE,0xC6,0xC6,0xC6,0x00,0x00,0x00,0x00 },
- { 0x38,0x6C,0x38,0x00,0x38,0x6C,0xC6,0xC6,0xFE,0xC6,0xC6,0xC6,0x00,0x00,0x00,0x00 },
- { 0x18,0x30,0x60,0x00,0xFE,0x66,0x60,0x7C,0x60,0x60,0x66,0xFE,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x00,0x00,0x6E,0x3B,0x1B,0x7E,0xD8,0xDC,0x77,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x3E,0x6C,0xCC,0xCC,0xFE,0xCC,0xCC,0xCC,0xCC,0xCE,0x00,0x00,0x00,0x00 },
- { 0x00,0x10,0x38,0x6C,0x00,0x7C,0xC6,0xC6,0xC6,0xC6,0xC6,0x7C,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0xC6,0x00,0x00,0x7C,0xC6,0xC6,0xC6,0xC6,0xC6,0x7C,0x00,0x00,0x00,0x00 },
- { 0x00,0x60,0x30,0x18,0x00,0x7C,0xC6,0xC6,0xC6,0xC6,0xC6,0x7C,0x00,0x00,0x00,0x00 },
- { 0x00,0x30,0x78,0xCC,0x00,0xCC,0xCC,0xCC,0xCC,0xCC,0xCC,0x76,0x00,0x00,0x00,0x00 },
- { 0x00,0x60,0x30,0x18,0x00,0xCC,0xCC,0xCC,0xCC,0xCC,0xCC,0x76,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0xC6,0x00,0x00,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0x7E,0x06,0x0C,0x78,0x00 },
- { 0x00,0xC6,0x00,0x7C,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0x7C,0x00,0x00,0x00,0x00 },
- { 0x00,0xC6,0x00,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0x7C,0x00,0x00,0x00,0x00 },
- { 0x00,0x18,0x18,0x7E,0xC3,0xC0,0xC0,0xC0,0xC3,0x7E,0x18,0x18,0x00,0x00,0x00,0x00 },
- { 0x00,0x38,0x6C,0x64,0x60,0xF0,0x60,0x60,0x60,0x60,0xE6,0xFC,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0xC3,0x66,0x3C,0x18,0xFF,0x18,0xFF,0x18,0x18,0x18,0x00,0x00,0x00,0x00 },
- { 0x00,0xFC,0x66,0x66,0x7C,0x62,0x66,0x6F,0x66,0x66,0x66,0xF3,0x00,0x00,0x00,0x00 },
- { 0x00,0x0E,0x1B,0x18,0x18,0x18,0x7E,0x18,0x18,0x18,0x18,0x18,0xD8,0x70,0x00,0x00 },
- { 0x00,0x18,0x30,0x60,0x00,0x78,0x0C,0x7C,0xCC,0xCC,0xCC,0x76,0x00,0x00,0x00,0x00 },
- { 0x00,0x0C,0x18,0x30,0x00,0x38,0x18,0x18,0x18,0x18,0x18,0x3C,0x00,0x00,0x00,0x00 },
- { 0x00,0x18,0x30,0x60,0x00,0x7C,0xC6,0xC6,0xC6,0xC6,0xC6,0x7C,0x00,0x00,0x00,0x00 },
- { 0x00,0x18,0x30,0x60,0x00,0xCC,0xCC,0xCC,0xCC,0xCC,0xCC,0x76,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x76,0xDC,0x00,0xDC,0x66,0x66,0x66,0x66,0x66,0x66,0x00,0x00,0x00,0x00 },
- { 0x76,0xDC,0x00,0xC6,0xE6,0xF6,0xFE,0xDE,0xCE,0xC6,0xC6,0xC6,0x00,0x00,0x00,0x00 },
- { 0x00,0x3C,0x6C,0x6C,0x3E,0x00,0x7E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 },
- { 0x00,0x38,0x6C,0x6C,0x38,0x00,0x7C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x30,0x30,0x00,0x30,0x30,0x60,0xC0,0xC6,0xC6,0x7C,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0xC0,0xC0,0xC0,0xC0,0x00,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x06,0x06,0x06,0x06,0x00,0x00,0x00,0x00,0x00 },
- { 0x00,0xC0,0xC0,0xC2,0xC6,0xCC,0x18,0x30,0x60,0xCE,0x9B,0x06,0x0C,0x1F,0x00,0x00 },
- { 0x00,0xC0,0xC0,0xC2,0xC6,0xCC,0x18,0x30,0x66,0xCE,0x96,0x3E,0x06,0x06,0x00,0x00 },
- { 0x00,0x00,0x18,0x18,0x00,0x18,0x18,0x18,0x3C,0x3C,0x3C,0x18,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x00,0x00,0x36,0x6C,0xD8,0x6C,0x36,0x00,0x00,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x00,0x00,0xD8,0x6C,0x36,0x6C,0xD8,0x00,0x00,0x00,0x00,0x00,0x00 },
- { 0x11,0x44,0x11,0x44,0x11,0x44,0x11,0x44,0x11,0x44,0x11,0x44,0x11,0x44,0x11,0x44 },
- { 0x55,0xAA,0x55,0xAA,0x55,0xAA,0x55,0xAA,0x55,0xAA,0x55,0xAA,0x55,0xAA,0x55,0xAA },
- { 0xDD,0x77,0xDD,0x77,0xDD,0x77,0xDD,0x77,0xDD,0x77,0xDD,0x77,0xDD,0x77,0xDD,0x77 },
- { 0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18 },
- { 0x18,0x18,0x18,0x18,0x18,0x18,0x18,0xF8,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18 },
- { 0x18,0x18,0x18,0x18,0x18,0xF8,0x18,0xF8,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18 },
- { 0x36,0x36,0x36,0x36,0x36,0x36,0x36,0xF6,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36 },
- { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36 },
- { 0x00,0x00,0x00,0x00,0x00,0xF8,0x18,0xF8,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18 },
- { 0x36,0x36,0x36,0x36,0x36,0xF6,0x06,0xF6,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36 },
- { 0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36 },
- { 0x00,0x00,0x00,0x00,0x00,0xFE,0x06,0xF6,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36 },
- { 0x36,0x36,0x36,0x36,0x36,0xF6,0x06,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 },
- { 0x36,0x36,0x36,0x36,0x36,0x36,0x36,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 },
- { 0x18,0x18,0x18,0x18,0x18,0xF8,0x18,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18 },
- { 0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 },
- { 0xFF,0xFF,0xE0,0xC0,0xC0,0xC0,0xCF,0xC7,0xC3,0xC1,0xC0,0xC0,0xC0,0xE0,0xFF,0xFF },
- { 0xFF,0xFF,0xE0,0xC0,0xC0,0xC0,0xC1,0xC3,0xC7,0xCF,0xC0,0xC0,0xC0,0xE0,0xFF,0xFF },
- { 0xFF,0xFF,0xE0,0xC0,0xC1,0xC3,0xC7,0xC0,0xC0,0xC7,0xC3,0xC1,0xC0,0xE0,0xFF,0xFF },
- { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 },
- { 0xFF,0xFF,0xE0,0xC0,0xCF,0xCF,0xCF,0xCF,0xCF,0xCF,0xC2,0xC3,0xC0,0xE0,0xFF,0xFF },
- { 0xFF,0xFF,0xE0,0xC0,0xC0,0xC0,0xC0,0xC7,0xC7,0xC0,0xC0,0xC0,0xC0,0xE0,0xFF,0xFF },
- { 0xFF,0xFF,0xE0,0xC0,0xC0,0xC2,0xC6,0xCF,0xCF,0xC6,0xC2,0xC0,0xC0,0xE0,0xFF,0xFF },
- { 0xFF,0xFF,0xE0,0xC0,0xC1,0xC1,0xC1,0xC1,0xC1,0xC7,0xC3,0xC1,0xC0,0xE0,0xFF,0xFF },
- { 0xFF,0xFF,0xE0,0xC0,0xC1,0xC3,0xC7,0xC1,0xC1,0xC1,0xC1,0xC1,0xC0,0xE0,0xFF,0xFF },
- { 0xC0,0xDF,0xC0,0xDF,0xC0,0xDF,0xC0,0xDF,0xC0,0xDF,0xC0,0xDF,0xC0,0xDF,0xC0,0xDF },
- { 0xFF,0x00,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x00,0xFF },
- { 0x00,0x00,0x07,0x08,0x10,0x20,0x20,0x20,0x20,0x20,0x10,0x08,0x07,0x00,0x00,0x00 },
- { 0x00,0x00,0x07,0x08,0x10,0x23,0x27,0x27,0x27,0x23,0x10,0x08,0x07,0x00,0x00,0x00 },
- { 0x00,0x00,0x3F,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3F,0x00,0x00,0x00 },
- { 0x00,0x00,0x3F,0x20,0x20,0x20,0x20,0x2C,0x26,0x23,0x21,0x20,0x3F,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF,0x00,0x00,0x00,0x00 },
- { 0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF },
- { 0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF },
- { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0 },
- { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03 },
- { 0xFF,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0 },
- { 0xFF,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03 },
- { 0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xFF },
- { 0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0xFF },
- { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18 },
- { 0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03 },
- { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF },
- { 0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0 },
- { 0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F },
- { 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x00,0x00,0x76,0xDC,0xD8,0xD8,0xD8,0xDC,0x76,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x78,0xCC,0xCC,0xCC,0xD8,0xCC,0xC6,0xC6,0xC6,0xCC,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0xFE,0xC6,0xC6,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x00,0xFE,0x6C,0x6C,0x6C,0x6C,0x6C,0x6C,0x6C,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0xFE,0xC6,0x60,0x30,0x18,0x30,0x60,0xC6,0xFE,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x00,0x00,0x7E,0xD8,0xD8,0xD8,0xD8,0xD8,0x70,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x00,0x66,0x66,0x66,0x66,0x66,0x7C,0x60,0x60,0xC0,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x00,0x76,0xDC,0x18,0x18,0x18,0x18,0x18,0x18,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x7E,0x18,0x3C,0x66,0x66,0x66,0x3C,0x18,0x7E,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x38,0x6C,0xC6,0xC6,0xFE,0xC6,0xC6,0x6C,0x38,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x38,0x6C,0xC6,0xC6,0xC6,0x6C,0x6C,0x6C,0x6C,0xEE,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x1E,0x30,0x18,0x0C,0x3E,0x66,0x66,0x66,0x66,0x3C,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x00,0x00,0x7E,0xDB,0xDB,0xDB,0x7E,0x00,0x00,0x00,0x00,0x00,0x00 },
- { 0x7C,0xFE,0xFE,0xFE,0xFE,0xFE,0x7C,0x00,0x7C,0xFE,0xFE,0xFE,0xFE,0xFE,0x7C,0x00 },
- { 0x7C,0xFE,0xFE,0xFE,0xFE,0xFE,0x7C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0xFE,0xFE,0xFE,0xFE,0xFE,0x7C,0x00,0x00 },
- { 0x00,0x00,0x00,0x00,0xFE,0x00,0x00,0xFE,0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x00,0x18,0x18,0x7E,0x18,0x18,0x00,0x00,0xFF,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x30,0x18,0x0C,0x06,0x0C,0x18,0x30,0x00,0x7E,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x0C,0x18,0x30,0x60,0x30,0x18,0x0C,0x00,0x7E,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x0E,0x1B,0x1B,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18 },
- { 0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0xD8,0xD8,0xD8,0x70,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x00,0x18,0x18,0x00,0x7E,0x00,0x18,0x18,0x00,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x00,0x00,0x76,0xDC,0x00,0x76,0xDC,0x00,0x00,0x00,0x00,0x00,0x00 },
- { 0x00,0x38,0x6C,0x6C,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3C,0x00,0x00,0x00,0x00,0x00 },
- { 0x00,0x01,0x03,0x02,0x06,0x04,0x0C,0x88,0xD8,0x50,0x70,0x20,0x00,0x00,0x00,0x00 },
- { 0x00,0xD8,0x6C,0x6C,0x6C,0x6C,0x6C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 },
- { 0x00,0x70,0xD8,0x30,0x60,0xC8,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x00,0x7C,0x7C,0x7C,0x7C,0x7C,0x7C,0x7C,0x00,0x00,0x00,0x00,0x00 },
- { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 }
- };
- #endif //CYR
- #endif //HGR
-
- static Tscreen_mode_proc old_mode_proc;
- #ifdef HGR
- static int blink_handle = -1;
- static boolean blink_state = 0;
- static int hgr_cursor_x = 0;
- static int hgr_cursor_y = 0;
- static Tcursor *hgr_cursor = &no_cursor;
- #endif
-
-
- //DC
-
- Tdc::Tdc( void ):
- xl( 0 ),
- yl( 0 ),
- len( 0 ),
- address( NULL ),
- region_x( 0 ),
- region_y( 0 ),
- region_xl( 0 ),
- region_yl( 0 ),
- region_x1( region_x ),
- region_y1( region_y ),
- region_x2( 0 ),
- region_y2( 0 ),
- base_x( 0 ),
- base_y( 0 ),
- cursor_x( 0 ),
- cursor_y( 0 ),
- cursor_ofs( 0 )
- {
- }
-
- Tdc::Tdc( uint _xl, uint _yl ):
- region_x1( region_x ),
- region_y1( region_y )
- {
- xl = _xl; yl = _yl;
- len = ( _xl * _yl ) << 1;
- address = ( (word *) MALLOC( len ) );
- region_x = region_y = 0;
- region_xl = _xl;
- region_yl = _yl;
- region_x2 = _xl - 1;
- region_y2 = _yl - 1;
- base_x = base_y = cursor_x = cursor_y = cursor_ofs = 0;
- }
-
- Tdc::~Tdc( void )
- {
- if( address != NULL ) FREE( address );
- }
-
- void Tdc::set_region( int _x, int _y, uint _xl, uint _yl )
- {
- region_x = _x;
- region_y = _y;
- region_xl = _xl;
- region_yl = _yl;
- region_x2 = _x + _xl - 1;
- region_y2 = _y + _yl - 1;
- }
-
- void Tdc::set_region_xy( int x1, int y1, int x2, int y2 )
- {
- region_x1 = x1;
- region_y1 = y1;
- region_x2 = x2;
- region_y2 = y2;
- region_xl = x2 - x1 + 1;
- region_yl = y2 - y1 + 1;
- }
-
- void Tdc::invalidate( int _x, int _y, uint _xl, uint _yl )
- {
- invalidate_xy( _x, _y, (int) ( _x + _xl - 1 ), (int) ( _y + _yl - 1 ) );
- }
-
- void Tdc::invalidate_xy( int x1, int y1, int x2, int y2 )
- {
- if( x1 < x ) x1 = x;
- if( y1 < y ) y1 = y;
- if( x2 >= x+xl ) x2 = x+xl-1;
- if( y2 >= y+yl ) y2 = y+yl-1;
- if( x1 < region_x1 ) region_x1 = x1;
- if( x2 > region_x2 ) region_x2 = x2;
- if( y1 < region_y1 ) region_y1 = y1;
- if( y2 > region_y2 ) region_y2 = y2;
- region_xl = region_x2 - region_x1 + 1;
- region_yl = region_y2 - region_y1 + 1;
- }
-
- void Tdc::validate( void )
- {
- set_region_xy( 1000, 1000, -1000, -1000 );
- }
-
- void Tdc::goto_xy( int _x, int _y )
- {
- cursor_x = base_x + _x;
- cursor_y = base_y + _y;
- cursor_ofs = ( cursor_y * xl + cursor_x ) << 1;
- }
-
- void Tdc::goto_ofs( uint cur_ofs )
- {
- cursor_ofs = cur_ofs;
- cursor_x = cur_ofs % xl;
- cursor_y = cur_ofs / xl;
- }
-
- int Tdc::where_x( void )
- {
- return cursor_x - base_x;
- }
-
- int Tdc::where_y( void )
- {
- return cursor_y - base_y;
- }
-
- void Tdc::set_base( int _x, int _y )
- {
- base_x = _x;
- base_y = _y;
- goto_xy( 0, 0 );
- }
-
- void Tdc::home( void )
- {
- fill_dc(' ');
- }
-
- void Tdc::fill_dc( char c )
- {
- static char t[] = "|r. |l.";
-
- set_base( 0, 0 );
- t[2] = (char) xl; t[3] = c; t[6] = (char) yl;
- txt( t );
- set_base( 0, 0 );
- }
-
- void Tdc::print( word *p, int l )
- {
- int n;
-
- if( !l ) return;
- if( ( ( cursor_y < 0 ) || ( cursor_y < region_y ) ) ||
- ( cursor_y >= yl ) || ( cursor_y > region_y2 ) ) goto done;
- n = -cursor_x;
- if( region_x > 0 ) n += region_x;
- if( n > 0 )
- {
- if( n >= l ) goto done;
- p += n;
- l -= n;
- cursor_x += n;
- cursor_ofs += ( n << 1 );
- }
- n = xl-1;
- if( region_x2 <= n ) n = region_x2;
- if( ( n -= ( cursor_x + l - 1 ) ) < 0 )
- {
- if( n <= -l ) goto done;
- l += n;
- }
- memcpy( (char *) address + cursor_ofs, p, l << 1 );
- done:
- cursor_x += l;
- cursor_ofs += ( l << 1 );
- }
-
- void Tdc::direct_txt( char *t )
- {
- word k;
- word *p;
- uint l;
- word buffer[MAX_FORMATTED_LINE_LENGTH];
-
- hi( k ) = text_attr;
- p = buffer; l = 0;
- while( ( lo(k) = *t++ ) != 0 )
- {
- *p++ = k;
- l++;
- }
- print( buffer, l );
- }
-
- void Tdc::txt( char *t )
- {
- char c;
- word k;
- word *p;
- uint l;
- word buffer[MAX_FORMATTED_LINE_LENGTH];
-
- hi( k ) = text_attr;
- p = buffer; l = 0;
- loop:
- while( ( ( lo(k) = *t++ ) != 0 ) && ( lo(k) != '|' ) )
- *(p++) = k, l++;
- if( lo( k ) == 0 ) goto done;
- c = *t++;
- if( c == '|' )
- {
- *(p++) = k, l++;
- goto loop;
- }
- if( c == 'r' )
- {
- uint cnt = *(t++) + 1;
- lo(k) = *(t++);
- while( --cnt )
- l++, *p++ = k;
- goto loop;
- }
- if( c == 'l' )
- {
- uint cnt = *(t++) + 1;
- while( --cnt )
- {
- print( buffer, l );
- cursor_ofs += ( xl - ( cursor_x - base_x ) ) << 1;
- cursor_x = base_x;
- cursor_y++;
- }
- p = buffer; l = 0;
- goto loop;
- }
- if( c == 'n' )
- {
- print( buffer, l );
- cursor_ofs += ( xl - ( cursor_x - base_x ) ) << 1;
- cursor_x = base_x;
- cursor_y++;
- p = buffer; l = 0;
- goto loop;
- }
- if( c == '~' )
- {
- if( !shortcut_attr ) goto loop;
- lo( *p ) = *t++;
- hi( *p ) = (char) ( ( hi( k ) & 0xF0 ) | shortcut_attr );
- p++;
- l++;
- goto loop;
- }
- if( c == 'i' )
- {
- hi(k) = rolb( hi(k), 4 );
- goto loop;
- }
- if( c == 't' )
- {
- hi( k ) = text_attr;
- goto loop;
- }
- if( c == 'b' )
- {
- hi( k ) = bold_attr;
- goto loop;
- }
- if( c == 's' )
- {
- hi( k ) = selected_attr;
- goto loop;
- }
- if( c == 'd' )
- {
- hi( k ) = disabled_attr;
- goto loop;
- }
- if( ( ( c -= '0' ) >= 0 ) && ( c <= 9 ) )
- {
- hi( k ) = attr[c];
- goto loop;
- }
- goto loop;
- done:
- print( buffer, l );
- }
-
- void Tdc::direct_txtf( char *t, ... )
- {
- char buffer[MAX_FORMATTED_LINE_LENGTH];
- va_list argptr;
-
- va_start( argptr, t );
- vsprintf( buffer, t, argptr );
- va_end( argptr );
- direct_txt( buffer );
- }
-
- void Tdc::txtf( char *t, ... )
- {
- char buffer[MAX_FORMATTED_LINE_LENGTH];
- va_list argptr;
-
- va_start( argptr, t );
- vsprintf( buffer, t, argptr );
- va_end( argptr );
- txt( buffer );
- }
-
- void Tdc::draw( void )
- {
- uint co, i;
- word *p;
- int cx;
-
- p = address;
- current_dc->set_base( x - current_dc->x, y - current_dc->y );
- cx = current_dc->cursor_x;
- for( i = 0; i < yl; i++ )
- {
- co = current_dc->cursor_ofs;
- current_dc->print( p, xl );
- current_dc->cursor_y++;
- current_dc->cursor_x = cx;
- current_dc->cursor_ofs = co + ( current_dc->xl << 1 );
- p += xl;
- }
- }
-
- //SCREEN DC
-
- Tscreen_dc::Tscreen_dc( void ): Tdc()
- {
- len = ( scr_columns * scr_rows ) << 1;
- x = 0;
- y = 0;
- xl = scr_columns;
- yl = scr_rows;
- base_x = 0;
- base_y = 0;
- region_x = 0;
- region_y = 0;
- region_xl = scr_columns;
- region_yl = scr_rows;
- region_x2 = scr_columns - 1;
- region_y2 = scr_rows - 1;
- cursor_x = 0;
- cursor_y = 0;
- cursor_ofs = 0;
- address = scr_address;
- }
-
- Tscreen_dc::~Tscreen_dc( void )
- {
- address = NULL;
- }
-
- #ifdef HGR
- extern void out_char( char attr, char *chr, char *scr );
- #pragma aux out_char = \
- " mov bh,bl " \
- " shr bh,4 " \
- " and bl,0Fh " \
- " mov edx,3CEh " \
- " mov ah,bl " \
- " and ah,bh " \
- " xor al,al " \
- " out dx,ax " \
- " mov ecx,ebx " \
- " not ecx " \
- " and cl,ch " \
- " or ah,cl " \
- " inc al " \
- " out dx,ax " \
- " mov dl,0C4h " \
- " inc al " \
- " out dx,al " \
- " inc edx " \
- " or bl,cl " \
- " or bh,cl " \
- " mov ecx,16 " \
- " mov ah,bl " \
- "loc1: mov bl,[esi] " \
- " inc esi " \
- " mov al,ah " \
- " out dx,al " \
- " mov [edi],bl " \
- " mov al,bh " \
- " not bl " \
- " out dx,al " \
- " mov [edi],bl " \
- " add edi,80 " \
- " dec ecx " \
- " jz loc2 " \
- " jmp loc1 " \
- "loc2: " \
- parm [bl] [esi] [edi] \
- modify [eax ebx ecx edx esi edi];
- #endif
-
- void Tscreen_dc::print( word *p, int l )
- {
- int n;
-
- if( !l ) return;
-
- if( ( ( cursor_y < 0 ) || ( cursor_y < region_y ) ) ||
- ( cursor_y >= yl ) || ( cursor_y > region_y2 ) ) goto done;
- n = -cursor_x;
- if( region_x > 0 ) n += region_x;
- if( n > 0 )
- {
- if( n >= l ) goto done;
- p += n;
- l -= n;
- cursor_x += n;
- cursor_ofs += ( n << 1 );
- }
- n = xl-1;
- if( region_x2 <= n ) n = region_x2;
- if( ( n -= ( cursor_x + l - 1 ) ) < 0 )
- {
- if( n <= -l ) goto done;
- l += n;
- }
-
- #ifdef HGR
-
- {
- #ifndef NOMOUSE
- boolean hide=0;
- if( MOUSE_Y>=cursor_y-1 && MOUSE_Y<=cursor_y+1 &&
- MOUSE_X>=cursor_x-1 && MOUSE_X<=cursor_x+l ) hide++,hide_mouse();
- #endif
- if( hgr_cursor_y==cursor_y && hgr_cursor_x>=cursor_x && hgr_cursor_x<cursor_x+l )
- blink_state = 0;
- char *s = (char *)p;
- char *d = (char *)scr_address + cursor_y*80*16 + cursor_x;
- _cli();
- outpw( 0x3CE, 0xFF08 );
- for( l++; --l; )
- {
- char c, a;
- if( !(c=*s++,a=*s++) )
- {
- l--;
- for( char *start=s; !(c=*s++,a=*s++) && l; l-- );
- hgrs[*(start-2)]->draw( d, (s-start)/2 );
- d += (s-start)/2;
- if( !l ) break;
- }
- out_char( a, graph_chars16[c], d++ );
- }
- _sti();
- #ifndef NOMOUSE
- if( hide ) show_mouse();
- #endif
- }
-
- #else //HGR
-
- #ifdef NOMOUSE
- memcpy( (char *) address + cursor_ofs, p, l*2 );
- #else
- _cli();
- if( (cursor_y==MOUSE_Y || cursor_y==MOUSE_Y+1) &&
- MOUSE_X>=cursor_x-1 && MOUSE_X<cursor_x+l )
- {
- hide_mouse();
- memcpy( (char *) address + cursor_ofs, p, l*2 );
- show_mouse();
- }
- else
- memcpy( (char *) address + cursor_ofs, p, l*2 );
- _sti();
- #endif //NOMOUSE
-
- #endif //HGR
-
- done:
- cursor_x += l;
- cursor_ofs += l*2;
- }
-
-
- #ifdef HGR
-
- extern void xor_cursor( char beg_line, char end_line, char *scr );
- #pragma aux xor_cursor = \
- " sub cl,ch " \
- " inc cl " \
- " mov ah,1 " \
- " shl ah,cl " \
- " dec ah " \
- " mov cl,ch " \
- " shl ah,cl " \
- " mov edx,03CEh " \
- " mov al,8 " \
- " out dx,ax " \
- " mov eax,1803h " \
- " out dx,ax " \
- " mov edx,03C4h " \
- " mov eax,0F02h " \
- " out dx,ax " \
- " mov ah,0xFF " \
- " mov cl,16 " \
- "loc1: mov al,[edi] " \
- " mov [edi],ah " \
- " add edi,80 " \
- " dec cl " \
- " jnz loc1 " \
- " mov edx,03CEh " \
- " mov eax,0003h " \
- " out dx,ax " \
- " mov eax,0FF08h " \
- " out dx,ax " \
- parm [ch] [cl] [edi] \
- modify [eax ecx edx edi];
-
- static void blink_cursor( void )
- {
- // boolean hide=0;
- // if( hgr_cursor_y>=MOUSE_Y-1 && hgr_cursor_y<=MOUSE_Y+1 &&
- // hgr_cursor_x>=MOUSE_X-1 && hgr_cursor_x<=MOUSE_X+1 ) hide++, hide_mouse();
- xor_cursor( hgr_cursor->beg_line, hgr_cursor->end_line,
- (char *)scr_address+hgr_cursor_y*80*16+hgr_cursor_x );
- // if( hide ) show_mouse();
- blink_state ^= 1;
- call_request( blink_handle, blink_cursor, 2 );
- }
-
- void Tscreen_dc::update_cursor( void )
- {
- if( hgr_cursor_x==cursor_x && hgr_cursor_y==cursor_y && hgr_cursor==current_cursor ) return;
- _cli();
- if( blink_state ) blink_cursor();
- hgr_cursor=current_cursor;
- if( cursor_x>=0 && cursor_y>=0 && cursor_x<xl && cursor_y<yl )
- {
- hgr_cursor_x=cursor_x, hgr_cursor_y=cursor_y;
- blink_cursor();
- }
- _sti();
- }
-
- #else
-
- void Tscreen_dc::update_cursor( void )
- {
- union REGS r;
- r.w.dx = cursor_x;
- r.w.cx = cursor_y;
- if( cursor_x<0 || cursor_y<0 || cursor_x>=xl || cursor_y>=yl )
- {
- r.w.dx = 0;
- r.w.cx = yl+1;
- }
- r.h.dh = r.h.cl;
- r.h.ah = 2;
- r.h.bh = * ( (char *) BIOS_DTA( 0x0062 ) );
- INTR( 0x10, &r, &r );
- }
-
- #endif
-
- //NON-OBJECT PROCS
-
- void set_dc( Tdc *dc )
-
- {
- current_dc = dc;
- draw_on_screen = ( current_dc == (Tdc *) screen_dc );
- }
-
- uint smart_len( char *str )
- {
- uint l, ln;
- char c;
-
- ln = l = 0;
- loop:
- while( ( ( c = *str++ ) != 0 ) && ( ( c != '|' ) || ( ( c = *str++ ) == '|' ) ) )
- l++, ln++;
- if( !c ) return l;
- if( c == 'r' )
- {
- c = *str++;
- l += c, ln += c;
- str++;
- goto loop;
- }
- if( c == 'l' )
- {
- uint cnt = *str++;
- while( --cnt )
- l += ln;
- ln = 0;
- goto loop;
- }
- if( c == 'n' ) ln = 0;
- goto loop;
- }
-
- /* string can not contain |r, |l or || specifiers */
- uint smart_index( char *str, uint i )
- {
- uint j, l;
- char c;
-
- j = l = 0;
- loop:
- while( ( ( c = *str++ ) != 0 ) && ( c != '|' ) && ( l < i ) )
- j++, l++;
- if( !c ) return j;
- str--;
- while( *str == '|' )
- j += 2, str += 2;
- if( l == i ) return j;
- goto loop;
- }
-
- boolean rect_colision( int _x, int _y, uint _xl, uint _yl,
- int &a, int &b, uint &al, uint &bl )
- {
- int tal, tbl;
- boolean result;
-
- tal = a + al - 1; tbl = b + bl - 1;
- result = rect_colision_xy( _x, _y, (int) ( _x + _xl - 1 ), (int) ( _y + _yl - 1 ), a, b, tal, tbl );
- al = tal - a + 1; bl = tbl - b + 1;
- return result;
- }
-
- boolean rect_colision_xy( int x1, int y1, int x2, int y2,
- int &a1, int &b1, int &a2, int &b2 )
- {
- if( ( a1 > x2 ) || ( a2 < x1 ) || ( b1 > y2 ) || ( b2 < y1 ) ||
- ( a1 > a2 ) || ( b1 > b2 ) || ( x1 > x2 ) || ( y1 > y2 ) ) return 0;
- a1 = max( a1, x1 ); b1 = max( b1, y1 );
- a2 = min( a2, x2 ); b2 = min( b2, y2 );
- return 1;
- }
-
- void set_region( int _x, int _y, uint _xl, uint _yl )
- {
- current_dc->set_region( _x, _y, _xl, _yl );
- }
-
- void set_region_xy( int x1, int y1, int x2, int y2 )
- {
- current_dc->set_region_xy( x1, y1, x2, y2 );
- }
-
- void goto_xy( int _x, int _y )
- {
- current_dc->goto_xy( _x, _y );
- }
-
- void goto_ofs( uint cur_ofs )
- {
- current_dc->goto_ofs( cur_ofs );
- }
-
- int where_x( void )
- {
- return current_dc->where_x();
- }
-
- int where_y( void )
- {
- return current_dc->where_y();
- }
-
- void set_base( int _x, int _y )
- {
- current_dc->set_base( _x, _y );
- }
-
- void home( void )
- {
- current_dc->home();
- }
-
- void fill_dc( char c )
- {
- current_dc->fill_dc( c );
- }
-
- void print( word *p, int l )
- {
- current_dc->print( p, l );
- }
-
- void direct_txt( char *t )
- {
- current_dc->direct_txt( t );
- }
-
- void txt( char *t )
- {
- current_dc->txt( t );
- }
-
- void direct_txtf( char *t, ... )
- {
- char buffer[MAX_FORMATTED_LINE_LENGTH];
- va_list argptr;
-
- va_start( argptr, t );
- vsprintf( buffer, t, argptr );
- va_end( argptr );
- current_dc->txt( buffer );
- }
-
- void txtf( char *t, ... )
- {
- char buffer[MAX_FORMATTED_LINE_LENGTH];
- va_list argptr;
-
- va_start( argptr, t );
- vsprintf( buffer, t, argptr );
- va_end( argptr );
- current_dc->txt( buffer );
- }
-
- static void mode_proc( char mode, char char_size )
- {
- old_mode_proc( mode, char_size );
- #ifndef HGR
- set_blink( 0 );
- #endif
- screen_dc->address = scr_address;
- screen_dc->len = ( scr_columns * scr_rows ) << 1;
- screen_dc->xl = scr_columns;
- screen_dc->yl = scr_rows;
- }
-
- void __init_dc( void )
- {
- #ifdef HGR
- blink_handle = alloc_timer();
- #else
- set_blink( 0 );
- #endif
- old_mode_proc = hook_mode_proc( mode_proc );
- screen_dc = NEW( Tscreen_dc );
- current_dc = (Tdc *) screen_dc;
- }
-