OSDN Git Service

* public snapshot of sid simulator
[pf3gnuchains/pf3gnuchains3x.git] / sid / component / lcd / rom.cxx
1 // rom.cxx - description.  -*- C++ -*-
2
3 // Copyright (C) 1999, 2000 Red Hat.
4 // This file is part of SID and is licensed under the GPL.
5 // See the file COPYING.SID for conditions for redistribution.
6
7 void 
8 init_rom( unsigned char rom[][8] ) {
9   int i, j;
10   unsigned char *fm;
11
12   fm = &(rom['!'][0]);
13   for( i=0; i<4; i++ ) fm[i] = 4;
14   fm[6] = 4;
15
16   fm = &(rom['"'][0]);
17   for( i=0; i<4; i++ ) fm[i] = 0xa;
18
19   fm = &(rom['#'][0]);
20   for( i=0; i<7; i++ ) fm[i] = 0xa;
21   fm[2] = 0x1f;
22   fm[4] = 0x1f;
23
24   fm = &(rom['$'][0]);
25   fm[0] = 0x4;
26   fm[1] = 0x0f;
27   fm[2] = 0x14;
28   fm[3] = 0xe;
29   fm[4] = 0x5;
30   fm[5] = 0x1e;
31   fm[6] = 0x4;
32
33   fm = &(rom['%'][0]);
34   fm[0] = 0x18;
35   fm[1] = 0x19;
36   fm[2] = 0x2;
37   fm[3] = 0x4;
38   fm[4] = 0x8;
39   fm[5] = 0x13;
40   fm[6] = 0x3;
41
42   fm = &(rom['&'][0]);
43   fm[0] = 0xc;
44   fm[1] = 0x12;
45   fm[2] = 0x14;
46   fm[3] = 0x8;
47   fm[4] = 0x15;
48   fm[5] = 0x12;
49   fm[6] = 0xb;
50
51   fm = &(rom[0x27][0]); // The ' character
52   fm[0] = 0xc;
53   fm[1] = 0x4;
54   fm[2] = 0x8;
55
56   fm = &(rom['('][0]);
57   fm[0] = 0x2;
58   fm[1] = 0x4;
59   fm[2] = 0x8;
60   fm[3] = 0x8;
61   fm[4] = 0x8;
62   fm[5] = 0x4;
63   fm[6] = 0x2;
64
65   fm = &(rom[')'][0]);
66   fm[0] = 0x8;
67   fm[1] = 0x4;
68   fm[2] = 0x2;
69   fm[3] = 0x2;
70   fm[4] = 0x2;
71   fm[5] = 0x4;
72   fm[6] = 0x8;
73
74   fm = &(rom['*'][0]);
75   fm[1] = 0x4;
76   fm[2] = 0x15;
77   fm[3] = 0xe;
78   fm[4] = 0x15;
79   fm[5] = 0x4;
80
81   fm = &(rom['+'][0]);
82   for( i=1; i<6; i++ ) fm[i] = 0x4;
83   fm[3] = 0x1f;
84
85   fm = &(rom[','][0]);
86   fm[4] = 0xc;
87   fm[5] = 0x4;
88   fm[6] = 0x8;
89
90   fm = &(rom['-'][0]);
91   fm[3] = 0x1f;
92
93   fm = &(rom['.'][0]);
94   fm[5] = 0xc;
95   fm[6] = 0xc;
96
97   fm = &(rom['/'][0]);
98   fm[1] = 0x1;
99   fm[2] = 0x2;
100   fm[3] = 0x4;
101   fm[4] = 0x8;
102   fm[5] = 0x10;
103
104   fm = &(rom['0'][0]);
105   fm[0] = 0xe;
106   fm[1] = 0x11;
107   fm[2] = 0x13;
108   fm[3] = 0x15;
109   fm[4] = 0x19;
110   fm[5] = 0x11;
111   fm[6] = 0xe;
112
113   fm = &(rom['1'][0]);
114   for( i=0; i<6; i++ ) fm[i] = 0x4;
115   fm[1] = 0xc;
116   fm[6] = 0xe;
117
118   fm = &(rom['2'][0]);
119   fm[0] = 0xe;
120   fm[1] = 0x11;
121   fm[2] = 0x1;
122   fm[3] = 0x2;
123   fm[4] = 0x4;
124   fm[5] = 0x8;
125   fm[6] = 0x1f;
126
127   fm = &(rom['3'][0]);
128   fm[0] = 0x1f;
129   fm[1] = 0x2;
130   fm[2] = 0x4;
131   fm[3] = 0x2;
132   fm[4] = 0x1;
133   fm[5] = 0x11;
134   fm[6] = 0xe;
135
136   fm = &(rom['4'][0]);
137   fm[0] = 0x2;
138   fm[1] = 0x6;
139   fm[2] = 0xa;
140   fm[3] = 0x11;
141   fm[4] = 0x1f;
142   fm[5] = 0x2;
143   fm[6] = 0x2;
144
145   fm = &(rom['5'][0]);
146   fm[0] = 0x1f;
147   fm[1] = 0x10;
148   fm[2] = 0x1e;
149   fm[3] = 0x1;
150   fm[4] = 0x1;
151   fm[5] = 0x11;
152   fm[6] = 0xe;
153
154   fm = &(rom['6'][0]);
155   fm[0] = 0x6;
156   fm[1] = 0x8;
157   fm[2] = 0x10;
158   fm[3] = 0x1e;
159   fm[4] = 0x11;
160   fm[5] = 0x11;
161   fm[6] = 0xe;
162
163   fm = &(rom['7'][0]);
164   fm[0] = 0x1f;
165   fm[1] = 0x11;
166   fm[2] = 0x1;
167   fm[3] = 0x2;
168   fm[4] = 0x4;
169   fm[5] = 0x4;
170   fm[6] = 0x4;
171
172   fm = &(rom['8'][0]);
173   fm[0] = 0xe;
174   fm[1] = 0x11;
175   fm[2] = 0x11;
176   fm[3] = 0xe;
177   fm[4] = 0x11;
178   fm[5] = 0x11;
179   fm[6] = 0xe;
180
181   fm = &(rom['9'][0]);
182   fm[0] = 0xe;
183   fm[1] = 0x11;
184   fm[2] = 0x11;
185   fm[3] = 0xf;
186   fm[4] = 0x1;
187   fm[5] = 0x2;
188   fm[6] = 0xc;
189
190   fm = &(rom[':'][0]);
191   for( i=1; i<6; i++ ) fm[i] = 0xc;
192   fm[3] = 0;
193
194   fm = &(rom[';'][0]);
195   fm[1] = 0xc;
196   fm[2] = 0xc;
197   fm[4] = 0xc;
198   fm[5] = 0x4;
199   fm[6] = 0x8;
200
201   fm = &(rom['<'][0]);
202   fm[0] = 0x2;
203   fm[1] = 0x4;
204   fm[2] = 0x8;
205   fm[3] = 0x10;
206   fm[4] = 0x8;
207   fm[5] = 0x4;
208   fm[6] = 0x2;
209
210   fm = &(rom['='][0]);
211   fm[2] = 0x1f;
212   fm[4] = 0x1f;
213
214   fm = &(rom['>'][0]);
215   fm[0] = 0x8;
216   fm[1] = 0x4;
217   fm[2] = 0x2;
218   fm[3] = 0x1;
219   fm[4] = 0x2;
220   fm[5] = 0x4;
221   fm[6] = 0x8;
222
223   fm = &(rom['?'][0]);
224   fm[0] = 0xe;
225   fm[1] = 0x11;
226   fm[2] = 0x1;
227   fm[3] = 0x2;
228   fm[4] = 0x4;
229   fm[6] = 0x4;
230
231   fm = &(rom['@'][0]);
232   fm[0] = 0xe;
233   fm[1] = 0x11;
234   fm[2] = 0x1;
235   fm[3] = 0xb;
236   fm[4] = 0x15;
237   fm[5] = 0x15;
238   fm[6] = 0xe;
239
240   fm = &(rom['A'][0]);
241   for( i=2; i<7; i++ ) fm[i] = 0x11;
242   fm[0] = 0x4;
243   fm[1] = 0x0a;
244   fm[4] = 0x1f;
245
246   fm = &(rom['B'][0]);
247   fm[0] = 0x1e;
248   fm[1] = 0x11;
249   fm[2] = 0x11;
250   fm[3] = 0x1e;
251   fm[4] = 0x11;
252   fm[5] = 0x11;
253   fm[6] = 0x1e;
254
255   fm = &(rom['C'][0]);
256   fm[0] = 0x0e;
257   fm[1] = 0x11;
258   fm[2] = 0x10;
259   fm[3] = 0x10;
260   fm[4] = 0x10;
261   fm[5] = 0x11;
262   fm[6] = 0x0e;
263
264   fm = &(rom['D'][0]);
265   fm[0] = 0x1c;
266   fm[1] = 0x12;
267   fm[2] = 0x11;
268   fm[3] = 0x11;
269   fm[4] = 0x11;
270   fm[5] = 0x12;
271   fm[6] = 0x1c;
272
273   fm = &(rom['E'][0]);
274   fm[0] = 0x1f;
275   fm[1] = 0x10;
276   fm[2] = 0x10;
277   fm[3] = 0x1e;
278   fm[4] = 0x10;
279   fm[5] = 0x10;
280   fm[6] = 0x1f;
281
282   fm = &(rom['F'][0]);
283   for( i=1; i<7; i++ ) fm[i] = 0x10;
284   fm[0] = 0x1f;
285   fm[3] = 0x1e;
286
287   fm = &(rom['G'][0]);
288   fm[0] = 0xe;
289   fm[1] = 0x11;
290   fm[2] = 0x10;
291   fm[3] = 0x17;
292   fm[4] = 0x11;
293   fm[5] = 0x11;
294   fm[6] = 0x0f;
295
296   fm = &(rom['H'][0]);
297   for( i=0; i<7; i++ ) fm[i] = 0x11;
298   fm[3] = 0x1f;
299
300   fm = &(rom['I'][0]);
301   for( i=1; i<6; i++ ) fm[i] = 4;
302   fm[0] = 0xe;
303   fm[6] = 0xe;
304
305   fm = &(rom['J'][0]);
306   for( i=1; i<5; i++ ) fm[i] = 2;
307   fm[0] = 0x7;
308   fm[5] = 0x12;
309   fm[6] = 0xc;
310
311   fm = &(rom['K'][0]);
312   fm[0] = 0x11;
313   fm[1] = 0x12;
314   fm[2] = 0x14;
315   fm[3] = 0x18;
316   fm[4] = 0x14;
317   fm[5] = 0x12;
318   fm[6] = 0x11;
319
320   fm = &(rom['L'][0]);
321   for( i=0; i<6; i++ ) fm[i] = 0x10;
322   fm[6] = 0x1f;
323
324   fm = &(rom['M'][0]);
325   for( i=0; i<7; i++ ) fm[i] = 0x11;
326   fm[1] = 0x1b;
327   fm[2] = 0x15;
328   fm[3] = 0x15;
329
330   fm = &(rom['N'][0]);
331   fm[0] = 0x11;
332   fm[1] = 0x11;
333   fm[2] = 0x19;
334   fm[3] = 0x15;
335   fm[4] = 0x13;
336   fm[5] = 0x11;
337   fm[6] = 0x11;
338
339   fm = &(rom['O'][0]);
340   for( i=1; i<6; i++ ) fm[i] = 0x11;
341   fm[0] = 0xe;
342   fm[6] = 0xe;
343
344   fm = &(rom['P'][0]);
345   fm[0] = 0x1e;
346   fm[1] = 0x11;
347   fm[2] = 0x11;
348   fm[3] = 0x1e;
349   fm[4] = 0x10;
350   fm[5] = 0x10;
351   fm[6] = 0x10;
352
353   fm = &(rom['Q'][0]);
354   fm[0] = 0xe;
355   fm[1] = 0x11;
356   fm[2] = 0x11;
357   fm[3] = 0x11;
358   fm[4] = 0x15;
359   fm[5] = 0x12;
360   fm[6] = 0xd;
361
362   fm = &(rom['R'][0]);
363   fm[0] = 0x1e;
364   fm[1] = 0x11;
365   fm[2] = 0x11;
366   fm[3] = 0x1e;
367   fm[4] = 0x14;
368   fm[5] = 0x12;
369   fm[6] = 0x11;
370
371   fm = &(rom['S'][0]);
372   fm[0] = 0xe;
373   fm[1] = 0x11;
374   fm[2] = 0x10;
375   fm[3] = 0xe;
376   fm[4] = 0x1;
377   fm[5] = 0x11;
378   fm[6] = 0xe;
379
380   fm = &(rom['T'][0]);
381   for( i=1; i<7; i++ ) fm[i] = 4;
382   fm[0] = 0x1f;
383
384   fm = &(rom['U'][0]);
385   for( i=0; i<6; i++ ) fm[i] = 0x11;
386   fm[6] = 0xe;
387
388   fm = &(rom['V'][0]);
389   for( i=0; i<5; i++ ) fm[i] = 0x11;
390   fm[5] = 0xa;
391   fm[6] = 0x4;
392
393   fm = &(rom['W'][0]);
394   fm[0] = 0x11;
395   fm[1] = 0x11;
396   fm[2] = 0x11;
397   fm[3] = 0x15;
398   fm[4] = 0x15;
399   fm[5] = 0x15;
400   fm[6] = 0xa;
401
402   fm = &(rom['X'][0]);
403   fm[0] = 0x11;
404   fm[1] = 0x11;
405   fm[2] = 0xa;
406   fm[3] = 0x4;
407   fm[4] = 0xa;
408   fm[5] = 0x11;
409   fm[6] = 0x11;
410
411   fm = &(rom['Y'][0]);
412   fm[0] = 0x11;
413   fm[1] = 0x11;
414   fm[2] = 0x11;
415   fm[3] = 0xa;
416   fm[4] = 0x4;
417   fm[5] = 0x4;
418   fm[6] = 0x4;
419
420   fm = &(rom['Z'][0]);
421   fm[0] = 0x1f;
422   fm[1] = 0x1;
423   fm[2] = 0x2;
424   fm[3] = 0x4;
425   fm[4] = 0x8;
426   fm[5] = 0x10;
427   fm[6] = 0x1f;
428
429   fm = &(rom['['][0]);
430   for( i=1; i<6; i++ ) fm[i] = 8;
431   fm[0] = 0xe;
432   fm[6] = 0xe;
433
434   fm = &(rom[0x5c][0]); // the \ character
435   fm[1] = 0x10;
436   fm[2] = 0x8;
437   fm[3] = 0x4;
438   fm[4] = 0x2;
439   fm[5] = 0x1;
440
441   fm = &(rom[']'][0]);
442   for( i=1; i<6; i++ ) fm[i] = 2;
443   fm[0] = 0xe;
444   fm[6] = 0xe;
445
446   fm = &(rom['^'][0]);
447   fm[0] = 0x4;
448   fm[1] = 0xa;
449   fm[2] = 0x11;
450
451   fm = &(rom['_'][0]);
452   fm[6] = 0x1f;
453
454   fm = &(rom['`'][0]);
455   fm[0] = 0x8;
456   fm[1] = 0x4;
457   fm[2] = 0x2;
458
459   fm = &(rom['a'][0]);
460   fm[2] = 0x0e;
461   fm[3] = 0x1;
462   fm[4] = 0x0f;
463   fm[5] = 0x11;
464   fm[6] = 0x0f;
465
466   fm = &(rom['b'][0]);
467   fm[0] = 0x10;
468   fm[1] = 0x10;
469   fm[2] = 0x16;
470   fm[3] = 0x19;
471   fm[4] = 0x11;
472   fm[5] = 0x11;
473   fm[6] = 0x1e;
474
475   fm = &(rom['c'][0]);
476   fm[2] = 0x0e;
477   fm[3] = 0x10;
478   fm[4] = 0x10;
479   fm[5] = 0x11;
480   fm[6] = 0x0e;
481
482   fm = &(rom['d'][0]);
483   fm[0] = 0x1;
484   fm[1] = 0x1;
485   fm[2] = 0xd;
486   fm[3] = 0x13;
487   fm[4] = 0x11;
488   fm[5] = 0x11;
489   fm[6] = 0x0f;
490
491   fm = &(rom['e'][0]);
492   fm[2] = 0x0e;
493   fm[3] = 0x11;
494   fm[4] = 0x1f;
495   fm[5] = 0x10;
496   fm[6] = 0x0e;
497
498   fm = &(rom['f'][0]);
499   fm[0] = 0x6;
500   fm[1] = 0x9;
501   fm[2] = 0x8;
502   fm[3] = 0x1c;
503   fm[4] = 0x8;
504   fm[5] = 0x8;
505   fm[6] = 0x8;
506
507   fm = &(rom['g'][0]);
508   fm[2] = 0x0f;
509   fm[3] = 0x11;
510   fm[4] = 0x0f;
511   fm[5] = 0x01;
512   fm[6] = 0x0e;
513
514   fm = &(rom['h'][0]);
515   fm[0] = 0x10;
516   fm[1] = 0x10;
517   fm[2] = 0x16;
518   fm[3] = 0x19;
519   fm[4] = 0x11;
520   fm[5] = 0x11;
521   fm[6] = 0x11;
522
523   fm = &(rom['i'][0]);
524   for( i=0; i<6; i++ ) fm[i] = 0x4;
525   fm[1] = 0;
526   fm[3] = 0x0c;
527   fm[6] = 0x0e;
528
529   fm = &(rom['j'][0]);
530   for( i=0; i<6; i++ ) fm[i] = 0x2;
531   fm[1] = 0;
532   fm[2] = 0x06;
533   fm[5] = 0x12;
534   fm[6] = 0x0c;
535
536   fm = &(rom['k'][0]);
537   fm[0] = 0x10;
538   fm[1] = 0x10;
539   fm[2] = 0x12;
540   fm[3] = 0x14;
541   fm[4] = 0x18;
542   fm[5] = 0x14;
543   fm[6] = 0x12;
544
545   fm = &(rom['l'][0]);
546   for( i=1; i<6; i++ ) fm[i] = 0x4;
547   fm[0] = 0x0c;
548   fm[6] = 0x0e;
549
550   fm = &(rom['m'][0]);
551   for( i=3; i<7; i++ ) fm[i] = 0x15;
552   fm[2] = 0x1a;
553
554   fm = &(rom['n'][0]);
555   fm[2] = 0x16;
556   fm[3] = 0x19;
557   fm[4] = 0x11;
558   fm[5] = 0x11;
559   fm[6] = 0x11;
560
561   fm = &(rom['o'][0]);
562   fm[2] = 0xe;
563   fm[3] = 0x11;
564   fm[4] = 0x11;
565   fm[5] = 0x11;
566   fm[6] = 0xe;
567
568   fm = &(rom['p'][0]);
569   fm[2] = 0x1e;
570   fm[3] = 0x11;
571   fm[4] = 0x1e;
572   fm[5] = 0x10;
573   fm[6] = 0x10;
574
575   fm = &(rom['q'][0]);
576   fm[2] = 0x0d;
577   fm[3] = 0x13;
578   fm[4] = 0x0f;
579   fm[5] = 0x1;
580   fm[6] = 0x1;
581
582   fm = &(rom['r'][0]);
583   fm[2] = 0x16;
584   fm[3] = 0x19;
585   fm[4] = 0x10;
586   fm[5] = 0x10;
587   fm[6] = 0x10;
588
589   fm = &(rom['s'][0]);
590   fm[2] = 0x0e;
591   fm[3] = 0x10;
592   fm[4] = 0x0e;
593   fm[5] = 0x01;
594   fm[6] = 0x1e;
595
596   fm = &(rom['t'][0]);
597   for( i=0; i<5; i++ ) fm[i] = 0x8;
598   fm[2] = 0x1c;
599   fm[5] = 0x09;
600   fm[6] = 0x06;
601
602   fm = &(rom['u'][0]);
603   fm[2] = 0x11;
604   fm[3] = 0x11;
605   fm[4] = 0x11;
606   fm[5] = 0x13;
607   fm[6] = 0x0d;
608
609   fm = &(rom['v'][0]);
610   fm[2] = 0x11;
611   fm[3] = 0x11;
612   fm[4] = 0x11;
613   fm[5] = 0xa;
614   fm[6] = 0x4;
615
616   fm = &(rom['w'][0]);
617   fm[2] = 0x11;
618   fm[3] = 0x11;
619   fm[4] = 0x15;
620   fm[5] = 0x15;
621   fm[6] = 0xa;
622
623   fm = &(rom['x'][0]);
624   fm[2] = 0x11;
625   fm[3] = 0x0a;
626   fm[4] = 0x04;
627   fm[5] = 0x0a;
628   fm[6] = 0x11;
629
630   fm = &(rom['y'][0]);
631   fm[2] = 0x11;
632   fm[3] = 0x11;
633   fm[4] = 0x0f;
634   fm[5] = 0x01;
635   fm[6] = 0x0e;
636
637   fm = &(rom['z'][0]);
638   fm[2] = 0x1f;
639   fm[3] = 0x2;
640   fm[4] = 0x4;
641   fm[5] = 0x8;
642   fm[6] = 0x1f;
643
644   fm = &(rom['{'][0]);
645   for( i=1; i<6; i++ ) fm[i] = 4;
646   fm[0] = 0x2;
647   fm[3] = 0x8;
648   fm[6] = 0x2;
649
650   fm = &(rom['|'][0]);
651   for( i=0; i<7; i++ ) fm[i] = 4;
652
653   fm = &(rom['}'][0]);
654   for( i=1; i<6; i++ ) fm[i] = 4;
655   fm[0] = 0x8;
656   fm[3] = 0x2;
657   fm[6] = 0x8;
658
659   fm = &(rom['~'][0]);
660   fm[0] = 0x08;
661   fm[1] = 0x15;
662   fm[2] = 0x2;
663 }
664