1 /***************************************************************************
3 * ZXEmuT -- ZX Spectrum Emulator with Tcl scripting
5 * Copyright (C) 2012-2022 Ketmar Dark <ketmar@ketmar.no-ip.org>
7 * This program is free software: you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation, version 3 of the License ONLY.
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
16 * You should have received a copy of the GNU General Public License
17 * along with this program. If not, see <http://www.gnu.org/licenses/>.
19 **************************************************************************/
20 // height, space width, offsets for chars 33..95
21 // char: (yofs<<4)|width, data (2 bytes per pixel)
22 static const uint8_t zfont
[] = {
23 0x07,0x05,0x80,0x00,0x8F,0x00,0x9E,0x00,0xAD,0x00,0xBC,0x00,0xCB,0x00,0xDA,0x00,0xE2,0x00,0xEA,0x00,0xF2,0x00,0x01,0x01,
24 0x10,0x01,0x18,0x01,0x27,0x01,0x2F,0x01,0x3E,0x01,0x4D,0x01,0x5C,0x01,0x6B,0x01,0x7A,0x01,0x89,0x01,0x98,0x01,0xA7,0x01,
25 0xB6,0x01,0xC5,0x01,0xD4,0x01,0xDC,0x01,0xE4,0x01,0xF3,0x01,0x02,0x02,0x11,0x02,0x20,0x02,0x2F,0x02,0x3E,0x02,0x4D,0x02,
26 0x5C,0x02,0x6B,0x02,0x7A,0x02,0x89,0x02,0x98,0x02,0xA7,0x02,0xAF,0x02,0xBE,0x02,0xCD,0x02,0xDC,0x02,0xF2,0x02,0x01,0x03,
27 0x10,0x03,0x1F,0x03,0x2E,0x03,0x3D,0x03,0x4C,0x03,0x5B,0x03,0x6A,0x03,0x79,0x03,0x8F,0x03,0x9E,0x03,0xAD,0x03,0xBC,0x03,
28 0xC4,0x03,0xD3,0x03,0xDB,0x03,0xEA,0x03,0x15,0x04,0x00,0x19,0x00,0x6A,0x40,0x19,0x00,0x04,0x00,0x19,0x00,0x04,0x00,0x15,
29 0x11,0x00,0x66,0x40,0x11,0x00,0x03,0x00,0x03,0x00,0x03,0x00,0x03,0x00,0x17,0x04,0x40,0x19,0x90,0x6A,0xA4,0x19,0x90,0x6A,
30 0xA4,0x19,0x90,0x04,0x40,0x17,0x06,0x50,0x1A,0xA4,0x66,0x50,0x1A,0x90,0x16,0x64,0x6A,0x90,0x16,0x40,0x17,0x10,0x10,0x64,
31 0x64,0x11,0x90,0x06,0x40,0x19,0x10,0x64,0x64,0x10,0x10,0x18,0x06,0x40,0x19,0x90,0x1A,0x59,0x65,0xA4,0x65,0x64,0x1A,0x99,
32 0x05,0x44,0x13,0x10,0x64,0x64,0x10,0x30,0x30,0x30,0x14,0x04,0x19,0x64,0x64,0x64,0x19,0x04,0x14,0x10,0x64,0x19,0x19,0x19,
33 0x64,0x10,0x17,0x10,0x10,0x64,0x64,0x19,0x90,0x6A,0xA4,0x19,0x90,0x64,0x64,0x10,0x10,0x17,0x00,0x00,0x01,0x00,0x16,0x50,
34 0x6A,0xA4,0x16,0x50,0x01,0x00,0x00,0x30,0x14,0x00,0x00,0x00,0x04,0x19,0x64,0x10,0x16,0x00,0x00,0x00,0x00,0x15,0x40,0x6A,
35 0x90,0x15,0x40,0x03,0x00,0x30,0x00,0x13,0x00,0x00,0x00,0x00,0x10,0x64,0x10,0x17,0x00,0x10,0x00,0x64,0x01,0x90,0x06,0x40,
36 0x19,0x00,0x64,0x00,0x10,0x00,0x17,0x05,0x40,0x1A,0x90,0x69,0xA4,0x69,0xA4,0x69,0xA4,0x1A,0x90,0x05,0x40,0x16,0x05,0x00,
37 0x1A,0x40,0x6A,0x40,0x1A,0x40,0x1A,0x40,0x6A,0x90,0x15,0x40,0x17,0x15,0x40,0x6A,0x90,0x15,0xA4,0x1A,0x90,0x69,0x50,0x6A,
38 0xA4,0x15,0x50,0x17,0x05,0x40,0x1A,0x90,0x05,0xA4,0x06,0x90,0x15,0xA4,0x6A,0x90,0x15,0x40,0x17,0x14,0x00,0x69,0x00,0x69,
39 0x40,0x69,0x90,0x6A,0xA4,0x15,0x90,0x00,0x40,0x17,0x15,0x50,0x6A,0xA4,0x69,0x50,0x6A,0x90,0x15,0xA4,0x6A,0x90,0x15,0x40,
40 0x17,0x05,0x40,0x1A,0x90,0x69,0x40,0x6A,0x90,0x69,0xA4,0x1A,0x90,0x05,0x40,0x17,0x15,0x40,0x6A,0x90,0x15,0xA4,0x01,0xA4,
41 0x01,0xA4,0x01,0xA4,0x00,0x50,0x17,0x05,0x40,0x1A,0x90,0x69,0xA4,0x1A,0x90,0x69,0xA4,0x1A,0x90,0x05,0x40,0x17,0x05,0x40,
42 0x1A,0x90,0x69,0xA4,0x1A,0xA4,0x05,0xA4,0x1A,0x90,0x05,0x40,0x13,0x00,0x10,0x64,0x10,0x64,0x10,0x30,0x14,0x00,0x04,0x19,
43 0x04,0x19,0x64,0x10,0x16,0x01,0x40,0x06,0x90,0x1A,0x40,0x69,0x00,0x1A,0x40,0x06,0x90,0x01,0x40,0x16,0x00,0x00,0x15,0x40,
44 0x6A,0x90,0x15,0x40,0x6A,0x90,0x15,0x40,0x03,0x00,0x16,0x14,0x00,0x69,0x00,0x1A,0x40,0x06,0x90,0x1A,0x40,0x69,0x00,0x14,
45 0x00,0x18,0x05,0x50,0x1A,0xA4,0x65,0x69,0x16,0x94,0x01,0x40,0x06,0x90,0x01,0x40,0x18,0x05,0x50,0x1A,0xA4,0x65,0x54,0x66,
46 0xA9,0x66,0x99,0x65,0x59,0x1A,0xA4,0x18,0x05,0x40,0x1A,0x90,0x69,0xA4,0x69,0x69,0x6A,0xA9,0x69,0x69,0x14,0x14,0x17,0x05,
47 0x00,0x1A,0x40,0x69,0x90,0x6A,0x50,0x69,0xA4,0x6A,0x90,0x15,0x40,0x17,0x05,0x40,0x1A,0x90,0x69,0x40,0x69,0x00,0x69,0x50,
48 0x1A,0xA4,0x05,0x50,0x18,0x05,0x40,0x1A,0x90,0x69,0xA4,0x69,0x69,0x69,0x69,0x6A,0xA4,0x15,0x50,0x17,0x05,0x40,0x1A,0x90,
49 0x69,0x40,0x6A,0x40,0x69,0x50,0x1A,0xA4,0x05,0x50,0x17,0x05,0x50,0x1A,0xA4,0x69,0x50,0x6A,0x40,0x69,0x00,0x69,0x00,0x14,
50 0x00,0x17,0x05,0x40,0x1A,0x90,0x69,0x50,0x69,0xA4,0x69,0xA4,0x1A,0xA4,0x05,0x50,0x17,0x14,0x00,0x69,0x50,0x69,0xA4,0x69,
51 0xA4,0x6A,0xA4,0x69,0xA4,0x14,0x50,0x14,0x14,0x69,0x69,0x69,0x69,0x69,0x14,0x17,0x05,0x50,0x1A,0xA4,0x05,0xA4,0x11,0xA4,
52 0x65,0xA4,0x6A,0x94,0x15,0x50,0x17,0x14,0x00,0x69,0x50,0x69,0xA4,0x69,0xA4,0x6A,0x90,0x69,0xA4,0x14,0x50,0x17,0x14,0x00,
53 0x69,0x00,0x69,0x00,0x69,0x00,0x69,0x50,0x1A,0xA4,0x05,0x50,0x19,0x05,0x54,0x00,0x1A,0xA9,0x00,0x69,0x9A,0x40,0x69,0x5A,
54 0x40,0x69,0x1A,0x40,0x69,0x1A,0x40,0x14,0x05,0x00,0x18,0x05,0x00,0x1A,0x40,0x6A,0x90,0x69,0xA4,0x69,0x69,0x69,0x69,0x14,
55 0x14,0x18,0x01,0x50,0x06,0xA4,0x1A,0x69,0x69,0x69,0x69,0x69,0x1A,0xA4,0x05,0x50,0x17,0x05,0x40,0x1A,0x90,0x69,0xA4,0x69,
56 0xA4,0x6A,0x90,0x69,0x40,0x14,0x00,0x18,0x01,0x50,0x06,0xA4,0x1A,0x69,0x69,0x69,0x69,0xA9,0x1A,0xA9,0x05,0x54,0x17,0x05,
57 0x40,0x1A,0x90,0x69,0xA4,0x69,0xA4,0x6A,0x90,0x69,0xA4,0x14,0x50,0x17,0x05,0x50,0x1A,0xA4,0x69,0x50,0x1A,0x90,0x15,0xA4,
58 0x6A,0x90,0x15,0x40,0x18,0x15,0x54,0x6A,0xA9,0x16,0x94,0x06,0x90,0x06,0x90,0x06,0x90,0x01,0x40,0x17,0x14,0x50,0x69,0xA4,
59 0x69,0xA4,0x69,0xA4,0x69,0xA4,0x1A,0x90,0x05,0x40,0x18,0x14,0x14,0x69,0x69,0x69,0x69,0x69,0xA4,0x6A,0x90,0x1A,0x40,0x05,
60 0x00,0x19,0x14,0x05,0x00,0x69,0x1A,0x40,0x69,0x5A,0x40,0x69,0x9A,0x40,0x6A,0xAA,0x40,0x1A,0x69,0x00,0x05,0x14,0x00,0x18,
61 0x14,0x14,0x69,0x69,0x1A,0xA4,0x06,0x90,0x1A,0xA4,0x69,0x69,0x14,0x14,0x17,0x14,0x50,0x69,0xA4,0x69,0xA4,0x1A,0xA4,0x15,
62 0xA4,0x6A,0x90,0x15,0x40,0x18,0x15,0x54,0x6A,0xA9,0x15,0xA9,0x1A,0xA4,0x6A,0x54,0x6A,0xA9,0x15,0x54,0x14,0x14,0x69,0x64,
63 0x64,0x64,0x69,0x14,0x17,0x10,0x00,0x64,0x00,0x19,0x00,0x06,0x40,0x01,0x90,0x00,0x64,0x00,0x10,0x14,0x14,0x69,0x19,0x19,
64 0x19,0x69,0x14,0x15,0x04,0x00,0x19,0x00,0x66,0x40,0x11,0x00,0x03,0x00,0x03,0x00,0x03,0x00,0x16,0x00,0x00,0x00,0x00,0x00,
65 0x00,0x00,0x00,0x15,0x40,0x6A,0x90,0x15,0x40