source: buchla-68k/ram/kbobj.c

Last change on this file was fa38804, checked in by Thomas Lopatic <thomas@…>, 7 years ago

Removed form-feed comments.

  • Property mode set to 100644
File size: 6.4 KB
Line 
1/*
2 =============================================================================
3 kbobj.c -- keyboard object display data
4 Version 6 -- 1988-02-02 -- D.N. Lynx Crowe
5
6 Defines the data for the Keyboard object. Includes the "new data"
7 label.
8
9 Each group of keys is made up of groups of patterns KA..KD,
10 organized in 4 types of groups, 0..3, in 4 ways, W..Z.
11 =============================================================================
12*/
13
14#include "ram.h"
15
16#define K_BLK 0 /* black keys */
17#define K_WHT 1 /* white keys */
18#define K_GRY 2 /* lines between keys */
19
20#define LFC ((K_WHT << 12) | (K_WHT << 8) | (K_WHT << 4) | K_WHT)
21#define LFB ((K_GRY << 12) | (K_GRY << 8) | (K_GRY << 4) | K_GRY)
22
23#define LM(c) ((c & LFC) | ((~c) & LFB))
24
25#define KA ((K_GRY << 12) | (K_GRY << 8) | (K_GRY << 4) | K_GRY)
26#define KB ((K_WHT << 12) | (K_WHT << 8) | (K_WHT << 4) | K_WHT)
27#define KC ((K_GRY << 12) | (K_WHT << 8) | (K_WHT << 4) | K_WHT)
28#define KD ((K_BLK << 12) | (K_BLK << 8) | (K_BLK << 4) | K_BLK)
29
30int16_t kbobj[] = {
31
32 KA, KA, KA, KA, /* 0 */ /* W */ /* C7 */
33 KB, KB, KB, KC,
34 KB, KB, KB, KC,
35 KB, KB, KB, KC,
36
37 KA, KA, KA, KA, /* 1 */ /* X */ /* B */
38 KB, KB, KB, KC,
39 KB, KB, KB, KC,
40 KD, KD, KB, KC,
41
42 KD, KD, KA, KA, /* 1 */ /* A7 */
43 KD, KD, KB, KC,
44 KB, KB, KB, KC,
45 KD, KD, KB, KC,
46
47 KD, KD, KA, KA, /* 2 */ /* G6 */
48 KD, KD, KB, KC,
49 KB, KB ,KB, KC,
50 KD, KD, KB, KC,
51
52 KD, KD, KA, KA, /* 2 */ /* F */
53 KD, KD, KB, KC,
54 KB, KB ,KB, KC,
55 KB, KB, KB, KC,
56
57 KA, KA, KA, KA, /* 1 */ /* Y */ /* E */
58 KB, KB, KB, KC,
59 KB, KB, KB, KC,
60 KD, KD, KB, KC,
61
62 KD, KD, KA, KA, /* 0 */ /* D */
63 KD, KD, KB, KC,
64 KB, KB, KB, KC,
65 KD, KD, KB, KC,
66
67 KD, KD, KA, KA, /* 2 */ /* C6 */
68 KD, KD, KB, KC,
69 KB, KB ,KB, KC,
70 KB, KB, KB, KC,
71
72 KA, KA, KA, KA, /* 1 */ /* X */ /* B */
73 KB, KB, KB, KC,
74 KB, KB, KB, KC,
75 KD, KD, KB, KC,
76
77 KD, KD, KA, KA, /* 1 */ /* A6 */
78 KD, KD, KB, KC,
79 KB, KB, KB, KC,
80 KD, KD, KB, KC,
81
82 KD, KD, KA, KA, /* 2 */ /* G5 */
83 KD, KD, KB, KC,
84 KB, KB ,KB, KC,
85 KD, KD, KB, KC,
86
87 KD, KD, KA, KA, /* 2 */ /* F */
88 KD, KD, KB, KC,
89 KB, KB ,KB, KC,
90 KB, KB, KB, KC,
91
92 KA, KA, KA, KA, /* 1 */ /* Y */ /* E */
93 KB, KB, KB, KC,
94 KB, KB, KB, KC,
95 KD, KD, KB, KC,
96
97 KD, KD, KA, KA, /* 0 */ /* D */
98 KD, KD, KB, KC,
99 KB, KB, KB, KC,
100 KD, KD, KB, KC,
101
102 KD, KD, KA, KA, /* 2 */ /* C5 */
103 KD, KD, KB, KC,
104 KB, KB ,KB, KC,
105 KB, KB, KB, KC,
106
107 KA, KA, KA, KA, /* 1 */ /* X */ /* B */
108 KB, KB, KB, KC,
109 KB, KB, KB, KC,
110 KD, KD, KB, KC,
111
112 KD, KD, KA, KA, /* 1 */ /* A5 */
113 KD, KD, KB, KC,
114 KB, KB, KB, KC,
115 KD, KD, KB, KC,
116
117 KD, KD, KA, KA, /* 2 */ /* G4 */
118 KD, KD, KB, KC,
119 KB, KB ,KB, KC,
120 KD, KD, KB, KC,
121
122 KD, KD, KA, KA, /* 2 */ /* F */
123 KD, KD, KB, KC,
124 KB, KB ,KB, KC,
125 KB, KB, KB, KC,
126
127 KA, KA, KA, KA, /* 1 */ /* Y */ /* E */
128 KB, KB, KB, KC,
129 KB, KB, KB, KC,
130 KD, KD, KB, KC,
131
132 KD, KD, KA, KA, /* 0 */ /* D */
133 KD, KD, KB, KC,
134 KB, KB, KB, KC,
135 KD, KD, KB, KC,
136
137 KD, KD, KA, KA, /* 2 */ /* C4 */
138 KD, KD, KB, KC,
139 KB, KB ,KB, KC,
140 KB, KB, KB, KC,
141
142 KA, KA, KA, KA, /* 1 */ /* X */ /* B */
143 KB, KB, KB, KC,
144 KB, KB, KB, KC,
145 KD, KD, KB, KC,
146
147 KD, KD, KA, KA, /* 1 */ /* A4 */
148 KD, KD, KB, KC,
149 KB, KB, KB, KC,
150 KD, KD, KB, KC,
151
152 KD, KD, KA, KA, /* 2 */ /* G3 */
153 KD, KD, KB, KC,
154 KB, KB ,KB, KC,
155 KD, KD, KB, KC,
156
157 KD, KD, KA, KA, /* 2 */ /* F */
158 KD, KD, KB, KC,
159 KB, KB ,KB, KC,
160 KB, KB, KB, KC,
161
162 KA, KA, KA, KA, /* 1 */ /* Y */ /* E */
163 KB, KB, KB, KC,
164 KB, KB, KB, KC,
165 KD, KD, KB, KC,
166
167 KD, KD, KA, KA, /* 0 */ /* D */
168 KD, KD, KB, KC,
169 KB, KB, KB, KC,
170 KD, KD, KB, KC,
171
172 KD, KD, KA, KA, /* 2 */ /* C3 */
173 KD, KD, KB, KC,
174 KB, KB ,KB, KC,
175 KB, KB, KB, KC,
176
177 KA, KA, KA, KA, /* 1 */ /* X */ /* B */
178 KB, KB, KB, KC,
179 KB, KB, KB, KC,
180 KD, KD, KB, KC,
181
182 KD, KD, KA, KA, /* 1 */ /* A3 */
183 KD, KD, KB, KC,
184 KB, KB, KB, KC,
185 KD, KD, KB, KC,
186
187 KD, KD, KA, KA, /* 2 */ /* G2 */
188 KD, KD, KB, KC,
189 KB, KB ,KB, KC,
190 KD, KD, KB, KC,
191
192 KD, KD, KA, KA, /* 2 */ /* F */
193 KD, KD, KB, KC,
194 KB, KB ,KB, KC,
195 KB, KB, KB, KC,
196
197 KA, KA, KA, KA, /* 1 */ /* Y */ /* E */
198 KB, KB, KB, KC,
199 KB, KB, KB, KC,
200 KD, KD, KB, KC,
201
202 KD, KD, KA, KA, /* 0 */ /* D */
203 KD, KD, KB, KC,
204 KB, KB, KB, KC,
205 KD, KD, KB, KC,
206
207 KD, KD, KA, KA, /* 2 */ /* C2 */
208 KD, KD, KB, KC,
209 KB, KB ,KB, KC,
210 KB, KB, KB, KC,
211
212 KA, KA, KA, KA, /* 1 */ /* X */ /* B */
213 KB, KB, KB, KC,
214 KB, KB, KB, KC,
215 KD, KD, KB, KC,
216
217 KD, KD, KA, KA, /* 1 */ /* A2 */
218 KD, KD, KB, KC,
219 KB, KB, KB, KC,
220 KD, KD, KB, KC,
221
222 KD, KD, KA, KA, /* 2 */ /* G1 */
223 KD, KD, KB, KC,
224 KB, KB ,KB, KC,
225 KD, KD, KB, KC,
226
227 KD, KD, KA, KA, /* 2 */ /* F */
228 KD, KD, KB, KC,
229 KB, KB ,KB, KC,
230 KB, KB, KB, KC,
231
232 KA, KA, KA, KA, /* 1 */ /* Y */ /* E */
233 KB, KB, KB, KC,
234 KB, KB, KB, KC,
235 KD, KD, KB, KC,
236
237 KD, KD, KA, KA, /* 0 */ /* D */
238 KD, KD, KB, KC,
239 KB, KB, KB, KC,
240 KD, KD, KB, KC,
241
242 KD, KD, KA, KA, /* 2 */ /* C1 */
243 KD, KD, KB, KC,
244 KB, KB ,KB, KC,
245 KB, KB, KB, KC,
246
247 KA, KA, KA, KA, /* 1 */ /* X */ /* B */
248 KB, KB, KB, KC,
249 KB, KB, KB, KC,
250 KD, KD, KB, KC,
251
252 KD, KD, KA, KA, /* 1 */ /* A1 */
253 KD, KD, KB, KC,
254 KB, KB, KB, KC,
255 KD, KD, KB, KC,
256
257 KD, KD, KA, KA, /* 2 */ /* G0 */
258 KD, KD, KB, KC,
259 KB, KB ,KB, KC,
260 KD, KD, KB, KC,
261
262 KD, KD, KA, KA, /* 2 */ /* F */
263 KD, KD, KB, KC,
264 KB, KB ,KB, KC,
265 KB, KB, KB, KC,
266
267 KA, KA, KA, KA, /* 1 */ /* Y */ /* E */
268 KB, KB, KB, KC,
269 KB, KB, KB, KC,
270 KD, KD, KB, KC,
271
272 KD, KD, KA, KA, /* 0 */ /* D */
273 KD, KD, KB, KC,
274 KB, KB, KB, KC,
275 KD, KD, KB, KC,
276
277 KD, KD, KA, KA, /* 2 */ /* C0 */
278 KD, KD, KB, KC,
279 KB, KB ,KB, KC,
280 KB, KB, KB, KC,
281
282 KA, KA, KA, KA, /* 1 */ /* Z */ /* B */
283 KB, KB, KB, KC,
284 KB, KB, KB, KC,
285 KD, KD, KB, KC,
286
287 KD, KD, KA, KA, /* 2 */ /* A0 */
288 KD, KD, KB, KC,
289 KB, KB ,KB, KC,
290 KB, KB, KB, KC,
291
292 KA, KA, KA, KA, /* 3 */ /* Bottom border */
293 KD, KD, KD, KD,
294
295 /* New Data label */
296
297 LM(0x0000), LM(0x0000), LM(0x0000), LM(0x0000),
298 LM(0x00F0), LM(0xFF0F), LM(0x0F0F), LM(0x0F00),
299 LM(0x0FF0), LM(0x0F0F), LM(0x0F00), LM(0x0F00),
300 LM(0xF0F0), LM(0xFF0F), LM(0x0F00), LM(0x0F0F),
301 LM(0x00F0), LM(0x0F0F), LM(0xFF00), LM(0x0FF0),
302 LM(0x00F0), LM(0xFF0F), LM(0x0F0F), LM(0x0F00),
303 LM(0x0000), LM(0x0000), LM(0x0000), LM(0x0000),
304 LM(0x0000), LM(0x0000), LM(0x0000), LM(0x0000),
305 LM(0x0FF0), LM(0xFF00), LM(0xFFF0), LM(0x0FF0),
306 LM(0xF0F0), LM(0x00F0), LM(0x0F0F), LM(0xF00F),
307 LM(0xF0F0), LM(0xFFF0), LM(0x0F0F), LM(0xFFFF),
308 LM(0xF0F0), LM(0x00F0), LM(0x0F0F), LM(0xF00F),
309 LM(0x0FF0), LM(0x00F0), LM(0x0F0F), LM(0xF00F),
310 LM(0x0000), LM(0x0000), LM(0x0000), LM(0x0000)
311};
Note: See TracBrowser for help on using the repository browser.