]> git.sur5r.net Git - cc65/blob - libsrc/c64/soft80_charset.s
Allow "mode" argument to open() to be passed from 6502 code.
[cc65] / libsrc / c64 / soft80_charset.s
1 ;
2 ; Groepaz/Hitmen, 12.10.2015
3 ;
4 ; character set for use with the soft80 implementations
5 ;
6
7 ; the format of the data follows the following layout:
8 ;
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
21 ;
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:
25 ;
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
34 ; [...]
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
43
44         .export         soft80_charset
45
46         .segment "ONCE"
47 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
64
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
81
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
98
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
115
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
132
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
149
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
166
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