2 ; Groepaz/Hitmen, 12.10.2015
4 ; character set for use with the soft80 implementation
7 ; the format of the data follows the following layout:
9 ; - to avoid unnecessary petscii->screencode conversions, the order of the
10 ; individual characters is different to the C64 ROM charset:
11 ; - $00 - $1f screencodes $60 - $7f (petscii codes $a0 - $bf)
12 ; - $20 - $3f screencodes $20 - $3f (petscii codes $20 - $3f)
13 ; - $40 - $5f screencodes $00 - $1f (petscii codes $40 - $5f)
14 ; - $60 - $7f screencodes $40 - $5f (petscii codes $60 - $7f)
15 ; - only 128 characters are defined here, the soft80 implementation will invert
16 ; the graphics data for inverted display on the fly.
17 ; - since the charset is 4 by 8 pixels, only the lower 4bit of each byte is
18 ; used. the upper bits have to be 0.
19 ; - finally the lower 4bits are "inverted", ie a space character is represented
20 ; as $0f, $0f, $0f, $0f, $0f, $0f, $0f, $0f
22 ; the graphics data is arranged differently to normal C64 charsets for speed,
23 ; first comes the first row of all characters, then the second row in the next
24 ; block, etc. like this:
26 ; +000 ....xxxx ......xx ....xxxx ........
27 ; +080 ....xxxx ......xx ....xxxx ....xxxx
28 ; +100 ....xxxx ......xx ....xxxx ....xxxx
29 ; +180 ....x..x ......xx ....xxxx ....xxxx
30 ; +200 ....x..x ......xx ........ ....xxxx
31 ; +280 ....xxxx ......xx ........ ....xxxx
32 ; +300 ....xxxx ......xx ........ ....xxxx
33 ; +380 ....xxxx ......xx ........ ....xxxx
35 ; +040 ....x.xx ....xxxx ....xxxx ....xxxx
36 ; +0c0 .....x.x ....xxxx .....xxx ....xxxx
37 ; +140 .......x ....x.xx .....xxx ....x..x
38 ; +1c0 .......x ....xx.x ......xx .....xxx
39 ; +240 .....xxx ....x..x .....x.x .....xxx
40 ; +2c0 .....x.x .....x.x .....x.x .....xxx
41 ; +340 ....x.xx ....x..x ......xx ....x..x
42 ; +3c0 ....xxxx ....xxxx ....xxxx ....xxxx
44 .export soft80_charset
48 .byte $0f,$03,$0f,$00,$0f,$07,$05,$0e
49 .byte $0f,$05,$0e,$0b,$0f,$0b,$0f,$0f
50 .byte $0f,$0b,$0f,$0b,$07,$07,$0e,$00
51 .byte $00,$0f,$0e,$0f,$0c,$0b,$03,$03
52 .byte $0f,$0b,$05,$05,$0b,$05,$0b,$0b
53 .byte $0d,$07,$0f,$0f,$0f,$0f,$0f,$0d
54 .byte $0b,$0b,$0b,$0b,$05,$01,$0b,$01
55 .byte $0b,$0b,$0f,$0f,$0d,$0f,$07,$0b
56 .byte $0b,$0f,$0f,$0f,$0f,$0f,$0f,$0f
57 .byte $0f,$0f,$0f,$0f,$0f,$0f,$0f,$0f
58 .byte $0f,$0f,$0f,$0f,$0f,$0f,$0f,$0f
59 .byte $0f,$0f,$0f,$09,$07,$03,$0b,$0f
60 .byte $0f,$0b,$03,$0b,$03,$01,$01,$0b
61 .byte $05,$01,$09,$05,$07,$05,$05,$0b
62 .byte $03,$0b,$03,$0b,$01,$05,$05,$05
63 .byte $05,$05,$01,$0b,$07,$0b,$0f,$0a
65 .byte $0f,$03,$0f,$0f,$0f,$07,$05,$0e
66 .byte $0f,$0a,$0e,$0b,$0f,$0b,$0f,$0f
67 .byte $0f,$0b,$0f,$0b,$07,$07,$0e,$00
68 .byte $00,$0f,$0e,$0f,$0c,$0b,$03,$03
69 .byte $0f,$0b,$05,$05,$09,$05,$05,$0b
70 .byte $0b,$0b,$05,$0b,$0f,$0f,$0f,$0d
71 .byte $05,$0b,$05,$05,$05,$07,$05,$05
72 .byte $05,$05,$0f,$0f,$0b,$0f,$0b,$05
73 .byte $05,$0f,$07,$0f,$0d,$0f,$09,$0f
74 .byte $07,$0b,$0d,$07,$03,$0f,$0f,$0f
75 .byte $0f,$0f,$0f,$0f,$0b,$0f,$0f,$0f
76 .byte $0f,$0f,$0f,$0b,$07,$0b,$0b,$0b
77 .byte $0f,$0b,$05,$05,$05,$07,$07,$05
78 .byte $05,$0b,$0d,$05,$07,$01,$01,$05
79 .byte $05,$05,$05,$05,$0b,$05,$05,$05
80 .byte $05,$05,$0d,$0b,$07,$0b,$0f,$0a
82 .byte $0f,$03,$0f,$0f,$0f,$07,$0a,$0e
83 .byte $0f,$05,$0e,$0b,$0f,$0b,$0f,$0f
84 .byte $0f,$0b,$0f,$0b,$07,$07,$0e,$0f
85 .byte $00,$0f,$0d,$0f,$0c,$0b,$03,$03
86 .byte $0f,$0b,$05,$00,$07,$0d,$0b,$07
87 .byte $0b,$0b,$0b,$0b,$0f,$0f,$0f,$0b
88 .byte $01,$03,$0d,$0d,$05,$03,$07,$0d
89 .byte $05,$05,$0b,$0b,$0b,$08,$0b,$0d
90 .byte $01,$0b,$07,$09,$0d,$0b,$0b,$09
91 .byte $07,$0f,$0f,$07,$0b,$05,$03,$0b
92 .byte $03,$09,$03,$09,$01,$05,$05,$05
93 .byte $05,$05,$01,$0b,$0b,$0b,$05,$0b
94 .byte $0f,$05,$05,$07,$05,$07,$07,$07
95 .byte $05,$0b,$0d,$03,$07,$01,$01,$05
96 .byte $05,$05,$05,$07,$0b,$05,$05,$05
97 .byte $0b,$05,$0b,$0b,$0b,$0b,$0a,$05
99 .byte $09,$03,$0f,$0f,$0f,$07,$0a,$0e
100 .byte $0f,$0a,$0e,$08,$0f,$08,$03,$0f
101 .byte $08,$00,$00,$03,$07,$07,$0e,$0f
102 .byte $0f,$0f,$05,$0f,$0c,$03,$03,$03
103 .byte $0f,$0b,$0f,$05,$0b,$0b,$0b,$0f
104 .byte $0b,$0b,$01,$01,$0f,$01,$0f,$0b
105 .byte $05,$0b,$0b,$0b,$01,$0d,$03,$0b
106 .byte $0b,$09,$0f,$0f,$07,$0f,$0d,$0b
107 .byte $01,$0d,$03,$07,$09,$05,$01,$05
108 .byte $03,$03,$0d,$05,$0b,$01,$05,$05
109 .byte $05,$05,$05,$07,$0b,$05,$05,$05
110 .byte $05,$05,$0d,$0b,$0b,$0b,$05,$00
111 .byte $00,$01,$03,$07,$05,$03,$03,$01
112 .byte $01,$0b,$0d,$03,$07,$05,$01,$05
113 .byte $03,$05,$03,$0b,$0b,$05,$05,$01
114 .byte $0b,$0b,$0b,$00,$0b,$0b,$05,$05
116 .byte $09,$03,$00,$0f,$0f,$07,$05,$0e
117 .byte $05,$05,$0e,$08,$0c,$08,$03,$0f
118 .byte $08,$00,$00,$03,$07,$07,$0e,$0f
119 .byte $0f,$0f,$03,$03,$0f,$03,$0f,$0c
120 .byte $0f,$0f,$0f,$00,$0d,$07,$04,$0f
121 .byte $0b,$0b,$0b,$0b,$0f,$0f,$0f,$0b
122 .byte $05,$0b,$07,$0d,$0d,$0d,$05,$0b
123 .byte $05,$0d,$0f,$0f,$0b,$08,$0b,$0b
124 .byte $07,$09,$05,$07,$05,$01,$0b,$05
125 .byte $05,$0b,$0d,$03,$0b,$01,$05,$05
126 .byte $05,$05,$07,$0b,$0b,$05,$05,$01
127 .byte $0b,$05,$0b,$0b,$0b,$0b,$0f,$00
128 .byte $00,$05,$05,$07,$05,$07,$07,$05
129 .byte $05,$0b,$0d,$03,$07,$05,$01,$05
130 .byte $07,$05,$03,$0d,$0b,$05,$05,$01
131 .byte $0b,$0b,$0b,$00,$07,$0b,$05,$0a
133 .byte $0f,$03,$00,$0f,$0f,$07,$05,$0e
134 .byte $05,$0a,$0e,$0b,$0c,$0f,$0b,$0f
135 .byte $0b,$0f,$0b,$0b,$07,$07,$0e,$0f
136 .byte $0f,$00,$03,$03,$0f,$0f,$0f,$0c
137 .byte $0f,$0f,$0f,$05,$03,$05,$05,$0f
138 .byte $0b,$0b,$05,$0b,$0b,$0f,$0b,$07
139 .byte $05,$0b,$07,$05,$0d,$05,$05,$0b
140 .byte $05,$05,$0b,$0b,$0b,$0f,$0b,$0f
141 .byte $05,$05,$05,$07,$05,$07,$0b,$09
142 .byte $05,$0b,$0d,$05,$0b,$05,$05,$05
143 .byte $03,$09,$07,$0d,$0b,$05,$0b,$01
144 .byte $05,$09,$07,$0b,$0d,$0b,$0f,$0b
145 .byte $0f,$05,$05,$05,$05,$07,$07,$05
146 .byte $05,$0b,$05,$05,$07,$05,$05,$05
147 .byte $07,$0b,$05,$05,$0b,$05,$0b,$05
148 .byte $05,$0b,$07,$0b,$07,$0b,$05,$0a
150 .byte $0f,$03,$00,$0f,$0f,$07,$0a,$0e
151 .byte $0a,$05,$0e,$0b,$0c,$0f,$0b,$00
152 .byte $0b,$0f,$0b,$0b,$07,$07,$0e,$0f
153 .byte $0f,$00,$07,$03,$0f,$0f,$0f,$0c
154 .byte $0f,$0b,$0f,$05,$0b,$05,$08,$0f
155 .byte $0d,$07,$0f,$0f,$0b,$0f,$0b,$07
156 .byte $0b,$01,$01,$0b,$0d,$0b,$0b,$0b
157 .byte $0b,$0b,$0f,$0b,$0d,$0f,$07,$0b
158 .byte $0b,$09,$03,$09,$09,$09,$0b,$0d
159 .byte $05,$01,$0d,$05,$01,$05,$05,$0b
160 .byte $07,$0d,$07,$03,$0d,$09,$0b,$05
161 .byte $05,$0d,$01,$09,$0d,$03,$0f,$0b
162 .byte $0f,$05,$03,$0b,$03,$01,$07,$0b
163 .byte $05,$01,$0b,$05,$01,$05,$05,$0b
164 .byte $07,$0d,$05,$0b,$0b,$0b,$0b,$05
165 .byte $05,$0b,$01,$0b,$0b,$0b,$05,$05
167 .byte $0f,$03,$00,$0f,$00,$07,$0a,$0e
168 .byte $0a,$0a,$0e,$0b,$0c,$0f,$0b,$00
169 .byte $0b,$0f,$0b,$0b,$07,$07,$0e,$0f
170 .byte $0f,$00,$0f,$03,$0f,$0f,$0f,$0c
171 .byte $0f,$0f,$0f,$0f,$0f,$0f,$0f,$0f
172 .byte $0f,$0f,$0f,$0f,$07,$0f,$0f,$0f
173 .byte $0f,$0f,$0f,$0f,$0f,$0f,$0f,$0f
174 .byte $0f,$0f,$0f,$07,$0f,$0f,$0f,$0f
175 .byte $0f,$0f,$0f,$0f,$0f,$0f,$0f,$03
176 .byte $0f,$0f,$03,$0f,$0f,$0f,$0f,$0f
177 .byte $07,$0d,$0f,$0f,$0f,$0f,$0f,$0f
178 .byte $0f,$03,$0f,$0f,$0f,$0f,$0f,$0f
179 .byte $0f,$0f,$0f,$0f,$0f,$0f,$0f,$0f
180 .byte $0f,$0f,$0f,$0f,$0f,$0f,$0f,$0f
181 .byte $0f,$0f,$0f,$0f,$0f,$0f,$0f,$0f
182 .byte $0f,$0f,$0f,$0b,$0b,$0b,$0f,$05