Mirai's Miscellaneous Misadventures

M53 / core / font.c

1/* license: AGPLv3 or later */
2/* copyright 2024 zamfofex */
3
4#include "../mimimi.h"
5static struct mimimi_font mimimi_font_value = {
6{
7	/* space */
8	{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
9	/* symbols */
10	{ 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
11	{ 0x00, 0x00, 0x00, 0x48, 0x48, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
12	{ 0x00, 0x00, 0x50, 0x50, 0xF8, 0x50, 0x50, 0xF8, 0x50, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
13	{ 0x00, 0x20, 0x70, 0xA8, 0xA0, 0x70, 0x28, 0x28, 0xA8, 0x70, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00 },
14	{ 0x00, 0x00, 0x48, 0xA8, 0x50, 0x10, 0x20, 0x28, 0x54, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
15	{ 0x00, 0x00, 0x60, 0x90, 0x80, 0x88, 0x7C, 0x88, 0x88, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
16	{ 0x00, 0x00, 0x00, 0x40, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
17	{ 0x00, 0x00, 0x00, 0x40, 0x80, 0x80, 0x80, 0x80, 0x80, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
18	{ 0x00, 0x00, 0x00, 0x80, 0x40, 0x40, 0x40, 0x40, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
19	{ 0x00, 0x00, 0x00, 0x00, 0x00, 0xA8, 0x70, 0xA8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
20	{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x20, 0xF8, 0x20, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
21	{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00 },
22	{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
23	{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
24	{ 0x00, 0x00, 0x10, 0x10, 0x20, 0x20, 0x40, 0x40, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
25
26	/* digits */
27	{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x90, 0x90, 0x90, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
28	{ 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x40, 0x40, 0x40, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
29	{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x90, 0x20, 0x40, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
30	{ 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x20, 0x20, 0xC0, 0x20, 0x20, 0x40, 0x80, 0x00, 0x00, 0x00 },
31	{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x30, 0x50, 0x90, 0xF0, 0x10, 0x10, 0x10, 0x00, 0x00, 0x00 },
32	{ 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x80, 0x80, 0xE0, 0x20, 0x20, 0xC0, 0x00, 0x00, 0x00, 0x00 },
33	{ 0x00, 0x00, 0x60, 0x90, 0x80, 0xE0, 0x90, 0x90, 0x90, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
34	{ 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x20, 0x20, 0x20, 0x40, 0x40, 0x80, 0x80, 0x00, 0x00, 0x00 },
35	{ 0x00, 0x00, 0x60, 0x90, 0x90, 0x60, 0x90, 0x90, 0x90, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
36	{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0xA0, 0xA0, 0xA0, 0x60, 0x20, 0xA0, 0x40, 0x00, 0x00, 0x00 },
37
38	/* symbols */
39	{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
40	{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x40, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00 },
41	{ 0x00, 0x00, 0x00, 0x10, 0x20, 0x40, 0x80, 0x40, 0x20, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
42	{ 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x00, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
43	{ 0x00, 0x00, 0x00, 0x80, 0x40, 0x20, 0x10, 0x20, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
44	{ 0x00, 0x00, 0x70, 0x88, 0x08, 0x10, 0x20, 0x20, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
45	{ 0x00, 0x00, 0x00, 0x38, 0x44, 0x92, 0xAA, 0x94, 0x40, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
46
47	/* capital letters */
48	{ 0x00, 0x00, 0x08, 0x18, 0x28, 0x28, 0x78, 0x48, 0x88, 0x88, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
49	{ 0x00, 0x00, 0xE0, 0x90, 0x90, 0xE0, 0x90, 0x90, 0x90, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
50	{ 0x00, 0x00, 0x38, 0x44, 0x80, 0x80, 0x80, 0x80, 0x44, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
51	{ 0x00, 0x00, 0xE0, 0x90, 0x88, 0x88, 0x88, 0x88, 0x90, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
52	{ 0x00, 0x00, 0xF0, 0x80, 0x80, 0xE0, 0x80, 0x80, 0x80, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
53	{ 0x00, 0x00, 0x3C, 0x20, 0x20, 0x38, 0x20, 0x20, 0x20, 0xA0, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00 },
54	{ 0x00, 0x00, 0x38, 0x44, 0x80, 0x80, 0x9E, 0x82, 0x44, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
55	{ 0x00, 0x00, 0x80, 0x90, 0x90, 0xF0, 0x90, 0x90, 0x90, 0x14, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00 },
56	{ 0x00, 0x00, 0xE0, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
57	{ 0x00, 0x00, 0x78, 0x48, 0x08, 0x08, 0x08, 0x08, 0x08, 0x90, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00 },
58	{ 0x00, 0x00, 0x88, 0x90, 0xA0, 0xC0, 0xA0, 0xA0, 0x90, 0x94, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00 },
59	{ 0x00, 0x00, 0xC0, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0xB8, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00 },
60	{ 0x00, 0x00, 0x82, 0xC6, 0xAA, 0x92, 0x82, 0x82, 0x82, 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
61	{ 0x00, 0x00, 0x88, 0xC8, 0xC8, 0xA8, 0xA8, 0x98, 0x98, 0x88, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
62	{ 0x00, 0x00, 0x30, 0x48, 0x84, 0x84, 0x84, 0x84, 0x48, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
63	{ 0x00, 0x00, 0xF0, 0x48, 0x48, 0x48, 0x70, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
64	{ 0x00, 0x00, 0x38, 0x44, 0x82, 0x82, 0x9A, 0xA4, 0x4A, 0x31, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
65	{ 0x00, 0x00, 0x70, 0x88, 0x88, 0x90, 0xE0, 0x90, 0x88, 0x88, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
66	{ 0x00, 0x00, 0x30, 0x48, 0x40, 0x20, 0x10, 0xC8, 0x88, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
67	{ 0x00, 0x00, 0xF8, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
68	{ 0x00, 0x00, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x88, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
69	{ 0x00, 0x00, 0x84, 0x84, 0x48, 0x48, 0x50, 0x50, 0x20, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
70	{ 0x00, 0x00, 0x82, 0x81, 0x81, 0x81, 0x92, 0xAA, 0x44, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
71	{ 0x00, 0x00, 0x88, 0x88, 0x50, 0x20, 0x50, 0x50, 0x88, 0x88, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
72	{ 0x00, 0x00, 0xC4, 0x44, 0x44, 0x28, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
73	{ 0x00, 0x00, 0xFC, 0x08, 0x10, 0x10, 0x20, 0x20, 0x4C, 0xF2, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
74
75	/* symbols */
76	{ 0x00, 0x00, 0x00, 0xC0, 0x80, 0x80, 0x80, 0x80, 0x80, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
77	{ 0x00, 0x00, 0x80, 0x80, 0x40, 0x40, 0x20, 0x20, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
78	{ 0x00, 0x00, 0x00, 0xC0, 0x40, 0x40, 0x40, 0x40, 0x40, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
79	{ 0x00, 0x00, 0x00, 0x20, 0x50, 0x88, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
80	{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
81	{ 0x00, 0x00, 0x00, 0x40, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
82
83	/* minuscule letters */
84	{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x10, 0xF0, 0x90, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
85	{ 0x00, 0xC0, 0x40, 0x40, 0x40, 0x70, 0x48, 0x48, 0x48, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
86	{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x90, 0x80, 0x90, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
87	{ 0x00, 0x10, 0x10, 0x10, 0x10, 0x70, 0x90, 0x90, 0x90, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
88	{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x90, 0xE0, 0x80, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
89	{ 0x00, 0x10, 0x28, 0x20, 0x20, 0x70, 0x20, 0x20, 0x20, 0x20, 0xA0, 0x40, 0x00, 0x00, 0x00, 0x00 },
90	{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x90, 0x60, 0x80, 0x60, 0x10, 0x90, 0x60, 0x00, 0x00, 0x00 },
91	{ 0x00, 0xC0, 0x40, 0x40, 0x40, 0x70, 0x48, 0x48, 0x4A, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
92	{ 0x00, 0x00, 0x00, 0x40, 0x00, 0xC0, 0x40, 0x40, 0x40, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
93	{ 0x00, 0x00, 0x00, 0x20, 0x00, 0x60, 0x20, 0x20, 0x20, 0x20, 0x20, 0xA0, 0x40, 0x00, 0x00, 0x00 },
94	{ 0x00, 0xC0, 0x40, 0x40, 0x40, 0x70, 0x48, 0x70, 0x48, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
95	{ 0x00, 0x80, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x50, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
96	{ 0x00, 0x00, 0x00, 0x00, 0x00, 0xEC, 0x92, 0x92, 0x82, 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
97	{ 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x90, 0x90, 0x90, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
98	{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x90, 0x90, 0x90, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
99	{ 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x48, 0x48, 0x48, 0x70, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00 },
100	{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x90, 0x90, 0x90, 0x70, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00 },
101	{ 0x00, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xC8, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
102	{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x80, 0x60, 0x10, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
103	{ 0x00, 0x00, 0x00, 0x00, 0x40, 0xE0, 0x40, 0x40, 0x40, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
104	{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, 0x90, 0x90, 0x90, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
105	{ 0x00, 0x00, 0x00, 0x00, 0x00, 0xC8, 0x48, 0x50, 0x50, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
106	{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x82, 0x82, 0x92, 0x54, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
107	{ 0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xA0, 0x40, 0xA0, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
108	{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0xA4, 0x24, 0x24, 0x1C, 0x04, 0x1E, 0x24, 0x18, 0x00, 0x00 },
109	{ 0x00, 0x00, 0x00, 0x00, 0x00, 0xF8, 0x10, 0x20, 0x40, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
110
111	/* symbols */
112	{ 0x00, 0x00, 0x00, 0x20, 0x40, 0x40, 0x80, 0x40, 0x40, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
113	{ 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
114	{ 0x00, 0x00, 0x00, 0x80, 0x40, 0x40, 0x20, 0x40, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
115	{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x98, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
116
117	/* DEL */
118	{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
119}
120};
121
122struct mimimi_font *mimimi_font = &mimimi_font_value;