-
Notifications
You must be signed in to change notification settings - Fork 0
/
font.h
371 lines (356 loc) · 16.8 KB
/
font.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
#ifndef _FONT5X7_H_
#define _FONT5X7_H_
/*
___________ __ .__
\_ _____// |_ ____ | |__
| __)_\ __\/ ___\| | \
| \| | \ \___| Y \
/_______ /|__| \___ >___| /
\/ \/ \/
.________ _________ ___________ __
| ____/__ __\______ \ \_ _____/___ _____/ |_
|____ \\ \/ / / / | __)/ _ \ / \ __\
/ \> < / / | \( <_> ) | \ |
/______ /__/\_ \ /____/ \___ / \____/|___| /__|
\/ \/ \/ \/
ETCH Firmware source code designed to run on the AVR128DA28.
Copyright (C) 2024 Tyler Klein (Things Made Simple)
Etch Hardware Design by Juanito Moore (Modular for the Masses)
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
--- Description: ---
This library provides a 5x7 pixel font for use in the menus of the Etch Module.
This font is based on a file I found at:
https://github.com/Ameba8195/Arduino/blob/master/hardware_v2/cores/arduino/font5x7.h
NOTE: I have added a set of keyboard visualization characters in the last 16 elements of the character array
---
* Take 'A' as example.
* 'A' use 5 byte to denote:
* 0x7C, 0x12, 0x11, 0x12, 0x7C
*
* and we represent it in base 2:
* 0x7C: 01111100
* 0x12: 00010010
* 0x11: 00010001
* 0x12: 00010010
* 0x7C: 01111100
* where 1 is font color, and 0 is background color
*
* So it's 'A' if we look it in counter-clockwise for 90 degree.
* In general case, we also add a background line to seperate from other character:
* 0x7C: 01111100
* 0x12: 00010010
* 0x11: 00010001
* 0x12: 00010010
* 0x7C: 01111100
* 0x00: 00000000
*
**/
#define CHAR_WIDTH 6
#define CHAR_HEIGHT 7
// standard ascii 5x7 font with 6th column for spacing and to accommodate block characters
static unsigned char font5x7[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x00 (nul)
0x3E, 0x5B, 0x4F, 0x5B, 0x3E, 0x00, // 0x01 (soh)
0x3E, 0x6B, 0x4F, 0x6B, 0x3E, 0x00, // 0x02 (stx)
0x1C, 0x3E, 0x7C, 0x3E, 0x1C, 0x00, // 0x03 (etx)
0x18, 0x3C, 0x7E, 0x3C, 0x18, 0x00, // 0x04 (eot)
0x1C, 0x57, 0x7D, 0x57, 0x1C, 0x00, // 0x05 (enq)
0x1C, 0x5E, 0x7F, 0x5E, 0x1C, 0x00, // 0x06 (ack)
0x00, 0x18, 0x3C, 0x18, 0x00, 0x00, // 0x07 (bel)
0xFF, 0xE7, 0xC3, 0xE7, 0xFF, 0x00, // 0x08 (bs)
0x00, 0x18, 0x24, 0x18, 0x00, 0x00, // 0x09 (tab)
0xFF, 0xE7, 0xDB, 0xE7, 0xFF, 0x00, // 0x0A (lf)
0x30, 0x48, 0x3A, 0x06, 0x0E, 0x00, // 0x0B (vt)
0x26, 0x29, 0x79, 0x29, 0x26, 0x00, // 0x0C (np)
0x40, 0x7F, 0x05, 0x05, 0x07, 0x00, // 0x0D (cr)
0x40, 0x7F, 0x05, 0x25, 0x3F, 0x00, // 0x0E (so)
0x5A, 0x3C, 0xE7, 0x3C, 0x5A, 0x00, // 0x0F (si)
0x7F, 0x3E, 0x1C, 0x1C, 0x08, 0x00, // 0x10 (dle)
0x08, 0x1C, 0x1C, 0x3E, 0x7F, 0x00, // 0x11 (dc1)
0x14, 0x22, 0x7F, 0x22, 0x14, 0x00, // 0x12 (dc2)
0x5F, 0x5F, 0x00, 0x5F, 0x5F, 0x00, // 0x13 (dc3)
0x06, 0x09, 0x7F, 0x01, 0x7F, 0x00, // 0x14 (dc4)
0x00, 0x66, 0x89, 0x95, 0x6A, 0x00, // 0x15 (nak)
0x60, 0x60, 0x60, 0x60, 0x60, 0x00, // 0x16 (syn)
0x94, 0xA2, 0xFF, 0xA2, 0x94, 0x00, // 0x17 (etb)
0x08, 0x04, 0x7E, 0x04, 0x08, 0x00, // 0x18 (can)
0x10, 0x20, 0x7E, 0x20, 0x10, 0x00, // 0x19 (em)
0x08, 0x08, 0x2A, 0x1C, 0x08, 0x00, // 0x1A (eof)
0x08, 0x1C, 0x2A, 0x08, 0x08, 0x00, // 0x1B (esc)
0x1E, 0x10, 0x10, 0x10, 0x10, 0x00, // 0x1C (fs)
0x0C, 0x1E, 0x0C, 0x1E, 0x0C, 0x00, // 0x1D (gs)
0x30, 0x38, 0x3E, 0x38, 0x30, 0x00, // 0x1E (rs)
0x06, 0x0E, 0x3E, 0x0E, 0x06, 0x00, // 0x1F (us)
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x20
0x00, 0x00, 0x5F, 0x00, 0x00, 0x00, // 0x21 !
0x00, 0x07, 0x00, 0x07, 0x00, 0x00, // 0x22 "
0x14, 0x7F, 0x14, 0x7F, 0x14, 0x00, // 0x23 #
0x24, 0x2A, 0x7F, 0x2A, 0x12, 0x00, // 0x24 $
0x23, 0x13, 0x08, 0x64, 0x62, 0x00, // 0x25 %
0x36, 0x49, 0x56, 0x20, 0x50, 0x00, // 0x26 &
0x00, 0x08, 0x07, 0x03, 0x00, 0x00, // 0x27 '
0x00, 0x1C, 0x22, 0x41, 0x00, 0x00, // 0x28 (
0x00, 0x41, 0x22, 0x1C, 0x00, 0x00, // 0x29 )
0x2A, 0x1C, 0x7F, 0x1C, 0x2A, 0x00, // 0x2A *
0x08, 0x08, 0x3E, 0x08, 0x08, 0x00, // 0x2B +
0x00, 0x80, 0x70, 0x30, 0x00, 0x00, // 0x2C ,
0x08, 0x08, 0x08, 0x08, 0x08, 0x00, // 0x2D -
0x00, 0x00, 0x60, 0x60, 0x00, 0x00, // 0x2E .
0x20, 0x10, 0x08, 0x04, 0x02, 0x00, // 0x2F /
0x3E, 0x51, 0x49, 0x45, 0x3E, 0x00, // 0x30 0
0x00, 0x42, 0x7F, 0x40, 0x00, 0x00, // 0x31 1
0x72, 0x49, 0x49, 0x49, 0x46, 0x00, // 0x32 2
0x21, 0x41, 0x49, 0x4D, 0x33, 0x00, // 0x33 3
0x18, 0x14, 0x12, 0x7F, 0x10, 0x00, // 0x34 4
0x27, 0x45, 0x45, 0x45, 0x39, 0x00, // 0x35 5
0x3C, 0x4A, 0x49, 0x49, 0x31, 0x00, // 0x36 6
0x41, 0x21, 0x11, 0x09, 0x07, 0x00, // 0x37 7
0x36, 0x49, 0x49, 0x49, 0x36, 0x00, // 0x38 8
0x46, 0x49, 0x49, 0x29, 0x1E, 0x00, // 0x39 9
0x00, 0x00, 0x14, 0x00, 0x00, 0x00, // 0x3A :
0x00, 0x40, 0x34, 0x00, 0x00, 0x00, // 0x3B ;
0x00, 0x08, 0x14, 0x22, 0x41, 0x00, // 0x3C <
0x14, 0x14, 0x14, 0x14, 0x14, 0x00, // 0x3D =
0x00, 0x41, 0x22, 0x14, 0x08, 0x00, // 0x3E >
0x02, 0x01, 0x59, 0x09, 0x06, 0x00, // 0x3F ?
0x3E, 0x41, 0x5D, 0x59, 0x4E, 0x00, // 0x40 @
0x7C, 0x12, 0x11, 0x12, 0x7C, 0x00, // 0x41 A
0x7F, 0x49, 0x49, 0x49, 0x36, 0x00, // 0x42 B
0x3E, 0x41, 0x41, 0x41, 0x22, 0x00, // 0x43 C
0x7F, 0x41, 0x41, 0x41, 0x3E, 0x00, // 0x44 D
0x7F, 0x49, 0x49, 0x49, 0x41, 0x00, // 0x45 E
0x7F, 0x09, 0x09, 0x09, 0x01, 0x00, // 0x46 F
0x3E, 0x41, 0x41, 0x51, 0x73, 0x00, // 0x47 G
0x7F, 0x08, 0x08, 0x08, 0x7F, 0x00, // 0x48 H
0x00, 0x41, 0x7F, 0x41, 0x00, 0x00, // 0x49 I
0x20, 0x40, 0x41, 0x3F, 0x01, 0x00, // 0x4A J
0x7F, 0x08, 0x14, 0x22, 0x41, 0x00, // 0x4B K
0x7F, 0x40, 0x40, 0x40, 0x40, 0x00, // 0x4C L
0x7F, 0x02, 0x1C, 0x02, 0x7F, 0x00, // 0x4D M
0x7F, 0x04, 0x08, 0x10, 0x7F, 0x00, // 0x4E N
0x3E, 0x41, 0x41, 0x41, 0x3E, 0x00, // 0x4F O
0x7F, 0x09, 0x09, 0x09, 0x06, 0x00, // 0x50 P
0x3E, 0x41, 0x51, 0x21, 0x5E, 0x00, // 0x51 Q
0x7F, 0x09, 0x19, 0x29, 0x46, 0x00, // 0x52 R
0x26, 0x49, 0x49, 0x49, 0x32, 0x00, // 0x53 S
0x03, 0x01, 0x7F, 0x01, 0x03, 0x00, // 0x54 T
0x3F, 0x40, 0x40, 0x40, 0x3F, 0x00, // 0x55 U
0x1F, 0x20, 0x40, 0x20, 0x1F, 0x00, // 0x56 V
0x3F, 0x40, 0x38, 0x40, 0x3F, 0x00, // 0x57 W
0x63, 0x14, 0x08, 0x14, 0x63, 0x00, // 0x58 X
0x03, 0x04, 0x78, 0x04, 0x03, 0x00, // 0x59 Y
0x61, 0x59, 0x49, 0x4D, 0x43, 0x00, // 0x5A Z
0x00, 0x7F, 0x41, 0x41, 0x41, 0x00, // 0x5B [
0x02, 0x04, 0x08, 0x10, 0x20, 0x00, // 0x5C backslash
0x00, 0x41, 0x41, 0x41, 0x7F, 0x00, // 0x5D ]
0x04, 0x02, 0x01, 0x02, 0x04, 0x00, // 0x5E ^
0x40, 0x40, 0x40, 0x40, 0x40, 0x00, // 0x5F _
0x00, 0x03, 0x07, 0x08, 0x00, 0x00, // 0x60 `
0x20, 0x54, 0x54, 0x78, 0x40, 0x00, // 0x61 a
0x7F, 0x28, 0x44, 0x44, 0x38, 0x00, // 0x62 b
0x38, 0x44, 0x44, 0x44, 0x28, 0x00, // 0x63 c
0x38, 0x44, 0x44, 0x28, 0x7F, 0x00, // 0x64 d
0x38, 0x54, 0x54, 0x54, 0x18, 0x00, // 0x65 e
0x00, 0x08, 0x7E, 0x09, 0x02, 0x00, // 0x66 f
0x18, 0xA4, 0xA4, 0x9C, 0x78, 0x00, // 0x67 g
0x7F, 0x08, 0x04, 0x04, 0x78, 0x00, // 0x68 h
0x00, 0x44, 0x7D, 0x40, 0x00, 0x00, // 0x69 i
0x20, 0x40, 0x40, 0x3D, 0x00, 0x00, // 0x6A j
0x7F, 0x10, 0x28, 0x44, 0x00, 0x00, // 0x6B k
0x00, 0x41, 0x7F, 0x40, 0x00, 0x00, // 0x6C l
0x7C, 0x04, 0x78, 0x04, 0x78, 0x00, // 0x6D m
0x7C, 0x08, 0x04, 0x04, 0x78, 0x00, // 0x6E n
0x38, 0x44, 0x44, 0x44, 0x38, 0x00, // 0x6F o
0xFC, 0x18, 0x24, 0x24, 0x18, 0x00, // 0x70 p
0x18, 0x24, 0x24, 0x18, 0xFC, 0x00, // 0x71 q
0x7C, 0x08, 0x04, 0x04, 0x08, 0x00, // 0x72 r
0x48, 0x54, 0x54, 0x54, 0x24, 0x00, // 0x73 s
0x04, 0x04, 0x3F, 0x44, 0x24, 0x00, // 0x74 t
0x3C, 0x40, 0x40, 0x20, 0x7C, 0x00, // 0x75 u
0x1C, 0x20, 0x40, 0x20, 0x1C, 0x00, // 0x76 v
0x3C, 0x40, 0x30, 0x40, 0x3C, 0x00, // 0x77 w
0x44, 0x28, 0x10, 0x28, 0x44, 0x00, // 0x78 x
0x4C, 0x90, 0x90, 0x90, 0x7C, 0x00, // 0x79 y
0x44, 0x64, 0x54, 0x4C, 0x44, 0x00, // 0x7A z
0x00, 0x08, 0x36, 0x41, 0x00, 0x00, // 0x7B {
0x00, 0x00, 0x77, 0x00, 0x00, 0x00, // 0x7C |
0x00, 0x41, 0x36, 0x08, 0x00, 0x00, // 0x7D }
0x02, 0x01, 0x02, 0x04, 0x02, 0x00, // 0x7E ~
0x3C, 0x26, 0x23, 0x26, 0x3C, 0x00, // 0x7F
0x1E, 0xA1, 0xA1, 0x61, 0x12, 0x00, // 0x80
0x3A, 0x40, 0x40, 0x20, 0x7A, 0x00, // 0x81
0x38, 0x54, 0x54, 0x55, 0x59, 0x00, // 0x82
0x21, 0x55, 0x55, 0x79, 0x41, 0x00, // 0x83
0x22, 0x54, 0x54, 0x78, 0x42, 0x00, // 0x84
0x21, 0x55, 0x54, 0x78, 0x40, 0x00, // 0x85
0x20, 0x54, 0x55, 0x79, 0x40, 0x00, // 0x86
0x0C, 0x1E, 0x52, 0x72, 0x12, 0x00, // 0x87
0x39, 0x55, 0x55, 0x55, 0x59, 0x00, // 0x88
0x39, 0x54, 0x54, 0x54, 0x59, 0x00, // 0x89
0x39, 0x55, 0x54, 0x54, 0x58, 0x00, // 0x8A
0x00, 0x00, 0x45, 0x7C, 0x41, 0x00, // 0x8B
0x00, 0x02, 0x45, 0x7D, 0x42, 0x00, // 0x8C
0x00, 0x01, 0x45, 0x7C, 0x40, 0x00, // 0x8D
0x7D, 0x12, 0x11, 0x12, 0x7D, 0x00, // 0x8E
0xF0, 0x28, 0x25, 0x28, 0xF0, 0x00, // 0x8F
0x7C, 0x54, 0x55, 0x45, 0x00, 0x00, // 0x90
0x20, 0x54, 0x54, 0x7C, 0x54, 0x00, // 0x91
0x7C, 0x0A, 0x09, 0x7F, 0x49, 0x00, // 0x92
0x32, 0x49, 0x49, 0x49, 0x32, 0x00, // 0x93
0x3A, 0x44, 0x44, 0x44, 0x3A, 0x00, // 0x94
0x32, 0x4A, 0x48, 0x48, 0x30, 0x00, // 0x95
0x3A, 0x41, 0x41, 0x21, 0x7A, 0x00, // 0x96
0x3A, 0x42, 0x40, 0x20, 0x78, 0x00, // 0x97
0x00, 0x9D, 0xA0, 0xA0, 0x7D, 0x00, // 0x98
0x3D, 0x42, 0x42, 0x42, 0x3D, 0x00, // 0x99
0x3D, 0x40, 0x40, 0x40, 0x3D, 0x00, // 0x9A
0x3C, 0x24, 0xFF, 0x24, 0x24, 0x00, // 0x9B
0x48, 0x7E, 0x49, 0x43, 0x66, 0x00, // 0x9C
0x2B, 0x2F, 0xFC, 0x2F, 0x2B, 0x00, // 0x9D
0xFF, 0x09, 0x29, 0xF6, 0x20, 0x00, // 0x9E
0xC0, 0x88, 0x7E, 0x09, 0x03, 0x00, // 0x9F
0x20, 0x54, 0x54, 0x79, 0x41, 0x00, // 0xA0
0x00, 0x00, 0x44, 0x7D, 0x41, 0x00, // 0xA1
0x30, 0x48, 0x48, 0x4A, 0x32, 0x00, // 0xA2
0x38, 0x40, 0x40, 0x22, 0x7A, 0x00, // 0xA3
0x00, 0x7A, 0x0A, 0x0A, 0x72, 0x00, // 0xA4
0x7D, 0x0D, 0x19, 0x31, 0x7D, 0x00, // 0xA5
0x26, 0x29, 0x29, 0x2F, 0x28, 0x00, // 0xA6
0x26, 0x29, 0x29, 0x29, 0x26, 0x00, // 0xA7
0x30, 0x48, 0x4D, 0x40, 0x20, 0x00, // 0xA8
0x38, 0x08, 0x08, 0x08, 0x08, 0x00, // 0xA9
0x08, 0x08, 0x08, 0x08, 0x38, 0x00, // 0xAA
0x2F, 0x10, 0xC8, 0xAC, 0xBA, 0x00, // 0xAB
0x2F, 0x10, 0x28, 0x34, 0xFA, 0x00, // 0xAC
0x00, 0x00, 0x7B, 0x00, 0x00, 0x00, // 0xAD
0x08, 0x14, 0x2A, 0x14, 0x22, 0x00, // 0xAE -
0x22, 0x14, 0x2A, 0x14, 0x08, 0x00, // 0xAF -
0x55, 0x00, 0x55, 0x00, 0x55, 0x00, // 0xB0
0xAA, 0x55, 0xAA, 0x55, 0xAA, 0x55, // 0xB1
0xFF, 0x55, 0xFF, 0x55, 0xFF, 0x55, // 0xB2
0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, // 0xB3 -
0x10, 0x10, 0x10, 0xFF, 0x00, 0x00, // 0xB4
0x14, 0x14, 0x14, 0xFF, 0x00, 0x00, // 0xB5
0x10, 0x10, 0xFF, 0x00, 0xFF, 0x00, // 0xB6
0x10, 0x10, 0xF0, 0x10, 0xF0, 0x00, // 0xB7
0x14, 0x14, 0x14, 0xFC, 0x00, 0x00, // 0xB8
0x14, 0x14, 0xF7, 0x00, 0xFF, 0x00, // 0xB9
0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, // 0xBA
0x14, 0x14, 0xF4, 0x04, 0xFC, 0x00, // 0xBB
0x14, 0x14, 0x17, 0x10, 0x1F, 0x00, // 0xBC
0x10, 0x10, 0x1F, 0x10, 0x1F, 0x00, // 0xBD
0x14, 0x14, 0x14, 0x1F, 0x00, 0x00, // 0xBE
0x10, 0x10, 0x10, 0xF0, 0x00, 0x00, // 0xBF
0x00, 0x00, 0x00, 0x1F, 0x10, 0x10, // 0xC0
0x10, 0x10, 0x10, 0x1F, 0x10, 0x10, // 0xC1
0x10, 0x10, 0x10, 0xF0, 0x10, 0x10, // 0xC2 -
0x00, 0x00, 0x00, 0xFF, 0x10, 0x10, // 0xC3
0x10, 0x10, 0x10, 0x10, 0x10, 0x10, // 0xC4 -
0x10, 0x10, 0x10, 0xFF, 0x10, 0x10, // 0xC5
0x00, 0x00, 0x00, 0xFF, 0x14, 0x00, // 0xC6
0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, // 0xC7
0x00, 0x00, 0x1F, 0x10, 0x17, 0x17, // 0xC8
0x00, 0x00, 0xFC, 0x04, 0xF4, 0xF4, // 0xC9
0x14, 0x14, 0x17, 0x10, 0x17, 0x17, // 0xCA
0x14, 0x14, 0xF4, 0x04, 0xF4, 0xF4, // 0xCB
0x00, 0x00, 0xFF, 0x00, 0xF7, 0xF7, // 0xCC
0x14, 0x14, 0x14, 0x14, 0x14, 0x14, // 0xCD
0x14, 0x14, 0xF7, 0x00, 0xF7, 0xF7, // 0xCE
0x14, 0x14, 0x14, 0x17, 0x14, 0x00, // 0xCF
0x10, 0x10, 0x1F, 0x10, 0x1F, 0x00, // 0xD0
0x14, 0x14, 0x14, 0xF4, 0x14, 0x00, // 0xD1
0x10, 0x10, 0xF0, 0x10, 0xF0, 0x00, // 0xD2
0x00, 0x00, 0x1F, 0x10, 0x1F, 0x00, // 0xD3
0x00, 0x00, 0x00, 0x1F, 0x14, 0x00, // 0xD4
0x00, 0x00, 0x00, 0xFC, 0x14, 0x00, // 0xD5
0x00, 0x00, 0xF0, 0x10, 0xF0, 0x00, // 0xD6
0x10, 0x10, 0xFF, 0x10, 0xFF, 0x00, // 0xD7
0x14, 0x14, 0x14, 0xFF, 0x14, 0x00, // 0xD8
0x10, 0x10, 0x10, 0x1F, 0x00, 0x00, // 0xD9
0x00, 0x00, 0x00, 0xF0, 0x10, 0x10, // 0xDA
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, // 0xDB
0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, // 0xDC
0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, // 0xDD
0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, // 0xDE
0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, // 0xDF
0x38, 0x44, 0x44, 0x38, 0x44, 0x00, // 0xE0
0xFC, 0x4A, 0x4A, 0x4A, 0x34, 0x00, // 0xE1
0x7E, 0x02, 0x02, 0x06, 0x06, 0x00, // 0xE2
0x02, 0x7E, 0x02, 0x7E, 0x02, 0x00, // 0xE3
0x63, 0x55, 0x49, 0x41, 0x63, 0x00, // 0xE4
0x38, 0x44, 0x44, 0x3C, 0x04, 0x00, // 0xE5
0x40, 0x7E, 0x20, 0x1E, 0x20, 0x00, // 0xE6
0x06, 0x02, 0x7E, 0x02, 0x02, 0x00, // 0xE7
0x99, 0xA5, 0xE7, 0xA5, 0x99, 0x00, // 0xE8
0x1C, 0x2A, 0x49, 0x2A, 0x1C, 0x00, // 0xE9
0x4C, 0x72, 0x01, 0x72, 0x4C, 0x00, // 0xEA
0x30, 0x4A, 0x4D, 0x4D, 0x30, 0x00, // 0xEB
0x30, 0x48, 0x78, 0x48, 0x30, 0x00, // 0xEC
0xBC, 0x62, 0x5A, 0x46, 0x3D, 0x00, // 0xED
0x3E, 0x49, 0x49, 0x49, 0x00, 0x00, // 0xEE
0x7E, 0x01, 0x01, 0x01, 0x7E, 0x00, // 0xEF
/* ORIGINAL CHARACTERS...
0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0x00, // 0xF0
0x44, 0x44, 0x5F, 0x44, 0x44, 0x00, // 0xF1
0x40, 0x51, 0x4A, 0x44, 0x40, 0x00, // 0xF2
0x40, 0x44, 0x4A, 0x51, 0x40, 0x00, // 0xF3
0x00, 0x00, 0xFF, 0x01, 0x03, 0x00, // 0xF4
0xE0, 0x80, 0xFF, 0x00, 0x00, 0x00, // 0xF5
0x08, 0x08, 0x6B, 0x6B, 0x08, 0x00, // 0xF6
0x36, 0x12, 0x36, 0x24, 0x36, 0x00, // 0xF7
0x06, 0x0F, 0x09, 0x0F, 0x06, 0x00, // 0xF8
0x00, 0x00, 0x18, 0x18, 0x00, 0x00, // 0xF9
0x00, 0x00, 0x10, 0x10, 0x00, 0x00, // 0xFA
0x30, 0x40, 0xFF, 0x01, 0x01, 0x00, // 0xFB
0x00, 0x1F, 0x01, 0x01, 0x1E, 0x00, // 0xFC
0x00, 0x19, 0x1D, 0x17, 0x12, 0x00, // 0xFD
0x00, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, // 0xFE
0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // 0xFF
*/
/*
0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xF0 Full White Key, Left Edge - W: Off, B: Off
0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xF1 Full White Key, Left Edge - W: Off, B: On
0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, // 0xF2 Full White Key, Left Edge - W: On, B: Off
0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, // 0xF3 Full White Key, Left Edge - W: On, B: On
0x00, 0x00, 0x0F, 0x08, 0x08, 0x08, // 0xF4 Left White, Right Black Key - W: Off, B: Off
0x00, 0x00, 0x0F, 0x0F, 0x0F, 0x0F, // 0xF5 Left White, Right Black Key - W: Off, B: On
0xFF, 0xFF, 0xFF, 0xF8, 0xF8, 0xF8, // 0xF6 Left White, Right Black Key - W: On, B: Off
0xFF, 0xFF, 0xE0, 0xEF, 0xEF, 0xEF, // 0xF7 Left White, Right Black Key - W: On, B: On
0xF8, 0x08, 0x08, 0x0F, 0x00, 0x00, // 0xF8 Left Black, Right White Key - W: Off, B: Off
0xFF, 0x0F, 0x0F, 0x0F, 0x00, 0x00, // 0xF9 Left Black, Right White Key - W: Off, B: On
0x08, 0xF8, 0xF8, 0xFF, 0xFF, 0xFF, // 0xFA Left Black, Right White Key - W: On, B: Off
0x0F, 0xEF, 0xEF, 0xE0, 0xFF, 0xFF, // 0xFB Left Black, Right White Key - W: On, B: On
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xFC Full White Key, No Edge - W: Off, B: Off
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xFD Full White Key, No Edge - W: Off, B: On
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, // 0xFE Full White Key, No Edge - W: On, B: Off
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF // 0xFF Full White Key, No Edge - W: On, B: On
*/
// NEW KEYBOARD VISUALIZATION CHARACTERS
0xFF, 0x80, 0x80, 0x80, 0x80, 0x80,
0xFF, 0x80, 0x80, 0x80, 0x80, 0x80,
0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0x80, 0x80, 0x8A, 0x85, 0x8A, 0x85,
0x80, 0x80, 0x8F, 0x8F, 0x8F, 0x8F,
0xFF, 0xE0, 0xEA, 0xE5, 0xEA, 0xE5,
0xFF, 0xE0, 0xEF, 0xEF, 0xEF, 0xEF,
0xCA, 0x85, 0x8A, 0x85, 0x80, 0x80,
0xEF, 0x8F, 0x8F, 0x8F, 0x80, 0x80,
0x8A, 0xE5, 0xEA, 0xE5, 0xE0, 0xFF,
0x8F, 0xEF, 0xEF, 0xEF, 0xE0, 0xFF,
0x80, 0x80, 0x80, 0x80, 0x80, 0xFF,
0x80, 0x80, 0x80, 0x80, 0x80, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
//One octave keybaord sequence: 0xF0, 0xF1, 0xF2, 0xF1, 0xF2, 0xF3, 0xF0, 0xF1, 0xF2, 0xF1, 0xF2, 0xF1, 0xF2, 0xF3
};
#endif