Compare commits
5540 commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
51dffb6f34 | ||
|
|
916e9ee86d | ||
|
|
17602e86b6 | ||
|
|
7b33aa2662 | ||
|
|
6007ae8cdd | ||
|
|
3f714aa1d0 | ||
|
|
a545b4fc3e | ||
|
|
69c17a502b | ||
|
|
de78048319 | ||
|
|
321e47f0f3 | ||
|
|
6027487c30 | ||
|
|
00a1f1d447 | ||
|
|
c9b885b144 | ||
|
|
40a20ab973 | ||
|
|
ac69017ca5 | ||
|
|
62451557f9 | ||
|
|
80ff9d3f4d | ||
|
|
d711b6d6fa | ||
|
|
af285ba9e5 | ||
|
|
7988d9aefb | ||
|
|
9732bc2cb7 | ||
|
|
b6d9fb6016 | ||
|
|
9c5916866b | ||
|
|
916933f884 | ||
|
|
d036c4aaae | ||
|
|
f464b50495 | ||
|
|
2fd9411f7f | ||
|
|
d427887764 | ||
|
|
4232e7acc6 | ||
|
|
0fe0337e9c | ||
|
|
57cc683d91 | ||
|
|
ca98b218e8 | ||
|
|
73f4149554 | ||
|
|
99ccd7e1a3 | ||
|
|
82d672e904 | ||
|
|
bf5d8c44e4 | ||
|
|
505698c450 | ||
|
|
1b778edee8 | ||
|
|
a29ce64fb5 | ||
|
|
76d71aec92 | ||
|
|
d45fac3afe | ||
|
|
3d26a7e1fe | ||
|
|
380c3f810e | ||
|
|
6184e7286b | ||
|
|
e41484a3a8 | ||
|
|
c7e851caa3 | ||
|
|
5f437e09a0 | ||
|
|
0fca83500b | ||
|
|
53dacfd18e | ||
|
|
f166ca8ad9 | ||
|
|
fbcae3e640 | ||
|
|
2f62b263f3 | ||
|
|
61799b07bf | ||
|
|
789416798f | ||
|
|
0125d82902 | ||
|
|
53b5f79051 | ||
|
|
2f6eb8ddd0 | ||
|
|
034f73a9e1 | ||
|
|
1e1e8a686e | ||
|
|
4680d68e52 | ||
|
|
7ee374a432 | ||
|
|
dde04808aa | ||
|
|
8ff7b0087c | ||
|
|
48b936b767 | ||
|
|
af19d96174 | ||
|
|
6ac362af87 | ||
|
|
328f7e6a43 | ||
|
|
18f084eafb | ||
|
|
dbdca13444 | ||
|
|
c720c3c485 | ||
|
|
10297ba637 | ||
|
|
36f00f9886 | ||
|
|
71f2ffbffc | ||
|
|
dce4ed65d9 | ||
|
|
a6a91349bc | ||
|
|
e01a608863 | ||
|
|
5296d394e4 | ||
|
|
c14f2b7252 | ||
|
|
d2f91a8116 | ||
|
|
6fb5934b87 | ||
|
|
dbcfa91089 | ||
|
|
1924e4cc63 | ||
|
|
c4cd575331 | ||
|
|
cfb55a89d4 | ||
|
|
18e9c6f6a0 | ||
|
|
640206696f | ||
|
|
3d7e3884e4 | ||
|
|
aa73c03f6a | ||
|
|
1d219395f2 | ||
|
|
f54780cfbc | ||
|
|
083f89a9ca | ||
|
|
9390e5c2ce | ||
|
|
850accee3a | ||
|
|
280f296952 | ||
|
|
3b8531a422 | ||
|
|
707e317bb8 | ||
|
|
25c1223f02 | ||
|
|
759884ddd4 | ||
|
|
778bc5bc22 | ||
|
|
a88d7abd3f | ||
|
|
b4dc41c653 | ||
|
|
d6dd0fa865 | ||
|
|
f3e43cc5c5 | ||
|
|
2220c6ec8d | ||
|
|
4cb40a4155 | ||
|
|
47c7160476 | ||
|
|
899ee2dac2 | ||
|
|
f06acc993a | ||
|
|
9b54be41da | ||
|
|
28442e60b8 | ||
|
|
69149c65ec | ||
|
|
be4eb9dc23 | ||
|
|
4b561acea5 | ||
|
|
815135f716 | ||
|
|
f744f0b8a0 | ||
|
|
e6c138dc03 | ||
|
|
84bcd53c45 | ||
|
|
82dbc828af | ||
|
|
c2556bb5e2 | ||
|
|
a6763af95c | ||
|
|
362e20b4d0 | ||
|
|
6be0731247 | ||
|
|
23b8bafbf6 | ||
|
|
e182d5d324 | ||
|
|
fdcb890bfd | ||
|
|
93c1b659ee | ||
|
|
8ec38c38d5 | ||
|
|
ca7335023f | ||
|
|
4383841f24 | ||
|
|
fae2d5511f | ||
|
|
732c0c09f8 | ||
|
|
9aab9e93aa | ||
|
|
9601b11a9c | ||
|
|
5e89953bf9 | ||
|
|
b5ff68a952 | ||
|
|
089f8f1425 | ||
|
|
1ef3f88f0a | ||
|
|
0dc484f5a7 | ||
|
|
613e752051 | ||
|
|
ee096d27df | ||
|
|
357f64e4e3 | ||
|
|
86bcf32580 | ||
|
|
ce20b6aa48 | ||
|
|
873361ba83 | ||
|
|
f18de5bc73 | ||
|
|
939276669f | ||
|
|
2454ab831c | ||
|
|
acc26c0e7b | ||
|
|
2323f46a54 | ||
|
|
76e31e5b75 | ||
|
|
5b70654289 | ||
|
|
6efe447d14 | ||
|
|
5197c56c7c | ||
|
|
d06e0d9a16 | ||
|
|
17c8e2154b | ||
|
|
1f6cca2140 | ||
|
|
a0b705fd41 | ||
|
|
0647cb1112 | ||
|
|
4c2cc24e77 | ||
|
|
aa936b6d12 | ||
|
|
cb39da2fba | ||
|
|
4c6c8b2430 | ||
|
|
228671b7c4 | ||
|
|
8f4a4040d6 | ||
|
|
70c1bd5e3c | ||
|
|
8ac25376a0 | ||
|
|
3d052ea4a3 | ||
|
|
b0e10e1f9a | ||
|
|
0a4af6df92 | ||
|
|
5809eaf037 | ||
|
|
4e0806c6be | ||
|
|
87ce45ba01 | ||
|
|
2c906474eb | ||
|
|
6d96a952fd | ||
|
|
fa1b6ed4f7 | ||
|
|
095ee0b27c | ||
|
|
8a793796d7 | ||
|
|
8ba1cef550 | ||
|
|
2b2c082efb | ||
|
|
17b8645360 | ||
|
|
02cb5d23f7 | ||
|
|
e554d0ccfb | ||
|
|
3ff1a9e463 | ||
|
|
32313a8c56 | ||
|
|
053f0a1b05 | ||
|
|
8bbe0f6972 | ||
|
|
329ec64a4b | ||
|
|
61f3e43fb6 | ||
|
|
3cd1672ae5 | ||
|
|
6d45a94127 | ||
|
|
ed54e9b168 | ||
|
|
f13284d3f8 | ||
|
|
93b94d314a | ||
|
|
1c167b1ff1 | ||
|
|
e82656d8ca | ||
|
|
3f3dc3d145 | ||
|
|
89704a6e37 | ||
|
|
25e6b42ef3 | ||
|
|
61072ce3c7 | ||
|
|
14a6c66997 | ||
|
|
a4c97c7ebc | ||
|
|
3ea8cae0ee | ||
|
|
4cbdb55fbc | ||
|
|
9ac02f3282 | ||
|
|
f86f602b9e | ||
|
|
4120f35276 | ||
|
|
170ddc6e33 | ||
|
|
d54844c76b | ||
|
|
3dfde7baef | ||
|
|
c7096ab6d7 | ||
|
|
2e4c18770b | ||
|
|
c2f17b6f6b | ||
|
|
2e3edf9b1b | ||
|
|
3e81cd6ae0 | ||
|
|
7d963d4490 | ||
|
|
074a3f513e | ||
|
|
79967ff01b | ||
|
|
96f8ce4cee | ||
|
|
6f45af3c9e | ||
|
|
da0e3907ec | ||
|
|
b99bdf1e89 | ||
|
|
7117936828 | ||
|
|
faecedb514 | ||
|
|
c0e8835ba0 | ||
|
|
0d30d8b4ae | ||
|
|
e973483cc8 | ||
|
|
18805b8df9 | ||
|
|
68cccd31fa | ||
|
|
8245eb31a0 | ||
|
|
c13f7dbdad | ||
|
|
907d8b26c5 | ||
|
|
aba0b6b439 | ||
|
|
5fc300b987 | ||
|
|
3e3a65f82e | ||
|
|
f7ebd4dfea | ||
|
|
bb736972f0 | ||
|
|
ffa72f56f1 | ||
|
|
97e4c6b42f | ||
|
|
61362779a5 | ||
|
|
d8b4013f3c | ||
|
|
ce6e322046 | ||
|
|
2926a95e71 | ||
|
|
72e3956aeb | ||
|
|
26968ffdf2 | ||
|
|
bb255838a6 | ||
|
|
0c14830da0 | ||
|
|
abb0adf546 | ||
|
|
97ef430053 | ||
|
|
7e97e99bae | ||
|
|
8c654193f7 | ||
|
|
8d7c87f753 | ||
|
|
c466faf484 | ||
|
|
b1eb1bf6ab | ||
|
|
ffcff0fa61 | ||
|
|
4afbd1104d | ||
|
|
4a53a891e8 | ||
|
|
9971d9fac0 | ||
|
|
7d7cfde818 | ||
|
|
9ff71e431b | ||
|
|
ac6b1326e9 | ||
|
|
472525eecd | ||
|
|
6aad5f6c18 | ||
|
|
18bb697891 | ||
|
|
d82a1f9fa0 | ||
|
|
50220800aa | ||
|
|
735edaa8f7 | ||
|
|
593bf159fa | ||
|
|
7c6efded1c | ||
|
|
8a976d555b | ||
|
|
b64c811a3f | ||
|
|
9be9003e9a | ||
|
|
8dc815f53f | ||
|
|
20a9db757d | ||
|
|
b7e592699d | ||
|
|
f1b9cf0e32 | ||
|
|
57283733e7 | ||
|
|
48924cc9d5 | ||
|
|
facf7b2a0c | ||
|
|
929fc94466 | ||
|
|
87e5775efb | ||
|
|
fe86149203 | ||
|
|
4a8498cb0a | ||
|
|
7b79fd1ec1 | ||
|
|
23086bccff | ||
|
|
7cd137afb4 | ||
|
|
45a326750c | ||
|
|
bcd29de443 | ||
|
|
cf89172cf7 | ||
|
|
1cc7d01c99 | ||
|
|
d20077de2b | ||
|
|
8c9e45ee85 | ||
|
|
fb7afcfee9 | ||
|
|
6604c5ce92 | ||
|
|
70b54bdbe3 | ||
|
|
7ed1f0c7ea | ||
|
|
315d6c4ae3 | ||
|
|
b24560c083 | ||
|
|
fd973cd544 | ||
|
|
14eae07a8c | ||
|
|
500b86f1e2 | ||
|
|
2e6f04034b | ||
|
|
947eecb65c | ||
|
|
90e1ac374b | ||
|
|
fcbc253bf9 | ||
|
|
3ae514921c | ||
|
|
96cc66868c | ||
|
|
a19e00d304 | ||
|
|
29f7ab3809 | ||
|
|
dbb6ff5482 | ||
|
|
4edf1ad363 | ||
|
|
9194d9e309 | ||
|
|
ca329c975b | ||
|
|
2c4b3a485e | ||
|
|
9240ad37ab | ||
|
|
dd27ec8696 | ||
|
|
087edc336b | ||
|
|
7b26325632 | ||
|
|
b4d034bef7 | ||
|
|
5db0283571 | ||
|
|
807f02f3a3 | ||
|
|
ce35a816a6 | ||
|
|
75d6efeabf | ||
|
|
73fa13a23e | ||
|
|
a820538c2a | ||
|
|
92fa7cb23f | ||
|
|
9151c9b5ff | ||
|
|
070276a1a3 | ||
|
|
12bc6ff99e | ||
|
|
b65ee13e8c | ||
|
|
ec67b49d7d | ||
|
|
64d35b6a86 | ||
|
|
60ec9045fc | ||
|
|
37414199c7 | ||
|
|
c162f6a286 | ||
|
|
8d3112e24f | ||
|
|
29c8846f7d | ||
|
|
59e7158512 | ||
|
|
c72126e68f | ||
|
|
f333b300f1 | ||
|
|
d4e57278c6 | ||
|
|
a4a24280f2 | ||
|
|
81da8b2107 | ||
|
|
aa41d51825 | ||
|
|
d91f4f0b82 | ||
|
|
26cf19642c | ||
|
|
4899b6dc0c | ||
|
|
483ef7844b | ||
|
|
aa042f57d8 | ||
|
|
77e325507e | ||
|
|
8e62d3d440 | ||
|
|
13878070e5 | ||
|
|
705081af34 | ||
|
|
a7a76b0e50 | ||
|
|
cb4cd114bf | ||
|
|
831eedfb58 | ||
|
|
3f3039192f | ||
|
|
ce99bfb195 | ||
|
|
e85339dada | ||
|
|
a1a87f74a9 | ||
|
|
91c9e32e4b | ||
|
|
af89b22252 | ||
|
|
4d73544d6c | ||
|
|
501dc00c9f | ||
|
|
51dc9119a9 | ||
|
|
dd0d908d57 | ||
|
|
b878f05721 | ||
|
|
6c6fcea71d | ||
|
|
cf8af80dce | ||
|
|
629252c562 | ||
|
|
f45471156b | ||
|
|
ced83d0f47 | ||
|
|
0168835456 | ||
|
|
bf1dbc54fc | ||
|
|
8e4936d68d | ||
|
|
e74bdab313 | ||
|
|
c359cd9251 | ||
|
|
c16b8dcf43 | ||
|
|
b08f306fde | ||
|
|
f6becd1b27 | ||
|
|
b05e418e0b | ||
|
|
d472ac8fc0 | ||
|
|
0b49d66f05 | ||
|
|
f09aaeb085 | ||
|
|
b38422ef9f | ||
|
|
e3140349b0 | ||
|
|
e93356e3bb | ||
|
|
76aa7cbc40 | ||
|
|
91bf4352a9 | ||
|
|
0a5211dcaa | ||
|
|
0d28f6ff8c | ||
|
|
74a2262157 | ||
|
|
d909a2c285 | ||
|
|
270552af48 | ||
|
|
9c4934239e | ||
|
|
ecdc59de47 | ||
|
|
0d98ab42f0 | ||
|
|
1f1e1f1490 | ||
|
|
0c22e310ef | ||
|
|
703b166b29 | ||
|
|
261180577c | ||
|
|
000789de95 | ||
|
|
fed7276a63 | ||
|
|
a028ac4140 | ||
|
|
cc6813428c | ||
|
|
46770bbb63 | ||
|
|
70f9723a89 | ||
|
|
afe395e970 | ||
|
|
7a85575158 | ||
|
|
73869a6f38 | ||
|
|
75aa45d41e | ||
|
|
4f5fc898d7 | ||
|
|
bc9ebfb077 | ||
|
|
c5fccb2c7e | ||
|
|
d5e7c94eb2 | ||
|
|
e2a39d076d | ||
|
|
399f5aaab7 | ||
|
|
5db2aed129 | ||
|
|
2de056167a | ||
|
|
b1a123b601 | ||
|
|
01ba0b562d | ||
|
|
3a6766d0a0 | ||
|
|
8bf6bb606c | ||
|
|
0290b276ae | ||
|
|
801508aecf | ||
|
|
1b815d4148 | ||
|
|
ad4d86bbf2 | ||
|
|
38bdb2326b | ||
|
|
f8b1691eff | ||
|
|
a7e509cd43 | ||
|
|
ef1b101538 | ||
|
|
fa81f14cbf | ||
|
|
55d9b2dbd0 | ||
|
|
2206b8d199 | ||
|
|
1feeee9ce0 | ||
|
|
1e209b1f15 | ||
|
|
4db5ac6c14 | ||
|
|
955c6627c0 | ||
|
|
db49432561 | ||
|
|
79b2d25840 | ||
|
|
23336420b1 | ||
|
|
fa6d72cae5 | ||
|
|
4d1fbe3f90 | ||
|
|
f787e0857a | ||
|
|
faa287f578 | ||
|
|
d6cc893940 | ||
|
|
d374ea2cde | ||
|
|
450c8f7c55 | ||
|
|
bfb16888d1 | ||
|
|
a37a88d5bf | ||
|
|
7a6c60ade4 | ||
|
|
681b49a111 | ||
|
|
7be14a951c | ||
|
|
c0a1b1b887 | ||
|
|
358167556c | ||
|
|
54a2410b5a | ||
|
|
cd96ce96a1 | ||
|
|
450898513c | ||
|
|
b2e5d3cd25 | ||
|
|
5fc15a7a60 | ||
|
|
4863a3e29b | ||
|
|
ad9e5cebbb | ||
|
|
a0c6c64826 | ||
|
|
30bee8e268 | ||
|
|
4c81eacefe | ||
|
|
c520455b2b | ||
|
|
c20461d213 | ||
|
|
c832af8a71 | ||
|
|
96bb1e4336 | ||
|
|
49713f73e0 | ||
|
|
540a6a7658 | ||
|
|
2e7ee0f105 | ||
|
|
46be7778cd | ||
|
|
034fc93c75 | ||
|
|
0489098517 | ||
|
|
44672e6281 | ||
|
|
f6a3f66f0b | ||
|
|
715d9c00a2 | ||
|
|
6d7f37c4f2 | ||
|
|
8615c244d9 | ||
|
|
a7af49a763 | ||
|
|
e949fbdbbf | ||
|
|
7d231d60a6 | ||
|
|
b9a703749c | ||
|
|
7573272836 | ||
|
|
7854a53434 | ||
|
|
1d7bc938f2 | ||
|
|
233c784c03 | ||
|
|
2ae30b5b50 | ||
|
|
c3b75f0ac1 | ||
|
|
4a11fa791a | ||
|
|
6b554362a5 | ||
|
|
4820b716c7 | ||
|
|
12e40f4aff | ||
|
|
698045c7c2 | ||
|
|
c35405f14b | ||
|
|
5e414edb50 | ||
|
|
2244a5ab0a | ||
|
|
3321910848 | ||
|
|
37144ed014 | ||
|
|
7f40affb59 | ||
|
|
8bfaaa60ba | ||
|
|
76c8f0d860 | ||
|
|
9344d87b05 | ||
|
|
00bb9d5376 | ||
|
|
d333627081 | ||
|
|
64c936317d | ||
|
|
fa4d704ee8 | ||
|
|
de844d48c4 | ||
|
|
b630dac728 | ||
|
|
3989ce1185 | ||
|
|
4f26d6d8b7 | ||
|
|
c75d1dd7df | ||
|
|
02e79d35d7 | ||
|
|
ec0595ad28 | ||
|
|
8d763abe92 | ||
|
|
1f23fc6ba8 | ||
|
|
758bdaa4ad | ||
|
|
54f63a0cdc | ||
|
|
d34b36c6e5 | ||
|
|
2be28d2d64 | ||
|
|
8d407c7b17 | ||
|
|
130c5e67b3 | ||
|
|
5e47d0432f | ||
|
|
2ceaa3fabb | ||
|
|
8cb0578447 | ||
|
|
06a77abc68 | ||
|
|
5a4b11e7ff | ||
|
|
00de49a46d | ||
|
|
05506ede2a | ||
|
|
157ddf2c5b | ||
|
|
499fcbdb5f | ||
|
|
80b4ea304b | ||
|
|
9eecd794b1 | ||
|
|
ad38683176 | ||
|
|
ff1e5b3351 | ||
|
|
dd78eb91c3 | ||
|
|
02d22e712c | ||
|
|
4daba00d47 | ||
|
|
3d2734172f | ||
|
|
d1ecc02e31 | ||
|
|
f91500e3d3 | ||
|
|
5a3aa1fd51 | ||
|
|
5e4f811ddf | ||
|
|
f45d25cfaf | ||
|
|
9edc396ce7 | ||
|
|
55742003d6 | ||
|
|
3486cd7830 | ||
|
|
0b0bead634 | ||
|
|
bae58ae419 | ||
|
|
f04c25a233 | ||
|
|
f16eced6fc | ||
|
|
c90c61f08f | ||
|
|
7ea6575ca8 | ||
|
|
476abbddd1 | ||
|
|
ed86cb84f9 | ||
|
|
2e27ee1702 | ||
|
|
17a8c92ba1 | ||
|
|
0b74ae8c2d | ||
|
|
20e7c54fa3 | ||
|
|
2184ba80c7 | ||
|
|
e4b610994c | ||
|
|
adc9ddc280 | ||
|
|
c0a0ba1483 | ||
|
|
ef33c4b71d | ||
|
|
7b12962eec | ||
|
|
24b7d1fec7 | ||
|
|
990d65e4e4 | ||
|
|
5be4c4697c | ||
|
|
2470851bfd | ||
|
|
d0b8e606cd | ||
|
|
7620e551ee | ||
|
|
1ac8a51c58 | ||
|
|
b29b50d363 | ||
|
|
e3f9a5f052 | ||
|
|
2f55eeb612 | ||
|
|
ae54171b8a | ||
|
|
51b3add3c0 | ||
|
|
647a79bb2f | ||
|
|
89651fd8bd | ||
|
|
215f51a230 | ||
|
|
b9eeec0c51 | ||
|
|
8202b520b2 | ||
|
|
c28bafa581 | ||
|
|
af2ab29a91 | ||
|
|
f191272feb | ||
|
|
fc6ed60029 | ||
|
|
b7a5ec86c5 | ||
|
|
40aced6d6d | ||
|
|
a6b94ebba2 | ||
|
|
0a1df881b3 | ||
|
|
505160f169 | ||
|
|
b2616eac0d | ||
|
|
86cf60d0e6 | ||
|
|
a8b9c05584 | ||
|
|
149b2b69ef | ||
|
|
57fa64bac6 | ||
|
|
ffd667c2c9 | ||
|
|
59441b3139 | ||
|
|
49eaf54c89 | ||
|
|
ace81bd36a | ||
|
|
880322a5ae | ||
|
|
844596fd03 | ||
|
|
c3defc1b1c | ||
|
|
2f16defd6f | ||
|
|
1c71d4c609 | ||
|
|
cd769b3a9f | ||
|
|
3b79c92f39 | ||
|
|
ccdc5b9fea | ||
|
|
51da666210 | ||
|
|
d1def100dd | ||
|
|
aaa1058d32 | ||
|
|
9afe980124 | ||
|
|
1e80269c6b | ||
|
|
717e32ba6a | ||
|
|
58ff844d04 | ||
|
|
d368f3d0ea | ||
|
|
869ba5c493 | ||
|
|
ba80de5efc | ||
|
|
fb421d7a81 | ||
|
|
4d5a290135 | ||
|
|
41a82f7165 | ||
|
|
34daf33d93 | ||
|
|
cbf1b1d5a7 | ||
|
|
1a109c0b34 | ||
|
|
c3b87779b7 | ||
|
|
79ecb2071c | ||
|
|
5ff18c1ebc | ||
|
|
de524a6561 | ||
|
|
a0772cfa10 | ||
|
|
b6f42f9ab2 | ||
|
|
dd2f19260c | ||
|
|
3d118dc6e5 | ||
|
|
58171691d0 | ||
|
|
9318c781ae | ||
|
|
a1fe6b8465 | ||
|
|
d7c84d1434 | ||
|
|
81ca41b736 | ||
|
|
aa4a791cc3 | ||
|
|
0122307399 | ||
|
|
a9ab23ad51 | ||
|
|
d3ef3e1b62 | ||
|
|
4971fe312a | ||
|
|
df99b9a107 | ||
|
|
c75c305c59 | ||
|
|
d03529067a | ||
|
|
89daccaa43 | ||
|
|
f8c51ffd3d | ||
|
|
779c393e65 | ||
|
|
842ec4b481 | ||
|
|
e444f4c40e | ||
|
|
816666615b | ||
|
|
9ae0eaafcc | ||
|
|
a1139aa6b8 | ||
|
|
ca8b072608 | ||
|
|
9a2f754e8d | ||
|
|
11d3338282 | ||
|
|
e451134e23 | ||
|
|
cd92e4f0af | ||
|
|
407a31eeaa | ||
|
|
b6d261ba2b | ||
|
|
3b089b715a | ||
|
|
0d9ae7cb70 | ||
|
|
cb0c9bf526 | ||
|
|
bd63c6aa4b | ||
|
|
c996157f0e | ||
|
|
e9a15af29b | ||
|
|
5c72deb0b9 | ||
|
|
8d42c4a8c5 | ||
|
|
228316ff58 | ||
|
|
6628c4ff43 | ||
|
|
0d5e365ee3 | ||
|
|
7621fb91f0 | ||
|
|
8f4451a468 | ||
|
|
40d6b45d30 | ||
|
|
2edb5b96c5 | ||
|
|
e211849633 | ||
|
|
333ac4b383 | ||
|
|
795cc55e45 | ||
|
|
096095840f | ||
|
|
5854818754 | ||
|
|
7be7ce4e9b | ||
|
|
b5b7ea422e | ||
|
|
c7c7377f7a | ||
|
|
81e1312416 | ||
|
|
2dbc7d1696 | ||
|
|
500887ec23 | ||
|
|
9cdba1b6d8 | ||
|
|
13ddd6392c | ||
|
|
cfbfaa559c | ||
|
|
84094ae2b3 | ||
|
|
8fbb4c39c4 | ||
|
|
80cef73f8c | ||
|
|
d4a37f7777 | ||
|
|
c5a3dbdf38 | ||
|
|
1b85ab6985 | ||
|
|
75d43ef88e | ||
|
|
f48fb03540 | ||
|
|
4fb87d27dc | ||
|
|
0742b68ea1 | ||
|
|
f13f2cb619 | ||
|
|
b1713e4c96 | ||
|
|
ae76f28712 | ||
|
|
060522a740 | ||
|
|
6a17aedd81 | ||
|
|
2085646e57 | ||
|
|
34bb14bc6e | ||
|
|
96e8e89776 | ||
|
|
8cf802cee3 | ||
|
|
5cb1bc60fc | ||
|
|
caa66aea95 | ||
|
|
432f2841e5 | ||
|
|
f1ed5b7057 | ||
|
|
2b30b90cfe | ||
|
|
834388a9e1 | ||
|
|
065b0d7f90 | ||
|
|
5ceb4f0d68 | ||
|
|
774e275965 | ||
|
|
9f5a195dc2 | ||
|
|
1efe1227d6 | ||
|
|
fb63a839bf | ||
|
|
ee540678e6 | ||
|
|
3edb959298 | ||
|
|
7c2671be2a | ||
|
|
fd4c1e193d | ||
|
|
c8eb6e2dd5 | ||
|
|
020fe4028a | ||
|
|
02470a2343 | ||
|
|
16224cdd36 | ||
|
|
b0220e5456 | ||
|
|
e5cebeda76 | ||
|
|
04ada63935 | ||
|
|
0082473630 | ||
|
|
b75f872fee | ||
|
|
46b2f95ac8 | ||
|
|
fb12363a6a | ||
|
|
d5cf8ef7ea | ||
|
|
99b113de64 | ||
|
|
734a76c158 | ||
|
|
67da1e7123 | ||
|
|
9fd090ae8b | ||
|
|
b05bb4a44f | ||
|
|
e245ae655d | ||
|
|
aacd64b2bc | ||
|
|
4e3f1ed025 | ||
|
|
86ed0722e4 | ||
|
|
1556c8ac7c | ||
|
|
447b6e5573 | ||
|
|
3a52c143fb | ||
|
|
50c669d38e | ||
|
|
aca6b33af7 | ||
|
|
988260c699 | ||
|
|
edf0ce216e | ||
|
|
5be0b10b62 | ||
|
|
25ed7ac6e4 | ||
|
|
bf8b834317 | ||
|
|
0d8cbbc38b | ||
|
|
3047439174 | ||
|
|
21345bd6da | ||
|
|
adfb42bfa6 | ||
|
|
5531320b51 | ||
|
|
50cccc2c3a | ||
|
|
dbbfcd1467 | ||
|
|
823f2045cf | ||
|
|
66594d44a5 | ||
|
|
0f203361bb | ||
|
|
ef18d2cdd9 | ||
|
|
380a946faa | ||
|
|
b95e8b2ae0 | ||
|
|
a8581d042f | ||
|
|
b2851be340 | ||
|
|
915416dc66 | ||
|
|
d8df73c36d | ||
|
|
f95a60d5ad | ||
|
|
e37a2b1559 | ||
|
|
cd1e9f6729 | ||
|
|
acb8eae032 | ||
|
|
ef385c78cc | ||
|
|
511f4478de | ||
|
|
7576f59e6a | ||
|
|
29063021a8 | ||
|
|
e785b88d42 | ||
|
|
58b8c14738 | ||
|
|
c735a83a98 | ||
|
|
6ccde66c86 | ||
|
|
083c968885 | ||
|
|
a94b389965 | ||
|
|
2743644b02 | ||
|
|
74f12b4498 | ||
|
|
65d20eaab4 | ||
|
|
328006e500 | ||
|
|
f3e8f36f00 | ||
|
|
db0b8c2d2c | ||
|
|
ae3106af4a | ||
|
|
1f9e731fc9 | ||
|
|
8c40568566 | ||
|
|
a906402308 | ||
|
|
55019fb517 | ||
|
|
61bedbdd55 | ||
|
|
9978600d28 | ||
|
|
1096023e00 | ||
|
|
583c103f86 | ||
|
|
af8a04dba0 | ||
|
|
d1bf3ba8c7 | ||
|
|
ca76db1ee4 | ||
|
|
073606b858 | ||
|
|
d512954fe9 | ||
|
|
e149d1dcf6 | ||
|
|
7980b81ddb | ||
|
|
3b73cf9b34 | ||
|
|
c3916455a7 | ||
|
|
07b168e062 | ||
|
|
92f9f4b427 | ||
|
|
fbf3bde97c | ||
|
|
d064ca424f | ||
|
|
5291f51e73 | ||
|
|
075514c60c | ||
|
|
3c5d5aac63 | ||
|
|
4802b5b27b | ||
|
|
3c4d9660ed | ||
|
|
178ab08fe2 | ||
|
|
8cb941985d | ||
|
|
b14f883e73 | ||
|
|
bad2f54f75 | ||
|
|
c52d7b27e6 | ||
|
|
028dc60386 | ||
|
|
eb8ea0f2c4 | ||
|
|
743a3dc735 | ||
|
|
3cd7548b59 | ||
|
|
5239d3a11b | ||
|
|
8a7cd9c632 | ||
|
|
8ee93f7e5f | ||
|
|
a3cc9b4757 | ||
|
|
ceac9f87ba | ||
|
|
6f9406bbe3 | ||
|
|
86ccf25e81 | ||
|
|
fb6745573e | ||
|
|
dfc88d5796 | ||
|
|
eda8774e08 | ||
|
|
a53524b9de | ||
|
|
bfbf5cd250 | ||
|
|
33f2de7178 | ||
|
|
11699a4124 | ||
|
|
f9e4a2a4d3 | ||
|
|
17e7e669c9 | ||
|
|
3933f329c2 | ||
|
|
0e640877c2 | ||
|
|
852b622c43 | ||
|
|
0f6b427170 | ||
|
|
d993f3a766 | ||
|
|
cf470dd0df | ||
|
|
5f2c5b58ab | ||
|
|
5d2730f4b4 | ||
|
|
8b008052cb | ||
|
|
26e6717102 | ||
|
|
316ee4ad5b | ||
|
|
be6819ca1f | ||
|
|
3612d90c8e | ||
|
|
05b3825683 | ||
|
|
fbd8961be1 | ||
|
|
162bc6b305 | ||
|
|
84c4ea062d | ||
|
|
a55d328e78 | ||
|
|
c0a4942b5d | ||
|
|
918c39cbeb | ||
|
|
3895caae90 | ||
|
|
79e26c1bc5 | ||
|
|
1ce8225091 | ||
|
|
e26c17fd50 | ||
|
|
1d9d056da5 | ||
|
|
3fdb1a516c | ||
|
|
12f6340878 | ||
|
|
709d71ef70 | ||
|
|
2abd66ea0c | ||
|
|
05a653d3f9 | ||
|
|
21030c22a0 | ||
|
|
f663ee428d | ||
|
|
90e4360958 | ||
|
|
700c01fa8b | ||
|
|
40d9f3eed5 | ||
|
|
fa80e171a2 | ||
|
|
36132a437b | ||
|
|
a945bedefc | ||
|
|
e07cdd0a80 | ||
|
|
819a314508 | ||
|
|
4036912463 | ||
|
|
3dad6c76fa | ||
|
|
0c018919fe | ||
|
|
1f1a004a05 | ||
|
|
489989f4c8 | ||
|
|
336c4287c5 | ||
|
|
abcb073a5a | ||
|
|
7150fdf4b9 | ||
|
|
3553975b02 | ||
|
|
eb6003aaf7 | ||
|
|
394d3b1964 | ||
|
|
c41eb007e4 | ||
|
|
02840d503c | ||
|
|
4dfbccfafd | ||
|
|
270aa4417b | ||
|
|
8cd45417f9 | ||
|
|
bb7f0c17b8 | ||
|
|
e373aa2d3f | ||
|
|
41951a1345 | ||
|
|
9c69aac097 | ||
|
|
16258d812b | ||
|
|
7dc09fdb05 | ||
|
|
175ec65af1 | ||
|
|
fe6afa621b | ||
|
|
e7c735ed8c | ||
|
|
231ab4169b | ||
|
|
f43cfd1ad0 | ||
|
|
6e18e0880a | ||
|
|
001fa05d48 | ||
|
|
3f83cf81f3 | ||
|
|
7260c10062 | ||
|
|
34d8c3ef0a | ||
|
|
b5135b3ae0 | ||
|
|
efa2020d93 | ||
|
|
36a810cdb2 | ||
|
|
70ca6d4200 | ||
|
|
2f6f5f0da1 | ||
|
|
6113dc5995 | ||
|
|
aff8248341 | ||
|
|
31a0d5cc40 | ||
|
|
0be5f8f9e1 | ||
|
|
3a7f0e2d18 | ||
|
|
e6ff8d9301 | ||
|
|
38038fd0d3 | ||
|
|
1771cb6fbd | ||
|
|
d825a40add | ||
|
|
3c5269dede | ||
|
|
838c8b48b7 | ||
|
|
55d3a6ea39 | ||
|
|
461554e616 | ||
|
|
f5e434c6c8 | ||
|
|
be5a9f92ec | ||
|
|
b355620939 | ||
|
|
44aa5dca91 | ||
|
|
c9fa9f0002 | ||
|
|
ab4cdafacb | ||
|
|
f430341d5d | ||
|
|
033fd9e0dc | ||
|
|
38f54875d0 | ||
|
|
4e2a3bde92 | ||
|
|
7bd0a1d7f0 | ||
|
|
d996e20c5f | ||
|
|
79606c4d20 | ||
|
|
cd4357057f | ||
|
|
e2014611ef | ||
|
|
5e5dd1d6c4 | ||
|
|
2680bc8dec | ||
|
|
cc0db26e20 | ||
|
|
b2aceaea24 | ||
|
|
7a578be724 | ||
|
|
a712fbb8f9 | ||
|
|
601deab3a2 | ||
|
|
4b38974918 | ||
|
|
8c1047529f | ||
|
|
b4aef6eac4 | ||
|
|
b5cc68d6e2 | ||
|
|
4b68d19993 | ||
|
|
35c3fe5d0a | ||
|
|
ef17250c64 | ||
|
|
e40058257e | ||
|
|
4008ec5814 | ||
|
|
ba263d13a7 | ||
|
|
58b1c21996 | ||
|
|
622793e343 | ||
|
|
3f618d7de9 | ||
|
|
b688cfa0c0 | ||
|
|
b86ac99982 | ||
|
|
86611f1c9c | ||
|
|
bf2b522478 | ||
|
|
0126b34d20 | ||
|
|
feb5026823 | ||
|
|
925a589b90 | ||
|
|
8b3625847d | ||
|
|
91f908f55a | ||
|
|
8a1e060b13 | ||
|
|
2ea216a521 | ||
|
|
19899022af | ||
|
|
d5fecbf10b | ||
|
|
d3e0f7b392 | ||
|
|
03d824e13b | ||
|
|
aed94d2dae | ||
|
|
6551d455b1 | ||
|
|
677cd8ff4e | ||
|
|
9558ebad62 | ||
|
|
816bcabe5a | ||
|
|
c385e52c12 | ||
|
|
1d1dd425c1 | ||
|
|
af3ac42373 | ||
|
|
581b79e0b9 | ||
|
|
2f25b18074 | ||
|
|
cdb2d49e3a | ||
|
|
871bafa5b3 | ||
|
|
0541b65aa4 | ||
|
|
3d5fd0489e | ||
|
|
3b494ad6f2 | ||
|
|
6098ac2788 | ||
|
|
6dbf5f528a | ||
|
|
5caed9a15f | ||
|
|
db178e55fe | ||
|
|
4989ce485c | ||
|
|
64cfb322cc | ||
|
|
35d638cb09 | ||
|
|
a1ca451e69 | ||
|
|
550f94b773 | ||
|
|
60f9081ea4 | ||
|
|
0837f9c25f | ||
|
|
b7f4c17460 | ||
|
|
d24a8d7e61 | ||
|
|
ff5091202f | ||
|
|
5976e3b85d | ||
|
|
91cdc0d705 | ||
|
|
2c4aca43df | ||
|
|
3ea0ded65d | ||
|
|
2c4d4d3314 | ||
|
|
86e5acd679 | ||
|
|
84153e809e | ||
|
|
90723d7dd1 | ||
|
|
b1e1c13d4b | ||
|
|
793aa48a49 | ||
|
|
a823d90082 | ||
|
|
8804dc7a58 | ||
|
|
4bc726ebe2 | ||
|
|
fa1a426c29 | ||
|
|
f789316f86 | ||
|
|
270f3544b5 | ||
|
|
c500cb9086 | ||
|
|
074ec82126 | ||
|
|
89b709c7f8 | ||
|
|
79585194e6 | ||
|
|
71d82ab5d9 | ||
|
|
0c681b42ef | ||
|
|
9b5d11abde | ||
|
|
1f1f2c5a68 | ||
|
|
eb2acfc3e4 | ||
|
|
b5d259bafb | ||
|
|
82165c1a77 | ||
|
|
b993d88339 | ||
|
|
25967e65b5 | ||
|
|
a372ead4de | ||
|
|
081d18f7d7 | ||
|
|
a293920fb3 | ||
|
|
60c75bdb54 | ||
|
|
1fe12f112e | ||
|
|
a887b29ffb | ||
|
|
731f349b24 | ||
|
|
98767741ce | ||
|
|
9b2d27d1e1 | ||
|
|
23aa562094 | ||
|
|
5c3ff714ae | ||
|
|
86317711e0 | ||
|
|
8b71fafb84 | ||
|
|
3fd78208ba | ||
|
|
7a12399b39 | ||
|
|
4d3153e10e | ||
|
|
f42e6a26b2 | ||
|
|
b8b263b38c | ||
|
|
294b034920 | ||
|
|
ab0eb4fe58 | ||
|
|
8d4946b3f4 | ||
|
|
3a7bd53956 | ||
|
|
8173c850fd | ||
|
|
4bde3afd80 | ||
|
|
7d6f3d24d4 | ||
|
|
8b172e05bc | ||
|
|
1deb9e52ae | ||
|
|
acff429eb8 | ||
|
|
6cf8ee8eb5 | ||
|
|
65bce9ecde | ||
|
|
014f85f226 | ||
|
|
788ae82d30 | ||
|
|
b04d79b1da | ||
|
|
7b790cf883 | ||
|
|
3dfe033000 | ||
|
|
5acfb02794 | ||
|
|
934de685bc | ||
|
|
ce14f0f8ad | ||
|
|
a06431a8f9 | ||
|
|
eb503cc542 | ||
|
|
1fab179cb4 | ||
|
|
c4c6967e4a | ||
|
|
2a03e5d8c9 | ||
|
|
128f261c3a | ||
|
|
d5c84e7828 | ||
|
|
54b423a99e | ||
|
|
96d55e3703 | ||
|
|
a7ac9b7ef2 | ||
|
|
1e300bf768 | ||
|
|
ce606bb19e | ||
|
|
afd8ee627e | ||
|
|
2b97735d5d | ||
|
|
1a5a7d67a7 | ||
|
|
ba36071022 | ||
|
|
7594af553a | ||
|
|
9ffa2d05e6 | ||
|
|
dd95d20268 | ||
|
|
7d7cf2d1e0 | ||
|
|
51b946bf25 | ||
|
|
0dd7b0c3a5 | ||
|
|
8682095f9f | ||
|
|
782dad23da | ||
|
|
aa6f850b8d | ||
|
|
a8b870555e | ||
|
|
65937684a0 | ||
|
|
ba6f9f5d3f | ||
|
|
4b9bf9bb98 | ||
|
|
f1d95f1f07 | ||
|
|
476591e8b7 | ||
|
|
f7388cfb79 | ||
|
|
ee3a542539 | ||
|
|
a2d722639f | ||
|
|
9ba270d97b | ||
|
|
34f37c873e | ||
|
|
ebf43ddb05 | ||
|
|
f0b5b02966 | ||
|
|
b87df9e1c6 | ||
|
|
1f820d0ae8 | ||
|
|
5d49fde788 | ||
|
|
3e01ac9b04 | ||
|
|
57e65a6bf6 | ||
|
|
13ddd734db | ||
|
|
2ba176372e | ||
|
|
6c7106c9d9 | ||
|
|
ea83b9fa53 | ||
|
|
ba75a2ac26 | ||
|
|
bea2e86210 | ||
|
|
998dfd6fa7 | ||
|
|
deaf27d6a8 | ||
|
|
01ee903cdf | ||
|
|
7a7e98d799 | ||
|
|
6a03fda453 | ||
|
|
b23a7ec407 | ||
|
|
83691f30c1 | ||
|
|
6bab3f921b | ||
|
|
ad90a3a421 | ||
|
|
a173428fab | ||
|
|
2e56dcc521 | ||
|
|
acce24fedc | ||
|
|
93f9cb6e48 | ||
|
|
d906748691 | ||
|
|
166a4b25f7 | ||
|
|
9471e128b5 | ||
|
|
10282a9b74 | ||
|
|
03d5e5fba0 | ||
|
|
348a9048b7 | ||
|
|
92ee03f9e9 | ||
|
|
0c53e7e0da | ||
|
|
5e267ccfca | ||
|
|
db8ac355cb | ||
|
|
dec65176f0 | ||
|
|
43c2239e94 | ||
|
|
2c4ebe812c | ||
|
|
8e25a7b376 | ||
|
|
b388ca0236 | ||
|
|
e9bd9330c0 | ||
|
|
07e349c517 | ||
|
|
afdf398a0b | ||
|
|
cf28d69696 | ||
|
|
de3087a7e9 | ||
|
|
0b06c34dfc | ||
|
|
7e80e55b6d | ||
|
|
3d0dc58153 | ||
|
|
8c329dfd1a | ||
|
|
0f7d2dd818 | ||
|
|
6ab3c0c75f | ||
|
|
44b2e48e3e | ||
|
|
28f892bb3c | ||
|
|
17c2622382 | ||
|
|
2138f3c902 | ||
|
|
38dac907e8 | ||
|
|
2682fc0b79 | ||
|
|
8e43c4706f | ||
|
|
94dfc08c0e | ||
|
|
2564aaa12c | ||
|
|
8aa59e4af3 | ||
|
|
773ed23cea | ||
|
|
2127778239 | ||
|
|
e1065d0c89 | ||
|
|
1e3b063b4a | ||
|
|
a71865f6ec | ||
|
|
fa7dca5fa3 | ||
|
|
df193c0947 | ||
|
|
3a439e0e1b | ||
|
|
7ce982cc68 | ||
|
|
29801a2fde | ||
|
|
82f01af6ec | ||
|
|
c379d03dfb | ||
|
|
169c9c0da0 | ||
|
|
1b5371b42d | ||
|
|
bcea5dfa8f | ||
|
|
726b70a534 | ||
|
|
dc9d2f0dbd | ||
|
|
075ece5faf | ||
|
|
75461e1319 | ||
|
|
7aab84628d | ||
|
|
acbd87b576 | ||
|
|
88246f852d | ||
|
|
4e820677ee | ||
|
|
0b7d9d8216 | ||
|
|
f734f43a35 | ||
|
|
f3199e4308 | ||
|
|
4343eebe67 | ||
|
|
9e3d1e1027 | ||
|
|
c262929a62 | ||
|
|
0ece9449d7 | ||
|
|
7297d2c8b6 | ||
|
|
d0903ba225 | ||
|
|
98b9814692 | ||
|
|
096bd0b633 | ||
|
|
66e354961c | ||
|
|
061d907a11 | ||
|
|
e5f9def572 | ||
|
|
b876a6b213 | ||
|
|
cd7c688dff | ||
|
|
9892c8f6c4 | ||
|
|
302c4f7409 | ||
|
|
0ff1b20f2a | ||
|
|
f6838be162 | ||
|
|
6cb8717c24 | ||
|
|
0d74b84ce4 | ||
|
|
103d4b82c5 | ||
|
|
269786a5ae | ||
|
|
08341aae30 | ||
|
|
1093d169ad | ||
|
|
a5746227dc | ||
|
|
1e4d1b4311 | ||
|
|
05aae60816 | ||
|
|
f8fe1d1560 | ||
|
|
bc97bce8c1 | ||
|
|
e90e7f46de | ||
|
|
b1c1502494 | ||
|
|
9985ee7f61 | ||
|
|
6b855d562a | ||
|
|
0b077f561f | ||
|
|
cc5e9c38ca | ||
|
|
b31a1c7c0c | ||
|
|
9634cc4d1e | ||
|
|
befc9533c6 | ||
|
|
bbd542fac7 | ||
|
|
07c71541f4 | ||
|
|
3215d377ea | ||
|
|
cadf8012f6 | ||
|
|
a1a060c291 | ||
|
|
79b4690077 | ||
|
|
a16a6298e2 | ||
|
|
92f869cdfb | ||
|
|
a956f6f9ed | ||
|
|
9e19a2e6a3 | ||
|
|
d805211002 | ||
|
|
b66682a05b | ||
|
|
2a2cc6cad6 | ||
|
|
d8e61552be | ||
|
|
d8a722b638 | ||
|
|
87f8893886 | ||
|
|
98ffc031d1 | ||
|
|
b7e7bb7489 | ||
|
|
519a52d92c | ||
|
|
66bfc31988 | ||
|
|
09735b26c5 | ||
|
|
c4575ec2c4 | ||
|
|
85a15007ec | ||
|
|
ac6d43adc9 | ||
|
|
c43557d4ed | ||
|
|
b527549dd2 | ||
|
|
617eb0e065 | ||
|
|
116f678180 | ||
|
|
d21616ea71 | ||
|
|
ca2cf4bf54 | ||
|
|
b7af5ac438 | ||
|
|
39744f1bde | ||
|
|
63861766e1 | ||
|
|
d8a3938f2b | ||
|
|
47e7ed2f56 | ||
|
|
c0a2021d9a | ||
|
|
6434176909 | ||
|
|
5537b61e6a | ||
|
|
2af16ee82b | ||
|
|
97cfb8c67a | ||
|
|
86b09f56a6 | ||
|
|
acf159adbc | ||
|
|
ad0b778008 | ||
|
|
7e6399d439 | ||
|
|
546be1d5dd | ||
|
|
b99ebc1256 | ||
|
|
7574e36e95 | ||
|
|
ac04394254 | ||
|
|
79214530e0 | ||
|
|
3905e43068 | ||
|
|
ab0ab8e36f | ||
|
|
e6c8f896b0 | ||
|
|
f95e3a1e49 | ||
|
|
502e13173a | ||
|
|
f1b0fbebd5 | ||
|
|
3066b1f9b4 | ||
|
|
564c85235f | ||
|
|
b17c4d3434 | ||
|
|
3b7af398a9 | ||
|
|
f6c3a1b209 | ||
|
|
5332eeecc2 | ||
|
|
e9e3cd969e | ||
|
|
913ab3607f | ||
|
|
b3eca51264 | ||
|
|
076137f41b | ||
|
|
9242508abf | ||
|
|
0eb38770bd | ||
|
|
d7d1d89698 | ||
|
|
be49751ad2 | ||
|
|
d00a23feff | ||
|
|
ab2163f2c8 | ||
|
|
86d498b7b3 | ||
|
|
f8d7c0cd4c | ||
|
|
83f51b1e3c | ||
|
|
23f37c40aa | ||
|
|
cff611711b | ||
|
|
fe115fb621 | ||
|
|
8a797095c1 | ||
|
|
94239525ca | ||
|
|
5b47def166 | ||
|
|
f381d23001 | ||
|
|
f7cf14bf58 | ||
|
|
65aad16d83 | ||
|
|
d424883716 | ||
|
|
8e45a4c960 | ||
|
|
85e63e99a6 | ||
|
|
94ef5856d0 | ||
|
|
401bcaa5ff | ||
|
|
16f6860f57 | ||
|
|
10f709eeb7 | ||
|
|
316ae886d7 | ||
|
|
a8d00bfaae | ||
|
|
8e6c0c1466 | ||
|
|
df392fc104 | ||
|
|
a31b35b2a6 | ||
|
|
70549e868e | ||
|
|
f321bb16e5 | ||
|
|
79c52e742f | ||
|
|
e5bbdfa995 | ||
|
|
c52427fc65 | ||
|
|
bb1b5c363e | ||
|
|
3e60268243 | ||
|
|
178573a128 | ||
|
|
77c6a6a693 | ||
|
|
3c864fc7d8 | ||
|
|
882f6fd103 | ||
|
|
3107f34ec9 | ||
|
|
6e035c864e | ||
|
|
96e893795b | ||
|
|
21b6cbb66e | ||
|
|
8111946731 | ||
|
|
6222cd9115 | ||
|
|
2726192aaf | ||
|
|
bb92144717 | ||
|
|
e138403727 | ||
|
|
6e0bbb00ee | ||
|
|
c7db08b4e3 | ||
|
|
e90a8f3123 | ||
|
|
39d6080945 | ||
|
|
e3759a3ead | ||
|
|
65ce3a6792 | ||
|
|
9e87e558d2 | ||
|
|
b300b7ac8b | ||
|
|
ed2f1f6b90 | ||
|
|
7b0d1d9679 | ||
|
|
25832ef5fc | ||
|
|
c6ead99b00 | ||
|
|
74922afa7c | ||
|
|
b14efbb578 | ||
|
|
7b6f8249a0 | ||
|
|
494bf10e80 | ||
|
|
181a8cd64c | ||
|
|
ee6118f235 | ||
|
|
32a20cf5ca | ||
|
|
0028b14071 | ||
|
|
850007cb44 | ||
|
|
c8df241337 | ||
|
|
12193790e5 | ||
|
|
327281b869 | ||
|
|
bdb13350e3 | ||
|
|
eb5e888499 | ||
|
|
20c3e994c6 | ||
|
|
9667a5f991 | ||
|
|
3c17c13357 | ||
|
|
996a2659d5 | ||
|
|
e16a5e0dbe | ||
|
|
330b1ab3f9 | ||
|
|
df4902157a | ||
|
|
4ff917816e | ||
|
|
148942ff1d | ||
|
|
9b9e955eb1 | ||
|
|
d83354a8dd | ||
|
|
4944c92f9a | ||
|
|
b81e5d00f2 | ||
|
|
e3bc143f27 | ||
|
|
13e1ed3e7b | ||
|
|
dd833125a8 | ||
|
|
c82e877451 | ||
|
|
6bc68b9763 | ||
|
|
40b0315be9 | ||
|
|
51e304f10f | ||
|
|
fc603129da | ||
|
|
0815c8890b | ||
|
|
d251bd46c8 | ||
|
|
3626c94c97 | ||
|
|
39abd233fe | ||
|
|
e145145fbb | ||
|
|
5ed3108eea | ||
|
|
2e9843b32d | ||
|
|
878264d948 | ||
|
|
8e62cbf092 | ||
|
|
3fc074014e | ||
|
|
aa5ee8423a | ||
|
|
38f7daf40e | ||
|
|
043590c971 | ||
|
|
caf8186565 | ||
|
|
537aa665cf | ||
|
|
9e5620f127 | ||
|
|
9669710cc3 | ||
|
|
cbc5603d63 | ||
|
|
a90aa57510 | ||
|
|
734541ee05 | ||
|
|
a89a311abf | ||
|
|
e8f5ad2471 | ||
|
|
89af42e5cb | ||
|
|
3f3b6123b9 | ||
|
|
dfe7562f76 | ||
|
|
c674b7ced4 | ||
|
|
1a6e20ca6e | ||
|
|
30b80548d4 | ||
|
|
e52e350498 | ||
|
|
84a01816fd | ||
|
|
d4c4786ff0 | ||
|
|
e28e32129a | ||
|
|
7eaa5c507f | ||
|
|
870581a4d4 | ||
|
|
980727d62d | ||
|
|
4ebc3b8b04 | ||
|
|
16e90187e8 | ||
|
|
8a140e6503 | ||
|
|
d70c902a02 | ||
|
|
a2c115fc3e | ||
|
|
05cd805cbc | ||
|
|
97e59b0756 | ||
|
|
28ffe2f59b | ||
|
|
f31d8efc1e | ||
|
|
07f08fc547 | ||
|
|
d09e0a7f20 | ||
|
|
2431fb7d85 | ||
|
|
39619b629d | ||
|
|
148be69f97 | ||
|
|
1f68846116 | ||
|
|
a24196ee41 | ||
|
|
ce3bcadd24 | ||
|
|
7a85473cb0 | ||
|
|
6c127d6a83 | ||
|
|
3efa517d96 | ||
|
|
aaec2a6270 | ||
|
|
3e166c760d | ||
|
|
c2e5937724 | ||
|
|
59941d9464 | ||
|
|
c8aa9cc703 | ||
|
|
31bac03d01 | ||
|
|
480600093c | ||
|
|
1ca9d7e9e7 | ||
|
|
1377ba0d36 | ||
|
|
652949f183 | ||
|
|
47ee29f239 | ||
|
|
40ff9281c6 | ||
|
|
3831feba75 | ||
|
|
9ff7b88192 | ||
|
|
accd57460b | ||
|
|
8ff008722b | ||
|
|
767875b5a7 | ||
|
|
19436f5159 | ||
|
|
70bf4d492b | ||
|
|
d41f53e252 | ||
|
|
dd58c7ff50 | ||
|
|
ba6747f5da | ||
|
|
c55459b287 | ||
|
|
fd74e6b005 | ||
|
|
680ddaf37d | ||
|
|
6579df4e91 | ||
|
|
55723f4977 | ||
|
|
5d9306fed3 | ||
|
|
5a30d746b4 | ||
|
|
3b7be09a7f | ||
|
|
eb2b013d62 | ||
|
|
76328da682 | ||
|
|
07963abd52 | ||
|
|
ce6097ea7e | ||
|
|
a058d4a2f3 | ||
|
|
79018fd424 | ||
|
|
02d38ae17e | ||
|
|
f15e9c4159 | ||
|
|
2cb457b85f | ||
|
|
7f0baff792 | ||
|
|
3419cbd348 | ||
|
|
aad64063c9 | ||
|
|
0081fe548c | ||
|
|
56df849101 | ||
|
|
6de85b2e2a | ||
|
|
8b682b3c5a | ||
|
|
c9857d9962 | ||
|
|
bee29dedd1 | ||
|
|
560085cb17 | ||
|
|
9c70235173 | ||
|
|
9c27084fa5 | ||
|
|
066953c435 | ||
|
|
7b40515506 | ||
|
|
11cc5b6f06 | ||
|
|
f87c7f3f14 | ||
|
|
84f0ab322d | ||
|
|
fe35386b79 | ||
|
|
532681c961 | ||
|
|
1df7ab0352 | ||
|
|
027ec91944 | ||
|
|
0d0369983a | ||
|
|
9014165612 | ||
|
|
a022f7203d | ||
|
|
df749abbfb | ||
|
|
c03d00bc80 | ||
|
|
773716c32a | ||
|
|
f2e7609046 | ||
|
|
8d048699ee | ||
|
|
dd0a2bf1bc | ||
|
|
7994889213 | ||
|
|
c5cf32ac47 | ||
|
|
18570d18b8 | ||
|
|
17706208e8 | ||
|
|
a325c95652 | ||
|
|
7a040978d7 | ||
|
|
34d9d55b95 | ||
|
|
1c58b302d8 | ||
|
|
c662c7a36f | ||
|
|
5c20fb2812 | ||
|
|
9f3e47e9c9 | ||
|
|
8f356f5093 | ||
|
|
0cad5bef81 | ||
|
|
e57c991de7 | ||
|
|
cfc8a41a03 | ||
|
|
a7676bdff5 | ||
|
|
69fd3d7998 | ||
|
|
71bb11bee1 | ||
|
|
e228e4d65c | ||
|
|
4ef849cb81 | ||
|
|
769b316376 | ||
|
|
7053dac3a9 | ||
|
|
610dfbb41c | ||
|
|
ea90c934d7 | ||
|
|
17f58d934f | ||
|
|
926d09a14d | ||
|
|
0369838f24 | ||
|
|
3536761110 | ||
|
|
99a0d64b93 | ||
|
|
20f0427fa4 | ||
|
|
681c51b37e | ||
|
|
c0dd3b9d9a | ||
|
|
7c5595efbc | ||
|
|
45258d060d | ||
|
|
0957c36115 | ||
|
|
69f4cd1847 | ||
|
|
ca8201a314 | ||
|
|
13f317e660 | ||
|
|
5ed7153841 | ||
|
|
84eafb7f9c | ||
|
|
b5f255f912 | ||
|
|
8e75e5b51a | ||
|
|
e3cb8dfb9b | ||
|
|
b743b1a8c2 | ||
|
|
45bdeb62ad | ||
|
|
49bd568113 | ||
|
|
dbdadaa3f3 | ||
|
|
2ac9c6f51e | ||
|
|
e3887d7ead | ||
|
|
7ff74b2c47 | ||
|
|
52f0e6a29c | ||
|
|
a686d1fa8e | ||
|
|
a109f475ed | ||
|
|
9a502c69dc | ||
|
|
83ff62d5e2 | ||
|
|
f4676e11b4 | ||
|
|
6386788843 | ||
|
|
440c91fad9 | ||
|
|
ae7a1416fe | ||
|
|
1f18ab218e | ||
|
|
4e6b94de5c | ||
|
|
016008b6df | ||
|
|
387d455cb4 | ||
|
|
fdd4d35887 | ||
|
|
59bd5fdd4c | ||
|
|
0bded728ae | ||
|
|
6ffc4004d7 | ||
|
|
f3c0f7c6ce | ||
|
|
7d9a736b7f | ||
|
|
dd0e902a08 | ||
|
|
88f581c796 | ||
|
|
456fa9f963 | ||
|
|
86e3a640d5 | ||
|
|
2b60adfa11 | ||
|
|
4d698bf18c | ||
|
|
56c715af40 | ||
|
|
65f773f5ee | ||
|
|
409235aee6 | ||
|
|
bf5b37a3b2 | ||
|
|
bf22f94a43 | ||
|
|
af11d4d947 | ||
|
|
e7046a02ff | ||
|
|
2c47ea45af | ||
|
|
1c26b1cf1b | ||
|
|
805e98a7aa | ||
|
|
08223360d5 | ||
|
|
1fe39514bc | ||
|
|
4d97e30b55 | ||
|
|
613ee94f44 | ||
|
|
e5f4ca6b89 | ||
|
|
1f9594560e | ||
|
|
128b15a71e | ||
|
|
2a7533268c | ||
|
|
19349acdcf | ||
|
|
ed4edd908b | ||
|
|
1f7318f527 | ||
|
|
3a5fbd34da | ||
|
|
d69117c0c1 | ||
|
|
9fb4854f6c | ||
|
|
2dd558eae9 | ||
|
|
806ffe5675 | ||
|
|
f74775b841 | ||
|
|
fcbcbea4ad | ||
|
|
8692630369 | ||
|
|
c8c6fc6a40 | ||
|
|
7f1dd09bcb | ||
|
|
99220f60af | ||
|
|
6be7c16013 | ||
|
|
4732e937ad | ||
|
|
8b818aac67 | ||
|
|
016b03e356 | ||
|
|
c226e58a3c | ||
|
|
b9cf6266e7 | ||
|
|
c0559dd931 | ||
|
|
34189b85ab | ||
|
|
c092f57b73 | ||
|
|
90d5f41b37 | ||
|
|
3f2129894b | ||
|
|
6fe649ecab | ||
|
|
98d2d9ee4e | ||
|
|
0b71d1cfff | ||
|
|
1c60bc5009 | ||
|
|
993054c9d3 | ||
|
|
ffa83c32a4 | ||
|
|
7d894fbe04 | ||
|
|
4b29615f2b | ||
|
|
0a05f78d47 | ||
|
|
429e90dffd | ||
|
|
e87325033d | ||
|
|
3d41a5b516 | ||
|
|
3f8252311e | ||
|
|
cd8fa39066 | ||
|
|
c2bc40f213 | ||
|
|
230230819e | ||
|
|
da150aeeac | ||
|
|
a299ef4210 | ||
|
|
302d6ee4a4 | ||
|
|
12fc59351e | ||
|
|
e105f6049d | ||
|
|
d810b12c6d | ||
|
|
221e6b53ef | ||
|
|
d808088c64 | ||
|
|
0c462467e3 | ||
|
|
fedfc3443d | ||
|
|
ba038e921f | ||
|
|
ac987e2439 | ||
|
|
23cc295b08 | ||
|
|
13f1d37403 | ||
|
|
2cdab999f5 | ||
|
|
4b29d257d9 | ||
|
|
ccf3994e3b | ||
|
|
99ecd9b69d | ||
|
|
45d0d60349 | ||
|
|
f1134cc5f1 | ||
|
|
864eecf7c3 | ||
|
|
68ce335f59 | ||
|
|
d0f17ba602 | ||
|
|
0ff18510c3 | ||
|
|
3df5b9f41f | ||
|
|
5bc8ff98de | ||
|
|
4fc19a3d4c | ||
|
|
2ac055383f | ||
|
|
5c12659cf4 | ||
|
|
4d30333099 | ||
|
|
4e411e8526 | ||
|
|
78263cd24b | ||
|
|
c097401f8b | ||
|
|
727b3288d6 | ||
|
|
544a49c060 | ||
|
|
8ac5e2f7b6 | ||
|
|
1764b7aca9 | ||
|
|
6267db6b01 | ||
|
|
1d73c8d259 | ||
|
|
ed909dba1d | ||
|
|
60f56c43c7 | ||
|
|
dbefd12571 | ||
|
|
3360734487 | ||
|
|
9ee0c835e5 | ||
|
|
645fa982af | ||
|
|
cc9b91363f | ||
|
|
c6d183c31b | ||
|
|
67564d83c8 | ||
|
|
c2e8f75bec | ||
|
|
40656ffb6e | ||
|
|
6236e82850 | ||
|
|
a5a8225a58 | ||
|
|
8ea0dfe453 | ||
|
|
42c39c6bfc | ||
|
|
27ecb555ea | ||
|
|
7979f8a41f | ||
|
|
e4d9dbf0c0 | ||
|
|
bf9fb6dcdb | ||
|
|
196962adac | ||
|
|
2a961a870b | ||
|
|
c3e1ae3478 | ||
|
|
8c97b54f5d | ||
|
|
658c1ad711 | ||
|
|
85f657b35e | ||
|
|
4e8b18c035 | ||
|
|
29a80065cc | ||
|
|
30df733c31 | ||
|
|
fa05294054 | ||
|
|
f9024d132a | ||
|
|
e944a30b6a | ||
|
|
7ea2d8ab18 | ||
|
|
072f4188ac | ||
|
|
167e940361 | ||
|
|
ce3a987d2d | ||
|
|
9cda019669 | ||
|
|
36a56faa14 | ||
|
|
e2c6d06b0d | ||
|
|
34aa53affb | ||
|
|
56a414593a | ||
|
|
cce119a9e7 | ||
|
|
878a20ab59 | ||
|
|
b6d06288e0 | ||
|
|
f85951ab24 | ||
|
|
4117e94ed5 | ||
|
|
c2e9e5961d | ||
|
|
f6b3bdda21 | ||
|
|
b4aa853e6f | ||
|
|
aed6591b19 | ||
|
|
ebd1381030 | ||
|
|
9cb0667260 | ||
|
|
5ec5050af2 | ||
|
|
05766d4bfe | ||
|
|
e953c1aa08 | ||
|
|
817d129be8 | ||
|
|
37954dffe7 | ||
|
|
a8c6409689 | ||
|
|
ae23e47eb5 | ||
|
|
de30a57c0c | ||
|
|
1daa445310 | ||
|
|
d90c7e9853 | ||
|
|
d9ebfa7192 | ||
|
|
2b941e255a | ||
|
|
ddab16007a | ||
|
|
299f764c5d | ||
|
|
78e6bcf643 | ||
|
|
dae4b2d9b0 | ||
|
|
bad961b36f | ||
|
|
61ee5fe1d5 | ||
|
|
15eb1c5f5e | ||
|
|
05c2530243 | ||
|
|
765e7d1efa | ||
|
|
a46de2f6d4 | ||
|
|
484e1dc9fd | ||
|
|
ec652367d0 | ||
|
|
e4f01a260d | ||
|
|
9a9bf9f2ea | ||
|
|
d6c37a757d | ||
|
|
3513342445 | ||
|
|
a0a9cfdcd3 | ||
|
|
93b015660d | ||
|
|
eb8dbcd04d | ||
|
|
9d78e10d4b | ||
|
|
b166dc4261 | ||
|
|
4c047bf11e | ||
|
|
bbe8c62e9d | ||
|
|
a6feeac5ed | ||
|
|
ca94cfcbac | ||
|
|
4c6fddd300 | ||
|
|
feb839e7f0 | ||
|
|
8a9029d393 | ||
|
|
c6ecee0748 | ||
|
|
5fb20dec91 | ||
|
|
5638e0916a | ||
|
|
d1b7768064 | ||
|
|
d68598165c | ||
|
|
d459b5da87 | ||
|
|
fdcc683997 | ||
|
|
0408d71cc5 | ||
|
|
1ce044c2b4 | ||
|
|
88b926e914 | ||
|
|
dadca9e033 | ||
|
|
3bcfa735cb | ||
|
|
d7a804d120 | ||
|
|
7b436e9823 | ||
|
|
9d693d2c80 | ||
|
|
cc177208b4 | ||
|
|
73897aface | ||
|
|
75be73cc8d | ||
|
|
d0c9b2de99 | ||
|
|
2c3ca15d90 | ||
|
|
3af77e7333 | ||
|
|
eb595b1f5f | ||
|
|
894ba49cb5 | ||
|
|
b0ef3572ea | ||
|
|
6924d44564 | ||
|
|
ec2688b50e | ||
|
|
ace39197e5 | ||
|
|
9c48c0ab8a | ||
|
|
ebb33ee8b4 | ||
|
|
9253f0d6bc | ||
|
|
a09053ce0b | ||
|
|
e10b5fd79b | ||
|
|
800c30604f | ||
|
|
2dcccae036 | ||
|
|
5d1ad05cb8 | ||
|
|
e5777f7ccf | ||
|
|
1452d8164d | ||
|
|
d066fbbcf5 | ||
|
|
bf924395fb | ||
|
|
680aacd4a7 | ||
|
|
699ba1fbd6 | ||
|
|
53b62184e8 | ||
|
|
fe43e13706 | ||
|
|
e608f8a94f | ||
|
|
fef8436eb4 | ||
|
|
7146dbc87d | ||
|
|
79fd078ae3 | ||
|
|
cc450706d1 | ||
|
|
44b2e4f331 | ||
|
|
8a7f566387 | ||
|
|
991af3755b | ||
|
|
9aae1efd03 | ||
|
|
3ea999f034 | ||
|
|
b90bf258e2 | ||
|
|
db351b4228 | ||
|
|
65907b1f10 | ||
|
|
4b04f81d37 | ||
|
|
1294c1c253 | ||
|
|
e8ee8435e9 | ||
|
|
89fc5e30c4 | ||
|
|
ea924ededd | ||
|
|
67384a29b7 | ||
|
|
0eba33ee74 | ||
|
|
37efb40c69 | ||
|
|
d151a1e38a | ||
|
|
c90d078fb7 | ||
|
|
5fd2b6fe4b | ||
|
|
eede412959 | ||
|
|
aa5d44b2b0 | ||
|
|
9b39c3f949 | ||
|
|
d2f74db4d8 | ||
|
|
deb5e97732 | ||
|
|
e9413567d7 | ||
|
|
8fb2576626 | ||
|
|
d84cc2d122 | ||
|
|
c95c9c2749 | ||
|
|
b81e54c1d2 | ||
|
|
03ceeb4ad1 | ||
|
|
ad7c5a6617 | ||
|
|
b052e64089 | ||
|
|
34ff99aef0 | ||
|
|
89031594eb | ||
|
|
b2238fdcd4 | ||
|
|
3aadf6c66e | ||
|
|
66698d4b1a | ||
|
|
4540205b0d | ||
|
|
4ed31cec69 | ||
|
|
f1612218a3 | ||
|
|
1e6279aee5 | ||
|
|
d52ef67d51 | ||
|
|
e57c409894 | ||
|
|
45da20e770 | ||
|
|
1dccd1333b | ||
|
|
cf3a0c4a30 | ||
|
|
01d2b809a1 | ||
|
|
5fd9169904 | ||
|
|
a4a1230c62 | ||
|
|
feaedc5b50 | ||
|
|
a2dfa7c721 | ||
|
|
164eb198ce | ||
|
|
d1e84a6dae | ||
|
|
2cda47cd36 | ||
|
|
959be2c98c | ||
|
|
71d64a3c1c | ||
|
|
a169e67e43 | ||
|
|
911ff40f6b | ||
|
|
9eab36b95a | ||
|
|
f6003b8e8c | ||
|
|
9900e7361d | ||
|
|
702ec52161 | ||
|
|
715aa919e6 | ||
|
|
29c9cb3e00 | ||
|
|
96df4e8b5e | ||
|
|
1cbd6bc3f9 | ||
|
|
376afd0edb | ||
|
|
133507b031 | ||
|
|
846d51db72 | ||
|
|
61f48f7620 | ||
|
|
3b431d9fa3 | ||
|
|
c43b3582db | ||
|
|
ab6840712b | ||
|
|
3dd8968876 | ||
|
|
fa6a5d9b72 | ||
|
|
2b07204952 | ||
|
|
d2a8e907ae | ||
|
|
cb8cb876ec | ||
|
|
65ce036b2e | ||
|
|
6cb6c241aa | ||
|
|
5e7d9b5fe3 | ||
|
|
080ec131d8 | ||
|
|
16ba232d08 | ||
|
|
6fc2cd9f61 | ||
|
|
fd6d00a4dd | ||
|
|
5493c9e7c2 | ||
|
|
253af1ed07 | ||
|
|
1d01777943 | ||
|
|
fe0d383bea | ||
|
|
446a785f95 | ||
|
|
b4ddd01d78 | ||
|
|
950606d46a | ||
|
|
92f94e4e5b | ||
|
|
770e529b20 | ||
|
|
3d1e322519 | ||
|
|
942ee47d05 | ||
|
|
dc001cb4be | ||
|
|
5bda57de87 | ||
|
|
3b03a96375 | ||
|
|
89c08dc6d4 | ||
|
|
145adf61ea | ||
|
|
b09024aa32 | ||
|
|
df4b6f9d14 | ||
|
|
54aff47513 | ||
|
|
2dabb65ee0 | ||
|
|
5d390489a8 | ||
|
|
6ba3deffa4 | ||
|
|
f70020a2b8 | ||
|
|
9246775ebe | ||
|
|
8e5f6b822d | ||
|
|
ce6ee1b891 | ||
|
|
d371046ae4 | ||
|
|
6096a24f1d | ||
|
|
eb21e484ee | ||
|
|
168f42bb83 | ||
|
|
41b29d5c81 | ||
|
|
90b9438b48 | ||
|
|
d2628d5949 | ||
|
|
68610490c9 | ||
|
|
13fbd7d1b4 | ||
|
|
1dbc5cb325 | ||
|
|
26945c32ac | ||
|
|
22ea30c75f | ||
|
|
9f8bfb859c | ||
|
|
c7ff416ce9 | ||
|
|
be95cb8f58 | ||
|
|
6260414136 | ||
|
|
2f6b5621cc | ||
|
|
95e5471cd6 | ||
|
|
57ad7c8766 | ||
|
|
fd7f32ecd3 | ||
|
|
8605393953 | ||
|
|
f838ba7341 | ||
|
|
47ee543fe0 | ||
|
|
12b9b10355 | ||
|
|
03421694b2 | ||
|
|
98491d7c92 | ||
|
|
3fbefdef45 | ||
|
|
9565f41381 | ||
|
|
5d5bd472c6 | ||
|
|
79f97e7714 | ||
|
|
cf7558add3 | ||
|
|
b93f9fbba4 | ||
|
|
47d5e74a6e | ||
|
|
b8211a2921 | ||
|
|
624e5025b0 | ||
|
|
5cca1e8b1d | ||
|
|
623f047397 | ||
|
|
38c4449ab1 | ||
|
|
c1fd3218df | ||
|
|
f942c629d7 | ||
|
|
ec310fceb8 | ||
|
|
f14e793197 | ||
|
|
bdcc5ba549 | ||
|
|
e30e233064 | ||
|
|
78e80eb942 | ||
|
|
0c8366c1e9 | ||
|
|
5608453aea | ||
|
|
582e43931d | ||
|
|
9b3b652fa5 | ||
|
|
71a9ed04a2 | ||
|
|
4bb4f033ea | ||
|
|
a3a5fbe809 | ||
|
|
7971eec3cc | ||
|
|
7a139a800e | ||
|
|
ae811baaf1 | ||
|
|
0a051a4dee | ||
|
|
78870219a4 | ||
|
|
251e984ba8 | ||
|
|
4de40a20cb | ||
|
|
7a93d3c707 | ||
|
|
fb8de287be | ||
|
|
2c742ffc1c | ||
|
|
15756cc730 | ||
|
|
9ab8026dbb | ||
|
|
b3015ef731 | ||
|
|
5164b88a27 | ||
|
|
a41b76795a | ||
|
|
f8d08b1e1a | ||
|
|
2f357ba9b2 | ||
|
|
80fc8cd11e | ||
|
|
2c9c8ee196 | ||
|
|
60c1290468 | ||
|
|
9f767770ac | ||
|
|
8289c94e69 | ||
|
|
f99cb177c6 | ||
|
|
d03f28d0ed | ||
|
|
3c71455bd6 | ||
|
|
416040dfb6 | ||
|
|
a998d34907 | ||
|
|
aeb13b60a7 | ||
|
|
073443d865 | ||
|
|
6239fbe18c | ||
|
|
c642c07ea0 | ||
|
|
43d2fd2a96 | ||
|
|
bb9c98f4c9 | ||
|
|
36123c9c8f | ||
|
|
0063f73f8a | ||
|
|
8485d59aa6 | ||
|
|
7381a2c420 | ||
|
|
be26b0631b | ||
|
|
066a5e0fec | ||
|
|
10c2ce205b | ||
|
|
193b7b9ee7 | ||
|
|
d40def3d2d | ||
|
|
7890f4102e | ||
|
|
6dae5324dd | ||
|
|
74098077d3 | ||
|
|
9ff58e5bc5 | ||
|
|
fa9ec1fb71 | ||
|
|
8e19d84cb4 | ||
|
|
8db0def88b | ||
|
|
1bc05a7aa0 | ||
|
|
758d9466c0 | ||
|
|
bc44bd583c | ||
|
|
d85ca8aedd | ||
|
|
46849a2919 | ||
|
|
ac4cb258be | ||
|
|
16a8a64746 | ||
|
|
f91c8ad247 | ||
|
|
d3d6de2704 | ||
|
|
3cb3d5dad3 | ||
|
|
86091ac6bf | ||
|
|
a55807f682 | ||
|
|
a5225b46fe | ||
|
|
c680c9fa05 | ||
|
|
35a4a03c51 | ||
|
|
358084806a | ||
|
|
ad051efa0b | ||
|
|
4dcf18eca7 | ||
|
|
a4ad212316 | ||
|
|
4cb5063e9c | ||
|
|
fcbb4a5246 | ||
|
|
51d7c0f1eb | ||
|
|
80a468f8bd | ||
|
|
9e82de4607 | ||
|
|
55881e913d | ||
|
|
7e1df39432 | ||
|
|
3a6920bf10 | ||
|
|
9004c4fccb | ||
|
|
36315ecc06 | ||
|
|
1dae5062e9 | ||
|
|
f614f3b9e2 | ||
|
|
e60836add8 | ||
|
|
36a27055e8 | ||
|
|
a94b614f2d | ||
|
|
3bf3bfa294 | ||
|
|
f835412562 | ||
|
|
bcc8c5049b | ||
|
|
9dec4034e3 | ||
|
|
c00c89c2b7 | ||
|
|
4d045a68e3 | ||
|
|
964c4a220e | ||
|
|
e004e92f21 | ||
|
|
2290e70e0c | ||
|
|
4c74d4b851 | ||
|
|
cb20b2e968 | ||
|
|
3232ce1bad | ||
|
|
735f0cda25 | ||
|
|
e8e1889b0b | ||
|
|
9cb8bf9500 | ||
|
|
8ec1f76b9c | ||
|
|
f69b993ee6 | ||
|
|
85fb6ba944 | ||
|
|
8e787c0c0a | ||
|
|
4595d08c6e | ||
|
|
3717f36c52 | ||
|
|
0e4d3aa7c5 | ||
|
|
0113d1328b | ||
|
|
976d07b98f | ||
|
|
08bad5b93b | ||
|
|
133d703964 | ||
|
|
1334a10101 | ||
|
|
b9779927e7 | ||
|
|
354dcd6101 | ||
|
|
15047d9754 | ||
|
|
3943dc1216 | ||
|
|
b8d0bd7f95 | ||
|
|
4579d584b1 | ||
|
|
db2dfc9226 | ||
|
|
738d6dba88 | ||
|
|
cb5ced7c9d | ||
|
|
4285a30236 | ||
|
|
8ec41083e9 | ||
|
|
4ddbe5f838 | ||
|
|
ab7079df00 | ||
|
|
bfe9ddeb6a | ||
|
|
f8a940bce4 | ||
|
|
395e072c3b | ||
|
|
d365b8a4ee | ||
|
|
5867d3a020 | ||
|
|
546e82965d | ||
|
|
6f74a2e9c7 | ||
|
|
6a5375ace4 | ||
|
|
6eeaf7485c | ||
|
|
e9bf0dd64f | ||
|
|
16d896b73f | ||
|
|
e1fbb8465b | ||
|
|
e1b8508798 | ||
|
|
244da9c911 | ||
|
|
dfab2b27cd | ||
|
|
55ea831e2d | ||
|
|
6e3e98220b | ||
|
|
6fac3be97c | ||
|
|
976c6af74b | ||
|
|
72e2751bfd | ||
|
|
84e2fee9a4 | ||
|
|
164acad6cb | ||
|
|
ebcf6ec52d | ||
|
|
c38504b06d | ||
|
|
058126ae41 | ||
|
|
910ce5c1fd | ||
|
|
09e0dd02a0 | ||
|
|
3922cccafb | ||
|
|
249a04dbde | ||
|
|
d2e8f7bc90 | ||
|
|
7684918112 | ||
|
|
4ee3e59f19 | ||
|
|
7f9909ef81 | ||
|
|
d8b8368e4e | ||
|
|
9ad2eea146 | ||
|
|
29b9a9f615 | ||
|
|
5d0f064edc | ||
|
|
627ec17b14 | ||
|
|
4f195d46f9 | ||
|
|
3954e9bccb | ||
|
|
9fab67761f | ||
|
|
2e51b2b17c | ||
|
|
f2f358262e | ||
|
|
b8c450cb46 | ||
|
|
bb20af1695 | ||
|
|
2db4592029 | ||
|
|
190911e26f | ||
|
|
a2aaeb0d1d | ||
|
|
057fd866da | ||
|
|
3edb27aa3b | ||
|
|
02fbcad697 | ||
|
|
f0e16514e0 | ||
|
|
e0c7880e34 | ||
|
|
6a6581815d | ||
|
|
0f404280a1 | ||
|
|
141b887d4d | ||
|
|
770b22e14d | ||
|
|
7e7f9ffa58 | ||
|
|
ff8d2e84bf | ||
|
|
1d7bcb9348 | ||
|
|
3ba6dd0a4a | ||
|
|
9d4f1a0415 | ||
|
|
c6b9a012c8 | ||
|
|
60fffb289a | ||
|
|
0eaf3eef6d | ||
|
|
0f250d06b9 | ||
|
|
b8dbe0254a | ||
|
|
1a2207ffc9 | ||
|
|
ebd2e5085a | ||
|
|
9cdaf82f95 | ||
|
|
7f1e69f5e0 | ||
|
|
f576764214 | ||
|
|
8b06ff18c0 | ||
|
|
fce4bc0c58 | ||
|
|
9775a71433 | ||
|
|
8f86d5533b | ||
|
|
7fc69a34ac | ||
|
|
ce313922d1 | ||
|
|
646997ed43 | ||
|
|
f5c24be572 | ||
|
|
ff0ddcb52b | ||
|
|
e4c1bf15da | ||
|
|
ba3cd27d30 | ||
|
|
7c96af75c5 | ||
|
|
87d26b68f4 | ||
|
|
623d763457 | ||
|
|
501da2de2b | ||
|
|
6702b3c85e | ||
|
|
b523d72471 | ||
|
|
964546d444 | ||
|
|
320312e7cc | ||
|
|
4bb152eb65 | ||
|
|
933e8c967d | ||
|
|
bf7ef02fbc | ||
|
|
3e614d9353 | ||
|
|
087b7bd8c8 | ||
|
|
ff1eca5701 | ||
|
|
be5298925c | ||
|
|
fb97ce4bfd | ||
|
|
1ea27c35d0 | ||
|
|
17b9f9c2a8 | ||
|
|
f8b05deef4 | ||
|
|
37ebe3781b | ||
|
|
3834232c29 | ||
|
|
eec62257c7 | ||
|
|
9d3cdc5a10 | ||
|
|
b54fb2dfd1 | ||
|
|
78244351b7 | ||
|
|
cd1b7a9e9d | ||
|
|
c6f23eefc8 | ||
|
|
5276033be1 | ||
|
|
eb8490f13a | ||
|
|
c317319d09 | ||
|
|
3e84da0aca | ||
|
|
302016997a | ||
|
|
2cc46e11d3 | ||
|
|
be22b8ad4d | ||
|
|
5d45c655bd | ||
|
|
db20b1dc14 | ||
|
|
59d386e18f | ||
|
|
cbbdd3d9cf | ||
|
|
45cbb04a04 | ||
|
|
c611077e3d | ||
|
|
722bdebd39 | ||
|
|
175da4bcd6 | ||
|
|
f92e1f2e3c | ||
|
|
851c65344c | ||
|
|
3ceae59857 | ||
|
|
cdf83d2a26 | ||
|
|
14956f3b15 | ||
|
|
1effa5944b | ||
|
|
3050e3afcd | ||
|
|
c40e099969 | ||
|
|
3d4772e1fe | ||
|
|
6b3920f9e0 | ||
|
|
fc6548db5c | ||
|
|
87e90b6e9a | ||
|
|
82cfbb5fa8 | ||
|
|
6f11c4ffad | ||
|
|
ef13a470e8 | ||
|
|
fd305c1e31 | ||
|
|
9fbeb68b22 | ||
|
|
cf8c7ee28d | ||
|
|
218c98d4d5 | ||
|
|
9cf4f166c0 | ||
|
|
7c12916718 | ||
|
|
76fae9da82 | ||
|
|
d099df0533 | ||
|
|
926959d80a | ||
|
|
750ce30768 | ||
|
|
0be3882f08 | ||
|
|
f7c59ee1ec | ||
|
|
db48605434 | ||
|
|
d586c83dae | ||
|
|
dc75972e9e | ||
|
|
4cd32829ea | ||
|
|
3792347d5d | ||
|
|
92043bc7c8 | ||
|
|
e653204ffe | ||
|
|
89716ac831 | ||
|
|
06ddd042f2 | ||
|
|
2bd30afdeb | ||
|
|
314cdd7feb | ||
|
|
1951e84505 | ||
|
|
c6c199bd59 | ||
|
|
aebf61464d | ||
|
|
8afbf3f5ff | ||
|
|
190e04b0ce | ||
|
|
b9651e4b06 | ||
|
|
eb2f2a2fca | ||
|
|
eb25027f7b | ||
|
|
cb322551e5 | ||
|
|
d6fe34107e | ||
|
|
5dd952ba8c | ||
|
|
4f9b30d50d | ||
|
|
b252059369 | ||
|
|
12aa8693b8 | ||
|
|
43abc5b01f | ||
|
|
0dc82c0d11 | ||
|
|
e95184e20e | ||
|
|
f0242fb7d5 | ||
|
|
7e3aaf199a | ||
|
|
74bdc06529 | ||
|
|
1579d2ec41 | ||
|
|
93291add05 | ||
|
|
ba13ba32a1 | ||
|
|
cac1e26372 | ||
|
|
9dcd7f8858 | ||
|
|
49bf32dc06 | ||
|
|
e85d7756a6 | ||
|
|
2edd9543ce | ||
|
|
14b27f8317 | ||
|
|
e4f38f4476 | ||
|
|
77fa71994f | ||
|
|
bfaa2b37e0 | ||
|
|
e35f4fb48f | ||
|
|
3b964c9674 | ||
|
|
479f450d11 | ||
|
|
ace0bc414b | ||
|
|
879ed5bb95 | ||
|
|
800568dd58 | ||
|
|
2628a176f9 | ||
|
|
648c8e21e3 | ||
|
|
c138454bcc | ||
|
|
bc46c90cfa | ||
|
|
9c1c1c04d8 | ||
|
|
bf46abf8c5 | ||
|
|
dd38de6263 | ||
|
|
0302e7be97 | ||
|
|
c60144afbb | ||
|
|
138d2badb2 | ||
|
|
b9bda8c40d | ||
|
|
561e973c5d | ||
|
|
76026ed59e | ||
|
|
16acb7675e | ||
|
|
1af84ed9a0 | ||
|
|
6129ff532b | ||
|
|
f6e7a91fb4 | ||
|
|
9509288b80 | ||
|
|
f800e71d7a | ||
|
|
0300d4fcd1 | ||
|
|
0046d8ec5c | ||
|
|
bcc03acfc8 | ||
|
|
e0b23258dc | ||
|
|
8bf9766e9e | ||
|
|
bdd7466afd | ||
|
|
2ed9df708f | ||
|
|
ad95ba7854 | ||
|
|
27f975666c | ||
|
|
103d3ccfcd | ||
|
|
3885dd8504 | ||
|
|
5cad3ce55a | ||
|
|
f1e70517ec | ||
|
|
afc80949e3 | ||
|
|
6eca9a6aac | ||
|
|
33bb1a22ff | ||
|
|
df662f4b66 | ||
|
|
d6349e0f92 | ||
|
|
69346960b8 | ||
|
|
7a0d630d1b | ||
|
|
f82208b009 | ||
|
|
1e7886b9c7 | ||
|
|
5f151b1316 | ||
|
|
09f2dc8d69 | ||
|
|
e602d6e9c3 | ||
|
|
3fbfddc5fb | ||
|
|
53fed67bbc | ||
|
|
8867d55b83 | ||
|
|
f2ac6796aa | ||
|
|
e9e9d7aab8 | ||
|
|
24a9886717 | ||
|
|
a45a92a71f | ||
|
|
a60ac67783 | ||
|
|
d23c83dd1e | ||
|
|
d5591bc184 | ||
|
|
6aabee0564 | ||
|
|
a5ca1928f5 | ||
|
|
582c2f65e3 | ||
|
|
0ac1b8d6b1 | ||
|
|
20f7320bae | ||
|
|
4bc9a9d9cc | ||
|
|
b40c76a632 | ||
|
|
815e30c47f | ||
|
|
db02a89b5d | ||
|
|
ceca1c496d | ||
|
|
623e951e33 | ||
|
|
c2608599aa | ||
|
|
d29ec4c800 | ||
|
|
34e03fd9ec | ||
|
|
2c27c075a9 | ||
|
|
3ee9b35080 | ||
|
|
88fdaeb490 | ||
|
|
be594912eb | ||
|
|
ded575c477 | ||
|
|
caa74b325d | ||
|
|
a270a56a71 | ||
|
|
baa582ac0b | ||
|
|
5b97a74dbc | ||
|
|
e1ef1325ec | ||
|
|
152241f26c | ||
|
|
a08f9e51a0 | ||
|
|
7a0a0edb89 | ||
|
|
5afc349199 | ||
|
|
dd27a66a7b | ||
|
|
81930053dd | ||
|
|
c143dd1f41 | ||
|
|
32253a4e51 | ||
|
|
67fc9a4d36 | ||
|
|
919645f283 | ||
|
|
687c8052ae | ||
|
|
6c1c260e7b | ||
|
|
27bfc8e35f | ||
|
|
19ddffecba | ||
|
|
dcbd75f6bf | ||
|
|
6a8160c374 | ||
|
|
092c0a6531 | ||
|
|
560317c8ba | ||
|
|
6b0afe0834 | ||
|
|
c802980d6a | ||
|
|
82b268ee50 | ||
|
|
7165b29809 | ||
|
|
a6b807b1d8 | ||
|
|
16bf472e66 | ||
|
|
9e3b759540 | ||
|
|
e95db437a9 | ||
|
|
e0718314b3 | ||
|
|
590de7566d | ||
|
|
6b7d23ca74 | ||
|
|
a7b2a92fc2 | ||
|
|
c738c94935 | ||
|
|
0d7fba2332 | ||
|
|
b5b3654017 | ||
|
|
aa64234707 | ||
|
|
3a5fee75a3 | ||
|
|
b816ee6676 | ||
|
|
b3846ee1c4 | ||
|
|
343bc1a489 | ||
|
|
e9888a0c28 | ||
|
|
77a6ea3704 | ||
|
|
7476c86ba9 | ||
|
|
2040da0520 | ||
|
|
68da626d9c | ||
|
|
e17cb6d602 | ||
|
|
1446b7dcc3 | ||
|
|
297a11fcec | ||
|
|
794ebd7a0b | ||
|
|
16d259d2b4 | ||
|
|
268823fdbb | ||
|
|
a0e0c789db | ||
|
|
65c8b49430 | ||
|
|
43c0f5ecd7 | ||
|
|
997c67de35 | ||
|
|
0dab508c75 | ||
|
|
3f314c0ee9 | ||
|
|
86d68bea8c | ||
|
|
b4231401bd | ||
|
|
0d5dbb2ce2 | ||
|
|
5b0023c3df | ||
|
|
1628efd569 | ||
|
|
a9e0dba991 | ||
|
|
48ae6716ad | ||
|
|
3ef8dd3c0c | ||
|
|
db44d59f7c | ||
|
|
46541237e0 | ||
|
|
8f9777d9e0 | ||
|
|
5aa75ae81f | ||
|
|
799aec23a6 | ||
|
|
30dc9b8d1a | ||
|
|
e6e93f3d18 | ||
|
|
c2b8479ea3 | ||
|
|
94e7b11870 | ||
|
|
dcdf7ade08 | ||
|
|
44257b9b4a | ||
|
|
93e94c8dea | ||
|
|
93ee91fb4b | ||
|
|
e0cc3650e4 | ||
|
|
d30fc65dd5 | ||
|
|
91199c57e8 | ||
|
|
25efedf3e6 | ||
|
|
0f291aee86 | ||
|
|
75441afb71 | ||
|
|
1a5852ab91 | ||
|
|
4674b09421 | ||
|
|
2fdb1e6b0d | ||
|
|
8328bbf51d | ||
|
|
4da7e1553f | ||
|
|
8062f8d029 | ||
|
|
1b73ffb8ae | ||
|
|
f67fb3b326 | ||
|
|
1c3d386e09 | ||
|
|
b6ffa4af64 | ||
|
|
1abb5f4734 | ||
|
|
3640beaa46 | ||
|
|
d0ac06c9b0 | ||
|
|
1c34d798be | ||
|
|
fc4faa582a | ||
|
|
43af562ce1 | ||
|
|
5813fd81d3 | ||
|
|
e6b9a4b292 | ||
|
|
e0ae8ddc68 | ||
|
|
8bdc3b092c | ||
|
|
2314cddb5a | ||
|
|
61bd7be6be | ||
|
|
9beedbafdd | ||
|
|
14c7ae6f0c | ||
|
|
47743d5fcf | ||
|
|
348ea815b0 | ||
|
|
71cec58d86 | ||
|
|
b8f7167dcd | ||
|
|
0fc1fb4a36 | ||
|
|
f34bd59660 | ||
|
|
20dd6fd872 | ||
|
|
74f92564c3 | ||
|
|
a5e69e7ea6 | ||
|
|
d78672a4b4 | ||
|
|
b32c12dd83 | ||
|
|
75ee10478e | ||
|
|
8669710c0f | ||
|
|
ba5859f724 | ||
|
|
e5b08baf56 | ||
|
|
f7a5f6ed73 | ||
|
|
a3ae28a81c | ||
|
|
7c7c5af59f | ||
|
|
01f151c3ab | ||
|
|
4bfd57153f | ||
|
|
c34d6f0ea0 | ||
|
|
4474ed2668 | ||
|
|
1281032f33 | ||
|
|
e9597e8721 | ||
|
|
13081e0989 | ||
|
|
bf1ef6157c | ||
|
|
95b22298ab | ||
|
|
d8482fbd57 | ||
|
|
f9ba3b734c | ||
|
|
8f40243315 | ||
|
|
8c26b837ef | ||
|
|
c48df98145 | ||
|
|
f4260ed7bc | ||
|
|
c6decc7bb8 | ||
|
|
23831f08de | ||
|
|
fd02cbed9d | ||
|
|
99919d2899 | ||
|
|
643e88f9cb | ||
|
|
451acb3423 | ||
|
|
a0280d4917 | ||
|
|
3ad83f2191 | ||
|
|
f64bf76ae8 | ||
|
|
8d0098b818 | ||
|
|
89fcb0d404 | ||
|
|
c0f23d24ad | ||
|
|
fc244f6b95 | ||
|
|
26787ba380 | ||
|
|
e2ad9efe41 | ||
|
|
f44af28a31 | ||
|
|
eed8cec726 | ||
|
|
890a181ae5 | ||
|
|
6a9eeeb5b0 | ||
|
|
6ea1f8ee85 | ||
|
|
787d5c57ad | ||
|
|
47366cbbf6 | ||
|
|
ece6f10588 | ||
|
|
6671a92a8e | ||
|
|
6a6aa094fa | ||
|
|
33f12acbc9 | ||
|
|
20ce50e8db | ||
|
|
53337f8171 | ||
|
|
b195c10a4c | ||
|
|
dbd39c63a9 | ||
|
|
45c4f7d46f | ||
|
|
4fc1270110 | ||
|
|
35153a6dca | ||
|
|
2cdccd5e8a | ||
|
|
5839298203 | ||
|
|
a4e1cf9a0a | ||
|
|
86ca11222a | ||
|
|
b2319f3578 | ||
|
|
e9fec5e3fe | ||
|
|
4e3bba0c3f | ||
|
|
92e16432f7 | ||
|
|
0129622383 | ||
|
|
1be54d13bc | ||
|
|
3c1bb85b8e | ||
|
|
299f967527 | ||
|
|
f8f901b05e | ||
|
|
3c1641e3e3 | ||
|
|
680f0c17f5 | ||
|
|
bfb8568a5f | ||
|
|
945291fd69 | ||
|
|
9fecf0b2cc | ||
|
|
1486886e13 | ||
|
|
1585a0532a | ||
|
|
702045cce1 | ||
|
|
ecd1040e07 | ||
|
|
ce4d1e0e54 | ||
|
|
422d245cab | ||
|
|
eb04ce8190 | ||
|
|
c977afe0b8 | ||
|
|
8cacfa70d5 | ||
|
|
fd6662bb64 | ||
|
|
4c58757064 | ||
|
|
4b492ed4e5 | ||
|
|
2eb20b3e8a | ||
|
|
cdc6e1c61f | ||
|
|
81e804ed7f | ||
|
|
3dd9ed0414 | ||
|
|
72e548fa84 | ||
|
|
e385ec1b5e | ||
|
|
f74ce463b2 | ||
|
|
5c648d545d | ||
|
|
18e27d6162 | ||
|
|
d287a0afa1 | ||
|
|
a05f513779 | ||
|
|
7ba7c6f69a | ||
|
|
2fb0f6b47d | ||
|
|
6b5c858b20 | ||
|
|
3f8c29d303 | ||
|
|
b6e18e14d5 | ||
|
|
9caf7cefd8 | ||
|
|
d5dcea65b7 | ||
|
|
97fd42063b | ||
|
|
6b16b99192 | ||
|
|
4c7c3d8f2f | ||
|
|
06d423d503 | ||
|
|
222693e3a3 | ||
|
|
90fc16ff1c | ||
|
|
43a1c24784 | ||
|
|
c7cb201070 | ||
|
|
37456219eb | ||
|
|
04a13cf949 | ||
|
|
0e6b490c8b | ||
|
|
6017671fd9 | ||
|
|
ca5462a698 | ||
|
|
412fd70404 | ||
|
|
b65084b459 | ||
|
|
bfd76b6dd7 | ||
|
|
91a5eb3770 | ||
|
|
d0e9ceb2b5 | ||
|
|
4121c64295 | ||
|
|
b7ba02d76f | ||
|
|
2414a832d7 | ||
|
|
885b360a41 | ||
|
|
b3d28dd517 | ||
|
|
5040a4b2a1 | ||
|
|
d5cb3661f3 | ||
|
|
426e93b4bf | ||
|
|
2e33185dcb | ||
|
|
19dab6bbab | ||
|
|
c44557665c | ||
|
|
2388d022aa | ||
|
|
3a21734c68 | ||
|
|
f8b53e91fa | ||
|
|
c31c7d2782 | ||
|
|
77b300682a | ||
|
|
26ab64f207 | ||
|
|
e4193451d4 | ||
|
|
4e8f62fb96 | ||
|
|
67def0ca0d | ||
|
|
2c00f1e898 | ||
|
|
84dba7f6ae | ||
|
|
5115a1b50f | ||
|
|
4a71a1fbb2 | ||
|
|
8d0b0e6ffc | ||
|
|
4c3120b935 | ||
|
|
865be55e66 | ||
|
|
d0d0941a64 | ||
|
|
c577ec1383 | ||
|
|
d6009721d4 | ||
|
|
220171d0da | ||
|
|
0851474757 | ||
|
|
79c243ccef | ||
|
|
4cf7db1ef5 | ||
|
|
58de94edd4 | ||
|
|
004a57bdff | ||
|
|
d12c2d6810 | ||
|
|
9f2d27d9c1 | ||
|
|
266f35ee37 | ||
|
|
38b330482d | ||
|
|
889f3a7c14 | ||
|
|
52d7991b9b | ||
|
|
b2ae73879b | ||
|
|
2f4e2a34c3 | ||
|
|
dd6c1cfb7d | ||
|
|
6001d3eab9 | ||
|
|
25ecaf873b | ||
|
|
21c093476f | ||
|
|
eb86bc33b9 | ||
|
|
9cb81f1410 | ||
|
|
3466abc60c | ||
|
|
2feba69622 | ||
|
|
f36b9b544d | ||
|
|
10c1b050c7 | ||
|
|
786b4310d0 | ||
|
|
2d0bc67c41 | ||
|
|
cc9535e82f | ||
|
|
3cb85fd5e8 | ||
|
|
7664a2f61e | ||
|
|
dc9c0fe90b | ||
|
|
81338a61c3 | ||
|
|
d368005912 | ||
|
|
1cb18182ed | ||
|
|
53b1a18680 | ||
|
|
c8956ce19b | ||
|
|
18412e1cd2 | ||
|
|
4379f9cc8f | ||
|
|
67594cca70 | ||
|
|
1ba39b678c | ||
|
|
0587d9f5d4 | ||
|
|
bca8fcb947 | ||
|
|
a88704c6b5 | ||
|
|
d679faaf22 | ||
|
|
b861f6df8f | ||
|
|
c293b299d8 | ||
|
|
d059682692 | ||
|
|
8c975dfb36 | ||
|
|
3266e70de4 | ||
|
|
328781bf8a | ||
|
|
5ef420af5a | ||
|
|
b74de2319f | ||
|
|
4e406b744c | ||
|
|
f8cdb2ab63 | ||
|
|
39df6f8f66 | ||
|
|
a49bf13b25 | ||
|
|
5d8cf4ec48 | ||
|
|
2bf8be5b3b | ||
|
|
fffb4c3b40 | ||
|
|
7f0b4b090c | ||
|
|
02a46e0237 | ||
|
|
49b4a57add | ||
|
|
0f6cb5b114 | ||
|
|
0e45976f9b | ||
|
|
388ae87cb3 | ||
|
|
904a77e03c | ||
|
|
2bda128ef1 | ||
|
|
246814e63b | ||
|
|
d006317b0e | ||
|
|
14988f5dda | ||
|
|
bfa9e77523 | ||
|
|
7c417359ec | ||
|
|
1df61b6ec7 | ||
|
|
364e72921c | ||
|
|
9088d66758 | ||
|
|
3d0013ab30 | ||
|
|
ad82392428 | ||
|
|
24c8de87c2 | ||
|
|
6dbafda53f | ||
|
|
86b6514c16 | ||
|
|
30b00ed076 | ||
|
|
118e73ddf9 | ||
|
|
1f51a9f587 | ||
|
|
5747fa4df3 | ||
|
|
9dd13d7047 | ||
|
|
ee345600b4 | ||
|
|
9cb005c98f | ||
|
|
449341f873 | ||
|
|
470b648b9f | ||
|
|
84d639e40c | ||
|
|
e488d7b2a6 | ||
|
|
10b8920ecc | ||
|
|
856517a771 | ||
|
|
dfe478b154 | ||
|
|
ddfbe932e3 | ||
|
|
e7469212d7 | ||
|
|
94d1bfc450 | ||
|
|
0436c6e314 | ||
|
|
1ff68e2894 | ||
|
|
e0745204b6 | ||
|
|
766e0e2144 | ||
|
|
9308f5147d | ||
|
|
096c28bb52 | ||
|
|
2ea9cf0449 | ||
|
|
179f2d05aa | ||
|
|
b3217ccb03 | ||
|
|
d23c9b6aa5 | ||
|
|
61dc15cad0 | ||
|
|
afe9d6a2eb | ||
|
|
4e5b521903 | ||
|
|
98bc021c5a | ||
|
|
f64ee3370d | ||
|
|
bae2821d5a | ||
|
|
7bbc006014 | ||
|
|
24227482ea | ||
|
|
f7fa81b244 | ||
|
|
a26778744a | ||
|
|
8e60102e8e | ||
|
|
e3ca14116d | ||
|
|
7118c9236b | ||
|
|
112e216e53 | ||
|
|
a29a1b0a59 | ||
|
|
98f862b8fb | ||
|
|
25363ae00a | ||
|
|
c50f5c9467 | ||
|
|
d8366132c7 | ||
|
|
b00cb182d9 | ||
|
|
ccb77735d2 | ||
|
|
a0fc95bb15 | ||
|
|
333c31e4ce | ||
|
|
6e5a988f85 | ||
|
|
82f55a930a | ||
|
|
e327071615 | ||
|
|
e66a54ac14 | ||
|
|
97c83de37b | ||
|
|
11bcaba99b | ||
|
|
908173b663 | ||
|
|
91cf347f31 | ||
|
|
273721e05e | ||
|
|
43fdc8781d | ||
|
|
90cc44b410 | ||
|
|
d1ae098190 | ||
|
|
9da9b979f2 | ||
|
|
ad1ebb697f | ||
|
|
6332f090d9 | ||
|
|
4579a7e181 | ||
|
|
c3e01062ea | ||
|
|
fc12b19659 | ||
|
|
91920f807e | ||
|
|
3aeaa36a58 | ||
|
|
12f9a2f1f8 | ||
|
|
22a3d55e40 | ||
|
|
1f6bc6240f | ||
|
|
92bfbeb8ab | ||
|
|
cf1bc4fad4 | ||
|
|
4f4487cb03 | ||
|
|
6beb090193 | ||
|
|
38511843e5 | ||
|
|
21858b52e7 | ||
|
|
06725c166e | ||
|
|
1bcf93d010 | ||
|
|
4920ffa23a | ||
|
|
683739d6fc | ||
|
|
05b8af07aa | ||
|
|
3bd72b9659 | ||
|
|
0707cdbe2c | ||
|
|
f4702cbc40 | ||
|
|
412a30987a | ||
|
|
34dd29556f | ||
|
|
de158c0847 | ||
|
|
d1cbb1deeb | ||
|
|
666f266e90 | ||
|
|
65564a158c | ||
|
|
bdd18d958b | ||
|
|
58dd28f053 | ||
|
|
ba93ab07bc | ||
|
|
87fe2f5d0e | ||
|
|
c9ccc82b9f | ||
|
|
0b84465276 | ||
|
|
921e549172 | ||
|
|
6ac4aa4e20 | ||
|
|
7d6b6ef986 | ||
|
|
cff0f71ea8 | ||
|
|
7ffbf7aa75 | ||
|
|
c32846dc6e | ||
|
|
884f72637b | ||
|
|
2235830e31 | ||
|
|
1cdd4676b2 | ||
|
|
89909cd4ed | ||
|
|
6a76d6d905 | ||
|
|
37d0c4066c | ||
|
|
1d3318c247 | ||
|
|
9e9b3dbaca | ||
|
|
230f4d3807 | ||
|
|
325ff9667e | ||
|
|
366701e066 | ||
|
|
33cf8608b7 | ||
|
|
2feadf865c | ||
|
|
b35a9d97a6 | ||
|
|
c0c89a81e4 | ||
|
|
332742b688 | ||
|
|
bd94879be2 | ||
|
|
308b5b68e9 | ||
|
|
a39c23f796 | ||
|
|
f09f0dd913 | ||
|
|
ad009f0ff6 | ||
|
|
4eaf68d414 | ||
|
|
380f6e7db5 | ||
|
|
970607cde5 | ||
|
|
2d96f79bc7 | ||
|
|
1d36f255ec | ||
|
|
622d2c4e39 | ||
|
|
cb0dca0ca7 | ||
|
|
37e7e65f43 | ||
|
|
8b0de8a931 | ||
|
|
a7e6f9840c | ||
|
|
1918f0ac9b | ||
|
|
6637e28831 | ||
|
|
f796c26091 | ||
|
|
ba33c3f57d | ||
|
|
4f87c7cc64 | ||
|
|
c3d7a90084 | ||
|
|
f6636635fa | ||
|
|
c48e821c4b | ||
|
|
674a543909 | ||
|
|
2338e70709 | ||
|
|
fd8d51497c | ||
|
|
94445cd16f | ||
|
|
cf1c0b6774 | ||
|
|
86f1965202 | ||
|
|
6ba8a385a0 | ||
|
|
eeaa111835 | ||
|
|
28b1687aaf | ||
|
|
fb7b880dc0 | ||
|
|
bd23ad4d6d | ||
|
|
52e4387929 | ||
|
|
62da869e49 | ||
|
|
5f4605c4fc | ||
|
|
d6ef8326f9 | ||
|
|
85d345088d | ||
|
|
5d90087e66 | ||
|
|
82bdc77e41 | ||
|
|
bed61df837 | ||
|
|
a93542e80c | ||
|
|
f1f700799b | ||
|
|
f98e5f4feb | ||
|
|
11d81b1f43 | ||
|
|
fcda94f258 | ||
|
|
4db50e8e93 | ||
|
|
faf6266cde | ||
|
|
c9bb1483ac | ||
|
|
9e6c1d1303 | ||
|
|
14d05c61b6 | ||
|
|
af3d4581d3 | ||
|
|
f636d4e634 | ||
|
|
24f5bac899 | ||
|
|
31128d4809 | ||
|
|
25a35d6b59 | ||
|
|
f3db74395d | ||
|
|
7f1f0249f3 | ||
|
|
c90c3c9133 | ||
|
|
ae9101961e | ||
|
|
9a523abbfb | ||
|
|
7d6541274d | ||
|
|
d69e81cd66 | ||
|
|
5adb29ce31 | ||
|
|
1d7bf7355c | ||
|
|
004c60de39 | ||
|
|
dcacba472a | ||
|
|
09862e7ce9 | ||
|
|
2324bd62f6 | ||
|
|
2a25921515 | ||
|
|
2635655e8c | ||
|
|
89fb731e2e | ||
|
|
ed9f9ccbab | ||
|
|
886e9e83b2 | ||
|
|
6cf4bd99bb | ||
|
|
79757ee280 | ||
|
|
732a5fb9a7 | ||
|
|
5eafd8115f | ||
|
|
975e43892f | ||
|
|
a3fce656b7 | ||
|
|
88ee45e9ef | ||
|
|
dc9333a3bb | ||
|
|
c961782192 | ||
|
|
0bbff54378 | ||
|
|
33af3d7997 | ||
|
|
9d509735a8 | ||
|
|
64afb50d5a | ||
|
|
6c4c959141 | ||
|
|
e687f2f048 | ||
|
|
7d5fc7eb43 | ||
|
|
69e2313a63 | ||
|
|
1c16e46f23 | ||
|
|
39ef63cbbc | ||
|
|
d5d9183ccf | ||
|
|
6ebe551919 | ||
|
|
3584c4c87f | ||
|
|
4d5fe38540 | ||
|
|
79be6dec16 | ||
|
|
0bfa13722b | ||
|
|
fe003eedd4 | ||
|
|
0d3c827d80 | ||
|
|
ee5014c595 | ||
|
|
c0f29993e0 | ||
|
|
6bedade593 | ||
|
|
4973fc2246 | ||
|
|
010eea12a2 | ||
|
|
30830e1348 | ||
|
|
65c640d2cf | ||
|
|
022935320c | ||
|
|
ae3d3a4b5d | ||
|
|
adda9438d2 | ||
|
|
ae9434e02e | ||
|
|
db395e5988 | ||
|
|
0db23a8951 | ||
|
|
4865caa593 | ||
|
|
b08dc28cc1 | ||
|
|
e13f57e86c | ||
|
|
663268dca9 | ||
|
|
681c9594cc | ||
|
|
0ae1aad3d3 | ||
|
|
6d560f4236 | ||
|
|
d14148ab4f | ||
|
|
4a57656f69 | ||
|
|
d736032675 | ||
|
|
c53059468e | ||
|
|
d2da30a7e2 | ||
|
|
5fc9d3f048 | ||
|
|
ce487651b0 | ||
|
|
1450f146a5 | ||
|
|
43ca887263 | ||
|
|
a9af6aa743 | ||
|
|
4ba3ff3048 | ||
|
|
53f0552fe7 | ||
|
|
e9fd87d07a | ||
|
|
aecb01986a | ||
|
|
f5dacda69b | ||
|
|
6a3b9a9880 | ||
|
|
aac03eae6f | ||
|
|
2d014383cd | ||
|
|
924fcf5d06 | ||
|
|
86bd6b9add | ||
|
|
930dc7efc2 | ||
|
|
18ae09f682 | ||
|
|
dfba8d77ca | ||
|
|
321bac4178 | ||
|
|
09e0e74124 | ||
|
|
e5813cfb1a | ||
|
|
af4c4f6aaf | ||
|
|
5d198d6842 | ||
|
|
f09ffb2a45 | ||
|
|
3d541d0d10 | ||
|
|
05f545e189 | ||
|
|
93762a2117 | ||
|
|
feccc68c54 | ||
|
|
467844963a | ||
|
|
bcc670ee36 | ||
|
|
bda5bf70ce | ||
|
|
82ee502f57 | ||
|
|
07dd1e3849 | ||
|
|
18f94d1fe0 | ||
|
|
ef74226993 | ||
|
|
ef8c70c7af | ||
|
|
b7856ddd4f | ||
|
|
a2def19de5 | ||
|
|
27e04b36b0 | ||
|
|
f81aefe8bd | ||
|
|
aea5db48cb | ||
|
|
044a0838a3 | ||
|
|
6e79379405 | ||
|
|
ab9db5b503 | ||
|
|
07bd5089ec | ||
|
|
9dffc8ab0f | ||
|
|
b1f81d5e21 | ||
|
|
4c37f12a4d | ||
|
|
80877a600a | ||
|
|
3ea330f15f | ||
|
|
0fbf2af09d | ||
|
|
729690e9e9 | ||
|
|
c9f242e566 | ||
|
|
216bb22b20 | ||
|
|
04cd884f8f | ||
|
|
b9a3c78888 | ||
|
|
8e02f8f5ec | ||
|
|
50a58e7706 | ||
|
|
83e7c37277 | ||
|
|
e9a72b2462 | ||
|
|
f3663b8d2e | ||
|
|
71bd6415d6 | ||
|
|
1f4ce41846 | ||
|
|
4866ee53e6 | ||
|
|
080cb1bac9 | ||
|
|
5d84a4ba13 | ||
|
|
f272bc8f42 | ||
|
|
fd3d5d35fb | ||
|
|
f901adba22 | ||
|
|
9cea9ce5e2 | ||
|
|
cb64aaf20c | ||
|
|
328345b9c3 | ||
|
|
24d36854d2 | ||
|
|
896f463a23 | ||
|
|
bfb7c936aa | ||
|
|
a982f6a668 | ||
|
|
ac08482fa3 | ||
|
|
ee8c7b47bc | ||
|
|
7be3b53f72 | ||
|
|
2120dd662c | ||
|
|
9941855dc6 | ||
|
|
f7613b529c | ||
|
|
1993d5c091 | ||
|
|
83ee928fb1 | ||
|
|
c915b5d7f3 | ||
|
|
ffc30c0c6e | ||
|
|
6e61093e79 | ||
|
|
6bb1b6953f | ||
|
|
e9545d68ee | ||
|
|
eb1cf750f2 | ||
|
|
5f8d163045 | ||
|
|
e435da6234 | ||
|
|
0ed41db478 | ||
|
|
39700c77ee | ||
|
|
bd8eae67f1 | ||
|
|
f5365c7ffd | ||
|
|
2583dfb71a | ||
|
|
4c0ee3e0d8 | ||
|
|
5d05451ab2 | ||
|
|
1a3628df1a | ||
|
|
2864b3ef8a | ||
|
|
91fd30611a | ||
|
|
200b420562 | ||
|
|
4a38965384 | ||
|
|
b802efde54 | ||
|
|
31c1172a3a | ||
|
|
f9812930c1 | ||
|
|
cb8fbf4772 | ||
|
|
edecbc86b8 | ||
|
|
bf1bb7a032 | ||
|
|
54920193e5 | ||
|
|
1bd04e8462 | ||
|
|
d2bc449598 | ||
|
|
02392d6220 | ||
|
|
f273b1ebcb | ||
|
|
710c6c6f2f | ||
|
|
0f1386ff4c | ||
|
|
3755e4a863 | ||
|
|
d3cd668585 | ||
|
|
55e89416cd | ||
|
|
531a31722e | ||
|
|
203c4da15b | ||
|
|
3c2e7ce41c | ||
|
|
f8835d2867 | ||
|
|
82fb9aa418 | ||
|
|
bbfc24770e | ||
|
|
325b7b4ab3 | ||
|
|
a51d6d40de | ||
|
|
cc040ca04a | ||
|
|
57e69d9647 | ||
|
|
7d528d9eb0 | ||
|
|
9ec9d1e20c | ||
|
|
6974c1ff12 | ||
|
|
cd116e5ba0 | ||
|
|
9b05fe9982 | ||
|
|
358d750b3e | ||
|
|
64449f0f54 | ||
|
|
d3c495e8b9 | ||
|
|
b02838439c | ||
|
|
8eeaaa3f36 | ||
|
|
99c7fe0ada | ||
|
|
f5972dfd08 | ||
|
|
aa6fdf58b8 | ||
|
|
c4a2620e29 | ||
|
|
0a8ca3041a | ||
|
|
4376b83390 | ||
|
|
bd5d5b7385 | ||
|
|
41f796bbe1 | ||
|
|
b9fd318985 | ||
|
|
c0d638a26d | ||
|
|
4f26650228 | ||
|
|
23fba6cc37 | ||
|
|
a05dddd0d6 | ||
|
|
facc1b4914 | ||
|
|
df64fd859c | ||
|
|
48badc0816 | ||
|
|
bc8cca9fc4 | ||
|
|
f122837955 | ||
|
|
d6f2fda575 | ||
|
|
8ae5a4a134 | ||
|
|
ab4ca51848 | ||
|
|
558dfa285e | ||
|
|
24d63a96b1 | ||
|
|
f9ca091bd0 | ||
|
|
1d8479b411 | ||
|
|
bf9d4ac3bb | ||
|
|
2ae41e0a55 | ||
|
|
9b36565485 | ||
|
|
17ca09ba9a | ||
|
|
d417baf826 | ||
|
|
973a5337ac | ||
|
|
65d5786da5 | ||
|
|
d83e8a3f0e | ||
|
|
1fc16cb9ed | ||
|
|
1dcb21eaa7 | ||
|
|
5f145542b0 | ||
|
|
872739b5f4 | ||
|
|
047d0f479b | ||
|
|
2aad72af90 | ||
|
|
cdbe23c351 | ||
|
|
3adddf5825 | ||
|
|
185c451000 | ||
|
|
ba4310f589 | ||
|
|
abef6566e7 | ||
|
|
8ec6d28f92 | ||
|
|
256b22f1c7 | ||
|
|
02e52fe24d | ||
|
|
8b6d78a075 | ||
|
|
3caceb8174 | ||
|
|
f2eed38fc8 | ||
|
|
ea0c634e12 | ||
|
|
6f5ad51816 | ||
|
|
d628772cd1 | ||
|
|
f1c715c455 | ||
|
|
da4cc08b78 | ||
|
|
81d6321cd7 | ||
|
|
24985f1b33 | ||
|
|
eadaf2fef8 | ||
|
|
40b26f4060 | ||
|
|
bb3a2db5a0 | ||
|
|
acb5af539f | ||
|
|
7f05bd797f | ||
|
|
131f96eb1e | ||
|
|
55ae350fed | ||
|
|
3a7282544e | ||
|
|
b12758fe53 | ||
|
|
98f8064b83 | ||
|
|
43881afca2 | ||
|
|
9cd1ffa6a6 | ||
|
|
ab8bb26868 | ||
|
|
6c90f3e2d2 | ||
|
|
8551431233 | ||
|
|
6617a017fa | ||
|
|
a9dac3b1ef | ||
|
|
b52ee25385 | ||
|
|
f622783ae1 | ||
|
|
6c59a6254f | ||
|
|
95830cce29 | ||
|
|
bfc7a51a44 | ||
|
|
c9ac515286 | ||
|
|
a1992702f8 | ||
|
|
a040c28cc4 | ||
|
|
b99455cc47 | ||
|
|
0846219672 | ||
|
|
0636c4bc30 | ||
|
|
a861d84011 | ||
|
|
0884278ae3 | ||
|
|
e3fa247012 | ||
|
|
601e628343 | ||
|
|
68e1faa2c8 | ||
|
|
9662469957 | ||
|
|
a9b71b6207 | ||
|
|
d90cd11212 | ||
|
|
9800555bbb | ||
|
|
9d62abb7ac | ||
|
|
db31204950 | ||
|
|
6201300816 | ||
|
|
f59cb9af06 | ||
|
|
99c0815cdb | ||
|
|
3957310950 | ||
|
|
e0c12c90cd | ||
|
|
ef258bdc19 | ||
|
|
d67b955e52 | ||
|
|
2e9bada1f2 | ||
|
|
1c72da4904 | ||
|
|
dfd047ce6a | ||
|
|
b2c1a77bb3 | ||
|
|
0f4cb443b4 | ||
|
|
59c58acbe3 | ||
|
|
b22d8c7441 | ||
|
|
9563541870 | ||
|
|
5fa7b90e05 | ||
|
|
2646c06f61 | ||
|
|
c663f64542 | ||
|
|
a538188d90 | ||
|
|
9538ca29b2 | ||
|
|
a0d986faf8 | ||
|
|
8b42f570e9 | ||
|
|
79bdc2d51f | ||
|
|
cffcbce60f | ||
|
|
c11e389a94 | ||
|
|
48710af55a | ||
|
|
0d46af2e9c | ||
|
|
23273584a0 | ||
|
|
032b4e3979 | ||
|
|
63543dee07 | ||
|
|
adad3d2e87 | ||
|
|
b2c55c3338 | ||
|
|
36f5dcbb6e | ||
|
|
527500cedc | ||
|
|
0e98818db5 | ||
|
|
1c5c07406c | ||
|
|
843b94388a | ||
|
|
130d3b52a2 | ||
|
|
4205a04a34 | ||
|
|
c59e8277ae | ||
|
|
a0596eae6e | ||
|
|
bd6e5927c4 | ||
|
|
5ba16654a3 | ||
|
|
b0497f40b2 | ||
|
|
47bceb0eab | ||
|
|
2ffb6af5d9 | ||
|
|
68cb15d0f9 | ||
|
|
0cd8d37613 | ||
|
|
69c0363c7e | ||
|
|
116682c190 | ||
|
|
c2c73e7d06 | ||
|
|
060417b0dc | ||
|
|
83ac2755fe | ||
|
|
2915464667 | ||
|
|
5f65252fa6 | ||
|
|
2d7777b604 | ||
|
|
0f7cf87bfa | ||
|
|
dd44dc4d77 | ||
|
|
06dfef81a1 | ||
|
|
92c013944e | ||
|
|
b33b053307 | ||
|
|
77da8d5490 | ||
|
|
53f055fb1d | ||
|
|
93145246fd | ||
|
|
5db74b4b19 | ||
|
|
81edc3f582 | ||
|
|
b5f0c0468d | ||
|
|
65193c6aaf | ||
|
|
0e482c7f92 | ||
|
|
39c0abed54 | ||
|
|
aad17a6f05 | ||
|
|
d8e6fa61bb | ||
|
|
944ebbc23c | ||
|
|
a686988d0e | ||
|
|
262631039d | ||
|
|
3537210674 | ||
|
|
79cf1e13a7 | ||
|
|
f723147f04 | ||
|
|
07cc6a3d20 | ||
|
|
2fcd8b934a | ||
|
|
b8889bf37e | ||
|
|
8e685a0071 | ||
|
|
947dd9aca0 | ||
|
|
5c43d1e04f | ||
|
|
bb7b69f513 | ||
|
|
0354322413 | ||
|
|
9c776a24e5 | ||
|
|
4f3a96a535 | ||
|
|
0f66f7569e | ||
|
|
77bfd163cd | ||
|
|
a25b28a972 | ||
|
|
e682f7c8c3 | ||
|
|
b773bb9ded | ||
|
|
6920b8be78 | ||
|
|
a0dc7cd9e4 | ||
|
|
f60af0301a | ||
|
|
095de4ea52 | ||
|
|
e72e44d14f | ||
|
|
4905329ff6 | ||
|
|
262c4235df | ||
|
|
e58c84acf7 | ||
|
|
f8c9dde989 | ||
|
|
81550ca1ee | ||
|
|
037a806036 | ||
|
|
dbba5f3fc9 | ||
|
|
a85d5330fa | ||
|
|
fd208fdf0b | ||
|
|
b931e65811 | ||
|
|
4acdc9ced9 | ||
|
|
c05a750f47 | ||
|
|
4777e98f57 | ||
|
|
dcee493e94 | ||
|
|
3d8e787e66 | ||
|
|
bbece736f5 | ||
|
|
b549e83fb2 | ||
|
|
eb87c6d373 | ||
|
|
b525554bfe | ||
|
|
688342e194 | ||
|
|
cc0f8422f2 | ||
|
|
f3771a465d | ||
|
|
d379affc4b | ||
|
|
28c7aa2bc8 | ||
|
|
c45a6b3685 | ||
|
|
d0089aef95 | ||
|
|
34177d9edd | ||
|
|
7ff08c85cf | ||
|
|
61d934fd7b | ||
|
|
47ee179273 | ||
|
|
61ebe2c34b | ||
|
|
6fdb356db7 | ||
|
|
5ba9d28488 | ||
|
|
97a1093ee0 | ||
|
|
fb8b45e479 | ||
|
|
a86644eff1 | ||
|
|
b3491e3d9a | ||
|
|
46ebb15c76 | ||
|
|
6fdd90fa63 | ||
|
|
99121688f8 | ||
|
|
81ac28ff71 | ||
|
|
ea95728330 | ||
|
|
07ea5259ac | ||
|
|
d906204e84 | ||
|
|
dc14751954 | ||
|
|
41bd8d909b | ||
|
|
0b64ca0d7d | ||
|
|
bf4b195016 | ||
|
|
de630a1245 | ||
|
|
079f4a99dd | ||
|
|
a7d6eb9190 | ||
|
|
d02b12fa6c | ||
|
|
86ced2bd4c | ||
|
|
0482e4d6e4 | ||
|
|
b8ae5c28fe | ||
|
|
810e17edfe | ||
|
|
66c5faeb9a | ||
|
|
fe3f267233 | ||
|
|
142b0bf9b3 | ||
|
|
ae6696fcb9 | ||
|
|
ab7e9f8424 | ||
|
|
4e4e4c2d21 | ||
|
|
41cee0eb44 | ||
|
|
7553b60ef0 | ||
|
|
57117fa687 | ||
|
|
64ef562fa7 | ||
|
|
9a0e4a35e1 | ||
|
|
1e7a9e44af | ||
|
|
23a8b2c303 | ||
|
|
6bb2d1d5d1 | ||
|
|
1cde952cf5 | ||
|
|
6e0fb630d7 | ||
|
|
e2f950b15e | ||
|
|
903e84c24c | ||
|
|
df07e23f2c | ||
|
|
f849de6769 | ||
|
|
8e0b2f0833 | ||
|
|
bc5570b708 | ||
|
|
44b719d957 | ||
|
|
676b14429d | ||
|
|
29d1999947 | ||
|
|
761d00b7dc | ||
|
|
ae340703f2 | ||
|
|
f45d2515eb | ||
|
|
2a3d996077 | ||
|
|
fb6bc275bc | ||
|
|
2379504449 | ||
|
|
28de3423eb | ||
|
|
6b64b43395 | ||
|
|
9398e1cd33 | ||
|
|
bee559d5f4 | ||
|
|
74def4608a | ||
|
|
c0a873e0c8 | ||
|
|
8b580e1191 | ||
|
|
f1161daee9 | ||
|
|
8541f18340 | ||
|
|
abcc2a8f1a | ||
|
|
d87846e1e1 | ||
|
|
60c59f59a3 | ||
|
|
492ee7fc45 | ||
|
|
df755df44d | ||
|
|
33a75e0a73 | ||
|
|
0a96ffc878 | ||
|
|
4e61ae5b36 | ||
|
|
632da3f4ee | ||
|
|
f54e01781b | ||
|
|
5158ee2092 | ||
|
|
5e2d2a54f6 | ||
|
|
4008ab556c | ||
|
|
f34644186f | ||
|
|
504aee3835 | ||
|
|
7a453d1f90 | ||
|
|
41dbd31b02 | ||
|
|
c1a514c0f8 | ||
|
|
39a3de3119 | ||
|
|
bf5384a712 | ||
|
|
bb9c203222 | ||
|
|
8d225c32b1 | ||
|
|
43cb092a68 | ||
|
|
1957dc7a5c | ||
|
|
f5b1b69376 | ||
|
|
bee11ec11b | ||
|
|
8649859bc5 | ||
|
|
b0d3b19a6a | ||
|
|
ad1579140b | ||
|
|
c6adf4364f | ||
|
|
c658acbf85 | ||
|
|
4c912a0fbe | ||
|
|
83cc115112 | ||
|
|
e5a1755133 | ||
|
|
d21fbed1bb | ||
|
|
c216b3534b | ||
|
|
4cd19711f2 | ||
|
|
b6a4715a38 | ||
|
|
d68925c6a8 | ||
|
|
344aea0669 | ||
|
|
d38e5858f0 | ||
|
|
4b7cd491e3 | ||
|
|
c3a6b39945 | ||
|
|
d1995fc81a | ||
|
|
63fa9a5a42 | ||
|
|
911a79796d | ||
|
|
23621f3299 | ||
|
|
0486d28abc | ||
|
|
f289ea6c14 | ||
|
|
0536f4f9bd | ||
|
|
63256fd15d | ||
|
|
f59c2a08d9 | ||
|
|
ea7336591c | ||
|
|
75dc234988 | ||
|
|
85ea06687b | ||
|
|
725511131a | ||
|
|
1abb9da2b2 | ||
|
|
3ea3887c77 | ||
|
|
b15ab348ba | ||
|
|
17bbba7327 | ||
|
|
794adcc512 | ||
|
|
e6b8f4d715 | ||
|
|
1a92368aed | ||
|
|
85e8a6cb9f | ||
|
|
9fcde120aa | ||
|
|
36dd82f0e6 | ||
|
|
0690a12ad2 | ||
|
|
0c22d5011e | ||
|
|
ab89c168de | ||
|
|
ff535b8e1a | ||
|
|
55cebc7b9e | ||
|
|
56b659c0be | ||
|
|
87889df9e9 | ||
|
|
2663561c62 | ||
|
|
6d8860b9de | ||
|
|
cf41fccc0a | ||
|
|
f206833a20 | ||
|
|
0afa1a9a95 | ||
|
|
ebae994dc9 | ||
|
|
531de44c95 | ||
|
|
6db93d58cf | ||
|
|
15f28c3a8c | ||
|
|
11cd3e5cbd | ||
|
|
7e61b11f23 | ||
|
|
1cf9404c19 | ||
|
|
c4698dfd07 | ||
|
|
fdded33097 | ||
|
|
8197e3c7cd | ||
|
|
f0e4053a0d | ||
|
|
1d28e8e3de | ||
|
|
b19bb14348 | ||
|
|
13ed557b92 | ||
|
|
44d52935da | ||
|
|
8a417ff039 | ||
|
|
dc83eb15af | ||
|
|
83452ae6b3 | ||
|
|
0dfe9ff5fe | ||
|
|
0fa18886c0 | ||
|
|
03b37cf712 | ||
|
|
eb4464e828 | ||
|
|
8b8561161c | ||
|
|
fe44fe963f | ||
|
|
97065faf1a | ||
|
|
4dfc1a5ded | ||
|
|
bde5be6793 | ||
|
|
b62b1650f5 | ||
|
|
fe3f726fd6 | ||
|
|
0d53806490 | ||
|
|
9317db6642 | ||
|
|
9fcfa3fc49 | ||
|
|
68d63b089d | ||
|
|
0f1a5e0520 | ||
|
|
1dd899c7c9 | ||
|
|
d68cd90e47 | ||
|
|
43efc256f1 | ||
|
|
b2d3b8379c | ||
|
|
8cdffc1944 | ||
|
|
fdef067629 | ||
|
|
fdd120db49 | ||
|
|
f59d6b8f6a | ||
|
|
cdfc1afd89 | ||
|
|
d8f9201ecd | ||
|
|
0c72647edd | ||
|
|
bae431eab0 | ||
|
|
e3d913b81a | ||
|
|
d6aa446b54 | ||
|
|
6df4f1996b | ||
|
|
11a5f0edf1 | ||
|
|
7e68a24625 | ||
|
|
e8c2886455 | ||
|
|
ef5a4db12e | ||
|
|
2ab7272673 | ||
|
|
99ac1c46da | ||
|
|
44e3080ea9 | ||
|
|
00c16d34a4 | ||
|
|
80b0e57543 | ||
|
|
003d47cc8b | ||
|
|
d841bbe498 | ||
|
|
52051f444e | ||
|
|
4ccf10f3fa | ||
|
|
0df45fe2f2 | ||
|
|
c831f40e9b | ||
|
|
35d6a75b37 | ||
|
|
992596c981 | ||
|
|
ce19d7b84f | ||
|
|
adda28f5c5 | ||
|
|
2a555d198c | ||
|
|
30fd8592ae | ||
|
|
e526cbbff6 | ||
|
|
633cd17a3e | ||
|
|
e1043fac12 | ||
|
|
9c70bd44a6 | ||
|
|
847982c6bf | ||
|
|
d0c7108dcf | ||
|
|
3df6c383c0 | ||
|
|
c72fa735b9 | ||
|
|
2d5fd0fc63 | ||
|
|
e38f601fcc | ||
|
|
8a511bb63d | ||
|
|
9075a853dc | ||
|
|
25d10d9d9a | ||
|
|
d6d667a688 | ||
|
|
92de4fa0d0 | ||
|
|
19c81ed866 | ||
|
|
fb9b50ff9c | ||
|
|
aaa0cf5448 | ||
|
|
a2561d07f3 | ||
|
|
74dda01919 | ||
|
|
8eab28012a | ||
|
|
cbb33f86e8 | ||
|
|
c37f9f1a41 | ||
|
|
0f412b6beb | ||
|
|
35e1efc7f2 | ||
|
|
7e243e0f2c | ||
|
|
d8184fbe54 | ||
|
|
daa65199b3 | ||
|
|
c272c73686 | ||
|
|
c0f2b69bef | ||
|
|
04d16b3740 | ||
|
|
cdd23edd37 | ||
|
|
4316242d7e | ||
|
|
ed3f281b9e | ||
|
|
81d3dedb41 | ||
|
|
294b5d1cf1 | ||
|
|
5df2de0629 | ||
|
|
ffaae965d4 | ||
|
|
afe455238c | ||
|
|
98b2d43c2b | ||
|
|
ce06b20c6c | ||
|
|
844f5a9d33 | ||
|
|
6abf24e25e | ||
|
|
e22e9c403c | ||
|
|
44c82eb1c3 | ||
|
|
eb094ecf6a | ||
|
|
4a9c5ff63b | ||
|
|
6d518a61a5 | ||
|
|
df900e30b8 | ||
|
|
77674352f6 | ||
|
|
041f981960 | ||
|
|
7e1f4760e7 | ||
|
|
2bbea6779a | ||
|
|
9e43c0a569 | ||
|
|
145084c41c | ||
|
|
42c162c15e | ||
|
|
a0c80a8c72 | ||
|
|
b2d7998241 | ||
|
|
07e18774f7 | ||
|
|
c66d0881b9 | ||
|
|
18bd76bb90 | ||
|
|
65081aebed | ||
|
|
0250c87ac6 | ||
|
|
e4fc7a0fec | ||
|
|
010ed6d729 | ||
|
|
638e254668 | ||
|
|
b60b303c5d | ||
|
|
517df130cc | ||
|
|
5a9d76ad52 | ||
|
|
78342fa82c | ||
|
|
71c2d27705 | ||
|
|
2245783345 | ||
|
|
b67b8ddd38 | ||
|
|
62a6e37487 | ||
|
|
3c52ad1d9e | ||
|
|
fd0a6955da | ||
|
|
ee208aecd6 | ||
|
|
29c50ab25f | ||
|
|
bbcb39978c | ||
|
|
768e03a474 | ||
|
|
0c3e1b491f | ||
|
|
b45d373fd6 | ||
|
|
9f67b45ea0 | ||
|
|
66ecc0e52c | ||
|
|
333fa97326 | ||
|
|
9198b3be00 | ||
|
|
d23b577331 | ||
|
|
2108489523 | ||
|
|
ba48dfe65d | ||
|
|
0e55d33cc3 | ||
|
|
4296cbaf82 | ||
|
|
72fff0cfbc | ||
|
|
ba0ef5938d | ||
|
|
a02bec11e9 | ||
|
|
b3703de983 | ||
|
|
de5678af5d | ||
|
|
e2ec517aae | ||
|
|
306f421aa9 | ||
|
|
6035f1cb75 | ||
|
|
9023e975df | ||
|
|
3558c0796d | ||
|
|
f99a44d8e1 | ||
|
|
1f2fdbd9b1 | ||
|
|
a4f1e37f0c | ||
|
|
5ad365c5df | ||
|
|
882194c221 | ||
|
|
d940c9aa85 | ||
|
|
e758110f61 | ||
|
|
390f972014 | ||
|
|
5597b83d04 | ||
|
|
36ff372149 | ||
|
|
bec140143b | ||
|
|
f8873c2508 | ||
|
|
f5d99106e6 | ||
|
|
693e3a7109 | ||
|
|
a43cac580e | ||
|
|
bcb8b49907 | ||
|
|
04cc463452 | ||
|
|
727040d1ac | ||
|
|
7d652d42dc | ||
|
|
381a32d9aa | ||
|
|
2c4dd5decf | ||
|
|
e45e57d7ce | ||
|
|
fb7996b0ce | ||
|
|
695b1b01d8 | ||
|
|
df97570471 | ||
|
|
3999f2ad75 | ||
|
|
878e4a57c8 | ||
|
|
f5afc75cbd | ||
|
|
579b50f0c5 | ||
|
|
2428285694 | ||
|
|
ff18218b0a | ||
|
|
5925a7f8ee | ||
|
|
4b8b15a07a | ||
|
|
93f0df58e5 | ||
|
|
85e73e91f8 | ||
|
|
09bcff0862 | ||
|
|
30835e3d9d | ||
|
|
e98fe04cc2 | ||
|
|
82c8bd6e2b | ||
|
|
2c16453a9f | ||
|
|
9e5b8d99a3 | ||
|
|
359da1ae76 | ||
|
|
8449c9eaa0 | ||
|
|
532e6b2554 | ||
|
|
6f85ee9d95 | ||
|
|
2f456ce4e2 | ||
|
|
8a331ee7ec | ||
|
|
a70ac6be30 | ||
|
|
6dc2bf1226 | ||
|
|
9858e47dfd | ||
|
|
9e881a497e | ||
|
|
c273c90bf2 | ||
|
|
527df094ca | ||
|
|
416adbce82 | ||
|
|
021362fb75 | ||
|
|
410e4502ee | ||
|
|
d1833cc441 | ||
|
|
539924249b | ||
|
|
286da30a26 | ||
|
|
17c5504129 | ||
|
|
0f8b587bc2 | ||
|
|
8891a896b5 | ||
|
|
d31171164e | ||
|
|
fae25bc459 | ||
|
|
f4a6d08847 | ||
|
|
a00611798d | ||
|
|
90d1c89bff | ||
|
|
5277ea0b73 | ||
|
|
18246278c5 | ||
|
|
8fe317e7fa | ||
|
|
86ba877a99 | ||
|
|
6e6ce4e5ee | ||
|
|
aaecf3cfec | ||
|
|
3cbe485b94 | ||
|
|
6465c3b687 | ||
|
|
9227b0ccaf | ||
|
|
def27ed4e2 | ||
|
|
070264acc4 | ||
|
|
ba79b2db9b | ||
|
|
cb26766651 | ||
|
|
76091b96d4 | ||
|
|
e9307ce58e | ||
|
|
8a166ac82f | ||
|
|
2220c58f51 | ||
|
|
53eb6a948d | ||
|
|
49c5cfd65b | ||
|
|
48d3578c24 | ||
|
|
b2268765bf | ||
|
|
a7a8426a90 | ||
|
|
1c2edc5434 | ||
|
|
4afc552e17 | ||
|
|
37107174c6 | ||
|
|
baa5d051e4 | ||
|
|
349a84d972 | ||
|
|
98c7186221 | ||
|
|
e0a0b2dc25 | ||
|
|
6adf175691 | ||
|
|
2acb3b153b | ||
|
|
87144a15dd | ||
|
|
bc1e884988 | ||
|
|
20a9c0c336 | ||
|
|
8b5ae001e5 | ||
|
|
7b2e4d0c7f | ||
|
|
15e2afcdf3 | ||
|
|
14c62f1368 | ||
|
|
f9204e5b6f | ||
|
|
8066cd9ace | ||
|
|
07a5324a81 | ||
|
|
68f53e69f1 | ||
|
|
33e103fdc6 | ||
|
|
555282497c | ||
|
|
dc4142e1a9 | ||
|
|
083f3ae26b | ||
|
|
68eb0f2cdc | ||
|
|
3890492a9b | ||
|
|
6521930880 | ||
|
|
6c2d578c61 | ||
|
|
50192fc65e | ||
|
|
1d358a4734 | ||
|
|
e8b1d51d28 | ||
|
|
cd7abdb58d | ||
|
|
7ae6430728 | ||
|
|
532240a2db | ||
|
|
f8be35b41e | ||
|
|
3adeb0f907 | ||
|
|
ad1eadd60d | ||
|
|
5b56c6e3a2 | ||
|
|
cbf0c1d1dd | ||
|
|
31daa706b7 | ||
|
|
4a224878d8 | ||
|
|
0981c020b2 | ||
|
|
411fe87f64 | ||
|
|
df015f4766 | ||
|
|
65dd931d22 | ||
|
|
4cc95a2c6c | ||
|
|
c15f4975d0 | ||
|
|
8b5a2f135c | ||
|
|
4ea2bfef0a | ||
|
|
3e12840933 | ||
|
|
68ff89ba0a | ||
|
|
a53bd345d8 | ||
|
|
62eb3137ab | ||
|
|
beaa77d2d6 | ||
|
|
e0cb33d9d4 | ||
|
|
2fc24847ac | ||
|
|
b91ad02da1 | ||
|
|
e2c6648607 | ||
|
|
857a566a2e | ||
|
|
0962a9f286 | ||
|
|
026e57279d | ||
|
|
08705a3fdc | ||
|
|
002d1801ec | ||
|
|
ce80624f62 | ||
|
|
dc5114b071 | ||
|
|
6d530931bf | ||
|
|
9559625ee8 | ||
|
|
5b11eb4bb9 | ||
|
|
f68cc06ec7 | ||
|
|
a59402d5f5 | ||
|
|
a2bbb6f1be | ||
|
|
90a2edcfa2 | ||
|
|
0f08ae2c12 | ||
|
|
b66f7272af | ||
|
|
244dc358e5 | ||
|
|
390878e831 | ||
|
|
2a42139674 | ||
|
|
5109c0b68f | ||
|
|
00ab3c2d34 | ||
|
|
b56ba8f073 | ||
|
|
f067c4530f | ||
|
|
3fa253d31f | ||
|
|
cab4910a7d | ||
|
|
fb0d09a277 | ||
|
|
d5c804f851 | ||
|
|
f75657d7e2 | ||
|
|
d1fd7ffc59 | ||
|
|
9d4d00737e | ||
|
|
eeefd10f8f | ||
|
|
2c34723a97 | ||
|
|
df752ff7a5 | ||
|
|
3f360fe3ee | ||
|
|
06c98952fc | ||
|
|
4497998944 | ||
|
|
c9d2c10cbd | ||
|
|
a56b176749 | ||
|
|
ea16316e33 | ||
|
|
7361aa9959 | ||
|
|
c08f1e4bfd | ||
|
|
63ab22f97f | ||
|
|
49ebac7ac1 | ||
|
|
94892231bc | ||
|
|
9bf2bf308a | ||
|
|
9ab614d764 | ||
|
|
d9a6fbac48 | ||
|
|
db971d8a65 | ||
|
|
1dee2360fa | ||
|
|
8d2617110f | ||
|
|
a139c4057c | ||
|
|
16a66f19e1 | ||
|
|
694dd9240f | ||
|
|
3daecfb3dd | ||
|
|
7bae9038cf | ||
|
|
c9355734f5 | ||
|
|
788fbcc9c8 | ||
|
|
5da525e0ea | ||
|
|
d78133e1f0 | ||
|
|
4dda5d2173 | ||
|
|
659d1729eb | ||
|
|
ac4866c027 | ||
|
|
7f7db01e25 | ||
|
|
d38417b347 | ||
|
|
985371433b | ||
|
|
421c3f2b4f | ||
|
|
2bec637637 | ||
|
|
0d21a2b5a4 | ||
|
|
0402fbd4b8 | ||
|
|
44065f5e12 | ||
|
|
2c9c704522 | ||
|
|
917e5d4f01 | ||
|
|
2bd798fa13 | ||
|
|
78d660da55 | ||
|
|
43f24afe29 | ||
|
|
609f63ac74 | ||
|
|
bf4c9c3c8c | ||
|
|
89c8a988bf | ||
|
|
3bd4d05598 | ||
|
|
1d39863a60 | ||
|
|
128991d868 | ||
|
|
9fa90e2265 | ||
|
|
1074d35a15 | ||
|
|
e4b60e1068 | ||
|
|
da01286037 | ||
|
|
f3d898d6a3 | ||
|
|
55444b8337 | ||
|
|
7547c4c77c | ||
|
|
668273cdf5 | ||
|
|
8704d42005 | ||
|
|
eb2317d014 | ||
|
|
e2007d0743 | ||
|
|
9a3e521358 | ||
|
|
bac6f94929 | ||
|
|
b91e233714 | ||
|
|
d04f7935c3 | ||
|
|
0210d76694 | ||
|
|
5eda1c256c | ||
|
|
4f24a06f0e | ||
|
|
e660a49347 | ||
|
|
f3f15cfd25 | ||
|
|
39b10f9599 | ||
|
|
216105f6df | ||
|
|
3994fee595 | ||
|
|
fb260ef17f | ||
|
|
7706ea2f13 | ||
|
|
1b1d29ca9e | ||
|
|
40cf719068 | ||
|
|
b051c913e9 | ||
|
|
eb83a3fd0f | ||
|
|
915836b3ec | ||
|
|
cdb8035cf0 | ||
|
|
74a904be54 | ||
|
|
96547d1dd4 | ||
|
|
9bd92178b6 | ||
|
|
2e5fbe89cd | ||
|
|
9dfc8f84bc | ||
|
|
3cece61525 | ||
|
|
d7ec817f0a | ||
|
|
2546c6ba1c | ||
|
|
6cae84a25d | ||
|
|
18afc7c703 | ||
|
|
0896deedef | ||
|
|
3b128ba59f | ||
|
|
c53b167307 | ||
|
|
4e3abf417f | ||
|
|
57b997355f | ||
|
|
cc373cc41d | ||
|
|
3d63a8bb62 | ||
|
|
3b07b8b8e3 | ||
|
|
a0db846a97 | ||
|
|
cceffbdb8c | ||
|
|
e7bb0aad19 | ||
|
|
996537282c | ||
|
|
848df36f6b | ||
|
|
0fe98a7ca8 | ||
|
|
f9e13abc11 | ||
|
|
ede64f68a9 | ||
|
|
6f7f6b5119 | ||
|
|
a0a6537bda | ||
|
|
28eba8bff9 | ||
|
|
7767a0e88e | ||
|
|
3d5811d8f5 | ||
|
|
7f9e73a1ce | ||
|
|
14ac1a7ff6 | ||
|
|
5cbbb4597f | ||
|
|
1bfdce55ed | ||
|
|
925ea9d544 | ||
|
|
76fe064e03 | ||
|
|
99de3cb6ea | ||
|
|
88c6dd2da8 | ||
|
|
2f3955dbc7 | ||
|
|
9be25dab9c | ||
|
|
28584b31f1 | ||
|
|
93b6efcb2f | ||
|
|
e0ac9d5d8e | ||
|
|
9faca05e6a | ||
|
|
83e0c70de5 | ||
|
|
e34ee32973 | ||
|
|
5269552346 | ||
|
|
6efb71bea7 | ||
|
|
c6bbea0bb0 | ||
|
|
7e4c4ee53e | ||
|
|
9fcd91ebe9 | ||
|
|
3612edf4fa | ||
|
|
fb7d4acd5c | ||
|
|
07ca772932 | ||
|
|
2f3cae0d2e | ||
|
|
38d2eb7a0e | ||
|
|
26d436b90d | ||
|
|
53bfd2e8cd | ||
|
|
4acf011fa4 | ||
|
|
42beb29f72 | ||
|
|
17505e2173 | ||
|
|
69c7acb3bc | ||
|
|
4642421da4 | ||
|
|
7a863e5cda | ||
|
|
df90a005cd | ||
|
|
1461ad6fcc | ||
|
|
3a3107b244 | ||
|
|
448aa35f50 | ||
|
|
644d623d31 | ||
|
|
d56e3adf2f | ||
|
|
0d000bb629 | ||
|
|
f16ce22281 | ||
|
|
c2f3421dee | ||
|
|
9299e550a5 | ||
|
|
7d14cff6bb | ||
|
|
10cefdb456 | ||
|
|
ac2ecb0b2c | ||
|
|
a01c4231f2 | ||
|
|
a24e3d9e72 | ||
|
|
dd53c2ddc3 | ||
|
|
5a05acf936 | ||
|
|
c248c14075 | ||
|
|
1a5fa6dc51 | ||
|
|
392e6e10fc | ||
|
|
7b234d4497 | ||
|
|
37f80534c9 | ||
|
|
14d8f3d81d | ||
|
|
214c90f957 | ||
|
|
55ce618bf2 | ||
|
|
f328481a48 | ||
|
|
60d8559372 | ||
|
|
654d972288 | ||
|
|
a9cbb5305c | ||
|
|
304473d857 | ||
|
|
3b3b16ee9c | ||
|
|
c2220f3c30 | ||
|
|
37f00e6644 | ||
|
|
2af76c7cff | ||
|
|
c3d809b129 | ||
|
|
f29220be1b | ||
|
|
ac0b452834 | ||
|
|
cb7882a202 | ||
|
|
03311e7268 | ||
|
|
78daf84f12 | ||
|
|
34942a2da5 | ||
|
|
8590de5cf3 | ||
|
|
e1e6bec9ff | ||
|
|
d7eecb57f8 | ||
|
|
dfb7c0f24d | ||
|
|
be6bba66a9 | ||
|
|
79b9a8d2df | ||
|
|
db01036e2e | ||
|
|
ec5e38617a | ||
|
|
edd596b2a4 | ||
|
|
0576fe51e7 | ||
|
|
5daed49e97 | ||
|
|
fc6a63a15e | ||
|
|
dcbe03f23b | ||
|
|
1530020a1f | ||
|
|
ae261e91f2 | ||
|
|
9faaa0689b | ||
|
|
a71f764c33 | ||
|
|
dca99d59e5 | ||
|
|
5d274e4bc5 | ||
|
|
ffc118cd94 | ||
|
|
f95481fabf | ||
|
|
60e40c854c | ||
|
|
df80d071e8 | ||
|
|
3d8c3a4948 | ||
|
|
435f417c64 | ||
|
|
db8bd84a82 | ||
|
|
399250a105 | ||
|
|
fbf302e6cd | ||
|
|
9e0ab14cfe | ||
|
|
41e449b306 | ||
|
|
56c96e8ab0 | ||
|
|
96d0b00a76 | ||
|
|
2cd4b5109a | ||
|
|
f94a125f30 | ||
|
|
0614078198 | ||
|
|
2eac69a943 | ||
|
|
5c8854fff6 | ||
|
|
bcbcbbd9c0 | ||
|
|
2617e9a3c0 | ||
|
|
fc7e79d2cc | ||
|
|
203f4c80d4 | ||
|
|
1359ad793d | ||
|
|
2362db22f7 | ||
|
|
7e298e347d | ||
|
|
3627452249 | ||
|
|
3d9ac21b80 | ||
|
|
e1a4910580 | ||
|
|
13fa31a3bc | ||
|
|
8ead5f2f5a | ||
|
|
cc6559c3f6 | ||
|
|
0ea78be056 | ||
|
|
01489f9ffc | ||
|
|
de519b969a | ||
|
|
824e30934e | ||
|
|
0e33a653d7 | ||
|
|
258ba05660 | ||
|
|
61463e1a70 | ||
|
|
b03ae76b54 | ||
|
|
b6f22d332b | ||
|
|
417ef278a3 | ||
|
|
7445550831 | ||
|
|
b9ea77b185 | ||
|
|
10a31d006b | ||
|
|
08ec9fc392 | ||
|
|
3915323528 | ||
|
|
50fd96bbab | ||
|
|
58484449b4 | ||
|
|
a4a968dfd1 | ||
|
|
2190703a57 | ||
|
|
e767c8990d | ||
|
|
2aa5b4cafe | ||
|
|
4e51fcbdd4 | ||
|
|
63d9b492b7 | ||
|
|
8e3fe2ef86 | ||
|
|
0e947d594f | ||
|
|
c37582bb00 | ||
|
|
620359fa2e | ||
|
|
055c294ac0 | ||
|
|
bade791570 | ||
|
|
a3d876b737 | ||
|
|
dfa91106fd | ||
|
|
b360a128f9 | ||
|
|
63e64f801a | ||
|
|
2848ddf8ab | ||
|
|
7a034f505b | ||
|
|
1781a5cfe7 | ||
|
|
cd72f816d3 | ||
|
|
9a83284b7b | ||
|
|
af8eb57f63 | ||
|
|
32525e0ddb | ||
|
|
93a13315de | ||
|
|
4b61c54092 | ||
|
|
d52af69d69 | ||
|
|
5ee3c88017 | ||
|
|
3783010091 | ||
|
|
d371d1bd51 | ||
|
|
10f44c18a3 | ||
|
|
95b791bf0e | ||
|
|
ab31b3edfe | ||
|
|
a6b04f6e97 | ||
|
|
c8bf652982 | ||
|
|
5ac11b5e88 | ||
|
|
cd6e167982 | ||
|
|
2959ade6e6 | ||
|
|
a4591138ec | ||
|
|
003d6542e4 | ||
|
|
59ab140dc9 | ||
|
|
fa27c9dfc6 | ||
|
|
94e623165d | ||
|
|
74f622d9c6 | ||
|
|
a6725edb15 | ||
|
|
9160b8ddc2 | ||
|
|
0012b6d811 | ||
|
|
2f6f468aad | ||
|
|
1b46dfe820 | ||
|
|
576d64da38 | ||
|
|
837b9b3c2c | ||
|
|
19ca1f6b48 | ||
|
|
80a43d732d | ||
|
|
d707ef4c72 | ||
|
|
180bb0823a | ||
|
|
b7a3abad62 | ||
|
|
b6529225e9 | ||
|
|
b269b3f5b2 | ||
|
|
b9054ec9a7 | ||
|
|
4304f11549 | ||
|
|
7147e780e6 | ||
|
|
5901ea80a4 | ||
|
|
ad0b0982d0 | ||
|
|
7b4807a8f7 | ||
|
|
aeff90ca90 | ||
|
|
e69bc65cf1 | ||
|
|
01857cd4de | ||
|
|
462d8096c0 | ||
|
|
9405323815 | ||
|
|
b8bd075e5e | ||
|
|
bc6127ffef | ||
|
|
ee6b2edd72 | ||
|
|
3ffefb0f0d | ||
|
|
582aa41f2a | ||
|
|
4b42d6ad54 | ||
|
|
83768a1e8a | ||
|
|
d0053422e9 | ||
|
|
61a9871c21 | ||
|
|
f86ebbd258 | ||
|
|
8b4179d104 | ||
|
|
b0495cb44a | ||
|
|
2fb4b568e4 | ||
|
|
b80e11febc | ||
|
|
a6b0b9d850 | ||
|
|
f558d299c4 | ||
|
|
be6d155b69 | ||
|
|
be2a425eb1 | ||
|
|
923fa8fc93 | ||
|
|
2acfa5e78f | ||
|
|
8fd1db4d78 | ||
|
|
679d0468b9 | ||
|
|
40f42e977f | ||
|
|
f5534a5432 | ||
|
|
c2568d804d | ||
|
|
554448a1f1 | ||
|
|
385260e453 | ||
|
|
a22b10e72b | ||
|
|
af7b271f55 | ||
|
|
5585396532 | ||
|
|
6a18ad5fbf | ||
|
|
ff182f9498 | ||
|
|
ee7514fea2 | ||
|
|
f73aa2af71 | ||
|
|
d4088f9eee | ||
|
|
96196f00e9 | ||
|
|
8084702a58 | ||
|
|
23b5cc870e | ||
|
|
2a9bb0d8de | ||
|
|
16aec54276 | ||
|
|
5fa79be997 | ||
|
|
7d9485f6bc | ||
|
|
cf7f3abadd | ||
|
|
d3665b263e | ||
|
|
249248ccc8 | ||
|
|
6d8c315cdb | ||
|
|
8eb9f4a8aa | ||
|
|
03e43d1fbf | ||
|
|
92defb7a2b | ||
|
|
4a38b92a4b | ||
|
|
0149de4da7 | ||
|
|
f11ae87ada | ||
|
|
88d1d20cd0 | ||
|
|
2bb4abda23 | ||
|
|
02a914625b | ||
|
|
2ec21c5b7f | ||
|
|
8845e71161 | ||
|
|
6ad79067ac | ||
|
|
c797b3b376 | ||
|
|
c835f49913 | ||
|
|
4b78d40e97 | ||
|
|
2ac2ffcd43 | ||
|
|
a48bbc4be0 | ||
|
|
7a5acaf39a | ||
|
|
403783b649 | ||
|
|
a4b6bb63c0 | ||
|
|
f5b3c5351e | ||
|
|
581c46c213 | ||
|
|
df3c43bede | ||
|
|
6dc7309e50 | ||
|
|
fe7845b5f0 | ||
|
|
1203e9e0c4 | ||
|
|
b1ca01f720 | ||
|
|
3a2d68fd1f | ||
|
|
9c7cccf3e5 | ||
|
|
bfba206d16 | ||
|
|
118bc996fb | ||
|
|
6cce110345 | ||
|
|
b6e4add9b5 | ||
|
|
aa219d1ec7 | ||
|
|
d52d986aca | ||
|
|
d8ad89c4b4 | ||
|
|
4691974466 | ||
|
|
3bace79604 | ||
|
|
3432788763 | ||
|
|
08d164a811 | ||
|
|
e4e3dbf756 | ||
|
|
1646acb26f | ||
|
|
d293d766ef | ||
|
|
c7a40db1b7 | ||
|
|
a9a102b0e8 | ||
|
|
cddc4da3bb | ||
|
|
73faf60fe0 | ||
|
|
b6ccd4d5d4 | ||
|
|
e9b8f5d814 | ||
|
|
c7bb27bac9 | ||
|
|
af50b5e516 | ||
|
|
a104c289da | ||
|
|
1cc4fa9356 | ||
|
|
d199ca1460 | ||
|
|
cd9efd53fe | ||
|
|
70a131e09a | ||
|
|
39694d0aaa | ||
|
|
959eff34a3 | ||
|
|
2cc822b44e | ||
|
|
b5d939c858 | ||
|
|
203200e259 | ||
|
|
c39d07dd17 | ||
|
|
f2d2f3c193 | ||
|
|
a08192b53e | ||
|
|
1b0e2cf783 | ||
|
|
8b584cb89f | ||
|
|
2d4210b309 | ||
|
|
31461aaf02 | ||
|
|
f3ef819b43 | ||
|
|
3ae5161636 | ||
|
|
a76dcdc419 | ||
|
|
199226d089 | ||
|
|
e335b50ed1 | ||
|
|
357d94e834 | ||
|
|
0a7702626f | ||
|
|
b37d0a444c | ||
|
|
59a4ab8778 | ||
|
|
8cb930b50e | ||
|
|
68a115cacf | ||
|
|
9fee605e65 | ||
|
|
13790bdbf0 | ||
|
|
1644bcdf03 | ||
|
|
f8c6c58373 | ||
|
|
7b8d4b28c7 | ||
|
|
b93b88211c | ||
|
|
03a99569e3 | ||
|
|
3598fb505d | ||
|
|
250e4ed9e0 | ||
|
|
fe5af26f9f | ||
|
|
eb9872c684 | ||
|
|
cb7ec508f6 | ||
|
|
e549e23a87 | ||
|
|
411a5a9483 | ||
|
|
f72d355b18 | ||
|
|
b30f790587 | ||
|
|
a7d158e077 | ||
|
|
12fbdbf418 | ||
|
|
974188796c | ||
|
|
aba320eade | ||
|
|
d602572bbe | ||
|
|
d13d068e71 | ||
|
|
f40dcb5883 | ||
|
|
326ca263c9 | ||
|
|
59a8149556 | ||
|
|
842c151edd | ||
|
|
55a07c1dcd | ||
|
|
bbed9fdb63 | ||
|
|
e6e9c72f66 | ||
|
|
b18aa27aa1 | ||
|
|
ad67fe51dd | ||
|
|
188e3a74ed | ||
|
|
5cdaa96e4c | ||
|
|
a9ce4dc76c | ||
|
|
753b48647f | ||
|
|
3e8c6bf4bd | ||
|
|
5e67eee362 | ||
|
|
ad6c2dbe7b | ||
|
|
e6fc904e3c | ||
|
|
e86a7db18b | ||
|
|
e949a3e642 | ||
|
|
97be359d4a | ||
|
|
c9869c1a26 | ||
|
|
b04028b5d8 | ||
|
|
1981af0bbd | ||
|
|
eeb1b927ce | ||
|
|
cc5c0931a3 | ||
|
|
fdce8fb34d | ||
|
|
f7636fe8f2 | ||
|
|
032a3877e0 | ||
|
|
e98bb13271 | ||
|
|
3e94f7f55c | ||
|
|
820c0efcb3 | ||
|
|
4c45de2c45 | ||
|
|
9f913ae109 | ||
|
|
635a99c083 | ||
|
|
d5bc751f54 | ||
|
|
96e6a0a114 | ||
|
|
42e9b971c5 | ||
|
|
18966eab63 | ||
|
|
f185e28892 | ||
|
|
f7fbac4c6b | ||
|
|
153bb29501 | ||
|
|
31fdec2e2e | ||
|
|
d5acfeb426 | ||
|
|
8c4a0768cc | ||
|
|
accfc14fb1 | ||
|
|
86945a1270 | ||
|
|
6a70d1dab1 | ||
|
|
a22e19a902 | ||
|
|
4980fade74 | ||
|
|
23534beaa6 | ||
|
|
9439b5b645 | ||
|
|
fd67284b4d | ||
|
|
2b25329423 | ||
|
|
6c320f7d65 | ||
|
|
75c4972021 | ||
|
|
a3ab3cb458 | ||
|
|
8899d71cad | ||
|
|
03bb2f6a48 | ||
|
|
335a8972b9 | ||
|
|
535088fe73 | ||
|
|
9283e9ca98 | ||
|
|
b74ab9de89 | ||
|
|
9877042450 | ||
|
|
d861be8ad5 | ||
|
|
aea34c5410 | ||
|
|
d002f6e5be | ||
|
|
9af2d6b4a1 | ||
|
|
e626180b28 | ||
|
|
e99a5ff1fe | ||
|
|
4fd17161eb | ||
|
|
1f245fbc0b | ||
|
|
f8bd96868b | ||
|
|
6d87370881 | ||
|
|
a0832b62c6 | ||
|
|
465a651090 | ||
|
|
0f108cb4d8 | ||
|
|
19cd149be2 | ||
|
|
f55b564ca1 | ||
|
|
30a679ba36 | ||
|
|
49a9b88734 | ||
|
|
e77ac8a230 | ||
|
|
ea463d95e3 | ||
|
|
95223be101 | ||
|
|
8a5d1b9674 | ||
|
|
ba5b580368 | ||
|
|
0b323f717b | ||
|
|
0138e110cc | ||
|
|
b98517f90b | ||
|
|
71420223bc | ||
|
|
9c1cb0801c | ||
|
|
dd411efd1c | ||
|
|
dade099b9d | ||
|
|
8ffe623e74 | ||
|
|
9246b14f68 | ||
|
|
4459b8973b | ||
|
|
b6b11e3b43 | ||
|
|
d28fce082d | ||
|
|
21a69c8aff | ||
|
|
714a347dc9 | ||
|
|
0a1e68d7a9 | ||
|
|
746e3d1454 | ||
|
|
f485be1b84 | ||
|
|
1dcd4a19ea | ||
|
|
486678e557 | ||
|
|
9e4833e21f | ||
|
|
37e6b05b4a | ||
|
|
a4c06f2572 | ||
|
|
b945beb6a7 | ||
|
|
6175271651 | ||
|
|
e3a8cfcdb0 | ||
|
|
808d3ab471 | ||
|
|
ba2c6d9008 | ||
|
|
30ada49458 | ||
|
|
95b4a6f881 | ||
|
|
99e13eeaa2 | ||
|
|
d7da827be8 | ||
|
|
c40ae4d774 | ||
|
|
81b3c16c7e | ||
|
|
d4081b43a6 | ||
|
|
166425f807 | ||
|
|
32bbacbb78 | ||
|
|
839aa93198 | ||
|
|
911b86de67 | ||
|
|
c95ed4b8b5 | ||
|
|
a795a27689 | ||
|
|
96006dba96 | ||
|
|
5a7fc8d334 | ||
|
|
472a107358 | ||
|
|
b3358c462e | ||
|
|
5928af8adc | ||
|
|
ad59689946 | ||
|
|
df79409f76 | ||
|
|
362b6afacf | ||
|
|
4e137cf9f5 | ||
|
|
5ecd902fbf | ||
|
|
ca31e3af1e | ||
|
|
2a78b9d3fe | ||
|
|
b449ded176 | ||
|
|
b81a04f157 | ||
|
|
cdce753a09 | ||
|
|
334e30c407 | ||
|
|
cdebf6baa7 | ||
|
|
04675fca2a | ||
|
|
e88ac62d06 | ||
|
|
b1c3daca3a | ||
|
|
21e6f25e70 | ||
|
|
b12678e90d | ||
|
|
ad7b339c44 | ||
|
|
5c07db3a74 | ||
|
|
5b4929ef98 | ||
|
|
63cad26656 | ||
|
|
a482b54ed7 | ||
|
|
d0088fbc0f | ||
|
|
a012fab090 | ||
|
|
11629bcf99 | ||
|
|
47e4b36180 | ||
|
|
97e69952c4 | ||
|
|
1428015158 | ||
|
|
c92a3c5bd5 | ||
|
|
f2e46f0fdf | ||
|
|
fc61bc79c5 | ||
|
|
cc2bcb8a4d | ||
|
|
fe33a39d6c | ||
|
|
28f26991ac | ||
|
|
30aed2330d | ||
|
|
3f5683b391 | ||
|
|
c2adade8a8 | ||
|
|
7292b571de | ||
|
|
305c6e7ae4 | ||
|
|
53df4da8e8 | ||
|
|
e235ac2a0e | ||
|
|
d314a27e76 | ||
|
|
cc2b5af601 | ||
|
|
ef73310cce | ||
|
|
0aa2735d4e | ||
|
|
c5f15fa1d5 | ||
|
|
5f6d024804 | ||
|
|
626fed88b7 | ||
|
|
e34ef0fc17 | ||
|
|
cb04bc5465 | ||
|
|
6076316f38 | ||
|
|
7b1db91d36 | ||
|
|
59cb7da334 | ||
|
|
a10f36c837 | ||
|
|
859422f357 | ||
|
|
f1a7ab9bc6 | ||
|
|
79433ddb60 | ||
|
|
165b98bba5 | ||
|
|
e2cf4987cf | ||
|
|
a50d214ffb | ||
|
|
89c3ed6d7f | ||
|
|
60b9ea3222 | ||
|
|
61e5b9d218 | ||
|
|
098a30725f | ||
|
|
9db6f059ac | ||
|
|
8886e6f100 | ||
|
|
a7ae8e0a18 | ||
|
|
e2b38c96f8 | ||
|
|
a2a4868825 | ||
|
|
b844572159 | ||
|
|
155f3ade41 | ||
|
|
8424286a3e | ||
|
|
03ba3f7473 | ||
|
|
d869368679 | ||
|
|
d34c93a464 | ||
|
|
5d4116f05f | ||
|
|
b7a5dd76e9 | ||
|
|
2533cc8d75 | ||
|
|
eaaab65d3c | ||
|
|
4fdc2d7209 | ||
|
|
12f72a5ed7 | ||
|
|
0c7496f08b | ||
|
|
9a763588e2 | ||
|
|
13a485d885 | ||
|
|
2ad1850639 | ||
|
|
9948ab7d79 | ||
|
|
7efd9940f2 | ||
|
|
8b3e12d632 | ||
|
|
316d8e9d37 | ||
|
|
789ce59fb5 | ||
|
|
be30c0bd70 | ||
|
|
0eb1eb625f | ||
|
|
18ada212e7 | ||
|
|
22d4b0d497 | ||
|
|
970c5f6184 | ||
|
|
7e6942953c | ||
|
|
d602105dd4 | ||
|
|
85e480db3d | ||
|
|
8e75906737 | ||
|
|
03c60efec9 | ||
|
|
5251b67d73 | ||
|
|
a32c50a6bc | ||
|
|
74117bbe46 | ||
|
|
2418c0e0af | ||
|
|
3afbed48e0 | ||
|
|
38fedfd78b | ||
|
|
c0d8021fd5 | ||
|
|
223750cde9 | ||
|
|
b783280577 | ||
|
|
1539acafc1 | ||
|
|
40e93dd931 | ||
|
|
bc58bf572c | ||
|
|
19f3229f45 | ||
|
|
c3610aa971 | ||
|
|
59ba224f93 | ||
|
|
24cfcfdd4f | ||
|
|
b37e06da8f | ||
|
|
57abfcd581 | ||
|
|
9afbb0e2b7 | ||
|
|
5a9d908007 | ||
|
|
b148fd50d7 | ||
|
|
c7764cfe50 | ||
|
|
102d486207 | ||
|
|
298fe25281 | ||
|
|
8bf1a78d5d | ||
|
|
549f09db9c | ||
|
|
9ca004eacf | ||
|
|
85467231ab | ||
|
|
5d029af79e | ||
|
|
e79e779aba | ||
|
|
e66f04e056 | ||
|
|
e3779978b2 | ||
|
|
122def9f12 | ||
|
|
33f602f9ad | ||
|
|
fc3fa173ae | ||
|
|
71e3330eca | ||
|
|
924364d73d | ||
|
|
f19651cfea | ||
|
|
938db1551f | ||
|
|
39b4b6838f | ||
|
|
6fd56bf9b6 | ||
|
|
8476360e9f | ||
|
|
3a0506ccb3 | ||
|
|
83890e56eb | ||
|
|
631db73d35 | ||
|
|
5df40bfe3e | ||
|
|
b0ef67d14c | ||
|
|
5d73f28a85 | ||
|
|
e17b9177de | ||
|
|
d93f84f4bc | ||
|
|
33f05d1162 | ||
|
|
6f6fd33cae | ||
|
|
b65981fc3a | ||
|
|
4f3b47c3d7 | ||
|
|
89799cd02e | ||
|
|
46bdc016db | ||
|
|
54f8dea29b | ||
|
|
af8a995116 | ||
|
|
4d7098f2f2 | ||
|
|
b69ee802fd | ||
|
|
a48f998162 | ||
|
|
a227089ba1 | ||
|
|
e9cbd42b18 | ||
|
|
ae4e9fab8c | ||
|
|
dacee3b9ed | ||
|
|
7521ae888a | ||
|
|
d7afadb2fe | ||
|
|
2cf1bb89be | ||
|
|
935f68f686 | ||
|
|
f15cd3e468 | ||
|
|
1976d6cd32 | ||
|
|
27dacca4d3 | ||
|
|
9031320dff | ||
|
|
5145235b97 | ||
|
|
ef5461a32c | ||
|
|
58bfe28244 | ||
|
|
fb03b1105c | ||
|
|
19ed94fe25 | ||
|
|
38049d22ba | ||
|
|
80b09ba9fc | ||
|
|
855aceaba8 | ||
|
|
374c7e815c | ||
|
|
caa40866c3 | ||
|
|
5cc1426346 | ||
|
|
356c73f2cf | ||
|
|
643152fb38 | ||
|
|
2ef6514e47 | ||
|
|
811424cc1b | ||
|
|
ed3546d8b2 | ||
|
|
1a95be9c3a | ||
|
|
009f56afb6 | ||
|
|
c23f264fe4 | ||
|
|
f0708db792 | ||
|
|
9229bb1f3e | ||
|
|
5a39dfd56c | ||
|
|
c67e90dd19 | ||
|
|
da22c90d33 | ||
|
|
e7aabce8e9 | ||
|
|
1ea5889a87 | ||
|
|
94077404f9 | ||
|
|
aa34aed7dd | ||
|
|
45482b4fb1 | ||
|
|
cea8332084 | ||
|
|
ef993f2fcf | ||
|
|
60c68b1111 | ||
|
|
4759d3956e | ||
|
|
884dfcf3c1 | ||
|
|
98b2b2544d | ||
|
|
14909f12fe | ||
|
|
72bb32fcda | ||
|
|
26350714ee | ||
|
|
040134e775 | ||
|
|
d348d82d5a | ||
|
|
4abe12c729 | ||
|
|
d9ba279e89 | ||
|
|
b08839cac4 | ||
|
|
fc5bf3f5e8 | ||
|
|
783408080c | ||
|
|
30c6018887 | ||
|
|
f207a60365 | ||
|
|
142ba12634 | ||
|
|
0543ecabe2 | ||
|
|
9a8b7d9a23 | ||
|
|
c8dd88efad | ||
|
|
98e2b79ef4 | ||
|
|
2fde8d35c2 | ||
|
|
f5a2c52f80 | ||
|
|
6497da262a | ||
|
|
bbbd4e4742 | ||
|
|
fb193933cb | ||
|
|
b4fe03e49f | ||
|
|
afb758bd6c | ||
|
|
6452fbac89 | ||
|
|
41fab61253 | ||
|
|
6faef87b49 | ||
|
|
1a3b0e41f5 | ||
|
|
2957acd133 | ||
|
|
892732f340 | ||
|
|
4da22fc6a0 | ||
|
|
4d95e578f4 | ||
|
|
74b5540f76 | ||
|
|
9a609f6766 | ||
|
|
a54b4bebde | ||
|
|
8902730756 | ||
|
|
947b09ad96 | ||
|
|
563185998f | ||
|
|
e485e96de0 | ||
|
|
4641e36f0d | ||
|
|
ad9b7c0bfa | ||
|
|
a029c00660 | ||
|
|
7e834a47b0 | ||
|
|
fa9a1cf2dc | ||
|
|
9725c44934 | ||
|
|
aa30f50fbe | ||
|
|
41df21855a | ||
|
|
1912287231 | ||
|
|
b74c179bf4 | ||
|
|
7e4db1fdd6 | ||
|
|
d32d77c6a5 | ||
|
|
61b2264327 | ||
|
|
44b13c1ca0 | ||
|
|
ab54f92024 | ||
|
|
6034b68f06 | ||
|
|
3f8de9f026 | ||
|
|
f2e12b4715 | ||
|
|
7d1c92dc12 | ||
|
|
c4baf9588e | ||
|
|
f8f464846a | ||
|
|
e49744ecd0 | ||
|
|
f9b4e0b574 | ||
|
|
40f960f733 | ||
|
|
e9c16e62e7 | ||
|
|
55117039f0 | ||
|
|
949c2aa76f | ||
|
|
12bfed04b1 | ||
|
|
51731cb1f9 | ||
|
|
c99a36155b | ||
|
|
9ead405938 | ||
|
|
4e0958eae6 | ||
|
|
88e96ff4d8 | ||
|
|
06794b221d | ||
|
|
258cdf2e07 | ||
|
|
3c97a04b25 | ||
|
|
0f87844a7c | ||
|
|
64ed0a1937 | ||
|
|
da3a5081fe | ||
|
|
2fd99e9dec | ||
|
|
e49c33148c | ||
|
|
0a61b061c7 | ||
|
|
bf0ae22969 | ||
|
|
e4a235b233 | ||
|
|
b6f854be5e | ||
|
|
84edf4cbfd | ||
|
|
afcfba9355 | ||
|
|
59fed23824 | ||
|
|
d3451bb299 | ||
|
|
e7137a230c | ||
|
|
e64c42f224 | ||
|
|
9ee4431994 | ||
|
|
de1f80571a | ||
|
|
eae485dc64 | ||
|
|
807b55862d | ||
|
|
7435c2f3ca | ||
|
|
15d9373ad7 | ||
|
|
3bc0843afc | ||
|
|
aaf8863de5 | ||
|
|
ebfd218f62 | ||
|
|
ed4458c162 | ||
|
|
1403d797f0 | ||
|
|
c0ce20e9cc | ||
|
|
bd9b4ef60c | ||
|
|
c8d6ca908d | ||
|
|
0517a2c2ab | ||
|
|
af1c7f0c8b | ||
|
|
93f202850a | ||
|
|
4da1d3232f | ||
|
|
2b7d4fff5a | ||
|
|
351a5ab20a | ||
|
|
f964fdbe56 | ||
|
|
195b5f0a07 | ||
|
|
18c94e123f | ||
|
|
7b74264720 | ||
|
|
7107019d6f | ||
|
|
db1319de4c | ||
|
|
2ee7cf0377 | ||
|
|
256ba6bddf | ||
|
|
bea5364b97 | ||
|
|
820b4dbc77 | ||
|
|
a01c8c238c | ||
|
|
ff12835ee2 | ||
|
|
e67bbcb0b2 | ||
|
|
a084ea8e42 | ||
|
|
ca4ed290d5 | ||
|
|
56360ea054 | ||
|
|
a1c8860f63 | ||
|
|
3a6430b13d | ||
|
|
95a88a787d | ||
|
|
d8904c550b | ||
|
|
86741cb1dd | ||
|
|
5bbb27c8af | ||
|
|
fabb6acf3f | ||
|
|
60e41e3110 | ||
|
|
d4c6c995ba | ||
|
|
fdd789edd8 | ||
|
|
c640619db5 | ||
|
|
1c7c44e12c | ||
|
|
cdca644c83 | ||
|
|
945dcfd63a | ||
|
|
7623d4ea83 | ||
|
|
5802b0963f | ||
|
|
308f74561c | ||
|
|
51765c6e5c | ||
|
|
3c0b8c4e86 | ||
|
|
0deeccebf8 | ||
|
|
4cfa3e6f92 | ||
|
|
ded1c20190 | ||
|
|
929553dc8d | ||
|
|
4aa19494f5 | ||
|
|
7a1f5358df | ||
|
|
acf831658f | ||
|
|
20c85c8a1c | ||
|
|
a817da7c6b | ||
|
|
b5a4e5667a | ||
|
|
0c54a19a0b | ||
|
|
3c3558892e | ||
|
|
960957075f | ||
|
|
7f52a770d9 | ||
|
|
5dcebbccb6 | ||
|
|
99e6dd18d6 | ||
|
|
dafe3c1e3c | ||
|
|
bd9208879e | ||
|
|
f5e9b4012a | ||
|
|
f9c59a0976 | ||
|
|
92ff854bff | ||
|
|
16ec131586 | ||
|
|
0bd5a8a331 | ||
|
|
85e572f4e1 | ||
|
|
9d89613bb2 | ||
|
|
2c7b757b4c | ||
|
|
375ee571c2 | ||
|
|
ef17e65c1b | ||
|
|
5bb6e62b84 | ||
|
|
80c1c94a87 | ||
|
|
f40bb93677 | ||
|
|
abb2e8034b | ||
|
|
9459f11688 | ||
|
|
91d0659663 | ||
|
|
e64e11d2c5 | ||
|
|
a623169477 | ||
|
|
c802c9c946 | ||
|
|
5d333239c6 | ||
|
|
f0d760de4a | ||
|
|
19f6ae1d54 | ||
|
|
64581b65b0 | ||
|
|
80b27bde5e | ||
|
|
d90f032114 | ||
|
|
8ad72fc9ca | ||
|
|
d277055b5a | ||
|
|
2d9922a46e | ||
|
|
6e93c1ba73 | ||
|
|
6002e59c28 | ||
|
|
b6d3d32e88 | ||
|
|
8eee51913a | ||
|
|
c24080f289 | ||
|
|
cbdad764f0 | ||
|
|
fe850fece8 | ||
|
|
33791c6efd | ||
|
|
d965601a5e | ||
|
|
1abce3a2a1 | ||
|
|
f5615c6ed4 | ||
|
|
ea7f4d7489 | ||
|
|
6de78c536f | ||
|
|
26a2d8a5c6 | ||
|
|
7c560bef87 | ||
|
|
c0812670c1 | ||
|
|
141c25b42b | ||
|
|
b31ae57be1 | ||
|
|
d1501731e4 | ||
|
|
4cf7ee1dba | ||
|
|
bd883327ac | ||
|
|
3ff4a1333c | ||
|
|
e985e0beb4 | ||
|
|
49aad01bf1 | ||
|
|
8fcb5139da | ||
|
|
d3ccc289c1 | ||
|
|
dd14f15f94 | ||
|
|
b523f070f3 | ||
|
|
a42feca228 | ||
|
|
035621aa95 | ||
|
|
98a2c324f8 | ||
|
|
30f941ba39 | ||
|
|
f44406c46f | ||
|
|
4235e569d2 | ||
|
|
135041ac3c | ||
|
|
c444ed5e4f | ||
|
|
bba961e54d | ||
|
|
cd460a8160 | ||
|
|
e85796e028 | ||
|
|
4156538546 | ||
|
|
06c3cd8307 | ||
|
|
e24bb372d0 | ||
|
|
a397a8c1a1 | ||
|
|
ee49ecdf43 | ||
|
|
e75a59d7a8 | ||
|
|
b8f30ba0de | ||
|
|
682fd226ae | ||
|
|
6549457929 | ||
|
|
1a20630d2a | ||
|
|
52642f6c8f | ||
|
|
0a011c31ea | ||
|
|
80feb80168 | ||
|
|
ed65eaf682 | ||
|
|
49e22f566f | ||
|
|
ea9430e28e | ||
|
|
c9c2562c14 | ||
|
|
843c5442b1 | ||
|
|
9bdcb0a31b | ||
|
|
ff33939385 | ||
|
|
035baa49bd | ||
|
|
c269caaded | ||
|
|
8f9c7f0d60 | ||
|
|
162d01519b | ||
|
|
3b33af88cf | ||
|
|
950d65e8ed | ||
|
|
1602aab6e9 | ||
|
|
e31133c804 | ||
|
|
242532a8df | ||
|
|
ca1b9deb59 | ||
|
|
1bbe7043e1 | ||
|
|
87a9e0ce4f | ||
|
|
051cf11ce6 | ||
|
|
f87a575d4d | ||
|
|
355696d17d | ||
|
|
d9a8c30053 | ||
|
|
21b1add984 | ||
|
|
3157e4be1e | ||
|
|
1c54213091 | ||
|
|
ce56ba927a | ||
|
|
05b73276c2 | ||
|
|
39e55bdb77 | ||
|
|
e8a735492d | ||
|
|
901ac80026 | ||
|
|
80e6afd335 | ||
|
|
938fd5e655 | ||
|
|
75028e4108 | ||
|
|
0d4edc326e | ||
|
|
16a2beaaca | ||
|
|
70b541b81e | ||
|
|
11b01b908d | ||
|
|
219b239a34 | ||
|
|
4c05c46cd1 | ||
|
|
f6fa74a636 | ||
|
|
7feced8862 | ||
|
|
a590b99f5b | ||
|
|
c6cab0bb27 | ||
|
|
390ee4e22f | ||
|
|
73f1c0e11d | ||
|
|
f151142e6a | ||
|
|
298dda0e71 | ||
|
|
675dd3c963 | ||
|
|
6011bdb2f6 | ||
|
|
ac7a0e21ac | ||
|
|
ca41af41c2 | ||
|
|
d70a9507a7 | ||
|
|
691df09a1f | ||
|
|
4cbfb4e199 | ||
|
|
0291c92ffb | ||
|
|
077b14ccfa | ||
|
|
7adcde1707 | ||
|
|
a2f61c667a | ||
|
|
ead0338c0d | ||
|
|
767f093ff8 | ||
|
|
2890b3a810 | ||
|
|
9c86c03a96 | ||
|
|
d091a57e91 | ||
|
|
679bfb0ae9 | ||
|
|
a84463a3df | ||
|
|
82e62209d6 | ||
|
|
18b0aaf9f2 | ||
|
|
9b243ff68c | ||
|
|
1aab287189 | ||
|
|
e43dbe1c24 | ||
|
|
be772c0198 | ||
|
|
5d129f6e8a | ||
|
|
dce5783dc9 | ||
|
|
e806515541 | ||
|
|
93193727be | ||
|
|
cd27fef6a8 | ||
|
|
3789174162 | ||
|
|
14268510f5 | ||
|
|
275b27647e | ||
|
|
233dd5062a | ||
|
|
4e856546c1 | ||
|
|
3b17c3a411 | ||
|
|
9b34509956 | ||
|
|
02daf9f8b5 | ||
|
|
cbb2833c01 | ||
|
|
170d96898f | ||
|
|
5dbacb538e | ||
|
|
01f5baf03d | ||
|
|
8e35a82c91 | ||
|
|
5b3611265b | ||
|
|
669113b595 | ||
|
|
fe59626953 | ||
|
|
cc82cd9992 | ||
|
|
5095dd72b2 | ||
|
|
0851e3d694 | ||
|
|
1abfa98290 | ||
|
|
50174d9860 | ||
|
|
4a6bca0b56 | ||
|
|
ff9b77b6cc | ||
|
|
66634ef683 | ||
|
|
3a30669ff6 | ||
|
|
e14e13abf4 | ||
|
|
2048d6cfb5 | ||
|
|
ad003e5991 | ||
|
|
0985655ac7 | ||
|
|
c50e4d25e2 | ||
|
|
4ba34f2a69 | ||
|
|
360372420b | ||
|
|
aa75789f58 | ||
|
|
a3d8829be9 | ||
|
|
0de44517ac | ||
|
|
0bbe4f56a5 | ||
|
|
750a527100 | ||
|
|
a780df1fe1 | ||
|
|
2e8d792f9a | ||
|
|
d7689b43cd | ||
|
|
73261ea48f | ||
|
|
23d4534f94 | ||
|
|
acb7c61302 | ||
|
|
949333e37b | ||
|
|
8a81f9c0c8 | ||
|
|
05d1b8072b | ||
|
|
6c3873316b | ||
|
|
ce0cf85386 | ||
|
|
d2c89d2ba9 | ||
|
|
b332064cb5 | ||
|
|
98e51d10d1 | ||
|
|
64c4cef901 | ||
|
|
97e3472c87 | ||
|
|
371e8efb79 | ||
|
|
8d1b80e6fd | ||
|
|
81115aa826 | ||
|
|
e7cf8fb45c | ||
|
|
9558ebf86c | ||
|
|
ca3e5e8b8c | ||
|
|
8f0ea644dd | ||
|
|
99f3c7d01d | ||
|
|
2306c3bde2 | ||
|
|
09de875330 | ||
|
|
3d28f5ca90 | ||
|
|
c240d42a9e | ||
|
|
b0e035ba2b | ||
|
|
7bc3bff83f | ||
|
|
1497330cc0 | ||
|
|
4f1d007fb4 | ||
|
|
f6002a149c | ||
|
|
6afcc370ed | ||
|
|
0ec4534bd6 | ||
|
|
4bf10d87b0 | ||
|
|
aeee5610e1 | ||
|
|
e5af45b913 | ||
|
|
f55d334435 | ||
|
|
ae7fa8f2ea | ||
|
|
97e64c388c | ||
|
|
bb27d8d14e | ||
|
|
cbe2e3ca29 | ||
|
|
39d655278d | ||
|
|
5988ec37cd | ||
|
|
21d94929dd | ||
|
|
ddae920ee9 | ||
|
|
e6530d68dd | ||
|
|
6df0ba5244 | ||
|
|
b858b0d623 | ||
|
|
38427f84b0 | ||
|
|
c0803ed53a | ||
|
|
ccdbb2b0e6 | ||
|
|
a5fba551d1 | ||
|
|
31f19fbc65 | ||
|
|
730d01a25f | ||
|
|
1f12a06f7c | ||
|
|
287c5d6cd3 | ||
|
|
420bb6ee17 | ||
|
|
7e8bb7b700 | ||
|
|
4266e712f2 | ||
|
|
5bbf010029 | ||
|
|
9cde534b23 | ||
|
|
38451fa8a4 | ||
|
|
69e3bbea7e | ||
|
|
c33383e6de | ||
|
|
e6359ec019 | ||
|
|
984f901604 | ||
|
|
e581ad3633 | ||
|
|
39a1a142e3 | ||
|
|
d2fc2c74fb | ||
|
|
d76911d38a | ||
|
|
ad6e54c2d8 | ||
|
|
5abb40b229 | ||
|
|
4b77072fed | ||
|
|
bbff709d9f | ||
|
|
0e649f24ea | ||
|
|
a08f905224 | ||
|
|
0b2a699b46 | ||
|
|
aa4493df9f | ||
|
|
07f840f11c | ||
|
|
034c668b15 | ||
|
|
d9778994fa | ||
|
|
37185b20dd | ||
|
|
6f58b9a22d | ||
|
|
b5fef66f37 | ||
|
|
06b2b83ab2 | ||
|
|
858e952505 | ||
|
|
db3b6603e5 | ||
|
|
bd82bf6a7f | ||
|
|
e21eca942b | ||
|
|
2697499b3c | ||
|
|
0f8fb4d79d | ||
|
|
29881fb7c9 | ||
|
|
6ed57af9fd | ||
|
|
d1b5a6632d | ||
|
|
6878ede5d7 | ||
|
|
bba7c980e4 | ||
|
|
cc8ecd836f | ||
|
|
f613ee0f57 | ||
|
|
6f463d60a3 | ||
|
|
038ac5a65a | ||
|
|
69c293919a | ||
|
|
251f8cf229 | ||
|
|
54ff808c2c | ||
|
|
977bca922b | ||
|
|
2a81eaa06e | ||
|
|
3d52856dd2 | ||
|
|
c1aac0de0e | ||
|
|
d5ba063602 | ||
|
|
1fc2dfb64f | ||
|
|
1b4a7e37ce | ||
|
|
5878155b68 | ||
|
|
09495519c0 | ||
|
|
4b78364b8b | ||
|
|
66b30f0c7a | ||
|
|
15ac85b50c | ||
|
|
252e4afb9c | ||
|
|
b53206cde7 | ||
|
|
8a08413263 | ||
|
|
f4c51046f0 | ||
|
|
e4aee2ba34 | ||
|
|
6ee1fd2a67 | ||
|
|
79e1b25c6c | ||
|
|
dfbd96f09e | ||
|
|
23cfb51e72 | ||
|
|
4ea6e38c20 | ||
|
|
476260a6fa | ||
|
|
2d76d0a657 | ||
|
|
bc94d53514 | ||
|
|
86fc0240a9 | ||
|
|
d0ed84c2d0 | ||
|
|
819ecbda26 | ||
|
|
709ee6a28b | ||
|
|
601c6102e8 | ||
|
|
bcdd190020 | ||
|
|
95a2f4b9dd | ||
|
|
aaa26c7d57 | ||
|
|
8b7767b748 | ||
|
|
6198e10f67 | ||
|
|
0949b2e104 | ||
|
|
ef7e9db116 | ||
|
|
a5772f7dc3 | ||
|
|
c0d2643952 | ||
|
|
7a9a7c3188 | ||
|
|
ae3f9bbd77 | ||
|
|
05279f8302 | ||
|
|
32d4937363 | ||
|
|
3531bcbf3e | ||
|
|
f007fc13d5 | ||
|
|
00a9406bb4 | ||
|
|
896b7c1116 | ||
|
|
89e2bf89cb | ||
|
|
a982e434f2 | ||
|
|
4b2e3be2fc | ||
|
|
579b89ad98 | ||
|
|
9c38521ea8 | ||
|
|
48f64de720 | ||
|
|
4384603eeb | ||
|
|
91f8e09bcc | ||
|
|
0538184699 | ||
|
|
1e7a992663 | ||
|
|
d65f587f69 | ||
|
|
e786d1cf49 | ||
|
|
1dee57bf1f | ||
|
|
2f6fb1de1c | ||
|
|
0fca806b0a | ||
|
|
e9295b2a98 | ||
|
|
7919812378 | ||
|
|
024f66a84f | ||
|
|
e52feb2b91 | ||
|
|
ac4bdbd411 | ||
|
|
c4823c6fd4 | ||
|
|
3bd3fd8749 | ||
|
|
0ad1880c42 | ||
|
|
aea312746b | ||
|
|
7f4b14ee49 | ||
|
|
bad8412131 | ||
|
|
d9a2452b81 | ||
|
|
22d1f1da1b | ||
|
|
f9482a1b72 | ||
|
|
2c03b9a1bc | ||
|
|
d90dff5861 | ||
|
|
33b1d82791 | ||
|
|
9accf983e1 | ||
|
|
ac17751699 | ||
|
|
8f0146f14a | ||
|
|
e7e65044e6 | ||
|
|
fb53bfc25d | ||
|
|
32d000fb4c | ||
|
|
06bb95d197 | ||
|
|
c2945bf1ff | ||
|
|
48448e6bbb | ||
|
|
85d755f214 | ||
|
|
97b517a892 | ||
|
|
a6eb7d0763 | ||
|
|
4014783275 | ||
|
|
90b2f5aff8 | ||
|
|
dfea22389c | ||
|
|
ab10bd4014 | ||
|
|
5d9f4dc89d | ||
|
|
c9e9679a06 | ||
|
|
e47485f925 | ||
|
|
2ef43e425a | ||
|
|
66561c23c1 | ||
|
|
64c10aa2fe | ||
|
|
9bc096d9b0 | ||
|
|
520641890d | ||
|
|
f91a7e749b | ||
|
|
a7323d399e | ||
|
|
a9c69bb8c9 | ||
|
|
ec7751332f | ||
|
|
2c8b8d90bf | ||
|
|
d8dfc29297 | ||
|
|
d0faf471b8 | ||
|
|
4aa9a414c6 | ||
|
|
94ba9575ec | ||
|
|
271b65aa70 | ||
|
|
98973ee901 | ||
|
|
524813ff60 | ||
|
|
4fc27ffc98 | ||
|
|
573381a340 | ||
|
|
e95d07aa97 | ||
|
|
0835985999 | ||
|
|
2f486b6201 | ||
|
|
5705d0b55b | ||
|
|
308767cbae | ||
|
|
346d88a6a7 | ||
|
|
effdc58d88 | ||
|
|
c7874b9f60 | ||
|
|
27841c7b40 | ||
|
|
13482984ca | ||
|
|
d670998814 | ||
|
|
02b8469875 | ||
|
|
6f0b57fe51 | ||
|
|
8dd003d2b3 | ||
|
|
9f01392922 | ||
|
|
ce45f75987 | ||
|
|
d653054d98 | ||
|
|
24256256fb | ||
|
|
38778cdeb6 | ||
|
|
1ab725e526 | ||
|
|
506e44fb5d | ||
|
|
b75e36bba1 | ||
|
|
ec06d162bd | ||
|
|
d78b44f8c6 | ||
|
|
6fca6897cd | ||
|
|
d455263e66 | ||
|
|
3c8fd588f6 | ||
|
|
04dc8e340c | ||
|
|
b7e7d1496b | ||
|
|
89329f1519 | ||
|
|
f1a052f259 | ||
|
|
0114a850d9 | ||
|
|
1a436d897e | ||
|
|
4d02d47832 | ||
|
|
c1f17e9c18 | ||
|
|
9523fa2d33 | ||
|
|
4dcfc036c8 | ||
|
|
b979fb5763 | ||
|
|
37ad190820 | ||
|
|
a6c306500a | ||
|
|
e36a636eee | ||
|
|
ac5bb6707d | ||
|
|
7845f1b1ca | ||
|
|
8951e74ba7 | ||
|
|
aa4a7735d7 | ||
|
|
9eee35468c | ||
|
|
55b4b00449 | ||
|
|
e2d14291b7 | ||
|
|
b3d7c09ba1 | ||
|
|
da65866e24 | ||
|
|
8d5717b57a | ||
|
|
a76153cb9f | ||
|
|
2abbd94492 | ||
|
|
2dd8f9f5ef | ||
|
|
6d7dfad80b | ||
|
|
03cb0bd2fd | ||
|
|
759f5f5f48 | ||
|
|
cc747946b2 | ||
|
|
9c3f89fa1f | ||
|
|
37f9929094 | ||
|
|
a5bff259bc | ||
|
|
ba10c74a7a | ||
|
|
b0e929420b | ||
|
|
1369bed881 | ||
|
|
93f55c274b | ||
|
|
8bd2628d1e | ||
|
|
b3d84d511c | ||
|
|
2c7ccca210 | ||
|
|
62c2177599 | ||
|
|
b14021e9ac | ||
|
|
e809d6bf0d | ||
|
|
7f06405bdb | ||
|
|
1fee359056 | ||
|
|
fac246c799 | ||
|
|
8b685763d4 | ||
|
|
d2f012e414 | ||
|
|
f103617512 | ||
|
|
e92f354740 | ||
|
|
e2419ece0b | ||
|
|
c0e82f4200 | ||
|
|
29d1400340 | ||
|
|
c9734004ee | ||
|
|
9aac382afb | ||
|
|
7773fcb1e1 | ||
|
|
78dcb61cb8 | ||
|
|
d5092d2d3f | ||
|
|
e3cbc7e8b8 | ||
|
|
1d1ba3ed3b | ||
|
|
3d6cbec6a1 | ||
|
|
4270b8a96c | ||
|
|
a2c9cb021a | ||
|
|
0edd05b4bf | ||
|
|
46d4307bbb | ||
|
|
c768de156a | ||
|
|
692f96409d | ||
|
|
56a8c69b14 | ||
|
|
a3a22733f8 | ||
|
|
084453ba57 | ||
|
|
aac0b1cbbb | ||
|
|
69fbcb30fd | ||
|
|
d8c31cf1d3 | ||
|
|
419eb700b5 | ||
|
|
ab1600b346 | ||
|
|
97e6a8c569 | ||
|
|
fa5b0d88c5 | ||
|
|
85a58453cb | ||
|
|
18dec35312 | ||
|
|
1d877494bf | ||
|
|
eb96a90e5f | ||
|
|
dd2972d699 | ||
|
|
85760e0c53 | ||
|
|
60958f005a | ||
|
|
7d2969d5ac | ||
|
|
f328532030 | ||
|
|
3d08abcfa8 | ||
|
|
0dc85268c4 | ||
|
|
54e09fdd03 | ||
|
|
a8d3b83c43 | ||
|
|
25f4482641 | ||
|
|
3f72e59e93 | ||
|
|
669205600f | ||
|
|
01d9d3d151 | ||
|
|
2bcdf32458 | ||
|
|
8a3a0e95ad | ||
|
|
2abd077dfd | ||
|
|
222ab93026 | ||
|
|
fd708d30ec | ||
|
|
ef153364ea | ||
|
|
d23db09f7f | ||
|
|
f7cdfbf5cb | ||
|
|
5c3e09685f | ||
|
|
0535075856 | ||
|
|
2f61c5433e | ||
|
|
7a39b85e30 | ||
|
|
8e297aacd1 | ||
|
|
cb3700ef66 | ||
|
|
22348e2f07 | ||
|
|
f69f8add17 | ||
|
|
231150bc3c | ||
|
|
804f1fded6 | ||
|
|
d34edf8b1f | ||
|
|
e050655757 | ||
|
|
7e14dde07b | ||
|
|
104f898260 | ||
|
|
3b303396bf | ||
|
|
02e4b5bfe3 | ||
|
|
a8a6e9df5b | ||
|
|
11786b198e | ||
|
|
5d3e7eeae3 | ||
|
|
51bcf28a87 | ||
|
|
8a2ba97c60 | ||
|
|
abfc36ec9c | ||
|
|
82860423f3 | ||
|
|
a954e713ad | ||
|
|
a7793bcf65 | ||
|
|
bdbf75372c | ||
|
|
5e7c7d78fc | ||
|
|
651b1b40ec | ||
|
|
4716083f3f | ||
|
|
377f31d085 | ||
|
|
d403c1e7f0 | ||
|
|
433eeb1bc7 | ||
|
|
7cd80e7450 | ||
|
|
f55505820a | ||
|
|
83c63a65c3 | ||
|
|
8a499fdf4e | ||
|
|
22f10b1459 | ||
|
|
7de50b17c7 | ||
|
|
d86397fd7d | ||
|
|
bdf4a7bd89 | ||
|
|
2e2f19ba79 | ||
|
|
5bf8523dcd | ||
|
|
b851be1b23 | ||
|
|
3a01ba9509 | ||
|
|
7df35cac94 | ||
|
|
a95c95a5d3 | ||
|
|
7496e669be | ||
|
|
18208f4d2e | ||
|
|
3bc1375c90 | ||
|
|
aff2d95cb9 | ||
|
|
4d1dc55138 | ||
|
|
cf9e7856cf | ||
|
|
b39a8b7a61 | ||
|
|
97c9ed3273 | ||
|
|
c636675521 | ||
|
|
25ab2c60d5 | ||
|
|
1893e24da9 | ||
|
|
9fbf8a4299 | ||
|
|
d99451ca50 | ||
|
|
4dc4ea60ee | ||
|
|
d1d57f5cd6 | ||
|
|
4a49b0c8f8 | ||
|
|
88e7b5776a | ||
|
|
d54e515e08 | ||
|
|
3c8c62c6ab | ||
|
|
60285097e3 | ||
|
|
b6f429f934 | ||
|
|
c5d624c941 | ||
|
|
f70acd9f51 | ||
|
|
54de8ac031 | ||
|
|
ced08a1f44 | ||
|
|
5e36315d05 | ||
|
|
999d57401c | ||
|
|
d8174af7fb | ||
|
|
8180ac20d3 | ||
|
|
281dc33e5a | ||
|
|
202ad62419 | ||
|
|
fdf71df3a1 | ||
|
|
8e8d112029 | ||
|
|
43bda6928d | ||
|
|
25e0b157be | ||
|
|
8e9bf4d419 | ||
|
|
2cbc8fbd64 | ||
|
|
8f8f12ceab | ||
|
|
a957f80204 | ||
|
|
ba901d2de7 | ||
|
|
67cd0c2197 | ||
|
|
07a77d1259 | ||
|
|
60334c40e6 | ||
|
|
d6d016bb80 | ||
|
|
5099910b18 | ||
|
|
f4335eca87 | ||
|
|
f94945308f | ||
|
|
8263083506 | ||
|
|
63d4c93006 | ||
|
|
76a5a72403 | ||
|
|
0ee9b2e446 | ||
|
|
b9c688d997 | ||
|
|
e6f5c7d8da | ||
|
|
795a1a1b87 | ||
|
|
f391c1c3d5 | ||
|
|
59dd15aa55 | ||
|
|
d4f88c8f71 | ||
|
|
c708031374 | ||
|
|
023b461bb8 | ||
|
|
8f67dd5cc7 | ||
|
|
ffda2a3603 | ||
|
|
08d7eefdd7 | ||
|
|
f462c173fb | ||
|
|
362a172477 | ||
|
|
f876ff4c09 | ||
|
|
5e960d106e | ||
|
|
d6f48629ad | ||
|
|
5840d1c08c | ||
|
|
df3549f502 | ||
|
|
57a43b6735 | ||
|
|
08efc299ff | ||
|
|
e9f0b7943e | ||
|
|
bf3ea5328f | ||
|
|
4557e8d004 | ||
|
|
aed0549760 | ||
|
|
ead9950044 | ||
|
|
cf8b21b27e | ||
|
|
bc85d90468 | ||
|
|
a2b514a7cf | ||
|
|
21732e3c5b | ||
|
|
2a0f6c420b | ||
|
|
7f2df8e8e6 | ||
|
|
07f1879f85 | ||
|
|
d8d7f53d1b | ||
|
|
32397b9a2b | ||
|
|
c4966ac6a6 | ||
|
|
70ed96d06d | ||
|
|
03c6af3e15 | ||
|
|
ccc7c2b1f9 | ||
|
|
326da85145 | ||
|
|
575f859a03 | ||
|
|
8c609dd931 | ||
|
|
f21e3ae895 | ||
|
|
0b9d67d8a8 | ||
|
|
f712e9448a | ||
|
|
e54ad81ce8 | ||
|
|
8b89f4f5a6 | ||
|
|
ca70700a0b | ||
|
|
8a880580dc | ||
|
|
67dabb8489 | ||
|
|
ee54f7f40c | ||
|
|
e6008026aa | ||
|
|
08e4cbfdbc | ||
|
|
7f409c3edb | ||
|
|
04be8020b6 | ||
|
|
074e10d288 | ||
|
|
23473641f4 | ||
|
|
5ea842b88b | ||
|
|
24c2da980b | ||
|
|
6217f8fa3a | ||
|
|
f39337a6ec | ||
|
|
4949836d16 | ||
|
|
841d764a83 | ||
|
|
7486923c17 | ||
|
|
d211eeaa41 | ||
|
|
6cc654cca8 | ||
|
|
257183fa55 | ||
|
|
c221fe22f6 | ||
|
|
b5a6578dca | ||
|
|
fba28f46f6 | ||
|
|
9e08c53b01 | ||
|
|
11be575b6d |
4127 changed files with 576920 additions and 8 deletions
15
.editorconfig
Normal file
15
.editorconfig
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
root = true
|
||||
|
||||
[*]
|
||||
charset = utf-8
|
||||
indent_style = space
|
||||
indent_size = 4
|
||||
trim_trailing_whitespace = true
|
||||
insert_final_newline = true
|
||||
guidelines = 80, 120
|
||||
|
||||
[*.{c,h}]
|
||||
cpp_new_line_before_open_brace_block=same_line
|
||||
cpp_new_line_before_open_brace_function=new_line
|
||||
cpp_space_before_function_open_parenthesis=insert
|
||||
cpp_new_line_before_else=false
|
||||
1
.gitattributes
vendored
Normal file
1
.gitattributes
vendored
Normal file
|
|
@ -0,0 +1 @@
|
|||
* text=auto
|
||||
16
.github/ISSUE_TEMPLATE/bug_report.md
vendored
Normal file
16
.github/ISSUE_TEMPLATE/bug_report.md
vendored
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
---
|
||||
name: Bug report
|
||||
about: Create a report to help us improve
|
||||
title: ''
|
||||
labels: bug
|
||||
assignees: ''
|
||||
|
||||
---
|
||||
**Compiler and OS**
|
||||
It is important to know what version of the compiler/assembler you used (call it with --version to get this info). Sometimes we also need to know what OS you are using.
|
||||
|
||||
**Describe the bug**
|
||||
Please tell us what you did, what happened, and what you expected to happen instead.
|
||||
|
||||
**To Reproduce**
|
||||
If it isnt obvious how to reproduce the problem, please give use some detailed instructions on how to reproduce it. Ideally provide a testcase (program) that we can put into the testbench later.
|
||||
14
.github/ISSUE_TEMPLATE/feature_request.md
vendored
Normal file
14
.github/ISSUE_TEMPLATE/feature_request.md
vendored
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
---
|
||||
name: Feature request
|
||||
about: Suggest an idea for this project
|
||||
title: ''
|
||||
labels: feature request
|
||||
assignees: ''
|
||||
|
||||
---
|
||||
|
||||
**Is your feature request related to a problem? Please describe.**
|
||||
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
|
||||
|
||||
**Describe the solution you'd like**
|
||||
A clear and concise description of what you want to happen.
|
||||
9
.github/PULL_REQUEST_TEMPLATE.md
vendored
Normal file
9
.github/PULL_REQUEST_TEMPLATE.md
vendored
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
## Summary
|
||||
|
||||
Provide description of the bug (if an issue exists, link to it) and the fix.
|
||||
|
||||
## Checklist
|
||||
|
||||
- [ ] The fix meets the codestyle requirements
|
||||
- [ ] New unit tests have been added to prevent future regressions
|
||||
- [ ] The documentation has been updated if necessary
|
||||
46
.github/checks/Makefile
vendored
Normal file
46
.github/checks/Makefile
vendored
Normal file
|
|
@ -0,0 +1,46 @@
|
|||
|
||||
ifneq ($(shell echo),)
|
||||
CMD_EXE = 1
|
||||
endif
|
||||
|
||||
ifdef CMD_EXE
|
||||
|
||||
.PHONY: checkstyle sorted
|
||||
|
||||
checkstyle:
|
||||
$(info INFO: style checks require bash.)
|
||||
sorted:
|
||||
$(info INFO: table checks require bash.)
|
||||
|
||||
else
|
||||
|
||||
.PHONY: checkstyle lineendings tabs lastline spaces noexec sorted
|
||||
|
||||
all: checkstyle sorted
|
||||
|
||||
checkstyle: lineendings tabs lastline spaces noexec
|
||||
|
||||
lineendings: lineendings.sh
|
||||
@./lineendings.sh
|
||||
|
||||
tabs: tabs.sh
|
||||
@./tabs.sh
|
||||
|
||||
lastline: lastline.sh
|
||||
@./lastline.sh
|
||||
|
||||
spaces: spaces.sh
|
||||
@./spaces.sh
|
||||
|
||||
noexec: noexec.sh
|
||||
@./noexec.sh
|
||||
|
||||
sorted: sorted.sh sorted_codeopt.sh sorted_opcodes.sh
|
||||
@./sorted.sh
|
||||
@./sorted_codeopt.sh
|
||||
@./sorted_opcodes.sh
|
||||
|
||||
checksp: checksp.sh
|
||||
@./checksp.sh
|
||||
|
||||
endif
|
||||
22
.github/checks/checksp.sh
vendored
Executable file
22
.github/checks/checksp.sh
vendored
Executable file
|
|
@ -0,0 +1,22 @@
|
|||
#! /bin/bash
|
||||
OD65_EXE=../bin/od65
|
||||
CHECK_PATH=../../libwrk
|
||||
|
||||
cd "${CHECK_PATH}" || {
|
||||
echo "error: Directory ${CHECK_PATH} doesn't seem to exist" >&2
|
||||
exit 1
|
||||
}
|
||||
|
||||
[ -x "${OD65_EXE}" ] || {
|
||||
echo "error: This check requires the od65 executable to be built" >&2
|
||||
exit 1
|
||||
}
|
||||
|
||||
EXITCODE=0
|
||||
find . -name \*.o -print | while read OBJ; do
|
||||
"${OD65_EXE}" --dump-imports "${OBJ}" | grep -q "\"sp\"" && {
|
||||
echo "error: Usage of symbol 'sp' found in module ${OBJ}" >&2
|
||||
EXITCODE=1
|
||||
}
|
||||
done
|
||||
exit ${EXITCODE}
|
||||
26
.github/checks/lastline.sh
vendored
Executable file
26
.github/checks/lastline.sh
vendored
Executable file
|
|
@ -0,0 +1,26 @@
|
|||
#! /bin/bash
|
||||
OLDCWD=`pwd`
|
||||
SCRIPT_PATH=`dirname $0`
|
||||
CHECK_PATH=.
|
||||
|
||||
cd $SCRIPT_PATH/../../
|
||||
|
||||
nl='
|
||||
'
|
||||
nl=$'\n'
|
||||
r1="${nl}$"
|
||||
FILES=`find $CHECK_PATH -type f -size +0 \( -name \*.inc -o -name Makefile -o -name \*.cfg -o -name \*.\[chs\] -o -name \*.mac -o -name \*.asm -o -name \*.sgml \) -print | while read f; do
|
||||
t=$(tail -c2 $f; printf x)
|
||||
[[ ${t%x} =~ $r1 ]] || echo "$f"
|
||||
done`
|
||||
|
||||
cd $OLDCWD
|
||||
|
||||
if [ x"$FILES"x != xx ]; then
|
||||
echo "error: found following files that have no newline at the end:" >&2
|
||||
for n in $FILES; do
|
||||
echo $n >&2
|
||||
done
|
||||
exit -1
|
||||
fi
|
||||
exit 0
|
||||
19
.github/checks/lineendings.sh
vendored
Executable file
19
.github/checks/lineendings.sh
vendored
Executable file
|
|
@ -0,0 +1,19 @@
|
|||
#! /bin/bash
|
||||
OLDCWD=`pwd`
|
||||
SCRIPT_PATH=`dirname $0`
|
||||
CHECK_PATH=.
|
||||
|
||||
cd $SCRIPT_PATH/../../
|
||||
|
||||
FILES=`find $CHECK_PATH -type f \( -name \*.inc -o -name Makefile -o -name \*.cfg -o -name \*.\[chs\] -o -name \*.mac -o -name \*.asm -o -name \*.sgml \) -print | grep -v "libwrk/" | grep -v "testwrk/" | xargs grep -IUl $'\r'`
|
||||
|
||||
cd $OLDCWD
|
||||
|
||||
if [ x"$FILES"x != xx ]; then
|
||||
echo "error: found CR in the following files:" >&2
|
||||
for n in $FILES; do
|
||||
echo $n >&2
|
||||
done
|
||||
exit -1
|
||||
fi
|
||||
exit 0
|
||||
19
.github/checks/noexec.sh
vendored
Executable file
19
.github/checks/noexec.sh
vendored
Executable file
|
|
@ -0,0 +1,19 @@
|
|||
#! /bin/bash
|
||||
OLDCWD=`pwd`
|
||||
SCRIPT_PATH=`dirname $0`
|
||||
CHECK_PATH=.
|
||||
|
||||
cd $SCRIPT_PATH/../../
|
||||
|
||||
FILES=`find $CHECK_PATH -executable -type f \( -name \*.inc -o -name Makefile -o -name \*.cfg -o -name \*.\[chs\] -o -name \*.mac -o -name \*.asm -o -name \*.sgml \) -print`
|
||||
|
||||
cd $OLDCWD
|
||||
|
||||
if [ x"$FILES"x != xx ]; then
|
||||
echo "error: executable flag is set for the following files:" >&2
|
||||
for n in $FILES; do
|
||||
echo $n >&2
|
||||
done
|
||||
exit -1
|
||||
fi
|
||||
exit 0
|
||||
40
.github/checks/sorted.sh
vendored
Executable file
40
.github/checks/sorted.sh
vendored
Executable file
|
|
@ -0,0 +1,40 @@
|
|||
#! /bin/bash
|
||||
OLDCWD=`pwd`
|
||||
SCRIPT_PATH=`dirname $0`
|
||||
|
||||
CHECK_DIR=../../src
|
||||
|
||||
SORT_OPT="-u -c"
|
||||
|
||||
# $1: filename
|
||||
function checkarray_quoted_name
|
||||
{
|
||||
CHECK_FILE="$1"
|
||||
START="\\/\\* BEGIN SORTED.SH \\*\\/"
|
||||
END="\\/\\* END SORTED.SH \\*\\/"
|
||||
|
||||
awk '/'"$START"'/{flag=1; count++; next} /'"$END"'/{flag=0;} flag {printf("%04d##%s\n", count, $0)}' "$CHECK_FILE" | \
|
||||
sed -e 's:\(.*\)##.*\"\(.*\)\".*:\1##\2:g' > .a.tmp
|
||||
|
||||
if [[ -z $(grep '[^[:space:]]' .a.tmp) ]] ; then
|
||||
echo "error: "$1" table is empty"
|
||||
rm -rf .a.tmp
|
||||
exit -1
|
||||
fi
|
||||
|
||||
if `LC_COLLATE=C sort $SORT_OPT .a.tmp`; then
|
||||
echo ""$1" tables OK"
|
||||
else
|
||||
echo "error: "$1" tables are not sorted."
|
||||
rm -rf .a.tmp
|
||||
exit -1
|
||||
fi
|
||||
rm -rf .a.tmp
|
||||
}
|
||||
|
||||
|
||||
FILES=$(find "$CHECK_DIR" -name \*.\[ch\] -print)
|
||||
for N in $FILES; do
|
||||
grep -q "BEGIN SORTED.SH" "$N" && checkarray_quoted_name "$N"
|
||||
done
|
||||
exit 0
|
||||
70
.github/checks/sorted_codeopt.sh
vendored
Executable file
70
.github/checks/sorted_codeopt.sh
vendored
Executable file
|
|
@ -0,0 +1,70 @@
|
|||
#! /bin/bash
|
||||
OLDCWD=`pwd`
|
||||
SCRIPT_PATH=`dirname $0`
|
||||
|
||||
CHECK_DIR=../../src
|
||||
|
||||
SORT_OPT="-u -c"
|
||||
|
||||
# $1: filename
|
||||
function checkarray
|
||||
{
|
||||
CHECK_FILE="$1"
|
||||
START="\\/\\* BEGIN DECL SORTED_CODEOPT.SH \\*\\/"
|
||||
END="\\/\\* END DECL SORTED_CODEOPT.SH \\*\\/"
|
||||
|
||||
awk '/'"$START"'/{flag=1; count++; next} /'"$END"'/{flag=0;} flag {printf("%04d##%s\n", count, $0)}' "$CHECK_FILE" | \
|
||||
sed -e 's:\(.*##\).*"\(.*\)",.*:\1\2:g' > .a.tmp
|
||||
|
||||
if [[ -z $(grep '[^[:space:]]' .a.tmp) ]] ; then
|
||||
echo "error: "$1" table is empty"
|
||||
rm -rf .a.tmp
|
||||
exit -1
|
||||
fi
|
||||
|
||||
if `LC_COLLATE=C sort $SORT_OPT .a.tmp`; then
|
||||
echo ""$1" decls sorted."
|
||||
else
|
||||
echo "error: "$1" decls are not sorted."
|
||||
rm -rf .a.tmp
|
||||
exit -1
|
||||
fi
|
||||
|
||||
START="\\/\\* BEGIN SORTED_CODEOPT.SH \\*\\/"
|
||||
END="\\/\\* END SORTED_CODEOPT.SH \\*\\/"
|
||||
|
||||
awk '/'"$START"'/{flag=1; count++; next} /'"$END"'/{flag=0;} flag {printf("%04d##%s\n", count, $0)}' "$CHECK_FILE" | \
|
||||
sed -e 's:\(.*##\).*&D\(.*\),.*:\1\2:g' > .b.tmp
|
||||
|
||||
if [[ -z $(grep '[^[:space:]]' .b.tmp) ]] ; then
|
||||
echo "error: "$1" table is empty"
|
||||
rm -rf .a.tmp .b.tmp
|
||||
exit -1
|
||||
fi
|
||||
|
||||
if `LC_COLLATE=C sort $SORT_OPT .b.tmp`; then
|
||||
echo ""$1" tables sorted."
|
||||
else
|
||||
echo "error: "$1" tables are not sorted."
|
||||
rm -rf .a.tmp .b.tmp
|
||||
exit -1
|
||||
fi
|
||||
|
||||
if cmp --silent -- .a.tmp .b.tmp; then
|
||||
echo ""$1" tables OK"
|
||||
else
|
||||
echo "error: "$1" tables are different."
|
||||
diff -y .a.tmp .b.tmp
|
||||
rm -rf .a.tmp .b.tmp
|
||||
exit -1
|
||||
fi
|
||||
|
||||
rm -rf .a.tmp .b.tmp
|
||||
}
|
||||
|
||||
|
||||
FILES=$(find "$CHECK_DIR" -name \*.\[ch\] -print)
|
||||
for N in $FILES; do
|
||||
grep -q "BEGIN DECL SORTED_CODEOPT.SH" "$N" && checkarray "$N"
|
||||
done
|
||||
exit 0
|
||||
41
.github/checks/sorted_opcodes.sh
vendored
Executable file
41
.github/checks/sorted_opcodes.sh
vendored
Executable file
|
|
@ -0,0 +1,41 @@
|
|||
#! /bin/bash
|
||||
OLDCWD=`pwd`
|
||||
SCRIPT_PATH=`dirname $0`
|
||||
|
||||
CHECK_DIR=../../src
|
||||
|
||||
SORT_OPT="-u -c"
|
||||
|
||||
# $1: filename
|
||||
function checkarray_quoted_name
|
||||
{
|
||||
CHECK_FILE="$1"
|
||||
START="\\/\\* BEGIN SORTED_OPCODES.SH \\*\\/"
|
||||
END="\\/\\* END SORTED_OPCODES.SH \\*\\/"
|
||||
|
||||
awk '/'"$START"'/{flag=1; count++; next} /'"$END"'/{flag=0;} flag {printf("%04d##%s\n", count, $0)}' "$CHECK_FILE" | \
|
||||
sed 's:/\*.*::g' | \
|
||||
grep '".*",' | \
|
||||
sed -e 's:\(.*\)##.*\"\(.*\)\".*:\1##\2:g' > .a.tmp
|
||||
|
||||
if [[ -z $(grep '[^[:space:]]' .a.tmp) ]] ; then
|
||||
echo "error: "$1" table is empty"
|
||||
rm -rf .a.tmp
|
||||
exit -1
|
||||
fi
|
||||
|
||||
if `LC_COLLATE=C sort $SORT_OPT .a.tmp`; then
|
||||
echo ""$1" tables OK"
|
||||
else
|
||||
echo "error: "$1" tables are not sorted."
|
||||
rm -rf .a.tmp
|
||||
exit -1
|
||||
fi
|
||||
rm -rf .a.tmp
|
||||
}
|
||||
|
||||
FILES=$(find "$CHECK_DIR" -name \*.\[ch\] -print)
|
||||
for N in $FILES; do
|
||||
grep -q "BEGIN SORTED_OPCODES.SH" "$N" && checkarray_quoted_name "$N"
|
||||
done
|
||||
exit 0
|
||||
19
.github/checks/spaces.sh
vendored
Executable file
19
.github/checks/spaces.sh
vendored
Executable file
|
|
@ -0,0 +1,19 @@
|
|||
#! /bin/bash
|
||||
OLDCWD=`pwd`
|
||||
SCRIPT_PATH=`dirname $0`
|
||||
CHECK_PATH=.
|
||||
|
||||
cd $SCRIPT_PATH/../../
|
||||
|
||||
FILES=`find $CHECK_PATH -type f \( -name \*.inc -o -name Makefile -o -name \*.cfg -o -name \*.\[chs\] -o -name \*.mac -o -name \*.asm -o -name \*.sgml \) -print | grep -v "test/" | grep -v "libwrk/" | grep -v "testwrk/" | xargs grep -l ' $'`
|
||||
|
||||
cd $OLDCWD
|
||||
|
||||
if [ x"$FILES"x != xx ]; then
|
||||
echo "error: found dangling spaces in the following files:" >&2
|
||||
for n in $FILES; do
|
||||
echo $n >&2
|
||||
done
|
||||
exit -1
|
||||
fi
|
||||
exit 0
|
||||
19
.github/checks/tabs.sh
vendored
Executable file
19
.github/checks/tabs.sh
vendored
Executable file
|
|
@ -0,0 +1,19 @@
|
|||
#! /bin/bash
|
||||
OLDCWD=`pwd`
|
||||
SCRIPT_PATH=`dirname $0`
|
||||
CHECK_PATH=.
|
||||
|
||||
cd $SCRIPT_PATH/../../
|
||||
|
||||
FILES=`find $CHECK_PATH -type f \( \( -name \*.inc -a \! -name Makefile.inc \) -o -name \*.cfg -o -name \*.\[chs\] -o -name \*.mac -o -name \*.asm -o -name \*.sgml \) -print | grep -v "test/" | grep -v "libwrk/" | grep -v "testwrk/" | xargs grep -l $'\t'`
|
||||
|
||||
cd $OLDCWD
|
||||
|
||||
if [ x"$FILES"x != xx ]; then
|
||||
echo "error: found TABs in the following files:" >&2
|
||||
for n in $FILES; do
|
||||
echo $n >&2
|
||||
done
|
||||
exit -1
|
||||
fi
|
||||
exit 0
|
||||
101
.github/workflows/build-on-pull-request.yml
vendored
Normal file
101
.github/workflows/build-on-pull-request.yml
vendored
Normal file
|
|
@ -0,0 +1,101 @@
|
|||
name: Build Pull Request
|
||||
on: [pull_request]
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.ref }}
|
||||
cancel-in-progress: true
|
||||
|
||||
jobs:
|
||||
build_linux:
|
||||
name: Build and Test (Linux)
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: Install Dependencies
|
||||
shell: bash
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install linuxdoc-tools-info gcc-mingw-w64-x86-64
|
||||
|
||||
- shell: bash
|
||||
run: git config --global core.autocrlf input
|
||||
- name: Checkout Source
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Do some simple style checks
|
||||
shell: bash
|
||||
run: make -j2 checkstyle
|
||||
- name: Check bsearch tables
|
||||
shell: bash
|
||||
run: make -j2 sorted
|
||||
- name: Build the tools.
|
||||
shell: bash
|
||||
run: make -j2 bin USER_CFLAGS=-Werror QUIET=1
|
||||
- name: Build the dbginfo example
|
||||
shell: bash
|
||||
run: make -j2 -C src test QUIET=1
|
||||
- name: Build the utilities.
|
||||
shell: bash
|
||||
run: make -j2 util QUIET=1
|
||||
- name: Build the platform libraries.
|
||||
shell: bash
|
||||
run: make -j2 lib QUIET=1
|
||||
- name: check test that no modules use sp
|
||||
shell: bash
|
||||
run: make -j2 checksp QUIET=1
|
||||
- name: Run the regression tests.
|
||||
shell: bash
|
||||
run: make -j2 test QUIET=1
|
||||
- name: Test that the samples can be built.
|
||||
run: make -C samples platforms QUIET=1
|
||||
- name: Test that the targettest programs can be built.
|
||||
run: make -C targettest platforms QUIET=1
|
||||
- name: Build the document files.
|
||||
shell: bash
|
||||
run: make -j2 doc QUIET=1
|
||||
- name: Upload a documents snapshot.
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: docs
|
||||
path: ./html
|
||||
- name: Build 64-bit Windows versions of the tools.
|
||||
run: |
|
||||
make -C src clean QUIET=1
|
||||
make -j2 bin QUIET=1 USER_CFLAGS=-Werror CROSS_COMPILE=x86_64-w64-mingw32-
|
||||
|
||||
build_windows:
|
||||
name: Build and Test (Windows)
|
||||
runs-on: windows-latest
|
||||
|
||||
steps:
|
||||
- shell: bash
|
||||
run: git config --global core.autocrlf input
|
||||
|
||||
- name: Checkout Source
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Add msbuild to PATH
|
||||
uses: microsoft/setup-msbuild@v2
|
||||
|
||||
- name: Build app (x86 debug)
|
||||
run: msbuild src\cc65.sln -t:rebuild -property:Configuration=Debug -property:Platform=Win32
|
||||
|
||||
- name: Build app (x86 release)
|
||||
run: msbuild src\cc65.sln -t:rebuild -property:Configuration=Release -property:Platform=Win32
|
||||
|
||||
- name: Build app (x64 release)
|
||||
run: msbuild src\cc65.sln -t:rebuild -property:Configuration=Debug -property:Platform=x64
|
||||
|
||||
- name: Build app (x64 release)
|
||||
run: msbuild src\cc65.sln -t:rebuild -property:Configuration=Release -property:Platform=x64
|
||||
|
||||
- name: Build utils (MinGW)
|
||||
shell: cmd
|
||||
run: make -j2 util QUIET=1 SHELL=cmd
|
||||
|
||||
- name: Build the platform libraries (make lib)
|
||||
shell: cmd
|
||||
run: make -j2 lib QUIET=1 SHELL=cmd
|
||||
|
||||
- name: Run the regression tests (make test)
|
||||
shell: cmd
|
||||
run: make -j2 test QUIET=1 SHELL=cmd
|
||||
160
.github/workflows/snapshot-on-push-master.yml
vendored
Normal file
160
.github/workflows/snapshot-on-push-master.yml
vendored
Normal file
|
|
@ -0,0 +1,160 @@
|
|||
name: Snapshot Build
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
master
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.ref }}
|
||||
cancel-in-progress: true
|
||||
|
||||
jobs:
|
||||
build_windows:
|
||||
name: Build (Windows)
|
||||
if: github.repository == 'cc65/cc65'
|
||||
runs-on: windows-latest
|
||||
|
||||
steps:
|
||||
- shell: bash
|
||||
run: git config --global core.autocrlf input
|
||||
|
||||
- name: Checkout Source
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Add msbuild to PATH
|
||||
uses: microsoft/setup-msbuild@v2
|
||||
|
||||
- name: Build app (debug)
|
||||
run: msbuild src\cc65.sln -t:rebuild -property:Configuration=Debug
|
||||
|
||||
- name: Build app (release)
|
||||
run: msbuild src\cc65.sln -t:rebuild -property:Configuration=Release
|
||||
|
||||
build_linux:
|
||||
name: Build, Test, and Snapshot (Linux)
|
||||
if: github.repository == 'cc65/cc65'
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: Install Dependencies
|
||||
shell: bash
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install linuxdoc-tools-info gcc-mingw-w64-x86-64 gcc-mingw-w64-i686
|
||||
|
||||
- shell: bash
|
||||
run: git config --global core.autocrlf input
|
||||
- name: Checkout Source
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Do some simple style checks
|
||||
shell: bash
|
||||
run: make -j2 checkstyle
|
||||
- name: Check bsearch tables
|
||||
shell: bash
|
||||
run: make -j2 sorted
|
||||
- name: Build the tools.
|
||||
shell: bash
|
||||
run: |
|
||||
make -j2 bin USER_CFLAGS=-Werror QUIET=1
|
||||
make -j2 util QUIET=1
|
||||
- name: Build the platform libraries.
|
||||
shell: bash
|
||||
run: make -j2 lib QUIET=1
|
||||
- name: Run the regression tests.
|
||||
shell: bash
|
||||
run: make -j2 test QUIET=1
|
||||
- name: Test that the samples can be built.
|
||||
shell: bash
|
||||
run: make -j2 samples QUIET=1
|
||||
- name: Remove the output from the samples tests.
|
||||
shell: bash
|
||||
run: make -C samples clean QUIET=1
|
||||
- name: Remove programs in util directory
|
||||
shell: bash
|
||||
run: make -C util clean QUIET=1
|
||||
- name: Build the document files.
|
||||
shell: bash
|
||||
run: make -j2 doc QUIET=1
|
||||
- name: Build and package 64-bit Windows versions of the tools.
|
||||
run: |
|
||||
make -C src clean QUIET=1
|
||||
make -j2 bin QUIET=1 USER_CFLAGS=-Werror CROSS_COMPILE=x86_64-w64-mingw32-
|
||||
make zip
|
||||
mv cc65.zip cc65-snapshot-win64.zip
|
||||
- name: Build and package 32-bit Windows versions of the tools.
|
||||
run: |
|
||||
make -C src clean QUIET=1
|
||||
make -j2 bin USER_CFLAGS=-Werror QUIET=1 CROSS_COMPILE=i686-w64-mingw32-
|
||||
make zip
|
||||
mv cc65.zip cc65-snapshot-win32.zip
|
||||
|
||||
- name: Upload a 32-bit Snapshot Zip
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: cc65-snapshot-win32
|
||||
path: cc65-snapshot-win32.zip
|
||||
- name: Upload a 64-bit Snapshot Zip
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: cc65-snapshot-win64
|
||||
path: cc65-snapshot-win64.zip
|
||||
|
||||
- name: Get the online documents repo.
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
repository: cc65/doc
|
||||
# this token will expire, if it does, generate a new one as decribed in https://github.com/cc65/cc65/issues/2065
|
||||
# - apparently only a "classic" token works here
|
||||
# - the token must exist in the cc65/cc65 repo
|
||||
token: ${{ secrets.DOC_PAT }} # use secret token instead of default
|
||||
path: doc.git
|
||||
- name: Update the online documents.
|
||||
run: |
|
||||
cd doc.git
|
||||
rm *.*
|
||||
cp ../html/*.* .
|
||||
git config user.name "cc65-github"
|
||||
git config user.email "cc65.nomail@github.com"
|
||||
git config push.default simple
|
||||
git add -A
|
||||
# prevent failure when there is nothing to commit
|
||||
git diff-index --quiet HEAD || git commit -m "Updated from https://github.com/cc65/cc65/commit/${GITHUB_SHA}"
|
||||
git push
|
||||
- name: Package offline documents.
|
||||
run: 7z a cc65-snapshot-docs.zip ./html/*.*
|
||||
- name: Upload a Documents Snapshot Zip
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: cc65-snapshot-docs
|
||||
path: cc65-snapshot-docs.zip
|
||||
|
||||
# enter secrets under "repository secrets"
|
||||
- name: Upload 32-bit Windows snapshot to sourceforge
|
||||
uses: nogsantos/scp-deploy@master
|
||||
with:
|
||||
src: cc65-snapshot-win32.zip
|
||||
host: ${{ secrets.SSH_HOST }}
|
||||
remote: ${{ secrets.SSH_DIR }}
|
||||
port: ${{ secrets.SSH_PORT }}
|
||||
user: ${{ secrets.SSH_USER }}
|
||||
key: ${{ secrets.SSH_KEY }}
|
||||
- name: Upload 64-bit Windows snapshot to sourceforge
|
||||
uses: nogsantos/scp-deploy@master
|
||||
with:
|
||||
src: cc65-snapshot-win64.zip
|
||||
host: ${{ secrets.SSH_HOST }}
|
||||
remote: ${{ secrets.SSH_DIR }}
|
||||
port: ${{ secrets.SSH_PORT }}
|
||||
user: ${{ secrets.SSH_USER }}
|
||||
key: ${{ secrets.SSH_KEY }}
|
||||
- name: Upload documents snapshot to sourceforge
|
||||
uses: nogsantos/scp-deploy@master
|
||||
with:
|
||||
src: cc65-snapshot-docs.zip
|
||||
host: ${{ secrets.SSH_HOST }}
|
||||
remote: ${{ secrets.SSH_DIR }}
|
||||
port: ${{ secrets.SSH_PORT }}
|
||||
user: ${{ secrets.SSH_USER }}
|
||||
key: ${{ secrets.SSH_KEY }}
|
||||
|
||||
# TODO: Publish snapshot zip at https://github.com/cc65/cc65.github.io
|
||||
78
.github/workflows/windows-test-scheduled.yml
vendored
Normal file
78
.github/workflows/windows-test-scheduled.yml
vendored
Normal file
|
|
@ -0,0 +1,78 @@
|
|||
name: Windows Test Scheduled
|
||||
# Scheduled or manually dispatched because it's slower than the Linux test.
|
||||
|
||||
on:
|
||||
schedule:
|
||||
- cron: '0 0 */1 * *'
|
||||
# every 1 days
|
||||
workflow_dispatch:
|
||||
# allow manual dispatch
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.ref }}
|
||||
cancel-in-progress: true
|
||||
# don't run more than once at a time
|
||||
|
||||
jobs:
|
||||
build_windows:
|
||||
name: Build, Test (Windows MSVC)
|
||||
runs-on: windows-latest
|
||||
|
||||
steps:
|
||||
|
||||
# This cache is used to remember the last build.
|
||||
# If there are no changes and the last build was successful,
|
||||
# the build and test steps will be omitted.
|
||||
# If the last build failed, the full attempt will be repeated.
|
||||
# Github Actions will retain the last build cache for up to 7 days.
|
||||
|
||||
- name: Create Cache
|
||||
shell: bash
|
||||
run: mkdir ~/.cache-sha
|
||||
|
||||
- name: Cache SHA
|
||||
uses: actions/cache@v4
|
||||
id: check-sha
|
||||
with:
|
||||
path: ~/.cache-sha
|
||||
key: cache-sha-wintest-${{ github.sha }}
|
||||
|
||||
- name: Git Setup
|
||||
if: steps.check-sha.outputs.cache-hit != 'true'
|
||||
shell: bash
|
||||
run: git config --global core.autocrlf input
|
||||
|
||||
- name: Checkout source
|
||||
if: steps.check-sha.outputs.cache-hit != 'true'
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Add msbuild to PATH
|
||||
if: steps.check-sha.outputs.cache-hit != 'true'
|
||||
uses: microsoft/setup-msbuild@v2
|
||||
|
||||
- name: Build app (MSVC debug)
|
||||
if: steps.check-sha.outputs.cache-hit != 'true'
|
||||
run: msbuild src\cc65.sln -t:rebuild -property:Configuration=Debug
|
||||
|
||||
- name: Build app (MSVC release)
|
||||
if: steps.check-sha.outputs.cache-hit != 'true'
|
||||
run: msbuild src\cc65.sln -t:rebuild -property:Configuration=Release
|
||||
|
||||
- name: Build utils (MinGW)
|
||||
if: steps.check-sha.outputs.cache-hit != 'true'
|
||||
shell: cmd
|
||||
run: make -j2 util SHELL=cmd QUIET=1
|
||||
|
||||
- name: Build the platform libraries (make lib)
|
||||
if: steps.check-sha.outputs.cache-hit != 'true'
|
||||
shell: cmd
|
||||
run: make -j2 lib QUIET=1 SHELL=cmd QUIET=1
|
||||
|
||||
- name: Run the regression tests (make test)
|
||||
if: steps.check-sha.outputs.cache-hit != 'true'
|
||||
shell: cmd
|
||||
run: make -j2 test QUIET=1 SHELL=cmd QUIET=1
|
||||
|
||||
- name: Test that the samples can be built (make samples)
|
||||
if: steps.check-sha.outputs.cache-hit != 'true'
|
||||
shell: cmd
|
||||
run: make -j2 samples SHELL=cmd QUIET=1
|
||||
12
.gitignore
vendored
Normal file
12
.gitignore
vendored
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
/bin/
|
||||
/html/
|
||||
/info/
|
||||
/lib/
|
||||
/libwrk/
|
||||
/target/
|
||||
/testwrk/
|
||||
/wrk/
|
||||
/cc65.zip
|
||||
/util/atari/*.exe
|
||||
/util/gamate/*.exe
|
||||
/*.7z
|
||||
26
.travis.yml
Normal file
26
.travis.yml
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
language: c
|
||||
|
||||
jobs:
|
||||
include:
|
||||
|
||||
- os: linux
|
||||
name: Linux
|
||||
install:
|
||||
- sudo apt-get update
|
||||
- sudo apt-get install linuxdoc-tools linuxdoc-tools-info binutils-mingw-w64-i686 gcc-mingw-w64-i686 sshpass
|
||||
script:
|
||||
- make -j2 bin USER_CFLAGS=-Werror
|
||||
- make -j2 lib QUIET=1
|
||||
- make test QUIET=1
|
||||
- make -j2 samples
|
||||
- make -C src clean
|
||||
- make -j2 bin USER_CFLAGS=-Werror CROSS_COMPILE=i686-w64-mingw32-
|
||||
- make -C samples clean
|
||||
- make -j2 doc zip
|
||||
after_success:
|
||||
- make -f Makefile.travis
|
||||
|
||||
- os: windows
|
||||
name: Windows
|
||||
script:
|
||||
- src/msbuild.cmd src\\cc65.sln
|
||||
122
Code_of_Conduct.md
Normal file
122
Code_of_Conduct.md
Normal file
|
|
@ -0,0 +1,122 @@
|
|||
|
||||
# Contributor Covenant Code of Conduct
|
||||
|
||||
## Our Pledge
|
||||
|
||||
We as members, contributors, and leaders pledge to make participation in our
|
||||
community a harassment-free experience for everyone, regardless of age, body
|
||||
size, visible or invisible disability, ethnicity, sex characteristics, gender
|
||||
identity and expression, level of experience, education, socio-economic status,
|
||||
nationality, personal appearance, race, caste, color, religion, or sexual
|
||||
identity and orientation.
|
||||
|
||||
We pledge to act and interact in ways that contribute to an open, welcoming,
|
||||
diverse, inclusive, and healthy community.
|
||||
|
||||
## Our Standards
|
||||
|
||||
Examples of behavior that contributes to a positive environment for our
|
||||
community include:
|
||||
|
||||
* Demonstrating empathy and kindness toward other people
|
||||
* Being respectful of differing opinions, viewpoints, and experiences
|
||||
* Giving and gracefully accepting constructive feedback
|
||||
* Accepting responsibility and apologizing to those affected by our mistakes,
|
||||
and learning from the experience
|
||||
* Focusing on what is best not just for us as individuals, but for the overall
|
||||
community
|
||||
|
||||
Examples of unacceptable behavior include:
|
||||
|
||||
* The use of sexualized language or imagery, and sexual attention or advances of
|
||||
any kind
|
||||
* Trolling, insulting or derogatory comments, and personal or political attacks
|
||||
* Public or private harassment
|
||||
* Publishing others' private information, such as a physical or email address,
|
||||
without their explicit permission
|
||||
* Other conduct which could reasonably be considered inappropriate in a
|
||||
professional setting
|
||||
|
||||
## Enforcement Responsibilities
|
||||
|
||||
Community leaders are responsible for clarifying and enforcing our standards of
|
||||
acceptable behavior and will take appropriate and fair corrective action in
|
||||
response to any behavior that they deem inappropriate, threatening, offensive,
|
||||
or harmful.
|
||||
|
||||
Community leaders have the right and responsibility to remove, edit, or reject
|
||||
comments, commits, code, wiki edits, issues, and other contributions that are
|
||||
not aligned to this Code of Conduct, and will communicate reasons for moderation
|
||||
decisions when appropriate.
|
||||
|
||||
## Scope
|
||||
|
||||
This Code of Conduct applies within all community spaces, and also applies when
|
||||
an individual is officially representing the community in public spaces.
|
||||
Examples of representing our community include using an official email address,
|
||||
posting via an official social media account, or acting as an appointed
|
||||
representative at an online or offline event.
|
||||
|
||||
## Enforcement
|
||||
|
||||
Instances of abusive, harassing, or otherwise unacceptable behavior may be
|
||||
reported to the community leaders responsible for enforcement at
|
||||
groepaz@gmx.net.
|
||||
All complaints will be reviewed and investigated promptly and fairly.
|
||||
|
||||
All community leaders are obligated to respect the privacy and security of the
|
||||
reporter of any incident.
|
||||
|
||||
## Enforcement Guidelines
|
||||
|
||||
Community leaders will follow these Community Impact Guidelines in determining
|
||||
the consequences for any action they deem in violation of this Code of Conduct:
|
||||
|
||||
### 1. Correction
|
||||
|
||||
**Community Impact**: Use of inappropriate language or other behavior deemed
|
||||
unprofessional or unwelcome in the community.
|
||||
|
||||
**Consequence**: A written warning from community leaders, providing
|
||||
clarity around the nature of the violation and an explanation of why the
|
||||
behavior was inappropriate.
|
||||
|
||||
### 2. Warning
|
||||
|
||||
**Community Impact**: A violation through a single incident or series of
|
||||
actions.
|
||||
|
||||
**Consequence**: A warning with consequences for continued behavior. No
|
||||
interaction with the people involved, including unsolicited interaction with
|
||||
those enforcing the Code of Conduct, for a specified period of time. This
|
||||
includes avoiding interactions in community spaces as well as external channels
|
||||
like social media. Violating these terms may lead to a temporary or permanent
|
||||
ban.
|
||||
|
||||
### 3. Permanent Ban
|
||||
|
||||
**Community Impact**: Demonstrating a pattern of violation of community
|
||||
standards, including sustained inappropriate behavior, harassment of an
|
||||
individual, or aggression toward or disparagement of classes of individuals.
|
||||
|
||||
**Consequence**: A permanent ban from any sort of public interaction within the
|
||||
community.
|
||||
|
||||
## Attribution
|
||||
|
||||
This Code of Conduct is adapted from the [Contributor Covenant][homepage],
|
||||
version 2.1, available at
|
||||
[https://www.contributor-covenant.org/version/2/1/code_of_conduct.html][v2.1].
|
||||
|
||||
Community Impact Guidelines were inspired by
|
||||
[Mozilla's code of conduct enforcement ladder][Mozilla CoC].
|
||||
|
||||
For answers to common questions about this code of conduct, see the FAQ at
|
||||
[https://www.contributor-covenant.org/faq][FAQ]. Translations are available at
|
||||
[https://www.contributor-covenant.org/translations][translations].
|
||||
|
||||
[homepage]: https://www.contributor-covenant.org
|
||||
[v2.1]: https://www.contributor-covenant.org/version/2/1/code_of_conduct.html
|
||||
[Mozilla CoC]: https://github.com/mozilla/diversity
|
||||
[FAQ]: https://www.contributor-covenant.org/faq
|
||||
[translations]: https://www.contributor-covenant.org/translations
|
||||
366
Contributing.md
Normal file
366
Contributing.md
Normal file
|
|
@ -0,0 +1,366 @@
|
|||
Contributing to cc65
|
||||
====================
|
||||
|
||||
This document contains all kinds of information that you
|
||||
should know if you want to contribute to the cc65 project.
|
||||
Before you start, please read all of it. If something is not
|
||||
clear to you, please ask - this document is an ongoing effort
|
||||
and may well be incomplete.
|
||||
|
||||
Also, before you put a lot of work into implementing
|
||||
something you want to contribute, please get in touch with
|
||||
one of the developers and ask if what you are going to do is
|
||||
actually wanted and has a chance of being merged. Perhaps
|
||||
someone else is already working on it, or perhaps what you
|
||||
have in mind is not how we'd expect it to be - talking to us
|
||||
before you start might save you a lot of work in those cases.
|
||||
|
||||
(''Note:'' The word "must" indicates a requirement. The word
|
||||
"should" indicates a recommendation.)
|
||||
|
||||
*this is work in progress and is constantly updated - if in
|
||||
doubt, please ask*
|
||||
|
||||
# Generally
|
||||
|
||||
* You must obey these rules when contributing new code or
|
||||
documentation to cc65. We are well aware that not all
|
||||
existing code may respect all rules outlined here - but this
|
||||
is no reason for you not to respect them.
|
||||
* One commit/patch/PR per issue. Do not mix several things
|
||||
unless they are very closely related.
|
||||
* Sometimes when you make a PR, it may break completely
|
||||
unrelated tests. However, any PR is expected to merge
|
||||
cleanly with no failures. That means in practise that you
|
||||
are expected to fix/update the failing tests if required -
|
||||
for example this might be needed if you make changes to the
|
||||
compiler that changes the format of error- or warning
|
||||
messages. In that case you might have to update some
|
||||
reference files in the testbench. Obviously still check if
|
||||
that is actually the right thing to do. ;)
|
||||
|
||||
# Codestyle rules
|
||||
|
||||
## All sources
|
||||
|
||||
### Line endings
|
||||
|
||||
All files must only contain Unix style 'LF' line endings.
|
||||
Please configure your editors accordingly.
|
||||
|
||||
### TABs and spaces
|
||||
|
||||
This is an ongoing controversial topic - everyone knows
|
||||
that. However, the following is how we do it :)
|
||||
|
||||
* TAB characters must be expanded to spaces.
|
||||
* 4 spaces per indentation level (rather than 8) are
|
||||
preferred, especially if there are many different levels.
|
||||
* No extra spaces at the end of lines.
|
||||
* All text files must end with new-line characters. Don't
|
||||
leave the last line "dangling".
|
||||
|
||||
The (bash) scripts used to check the above rules can be
|
||||
found in ```.github/check```. You can also run all checks
|
||||
using ```make check```.
|
||||
|
||||
### Identifiers and symbol names
|
||||
|
||||
The C Standard defines certain identifiers and symbol names,
|
||||
which we can not use in our code. Since it is not always
|
||||
obvious which parts of the library code will actually end up
|
||||
in a linked program, the following applies to ALL of the
|
||||
library.
|
||||
|
||||
Any non standard identifier/symbol/function that is exported
|
||||
from source files, or appears in header files:
|
||||
|
||||
* must not be in the "_symbol" form in C, or "__symbol" form
|
||||
in assembly,
|
||||
* must start with (at least) two (C Code) or three (assembly
|
||||
code) underscores, unless the symbol appears in a non
|
||||
standard header file.
|
||||
|
||||
This is likely more than the standard dictates us to do -
|
||||
but it is certainly standard compliant - and easy to
|
||||
remember.
|
||||
|
||||
Also see the discussion in
|
||||
https://github.com/cc65/cc65/issues/1796
|
||||
|
||||
### Miscellaneous
|
||||
|
||||
* 80 characters is the desired maximum width of files. But,
|
||||
it isn't a "strong" rule; sometimes, you will want to type
|
||||
longer lines, in order to keep the parts of expressions or
|
||||
comments together on the same line.
|
||||
* You should avoid typing non-ASCII characters.
|
||||
* If you change "normal" source code into comments, then you
|
||||
must add a comment about why that code is a comment.
|
||||
* When you want to create a comment from several lines of
|
||||
code, you should use preprocessor lines, instead of ```/*
|
||||
*/``` or "```;```". Example:
|
||||
|
||||
~~~C
|
||||
#if 0
|
||||
one (); two ();
|
||||
three = two () + one ();
|
||||
#endif
|
||||
~~~
|
||||
|
||||
* You should type upper case characters for hex values.
|
||||
* When you type zero-page addresses in hexadecimal, you
|
||||
should type two hex characters (after the hex prefix).
|
||||
When you type non-zero-page addresses in hex, you should
|
||||
type four hex characters.
|
||||
* When you type lists of addresses, it is a good idea to
|
||||
sort them in ascending numerical order. That makes it
|
||||
easier for readers to build mental pictures of where things
|
||||
are in an address space. And, it is easier to see how big
|
||||
the variables and buffers are. Example:
|
||||
|
||||
~~~asm
|
||||
xCoord := $0703
|
||||
yCoord := $0705 ; (this address implies that xCoord is 16 bits)
|
||||
cmdbuf := $0706 ; (this address implies that yCoord is 8 bits)
|
||||
cmdlen := $0786 ; (this address implies that cmdbuf is 128 bytes)
|
||||
color := $0787
|
||||
~~~
|
||||
|
||||
## C sources
|
||||
|
||||
The following is still very incomplete - if in doubt please
|
||||
look at existing sourcefiles and adapt to the existing style.
|
||||
|
||||
Your files should generally obey the C89 standard, with a
|
||||
few C99 things (this is a bit similar to what cc65 itself
|
||||
supports). The exceptions are:
|
||||
|
||||
* Use stdint.h for variables that require a certain bit size
|
||||
* In printf-style functions use the PRIX64 (and similar)
|
||||
macros to deal with 64bit values (from inttypes.h) This
|
||||
list is not necessarily complete - if in doubt, please ask.
|
||||
* We generally have a "no warnings" policy
|
||||
* Warnings must not be hidden by using typecasts - fix the
|
||||
code instead
|
||||
* The normal indentation width should be four spaces.
|
||||
* You must use ANSI C comments (```/* */```); you must not
|
||||
use C++ comments (```//```).
|
||||
* When you add functions to an existing file, you should
|
||||
separate them by the same number of blank lines that
|
||||
separate the functions that already are in that file.
|
||||
* All function declarations must be followed by a comment
|
||||
block that tells at least briefly what the function does,
|
||||
what the parameters are, and what is returned. This comment
|
||||
must sit between the declaration and the function body, like
|
||||
this:
|
||||
|
||||
~~~C
|
||||
int foo(int bar)
|
||||
/* Add 1 to bar, takes bar and returns the result */
|
||||
{
|
||||
return bar + 1;
|
||||
}
|
||||
~~~
|
||||
|
||||
* When a function's argument list wraps around to a next
|
||||
line, you should indent that next line by either the
|
||||
normal width or enough spaces to align it with the arguments
|
||||
on the previous line.
|
||||
* All declarations in a block must be at the beginning of
|
||||
that block.
|
||||
* You should put a blank line between a list of local
|
||||
variable declarations and the first line of code.
|
||||
* Always use curly braces even for single statements after
|
||||
```if```, and the single statement should go into a new
|
||||
line.
|
||||
* Use "cuddling" braces, ie the opening brace goes in the
|
||||
same line as the ```if```:
|
||||
|
||||
~~~C
|
||||
if (foo > 42) {
|
||||
bar = 23;
|
||||
}
|
||||
~~~
|
||||
|
||||
* Should the ```if``` statement be followed by an empty
|
||||
conditional block, there should be a comment telling why
|
||||
this is the case:
|
||||
|
||||
~~~C
|
||||
if (check()) { /* nothing happened, do nothing */ }
|
||||
~~~
|
||||
|
||||
* You must separate function names and parameter/argument
|
||||
lists by one space.
|
||||
* When declaring/defining pointers, you must put the
|
||||
asterisk (```*```) next to the data type, with a space
|
||||
between it and the variable's name. Examples:
|
||||
|
||||
~~~C
|
||||
int* namedPtr[5];
|
||||
char* nextLine (FILE* f);
|
||||
~~~
|
||||
|
||||
### Header files
|
||||
|
||||
* All Headers should start with a copyright/license banner
|
||||
* Function prototypes must be a single line, not contain the redundant
|
||||
"extern" keyword, and followed by a brief comment that explains what
|
||||
the function does, and separated from the next prototype by a blank
|
||||
line:
|
||||
|
||||
~~~C
|
||||
void __fastcall__ cclear (unsigned char length);
|
||||
/* Clear part of a line (write length spaces). */
|
||||
|
||||
~~~
|
||||
|
||||
Headers that belong to the standard library (libc) must
|
||||
conform with the C standard. That means:
|
||||
|
||||
* All non standard functions, or functions that only exist
|
||||
in a certain standard, should be in #ifdefs
|
||||
* The same is true for macros or typedefs.
|
||||
You can refer to Annex B of the ISO C99 standard
|
||||
([here](https://www.open-std.org/jtc1/sc22/wg14/www/docs/n1256.pdf)
|
||||
is the draft). Example:
|
||||
|
||||
~~~C
|
||||
#if __CC65_STD__ == __CC65_STD_C99__ /* stuff that only exists in C99 here */
|
||||
#endif
|
||||
#if __CC65_STD__ == __CC65_STD_CC65__ /* non standard stuff here */
|
||||
#endif </pre>
|
||||
~~~
|
||||
|
||||
## Assembly sources
|
||||
|
||||
* Opcode mnemonics must have lower-case letters. The names
|
||||
of instruction macroes may have upper-case letters.
|
||||
* Opcodes must use their official and commonly used
|
||||
mnemonics, ie 'bcc' and 'bcs' and not 'bgt' and 'blt'.
|
||||
* Hexadecimal number constants should be used except where
|
||||
decimal or binary numbers make much more sense in that
|
||||
constant's context.
|
||||
* Hexadecimal letters should be upper-case.
|
||||
* When you set two registers or two memory locations to an
|
||||
immediate 16-bit zero, you should use the expressions
|
||||
```#<$0000``` and ```#>$0000``` (they make it obvious where
|
||||
you are putting the lower and upper bytes).
|
||||
* If a function is declared to return a char-sized value, it
|
||||
actually must return an integer-sized value. (When cc65
|
||||
promotes a returned value, it sometimes assumes that the value
|
||||
already is an integer.)
|
||||
This must be done in one of the following ways:
|
||||
|
||||
~~~asm
|
||||
lda #RETURN_VALUE
|
||||
ldx #0 ; Promote char return value
|
||||
|
||||
; If the value is 0, you can use:
|
||||
lda #RETURN_VALUE
|
||||
.assert RETURN_VALUE = 0
|
||||
tax
|
||||
|
||||
; Sometimes jumping to 'return0' could save a byte:
|
||||
.assert RETURN_VALUE = 0
|
||||
jmp return0
|
||||
~~~
|
||||
|
||||
* Functions, that are intended for a platform's system
|
||||
library, should be optimized as much as possible.
|
||||
* Sometimes, there must be a trade-off between size and
|
||||
speed. If you think that a library function won't be used
|
||||
often, then you should make it small. Otherwise, you should
|
||||
make it fast.
|
||||
* Comments that are put on the right side of instructions
|
||||
must be aligned (start in the same character columns).
|
||||
* Assembly source fields (label, operation, operand,
|
||||
comment) should start ''after'' character columns that are
|
||||
multiples of eight (such as 1, 9, 17, 33, and 41).
|
||||
|
||||
## LinuxDoc sources
|
||||
|
||||
* TAB characters must be expanded to spaces.
|
||||
* All text files must end with new-line characters. Don't
|
||||
leave the last line "dangling".
|
||||
* 80 characters is the desired maximum width of files.
|
||||
* You should avoid typing non-ASCII characters.
|
||||
|
||||
* You should put blank lines between LinuxDoc sections:
|
||||
* Three blank lines between ```<sect>``` sections.
|
||||
* Two blank lines between ```<sect1>``` sections.
|
||||
* One blank line between other sections.
|
||||
|
||||
# Library implementation rules
|
||||
|
||||
* By default the toolchain must output a "standard" binary
|
||||
for the platform, no emulator formats, no extra headers
|
||||
used by tools. If the resulting binaries can not be run as
|
||||
is on emulators or eg flash cartridges, the process of
|
||||
converting them to something that can be used with these
|
||||
should be documented in the user manual.
|
||||
* Generally every function should live in a separate source
|
||||
file - unless the functions are so closely related that
|
||||
splitting makes no sense.
|
||||
* Source files should not contain commented out code - if
|
||||
they do, there should be a comment that explains why that
|
||||
commented out code exists.
|
||||
|
||||
# Makefile rules
|
||||
|
||||
* Makefiles must generally work on both *nix (ba)sh and
|
||||
windows cmd.exe.
|
||||
* Makefiles must not use external tools that are not
|
||||
provided by the cc65 toolchain itself.
|
||||
|
||||
The only exception to the above are actions that are exclusive
|
||||
to the github actions - those may rely on bash and/or linux tools.
|
||||
|
||||
# Documentation rules
|
||||
|
||||
## User manual (LinuxDoc)
|
||||
|
||||
* This is the primary documentation.
|
||||
|
||||
## Wiki
|
||||
|
||||
* The Wiki is strictly for additional information that does
|
||||
not fit into the regular user manual (LinuxDoc). The wiki
|
||||
must not duplicate any information that is present in the
|
||||
user manual.
|
||||
|
||||
# Roadmap / TODOs / open ends
|
||||
|
||||
## Documentation
|
||||
|
||||
* The printf() family of functions does not completely
|
||||
implement all printf() modifiers and does not behave as
|
||||
expected in some cases - all this should be documented in
|
||||
detail.
|
||||
|
||||
## Compiler
|
||||
|
||||
* We need a way that makes it possible to feed arbitrary
|
||||
assembler code into the optimizer, so we can have proper
|
||||
tests for it.
|
||||
|
||||
### Floating point support
|
||||
|
||||
The first step is implementing the datatype "float" as IEEE
|
||||
754 floats. Help welcomed!
|
||||
|
||||
* WIP compiler/library changes are here:
|
||||
https://github.com/cc65/cc65/pull/1777
|
||||
|
||||
## Library
|
||||
|
||||
Some name clashes need to be resolved. Please see the
|
||||
[detailed list of name clashes](libsrc/NameClashes.md).
|
||||
|
||||
## Test suite
|
||||
|
||||
* Specific tests to check the optimizer (rather than the code
|
||||
generator) are needed.
|
||||
* We need more specific tests to check standard conformance
|
||||
of the library headers.
|
||||
17
LICENSE
Normal file
17
LICENSE
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
This software is provided 'as-is', without any express or implied warranty.
|
||||
In no event will the authors be held liable for any damages arising from
|
||||
the use of this software.
|
||||
|
||||
Permission is granted to anyone to use this software for any purpose,
|
||||
including commercial applications, and to alter it and redistribute it
|
||||
freely, subject to the following restrictions:
|
||||
|
||||
1. The origin of this software must not be misrepresented; you must not
|
||||
claim that you wrote the original software. If you use this software in
|
||||
a product, an acknowledgment in the product documentation would be
|
||||
appreciated but is not required.
|
||||
|
||||
2. Altered source versions must be plainly marked as such, and must not
|
||||
be misrepresented as being the original software.
|
||||
|
||||
3. This notice may not be removed or altered from any source distribution.
|
||||
106
Makefile
Normal file
106
Makefile
Normal file
|
|
@ -0,0 +1,106 @@
|
|||
# ---- Display info during parsing phase ----
|
||||
SILENT:=$(findstring s,$(word 1, $(MAKEFLAGS)))
|
||||
ifneq ($(SILENT),s)
|
||||
$(info Using Makefile: $(realpath $(firstword $(MAKEFILE_LIST))) $(MAKECMDGOALS))
|
||||
endif
|
||||
|
||||
.PHONY: all mostlyclean clean install zip avail unavail bin lib doc html info samples test util checkstyle check checkprefix
|
||||
|
||||
.SUFFIXES:
|
||||
|
||||
all:
|
||||
@$(MAKE) -C src --no-print-directory $@
|
||||
@$(MAKE) -C libsrc --no-print-directory $@
|
||||
@$(MAKE) -C doc --no-print-directory $@
|
||||
@$(MAKE) -C util --no-print-directory $@
|
||||
@$(MAKE) -C samples --no-print-directory $@
|
||||
@$(MAKE) checkprefix --no-print-directory
|
||||
|
||||
zip:
|
||||
@$(MAKE) -C src --no-print-directory $@
|
||||
@$(MAKE) -C libsrc --no-print-directory $@
|
||||
@$(MAKE) -C doc --no-print-directory $@
|
||||
@$(MAKE) -C util --no-print-directory $@
|
||||
@$(MAKE) -C samples --no-print-directory $@
|
||||
|
||||
install:
|
||||
ifndef PREFIX
|
||||
ifndef DESTDIR
|
||||
$(error Error: PREFIX or DESTDIR must be set for install to work)
|
||||
endif
|
||||
endif
|
||||
@$(MAKE) -C src --no-print-directory $@
|
||||
@$(MAKE) -C libsrc --no-print-directory $@
|
||||
@$(MAKE) -C doc --no-print-directory $@
|
||||
@$(MAKE) -C util --no-print-directory $@
|
||||
@$(MAKE) -C samples --no-print-directory $@
|
||||
|
||||
mostlyclean clean:
|
||||
@$(MAKE) -C src --no-print-directory $@
|
||||
@$(MAKE) -C libsrc --no-print-directory $@
|
||||
@$(MAKE) -C doc --no-print-directory $@
|
||||
@$(MAKE) -C util --no-print-directory $@
|
||||
@$(MAKE) -C samples --no-print-directory $@
|
||||
@$(MAKE) -C test --no-print-directory $@
|
||||
@$(MAKE) -C targettest --no-print-directory $@
|
||||
|
||||
avail unavail:
|
||||
# FIXME: actually not true, PREFIX is ignored?
|
||||
#ifndef PREFIX
|
||||
# $(error Error: PREFIX must be set for avail/unavail to work)
|
||||
#endif
|
||||
@$(MAKE) -C src --no-print-directory $@
|
||||
|
||||
bin:
|
||||
@$(MAKE) -C src --no-print-directory $@
|
||||
@$(MAKE) checkprefix --no-print-directory
|
||||
|
||||
lib libtest:
|
||||
@$(MAKE) -C libsrc --no-print-directory $@
|
||||
|
||||
doc html info:
|
||||
@$(MAKE) -C doc --no-print-directory $@
|
||||
|
||||
samples:
|
||||
@$(MAKE) -C samples --no-print-directory $@
|
||||
|
||||
util:
|
||||
@$(MAKE) -C util --no-print-directory $@
|
||||
|
||||
%65:
|
||||
@$(MAKE) -C src --no-print-directory $@
|
||||
|
||||
%:
|
||||
@$(MAKE) -C libsrc --no-print-directory $@
|
||||
|
||||
checkprefix:
|
||||
ifndef PREFIX
|
||||
ifndef DESTDIR
|
||||
$(warning Warning: PREFIX and DESTDIR are empty - make install will not work)
|
||||
endif
|
||||
endif
|
||||
|
||||
# check the code style
|
||||
checkstyle:
|
||||
@$(MAKE) -C .github/checks --no-print-directory $@
|
||||
|
||||
# check bsearch tables
|
||||
sorted:
|
||||
@$(MAKE) -C .github/checks --no-print-directory $@
|
||||
|
||||
# check that no modules use "sp", requires the binaries to be built first
|
||||
checksp:
|
||||
@$(MAKE) -C .github/checks --no-print-directory $@
|
||||
|
||||
# runs regression tests, requires libtest target libraries
|
||||
test:
|
||||
@$(MAKE) -C test --no-print-directory $@
|
||||
|
||||
# GNU "check" target, which runs all tests
|
||||
check:
|
||||
@$(MAKE) -C .github/checks checkstyle --no-print-directory
|
||||
@$(MAKE) -C .github/checks sorted --no-print-directory
|
||||
@$(MAKE) -C src test --no-print-directory
|
||||
@$(MAKE) test
|
||||
@$(MAKE) -C targettest platforms --no-print-directory
|
||||
@$(MAKE) -C samples platforms --no-print-directory
|
||||
36
Makefile.travis
Normal file
36
Makefile.travis
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
.PHONY: all gh-pages sf-files
|
||||
|
||||
.SUFFIXES:
|
||||
|
||||
all: gh-pages sf-files
|
||||
|
||||
GH_NAME = Oliver Schmidt
|
||||
GH_MAIL = ol.sc@web.de
|
||||
GH_PATH = ../doc
|
||||
|
||||
gh-pages:
|
||||
ifdef GH_TOKEN
|
||||
@echo 'git clone https://$$(GH_TOKEN)@github.com/cc65/doc.git $(GH_PATH)'
|
||||
@git clone https://$(GH_TOKEN)@github.com/cc65/doc.git $(GH_PATH)
|
||||
cd $(GH_PATH) && git config user.name "$(GH_NAME)"
|
||||
cd $(GH_PATH) && git config user.email "$(GH_MAIL)"
|
||||
cd $(GH_PATH) && git config push.default simple
|
||||
$(RM) $(GH_PATH)/*.*
|
||||
cp html/*.* $(GH_PATH)
|
||||
cd $(GH_PATH) && git add -A
|
||||
-cd $(GH_PATH) && git commit -m "Updated from commit $(TRAVIS_COMMIT)."
|
||||
cd $(GH_PATH) && git push -q
|
||||
endif
|
||||
|
||||
SF_USER = oliverschmidt
|
||||
SF_HOST = frs.sourceforge.net
|
||||
SF_FILE = /home/frs/project/cc65/cc65-snapshot-win32.zip
|
||||
|
||||
SCPFLAGS = -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -q
|
||||
|
||||
sf-files:
|
||||
ifdef SF_PASS
|
||||
echo $(TRAVIS_COMMIT) | zip -z cc65
|
||||
@echo 'sshpass -p $$(SF_PASS) scp $(SCPFLAGS) cc65.zip $(SF_USER)@$(SF_HOST):$(SF_FILE)'
|
||||
@sshpass -p $(SF_PASS) scp $(SCPFLAGS) cc65.zip $(SF_USER)@$(SF_HOST):$(SF_FILE)
|
||||
endif
|
||||
108
README.md
Normal file
108
README.md
Normal file
|
|
@ -0,0 +1,108 @@
|
|||
The cc65 cross-compiler suite
|
||||
=============================
|
||||
|
||||
cc65 is a complete cross-development package for 65(C)02 systems,
|
||||
including a powerful macro assembler, a C compiler, linker, archiver,
|
||||
simulator and several other tools. cc65 has C and runtime library
|
||||
support for many of the old 6502 machines. For details look at
|
||||
the [cc65 web site](https://cc65.github.io):
|
||||
|
||||
| Company / People | Machine / Environment |
|
||||
|-------------------------|-------------------------------------|
|
||||
| Apple | Apple II |
|
||||
| | Apple IIe enhanced |
|
||||
| Atari | Atari 400/800 |
|
||||
| | Atari 2600 |
|
||||
| | Atari 5200 |
|
||||
| | Atari 7800 |
|
||||
| | Atari XL |
|
||||
| | Lynx |
|
||||
| Tangerine | Oric Atmos |
|
||||
| Eureka | Oric Telestrat |
|
||||
| Acorn | BBC series |
|
||||
| Commodore | C128 |
|
||||
| | C16 |
|
||||
| | C64 |
|
||||
| | CBM 510/610 |
|
||||
| | PET |
|
||||
| | Plus/4 |
|
||||
| | VIC-20 |
|
||||
| VTech | CreatiVision |
|
||||
| Commander X16 Community | Commander X16 |
|
||||
| Bit Corporation | Gamate |
|
||||
| Berkeley Softworks | GEOS (Apple/CBM) |
|
||||
| LUnix Team | LUnix (C64) |
|
||||
| Nintendo | Nintendo Entertainment System (NES) |
|
||||
| Ohio Scientific | OSI C1P |
|
||||
| MOS Technology, Inc. | KIM-1 |
|
||||
| NEC | PC Engine (PCE) |
|
||||
| Rumbledethumps | Picocomputer 6502 (RP6502) |
|
||||
| Watara | Watara/QuickShot Supervision |
|
||||
| Synertek | SYM-1 |
|
||||
| USSR | Agat-7/9 |
|
||||
|
||||
A generic configuration to adapt cc65 to new targets is also around.
|
||||
|
||||
## People
|
||||
|
||||
cc65 is originally based on the "Small C" compiler by Ron Cain and
|
||||
enhanced by James E. Hendrix.
|
||||
|
||||
### Project founders
|
||||
|
||||
* John R. Dunning: [original implementation](https://public.websites.umich.edu/~archive/atari/8bit/Languages/Cc65/)
|
||||
of the C compiler and runtime library, Atari hosted.
|
||||
* Ullrich von Bassewitz:
|
||||
* moved Dunning's code to modern systems,
|
||||
* rewrote most parts of the compiler,
|
||||
* rewrote all of the runtime library.
|
||||
|
||||
### Core team members
|
||||
|
||||
* [Christian Groessler](https://github.com/groessler): Atari, Atari5200, and CreatiVision library Maintainer
|
||||
* [dqh](https://github.com/dqh-au): GHA help
|
||||
* [Greg King](https://github.com/greg-king5): all around hackery
|
||||
* [groepaz](https://github.com/mrdudz): CBM library, Project Maintainer
|
||||
* [Oliver Schmidt](https://github.com/oliverschmidt): Apple II library Maintainer
|
||||
|
||||
### External contributors
|
||||
|
||||
* [acqn](https://github.com/acqn): various compiler fixes
|
||||
* [jedeoric](https://github.com/jedeoric): Telestrat target
|
||||
* [jmr](https://github.com/jmr): compiler fixes
|
||||
* [karrika](https://github.com/karrika): Atari 7800 target
|
||||
* [Stephan Mühlstrasser](https://github.com/smuehlst): osic1p target
|
||||
* [Wayne Parham](https://github.com/WayneParham): Sym-1 target
|
||||
* [Dave Plummer](https://github.com/davepl): KIM-1 target
|
||||
* [Rumbledethumps](https://github.com/rumbledethumps): RP6502 target
|
||||
|
||||
*(The above list is incomplete, if you feel left out - please speak up or add yourself in a PR)*
|
||||
|
||||
For a complete list look at the [full team list](https://github.com/orgs/cc65/teams)
|
||||
or the list of [all contributors](https://github.com/cc65/cc65/graphs/contributors).
|
||||
|
||||
# Contact
|
||||
|
||||
For general discussion, questions, etc subscribe to the
|
||||
[mailing list](https://cc65.github.io/mailing-lists.html)
|
||||
or use the [github discussions](https://github.com/cc65/cc65/discussions).
|
||||
|
||||
Some of us may also be around on IRC [#cc65](https://web.libera.chat/#cc65) on libera.chat.
|
||||
|
||||
# Documentation
|
||||
|
||||
* The main [Documentation](https://cc65.github.io/doc) for users and
|
||||
developers.
|
||||
* Info on [Contributing](Contributing.md) to the CC65 project. Please
|
||||
read this before working on something you want to contribute, and
|
||||
before reporting bugs.
|
||||
* The [Wiki](https://github.com/cc65/wiki/wiki) contains some extra info
|
||||
that does not fit into the regular documentation.
|
||||
|
||||
# Downloads
|
||||
|
||||
* [Windows 64bit Snapshot](https://sourceforge.net/projects/cc65/files/cc65-snapshot-win64.zip)
|
||||
* [Windows 32bit Snapshot](https://sourceforge.net/projects/cc65/files/cc65-snapshot-win32.zip)
|
||||
* [Linux Snapshot DEB and RPM](https://software.opensuse.org/download.html?project=home%3Astrik&package=cc65)
|
||||
|
||||
[](https://github.com/cc65/cc65/actions/workflows/snapshot-on-push-master.yml)
|
||||
27
asminc/_file.inc
Normal file
27
asminc/_file.inc
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
;
|
||||
; _file.inc
|
||||
;
|
||||
; (C) Copyright 2002 Ullrich von Bassewitz (uz@cc65.org)
|
||||
;
|
||||
|
||||
; Assembler include file that makes the constants and structures in _file.h
|
||||
; available for asm code.
|
||||
|
||||
; Struct _FILE
|
||||
.struct _FILE
|
||||
f_fd .byte
|
||||
f_flags .byte
|
||||
f_pushback .byte
|
||||
.endstruct
|
||||
|
||||
; Flags field
|
||||
_FCLOSED = $00
|
||||
_FOPEN = $01
|
||||
_FEOF = $02
|
||||
_FERROR = $04
|
||||
_FPUSHBACK = $08
|
||||
|
||||
; File table
|
||||
.global __filetab
|
||||
|
||||
|
||||
35
asminc/_heap.inc
Normal file
35
asminc/_heap.inc
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
;
|
||||
; _heap.inc
|
||||
;
|
||||
; (c) Copyright 2003, Ullrich von Bassewitz (uz@cc65.org)
|
||||
;
|
||||
|
||||
; Assembler include file that makes the constants and structures in _heap.h
|
||||
; available for asm code.
|
||||
|
||||
; Struct freeblock
|
||||
; NOTE: For performance reasons, the asm code often uses increment/decrement
|
||||
; operators to access other offsets, so just changing offsets here will
|
||||
; probably not work.
|
||||
.struct freeblock
|
||||
size .word
|
||||
next .addr
|
||||
prev .addr
|
||||
.endstruct
|
||||
|
||||
; Struct usedblock
|
||||
; See notes above
|
||||
.struct usedblock
|
||||
size .word
|
||||
start .addr
|
||||
.endstruct
|
||||
|
||||
HEAP_MIN_BLOCKSIZE = .sizeof (freeblock) ; Minimum size of an allocated block
|
||||
HEAP_ADMIN_SPACE = .sizeof (usedblock) ; Additional space for used bock
|
||||
|
||||
; Variables
|
||||
.global ___heaporg
|
||||
.global ___heapptr
|
||||
.global ___heapend
|
||||
.global ___heapfirst
|
||||
.global ___heaplast
|
||||
80
asminc/accelerator.inc
Normal file
80
asminc/accelerator.inc
Normal file
|
|
@ -0,0 +1,80 @@
|
|||
;
|
||||
; Accelerator definitions.
|
||||
;
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
; Speed definitions for all accelerator, to be used as input for the 'set'
|
||||
; functions.
|
||||
|
||||
|
||||
SPEED_SLOW = $00
|
||||
SPEED_FAST = $FF
|
||||
|
||||
SPEED_1X = SPEED_SLOW
|
||||
SPEED_2X = 2 - 1
|
||||
SPEED_3X = 3 - 1
|
||||
SPEED_4X = 4 - 1
|
||||
SPEED_5X = 5 - 1
|
||||
SPEED_6X = 6 - 1
|
||||
SPEED_7X = 7 - 1
|
||||
SPEED_8X = 8 - 1
|
||||
SPEED_10X = 10 - 1
|
||||
SPEED_12X = 12 - 1
|
||||
SPEED_16X = 16 - 1
|
||||
SPEED_20X = 20 - 1
|
||||
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
; C64/C128 Super CPU cartridge
|
||||
|
||||
SuperCPU_Slow := $D07A
|
||||
SuperCPU_Fast := $D07B
|
||||
SuperCPU_Speed_Mode := $D0B8
|
||||
SuperCPU_Detect := $D0BC
|
||||
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
; C64DTV
|
||||
|
||||
C64DTV_Extended_Regs := $D03F
|
||||
|
||||
C64DTV_Slow = $00
|
||||
C64DTV_Fast = $03
|
||||
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
; C128 native and C128 in C64 mode
|
||||
|
||||
C128_VICIIE_CLK := $D030
|
||||
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
; C64 Chameleon cartridge
|
||||
|
||||
CHAMELEON_CFGTUR := $D0F3
|
||||
CHAMELEON_CFGENA := $D0FE
|
||||
|
||||
CHAMELEON_ENABLE_REGS = $2A
|
||||
CHAMELEON_DISABLE_REGS = $FF
|
||||
|
||||
CHAMELEON_CFGTUR_LIMIT_1MHZ = %00001100
|
||||
CHAMELEON_CFGTUR_LIMIT_NONE = %10000000
|
||||
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
; C65/C64DX in C64 mode
|
||||
|
||||
C65_VICIII_KEY := $D02F
|
||||
C65_VICIII_CTRL_B := $D031
|
||||
|
||||
C65_VICIII_UNLOCK_1 = $A5
|
||||
C65_VICIII_UNLOCK_2 = $96
|
||||
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
; C64 Turbo Master cartridge
|
||||
|
||||
TURBOMASTER_DETECT := $BF53
|
||||
|
||||
TURBOMASTER_SPEED_REG := $00
|
||||
|
||||
39
asminc/agat.inc
Normal file
39
asminc/agat.inc
Normal file
|
|
@ -0,0 +1,39 @@
|
|||
|
||||
;-----------------------------------------------------------------------------
|
||||
; Zero page stuff
|
||||
|
||||
WNDLFT := $20 ; Text window left
|
||||
WNDWDTH := $21 ; Text window width
|
||||
WNDTOP := $22 ; Text window top
|
||||
WNDBTM := $23 ; Text window bottom+1
|
||||
CH := $24 ; Cursor horizontal position
|
||||
CV := $25 ; Cursor vertical position
|
||||
BASL := $28 ; Text base address low
|
||||
BASH := $29 ; Text base address high
|
||||
CURSOR := $2D ; Cursor character
|
||||
TATTR := $32 ; Text attributes
|
||||
PROMPT := $33 ; Used by GETLN
|
||||
VCOUT := $36 ; COUT Subroutine Vector
|
||||
VCIN := $38 ; CIN Subroutine Vector
|
||||
RNDL := $4E ; Random counter low
|
||||
RNDH := $4F ; Random counter high
|
||||
HIMEM := $73 ; Highest available memory address+1
|
||||
|
||||
;-----------------------------------------------------------------------------
|
||||
; Vectors
|
||||
|
||||
DOSWARM := $03D0 ; DOS warmstart vector
|
||||
BRKVec := $03F0 ; Break vector
|
||||
SOFTEV := $03F2 ; Vector for warm start
|
||||
PWREDUP := $03F4 ; This must be = EOR #$A5 of SOFTEV+1
|
||||
|
||||
;-----------------------------------------------------------------------------
|
||||
; Hardware
|
||||
|
||||
; Keyboard input
|
||||
KBD := $C000 ; Read keyboard
|
||||
KBDSTRB := $C010 ; Clear keyboard strobe
|
||||
|
||||
; Game controller
|
||||
BUTN0 := $C061 ; Open-Apple Key
|
||||
BUTN1 := $C062 ; Closed-Apple Key
|
||||
95
asminc/apple2.inc
Normal file
95
asminc/apple2.inc
Normal file
|
|
@ -0,0 +1,95 @@
|
|||
|
||||
;-----------------------------------------------------------------------------
|
||||
; Zero page
|
||||
|
||||
WNDLFT := $20 ; Text window left
|
||||
WNDWDTH := $21 ; Text window width
|
||||
WNDTOP := $22 ; Text window top
|
||||
WNDBTM := $23 ; Text window bottom+1
|
||||
CH := $24 ; Cursor horizontal position
|
||||
CV := $25 ; Cursor vertical position
|
||||
BASL := $28 ; Text base address low
|
||||
BASH := $29 ; Text base address high
|
||||
INVFLG := $32 ; Normal/inverse(/flash)
|
||||
PROMPT := $33 ; Used by GETLN
|
||||
RNDL := $4E ; Random counter low
|
||||
RNDH := $4F ; Random counter high
|
||||
HIMEM := $73 ; Highest available memory address+1
|
||||
CURLIN := $75 ; Current line number being executed
|
||||
|
||||
;-----------------------------------------------------------------------------
|
||||
; Vectors
|
||||
|
||||
DOSWARM := $03D0 ; DOS warmstart vector
|
||||
BRKVec := $03F0 ; Break vector
|
||||
SOFTEV := $03F2 ; Vector for warm start
|
||||
PWREDUP := $03F4 ; This must be = EOR #$A5 of SOFTEV+1
|
||||
ROM_RST := $FFFC ; 6502 reset vector
|
||||
ROM_IRQ := $FFFE ; 6502 IRQ vector
|
||||
|
||||
;-----------------------------------------------------------------------------
|
||||
; 80 column firmware
|
||||
|
||||
OURCH := $057B ; Cursor horizontal position
|
||||
OURCV := $05FB ; Cursor vertical position
|
||||
|
||||
;-----------------------------------------------------------------------------
|
||||
; Hardware
|
||||
|
||||
; Keyboard input
|
||||
KBD := $C000 ; Read keyboard
|
||||
KBDSTRB := $C010 ; Clear keyboard strobe
|
||||
|
||||
; 80 column video
|
||||
CLR80COL:= $C000 ; Disable 80 column store
|
||||
SET80COL:= $C001 ; Enable 80 column store
|
||||
RD80COL := $C018 ; >127 if 80 column store enabled
|
||||
RD80VID := $C01F ; >127 if 80 column video enabled
|
||||
|
||||
; Character set
|
||||
CLRALTCHAR := $C00E ; Normal Apple II char set
|
||||
SETALTCHAR := $C00F ; Norm/inv LC, no flash
|
||||
ALTCHARSET := $C01E ; >127 if alt charset switched in
|
||||
|
||||
; Language card
|
||||
RDLCBNK2:= $C011 ; >127 if LC bank 2 in use
|
||||
RDLCRAM := $C012 ; >127 if LC is read enabled
|
||||
ROMIN := $C081 ; Swap in D000-FFFF ROM
|
||||
LCBANK2 := $C083 ; Swap in LC bank 2
|
||||
LCBANK1 := $C08B ; Swap in LC bank 1
|
||||
|
||||
; Vertical blanking
|
||||
RDVBLBAR := $C019 ; >127 if not vertical blanking
|
||||
RDVBLMSK := $C041 ; >127 if VBL interrupts enabled
|
||||
DISVBL := $C05A ; Disable VBL interrupts
|
||||
ENVBL := $C05B ; Enable VBL interrupts
|
||||
|
||||
; Video mode
|
||||
TXTCLR := $C050 ; Display graphics
|
||||
TXTSET := $C051 ; Display text
|
||||
MIXCLR := $C052 ; Disable 4 lines of text
|
||||
MIXSET := $C053 ; Enable 4 lines of text
|
||||
LOWSCR := $C054 ; Page 1
|
||||
HISCR := $C055 ; Page 2
|
||||
LORES := $C056 ; Lores graphics
|
||||
HIRES := $C057 ; Hires graphics
|
||||
DHIRESON := $C05E ; Enable double-width graphics
|
||||
DHIRESOFF := $C05F ; Disable double-width graphics
|
||||
|
||||
; Game controller
|
||||
TAPEIN := $C060 ; Read casette input / Switch input 3
|
||||
BUTN0 := $C061 ; Switch input 0 / Open-Apple key
|
||||
BUTN1 := $C062 ; Switch input 1 / Closed-Apple key
|
||||
BUTN2 := $C063 ; Switch input 2 / Shift key
|
||||
PADDL0 := $C064 ; Analog input 0
|
||||
PADDL1 := $C065 ; Analog input 1
|
||||
PADDL2 := $C066 ; Analog input 2
|
||||
PADDL3 := $C067 ; Analog input 3
|
||||
PTRIG := $C070 ; Analog input reset
|
||||
|
||||
; Input/Output Unit
|
||||
IOUDISON := $C07E ; Disable IOU
|
||||
IOUDISOFF := $C07F ; Enable IOU
|
||||
|
||||
; Control Your Apple
|
||||
CYAREG := $C036 ; Bits 0-3=disk detect 4=shadow all banks 7=fast
|
||||
54
asminc/apple2.mac
Normal file
54
asminc/apple2.mac
Normal file
|
|
@ -0,0 +1,54 @@
|
|||
; Convert characters to screen codes
|
||||
|
||||
; Helper macro that converts and outputs one character
|
||||
.macro _scrcode char
|
||||
.if (char < 256)
|
||||
.byte (char + 128)
|
||||
.else
|
||||
.error "scrcode: Character constant out of range"
|
||||
.endif
|
||||
.endmacro
|
||||
|
||||
.macro scrcode arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9
|
||||
|
||||
; Bail out if next argument is empty
|
||||
.if .blank (arg1)
|
||||
.exitmacro
|
||||
.endif
|
||||
|
||||
; Check for a string
|
||||
.if .match ({arg1}, "")
|
||||
|
||||
; Walk over all string chars
|
||||
.repeat .strlen (arg1), i
|
||||
_scrcode {.strat (arg1, i)}
|
||||
.endrepeat
|
||||
|
||||
; Check for a number
|
||||
.elseif .match (.left (1, {arg1}), 0)
|
||||
|
||||
; Just output the number
|
||||
_scrcode arg1
|
||||
|
||||
; Check for a character
|
||||
.elseif .match (.left (1, {arg1}), 'a')
|
||||
|
||||
; Just output the character
|
||||
_scrcode arg1
|
||||
|
||||
; Check for an identifier
|
||||
.elseif .match (.left (1, {arg1}), identifier)
|
||||
|
||||
; Just output the identifier
|
||||
_scrcode arg1
|
||||
|
||||
; Anything else is an error
|
||||
.else
|
||||
|
||||
.error "scrcode: invalid argument type"
|
||||
|
||||
.endif
|
||||
|
||||
; Call the macro recursively with the remaining args
|
||||
scrcode arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9
|
||||
.endmacro
|
||||
287
asminc/ascii_charmap.inc
Normal file
287
asminc/ascii_charmap.inc
Normal file
|
|
@ -0,0 +1,287 @@
|
|||
;/*****************************************************************************/
|
||||
;/* */
|
||||
;/* ascii_charmap.inc */
|
||||
;/* */
|
||||
;/* No translations, encodings are stored as they were typed in the host. */
|
||||
;/* */
|
||||
;/* */
|
||||
;/* 2019-09-07, Greg King */
|
||||
;/* */
|
||||
;/* This software is provided "as-is", without any expressed or implied */
|
||||
;/* warranty. In no event will the authors be held liable for any damages */
|
||||
;/* arising from the use of this software. */
|
||||
;/* */
|
||||
;/* Permission is granted to anyone to use this software for any purpose, */
|
||||
;/* including commercial applications, and to alter it and redistribute it */
|
||||
;/* freely, subject to the following restrictions: */
|
||||
;/* */
|
||||
;/* 1. The origin of this software must not be misrepresented; you must not */
|
||||
;/* claim that you wrote the original software. If you use this software */
|
||||
;/* in a product, an acknowledgment in the product documentation would be */
|
||||
;/* appreciated, but is not required. */
|
||||
;/* 2. Altered source versions must be plainly marked as such, and must not */
|
||||
;/* be misrepresented as being the original software. */
|
||||
;/* 3. This notice must not be removed or altered from any source */
|
||||
;/* distribution. */
|
||||
;/* */
|
||||
;/*****************************************************************************/
|
||||
|
||||
;/* ASCII */
|
||||
.charmap $00, $00
|
||||
.charmap $01, $01
|
||||
.charmap $02, $02
|
||||
.charmap $03, $03
|
||||
.charmap $04, $04
|
||||
.charmap $05, $05
|
||||
.charmap $06, $06
|
||||
.charmap $07, $07
|
||||
.charmap $08, $08
|
||||
.charmap $09, $09
|
||||
.charmap $0A, $0A
|
||||
.charmap $0B, $0B
|
||||
.charmap $0C, $0C
|
||||
.charmap $0D, $0D
|
||||
.charmap $0E, $0E
|
||||
.charmap $0F, $0F
|
||||
.charmap $10, $10
|
||||
.charmap $11, $11
|
||||
.charmap $12, $12
|
||||
.charmap $13, $13
|
||||
.charmap $14, $14
|
||||
.charmap $15, $15
|
||||
.charmap $16, $16
|
||||
.charmap $17, $17
|
||||
.charmap $18, $18
|
||||
.charmap $19, $19
|
||||
.charmap $1A, $1A
|
||||
.charmap $1B, $1B
|
||||
.charmap $1C, $1C
|
||||
.charmap $1D, $1D
|
||||
.charmap $1E, $1E
|
||||
.charmap $1F, $1F
|
||||
.charmap $20, $20
|
||||
.charmap $21, $21
|
||||
.charmap $22, $22
|
||||
.charmap $23, $23
|
||||
.charmap $24, $24
|
||||
.charmap $25, $25
|
||||
.charmap $26, $26
|
||||
.charmap $27, $27
|
||||
.charmap $28, $28
|
||||
.charmap $29, $29
|
||||
.charmap $2A, $2A
|
||||
.charmap $2B, $2B
|
||||
.charmap $2C, $2C
|
||||
.charmap $2D, $2D
|
||||
.charmap $2E, $2E
|
||||
.charmap $2F, $2F
|
||||
.charmap $30, $30
|
||||
.charmap $31, $31
|
||||
.charmap $32, $32
|
||||
.charmap $33, $33
|
||||
.charmap $34, $34
|
||||
.charmap $35, $35
|
||||
.charmap $36, $36
|
||||
.charmap $37, $37
|
||||
.charmap $38, $38
|
||||
.charmap $39, $39
|
||||
.charmap $3A, $3A
|
||||
.charmap $3B, $3B
|
||||
.charmap $3C, $3C
|
||||
.charmap $3D, $3D
|
||||
.charmap $3E, $3E
|
||||
.charmap $3F, $3F
|
||||
.charmap $40, $40
|
||||
.charmap $41, $41
|
||||
.charmap $42, $42
|
||||
.charmap $43, $43
|
||||
.charmap $44, $44
|
||||
.charmap $45, $45
|
||||
.charmap $46, $46
|
||||
.charmap $47, $47
|
||||
.charmap $48, $48
|
||||
.charmap $49, $49
|
||||
.charmap $4A, $4A
|
||||
.charmap $4B, $4B
|
||||
.charmap $4C, $4C
|
||||
.charmap $4D, $4D
|
||||
.charmap $4E, $4E
|
||||
.charmap $4F, $4F
|
||||
.charmap $50, $50
|
||||
.charmap $51, $51
|
||||
.charmap $52, $52
|
||||
.charmap $53, $53
|
||||
.charmap $54, $54
|
||||
.charmap $55, $55
|
||||
.charmap $56, $56
|
||||
.charmap $57, $57
|
||||
.charmap $58, $58
|
||||
.charmap $59, $59
|
||||
.charmap $5A, $5A
|
||||
.charmap $5B, $5B
|
||||
.charmap $5C, $5C
|
||||
.charmap $5D, $5D
|
||||
.charmap $5E, $5E
|
||||
.charmap $5F, $5F
|
||||
.charmap $60, $60
|
||||
.charmap $61, $61
|
||||
.charmap $62, $62
|
||||
.charmap $63, $63
|
||||
.charmap $64, $64
|
||||
.charmap $65, $65
|
||||
.charmap $66, $66
|
||||
.charmap $67, $67
|
||||
.charmap $68, $68
|
||||
.charmap $69, $69
|
||||
.charmap $6A, $6A
|
||||
.charmap $6B, $6B
|
||||
.charmap $6C, $6C
|
||||
.charmap $6D, $6D
|
||||
.charmap $6E, $6E
|
||||
.charmap $6F, $6F
|
||||
.charmap $70, $70
|
||||
.charmap $71, $71
|
||||
.charmap $72, $72
|
||||
.charmap $73, $73
|
||||
.charmap $74, $74
|
||||
.charmap $75, $75
|
||||
.charmap $76, $76
|
||||
.charmap $77, $77
|
||||
.charmap $78, $78
|
||||
.charmap $79, $79
|
||||
.charmap $7A, $7A
|
||||
.charmap $7B, $7B
|
||||
.charmap $7C, $7C
|
||||
.charmap $7D, $7D
|
||||
.charmap $7E, $7E
|
||||
.charmap $7F, $7F
|
||||
|
||||
;/* beyond ASCII */
|
||||
.charmap $80, $80
|
||||
.charmap $81, $81
|
||||
.charmap $82, $82
|
||||
.charmap $83, $83
|
||||
.charmap $84, $84
|
||||
.charmap $85, $85
|
||||
.charmap $86, $86
|
||||
.charmap $87, $87
|
||||
.charmap $88, $88
|
||||
.charmap $89, $89
|
||||
.charmap $8A, $8A
|
||||
.charmap $8B, $8B
|
||||
.charmap $8C, $8C
|
||||
.charmap $8D, $8D
|
||||
.charmap $8E, $8E
|
||||
.charmap $8F, $8F
|
||||
.charmap $90, $90
|
||||
.charmap $91, $91
|
||||
.charmap $92, $92
|
||||
.charmap $93, $93
|
||||
.charmap $94, $94
|
||||
.charmap $95, $95
|
||||
.charmap $96, $96
|
||||
.charmap $97, $97
|
||||
.charmap $98, $98
|
||||
.charmap $99, $99
|
||||
.charmap $9A, $9A
|
||||
.charmap $9B, $9B
|
||||
.charmap $9C, $9C
|
||||
.charmap $9D, $9D
|
||||
.charmap $9E, $9E
|
||||
.charmap $9F, $9F
|
||||
.charmap $A0, $A0
|
||||
.charmap $A1, $A1
|
||||
.charmap $A2, $A2
|
||||
.charmap $A3, $A3
|
||||
.charmap $A4, $A4
|
||||
.charmap $A5, $A5
|
||||
.charmap $A6, $A6
|
||||
.charmap $A7, $A7
|
||||
.charmap $A8, $A8
|
||||
.charmap $A9, $A9
|
||||
.charmap $AA, $AA
|
||||
.charmap $AB, $AB
|
||||
.charmap $AC, $AC
|
||||
.charmap $AD, $AD
|
||||
.charmap $AE, $AE
|
||||
.charmap $AF, $AF
|
||||
.charmap $B0, $B0
|
||||
.charmap $B1, $B1
|
||||
.charmap $B2, $B2
|
||||
.charmap $B3, $B3
|
||||
.charmap $B4, $B4
|
||||
.charmap $B5, $B5
|
||||
.charmap $B6, $B6
|
||||
.charmap $B7, $B7
|
||||
.charmap $B8, $B8
|
||||
.charmap $B9, $B9
|
||||
.charmap $BA, $BA
|
||||
.charmap $BB, $BB
|
||||
.charmap $BC, $BC
|
||||
.charmap $BD, $BD
|
||||
.charmap $BE, $BE
|
||||
.charmap $BF, $BF
|
||||
.charmap $C0, $C0
|
||||
.charmap $C1, $C1
|
||||
.charmap $C2, $C2
|
||||
.charmap $C3, $C3
|
||||
.charmap $C4, $C4
|
||||
.charmap $C5, $C5
|
||||
.charmap $C6, $C6
|
||||
.charmap $C7, $C7
|
||||
.charmap $C8, $C8
|
||||
.charmap $C9, $C9
|
||||
.charmap $CA, $CA
|
||||
.charmap $CB, $CB
|
||||
.charmap $CC, $CC
|
||||
.charmap $CD, $CD
|
||||
.charmap $CE, $CE
|
||||
.charmap $CF, $CF
|
||||
.charmap $D0, $D0
|
||||
.charmap $D1, $D1
|
||||
.charmap $D2, $D2
|
||||
.charmap $D3, $D3
|
||||
.charmap $D4, $D4
|
||||
.charmap $D5, $D5
|
||||
.charmap $D6, $D6
|
||||
.charmap $D7, $D7
|
||||
.charmap $D8, $D8
|
||||
.charmap $D9, $D9
|
||||
.charmap $DA, $DA
|
||||
.charmap $DB, $DB
|
||||
.charmap $DC, $DC
|
||||
.charmap $DD, $DD
|
||||
.charmap $DE, $DE
|
||||
.charmap $DF, $DF
|
||||
.charmap $E0, $E0
|
||||
.charmap $E1, $E1
|
||||
.charmap $E2, $E2
|
||||
.charmap $E3, $E3
|
||||
.charmap $E4, $E4
|
||||
.charmap $E5, $E5
|
||||
.charmap $E6, $E6
|
||||
.charmap $E7, $E7
|
||||
.charmap $E8, $E8
|
||||
.charmap $E9, $E9
|
||||
.charmap $EA, $EA
|
||||
.charmap $EB, $EB
|
||||
.charmap $EC, $EC
|
||||
.charmap $ED, $ED
|
||||
.charmap $EE, $EE
|
||||
.charmap $EF, $EF
|
||||
.charmap $F0, $F0
|
||||
.charmap $F1, $F1
|
||||
.charmap $F2, $F2
|
||||
.charmap $F3, $F3
|
||||
.charmap $F4, $F4
|
||||
.charmap $F5, $F5
|
||||
.charmap $F6, $F6
|
||||
.charmap $F7, $F7
|
||||
.charmap $F8, $F8
|
||||
.charmap $F9, $F9
|
||||
.charmap $FA, $FA
|
||||
.charmap $FB, $FB
|
||||
.charmap $FC, $FC
|
||||
.charmap $FD, $FD
|
||||
.charmap $FE, $FE
|
||||
.charmap $FF, $FF
|
||||
1169
asminc/atari.inc
Normal file
1169
asminc/atari.inc
Normal file
File diff suppressed because it is too large
Load diff
65
asminc/atari.mac
Normal file
65
asminc/atari.mac
Normal file
|
|
@ -0,0 +1,65 @@
|
|||
; Convert characters to screen codes
|
||||
|
||||
; Helper macro that converts and outputs one character
|
||||
.macro _scrcode char
|
||||
.if (char >= 0) .and (char <= 31)
|
||||
.byte (char + 64)
|
||||
.elseif (char >= 32) .and (char <= 95)
|
||||
.byte (char - 32)
|
||||
.elseif (char >= 96) .and (char <= 127)
|
||||
.byte char
|
||||
.elseif (char >= 128) .and (char <= 159)
|
||||
.byte (char + 64)
|
||||
.elseif (char >= 160) .and (char <= 223)
|
||||
.byte (char - 32)
|
||||
.elseif (char >= 224) .and (char <= 255)
|
||||
.byte char
|
||||
.else
|
||||
.error "scrcode: Character constant out of range"
|
||||
.endif
|
||||
.endmacro
|
||||
|
||||
.macro scrcode arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9
|
||||
|
||||
; Bail out if next argument is empty
|
||||
.if .blank (arg1)
|
||||
.exitmacro
|
||||
.endif
|
||||
|
||||
; Check for a string
|
||||
.if .match ({arg1}, "")
|
||||
|
||||
; Walk over all string chars
|
||||
.repeat .strlen (arg1), i
|
||||
_scrcode {.strat (arg1, i)}
|
||||
.endrepeat
|
||||
|
||||
; Check for a number
|
||||
.elseif .match (.left (1, {arg1}), 0)
|
||||
|
||||
; Just output the number
|
||||
_scrcode arg1
|
||||
|
||||
; Check for a character
|
||||
.elseif .match (.left (1, {arg1}), 'a')
|
||||
|
||||
; Just output the character
|
||||
_scrcode arg1
|
||||
|
||||
; Check for an identifier
|
||||
.elseif .match (.left (1, {arg1}), identifier)
|
||||
|
||||
; Just output the identifier
|
||||
_scrcode arg1
|
||||
|
||||
; Anything else is an error
|
||||
.else
|
||||
|
||||
.error "scrcode: invalid argument type"
|
||||
|
||||
.endif
|
||||
|
||||
; Call the macro recursively with the remaining args
|
||||
scrcode arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9
|
||||
.endmacro
|
||||
|
||||
7
asminc/atari2600.inc
Normal file
7
asminc/atari2600.inc
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
; Atari 2600 TIA & RIOT read / write registers
|
||||
;
|
||||
; Florent Flament (contact@florentflament.com), 2017
|
||||
|
||||
; TIA & RIOT registers mapping
|
||||
.include "atari2600_tia.inc"
|
||||
.include "atari2600_riot.inc"
|
||||
20
asminc/atari2600_riot.inc
Normal file
20
asminc/atari2600_riot.inc
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
; Atari 2600 RIOT read / write registers
|
||||
;
|
||||
; Source: DASM - vcs.h
|
||||
; Details available in: Stella Programmer's Guide by Steve Wright
|
||||
;
|
||||
; Florent Flament (contact@florentflament.com), 2017
|
||||
|
||||
; Read registers
|
||||
SWCHA := $0280
|
||||
SWACNT := $0281
|
||||
SWCHB := $0282
|
||||
SWBCNT := $0283
|
||||
INTIM := $0284
|
||||
TIMINT := $0285
|
||||
|
||||
; Write registers
|
||||
TIM1T := $0294
|
||||
TIM8T := $0295
|
||||
TIM64T := $0296
|
||||
T1024T := $0297
|
||||
69
asminc/atari2600_tia.inc
Normal file
69
asminc/atari2600_tia.inc
Normal file
|
|
@ -0,0 +1,69 @@
|
|||
; Atari 2600 TIA read / write registers
|
||||
;
|
||||
; Source: DASM - vcs.h
|
||||
; Details available in: Stella Programmer's Guide by Steve Wright
|
||||
;
|
||||
; Florent Flament (contact@florentflament.com), 2017
|
||||
|
||||
; Read registers
|
||||
VSYNC := $00
|
||||
VBLANK := $01
|
||||
WSYNC := $02
|
||||
RSYNC := $03
|
||||
NUSIZ0 := $04
|
||||
NUSIZ1 := $05
|
||||
COLUP0 := $06
|
||||
COLUP1 := $07
|
||||
COLUPF := $08
|
||||
COLUBK := $09
|
||||
CTRLPF := $0A
|
||||
REFP0 := $0B
|
||||
REFP1 := $0C
|
||||
PF0 := $0D
|
||||
PF1 := $0E
|
||||
PF2 := $0F
|
||||
RESP0 := $10
|
||||
RESP1 := $11
|
||||
RESM0 := $12
|
||||
RESM1 := $13
|
||||
RESBL := $14
|
||||
AUDC0 := $15
|
||||
AUDC1 := $16
|
||||
AUDF0 := $17
|
||||
AUDF1 := $18
|
||||
AUDV0 := $19
|
||||
AUDV1 := $1A
|
||||
GRP0 := $1B
|
||||
GRP1 := $1C
|
||||
ENAM0 := $1D
|
||||
ENAM1 := $1E
|
||||
ENABL := $1F
|
||||
HMP0 := $20
|
||||
HMP1 := $21
|
||||
HMM0 := $22
|
||||
HMM1 := $23
|
||||
HMBL := $24
|
||||
VDELP0 := $25
|
||||
VDELP1 := $26
|
||||
VDELBL := $27
|
||||
RESMP0 := $28
|
||||
RESMP1 := $29
|
||||
HMOVE := $2A
|
||||
HMCLR := $2B
|
||||
CXCLR := $2C
|
||||
|
||||
; Write registers
|
||||
CXM0P := $00
|
||||
CXM1P := $01
|
||||
CXP0FB := $02
|
||||
CXP1FB := $03
|
||||
CXM0FB := $04
|
||||
CXM1FB := $05
|
||||
CXBLPF := $06
|
||||
CXPPMM := $07
|
||||
INPT0 := $08
|
||||
INPT1 := $09
|
||||
INPT2 := $0A
|
||||
INPT3 := $0B
|
||||
INPT4 := $0C
|
||||
INPT5 := $0D
|
||||
133
asminc/atari5200.inc
Normal file
133
asminc/atari5200.inc
Normal file
|
|
@ -0,0 +1,133 @@
|
|||
;-------------------------------------------------------------------------
|
||||
; Atari 5200 System Equates
|
||||
; by Christian Groessler <chris@groessler.org>
|
||||
; taken from EQUATES.INC from Atari Inc.
|
||||
;-------------------------------------------------------------------------
|
||||
|
||||
;-------------------------------------------------------------------------
|
||||
; ATASCII CHARACTER DEFS
|
||||
;-------------------------------------------------------------------------
|
||||
|
||||
ATEOL = $9B ; END-OF-LINE, used by CONIO
|
||||
|
||||
;-------------------------------------------------------------------------
|
||||
; CONIO CHARACTER DEFS
|
||||
;-------------------------------------------------------------------------
|
||||
|
||||
CH_ULCORNER = $0B ; '+' sign
|
||||
CH_URCORNER = $0B
|
||||
CH_LLCORNER = $0B
|
||||
CH_LRCORNER = $0B
|
||||
CH_HLINE = $0D ; dash
|
||||
CH_VLINE = $01 ; exclamation mark
|
||||
|
||||
;-------------------------------------------------------------------------
|
||||
; Zero Page
|
||||
;-------------------------------------------------------------------------
|
||||
|
||||
POKMSK = $00 ; Mask for Pokey IRQ enable
|
||||
RTCLOK = $01 ; 60 hz. clock
|
||||
JUMP = $01
|
||||
CRITIC = $03 ; Critical section
|
||||
ATRACT = $04 ; Attract Mode
|
||||
|
||||
SDLSTL = $05 ; DLISTL Shadow
|
||||
SDLSTH = $06 ; DLISTH "
|
||||
SDMCTL = $07 ; DMACTL "
|
||||
|
||||
PCOLR0 = $08 ; COLPM0 Shadow
|
||||
PCOLR1 = $09 ; COLPM1 "
|
||||
PCOLR2 = $0A ; COLPM2 "
|
||||
PCOLR3 = $0B ; COLPM3 "
|
||||
|
||||
COLOR0 = $0C ; COLPF0 Shadow
|
||||
COLOR1 = $0D ; COLPF1 "
|
||||
COLOR2 = $0E ; COLPF2 "
|
||||
COLOR3 = $0F ; COLPF3 "
|
||||
COLOR4 = $10 ; COLBK "
|
||||
|
||||
PADDL0 = $11 ; POT0 Shadow
|
||||
PADDL1 = $12 ; POT1 "
|
||||
PADDL2 = $13 ; POT2 "
|
||||
PADDL3 = $14 ; POT3 "
|
||||
PADDL4 = $15 ; POT4 "
|
||||
PADDL5 = $16 ; POT5 "
|
||||
PADDL6 = $17 ; POT6 "
|
||||
PADDL7 = $18 ; POT7 "
|
||||
|
||||
; cc65 runtime zero page variables
|
||||
|
||||
ROWCRS_5200 = $19
|
||||
COLCRS_5200 = $1A
|
||||
SAVMSC = $1B ; pointer to screen memory (conio)
|
||||
|
||||
;-------------------------------------------------------------------------
|
||||
; Page #2
|
||||
;-------------------------------------------------------------------------
|
||||
|
||||
;Interrupt Vectors
|
||||
|
||||
VIMIRQ = $0200 ; Immediate IRQ
|
||||
; Preset $FC03 (SYSIRQ)
|
||||
VVBLKI = $0202 ; Vblank immediate
|
||||
; Preset $FCB8 (SYSVBL)
|
||||
VVBLKD = $0204 ; Vblank deferred
|
||||
; Preset $FCB2 (XITVBL)
|
||||
VDSLST = $0206 ; Display List
|
||||
; Preset $FEA1 (OSDLI)
|
||||
VKYBDI = $0208 ; Keyboard immediate
|
||||
; Preset $FD02 (SYSKBD)
|
||||
VKYBDF = $020A ; Deferred Keyboard
|
||||
; Preset $FCB2 (XITVBL)
|
||||
VTRIGR = $020C ; Soft Trigger
|
||||
VBRKOP = $020E ; BRK Opcode
|
||||
VSERIN = $0210 ; Serial in Ready
|
||||
VSEROR = $0212 ; Serial Out Ready
|
||||
VSEROC = $0214 ; Serial Output complete
|
||||
VTIMR1 = $0216 ; Pokey Timer 1
|
||||
VTIMR2 = $0218 ; Pokey Timer 2
|
||||
VTIMR4 = $021A ; Pokey Timer 4
|
||||
|
||||
|
||||
|
||||
;-------------------------------------------------------------------------
|
||||
; CTIA/GTIA Address Equates
|
||||
;-------------------------------------------------------------------------
|
||||
|
||||
GTIA = $C000 ; CTIA/GTIA area
|
||||
.include "atari_gtia.inc"
|
||||
|
||||
;-------------------------------------------------------------------------
|
||||
; ANTIC Address Equates
|
||||
;-------------------------------------------------------------------------
|
||||
|
||||
ANTIC = $D400 ; ANTIC area
|
||||
.include "atari_antic.inc"
|
||||
|
||||
;-------------------------------------------------------------------------
|
||||
; POKEY Address Equates
|
||||
;-------------------------------------------------------------------------
|
||||
|
||||
POKEY = $E800 ; POKEY area
|
||||
.include "atari_pokey.inc"
|
||||
|
||||
;-------------------------------------------------------------------------
|
||||
; conio color defines
|
||||
;-------------------------------------------------------------------------
|
||||
|
||||
COLOR_WHITE = 0
|
||||
COLOR_RED = 1
|
||||
COLOR_GREEN = 2
|
||||
COLOR_BLACK = 3
|
||||
|
||||
;-------------------------------------------------------------------------
|
||||
; Cartridge Parameters
|
||||
;-------------------------------------------------------------------------
|
||||
|
||||
CARTNM = $BFE8 ; Cartridge Name Area
|
||||
COPYD = $BFFC ; Copyright Decade in Cart
|
||||
COPYR = $BFFD ; Copyright Year in Cart
|
||||
; $FF=Diagnostic Cart
|
||||
GOCART = $BFFE ; Cartridge Start Vector
|
||||
|
||||
CHRORG = $F800 ; Character Generator Base
|
||||
14
asminc/atari7800.inc
Normal file
14
asminc/atari7800.inc
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
; Atari 7800 TIA & RIOT read / write registers
|
||||
;
|
||||
; Karri Kaksonen (karri@sipo.fi), 2022
|
||||
|
||||
; TIA, RIOT & MARIA registers mapping
|
||||
.include "atari7800_tia.inc"
|
||||
.include "atari7800_riot.inc"
|
||||
.include "atari7800_maria.inc"
|
||||
|
||||
; constants for the conio implementation
|
||||
mono_charsperline = 40
|
||||
charsperline = 20
|
||||
screenrows = 28
|
||||
|
||||
39
asminc/atari7800_maria.inc
Normal file
39
asminc/atari7800_maria.inc
Normal file
|
|
@ -0,0 +1,39 @@
|
|||
; Atari 7800 MARIA read / write registers
|
||||
;
|
||||
|
||||
; Read registers
|
||||
BKGRND := $20
|
||||
P0C1 := $21
|
||||
P0C2 := $22
|
||||
P0C3 := $23
|
||||
MWSYNC := $24
|
||||
P1C1 := $25
|
||||
P1C2 := $26
|
||||
P1C3 := $27
|
||||
MSTAT := $28
|
||||
P2C1 := $29
|
||||
P2C2 := $2A
|
||||
P2C3 := $2B
|
||||
DPPH := $2C
|
||||
P3C1 := $2D
|
||||
P3C2 := $2E
|
||||
P3C3 := $2F
|
||||
DPPL := $30
|
||||
P4C1 := $31
|
||||
P4C2 := $32
|
||||
P4C3 := $33
|
||||
CHBASE := $34
|
||||
P5C1 := $35
|
||||
P5C2 := $36
|
||||
P5C3 := $37
|
||||
OFFSET := $38
|
||||
P6C1 := $39
|
||||
P6C2 := $3A
|
||||
P6C3 := $3B
|
||||
CTRL := $3C
|
||||
P7C1 := $3D
|
||||
P7C2 := $3E
|
||||
P7C3 := $3F
|
||||
|
||||
; Write registers
|
||||
|
||||
20
asminc/atari7800_riot.inc
Normal file
20
asminc/atari7800_riot.inc
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
; Atari 7800 RIOT read / write registers
|
||||
;
|
||||
; Source: DASM - vcs.h
|
||||
; Details available in: Stella Programmer's Guide by Steve Wright
|
||||
;
|
||||
; Florent Flament (contact@florentflament.com), 2017
|
||||
|
||||
; Read registers
|
||||
SWCHA := $0280
|
||||
CTLSWA := $0281
|
||||
SWCHB := $0282
|
||||
CTLSWB := $0283
|
||||
INTIM := $0284
|
||||
TIMINT := $0285
|
||||
|
||||
; Write registers
|
||||
TIM1T := $0294
|
||||
TIM8T := $0295
|
||||
TIM64T := $0296
|
||||
T1024T := $0297
|
||||
69
asminc/atari7800_tia.inc
Normal file
69
asminc/atari7800_tia.inc
Normal file
|
|
@ -0,0 +1,69 @@
|
|||
; Atari 7800 TIA read / write registers
|
||||
;
|
||||
; Source: DASM - vcs.h
|
||||
; Details available in: Stella Programmer's Guide by Steve Wright
|
||||
;
|
||||
; Florent Flament (contact@florentflament.com), 2017
|
||||
|
||||
; Read registers
|
||||
VSYNC := $00
|
||||
VBLANK := $01
|
||||
WSYNC := $02
|
||||
RSYNC := $03
|
||||
NUSIZ0 := $04
|
||||
NUSIZ1 := $05
|
||||
COLUP0 := $06
|
||||
COLUP1 := $07
|
||||
COLUPF := $08
|
||||
COLUBK := $09
|
||||
CTRLPF := $0A
|
||||
REFP0 := $0B
|
||||
REFP1 := $0C
|
||||
PF0 := $0D
|
||||
PF1 := $0E
|
||||
PF2 := $0F
|
||||
RESP0 := $10
|
||||
RESP1 := $11
|
||||
RESM0 := $12
|
||||
RESM1 := $13
|
||||
RESBL := $14
|
||||
AUDC0 := $15
|
||||
AUDC1 := $16
|
||||
AUDF0 := $17
|
||||
AUDF1 := $18
|
||||
AUDV0 := $19
|
||||
AUDV1 := $1A
|
||||
GRP0 := $1B
|
||||
GRP1 := $1C
|
||||
ENAM0 := $1D
|
||||
ENAM1 := $1E
|
||||
ENABL := $1F
|
||||
HMP0 := $20
|
||||
HMP1 := $21
|
||||
HMM0 := $22
|
||||
HMM1 := $23
|
||||
HMBL := $24
|
||||
VDELP0 := $25
|
||||
VDELP1 := $26
|
||||
VDELBL := $27
|
||||
RESMP0 := $28
|
||||
RESMP1 := $29
|
||||
HMOVE := $2A
|
||||
HMCLR := $2B
|
||||
CXCLR := $2C
|
||||
|
||||
; Write registers
|
||||
CXM0P := $00
|
||||
CXM1P := $01
|
||||
CXP0FB := $02
|
||||
CXP1FB := $03
|
||||
CXM0FB := $04
|
||||
CXM1FB := $05
|
||||
CXBLPF := $06
|
||||
CXPPMM := $07
|
||||
INPT0 := $08
|
||||
INPT1 := $09
|
||||
INPT2 := $0A
|
||||
INPT3 := $0B
|
||||
INPT4 := $0C
|
||||
INPT5 := $0D
|
||||
95
asminc/atari_antic.inc
Normal file
95
asminc/atari_antic.inc
Normal file
|
|
@ -0,0 +1,95 @@
|
|||
;-------------------------------------------------------------------------
|
||||
; ANTIC Address Equates
|
||||
;-------------------------------------------------------------------------
|
||||
|
||||
; Read Addresses
|
||||
|
||||
VCOUNT = ANTIC + $0B ;vertical line counter
|
||||
PENH = ANTIC + $0C ;light pen horizontal position
|
||||
PENV = ANTIC + $0D ;light pen vertical position
|
||||
NMIST = ANTIC + $0F ;NMI interrupt status
|
||||
|
||||
; Write Addresses
|
||||
|
||||
DMACTL = ANTIC + $00 ;DMA control
|
||||
CHACTL = ANTIC + $01 ;character control
|
||||
DLISTL = ANTIC + $02 ;low display list address
|
||||
DLISTH = ANTIC + $03 ;high display list address
|
||||
HSCROL = ANTIC + $04 ;horizontal scroll
|
||||
VSCROL = ANTIC + $05 ;vertical scroll
|
||||
PMBASE = ANTIC + $07 ;player-missile base address
|
||||
CHBASE = ANTIC + $09 ;character base address
|
||||
WSYNC = ANTIC + $0A ;wait for HBLANK synchronization
|
||||
NMIEN = ANTIC + $0E ;NMI enable
|
||||
NMIRES = ANTIC + $0F ;NMI interrupt reset
|
||||
|
||||
|
||||
;-------------------------------------------------------------------------
|
||||
; Antic opcodes
|
||||
;-------------------------------------------------------------------------
|
||||
|
||||
; usage example:
|
||||
;
|
||||
; ScreenDL:
|
||||
; .byte DL_BLK8
|
||||
; .byte DL_BLK8
|
||||
; .byte DL_CHR40x8x1 | DL_LMS | DL_DLI
|
||||
; .word ScreenAlignment
|
||||
; .byte DL_BLK1 | DL_DLI
|
||||
; .byte DL_MAP320x1x1 | DL_LMS
|
||||
; .word Screen
|
||||
;
|
||||
; .repeat 99
|
||||
; .byte DL_MAP320x1x1
|
||||
; .endrepeat
|
||||
; .byte DL_MAP320x1x1 | DL_LMS
|
||||
; .word Screen + 40 * 100 ; 100 lines a 40 byte, 'Screen' has to be aligned correctly!
|
||||
; .repeat 92
|
||||
; .byte DL_MAP320x1x1
|
||||
; .endrepeat
|
||||
;
|
||||
; .byte DL_JVB
|
||||
|
||||
; absolute instructions (non mode lines)
|
||||
|
||||
DL_JMP = 1
|
||||
DL_JVB = 65
|
||||
|
||||
; DL_BLKn display n empty lines (just background)
|
||||
|
||||
DL_BLK1 = 0
|
||||
DL_BLK2 = 16
|
||||
DL_BLK3 = 32
|
||||
DL_BLK4 = 48
|
||||
DL_BLK5 = 64
|
||||
DL_BLK6 = 80
|
||||
DL_BLK7 = 96
|
||||
DL_BLK8 = 112
|
||||
|
||||
; absolute instructions (mode lines)
|
||||
|
||||
DL_CHR40x8x1 = 2 ; monochrome, 40 character & 8 scanlines per mode line (GR. 0)
|
||||
DL_CHR40x10x1 = 3 ; monochrome, 40 character & 10 scanlines per mode line
|
||||
DL_CHR40x8x4 = 4 ; colour, 40 character & 8 scanlines per mode line (GR. 12)
|
||||
DL_CHR40x16x4 = 5 ; colour, 40 character & 16 scanlines per mode line (GR. 13)
|
||||
DL_CHR20x8x2 = 6 ; colour (duochrome per character), 20 character & 8 scanlines per mode line (GR. 1)
|
||||
DL_CHR20x16x2 = 7 ; colour (duochrome per character), 20 character & 16 scanlines per mode line (GR. 2)
|
||||
|
||||
DL_MAP40x8x4 = 8 ; colour, 40 pixel & 8 scanlines per mode line (GR. 3)
|
||||
DL_MAP80x4x2 = 9 ; 'duochrome', 80 pixel & 4 scanlines per mode line (GR.4)
|
||||
DL_MAP80x4x4 = 10 ; colour, 80 pixel & 4 scanlines per mode line (GR.5)
|
||||
DL_MAP160x2x2 = 11 ; 'duochrome', 160 pixel & 2 scanlines per mode line (GR.6)
|
||||
DL_MAP160x1x2 = 12 ; 'duochrome', 160 pixel & 1 scanline per mode line (GR.14)
|
||||
DL_MAP160x2x4 = 13 ; 4 colours, 160 pixel & 2 scanlines per mode line (GR.7)
|
||||
DL_MAP160x1x4 = 14 ; 4 colours, 160 pixel & 1 scanline per mode line (GR.15)
|
||||
DL_MAP320x1x1 = 15 ; monochrome, 320 pixel & 1 scanline per mode line (GR.8)
|
||||
|
||||
; modifiers on mode lines...
|
||||
|
||||
DL_HSCROL = 16
|
||||
DL_VSCROL = 32
|
||||
DL_LMS = 64
|
||||
|
||||
; general modifier...
|
||||
|
||||
DL_DLI = 128
|
||||
301
asminc/atari_atascii_charmap.inc
Normal file
301
asminc/atari_atascii_charmap.inc
Normal file
|
|
@ -0,0 +1,301 @@
|
|||
;/*****************************************************************************/
|
||||
;/* */
|
||||
;/* atari_atascii_charmap.inc */
|
||||
;/* */
|
||||
;/* Atari system standard string mapping ISO-8859-1 -> AtASCII */
|
||||
;/* */
|
||||
;/* */
|
||||
;/* */
|
||||
;/* C 2016 Christian Krueger */
|
||||
;/* */
|
||||
;/* */
|
||||
;/* This software is provided 'as-is', without any expressed or implied */
|
||||
;/* warranty. In no event will the authors be held liable for any damages */
|
||||
;/* arising from the use of this software. */
|
||||
;/* */
|
||||
;/* Permission is granted to anyone to use this software for any purpose, */
|
||||
;/* including commercial applications, and to alter it and redistribute it */
|
||||
;/* freely, subject to the following restrictions: */
|
||||
;/* */
|
||||
;/* 1. The origin of this software must not be misrepresented; you must not */
|
||||
;/* claim that you wrote the original software. If you use this software */
|
||||
;/* in a product, an acknowledgment in the product documentation would be */
|
||||
;/* appreciated but is not required. */
|
||||
;/* 2. Altered source versions must be plainly marked as such, and must not */
|
||||
;/* be misrepresented as being the original software. */
|
||||
;/* 3. This notice may not be removed or altered from any source */
|
||||
;/* distribution. */
|
||||
;/* */
|
||||
;/*****************************************************************************/
|
||||
|
||||
.charmap $00, $00
|
||||
.charmap $01, $01
|
||||
.charmap $02, $02
|
||||
.charmap $03, $03
|
||||
.charmap $04, $04
|
||||
.charmap $05, $05
|
||||
.charmap $06, $06
|
||||
.charmap $07, $FD
|
||||
.charmap $08, $08
|
||||
.charmap $09, $7F
|
||||
.charmap $0A, $9B
|
||||
.charmap $0B, $0B
|
||||
.charmap $0C, $7D
|
||||
.charmap $0D, $0D
|
||||
.charmap $0E, $0E
|
||||
.charmap $0F, $0F
|
||||
|
||||
.charmap $10, $10
|
||||
.charmap $11, $11
|
||||
.charmap $12, $12
|
||||
.charmap $13, $13
|
||||
.charmap $14, $14
|
||||
.charmap $15, $15
|
||||
.charmap $16, $16
|
||||
.charmap $17, $17
|
||||
.charmap $18, $18
|
||||
.charmap $19, $19
|
||||
.charmap $1A, $1A
|
||||
.charmap $1B, $1B
|
||||
.charmap $1C, $1C
|
||||
.charmap $1D, $1D
|
||||
.charmap $1E, $1E
|
||||
.charmap $1F, $1F
|
||||
|
||||
.charmap $20, $20
|
||||
.charmap $21, $21
|
||||
.charmap $22, $22
|
||||
.charmap $23, $23
|
||||
.charmap $24, $24
|
||||
.charmap $25, $25
|
||||
.charmap $26, $26
|
||||
.charmap $27, $27
|
||||
.charmap $28, $28
|
||||
.charmap $29, $29
|
||||
.charmap $2A, $2A
|
||||
.charmap $2B, $2B
|
||||
.charmap $2C, $2C
|
||||
.charmap $2D, $2D
|
||||
.charmap $2E, $2E
|
||||
.charmap $2F, $2F
|
||||
|
||||
.charmap $30, $30
|
||||
.charmap $31, $31
|
||||
.charmap $32, $32
|
||||
.charmap $33, $33
|
||||
.charmap $34, $34
|
||||
.charmap $35, $35
|
||||
.charmap $36, $36
|
||||
.charmap $37, $37
|
||||
.charmap $38, $38
|
||||
.charmap $39, $39
|
||||
.charmap $3A, $3A
|
||||
.charmap $3B, $3B
|
||||
.charmap $3C, $3C
|
||||
.charmap $3D, $3D
|
||||
.charmap $3E, $3E
|
||||
.charmap $3F, $3F
|
||||
|
||||
.charmap $40, $40
|
||||
.charmap $41, $41
|
||||
.charmap $42, $42
|
||||
.charmap $43, $43
|
||||
.charmap $44, $44
|
||||
.charmap $45, $45
|
||||
.charmap $46, $46
|
||||
.charmap $47, $47
|
||||
.charmap $48, $48
|
||||
.charmap $49, $49
|
||||
.charmap $4A, $4A
|
||||
.charmap $4B, $4B
|
||||
.charmap $4C, $4C
|
||||
.charmap $4D, $4D
|
||||
.charmap $4E, $4E
|
||||
.charmap $4F, $4F
|
||||
|
||||
.charmap $50, $50
|
||||
.charmap $51, $51
|
||||
.charmap $52, $52
|
||||
.charmap $53, $53
|
||||
.charmap $54, $54
|
||||
.charmap $55, $55
|
||||
.charmap $56, $56
|
||||
.charmap $57, $57
|
||||
.charmap $58, $58
|
||||
.charmap $59, $59
|
||||
.charmap $5A, $5A
|
||||
.charmap $5B, $5B
|
||||
.charmap $5C, $5C
|
||||
.charmap $5D, $5D
|
||||
.charmap $5E, $5E
|
||||
.charmap $5F, $5F
|
||||
|
||||
.charmap $60, $60
|
||||
.charmap $61, $61
|
||||
.charmap $62, $62
|
||||
.charmap $63, $63
|
||||
.charmap $64, $64
|
||||
.charmap $65, $65
|
||||
.charmap $66, $66
|
||||
.charmap $67, $67
|
||||
.charmap $68, $68
|
||||
.charmap $69, $69
|
||||
.charmap $6A, $6A
|
||||
.charmap $6B, $6B
|
||||
.charmap $6C, $6C
|
||||
.charmap $6D, $6D
|
||||
.charmap $6E, $6E
|
||||
.charmap $6F, $6F
|
||||
|
||||
.charmap $70, $70
|
||||
.charmap $71, $71
|
||||
.charmap $72, $72
|
||||
.charmap $73, $73
|
||||
.charmap $74, $74
|
||||
.charmap $75, $75
|
||||
.charmap $76, $76
|
||||
.charmap $77, $77
|
||||
.charmap $78, $78
|
||||
.charmap $79, $79
|
||||
.charmap $7A, $7A
|
||||
.charmap $7B, $7B
|
||||
.charmap $7C, $7C
|
||||
.charmap $7D, $7D
|
||||
.charmap $7E, $7E
|
||||
.charmap $7F, $7F
|
||||
|
||||
.charmap $80, $80
|
||||
.charmap $81, $81
|
||||
.charmap $82, $82
|
||||
.charmap $83, $83
|
||||
.charmap $84, $84
|
||||
.charmap $85, $85
|
||||
.charmap $86, $86
|
||||
.charmap $87, $87
|
||||
.charmap $88, $88
|
||||
.charmap $89, $89
|
||||
.charmap $8A, $8A
|
||||
.charmap $8B, $8B
|
||||
.charmap $8C, $8C
|
||||
.charmap $8D, $8D
|
||||
.charmap $8E, $8E
|
||||
.charmap $8F, $8F
|
||||
|
||||
.charmap $90, $90
|
||||
.charmap $91, $91
|
||||
.charmap $92, $92
|
||||
.charmap $93, $93
|
||||
.charmap $94, $94
|
||||
.charmap $95, $95
|
||||
.charmap $96, $96
|
||||
.charmap $97, $97
|
||||
.charmap $98, $98
|
||||
.charmap $99, $99
|
||||
.charmap $9A, $9A
|
||||
.charmap $9B, $9B
|
||||
.charmap $9C, $9C
|
||||
.charmap $9D, $9D
|
||||
.charmap $9E, $9E
|
||||
.charmap $9F, $9F
|
||||
|
||||
.charmap $A0, $A0
|
||||
.charmap $A1, $A1
|
||||
.charmap $A2, $A2
|
||||
.charmap $A3, $A3
|
||||
.charmap $A4, $A4
|
||||
.charmap $A5, $A5
|
||||
.charmap $A6, $A6
|
||||
.charmap $A7, $A7
|
||||
.charmap $A8, $A8
|
||||
.charmap $A9, $A9
|
||||
.charmap $AA, $AA
|
||||
.charmap $AB, $AB
|
||||
.charmap $AC, $AC
|
||||
.charmap $AD, $AD
|
||||
.charmap $AE, $AE
|
||||
.charmap $AF, $AF
|
||||
|
||||
.charmap $B0, $B0
|
||||
.charmap $B1, $B1
|
||||
.charmap $B2, $B2
|
||||
.charmap $B3, $B3
|
||||
.charmap $B4, $B4
|
||||
.charmap $B5, $B5
|
||||
.charmap $B6, $B6
|
||||
.charmap $B7, $B7
|
||||
.charmap $B8, $B8
|
||||
.charmap $B9, $B9
|
||||
.charmap $BA, $BA
|
||||
.charmap $BB, $BB
|
||||
.charmap $BC, $BC
|
||||
.charmap $BD, $BD
|
||||
.charmap $BE, $BE
|
||||
.charmap $BF, $BF
|
||||
|
||||
.charmap $C0, $C0
|
||||
.charmap $C1, $C1
|
||||
.charmap $C2, $C2
|
||||
.charmap $C3, $C3
|
||||
.charmap $C4, $C4
|
||||
.charmap $C5, $C5
|
||||
.charmap $C6, $C6
|
||||
.charmap $C7, $C7
|
||||
.charmap $C8, $C8
|
||||
.charmap $C9, $C9
|
||||
.charmap $CA, $CA
|
||||
.charmap $CB, $CB
|
||||
.charmap $CC, $CC
|
||||
.charmap $CD, $CD
|
||||
.charmap $CE, $CE
|
||||
.charmap $CF, $CF
|
||||
|
||||
.charmap $D0, $D0
|
||||
.charmap $D1, $D1
|
||||
.charmap $D2, $D2
|
||||
.charmap $D3, $D3
|
||||
.charmap $D4, $D4
|
||||
.charmap $D5, $D5
|
||||
.charmap $D6, $D6
|
||||
.charmap $D7, $D7
|
||||
.charmap $D8, $D8
|
||||
.charmap $D9, $D9
|
||||
.charmap $DA, $DA
|
||||
.charmap $DB, $DB
|
||||
.charmap $DC, $DC
|
||||
.charmap $DD, $DD
|
||||
.charmap $DE, $DE
|
||||
.charmap $DF, $DF
|
||||
|
||||
.charmap $E0, $E0
|
||||
.charmap $E1, $E1
|
||||
.charmap $E2, $E2
|
||||
.charmap $E3, $E3
|
||||
.charmap $E4, $E4
|
||||
.charmap $E5, $E5
|
||||
.charmap $E6, $E6
|
||||
.charmap $E7, $E7
|
||||
.charmap $E8, $E8
|
||||
.charmap $E9, $E9
|
||||
.charmap $EA, $EA
|
||||
.charmap $EB, $EB
|
||||
.charmap $EC, $EC
|
||||
.charmap $ED, $ED
|
||||
.charmap $EE, $EE
|
||||
.charmap $EF, $EF
|
||||
|
||||
.charmap $F0, $F0
|
||||
.charmap $F1, $F1
|
||||
.charmap $F2, $F2
|
||||
.charmap $F3, $F3
|
||||
.charmap $F4, $F4
|
||||
.charmap $F5, $F5
|
||||
.charmap $F6, $F6
|
||||
.charmap $F7, $F7
|
||||
.charmap $F8, $F8
|
||||
.charmap $F9, $F9
|
||||
.charmap $FA, $FA
|
||||
.charmap $FB, $FB
|
||||
.charmap $FC, $FC
|
||||
.charmap $FD, $FD
|
||||
.charmap $FE, $FE
|
||||
.charmap $FF, $FF
|
||||
119
asminc/atari_gtia.inc
Normal file
119
asminc/atari_gtia.inc
Normal file
|
|
@ -0,0 +1,119 @@
|
|||
;-------------------------------------------------------------------------
|
||||
; CTIA/GTIA Address Equates
|
||||
;-------------------------------------------------------------------------
|
||||
|
||||
; Read/Write Addresses
|
||||
|
||||
CONSOL = GTIA + $1F ;console switches and speaker control
|
||||
|
||||
; Read Addresses
|
||||
|
||||
M0PF = GTIA + $00 ;missile 0 and playfield collision
|
||||
M1PF = GTIA + $01 ;missile 1 and playfield collision
|
||||
M2PF = GTIA + $02 ;missile 2 and playfield collision
|
||||
M3PF = GTIA + $03 ;missile 3 and playfield collision
|
||||
|
||||
P0PF = GTIA + $04 ;player 0 and playfield collision
|
||||
P1PF = GTIA + $05 ;player 1 and playfield collision
|
||||
P2PF = GTIA + $06 ;player 2 and playfield collision
|
||||
P3PF = GTIA + $07 ;player 3 and playfield collision
|
||||
|
||||
M0PL = GTIA + $08 ;missile 0 and player collision
|
||||
M1PL = GTIA + $09 ;missile 1 and player collision
|
||||
M2PL = GTIA + $0A ;missile 2 and player collision
|
||||
M3PL = GTIA + $0B ;missile 3 and player collision
|
||||
|
||||
P0PL = GTIA + $0C ;player 0 and player collision
|
||||
P1PL = GTIA + $0D ;player 1 and player collision
|
||||
P2PL = GTIA + $0E ;player 2 and player collision
|
||||
P3PL = GTIA + $0F ;player 3 and player collision
|
||||
|
||||
TRIG0 = GTIA + $10 ;joystick trigger 0
|
||||
TRIG1 = GTIA + $11 ;joystick trigger 1
|
||||
|
||||
TRIG2 = GTIA + $12 ;cartridge interlock
|
||||
TRIG3 = GTIA + $13 ;ACMI module interlock
|
||||
|
||||
PAL = GTIA + $14 ;##rev2## PAL/NTSC indicator
|
||||
|
||||
; Write Addresses
|
||||
|
||||
HPOSP0 = GTIA + $00 ;player 0 horizontal position
|
||||
HPOSP1 = GTIA + $01 ;player 1 horizontal position
|
||||
HPOSP2 = GTIA + $02 ;player 2 horizontal position
|
||||
HPOSP3 = GTIA + $03 ;player 3 horizontal position
|
||||
|
||||
HPOSM0 = GTIA + $04 ;missile 0 horizontal position
|
||||
HPOSM1 = GTIA + $05 ;missile 1 horizontal position
|
||||
HPOSM2 = GTIA + $06 ;missile 2 horizontal position
|
||||
HPOSM3 = GTIA + $07 ;missile 3 horizontal position
|
||||
|
||||
SIZEP0 = GTIA + $08 ;player 0 size
|
||||
SIZEP1 = GTIA + $09 ;player 1 size
|
||||
SIZEP2 = GTIA + $0A ;player 2 size
|
||||
SIZEP3 = GTIA + $0B ;player 3 size
|
||||
|
||||
SIZEM = GTIA + $0C ;missile sizes
|
||||
|
||||
GRAFP0 = GTIA + $0D ;player 0 graphics
|
||||
GRAFP1 = GTIA + $0E ;player 1 graphics
|
||||
GRAFP2 = GTIA + $0F ;player 2 graphics
|
||||
GRAFP3 = GTIA + $10 ;player 3 graphics
|
||||
|
||||
GRAFM = GTIA + $11 ;missile graphics
|
||||
|
||||
COLPM0 = GTIA + $12 ;player-missile 0 color/luminance
|
||||
COLPM1 = GTIA + $13 ;player-missile 1 color/luminance
|
||||
COLPM2 = GTIA + $14 ;player-missile 2 color/luminance
|
||||
COLPM3 = GTIA + $15 ;player-missile 3 color/luminance
|
||||
|
||||
COLPF0 = GTIA + $16 ;playfield 0 color/luminance
|
||||
COLPF1 = GTIA + $17 ;playfield 1 color/luminance
|
||||
COLPF2 = GTIA + $18 ;playfield 2 color/luminance
|
||||
COLPF3 = GTIA + $19 ;playfield 3 color/luminance
|
||||
|
||||
COLBK = GTIA + $1A ;background color/luminance
|
||||
|
||||
PRIOR = GTIA + $1B ;priority select
|
||||
VDELAY = GTIA + $1C ;vertical delay
|
||||
GRACTL = GTIA + $1D ;graphic control
|
||||
HITCLR = GTIA + $1E ;collision clear
|
||||
|
||||
|
||||
; Hue values
|
||||
|
||||
HUE_GREY = 0
|
||||
HUE_GOLD = 1
|
||||
HUE_GOLDORANGE = 2
|
||||
HUE_REDORANGE = 3
|
||||
HUE_ORANGE = 4
|
||||
HUE_MAGENTA = 5
|
||||
HUE_PURPLE = 6
|
||||
HUE_BLUE = 7
|
||||
HUE_BLUE2 = 8
|
||||
HUE_CYAN = 9
|
||||
HUE_BLUEGREEN = 10
|
||||
HUE_BLUEGREEN2 = 11
|
||||
HUE_GREEN = 12
|
||||
HUE_YELLOWGREEN = 13
|
||||
HUE_YELLOW = 14
|
||||
HUE_YELLOWRED = 15
|
||||
|
||||
; Color defines, similar to c64 colors (untested)
|
||||
|
||||
GTIA_COLOR_BLACK = (HUE_GREY << 4)
|
||||
GTIA_COLOR_WHITE = (HUE_GREY << 4 | 7 << 1)
|
||||
GTIA_COLOR_RED = (HUE_REDORANGE << 4 | 1 << 1)
|
||||
GTIA_COLOR_CYAN = (HUE_CYAN << 4 | 3 << 1)
|
||||
GTIA_COLOR_VIOLET = (HUE_PURPLE << 4 | 4 << 1)
|
||||
GTIA_COLOR_GREEN = (HUE_GREEN << 4 | 2 << 1)
|
||||
GTIA_COLOR_BLUE = (HUE_BLUE << 4 | 2 << 1)
|
||||
GTIA_COLOR_YELLOW = (HUE_YELLOW << 4 | 7 << 1)
|
||||
GTIA_COLOR_ORANGE = (HUE_ORANGE << 4 | 5 << 1)
|
||||
GTIA_COLOR_BROWN = (HUE_YELLOW << 4 | 2 << 1)
|
||||
GTIA_COLOR_LIGHTRED = (HUE_REDORANGE << 4 | 6 << 1)
|
||||
GTIA_COLOR_GRAY1 = (HUE_GREY << 4 | 2 << 1)
|
||||
GTIA_COLOR_GRAY2 = (HUE_GREY << 4 | 3 << 1)
|
||||
GTIA_COLOR_LIGHTGREEN = (HUE_GREEN << 4 | 6 << 1)
|
||||
GTIA_COLOR_LIGHTBLUE = (HUE_BLUE << 4 | 6 << 1)
|
||||
GTIA_COLOR_GRAY3 = (HUE_GREY << 4 | 5 << 1)
|
||||
43
asminc/atari_pokey.inc
Normal file
43
asminc/atari_pokey.inc
Normal file
|
|
@ -0,0 +1,43 @@
|
|||
;-------------------------------------------------------------------------
|
||||
; POKEY Address Equates
|
||||
;-------------------------------------------------------------------------
|
||||
|
||||
; Read Addresses
|
||||
|
||||
POT0 = POKEY + $00 ;potentiometer 0
|
||||
POT1 = POKEY + $01 ;potentiometer 1
|
||||
POT2 = POKEY + $02 ;potentiometer 2
|
||||
POT3 = POKEY + $03 ;potentiometer 3
|
||||
POT4 = POKEY + $04 ;potentiometer 4
|
||||
POT5 = POKEY + $05 ;potentiometer 5
|
||||
POT6 = POKEY + $06 ;potentiometer 6
|
||||
POT7 = POKEY + $07 ;potentiometer 7
|
||||
|
||||
ALLPOT = POKEY + $08 ;potentiometer port status
|
||||
KBCODE = POKEY + $09 ;keyboard code
|
||||
RANDOM = POKEY + $0A ;random number generator
|
||||
SERIN = POKEY + $0D ;serial port input
|
||||
IRQST = POKEY + $0E ;IRQ interrupt status
|
||||
SKSTAT = POKEY + $0F ;serial port and keyboard status
|
||||
|
||||
; Write Addresses
|
||||
|
||||
AUDF1 = POKEY + $00 ;channel 1 audio frequency
|
||||
AUDC1 = POKEY + $01 ;channel 1 audio control
|
||||
|
||||
AUDF2 = POKEY + $02 ;channel 2 audio frequency
|
||||
AUDC2 = POKEY + $03 ;channel 2 audio control
|
||||
|
||||
AUDF3 = POKEY + $04 ;channel 3 audio frequency
|
||||
AUDC3 = POKEY + $05 ;channel 3 audio control
|
||||
|
||||
AUDF4 = POKEY + $06 ;channel 4 audio frequency
|
||||
AUDC4 = POKEY + $07 ;channel 4 audio control
|
||||
|
||||
AUDCTL = POKEY + $08 ;audio control
|
||||
STIMER = POKEY + $09 ;start timers
|
||||
SKRES = POKEY + $0A ;reset SKSTAT status
|
||||
POTGO = POKEY + $0B ;start potentiometer scan sequence
|
||||
SEROUT = POKEY + $0D ;serial port output
|
||||
IRQEN = POKEY + $0E ;IRQ interrupt enable
|
||||
SKCTL = POKEY + $0F ;serial port and keyboard control
|
||||
303
asminc/atari_screen_charmap.inc
Normal file
303
asminc/atari_screen_charmap.inc
Normal file
|
|
@ -0,0 +1,303 @@
|
|||
;/*****************************************************************************/
|
||||
;/* */
|
||||
;/* atari_screen_charmap.inc */
|
||||
;/* */
|
||||
;/* Atari system internal string mapping ISO-8859-1 -> Internal/Screen-Code */
|
||||
;/* */
|
||||
;/* */
|
||||
;/* */
|
||||
;/* C 2016 Christian Krueger */
|
||||
;/* */
|
||||
;/* */
|
||||
;/* This software is provided 'as-is', without any expressed or implied */
|
||||
;/* warranty. In no event will the authors be held liable for any damages */
|
||||
;/* arising from the use of this software. */
|
||||
;/* */
|
||||
;/* Permission is granted to anyone to use this software for any purpose, */
|
||||
;/* including commercial applications, and to alter it and redistribute it */
|
||||
;/* freely, subject to the following restrictions: */
|
||||
;/* */
|
||||
;/* 1. The origin of this software must not be misrepresented; you must not */
|
||||
;/* claim that you wrote the original software. If you use this software */
|
||||
;/* in a product, an acknowledgment in the product documentation would be */
|
||||
;/* appreciated but is not required. */
|
||||
;/* 2. Altered source versions must be plainly marked as such, and must not */
|
||||
;/* be misrepresented as being the original software. */
|
||||
;/* 3. This notice may not be removed or altered from any source */
|
||||
;/* distribution. */
|
||||
;/* */
|
||||
;/*****************************************************************************/
|
||||
|
||||
.charmap $00, $40
|
||||
.charmap $01, $41
|
||||
.charmap $02, $42
|
||||
.charmap $03, $43
|
||||
.charmap $04, $44
|
||||
.charmap $05, $45
|
||||
.charmap $06, $46
|
||||
.charmap $07, $FD
|
||||
.charmap $08, $48
|
||||
.charmap $09, $7F
|
||||
.charmap $0A, $DB
|
||||
.charmap $0B, $4B
|
||||
.charmap $0C, $7D
|
||||
.charmap $0D, $4D
|
||||
.charmap $0E, $4E
|
||||
.charmap $0F, $4F
|
||||
|
||||
.charmap $10, $50
|
||||
.charmap $11, $51
|
||||
.charmap $12, $52
|
||||
.charmap $13, $53
|
||||
.charmap $14, $54
|
||||
.charmap $15, $55
|
||||
.charmap $16, $56
|
||||
.charmap $17, $57
|
||||
.charmap $18, $58
|
||||
.charmap $19, $59
|
||||
.charmap $1A, $5A
|
||||
.charmap $1B, $5B
|
||||
.charmap $1C, $5C
|
||||
.charmap $1D, $5D
|
||||
.charmap $1E, $5E
|
||||
.charmap $1F, $5F
|
||||
|
||||
.charmap $20, $00
|
||||
|
||||
.charmap $21, $01
|
||||
.charmap $22, $02
|
||||
.charmap $23, $03
|
||||
.charmap $24, $04
|
||||
.charmap $25, $05
|
||||
.charmap $26, $06
|
||||
.charmap $27, $07
|
||||
.charmap $28, $08
|
||||
.charmap $29, $09
|
||||
.charmap $2A, $0A
|
||||
.charmap $2B, $0B
|
||||
.charmap $2C, $0C
|
||||
.charmap $2D, $0D
|
||||
.charmap $2E, $0E
|
||||
.charmap $2F, $0F
|
||||
|
||||
.charmap $30, $10
|
||||
.charmap $31, $11
|
||||
.charmap $32, $12
|
||||
.charmap $33, $13
|
||||
.charmap $34, $14
|
||||
.charmap $35, $15
|
||||
.charmap $36, $16
|
||||
.charmap $37, $17
|
||||
.charmap $38, $18
|
||||
.charmap $39, $19
|
||||
.charmap $3A, $1A
|
||||
.charmap $3B, $1B
|
||||
.charmap $3C, $1C
|
||||
.charmap $3D, $1D
|
||||
.charmap $3E, $1E
|
||||
.charmap $3F, $1F
|
||||
|
||||
.charmap $40, $20
|
||||
.charmap $41, $21
|
||||
.charmap $42, $22
|
||||
.charmap $43, $23
|
||||
.charmap $44, $24
|
||||
.charmap $45, $25
|
||||
.charmap $46, $26
|
||||
.charmap $47, $27
|
||||
.charmap $48, $28
|
||||
.charmap $49, $29
|
||||
.charmap $4A, $2A
|
||||
.charmap $4B, $2B
|
||||
.charmap $4C, $2C
|
||||
.charmap $4D, $2D
|
||||
.charmap $4E, $2E
|
||||
.charmap $4F, $2F
|
||||
|
||||
.charmap $50, $30
|
||||
.charmap $51, $31
|
||||
.charmap $52, $32
|
||||
.charmap $53, $33
|
||||
.charmap $54, $34
|
||||
.charmap $55, $35
|
||||
.charmap $56, $36
|
||||
.charmap $57, $37
|
||||
.charmap $58, $38
|
||||
.charmap $59, $39
|
||||
.charmap $5A, $3A
|
||||
.charmap $5B, $3B
|
||||
.charmap $5C, $3C
|
||||
.charmap $5D, $3D
|
||||
.charmap $5E, $3E
|
||||
.charmap $5F, $3F
|
||||
|
||||
.charmap $60, $60
|
||||
.charmap $61, $61
|
||||
.charmap $62, $62
|
||||
.charmap $63, $63
|
||||
.charmap $64, $64
|
||||
.charmap $65, $65
|
||||
.charmap $66, $66
|
||||
.charmap $67, $67
|
||||
.charmap $68, $68
|
||||
.charmap $69, $69
|
||||
.charmap $6A, $6A
|
||||
.charmap $6B, $6B
|
||||
.charmap $6C, $6C
|
||||
.charmap $6D, $6D
|
||||
.charmap $6E, $6E
|
||||
.charmap $6F, $6F
|
||||
|
||||
.charmap $70, $70
|
||||
.charmap $71, $71
|
||||
.charmap $72, $72
|
||||
.charmap $73, $73
|
||||
.charmap $74, $74
|
||||
.charmap $75, $75
|
||||
.charmap $76, $76
|
||||
.charmap $77, $77
|
||||
.charmap $78, $78
|
||||
.charmap $79, $79
|
||||
.charmap $7A, $7A
|
||||
.charmap $7B, $7B
|
||||
.charmap $7C, $7C
|
||||
.charmap $7D, $7D
|
||||
.charmap $7E, $7E
|
||||
.charmap $7F, $7F
|
||||
|
||||
.charmap $80, $C0
|
||||
.charmap $81, $C1
|
||||
.charmap $82, $C2
|
||||
.charmap $83, $C3
|
||||
.charmap $84, $C4
|
||||
.charmap $85, $C5
|
||||
.charmap $86, $C6
|
||||
.charmap $87, $C7
|
||||
.charmap $88, $C8
|
||||
.charmap $89, $C9
|
||||
.charmap $8A, $CA
|
||||
.charmap $8B, $CB
|
||||
.charmap $8C, $CC
|
||||
.charmap $8D, $CD
|
||||
.charmap $8E, $CE
|
||||
.charmap $8F, $CF
|
||||
|
||||
.charmap $90, $D0
|
||||
.charmap $91, $D1
|
||||
.charmap $92, $D2
|
||||
.charmap $93, $D3
|
||||
.charmap $94, $D4
|
||||
.charmap $95, $D5
|
||||
.charmap $96, $D6
|
||||
.charmap $97, $D7
|
||||
.charmap $98, $D8
|
||||
.charmap $99, $D9
|
||||
.charmap $9A, $DA
|
||||
.charmap $9B, $DB
|
||||
.charmap $9C, $DC
|
||||
.charmap $9D, $DD
|
||||
.charmap $9E, $DE
|
||||
.charmap $9F, $DF
|
||||
|
||||
.charmap $A0, $80
|
||||
.charmap $A1, $81
|
||||
.charmap $A2, $82
|
||||
.charmap $A3, $83
|
||||
.charmap $A4, $84
|
||||
.charmap $A5, $85
|
||||
.charmap $A6, $86
|
||||
.charmap $A7, $87
|
||||
.charmap $A8, $88
|
||||
.charmap $A9, $89
|
||||
.charmap $AA, $8A
|
||||
.charmap $AB, $8B
|
||||
.charmap $AC, $8C
|
||||
.charmap $AD, $8D
|
||||
.charmap $AE, $8E
|
||||
.charmap $AF, $8F
|
||||
|
||||
.charmap $B0, $90
|
||||
.charmap $B1, $91
|
||||
.charmap $B2, $92
|
||||
.charmap $B3, $93
|
||||
.charmap $B4, $94
|
||||
.charmap $B5, $95
|
||||
.charmap $B6, $96
|
||||
.charmap $B7, $97
|
||||
.charmap $B8, $98
|
||||
.charmap $B9, $99
|
||||
.charmap $BA, $9A
|
||||
.charmap $BB, $9B
|
||||
.charmap $BC, $9C
|
||||
.charmap $BD, $9D
|
||||
.charmap $BE, $9E
|
||||
.charmap $BF, $9F
|
||||
|
||||
.charmap $C0, $A0
|
||||
.charmap $C1, $A1
|
||||
.charmap $C2, $A2
|
||||
.charmap $C3, $A3
|
||||
.charmap $C4, $A4
|
||||
.charmap $C5, $A5
|
||||
.charmap $C6, $A6
|
||||
.charmap $C7, $A7
|
||||
.charmap $C8, $A8
|
||||
.charmap $C9, $A9
|
||||
.charmap $CA, $AA
|
||||
.charmap $CB, $AB
|
||||
.charmap $CC, $AC
|
||||
.charmap $CD, $AD
|
||||
.charmap $CE, $AE
|
||||
.charmap $CF, $AF
|
||||
|
||||
.charmap $D0, $B0
|
||||
.charmap $D1, $B1
|
||||
.charmap $D2, $B2
|
||||
.charmap $D3, $B3
|
||||
.charmap $D4, $B4
|
||||
.charmap $D5, $B5
|
||||
.charmap $D6, $B6
|
||||
.charmap $D7, $B7
|
||||
.charmap $D8, $B8
|
||||
.charmap $D9, $B9
|
||||
.charmap $DA, $BA
|
||||
.charmap $DB, $BB
|
||||
.charmap $DC, $BC
|
||||
.charmap $DD, $BD
|
||||
.charmap $DE, $BE
|
||||
.charmap $DF, $BF
|
||||
|
||||
.charmap $E0, $E0
|
||||
.charmap $E1, $E1
|
||||
.charmap $E2, $E2
|
||||
.charmap $E3, $E3
|
||||
.charmap $E4, $E4
|
||||
.charmap $E5, $E5
|
||||
.charmap $E6, $E6
|
||||
.charmap $E7, $E7
|
||||
.charmap $E8, $E8
|
||||
.charmap $E9, $E9
|
||||
.charmap $EA, $EA
|
||||
.charmap $EB, $EB
|
||||
.charmap $EC, $EC
|
||||
.charmap $ED, $ED
|
||||
.charmap $EE, $EE
|
||||
.charmap $EF, $EF
|
||||
|
||||
.charmap $F0, $F0
|
||||
.charmap $F1, $F1
|
||||
.charmap $F2, $F2
|
||||
.charmap $F3, $F3
|
||||
.charmap $F4, $F4
|
||||
.charmap $F5, $F5
|
||||
.charmap $F6, $F6
|
||||
.charmap $F7, $F7
|
||||
.charmap $F8, $F8
|
||||
.charmap $F9, $F9
|
||||
.charmap $FA, $FA
|
||||
.charmap $FB, $FB
|
||||
.charmap $FC, $FC
|
||||
.charmap $FD, $FD
|
||||
.charmap $FE, $FE
|
||||
.charmap $FF, $FF
|
||||
|
||||
117
asminc/atmos.inc
Normal file
117
asminc/atmos.inc
Normal file
|
|
@ -0,0 +1,117 @@
|
|||
;
|
||||
; Oric Atmos definitions
|
||||
; BASIC 1.1 addresses
|
||||
;
|
||||
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
; Constants
|
||||
|
||||
SCREEN_XSIZE = 40 ; screen columns
|
||||
SCREEN_YSIZE = 28 ; screen rows
|
||||
|
||||
FUNCTKEY = $A5
|
||||
|
||||
FNAME_LEN = 16 ; maximum length of file-name
|
||||
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
; Zero page
|
||||
|
||||
SCRPTR := $12
|
||||
BASIC_BUF := $35
|
||||
CHARGOT := $E8
|
||||
TXTPTR := $E9
|
||||
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
; Low memory
|
||||
|
||||
MODEKEY := $0209
|
||||
CAPSLOCK := $020C ; $7F = not locked, $FF = locked
|
||||
PATTERN := $0213
|
||||
IRQVec := $0245 ; "fast" interrupt vector
|
||||
JOINFLAG := $025A ; 0 = don't joiu, $4A = join BASIC programs
|
||||
VERIFYFLAG := $025B ; 0 = load, 1 = verify
|
||||
CURS_Y := $0268
|
||||
CURS_X := $0269
|
||||
STATUS := $026A
|
||||
BACKGRND := $026B
|
||||
FOREGRND := $026C
|
||||
TIMER3 := $0276
|
||||
CFILE_NAME := $027F
|
||||
CFOUND_NAME := $0293
|
||||
FILESTART := $02A9
|
||||
FILEEND := $02AB
|
||||
AUTORUN := $02AD ; $00 = only load, $C7 = autorun
|
||||
LANGFLAG := $02AE ; $00 = BASIC, $80 = machine code
|
||||
LOADERR := $02B1
|
||||
KEYBUF := $02DF
|
||||
PARMERR := $02E0
|
||||
PARAM1 := $02E1 ; & $02E2
|
||||
PARAM2 := $02E3 ; & $02E4
|
||||
PARAM3 := $02E5 ; & $02E6
|
||||
BANGVEC := $02F5
|
||||
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
; I/O locations
|
||||
|
||||
; 6522
|
||||
.struct VIA ; Versatile Interface Adapter
|
||||
.res $0300
|
||||
PRB .byte ; Port Register B
|
||||
PRA .byte ; Port Register A
|
||||
DDRB .byte ; Data Direction Register B
|
||||
DDRA .byte ; Data Direction Register A
|
||||
T1 .word ; Timer 1
|
||||
T1L .word ; Timer 1 Latch
|
||||
T2 .word ; Timer 2
|
||||
SR .byte ; Shift Register
|
||||
ACR .byte ; Auxiliary Control Register
|
||||
PCR .byte ; Peripheral Control Register
|
||||
IFR .byte ; Interrupt Flags Register
|
||||
IER .byte ; Interrupt Enable Register
|
||||
PRA2 .byte ; Port Register A without handshaking
|
||||
.endstruct
|
||||
|
||||
; 6551
|
||||
.struct ACIA ; Asynchronous Communications Interface Adapter
|
||||
.res $031C
|
||||
DATA .byte
|
||||
STATUS .byte
|
||||
CMD .byte ; Command register
|
||||
CTRL .byte ; Control register
|
||||
.endstruct
|
||||
|
||||
SCREEN := $BB80
|
||||
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
; ROM entries
|
||||
|
||||
GETLINE := $C592
|
||||
TEXT := $EC21
|
||||
HIRES := $EC33
|
||||
CURSET := $F0C8
|
||||
CURMOV := $F0FD
|
||||
DRAW := $F110
|
||||
CHAR := $F12D
|
||||
POINT := $F1C8
|
||||
PAPER := $F204
|
||||
INK := $F210
|
||||
PRINT := $F77C
|
||||
|
||||
; Sound Effects
|
||||
PING := $FA9F
|
||||
PING1 := $FA85
|
||||
SHOOT := $FAB5
|
||||
SHOOT1 := $FA9B
|
||||
EXPLODE := $FACB
|
||||
EXPLODE1 := $FAB1
|
||||
ZAP := $FAE1
|
||||
ZAP1 := $FAC7
|
||||
TICK := $FB14
|
||||
TICK1 := $FAFA
|
||||
TOCK := $FB2A
|
||||
TOCK1 := $FB10
|
||||
224
asminc/c128.inc
Normal file
224
asminc/c128.inc
Normal file
|
|
@ -0,0 +1,224 @@
|
|||
;
|
||||
; C128 generic definitions. Stolen from Elite128
|
||||
;
|
||||
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
; Zero page, Commodore stuff
|
||||
|
||||
TXTPTR := $3D ; Pointer into BASIC source code
|
||||
STATUS := $90 ; Kernal I/O completion status
|
||||
TIME := $A0 ; 60HZ clock
|
||||
FNAM_LEN := $B7 ; Length of filename
|
||||
SECADR := $B9 ; Secondary address
|
||||
DEVNUM := $BA ; Device number
|
||||
FNAM := $BB ; Address of filename
|
||||
FNAM_BANK := $C7 ; Bank for filename
|
||||
KEY_COUNT := $D0 ; Number of keys in input buffer
|
||||
FKEY_COUNT := $D1 ; Characters for function key
|
||||
MODE := $D7 ; 40-/80-column mode (bit 7: 80 columns)
|
||||
GRAPHM := $D8 ; Graphics mode flags (bits 5-7)
|
||||
CHARDIS := $D9 ; Bit 2 shadow for location $01
|
||||
CURS_X := $EC ; Cursor column
|
||||
CURS_Y := $EB ; Cursor row
|
||||
SCREEN_PTR := $E0 ; Pointer to current char in text screen
|
||||
CRAM_PTR := $E2 ; Pointer to current char in color RAM
|
||||
|
||||
CHARCOLOR := $F1
|
||||
RVS := $F3 ; Reverse output flag
|
||||
SCROLL := $F8 ; Disable scrolling flag
|
||||
|
||||
BASIC_BUF := $0200 ; Location of command-line
|
||||
BASIC_BUF_LEN = 162 ; Maximum length of command-line
|
||||
|
||||
FETCH := $02A2 ; Fetch subroutine in RAM
|
||||
FETVEC := $02AA ; Vector patch location for FETCH
|
||||
STASH := $02AF ; Stash routine in RAM
|
||||
STAVEC := $02B9 ; Vector patch location for STASH
|
||||
IRQInd := $02FD ; JMP $0000 -- used as indirect IRQ vector
|
||||
PALFLAG := $0A03 ; $FF=PAL, $00=NTSC
|
||||
INIT_STATUS := $0A04 ; Flags: Reset/Restore initiation status
|
||||
VM2 := $0A2D ; VIC-IIe shadow for $D018 -- graphics mode
|
||||
FKEY_LEN := $1000 ; Function key lengths
|
||||
FKEY_TEXT := $100A ; Function key texts
|
||||
|
||||
KBDREPEAT := $028a
|
||||
KBDREPEATRATE := $028b
|
||||
KBDREPEATDELAY := $028c
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
; Vectors
|
||||
|
||||
IRQVec := $0314
|
||||
BRKVec := $0316
|
||||
NMIVec := $0318
|
||||
KeyStoreVec := $033C
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
; I/O: VIC
|
||||
|
||||
VIC := $D000
|
||||
VIC_SPR0_X := $D000
|
||||
VIC_SPR0_Y := $D001
|
||||
VIC_SPR1_X := $D002
|
||||
VIC_SPR1_Y := $D003
|
||||
VIC_SPR2_X := $D004
|
||||
VIC_SPR2_Y := $D005
|
||||
VIC_SPR3_X := $D006
|
||||
VIC_SPR3_Y := $D007
|
||||
VIC_SPR4_X := $D008
|
||||
VIC_SPR4_Y := $D009
|
||||
VIC_SPR5_X := $D00A
|
||||
VIC_SPR5_Y := $D00B
|
||||
VIC_SPR6_X := $D00C
|
||||
VIC_SPR6_Y := $D00D
|
||||
VIC_SPR7_X := $D00E
|
||||
VIC_SPR7_Y := $D00F
|
||||
VIC_SPR_HI_X := $D010
|
||||
VIC_SPR_ENA := $D015
|
||||
VIC_SPR_EXP_Y := $D017
|
||||
VIC_SPR_EXP_X := $D01D
|
||||
VIC_SPR_MCOLOR := $D01C
|
||||
VIC_SPR_BG_PRIO := $D01B
|
||||
|
||||
VIC_SPR_MCOLOR0 := $D025
|
||||
VIC_SPR_MCOLOR1 := $D026
|
||||
|
||||
VIC_SPR0_COLOR := $D027
|
||||
VIC_SPR1_COLOR := $D028
|
||||
VIC_SPR2_COLOR := $D029
|
||||
VIC_SPR3_COLOR := $D02A
|
||||
VIC_SPR4_COLOR := $D02B
|
||||
VIC_SPR5_COLOR := $D02C
|
||||
VIC_SPR6_COLOR := $D02D
|
||||
VIC_SPR7_COLOR := $D02E
|
||||
|
||||
VIC_CTRL1 := $D011
|
||||
VIC_CTRL2 := $D016
|
||||
|
||||
VIC_HLINE := $D012
|
||||
|
||||
VIC_LPEN_X := $D013
|
||||
VIC_LPEN_Y := $D014
|
||||
|
||||
VIC_VIDEO_ADR := $D018
|
||||
|
||||
VIC_IRR := $D019 ; Interrupt request register
|
||||
VIC_IMR := $D01A ; Interrupt mask register
|
||||
|
||||
VIC_BORDERCOLOR := $D020
|
||||
VIC_BG_COLOR0 := $D021
|
||||
VIC_BG_COLOR1 := $D022
|
||||
VIC_BG_COLOR2 := $D023
|
||||
VIC_BG_COLOR3 := $D024
|
||||
|
||||
; 128 stuff:
|
||||
VIC_KBD_128 := $D02F ; Extended kbd bits (visible in 64 mode)
|
||||
VIC_CLK_128 := $D030 ; Clock rate register (visible in 64 mode)
|
||||
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
; I/O: SID
|
||||
|
||||
SID := $D400
|
||||
SID_S1Lo := $D400
|
||||
SID_S1Hi := $D401
|
||||
SID_PB1Lo := $D402
|
||||
SID_PB1Hi := $D403
|
||||
SID_Ctl1 := $D404
|
||||
SID_AD1 := $D405
|
||||
SID_SUR1 := $D406
|
||||
|
||||
SID_S2Lo := $D407
|
||||
SID_S2Hi := $D408
|
||||
SID_PB2Lo := $D409
|
||||
SID_PB2Hi := $D40A
|
||||
SID_Ctl2 := $D40B
|
||||
SID_AD2 := $D40C
|
||||
SID_SUR2 := $D40D
|
||||
|
||||
SID_S3Lo := $D40E
|
||||
SID_S3Hi := $D40F
|
||||
SID_PB3Lo := $D410
|
||||
SID_PB3Hi := $D411
|
||||
SID_Ctl3 := $D412
|
||||
SID_AD3 := $D413
|
||||
SID_SUR3 := $D414
|
||||
|
||||
SID_FltLo := $D415
|
||||
SID_FltHi := $D416
|
||||
SID_FltCtl := $D417
|
||||
SID_Amp := $D418
|
||||
SID_ADConv1 := $D419
|
||||
SID_ADConv2 := $D41A
|
||||
SID_Noise := $D41B
|
||||
SID_Read3 := $D41C
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
; I/O: VDC (128 only)
|
||||
|
||||
VDC_INDEX := $D600 ; register address port
|
||||
VDC_DATA := $D601 ; data port
|
||||
|
||||
; Registers
|
||||
VDC_DATA_HI = 18 ; video RAM address (big endian)
|
||||
VDC_DATA_LO = 19
|
||||
VDC_CSET = 28
|
||||
VDC_RAM_RW = 31 ; RAM port
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
; I/O: Complex Interface Adapters
|
||||
|
||||
CIA1 := $DC00
|
||||
CIA1_PRA := $DC00 ; Port A
|
||||
CIA1_PRB := $DC01 ; Port B
|
||||
CIA1_DDRA := $DC02 ; Data direction register for port A
|
||||
CIA1_DDRB := $DC03 ; Data direction register for port B
|
||||
CIA1_TA := $DC04 ; 16-bit timer A
|
||||
CIA1_TB := $DC06 ; 16-bit timer B
|
||||
CIA1_TOD10 := $DC08 ; Time-of-day tenths of a second
|
||||
CIA1_TODSEC := $DC09 ; Time-of-day seconds
|
||||
CIA1_TODMIN := $DC0A ; Time-of-day minutes
|
||||
CIA1_TODHR := $DC0B ; Time-of-day hours
|
||||
CIA1_SDR := $DC0C ; Serial data register
|
||||
CIA1_ICR := $DC0D ; Interrupt control register
|
||||
CIA1_CRA := $DC0E ; Control register for timer A
|
||||
CIA1_CRB := $DC0F ; Control register for timer B
|
||||
|
||||
CIA2 := $DD00
|
||||
CIA2_PRA := $DD00
|
||||
CIA2_PRB := $DD01
|
||||
CIA2_DDRA := $DD02
|
||||
CIA2_DDRB := $DD03
|
||||
CIA2_TA := $DD04
|
||||
CIA2_TB := $DD06
|
||||
CIA2_TOD10 := $DD08
|
||||
CIA2_TODSEC := $DD09
|
||||
CIA2_TODMIN := $DD0A
|
||||
CIA2_TODHR := $DD0B
|
||||
CIA2_SDR := $DD0C
|
||||
CIA2_ICR := $DD0D
|
||||
CIA2_CRA := $DD0E
|
||||
CIA2_CRB := $DD0F
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
; I/O: MMU
|
||||
|
||||
MMU_CR := $FF00
|
||||
MMU_CFG_CC65 := %00001110 ; Bank 0 with kernal ROM
|
||||
MMU_CFG_RAM0 := %00111111 ; Bank 0 full RAM
|
||||
MMU_CFG_RAM1 := %01111111 ; Bank 1 full RAM
|
||||
MMU_CFG_RAM2 := %10111111 ; Bank 2 full RAM
|
||||
MMU_CFG_RAM3 := %11111111 ; Bank 3 full RAM
|
||||
MMU_CFG_IFROM := %01010111 ; Bank 1 with Internal Function RAM/ROM
|
||||
MMU_CFG_EFROM := %01101011 ; Bank 1 with External Function RAM/ROM
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
; Super CPU
|
||||
|
||||
SCPU_VIC_Bank1 := $D075
|
||||
SCPU_Slow := $D07A
|
||||
SCPU_Fast := $D07B
|
||||
SCPU_EnableRegs := $D07E
|
||||
SCPU_DisableRegs:= $D07F
|
||||
SCPU_Detect := $D0BC
|
||||
9
asminc/c16.inc
Normal file
9
asminc/c16.inc
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
;
|
||||
; C16 generic definitions.
|
||||
;
|
||||
; The C16 and Plus/4 are identical, so just include the Plus/4 include file.
|
||||
|
||||
|
||||
.include "plus4.inc"
|
||||
|
||||
|
||||
219
asminc/c64.inc
Normal file
219
asminc/c64.inc
Normal file
|
|
@ -0,0 +1,219 @@
|
|||
;
|
||||
; C64 generic definitions. Stolen from Elite128
|
||||
;
|
||||
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
; Zero page, Commodore stuff
|
||||
|
||||
VARTAB := $2D ; Pointer to start of BASIC variables
|
||||
MEMSIZE := $37 ; Pointer to highest BASIC RAM location (+1)
|
||||
TXTPTR := $7A ; Pointer into BASIC source code
|
||||
STATUS := $90 ; Kernal I/O completion status
|
||||
TIME := $A0 ; 60 HZ clock
|
||||
FNAM_LEN := $B7 ; Length of filename
|
||||
SECADR := $B9 ; Secondary address
|
||||
DEVNUM := $BA ; Device number
|
||||
FNAM := $BB ; Pointer to filename
|
||||
KEY_COUNT := $C6 ; Number of keys in input buffer
|
||||
RVS := $C7 ; Reverse flag
|
||||
CURS_FLAG := $CC ; 1 = cursor off
|
||||
CURS_BLINK := $CD ; Blink counter
|
||||
CURS_CHAR := $CE ; Character under the cursor
|
||||
CURS_STATE := $CF ; Cursor blink state
|
||||
SCREEN_PTR := $D1 ; Pointer to current char in text screen
|
||||
CURS_X := $D3 ; Cursor column
|
||||
CURS_Y := $D6 ; Cursor row
|
||||
CRAM_PTR := $F3 ; Pointer to current char in color RAM
|
||||
FREKZP := $FB ; Five unused bytes
|
||||
|
||||
BASIC_BUF := $200 ; Location of command-line
|
||||
BASIC_BUF_LEN = 89 ; Maximum length of command-line
|
||||
|
||||
CHARCOLOR := $286
|
||||
CURS_COLOR := $287 ; Color under the cursor
|
||||
PALFLAG := $2A6 ; $01 = PAL, $00 = NTSC
|
||||
|
||||
KBDREPEAT := $28a
|
||||
KBDREPEATRATE := $28b
|
||||
KBDREPEATDELAY := $28c
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
; Vector and other locations
|
||||
|
||||
IRQVec := $0314
|
||||
BRKVec := $0316
|
||||
NMIVec := $0318
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
; Screen size
|
||||
|
||||
XSIZE = 40
|
||||
YSIZE = 25
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
; I/O: VIC
|
||||
|
||||
VIC := $D000
|
||||
VIC_SPR0_X := $D000
|
||||
VIC_SPR0_Y := $D001
|
||||
VIC_SPR1_X := $D002
|
||||
VIC_SPR1_Y := $D003
|
||||
VIC_SPR2_X := $D004
|
||||
VIC_SPR2_Y := $D005
|
||||
VIC_SPR3_X := $D006
|
||||
VIC_SPR3_Y := $D007
|
||||
VIC_SPR4_X := $D008
|
||||
VIC_SPR4_Y := $D009
|
||||
VIC_SPR5_X := $D00A
|
||||
VIC_SPR5_Y := $D00B
|
||||
VIC_SPR6_X := $D00C
|
||||
VIC_SPR6_Y := $D00D
|
||||
VIC_SPR7_X := $D00E
|
||||
VIC_SPR7_Y := $D00F
|
||||
VIC_SPR_HI_X := $D010
|
||||
VIC_SPR_ENA := $D015
|
||||
VIC_SPR_EXP_Y := $D017
|
||||
VIC_SPR_EXP_X := $D01D
|
||||
VIC_SPR_MCOLOR := $D01C
|
||||
VIC_SPR_BG_PRIO := $D01B
|
||||
VIC_SPR_COLL := $D01E
|
||||
VIC_SPR_BG_COLL := $D01F
|
||||
|
||||
VIC_SPR_MCOLOR0 := $D025
|
||||
VIC_SPR_MCOLOR1 := $D026
|
||||
|
||||
VIC_SPR0_COLOR := $D027
|
||||
VIC_SPR1_COLOR := $D028
|
||||
VIC_SPR2_COLOR := $D029
|
||||
VIC_SPR3_COLOR := $D02A
|
||||
VIC_SPR4_COLOR := $D02B
|
||||
VIC_SPR5_COLOR := $D02C
|
||||
VIC_SPR6_COLOR := $D02D
|
||||
VIC_SPR7_COLOR := $D02E
|
||||
|
||||
VIC_CTRL1 := $D011
|
||||
VIC_CTRL2 := $D016
|
||||
|
||||
VIC_HLINE := $D012
|
||||
|
||||
VIC_LPEN_X := $D013
|
||||
VIC_LPEN_Y := $D014
|
||||
|
||||
VIC_VIDEO_ADR := $D018
|
||||
|
||||
VIC_IRR := $D019 ; Interrupt request register
|
||||
VIC_IMR := $D01A ; Interrupt mask register
|
||||
|
||||
VIC_BORDERCOLOR := $D020
|
||||
VIC_BG_COLOR0 := $D021
|
||||
VIC_BG_COLOR1 := $D022
|
||||
VIC_BG_COLOR2 := $D023
|
||||
VIC_BG_COLOR3 := $D024
|
||||
|
||||
; 128 stuff:
|
||||
VIC_KBD_128 := $D02F ; Extended kbd bits (visible in 64 mode)
|
||||
VIC_CLK_128 := $D030 ; Clock rate register (visible in 64 mode)
|
||||
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
; I/O: SID
|
||||
|
||||
SID := $D400
|
||||
SID_S1Lo := $D400
|
||||
SID_S1Hi := $D401
|
||||
SID_PB1Lo := $D402
|
||||
SID_PB1Hi := $D403
|
||||
SID_Ctl1 := $D404
|
||||
SID_AD1 := $D405
|
||||
SID_SUR1 := $D406
|
||||
|
||||
SID_S2Lo := $D407
|
||||
SID_S2Hi := $D408
|
||||
SID_PB2Lo := $D409
|
||||
SID_PB2Hi := $D40A
|
||||
SID_Ctl2 := $D40B
|
||||
SID_AD2 := $D40C
|
||||
SID_SUR2 := $D40D
|
||||
|
||||
SID_S3Lo := $D40E
|
||||
SID_S3Hi := $D40F
|
||||
SID_PB3Lo := $D410
|
||||
SID_PB3Hi := $D411
|
||||
SID_Ctl3 := $D412
|
||||
SID_AD3 := $D413
|
||||
SID_SUR3 := $D414
|
||||
|
||||
SID_FltLo := $D415
|
||||
SID_FltHi := $D416
|
||||
SID_FltCtl := $D417
|
||||
SID_Amp := $D418
|
||||
SID_ADConv1 := $D419
|
||||
SID_ADConv2 := $D41A
|
||||
SID_Noise := $D41B
|
||||
SID_Read3 := $D41C
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
; I/O: VDC (128 only)
|
||||
|
||||
VDC_INDEX := $D600
|
||||
VDC_DATA := $D601
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
; I/O: Complex Interface Adapters
|
||||
|
||||
CIA1 := $DC00
|
||||
CIA1_PRA := $DC00 ; Port A
|
||||
CIA1_PRB := $DC01 ; Port B
|
||||
CIA1_DDRA := $DC02 ; Data direction register for port A
|
||||
CIA1_DDRB := $DC03 ; Data direction register for port B
|
||||
CIA1_TA := $DC04 ; 16-bit timer A
|
||||
CIA1_TB := $DC06 ; 16-bit timer B
|
||||
CIA1_TOD10 := $DC08 ; Time-of-day tenths of a second
|
||||
CIA1_TODSEC := $DC09 ; Time-of-day seconds
|
||||
CIA1_TODMIN := $DC0A ; Time-of-day minutes
|
||||
CIA1_TODHR := $DC0B ; Time-of-day hours
|
||||
CIA1_SDR := $DC0C ; Serial data register
|
||||
CIA1_ICR := $DC0D ; Interrupt control register
|
||||
CIA1_CRA := $DC0E ; Control register for timer A
|
||||
CIA1_CRB := $DC0F ; Control register for timer B
|
||||
|
||||
CIA2 := $DD00
|
||||
CIA2_PRA := $DD00
|
||||
CIA2_PRB := $DD01
|
||||
CIA2_DDRA := $DD02
|
||||
CIA2_DDRB := $DD03
|
||||
CIA2_TA := $DD04
|
||||
CIA2_TB := $DD06
|
||||
CIA2_TOD10 := $DD08
|
||||
CIA2_TODSEC := $DD09
|
||||
CIA2_TODMIN := $DD0A
|
||||
CIA2_TODHR := $DD0B
|
||||
CIA2_SDR := $DD0C
|
||||
CIA2_ICR := $DD0D
|
||||
CIA2_CRA := $DD0E
|
||||
CIA2_CRB := $DD0F
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
; Super CPU
|
||||
|
||||
SCPU_VIC_Bank1 := $D075
|
||||
SCPU_Slow := $D07A
|
||||
SCPU_Fast := $D07B
|
||||
SCPU_EnableRegs := $D07E
|
||||
SCPU_DisableRegs:= $D07F
|
||||
SCPU_Detect := $D0BC
|
||||
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
; Processor Port at $01
|
||||
|
||||
LORAM = $01 ; Enable the basic rom
|
||||
HIRAM = $02 ; Enable the kernal rom
|
||||
IOEN = $04 ; Enable I/O
|
||||
CASSDATA = $08 ; Cassette data
|
||||
CASSPLAY = $10 ; Cassette: Play
|
||||
CASSMOT = $20 ; Cassette motor on
|
||||
TP_FAST = $80 ; Switch Rossmoeller TurboProcess to fast mode
|
||||
|
||||
RAMONLY = $F8 ; (~(LORAM | HIRAM | IOEN)) & $FF
|
||||
239
asminc/c65.inc
Normal file
239
asminc/c65.inc
Normal file
|
|
@ -0,0 +1,239 @@
|
|||
|
||||
; ---------------------------------------------------------------------------
|
||||
; Zero page, Commodore stuff
|
||||
|
||||
TXTPTR := $3C ; Pointer into BASIC source code
|
||||
STATUS := $90 ; Kernal I/O completion status
|
||||
FNAM_LEN := $B7 ; Length of filename
|
||||
SECADR := $B9 ; Secondary address
|
||||
DEVNUM := $BA ; Device number
|
||||
FNAM := $BB ; Address of filename
|
||||
FNAM_BANK := $BE ; Bank for filename
|
||||
KEY_COUNT := $D0 ; Number of keys in input buffer
|
||||
FKEY_COUNT := $D1 ; Characters for function key
|
||||
MODE := $D7 ; 40-/80-column mode (bit 7: 80 columns)
|
||||
GRAPHM := $D8 ; Graphics mode flags (bits 5-7)
|
||||
CHARDIS := $D9 ; Bit 2 shadow for location $01
|
||||
CURS_X := $EC ; Cursor column
|
||||
CURS_Y := $EB ; Cursor row
|
||||
SCREEN_PTR := $E0 ; Pointer to current char in text screen
|
||||
CRAM_PTR := $E2 ; Pointer to current char in color RAM
|
||||
CHARCOLOR := $F1
|
||||
RVS := $F3 ; Reverse output flag
|
||||
SCROLL := $F8 ; Disable scrolling flag
|
||||
|
||||
BASIC_BUF := $0200 ; Location of command-line
|
||||
BASIC_BUF_LEN = 161 ; Maximum length of command-line
|
||||
|
||||
FKEY_LEN := $1000 ; Function key lengths
|
||||
FKEY_TEXT := $100A ; Function key texts
|
||||
|
||||
PALFLAG := $1103 ; $FF=PAL, $00=NTSC
|
||||
INIT_STATUS := $1104 ; Flags: Reset/Restore initiation status
|
||||
TIME := $110C ; 60HZ clock
|
||||
|
||||
KBDREPEAT := $111a
|
||||
KBDREPEATRATE := $111b
|
||||
KBDREPEATDELAY := $111c
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
; Vectors
|
||||
|
||||
IRQVec := $0314
|
||||
BRKVec := $0316
|
||||
NMIVec := $0318
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
; I/O: VIC
|
||||
|
||||
VIC := $D000
|
||||
VIC_SPR0_X := $D000
|
||||
VIC_SPR0_Y := $D001
|
||||
VIC_SPR1_X := $D002
|
||||
VIC_SPR1_Y := $D003
|
||||
VIC_SPR2_X := $D004
|
||||
VIC_SPR2_Y := $D005
|
||||
VIC_SPR3_X := $D006
|
||||
VIC_SPR3_Y := $D007
|
||||
VIC_SPR4_X := $D008
|
||||
VIC_SPR4_Y := $D009
|
||||
VIC_SPR5_X := $D00A
|
||||
VIC_SPR5_Y := $D00B
|
||||
VIC_SPR6_X := $D00C
|
||||
VIC_SPR6_Y := $D00D
|
||||
VIC_SPR7_X := $D00E
|
||||
VIC_SPR7_Y := $D00F
|
||||
VIC_SPR_HI_X := $D010
|
||||
VIC_SPR_ENA := $D015
|
||||
VIC_SPR_EXP_Y := $D017
|
||||
VIC_SPR_EXP_X := $D01D
|
||||
VIC_SPR_MCOLOR := $D01C
|
||||
VIC_SPR_BG_PRIO := $D01B
|
||||
VIC_SPR_COLL := $D01E
|
||||
VIC_SPR_BG_COLL := $D01F
|
||||
|
||||
VIC_SPR_MCOLOR0 := $D025
|
||||
VIC_SPR_MCOLOR1 := $D026
|
||||
|
||||
VIC_SPR0_COLOR := $D027
|
||||
VIC_SPR1_COLOR := $D028
|
||||
VIC_SPR2_COLOR := $D029
|
||||
VIC_SPR3_COLOR := $D02A
|
||||
VIC_SPR4_COLOR := $D02B
|
||||
VIC_SPR5_COLOR := $D02C
|
||||
VIC_SPR6_COLOR := $D02D
|
||||
VIC_SPR7_COLOR := $D02E
|
||||
|
||||
VIC_CTRL1 := $D011
|
||||
VIC_CTRL2 := $D016
|
||||
|
||||
VIC_HLINE := $D012
|
||||
|
||||
VIC_LPEN_X := $D013
|
||||
VIC_LPEN_Y := $D014
|
||||
|
||||
VIC_VIDEO_ADR := $D018
|
||||
|
||||
VIC_IRR := $D019 ; Interrupt request register
|
||||
VIC_IMR := $D01A ; Interrupt mask register
|
||||
|
||||
VIC_BORDERCOLOR := $D020
|
||||
VIC_BG_COLOR0 := $D021
|
||||
VIC_BG_COLOR1 := $D022
|
||||
VIC_BG_COLOR2 := $D023
|
||||
VIC_BG_COLOR3 := $D024
|
||||
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
; I/O: FDC
|
||||
|
||||
FDC := $D080
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
; I/O: SID
|
||||
|
||||
SID1 := $D400
|
||||
SID1_S1Lo := $D400
|
||||
SID1_S1Hi := $D401
|
||||
SID1_PB1Lo := $D402
|
||||
SID1_PB1Hi := $D403
|
||||
SID1_Ctl1 := $D404
|
||||
SID1_AD1 := $D405
|
||||
SID1_SUR1 := $D406
|
||||
|
||||
SID1_S2Lo := $D407
|
||||
SID1_S2Hi := $D408
|
||||
SID1_PB2Lo := $D409
|
||||
SID1_PB2Hi := $D40A
|
||||
SID1_Ctl2 := $D40B
|
||||
SID1_AD2 := $D40C
|
||||
SID1_SUR2 := $D40D
|
||||
|
||||
SID1_S3Lo := $D40E
|
||||
SID1_S3Hi := $D40F
|
||||
SID1_PB3Lo := $D410
|
||||
SID1_PB3Hi := $D411
|
||||
SID1_Ctl3 := $D412
|
||||
SID1_AD3 := $D413
|
||||
SID1_SUR3 := $D414
|
||||
|
||||
SID1_FltLo := $D415
|
||||
SID1_FltHi := $D416
|
||||
SID1_FltCtl := $D417
|
||||
SID1_Amp := $D418
|
||||
SID1_ADConv1 := $D419
|
||||
SID1_ADConv2 := $D41A
|
||||
SID1_Noise := $D41B
|
||||
SID1_Read3 := $D41C
|
||||
|
||||
SID2 := $D420
|
||||
SID2_S1Lo := $D420
|
||||
SID2_S1Hi := $D421
|
||||
SID2_PB1Lo := $D422
|
||||
SID2_PB1Hi := $D423
|
||||
SID2_Ctl1 := $D424
|
||||
SID2_AD1 := $D425
|
||||
SID2_SUR1 := $D426
|
||||
|
||||
SID2_S2Lo := $D427
|
||||
SID2_S2Hi := $D428
|
||||
SID2_PB2Lo := $D429
|
||||
SID2_PB2Hi := $D42A
|
||||
SID2_Ctl2 := $D42B
|
||||
SID2_AD2 := $D42C
|
||||
SID2_SUR2 := $D42D
|
||||
|
||||
SID2_S3Lo := $D42E
|
||||
SID2_S3Hi := $D42F
|
||||
SID2_PB3Lo := $D430
|
||||
SID2_PB3Hi := $D431
|
||||
SID2_Ctl3 := $D432
|
||||
SID2_AD3 := $D433
|
||||
SID2_SUR3 := $D434
|
||||
|
||||
SID2_FltLo := $D435
|
||||
SID2_FltHi := $D436
|
||||
SID2_FltCtl := $D437
|
||||
SID2_Amp := $D438
|
||||
SID2_ADConv1 := $D439
|
||||
SID2_ADConv2 := $D43A
|
||||
SID2_Noise := $D43B
|
||||
SID2_Read3 := $D43C
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
; I/O: Complex Interface Adapters
|
||||
|
||||
CIA1 := $DC00
|
||||
CIA1_PRA := $DC00 ; Port A
|
||||
CIA1_PRB := $DC01 ; Port B
|
||||
CIA1_DDRA := $DC02 ; Data direction register for port A
|
||||
CIA1_DDRB := $DC03 ; Data direction register for port B
|
||||
CIA1_TA := $DC04 ; 16-bit timer A
|
||||
CIA1_TB := $DC06 ; 16-bit timer B
|
||||
CIA1_TOD10 := $DC08 ; Time-of-day tenths of a second
|
||||
CIA1_TODSEC := $DC09 ; Time-of-day seconds
|
||||
CIA1_TODMIN := $DC0A ; Time-of-day minutes
|
||||
CIA1_TODHR := $DC0B ; Time-of-day hours
|
||||
CIA1_SDR := $DC0C ; Serial data register
|
||||
CIA1_ICR := $DC0D ; Interrupt control register
|
||||
CIA1_CRA := $DC0E ; Control register for timer A
|
||||
CIA1_CRB := $DC0F ; Control register for timer B
|
||||
|
||||
CIA2 := $DD00
|
||||
CIA2_PRA := $DD00
|
||||
CIA2_PRB := $DD01
|
||||
CIA2_DDRA := $DD02
|
||||
CIA2_DDRB := $DD03
|
||||
CIA2_TA := $DD04
|
||||
CIA2_TB := $DD06
|
||||
CIA2_TOD10 := $DD08
|
||||
CIA2_TODSEC := $DD09
|
||||
CIA2_TODMIN := $DD0A
|
||||
CIA2_TODHR := $DD0B
|
||||
CIA2_SDR := $DD0C
|
||||
CIA2_ICR := $DD0D
|
||||
CIA2_CRA := $DD0E
|
||||
CIA2_CRB := $DD0F
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
; I/O: DMA
|
||||
|
||||
DMA := $D700
|
||||
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
; Processor Port at $01
|
||||
|
||||
LORAM = $01 ; Enable the basic rom
|
||||
HIRAM = $02 ; Enable the kernal rom
|
||||
IOEN = $04 ; Enable I/O
|
||||
CASSDATA = $08 ; Cassette data
|
||||
CASSPLAY = $10 ; Cassette: Play
|
||||
CASSMOT = $20 ; Cassette motor on
|
||||
TP_FAST = $80 ; Switch Rossmoeller TurboProcess to fast mode
|
||||
|
||||
RAMONLY = $F8 ; (~(LORAM | HIRAM | IOEN)) & $FF
|
||||
|
||||
; temporary, to get conio working
|
||||
XSIZE = 80
|
||||
YSIZE = 50
|
||||
56
asminc/cbm.mac
Normal file
56
asminc/cbm.mac
Normal file
|
|
@ -0,0 +1,56 @@
|
|||
; Convert characters to screen codes
|
||||
|
||||
; Macro that converts one character.
|
||||
; scrbyte() can be used as an instruction operand
|
||||
.define scrbyte(code) (<(.strat ("h@dbdlhh", code >> 5) << 4) ^ code)
|
||||
|
||||
; Helper macro that stores one character
|
||||
.macro _scrcode char
|
||||
.if (char < 256)
|
||||
.byte scrbyte {char}
|
||||
.else
|
||||
.error "scrcode: Character constant out of range"
|
||||
.endif
|
||||
.endmacro
|
||||
|
||||
.macro scrcode arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9
|
||||
|
||||
; Bail out if next argument is empty
|
||||
.if .blank ({arg1})
|
||||
.exitmacro
|
||||
.endif
|
||||
|
||||
; Check for a string
|
||||
.if .match ({arg1}, "")
|
||||
|
||||
; Walk over all string chars
|
||||
.repeat .strlen (arg1), i
|
||||
_scrcode {.strat (arg1, i)}
|
||||
.endrepeat
|
||||
|
||||
; Check for a number
|
||||
.elseif .match (.left (1, {arg1}), 0)
|
||||
|
||||
; Just output the number
|
||||
_scrcode arg1
|
||||
|
||||
; Check for a character
|
||||
.elseif .match (.left (1, {arg1}), 'a')
|
||||
|
||||
; Just output the character
|
||||
_scrcode arg1
|
||||
|
||||
; Check for an identifier
|
||||
.elseif .match (.left (1, {arg1}), identifier)
|
||||
|
||||
; Just output the identifier
|
||||
_scrcode arg1
|
||||
|
||||
; Anything else is an error
|
||||
.else
|
||||
.error "scrcode: invalid argument type"
|
||||
.endif
|
||||
|
||||
; Call the macro recursively with the remaining args
|
||||
scrcode arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9
|
||||
.endmacro
|
||||
200
asminc/cbm510.inc
Normal file
200
asminc/cbm510.inc
Normal file
|
|
@ -0,0 +1,200 @@
|
|||
;
|
||||
; Zero page variables and I/O definitions for the CBM 510
|
||||
;
|
||||
; Taken from a kernal disassembly done by myself in 2000/2001.
|
||||
;
|
||||
; 2001-09-13, Ullrich von Bassewitz
|
||||
; 2014-04-02, Greg King
|
||||
|
||||
|
||||
;-----------------------------------------------------------------------------
|
||||
; Zeropage stuff
|
||||
|
||||
ExecReg := $00 ; Controls execution memory bank
|
||||
IndReg := $01 ; Controls indirect indexed load-store bank
|
||||
|
||||
TXTPTR := $85 ; Far pointer into BASIC source code
|
||||
FNAM := $90 ; Far pointer to LOAD/SAVE file-name
|
||||
FNAM_SEG := $92
|
||||
STATUS := $9C ; Kernal I/O completion status
|
||||
FNAM_LEN := $9D ; Holds length of file-name
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
; Screen size
|
||||
|
||||
XSIZE = 40
|
||||
YSIZE = 25
|
||||
|
||||
;-----------------------------------------------------------------------------
|
||||
; I/O Definitions
|
||||
; Note: These numbers aren't addresses. They are offsets from the start of
|
||||
; each chip's register set. They are used in the indirect indexed addressing
|
||||
; mode.
|
||||
|
||||
; I/O $d800: VIC-II
|
||||
|
||||
VIC_SPR0_X = $00
|
||||
VIC_SPR0_Y = $01
|
||||
VIC_SPR1_X = $02
|
||||
VIC_SPR1_Y = $03
|
||||
VIC_SPR2_X = $04
|
||||
VIC_SPR2_Y = $05
|
||||
VIC_SPR3_X = $06
|
||||
VIC_SPR3_Y = $07
|
||||
VIC_SPR4_X = $08
|
||||
VIC_SPR4_Y = $09
|
||||
VIC_SPR5_X = $0A
|
||||
VIC_SPR5_Y = $0B
|
||||
VIC_SPR6_X = $0C
|
||||
VIC_SPR6_Y = $0D
|
||||
VIC_SPR7_X = $0E
|
||||
VIC_SPR7_Y = $0F
|
||||
VIC_SPR_HI_X = $10
|
||||
VIC_SPR_ENA = $15
|
||||
VIC_SPR_EXP_Y = $17
|
||||
VIC_SPR_EXP_X = $1D
|
||||
VIC_SPR_MCOLOR = $1C
|
||||
VIC_SPR_BG_PRIO = $1B
|
||||
|
||||
VIC_SPR_MCOLOR0 = $25
|
||||
VIC_SPR_MCOLOR1 = $26
|
||||
|
||||
VIC_SPR0_COLOR = $27
|
||||
VIC_SPR1_COLOR = $28
|
||||
VIC_SPR2_COLOR = $29
|
||||
VIC_SPR3_COLOR = $2A
|
||||
VIC_SPR4_COLOR = $2B
|
||||
VIC_SPR5_COLOR = $2C
|
||||
VIC_SPR6_COLOR = $2D
|
||||
VIC_SPR7_COLOR = $2E
|
||||
|
||||
VIC_CTRL1 = $11
|
||||
VIC_CTRL2 = $16
|
||||
|
||||
VIC_HLINE = $12
|
||||
|
||||
VIC_LPEN_X = $13
|
||||
VIC_LPEN_Y = $14
|
||||
|
||||
VIC_VIDEO_ADR = $18
|
||||
|
||||
VIC_IRR = $19 ; Interrupt request register
|
||||
VIC_IMR = $1A ; Interrupt mask register
|
||||
|
||||
VIC_BORDERCOLOR = $20
|
||||
VIC_BG_COLOR0 = $21
|
||||
VIC_BG_COLOR1 = $22
|
||||
VIC_BG_COLOR2 = $23
|
||||
VIC_BG_COLOR3 = $24
|
||||
|
||||
|
||||
; I/O $da00: SID 6581
|
||||
|
||||
SID_S1Lo = $00
|
||||
SID_S1Hi = $01
|
||||
SID_PB1Lo = $02
|
||||
SID_PB1Hi = $03
|
||||
SID_Ctl1 = $04
|
||||
SID_AD1 = $05
|
||||
SID_SUR1 = $06
|
||||
|
||||
SID_S2Lo = $07
|
||||
SID_S2Hi = $08
|
||||
SID_PB2Lo = $09
|
||||
SID_PB2Hi = $0A
|
||||
SID_Ctl2 = $0B
|
||||
SID_AD2 = $0C
|
||||
SID_SUR2 = $0D
|
||||
|
||||
SID_S3Lo = $0E
|
||||
SID_S3Hi = $0F
|
||||
SID_PB3Lo = $10
|
||||
SID_PB3Hi = $11
|
||||
SID_Ctl3 = $12
|
||||
SID_AD3 = $13
|
||||
SID_SUR3 = $14
|
||||
|
||||
SID_FltLo = $15
|
||||
SID_FltHi = $16
|
||||
SID_FltCtl = $17
|
||||
SID_Amp = $18
|
||||
SID_ADConv1 = $19
|
||||
SID_ADConv2 = $1A
|
||||
SID_Noise = $1B
|
||||
SID_Read3 = $1C
|
||||
|
||||
|
||||
; I/O $db00: CIA 6526, Inter Process Communication
|
||||
; I/O $dc00: CIA 6526
|
||||
|
||||
.struct CIA
|
||||
PRA .byte
|
||||
PRB .byte
|
||||
DDRA .byte
|
||||
DDRB .byte
|
||||
.union
|
||||
.struct
|
||||
TALO .byte
|
||||
TAHI .byte
|
||||
.endstruct
|
||||
TA .word
|
||||
.endunion
|
||||
.union
|
||||
.struct
|
||||
TBLO .byte
|
||||
TBHI .byte
|
||||
.endstruct
|
||||
TB .word
|
||||
.endunion
|
||||
TOD10 .byte
|
||||
TODSEC .byte
|
||||
TODMIN .byte
|
||||
TODHR .byte
|
||||
SDR .byte
|
||||
ICR .byte
|
||||
CRA .byte
|
||||
CRB .byte
|
||||
.endstruct
|
||||
|
||||
|
||||
; I/O $dd00: ACIA 6551
|
||||
|
||||
.struct ACIA
|
||||
DATA .byte
|
||||
STATUS .byte
|
||||
CMD .byte
|
||||
CTRL .BYTE
|
||||
.endstruct
|
||||
|
||||
|
||||
; I/O $de00: Triport #1 6525
|
||||
; I/O $df00: Triport #2 6525
|
||||
|
||||
.struct TPI
|
||||
PRA .byte
|
||||
PRB .byte
|
||||
.union
|
||||
PRC .byte
|
||||
INT .byte
|
||||
.endunion
|
||||
DDRA .byte
|
||||
DDRB .byte
|
||||
.union
|
||||
DDRC .byte
|
||||
IMR .byte
|
||||
.endunion
|
||||
CR .byte
|
||||
AIR .byte
|
||||
.endstruct
|
||||
|
||||
|
||||
;-----------------------------------------------------------------------------
|
||||
; Our video memory address
|
||||
|
||||
COLOR_RAM := $D400 ; System bank
|
||||
|
||||
|
||||
;-----------------------------------------------------------------------------
|
||||
|
||||
BASIC_BUF := $FB5E ; Bank 0 location of command-line
|
||||
BASIC_BUF_LEN = 162 ; Maximum length of command-line
|
||||
121
asminc/cbm610.inc
Normal file
121
asminc/cbm610.inc
Normal file
|
|
@ -0,0 +1,121 @@
|
|||
;
|
||||
; Zero page variables and I/O definitions for the CBM 610
|
||||
;
|
||||
; Taken from a kernal disassembly done by myself in 1987.
|
||||
;
|
||||
; 1998-09-28, Ullrich von Bassewitz
|
||||
; 2014-04-02, Greg King
|
||||
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
; Zeropage stuff
|
||||
|
||||
ExecReg := $00 ; Controls execution memory bank
|
||||
IndReg := $01 ; Controls indirect indexed load-store bank
|
||||
|
||||
TXTPTR := $85 ; Far pointer into BASIC source code
|
||||
FNAM := $90 ; Far pointer to LOAD/SAVE file-name
|
||||
FNAM_SEG := $92
|
||||
STATUS := $9C ; Kernal I/O completion status
|
||||
FNAM_LEN := $9D ; Holds length of file-name
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
; Screen size
|
||||
|
||||
XSIZE = 80
|
||||
YSIZE = 25
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
; I/O definitions
|
||||
|
||||
|
||||
; I/O $d800: CRTC 6545
|
||||
|
||||
.struct CRTC
|
||||
ADDR .byte
|
||||
DATA .byte
|
||||
.endstruct
|
||||
|
||||
|
||||
; I/O $db00: CIA 6526, Inter Process Communication
|
||||
;
|
||||
; IPCcia = $db00
|
||||
|
||||
.struct CIA
|
||||
PRA .byte
|
||||
PRB .byte
|
||||
DDRA .byte
|
||||
DDRB .byte
|
||||
.union
|
||||
.struct
|
||||
TALO .byte
|
||||
TAHI .byte
|
||||
.endstruct
|
||||
TA .word
|
||||
.endunion
|
||||
.union
|
||||
.struct
|
||||
TBLO .byte
|
||||
TBHI .byte
|
||||
.endstruct
|
||||
TB .word
|
||||
.endunion
|
||||
TOD10 .byte
|
||||
TODSEC .byte
|
||||
TODMIN .byte
|
||||
TODHR .byte
|
||||
SDR .byte
|
||||
ICR .byte
|
||||
CRA .byte
|
||||
CRB .byte
|
||||
.endstruct
|
||||
|
||||
|
||||
; I/O $dc00: CIA 6526
|
||||
;
|
||||
; cia = $dc00
|
||||
|
||||
|
||||
; I/O $dd00: ACIA 6551
|
||||
;
|
||||
; acia = $dd00
|
||||
|
||||
.struct ACIA
|
||||
DATA .byte
|
||||
STATUS .byte
|
||||
CMD .byte
|
||||
CTRL .BYTE
|
||||
.endstruct
|
||||
|
||||
|
||||
; I/O $de00: Triport #1 6525
|
||||
;
|
||||
; tpi1 = $de00
|
||||
|
||||
.struct TPI
|
||||
PRA .byte
|
||||
PRB .byte
|
||||
.union
|
||||
PRC .byte
|
||||
INT .byte
|
||||
.endunion
|
||||
DDRA .byte
|
||||
DDRB .byte
|
||||
.union
|
||||
DDRC .byte
|
||||
IMR .byte
|
||||
.endunion
|
||||
CR .byte
|
||||
AIR .byte
|
||||
.endstruct
|
||||
|
||||
|
||||
; I/O $df00: Triport #2 6525
|
||||
|
||||
; tpi2 = $df00
|
||||
|
||||
|
||||
;-----------------------------------------------------------------------------
|
||||
|
||||
BASIC_BUF := $FA5E ; Bank 1 location of command-line
|
||||
BASIC_BUF_LEN = 162 ; Maximum length of command-line
|
||||
34
asminc/cbm_filetype.inc
Normal file
34
asminc/cbm_filetype.inc
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
;
|
||||
; Definitions for CBM file types. From cbm.h
|
||||
;
|
||||
; Ullrich von Bassewitz, 2012-06-03
|
||||
;
|
||||
|
||||
; Define bitmapped constants for the table entries
|
||||
|
||||
.enum
|
||||
CBM_T_REG = $10 ; Bit set for regular files
|
||||
CBM_T_SEQ = $10 ; Sequential file
|
||||
CBM_T_PRG = $11 ; Program file
|
||||
CBM_T_USR = $12 ; User file
|
||||
CBM_T_REL = $13 ; Relative file
|
||||
CBM_T_VRP = $14 ; Vorpal fast-loadable format
|
||||
CBM_T_DEL = $00 ; Deleted file
|
||||
CBM_T_CBM = $01 ; 1581 sub-partition
|
||||
CBM_T_DIR = $02 ; IDE64 and CMD sub-directory
|
||||
CBM_T_LNK = $03 ; IDE64 soft-link
|
||||
CBM_T_OTHER = $04 ; File-type not recognized
|
||||
CBM_T_HEADER = $05 ; Disk header / title
|
||||
.endenum
|
||||
|
||||
|
||||
; The following function maps the start character for a file type to
|
||||
; one of the file types above. Note: 'd' will always mapped to CBM_T_DEL.
|
||||
; The calling function has to look at the following character to determine
|
||||
; if the file type is actually CBM_T_DIR.
|
||||
;
|
||||
; unsigned char __fastcall__ _cbm_filetype (unsigned char c);
|
||||
|
||||
.global __cbm_filetype
|
||||
|
||||
|
||||
248
asminc/cbm_kernal.inc
Normal file
248
asminc/cbm_kernal.inc
Normal file
|
|
@ -0,0 +1,248 @@
|
|||
;
|
||||
; Olli Savia <ops@iki.fi>
|
||||
; Greg King
|
||||
;
|
||||
; Commodore-compatibles Kernal functions
|
||||
;
|
||||
|
||||
.if .def(__CX16__)
|
||||
; CX16 extended jump table
|
||||
KBDBUF_PEEK := $FEBD
|
||||
KBDBUF_GET_MODIFIERS := $FEC0
|
||||
KBDBUF_PUT := $FEC3
|
||||
I2C_READ_BYTE := $FEC6
|
||||
I2C_WRITE_BYTE := $FEC9
|
||||
CX_MONITOR := $FECC
|
||||
ENTROPY_GET := $FECF
|
||||
CONSOLE_SET_PAGE_MSG := $FED5
|
||||
CONSOLE_PUT_IMAGE := $FED8
|
||||
CONSOLE_INIT := $FEDB
|
||||
CONSOLE_PUT_CHAR := $FEDE
|
||||
CONSOLE_GET_CHAR := $FEE1
|
||||
MEMORY_FILL := $FEE4
|
||||
MEMORY_COPY := $FEE7
|
||||
MEMORY_CRC := $FEEA
|
||||
MEMORY_DECOMPRESS := $FEED
|
||||
SPRITE_SET_IMAGE := $FEF0
|
||||
SPRITE_SET_POSITION := $FEF3
|
||||
FB_INIT := $FEF6
|
||||
FB_GET_INFO := $FEF9
|
||||
FB_SET_PALETTE := $FEFC
|
||||
FB_CURSOR_POSITION := $FEFF
|
||||
FB_CURSOR_NEXT_LINE := $FF02
|
||||
FB_GET_PIXEL := $FF05
|
||||
FB_GET_PIXELS := $FF08
|
||||
FB_SET_PIXEL := $FF0B
|
||||
FB_SET_PIXELS := $FF0E
|
||||
FB_SET_8_PIXELS := $FF11
|
||||
FB_SET_8_PIXELS_OPAQUE := $FF14
|
||||
FB_FILL_PIXELS := $FF17
|
||||
FB_FILTER_PIXELS := $FF1A
|
||||
FB_MOVE_PIXELS := $FF1D
|
||||
GRAPH_INIT := $FF20
|
||||
GRAPH_CLEAR := $FF23
|
||||
GRAPH_SET_WINDOW := $FF26
|
||||
GRAPH_SET_COLORS := $FF29
|
||||
GRAPH_DRAW_LINE := $FF2C
|
||||
GRAPH_DRAW_RECT := $FF2F
|
||||
GRAPH_MOVE_RECT := $FF32
|
||||
GRAPH_DRAW_OVAL := $FF35
|
||||
GRAPH_DRAW_IMAGE := $FF38
|
||||
GRAPH_SET_FONT := $FF3B
|
||||
GRAPH_GET_CHAR_SIZE := $FF3E
|
||||
GRAPH_PUT_CHAR := $FF41
|
||||
MULTI_ACPTR := $FF44
|
||||
RESTORE_BASIC := $FF47
|
||||
CLOCK_SET_DATE_TIME := $FF4D
|
||||
CLOCK_GET_DATE_TIME := $FF50
|
||||
JOYSTICK_SCAN := $FF53
|
||||
JOYSTICK_GET := $FF56
|
||||
SCREEN_MODE := $FF5F
|
||||
SCREEN_SET_CHARSET := $FF62
|
||||
MOUSE_CONFIG := $FF68
|
||||
MOUSE_GET := $FF6B
|
||||
.endif
|
||||
|
||||
.if .def (__MEGA65__)
|
||||
; extended C65 jump table
|
||||
|
||||
; memory before $ff3b is all $ff in mega65 ROM?
|
||||
; VERSIONQ := $FF2F
|
||||
; RESET_RUN := $FF32
|
||||
; CURSOR := $FF35
|
||||
|
||||
SAVEFL := $FF3B
|
||||
GETIO := $FF41
|
||||
GETLFS := $FF44
|
||||
KEYLOCKS := $FF47
|
||||
ADDKEY := $FF4A
|
||||
.endif
|
||||
|
||||
.if .def(__C65__) || .def (__MEGA65__)
|
||||
CURSOR := $E030 ; in editor ROM
|
||||
|
||||
SPIN_SPOUT := $FF4D
|
||||
CLSALL := $FF50
|
||||
C64MODE := $FF53
|
||||
MonitorCall := $FF56
|
||||
BOOT_SYS := $FF59
|
||||
PHOENIX := $FF5C
|
||||
LKUPLA := $FF5F
|
||||
LKUPSA := $FF62
|
||||
SWAPPER := $FF65
|
||||
PFKEY := $FF68
|
||||
SETBNK := $FF6B
|
||||
JSRFAR := $FF6E
|
||||
JMPFAR := $FF71
|
||||
LDA_FAR := $FF74
|
||||
STA_FAR := $FF77
|
||||
CMP_FAR := $FF7A
|
||||
PRIMM := $FF7D
|
||||
.endif
|
||||
|
||||
.if .def(__C128__)
|
||||
; C128 extended jump table
|
||||
C64MODE := $FF4D
|
||||
SWAPPER := $FF5F
|
||||
SETBNK := $FF68
|
||||
.endif
|
||||
|
||||
.if .def(__C128__) || .def(__CX16__)
|
||||
; Extended jump table
|
||||
CLSALL := $FF4A
|
||||
LKUPLA := $FF59
|
||||
LKUPSA := $FF5C
|
||||
PFKEY := $FF65
|
||||
JSRFAR := $FF6E
|
||||
INDFET := $FF74
|
||||
INDSTA := $FF77
|
||||
INDCMP := $FF7A
|
||||
PRIMM := $FF7D
|
||||
.endif
|
||||
|
||||
.if .def(__C64__) || .def(__C128__) || .def(__C16__) || .def(__CX16__) || .def(__C65__) || .def (__MEGA65__)
|
||||
CINT := $FF81
|
||||
IOINIT := $FF84
|
||||
RAMTAS := $FF87
|
||||
.elseif .def(__VIC20__)
|
||||
CINT := $E518 ; No entries are in the Kernal jump table of the VIC-20 for these three (3) functions.
|
||||
IOINIT := $FDF9 ; The entries for these functions have been set to point directly to the functions
|
||||
RAMTAS := $FD8D ; in the Kernal, to maintain compatibility with the other Commodore platforms.
|
||||
.elseif .def(__CBM510__) || .def(__CBM610__)
|
||||
IOINIT := $FF7B
|
||||
CINT := $FF7E
|
||||
.endif
|
||||
|
||||
.if .def(__VIC20__) || .def(__C64__) || .def(__C128__) || .def(__C16__) || .def(__CX16__) || .def(__C65__) || .def (__MEGA65__)
|
||||
RESTOR := $FF8A
|
||||
VECTOR := $FF8D
|
||||
.elseif .def(__CBM510__) || .def(__CBM610__)
|
||||
VECTOR := $FF84
|
||||
RESTOR := $FF87
|
||||
.endif
|
||||
|
||||
.if .def(__CBM510__) || .def(__CBM610__) || .def(__VIC20__) || .def(__C64__) || .def(__C128__) || .def(__C16__) || .def(__CX16__)
|
||||
SETMSG := $FF90
|
||||
SECOND := $FF93
|
||||
TKSA := $FF96
|
||||
MEMTOP := $FF99
|
||||
MEMBOT := $FF9C
|
||||
SCNKEY := $FF9F
|
||||
SETTMO := $FFA2
|
||||
.elseif .def(__C65__) || .def (__MEGA65__)
|
||||
SETMSG := $FF90
|
||||
SECOND := $FF93
|
||||
TKSA := $FF96
|
||||
MEMTOP := $FF99
|
||||
MEMBOT := $FF9C
|
||||
SCNKEY := $FF9F
|
||||
MONEXIT := $FFA2
|
||||
.endif
|
||||
|
||||
.if .def(__CBM510__) || .def(__CBM610__) || .def(__VIC20__) || .def(__C64__) || .def(__C128__) || .def(__C16__) || .def(__CX16__) || .def(__C65__) || .def(__MEGA65__)
|
||||
ACPTR := $FFA5
|
||||
CIOUT := $FFA8
|
||||
UNTLK := $FFAB
|
||||
UNLSN := $FFAE
|
||||
LISTEN := $FFB1
|
||||
TALK := $FFB4
|
||||
READST := $FFB7
|
||||
SETLFS := $FFBA
|
||||
SETNAM := $FFBD
|
||||
OPEN := $FFC0
|
||||
CLOSE := $FFC3
|
||||
.endif
|
||||
|
||||
; Available on all platforms including PET
|
||||
CHKIN := $FFC6
|
||||
CKOUT := $FFC9
|
||||
CHKOUT := $FFC9
|
||||
CLRCH := $FFCC
|
||||
CLRCHN := $FFCC
|
||||
BASIN := $FFCF
|
||||
CHRIN := $FFCF
|
||||
BSOUT := $FFD2
|
||||
CHROUT := $FFD2
|
||||
|
||||
.if .def(__CBM510__) || .def(__CBM610__) || .def(__VIC20__) || .def(__C64__) || .def(__C128__) || .def(__C16__) || .def(__CX16__) || .def(__C65__) || .def(__MEGA65__)
|
||||
LOAD := $FFD5
|
||||
SAVE := $FFD8
|
||||
SETTIM := $FFDB
|
||||
RDTIM := $FFDE
|
||||
.endif
|
||||
|
||||
; Available on all platforms including PET
|
||||
STOP := $FFE1
|
||||
GETIN := $FFE4
|
||||
CLALL := $FFE7
|
||||
|
||||
.if .def(__C65__) || .def(__MEGA65__)
|
||||
ScanStopKey := $FFEA
|
||||
.else
|
||||
UDTIM := $FFEA
|
||||
.endif
|
||||
|
||||
.if .def(__CBM510__) || .def(__CBM610__) || .def(__VIC20__) || .def(__C64__) || .def(__C128__) || .def(__C16__) || .def(__CX16__) || .def(__C65__) || .def(__MEGA65__)
|
||||
SCREEN := $FFED
|
||||
PLOT := $FFF0
|
||||
IOBASE := $FFF3
|
||||
.endif
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
; Kernal routines, direct entries
|
||||
;
|
||||
; Unlike the above, these are not standard functions with entries in the jump
|
||||
; table. They do not exist in all Kernals, and where they do the entry point is
|
||||
; specific to that particular machine and possibly even Kernal version.
|
||||
;
|
||||
; This list is not comprehensive: missing items for particular machines
|
||||
; should be added as needed.
|
||||
;
|
||||
; UPDCRAMPTR: Updates the color RAM pointer to match the screen RAM pointer.
|
||||
;
|
||||
|
||||
.if .def(__VIC20__)
|
||||
CLRSCR := $E55F
|
||||
KBDREAD := $E5CF
|
||||
UPDCRAMPTR := $EAB2
|
||||
.elseif .def(__C64__)
|
||||
CLRSCR := $E544 ; Clear the screen
|
||||
KBDREAD := $E5B4 ; Get Character From Keyboard Buffer
|
||||
NMIEXIT := $FEBC
|
||||
UPDCRAMPTR := $EA24 ; Update color ram pointer
|
||||
.elseif .def(__C128__)
|
||||
CLRSCR := $C142
|
||||
KBDREAD := $C006
|
||||
NMIEXIT := $FF33
|
||||
NEWLINE := $C363
|
||||
PRINT := $C322
|
||||
CURS_SET := $CD57
|
||||
CURS_ON := $CD6F
|
||||
CURS_OFF := $CD9F
|
||||
.elseif .def(__C16__)
|
||||
CLRSCR := $D88B
|
||||
KBDREAD := $D8C1
|
||||
.elseif .def(__C65__) || .def(__MEGA65__)
|
||||
; CLRSCR := $E0EC ; ???
|
||||
KBDREAD := $E006
|
||||
.endif
|
||||
291
asminc/cbm_petscii_charmap.inc
Normal file
291
asminc/cbm_petscii_charmap.inc
Normal file
|
|
@ -0,0 +1,291 @@
|
|||
;/*****************************************************************************/
|
||||
;/* */
|
||||
;/* cbm_petscii_charmap.inc */
|
||||
;/* */
|
||||
;/* CBM system standard string mapping ISO-8859-1 -> PetSCII */
|
||||
;/* */
|
||||
;/* */
|
||||
;/* 2019-03-10, Greg King */
|
||||
;/* */
|
||||
;/* This software is provided "as-is", without any expressed or implied */
|
||||
;/* warranty. In no event will the authors be held liable for any damages */
|
||||
;/* arising from the use of this software. */
|
||||
;/* */
|
||||
;/* Permission is granted to anyone to use this software for any purpose, */
|
||||
;/* including commercial applications, and to alter it and redistribute it */
|
||||
;/* freely, subject to the following restrictions: */
|
||||
;/* */
|
||||
;/* 1. The origin of this software must not be misrepresented; you must not */
|
||||
;/* claim that you wrote the original software. If you use this software */
|
||||
;/* in a product, an acknowledgment in the product documentation would be */
|
||||
;/* appreciated, but is not required. */
|
||||
;/* 2. Altered source versions must be plainly marked as such, and must not */
|
||||
;/* be misrepresented as being the original software. */
|
||||
;/* 3. This notice must not be removed or altered from any source */
|
||||
;/* distribution. */
|
||||
;/* */
|
||||
;/*****************************************************************************/
|
||||
|
||||
.charmap $00, $00
|
||||
.charmap $01, $01
|
||||
.charmap $02, $02
|
||||
.charmap $03, $03
|
||||
.charmap $04, $04
|
||||
.charmap $05, $05
|
||||
.charmap $06, $06
|
||||
.charmap $07, $07
|
||||
.charmap $08, $14
|
||||
.charmap $09, $09
|
||||
.charmap $0A, $0D
|
||||
.charmap $0B, $11
|
||||
.charmap $0C, $93
|
||||
.charmap $0D, $0A
|
||||
.charmap $0E, $0E
|
||||
.charmap $0F, $0F
|
||||
.charmap $10, $10
|
||||
.charmap $11, $0B
|
||||
.charmap $12, $12
|
||||
.charmap $13, $13
|
||||
.charmap $14, $08
|
||||
.charmap $15, $15
|
||||
.charmap $16, $16
|
||||
.charmap $17, $17
|
||||
.charmap $18, $18
|
||||
.charmap $19, $19
|
||||
.charmap $1A, $1A
|
||||
.charmap $1B, $1B
|
||||
.charmap $1C, $1C
|
||||
.charmap $1D, $1D
|
||||
.charmap $1E, $1E
|
||||
.charmap $1F, $1F
|
||||
|
||||
.charmap $20, $20
|
||||
.charmap $21, $21
|
||||
.charmap $22, $22
|
||||
.charmap $23, $23
|
||||
.charmap $24, $24
|
||||
.charmap $25, $25
|
||||
.charmap $26, $26
|
||||
.charmap $27, $27
|
||||
.charmap $28, $28
|
||||
.charmap $29, $29
|
||||
.charmap $2A, $2A
|
||||
.charmap $2B, $2B
|
||||
.charmap $2C, $2C
|
||||
.charmap $2D, $2D
|
||||
.charmap $2E, $2E
|
||||
.charmap $2F, $2F
|
||||
.charmap $30, $30
|
||||
.charmap $31, $31
|
||||
.charmap $32, $32
|
||||
.charmap $33, $33
|
||||
.charmap $34, $34
|
||||
.charmap $35, $35
|
||||
.charmap $36, $36
|
||||
.charmap $37, $37
|
||||
.charmap $38, $38
|
||||
.charmap $39, $39
|
||||
.charmap $3A, $3A
|
||||
.charmap $3B, $3B
|
||||
.charmap $3C, $3C
|
||||
.charmap $3D, $3D
|
||||
.charmap $3E, $3E
|
||||
.charmap $3F, $3F
|
||||
|
||||
.charmap $40, $40
|
||||
.charmap $41, $C1
|
||||
.charmap $42, $C2
|
||||
.charmap $43, $C3
|
||||
.charmap $44, $C4
|
||||
.charmap $45, $C5
|
||||
.charmap $46, $C6
|
||||
.charmap $47, $C7
|
||||
.charmap $48, $C8
|
||||
.charmap $49, $C9
|
||||
.charmap $4A, $CA
|
||||
.charmap $4B, $CB
|
||||
.charmap $4C, $CC
|
||||
.charmap $4D, $CD
|
||||
.charmap $4E, $CE
|
||||
.charmap $4F, $CF
|
||||
.charmap $50, $D0
|
||||
.charmap $51, $D1
|
||||
.charmap $52, $D2
|
||||
.charmap $53, $D3
|
||||
.charmap $54, $D4
|
||||
.charmap $55, $D5
|
||||
.charmap $56, $D6
|
||||
.charmap $57, $D7
|
||||
.charmap $58, $D8
|
||||
.charmap $59, $D9
|
||||
.charmap $5A, $DA
|
||||
.charmap $5B, $5B
|
||||
.charmap $5C, $BF
|
||||
.charmap $5D, $5D
|
||||
.charmap $5E, $5E
|
||||
.charmap $5F, $A4
|
||||
|
||||
.charmap $60, $AD
|
||||
.charmap $61, $41
|
||||
.charmap $62, $42
|
||||
.charmap $63, $43
|
||||
.charmap $64, $44
|
||||
.charmap $65, $45
|
||||
.charmap $66, $46
|
||||
.charmap $67, $47
|
||||
.charmap $68, $48
|
||||
.charmap $69, $49
|
||||
.charmap $6A, $4A
|
||||
.charmap $6B, $4B
|
||||
.charmap $6C, $4C
|
||||
.charmap $6D, $4D
|
||||
.charmap $6E, $4E
|
||||
.charmap $6F, $4F
|
||||
.charmap $70, $50
|
||||
.charmap $71, $51
|
||||
.charmap $72, $52
|
||||
.charmap $73, $53
|
||||
.charmap $74, $54
|
||||
.charmap $75, $55
|
||||
.charmap $76, $56
|
||||
.charmap $77, $57
|
||||
.charmap $78, $58
|
||||
.charmap $79, $59
|
||||
.charmap $7A, $5A
|
||||
.charmap $7B, $B3
|
||||
.charmap $7C, $DD
|
||||
.charmap $7D, $AB
|
||||
.charmap $7E, $B1
|
||||
.charmap $7F, $DF
|
||||
|
||||
.charmap $80, $80
|
||||
.charmap $81, $81
|
||||
.charmap $82, $82
|
||||
.charmap $83, $83
|
||||
.charmap $84, $84
|
||||
.charmap $85, $85
|
||||
.charmap $86, $86
|
||||
.charmap $87, $87
|
||||
.charmap $88, $88
|
||||
.charmap $89, $89
|
||||
.charmap $8A, $8A
|
||||
.charmap $8B, $8B
|
||||
.charmap $8C, $8C
|
||||
.charmap $8D, $8D
|
||||
.charmap $8E, $8E
|
||||
.charmap $8F, $8F
|
||||
.charmap $90, $90
|
||||
.charmap $91, $91
|
||||
.charmap $92, $92
|
||||
.charmap $93, $0C
|
||||
.charmap $94, $94
|
||||
.charmap $95, $95
|
||||
.charmap $96, $96
|
||||
.charmap $97, $97
|
||||
.charmap $98, $98
|
||||
.charmap $99, $99
|
||||
.charmap $9A, $9A
|
||||
.charmap $9B, $9B
|
||||
.charmap $9C, $9C
|
||||
.charmap $9D, $9D
|
||||
.charmap $9E, $9E
|
||||
.charmap $9F, $9F
|
||||
|
||||
.charmap $A0, $A0
|
||||
.charmap $A1, $A1
|
||||
.charmap $A2, $A2
|
||||
.charmap $A3, $A3
|
||||
.charmap $A4, $A4
|
||||
.charmap $A5, $A5
|
||||
.charmap $A6, $A6
|
||||
.charmap $A7, $A7
|
||||
.charmap $A8, $A8
|
||||
.charmap $A9, $A9
|
||||
.charmap $AA, $AA
|
||||
.charmap $AB, $AB
|
||||
.charmap $AC, $AC
|
||||
.charmap $AD, $AD
|
||||
.charmap $AE, $AE
|
||||
.charmap $AF, $AF
|
||||
.charmap $B0, $B0
|
||||
.charmap $B1, $B1
|
||||
.charmap $B2, $B2
|
||||
.charmap $B3, $B3
|
||||
.charmap $B4, $B4
|
||||
.charmap $B5, $B5
|
||||
.charmap $B6, $B6
|
||||
.charmap $B7, $B7
|
||||
.charmap $B8, $B8
|
||||
.charmap $B9, $B9
|
||||
.charmap $BA, $BA
|
||||
.charmap $BB, $BB
|
||||
.charmap $BC, $BC
|
||||
.charmap $BD, $BD
|
||||
.charmap $BE, $BE
|
||||
.charmap $BF, $BF
|
||||
|
||||
.charmap $C0, $60
|
||||
.charmap $C1, $61
|
||||
.charmap $C2, $62
|
||||
.charmap $C3, $63
|
||||
.charmap $C4, $64
|
||||
.charmap $C5, $65
|
||||
.charmap $C6, $66
|
||||
.charmap $C7, $67
|
||||
.charmap $C8, $68
|
||||
.charmap $C9, $69
|
||||
.charmap $CA, $6A
|
||||
.charmap $CB, $6B
|
||||
.charmap $CC, $6C
|
||||
.charmap $CD, $6D
|
||||
.charmap $CE, $6E
|
||||
.charmap $CF, $6F
|
||||
.charmap $D0, $70
|
||||
.charmap $D1, $71
|
||||
.charmap $D2, $72
|
||||
.charmap $D3, $73
|
||||
.charmap $D4, $74
|
||||
.charmap $D5, $75
|
||||
.charmap $D6, $76
|
||||
.charmap $D7, $77
|
||||
.charmap $D8, $78
|
||||
.charmap $D9, $79
|
||||
.charmap $DA, $7A
|
||||
.charmap $DB, $7B
|
||||
.charmap $DC, $7C
|
||||
.charmap $DD, $7D
|
||||
.charmap $DE, $7E
|
||||
.charmap $DF, $7F
|
||||
|
||||
.charmap $E0, $E0
|
||||
.charmap $E1, $E1
|
||||
.charmap $E2, $E2
|
||||
.charmap $E3, $E3
|
||||
.charmap $E4, $E4
|
||||
.charmap $E5, $E5
|
||||
.charmap $E6, $E6
|
||||
.charmap $E7, $E7
|
||||
.charmap $E8, $E8
|
||||
.charmap $E9, $E9
|
||||
.charmap $EA, $EA
|
||||
.charmap $EB, $EB
|
||||
.charmap $EC, $EC
|
||||
.charmap $ED, $ED
|
||||
.charmap $EE, $EE
|
||||
.charmap $EF, $EF
|
||||
.charmap $F0, $F0
|
||||
.charmap $F1, $F1
|
||||
.charmap $F2, $F2
|
||||
.charmap $F3, $F3
|
||||
.charmap $F4, $F4
|
||||
.charmap $F5, $F5
|
||||
.charmap $F6, $F6
|
||||
.charmap $F7, $F7
|
||||
.charmap $F8, $F8
|
||||
.charmap $F9, $F9
|
||||
.charmap $FA, $FA
|
||||
.charmap $FB, $FB
|
||||
.charmap $FC, $FC
|
||||
.charmap $FD, $FD
|
||||
.charmap $FE, $FE
|
||||
.charmap $FF, $FF
|
||||
305
asminc/cbm_screen_charmap.inc
Normal file
305
asminc/cbm_screen_charmap.inc
Normal file
|
|
@ -0,0 +1,305 @@
|
|||
;/*****************************************************************************/
|
||||
;/* */
|
||||
;/* cbm_screen_charmap.inc */
|
||||
;/* */
|
||||
;/* c Copyright 2019, Gerhard W. Gruber (sparhawk@gmx.at) */
|
||||
;/* */
|
||||
;/* When using CBM mode, this include converts character literals */
|
||||
;/* from ASCII to screen-code mapping, so you can write directly */
|
||||
;/* to the screen memory. */
|
||||
;/* */
|
||||
;/* If this include is used, no additional macros are needed. */
|
||||
;/* */
|
||||
;/*****************************************************************************/
|
||||
|
||||
; Char $00 -> c + 128
|
||||
.charmap $00, $80
|
||||
|
||||
; Char $01 ... $1A -> c + 128 + 64 control alphabet
|
||||
.charmap $01, $C1
|
||||
.charmap $02, $C2
|
||||
.charmap $03, $C3
|
||||
.charmap $04, $C4
|
||||
.charmap $05, $C5
|
||||
.charmap $06, $C6
|
||||
.charmap $07, $C7
|
||||
.charmap $08, $C8
|
||||
.charmap $09, $C9
|
||||
.charmap $0A, $CA
|
||||
.charmap $0B, $CB
|
||||
.charmap $0C, $CC
|
||||
.charmap $0D, $CD
|
||||
.charmap $0E, $CE
|
||||
.charmap $0F, $CF
|
||||
.charmap $10, $D0
|
||||
.charmap $11, $D1
|
||||
.charmap $12, $D2
|
||||
.charmap $13, $D3
|
||||
.charmap $14, $D4
|
||||
.charmap $15, $D5
|
||||
.charmap $16, $D6
|
||||
.charmap $17, $D7
|
||||
.charmap $18, $D8
|
||||
.charmap $19, $D9
|
||||
.charmap $1A, $DA
|
||||
|
||||
; Char $1B ... $1F -> c + 128
|
||||
.charmap $1B, $9B
|
||||
.charmap $1C, $9C
|
||||
.charmap $1D, $9D
|
||||
.charmap $1E, $9E
|
||||
.charmap $1F, $9F
|
||||
|
||||
; Char $20 ... $3F -> c
|
||||
.charmap $20, $20
|
||||
.charmap $21, $21
|
||||
.charmap $22, $22
|
||||
.charmap $23, $23
|
||||
.charmap $24, $24
|
||||
.charmap $25, $25
|
||||
.charmap $26, $26
|
||||
.charmap $27, $27
|
||||
.charmap $28, $28
|
||||
.charmap $29, $29
|
||||
.charmap $2A, $2A
|
||||
.charmap $2B, $2B
|
||||
.charmap $2C, $2C
|
||||
.charmap $2D, $2D
|
||||
.charmap $2E, $2E
|
||||
.charmap $2F, $2F
|
||||
.charmap $30, $30
|
||||
.charmap $31, $31
|
||||
.charmap $32, $32
|
||||
.charmap $33, $33
|
||||
.charmap $34, $34
|
||||
.charmap $35, $35
|
||||
.charmap $36, $36
|
||||
.charmap $37, $37
|
||||
.charmap $38, $38
|
||||
.charmap $39, $39
|
||||
.charmap $3A, $3A
|
||||
.charmap $3B, $3B
|
||||
.charmap $3C, $3C
|
||||
.charmap $3D, $3D
|
||||
.charmap $3E, $3E
|
||||
.charmap $3F, $3F
|
||||
|
||||
; Char $40 -> c - 64
|
||||
.charmap $40, $00
|
||||
|
||||
; Char $41 ... $5A -> c upper-case alphabet
|
||||
.charmap $41, $41
|
||||
.charmap $42, $42
|
||||
.charmap $43, $43
|
||||
.charmap $44, $44
|
||||
.charmap $45, $45
|
||||
.charmap $46, $46
|
||||
.charmap $47, $47
|
||||
.charmap $48, $48
|
||||
.charmap $49, $49
|
||||
.charmap $4A, $4A
|
||||
.charmap $4B, $4B
|
||||
.charmap $4C, $4C
|
||||
.charmap $4D, $4D
|
||||
.charmap $4E, $4E
|
||||
.charmap $4F, $4F
|
||||
.charmap $50, $50
|
||||
.charmap $51, $51
|
||||
.charmap $52, $52
|
||||
.charmap $53, $53
|
||||
.charmap $54, $54
|
||||
.charmap $55, $55
|
||||
.charmap $56, $56
|
||||
.charmap $57, $57
|
||||
.charmap $58, $58
|
||||
.charmap $59, $59
|
||||
.charmap $5A, $5A
|
||||
|
||||
; Char $5B ... $5F -> c - 64
|
||||
.charmap $5B, $1B
|
||||
.charmap $5C, $1C
|
||||
.charmap $5D, $1D
|
||||
.charmap $5E, $1E
|
||||
.charmap $5F, $1F
|
||||
|
||||
; Char $60 -> c - 32
|
||||
.charmap $60, $40
|
||||
|
||||
; Char $61 ... $7A -> c - 32 - 64 lower-case alphabet
|
||||
.charmap $61, $01
|
||||
.charmap $62, $02
|
||||
.charmap $63, $03
|
||||
.charmap $64, $04
|
||||
.charmap $65, $05
|
||||
.charmap $66, $06
|
||||
.charmap $67, $07
|
||||
.charmap $68, $08
|
||||
.charmap $69, $09
|
||||
.charmap $6A, $0A
|
||||
.charmap $6B, $0B
|
||||
.charmap $6C, $0C
|
||||
.charmap $6D, $0D
|
||||
.charmap $6E, $0E
|
||||
.charmap $6F, $0F
|
||||
.charmap $70, $10
|
||||
.charmap $71, $11
|
||||
.charmap $72, $12
|
||||
.charmap $73, $13
|
||||
.charmap $74, $14
|
||||
.charmap $75, $15
|
||||
.charmap $76, $16
|
||||
.charmap $77, $17
|
||||
.charmap $78, $18
|
||||
.charmap $79, $19
|
||||
.charmap $7A, $1A
|
||||
|
||||
; Char $7B ... $7F -> c - 32
|
||||
.charmap $7B, $5B
|
||||
.charmap $7C, $5C
|
||||
.charmap $7D, $5D
|
||||
.charmap $7E, $5E
|
||||
.charmap $7F, $5F
|
||||
|
||||
; Char $80 -> c + 64
|
||||
.charmap $80, $C0
|
||||
|
||||
; Char $81 ... $9A -> c control alphabet
|
||||
.charmap $81, $81
|
||||
.charmap $82, $82
|
||||
.charmap $83, $83
|
||||
.charmap $84, $84
|
||||
.charmap $85, $85
|
||||
.charmap $86, $86
|
||||
.charmap $87, $87
|
||||
.charmap $88, $88
|
||||
.charmap $89, $89
|
||||
.charmap $8A, $8A
|
||||
.charmap $8B, $8B
|
||||
.charmap $8C, $8C
|
||||
.charmap $8D, $8D
|
||||
.charmap $8E, $8E
|
||||
.charmap $8F, $8F
|
||||
.charmap $90, $90
|
||||
.charmap $91, $91
|
||||
.charmap $92, $92
|
||||
.charmap $93, $93
|
||||
.charmap $94, $94
|
||||
.charmap $95, $95
|
||||
.charmap $96, $96
|
||||
.charmap $97, $97
|
||||
.charmap $98, $98
|
||||
.charmap $99, $99
|
||||
.charmap $9A, $9A
|
||||
|
||||
; Char $9B ... $9F -> c + 64
|
||||
.charmap $9B, $DB
|
||||
.charmap $9C, $DC
|
||||
.charmap $9D, $DD
|
||||
.charmap $9E, $DE
|
||||
.charmap $9F, $DF
|
||||
|
||||
; Char $A0 ... $BF -> c - 64
|
||||
.charmap $A0, $60
|
||||
.charmap $A1, $61
|
||||
.charmap $A2, $62
|
||||
.charmap $A3, $63
|
||||
.charmap $A4, $64
|
||||
.charmap $A5, $65
|
||||
.charmap $A6, $66
|
||||
.charmap $A7, $67
|
||||
.charmap $A8, $68
|
||||
.charmap $A9, $69
|
||||
.charmap $AA, $6A
|
||||
.charmap $AB, $6B
|
||||
.charmap $AC, $6C
|
||||
.charmap $AD, $6D
|
||||
.charmap $AE, $6E
|
||||
.charmap $AF, $6F
|
||||
.charmap $B0, $70
|
||||
.charmap $B1, $71
|
||||
.charmap $B2, $72
|
||||
.charmap $B3, $73
|
||||
.charmap $B4, $74
|
||||
.charmap $B5, $75
|
||||
.charmap $B6, $76
|
||||
.charmap $B7, $77
|
||||
.charmap $B8, $78
|
||||
.charmap $B9, $79
|
||||
.charmap $BA, $7A
|
||||
.charmap $BB, $7B
|
||||
.charmap $BC, $7C
|
||||
.charmap $BD, $7D
|
||||
.charmap $BE, $7E
|
||||
.charmap $BF, $7F
|
||||
|
||||
; Char $C0 ... $DF -> c - 128
|
||||
.charmap $C0, $40
|
||||
|
||||
; Char $C1 ... $DA -> c - 128 - 64 lower-case alphabet
|
||||
.charmap $C1, $01
|
||||
.charmap $C2, $02
|
||||
.charmap $C3, $03
|
||||
.charmap $C4, $04
|
||||
.charmap $C5, $05
|
||||
.charmap $C6, $06
|
||||
.charmap $C7, $07
|
||||
.charmap $C8, $08
|
||||
.charmap $C9, $09
|
||||
.charmap $CA, $0A
|
||||
.charmap $CB, $0B
|
||||
.charmap $CC, $0C
|
||||
.charmap $CD, $0D
|
||||
.charmap $CE, $0E
|
||||
.charmap $CF, $0F
|
||||
.charmap $D0, $10
|
||||
.charmap $D1, $11
|
||||
.charmap $D2, $12
|
||||
.charmap $D3, $13
|
||||
.charmap $D4, $14
|
||||
.charmap $D5, $15
|
||||
.charmap $D6, $16
|
||||
.charmap $D7, $17
|
||||
.charmap $D8, $18
|
||||
.charmap $D9, $19
|
||||
.charmap $DA, $1A
|
||||
|
||||
; Char $DB ... $DF -> c - 128
|
||||
.charmap $DB, $5B
|
||||
.charmap $DC, $5C
|
||||
.charmap $DD, $5D
|
||||
.charmap $DE, $5E
|
||||
.charmap $DF, $5F
|
||||
|
||||
; Char $E0 ... $FF -> c - 128
|
||||
.charmap $E0, $60
|
||||
.charmap $E1, $61
|
||||
.charmap $E2, $62
|
||||
.charmap $E3, $63
|
||||
.charmap $E4, $64
|
||||
.charmap $E5, $65
|
||||
.charmap $E6, $66
|
||||
.charmap $E7, $67
|
||||
.charmap $E8, $68
|
||||
.charmap $E9, $69
|
||||
.charmap $EA, $6A
|
||||
.charmap $EB, $6B
|
||||
.charmap $EC, $6C
|
||||
.charmap $ED, $6D
|
||||
.charmap $EE, $6E
|
||||
.charmap $EF, $6F
|
||||
.charmap $F0, $70
|
||||
.charmap $F1, $71
|
||||
.charmap $F2, $72
|
||||
.charmap $F3, $73
|
||||
.charmap $F4, $74
|
||||
.charmap $F5, $75
|
||||
.charmap $F6, $76
|
||||
.charmap $F7, $77
|
||||
.charmap $F8, $78
|
||||
.charmap $F9, $79
|
||||
.charmap $FA, $7A
|
||||
.charmap $FB, $7B
|
||||
.charmap $FC, $7C
|
||||
.charmap $FD, $7D
|
||||
.charmap $FE, $7E
|
||||
.charmap $FF, $7F
|
||||
4
asminc/cpu.mac
Normal file
4
asminc/cpu.mac
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
; This file is no longer needed as the symbols that were defined here are now
|
||||
; internal symbols generated by the assembler. It is kept to avoid breaking
|
||||
; old sources.
|
||||
.warning "'.macpack cpu' is no longer required"
|
||||
66
asminc/creativision.inc
Normal file
66
asminc/creativision.inc
Normal file
|
|
@ -0,0 +1,66 @@
|
|||
;*
|
||||
;** VTech Creativision Definitions
|
||||
;*
|
||||
|
||||
;** Screen
|
||||
SCREEN_ROWS = 24
|
||||
SCREEN_COLS = 32
|
||||
SCREEN_PTR := $3A
|
||||
CURSOR_X := $3C
|
||||
CURSOR_Y := $3D
|
||||
|
||||
;** VDP
|
||||
VDP_DATA_R := $2000
|
||||
VDP_STATUS_R := $2001
|
||||
VDP_DATA_W := $3000
|
||||
VDP_CONTROL_W := $3001
|
||||
|
||||
;** PIA
|
||||
PIA0_DATA := $1000
|
||||
PIA0_STATUS := $1001
|
||||
PIA1_DATA := $1002
|
||||
PIA1_STATUS := $1003
|
||||
|
||||
;** General
|
||||
CH_VLINE = 33
|
||||
CH_HLINE = 34
|
||||
CH_ULCORNER = 35
|
||||
CH_URCORNER = 36
|
||||
CH_LLCORNER = 37
|
||||
CH_LRCORNER = 38
|
||||
|
||||
;** I/O (Zero-page variables)
|
||||
ZP_KEYBOARD := $10
|
||||
ZP_JOY0_DIR := $11
|
||||
ZP_JOY1_DIR := $13
|
||||
ZP_JOY0_BUTTONS := $16
|
||||
ZP_JOY1_BUTTONS := $17
|
||||
|
||||
;** Joystick direction values (ZP_JOY0_DIR/ZP_JOY1_DIR)
|
||||
JOY_N = $49
|
||||
JOY_NNE = $48
|
||||
JOY_NE = $47
|
||||
JOY_ENE = $46
|
||||
JOY_E = $45
|
||||
JOY_ESE = $44
|
||||
JOY_SE = $43
|
||||
JOY_SSE = $42
|
||||
JOY_S = $41
|
||||
JOY_SSW = $40
|
||||
JOY_SW = $4F
|
||||
JOY_WSW = $4E
|
||||
JOY_W = $4D
|
||||
JOY_WNW = $4C
|
||||
JOY_NW = $4B
|
||||
JOY_NNW = $4A
|
||||
|
||||
;** BIOS routines
|
||||
BIOS_NMI_RESET_ADDR := $F808
|
||||
BIOS_PLAY_TUNE1 := $FBD6
|
||||
BIOS_PLAY_SONG := $FBED
|
||||
BIOS_PLAY_TUNE2 := $FCE6
|
||||
BIOS_WRITE_VDP_REG := $FE1F
|
||||
BIOS_QUIET_PSG := $FE54
|
||||
BIOS_POKE_PSG := $FE77
|
||||
BIOS_IRQ1_ADDR := $FF3F
|
||||
BIOS_IRQ2_ADDR := $FF52
|
||||
31
asminc/ctype.inc
Normal file
31
asminc/ctype.inc
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
; ctype.inc
|
||||
;
|
||||
; This file is part of
|
||||
; cc65 - a freeware C compiler for 6502 based systems
|
||||
;
|
||||
; https://cc65.github.io
|
||||
;
|
||||
; See "LICENSE" file for legal information.
|
||||
;
|
||||
; Definitions for the character type tables
|
||||
;
|
||||
; Ullrich von Bassewitz, 08.09.2001
|
||||
;
|
||||
|
||||
; Define bitmapped constants for the table entries
|
||||
|
||||
CT_NONE = %00000000 ; Nothing special
|
||||
CT_LOWER = %00000001 ; 0 - Lower case char
|
||||
CT_UPPER = %00000010 ; 1 - Upper case char
|
||||
CT_DIGIT = %00000100 ; 2 - Numeric digit
|
||||
CT_XDIGIT = %00001000 ; 3 - Hex digit (both, lower and upper)
|
||||
CT_CTRL = %00010000 ; 4 - Control character
|
||||
CT_SPACE = %00100000 ; 5 - The space character itself
|
||||
CT_OTHER_WS = %01000000 ; 6 - Other whitespace ('\f', '\n', '\r', '\t' and '\v')
|
||||
CT_SPACE_TAB = %10000000 ; 7 - Space or tab character
|
||||
|
||||
; Combined stuff
|
||||
CT_ALNUM = (CT_LOWER | CT_UPPER | CT_DIGIT)
|
||||
CT_ALPHA = (CT_LOWER | CT_UPPER)
|
||||
CT_CTRL_SPACE = (CT_CTRL | CT_SPACE)
|
||||
CT_NOT_PUNCT = (CT_SPACE | CT_CTRL | CT_DIGIT | CT_UPPER | CT_LOWER)
|
||||
91
asminc/ctype_common.inc
Normal file
91
asminc/ctype_common.inc
Normal file
|
|
@ -0,0 +1,91 @@
|
|||
; ctype_common.inc
|
||||
;
|
||||
; This file is part of
|
||||
; cc65 - a freeware C compiler for 6502 based systems
|
||||
;
|
||||
; https://cc65.github.io
|
||||
;
|
||||
; See "LICENSE" file for legal information.
|
||||
;
|
||||
; Character specification table for some common targets.
|
||||
;
|
||||
|
||||
.include "ctypetable.inc"
|
||||
.export __ctypeidx
|
||||
|
||||
; The tables are readonly, put them into the rodata segment
|
||||
|
||||
.rodata
|
||||
|
||||
__ctypeidx:
|
||||
ct_mix CT_CTRL_IDX, CT_CTRL_IDX ; 0/00 ___ctrl_@___, 1/01 ___ctrl_A___
|
||||
ct_mix CT_CTRL_IDX, CT_CTRL_IDX ; 2/02 ___ctrl_B___, 3/03 ___ctrl_C___
|
||||
ct_mix CT_CTRL_IDX, CT_CTRL_IDX ; 4/04 ___ctrl_D___, 5/05 ___ctrl_E___
|
||||
ct_mix CT_CTRL_IDX, CT_CTRL_IDX ; 6/06 ___ctrl_F___, 7/07 ___ctrl_G___
|
||||
ct_mix CT_CTRL_IDX, CT_CTRL_WS_SPACETAB_IDX ; 8/08 ___ctrl_H___, 9/09 ___ctrl_I___
|
||||
ct_mix CT_CTRL_WS_IDX, CT_CTRL_WS_IDX ; 10/0a ___ctrl_J___, 11/0b ___ctrl_K___
|
||||
ct_mix CT_CTRL_WS_IDX, CT_CTRL_WS_IDX ; 12/0c ___ctrl_L___, 13/0d ___ctrl_M___
|
||||
ct_mix CT_CTRL_IDX, CT_CTRL_IDX ; 14/0e ___ctrl_N___, 15/0f ___ctrl_O___
|
||||
ct_mix CT_CTRL_IDX, CT_CTRL_IDX ; 16/10 ___ctrl_P___, 17/11 ___ctrl_Q___
|
||||
ct_mix CT_CTRL_IDX, CT_CTRL_IDX ; 18/12 ___ctrl_R___, 19/13 ___ctrl_S___
|
||||
ct_mix CT_CTRL_IDX, CT_CTRL_IDX ; 20/14 ___ctrl_T___, 21/15 ___ctrl_U___
|
||||
ct_mix CT_CTRL_IDX, CT_CTRL_IDX ; 22/16 ___ctrl_V___, 23/17 ___ctrl_W___
|
||||
ct_mix CT_CTRL_IDX, CT_CTRL_IDX ; 24/18 ___ctrl_X___, 25/19 ___ctrl_Y___
|
||||
ct_mix CT_CTRL_IDX, CT_CTRL_IDX ; 26/1a ___ctrl_Z___, 27/1b ___ctrl_[___
|
||||
ct_mix CT_CTRL_IDX, CT_CTRL_IDX ; 28/1c ___ctrl_\___, 29/1d ___ctrl_]___
|
||||
ct_mix CT_CTRL_IDX, CT_CTRL_IDX ; 30/1e ___ctrl_^___, 31/1f ___ctrl_____
|
||||
|
||||
ct_mix CT_SPACE_SPACETAB_IDX, CT_NONE_IDX ; 32/20 ___SPACE___, 33/21 _____!_____
|
||||
ct_mix CT_NONE_IDX, CT_NONE_IDX ; 34/22 _____"_____, 35/23 _____#_____
|
||||
ct_mix CT_NONE_IDX, CT_NONE_IDX ; 36/24 _____$_____, 37/25 _____%_____
|
||||
ct_mix CT_NONE_IDX, CT_NONE_IDX ; 38/26 _____&_____, 39/27 _____'_____
|
||||
ct_mix CT_NONE_IDX, CT_NONE_IDX ; 40/28 _____(_____, 41/29 _____)_____
|
||||
ct_mix CT_NONE_IDX, CT_NONE_IDX ; 42/2a _____*_____, 43/2b _____+_____
|
||||
ct_mix CT_NONE_IDX, CT_NONE_IDX ; 44/2c _____,_____, 45/2d _____-_____
|
||||
ct_mix CT_NONE_IDX, CT_NONE_IDX ; 46/2e _____._____, 47/2f _____/_____
|
||||
ct_mix CT_DIGIT_XDIGIT_IDX, CT_DIGIT_XDIGIT_IDX ; 48/30 _____0_____, 49/31 _____1_____
|
||||
ct_mix CT_DIGIT_XDIGIT_IDX, CT_DIGIT_XDIGIT_IDX ; 50/32 _____2_____, 51/33 _____3_____
|
||||
ct_mix CT_DIGIT_XDIGIT_IDX, CT_DIGIT_XDIGIT_IDX ; 52/34 _____4_____, 53/35 _____5_____
|
||||
ct_mix CT_DIGIT_XDIGIT_IDX, CT_DIGIT_XDIGIT_IDX ; 54/36 _____6_____, 55/37 _____7_____
|
||||
ct_mix CT_DIGIT_XDIGIT_IDX, CT_DIGIT_XDIGIT_IDX ; 56/38 _____8_____, 57/39 _____9_____
|
||||
ct_mix CT_NONE_IDX, CT_NONE_IDX ; 58/3a _____:_____, 59/3b _____;_____
|
||||
ct_mix CT_NONE_IDX, CT_NONE_IDX ; 60/3c _____<_____, 61/3d _____=_____
|
||||
ct_mix CT_NONE_IDX, CT_NONE_IDX ; 62/3e _____>_____, 63/3f _____?_____
|
||||
|
||||
ct_mix CT_NONE_IDX, CT_UPPER_XDIGIT_IDX ; 64/40 _____@_____, 65/41 _____A_____
|
||||
ct_mix CT_UPPER_XDIGIT_IDX, CT_UPPER_XDIGIT_IDX ; 66/42 _____B_____, 67/43 _____C_____
|
||||
ct_mix CT_UPPER_XDIGIT_IDX, CT_UPPER_XDIGIT_IDX ; 68/44 _____D_____, 69/45 _____E_____
|
||||
ct_mix CT_UPPER_XDIGIT_IDX, CT_UPPER_IDX ; 70/46 _____F_____, 71/47 _____G_____
|
||||
ct_mix CT_UPPER_IDX, CT_UPPER_IDX ; 72/48 _____H_____, 73/49 _____I_____
|
||||
ct_mix CT_UPPER_IDX, CT_UPPER_IDX ; 74/4a _____J_____, 75/4b _____K_____
|
||||
ct_mix CT_UPPER_IDX, CT_UPPER_IDX ; 76/4c _____L_____, 77/4d _____M_____
|
||||
ct_mix CT_UPPER_IDX, CT_UPPER_IDX ; 78/4e _____N_____, 79/4f _____O_____
|
||||
ct_mix CT_UPPER_IDX, CT_UPPER_IDX ; 80/50 _____P_____, 81/51 _____Q_____
|
||||
ct_mix CT_UPPER_IDX, CT_UPPER_IDX ; 82/52 _____R_____, 83/53 _____S_____
|
||||
ct_mix CT_UPPER_IDX, CT_UPPER_IDX ; 84/54 _____T_____, 85/55 _____U_____
|
||||
ct_mix CT_UPPER_IDX, CT_UPPER_IDX ; 86/56 _____V_____, 87/57 _____W_____
|
||||
ct_mix CT_UPPER_IDX, CT_UPPER_IDX ; 88/58 _____X_____, 89/59 _____Y_____
|
||||
ct_mix CT_UPPER_IDX, CT_NONE_IDX ; 90/5a _____Z_____, 91/5b _____[_____
|
||||
ct_mix CT_NONE_IDX, CT_NONE_IDX ; 92/5c _____\_____, 93/5d _____]_____
|
||||
ct_mix CT_NONE_IDX, CT_NONE_IDX ; 94/5e _____^_____, 95/5f _UNDERLINE_
|
||||
|
||||
ct_mix CT_NONE_IDX, CT_LOWER_XDIGIT_IDX ; 96/60 ___grave___, 97/61 _____a_____
|
||||
ct_mix CT_LOWER_XDIGIT_IDX, CT_LOWER_XDIGIT_IDX ; 98/62 _____b_____, 99/63 _____c_____
|
||||
ct_mix CT_LOWER_XDIGIT_IDX, CT_LOWER_XDIGIT_IDX ; 100/64 _____d_____, 101/65 _____e_____
|
||||
ct_mix CT_LOWER_XDIGIT_IDX, CT_LOWER_IDX ; 102/66 _____f_____, 103/67 _____g_____
|
||||
ct_mix CT_LOWER_IDX, CT_LOWER_IDX ; 104/68 _____h_____, 105/69 _____i_____
|
||||
ct_mix CT_LOWER_IDX, CT_LOWER_IDX ; 106/6a _____j_____, 107/6b _____k_____
|
||||
ct_mix CT_LOWER_IDX, CT_LOWER_IDX ; 108/6c _____l_____, 109/6d _____m_____
|
||||
ct_mix CT_LOWER_IDX, CT_LOWER_IDX ; 110/6e _____n_____, 111/6f _____o_____
|
||||
ct_mix CT_LOWER_IDX, CT_LOWER_IDX ; 112/70 _____p_____, 113/71 _____q_____
|
||||
ct_mix CT_LOWER_IDX, CT_LOWER_IDX ; 114/72 _____r_____, 115/73 _____s_____
|
||||
ct_mix CT_LOWER_IDX, CT_LOWER_IDX ; 116/74 _____t_____, 117/75 _____u_____
|
||||
ct_mix CT_LOWER_IDX, CT_LOWER_IDX ; 118/76 _____v_____, 119/77 _____w_____
|
||||
ct_mix CT_LOWER_IDX, CT_LOWER_IDX ; 120/78 _____x_____, 121/79 _____y_____
|
||||
ct_mix CT_LOWER_IDX, CT_NONE_IDX ; 122/7a _____z_____, 123/7b _____{_____
|
||||
ct_mix CT_NONE_IDX, CT_NONE_IDX ; 124/7c _____|_____, 125/7d _____}_____
|
||||
ct_mix CT_NONE_IDX, CT_WS_IDX ; 126/7e _____~_____, 127/7f ____DEL____
|
||||
|
||||
.repeat 64
|
||||
ct_mix CT_NONE_IDX, CT_NONE_IDX ; 128-255
|
||||
.endrepeat
|
||||
48
asminc/ctypetable.inc
Normal file
48
asminc/ctypetable.inc
Normal file
|
|
@ -0,0 +1,48 @@
|
|||
; ctypetable.inc
|
||||
;
|
||||
; This file is part of
|
||||
; cc65 - a freeware C compiler for 6502 based systems
|
||||
;
|
||||
; https://cc65.github.io
|
||||
;
|
||||
; See "LICENSE" file for legal information.
|
||||
;
|
||||
; Data covering all possible combinations of character flags for target specific definition
|
||||
;
|
||||
|
||||
.include "ctype.inc"
|
||||
.export __ctype
|
||||
|
||||
; Table definition covering all possible ctype combinations
|
||||
|
||||
.rodata
|
||||
__ctype:
|
||||
ct_none: .byte CT_NONE
|
||||
ct_lower: .byte CT_LOWER
|
||||
ct_upper: .byte CT_UPPER
|
||||
ct_digit_xdigit: .byte CT_DIGIT | CT_XDIGIT
|
||||
ct_lower_xdigit: .byte CT_LOWER | CT_XDIGIT
|
||||
ct_upper_xdigit: .byte CT_UPPER | CT_XDIGIT
|
||||
ct_ctrl: .byte CT_CTRL
|
||||
ct_ws: .byte CT_OTHER_WS
|
||||
ct_ctrl_ws: .byte CT_CTRL | CT_OTHER_WS
|
||||
ct_space_spacetab: .byte CT_SPACE | CT_SPACE_TAB
|
||||
ct_ctrl_ws_spacetab: .byte CT_CTRL | CT_OTHER_WS | CT_SPACE_TAB
|
||||
|
||||
; build indices out of the table above:
|
||||
|
||||
CT_NONE_IDX = ct_none - __ctype
|
||||
CT_LOWER_IDX = ct_lower - __ctype
|
||||
CT_UPPER_IDX = ct_upper - __ctype
|
||||
CT_DIGIT_XDIGIT_IDX = ct_digit_xdigit - __ctype
|
||||
CT_LOWER_XDIGIT_IDX = ct_lower_xdigit - __ctype
|
||||
CT_UPPER_XDIGIT_IDX = ct_upper_xdigit - __ctype
|
||||
CT_CTRL_IDX = ct_ctrl - __ctype
|
||||
CT_WS_IDX = ct_ws - __ctype
|
||||
CT_CTRL_WS_IDX = ct_ctrl_ws - __ctype
|
||||
CT_SPACE_SPACETAB_IDX = ct_space_spacetab - __ctype
|
||||
CT_CTRL_WS_SPACETAB_IDX = ct_ctrl_ws_spacetab - __ctype
|
||||
|
||||
.macro ct_mix lower, upper
|
||||
.byte ((lower) & $0F) | ((upper) << 4)
|
||||
.endmacro
|
||||
574
asminc/cx16.inc
Normal file
574
asminc/cx16.inc
Normal file
|
|
@ -0,0 +1,574 @@
|
|||
;
|
||||
; CX16 r39 definitions
|
||||
;
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
; Constants
|
||||
|
||||
.enum COLOR
|
||||
BLACK = $00
|
||||
WHITE
|
||||
RED
|
||||
CYAN
|
||||
PURPLE
|
||||
GREEN
|
||||
BLUE
|
||||
YELLOW
|
||||
ORANGE
|
||||
BROWN
|
||||
PINK
|
||||
LIGHTRED = PINK
|
||||
GRAY1
|
||||
GRAY2
|
||||
LIGHTGREEN
|
||||
LIGHTBLUE
|
||||
GRAY3
|
||||
.endenum
|
||||
|
||||
; Special characters
|
||||
.enum CH
|
||||
COLOR_SWAP = $01
|
||||
STOP = $03
|
||||
UNDERLINE
|
||||
WHITE
|
||||
BOLD
|
||||
BELL
|
||||
BACKSPACE
|
||||
TAB
|
||||
LINEFEED
|
||||
ITALIC
|
||||
OUTLINE
|
||||
ENTER
|
||||
FONT_LOWER
|
||||
FONT_ISO
|
||||
F9
|
||||
CURS_DOWN
|
||||
REVERSE
|
||||
HOME
|
||||
DEL
|
||||
F10
|
||||
F11
|
||||
F12
|
||||
SHIFT_TAB
|
||||
RED = $1C
|
||||
CURS_RIGHT
|
||||
GREEN
|
||||
BLUE
|
||||
LIRA = $5C
|
||||
ORANGE = $81
|
||||
RUN = $83
|
||||
HELP
|
||||
F1
|
||||
F3
|
||||
F5
|
||||
F7
|
||||
F2
|
||||
F4
|
||||
F6
|
||||
F8
|
||||
SHIFT_ENTER
|
||||
FONT_UPPER
|
||||
FONT_PET
|
||||
BLACK
|
||||
CURS_UP
|
||||
ATTR_CLEAR
|
||||
SCRN_CLEAR
|
||||
INS
|
||||
BROWN
|
||||
PINK
|
||||
LIGHTRED = PINK
|
||||
GRAY1
|
||||
GRAY2
|
||||
LIGHTGREEN
|
||||
LIGHTBLUE
|
||||
GRAY3
|
||||
PURPLE
|
||||
CURS_LEFT
|
||||
YELLOW
|
||||
CYAN
|
||||
SHIFT_SPACE
|
||||
LTEE = $AB
|
||||
LLCORNER = $AD
|
||||
URCORNER
|
||||
ULCORNER = $B0
|
||||
BTEE
|
||||
TTEE
|
||||
RTEE
|
||||
LRCORNER = $BD
|
||||
HLINE = $C0
|
||||
CROSS = $DB
|
||||
VLINE = $DD
|
||||
PI
|
||||
.endenum
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
; Zero page
|
||||
|
||||
; Banking registers
|
||||
RAM_BANK := $00
|
||||
ROM_BANK := $01
|
||||
|
||||
; GEOS and graphics pseudo-registers
|
||||
.struct gREG
|
||||
.org $02
|
||||
.union
|
||||
r0 .word
|
||||
.struct
|
||||
r0L .byte
|
||||
r0H .byte
|
||||
.endstruct
|
||||
.endunion
|
||||
.union
|
||||
r1 .word
|
||||
.struct
|
||||
r1L .byte
|
||||
r1H .byte
|
||||
.endstruct
|
||||
.endunion
|
||||
.union
|
||||
r2 .word
|
||||
.struct
|
||||
r2L .byte
|
||||
r2H .byte
|
||||
.endstruct
|
||||
.endunion
|
||||
.union
|
||||
r3 .word
|
||||
.struct
|
||||
r3L .byte
|
||||
r3H .byte
|
||||
.endstruct
|
||||
.endunion
|
||||
.union
|
||||
r4 .word
|
||||
.struct
|
||||
r4L .byte
|
||||
r4H .byte
|
||||
.endstruct
|
||||
.endunion
|
||||
.union
|
||||
r5 .word
|
||||
.struct
|
||||
r5L .byte
|
||||
r5H .byte
|
||||
.endstruct
|
||||
.endunion
|
||||
.union
|
||||
r6 .word
|
||||
.struct
|
||||
r6L .byte
|
||||
r6H .byte
|
||||
.endstruct
|
||||
.endunion
|
||||
.union
|
||||
r7 .word
|
||||
.struct
|
||||
r7L .byte
|
||||
r7H .byte
|
||||
.endstruct
|
||||
.endunion
|
||||
.union
|
||||
r8 .word
|
||||
.struct
|
||||
r8L .byte
|
||||
r8H .byte
|
||||
.endstruct
|
||||
.endunion
|
||||
.union
|
||||
r9 .word
|
||||
.struct
|
||||
r9L .byte
|
||||
r9H .byte
|
||||
.endstruct
|
||||
.endunion
|
||||
.union
|
||||
r10 .word
|
||||
.struct
|
||||
r10L .byte
|
||||
r10H .byte
|
||||
.endstruct
|
||||
.endunion
|
||||
.union
|
||||
r11 .word
|
||||
.struct
|
||||
r11L .byte
|
||||
r11H .byte
|
||||
.endstruct
|
||||
.endunion
|
||||
.union
|
||||
r12 .word
|
||||
.struct
|
||||
r12L .byte
|
||||
r12H .byte
|
||||
.endstruct
|
||||
.endunion
|
||||
.union
|
||||
r13 .word
|
||||
.struct
|
||||
r13L .byte
|
||||
r13H .byte
|
||||
.endstruct
|
||||
.endunion
|
||||
.union
|
||||
r14 .word
|
||||
.struct
|
||||
r14L .byte
|
||||
r14H .byte
|
||||
.endstruct
|
||||
.endunion
|
||||
.union
|
||||
r15 .word
|
||||
.struct
|
||||
r15L .byte
|
||||
r15H .byte
|
||||
.endstruct
|
||||
.endunion
|
||||
.endstruct
|
||||
|
||||
; Kernal
|
||||
KTEMP2 := $80 ; 2 bytes for temporary storage
|
||||
IMPARM := $82 ; Pointer for PRIMM function
|
||||
FNAM := $8A ; Pointer to filename
|
||||
|
||||
; BASIC
|
||||
TXTPTR := $EE ; Pointer into BASIC source code
|
||||
|
||||
; Page two
|
||||
|
||||
BASIC_BUF := $0200 ; Location of command-line
|
||||
BASIC_BUF_LEN = 81 ; Maximum length of command-line
|
||||
|
||||
SCREEN_PTR := $0262 ; Pointer to current row on text screen (16 bits)
|
||||
STATUS := $0287 ; Status from previous I/O operation
|
||||
IN_DEV := $028B ; Current input device number
|
||||
OUT_DEV := $028C ; Current output device number
|
||||
FNAM_LEN := $028F ; Length of filename
|
||||
SECADR := $0291 ; Secondary address
|
||||
DEVNUM := $0292 ; Device number
|
||||
CURS_COLOR := $0373 ; Color under the cursor
|
||||
CHARCOLOR := $0376 ; Cursor's color nybbles (high: background, low: foreground)
|
||||
RVS := $0377 ; Reverse flag
|
||||
CURS_FLAG := $037B ; 1 = cursor off
|
||||
CURS_BLINK := $037C ; Blink counter
|
||||
CURS_CHAR := $037D ; Character under the cursor
|
||||
CURS_STATE := $037E ; Cursor blink state
|
||||
CURS_X := $0380 ; Cursor column
|
||||
CURS_Y := $0383 ; Cursor row
|
||||
LLEN := $0386 ; Line length
|
||||
NLINES := $0387 ; Number of screen lines
|
||||
|
||||
; BASIC
|
||||
VARTAB := $03E1 ; Pointer to start of BASIC variables
|
||||
MEMSIZE := $0259 ; Pointer to highest BASIC RAM location (+1)
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
; Vector and other locations
|
||||
|
||||
IRQVec := $0314
|
||||
BRKVec := $0316
|
||||
NMIVec := $0318
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
; I/O locations
|
||||
|
||||
; 65C22 Versatile Interface Adapter
|
||||
.struct VIA1 ; Versatile Interface Adapter
|
||||
.org $9F00
|
||||
PRB .byte ; mouse, LED, VIC bus (Port Register B)
|
||||
PRA .byte ; keyboard, controllers (Port Register A)
|
||||
DDRB .byte ; (Data Direction Register B)
|
||||
DDRA .byte ; (Data Direction Register A)
|
||||
T1 .word ; (Timer 1)
|
||||
T1L .word ; (Timer 1 Latch)
|
||||
T2 .word ; (Timer 2)
|
||||
SR .byte ; (Shift Register)
|
||||
ACR .byte ; (Auxiliary Control Register)
|
||||
PCR .byte ; (Peripheral Control Register)
|
||||
IFR .byte ; (Interrupt Flags Register)
|
||||
IER .byte ; (Interrupt Enable Register)
|
||||
PRA2 .byte ; keyboard, controllers (PRA without handshake)
|
||||
.endstruct
|
||||
|
||||
; 65C22 Versatile Interface Adapter
|
||||
.struct VIA2
|
||||
.org $9F10
|
||||
PRB .byte
|
||||
PRA .byte
|
||||
DDRB .byte
|
||||
DDRA .byte
|
||||
T1 .word
|
||||
T1L .word
|
||||
T2 .word
|
||||
SR .byte
|
||||
ACR .byte
|
||||
PCR .byte
|
||||
IFR .byte
|
||||
IER .byte
|
||||
PRA2 .byte
|
||||
.endstruct
|
||||
|
||||
; Video Enhanced Retro Adapter
|
||||
; Has audio and SPI.
|
||||
.scope VERA
|
||||
|
||||
; External registers
|
||||
|
||||
.struct
|
||||
.org $9F20
|
||||
ADDR .faraddr ; Address for data port access
|
||||
DATA0 .byte ; First data port
|
||||
DATA1 .byte ; Second data port
|
||||
CTRL .byte ; Control register
|
||||
IRQ_EN .byte ; Interrupt enable bits
|
||||
IRQ_FLAGS .byte ; Interrupt flags
|
||||
IRQ_RASTER .byte ; Line where IRQ will occur
|
||||
.endstruct
|
||||
.enum ; Address automatic increment amounts
|
||||
DEC0 = (($00 << 1) | $01) << 3
|
||||
DEC1 = (($01 << 1) | $01) << 3
|
||||
DEC2 = (($02 << 1) | $01) << 3
|
||||
DEC4 = (($03 << 1) | $01) << 3
|
||||
DEC8 = (($04 << 1) | $01) << 3
|
||||
DEC16 = (($05 << 1) | $01) << 3
|
||||
DEC32 = (($06 << 1) | $01) << 3
|
||||
DEC64 = (($07 << 1) | $01) << 3
|
||||
DEC128 = (($08 << 1) | $01) << 3
|
||||
DEC256 = (($09 << 1) | $01) << 3
|
||||
DEC512 = (($0A << 1) | $01) << 3
|
||||
DEC40 = (($0B << 1) | $01) << 3
|
||||
DEC80 = (($0C << 1) | $01) << 3
|
||||
DEC160 = (($0D << 1) | $01) << 3
|
||||
DEC320 = (($0E << 1) | $01) << 3
|
||||
DEC640 = (($0F << 1) | $01) << 3
|
||||
INC0 = (($00 << 1) | $00) << 3
|
||||
INC1 = (($01 << 1) | $00) << 3
|
||||
INC2 = (($02 << 1) | $00) << 3
|
||||
INC4 = (($03 << 1) | $00) << 3
|
||||
INC8 = (($04 << 1) | $00) << 3
|
||||
INC16 = (($05 << 1) | $00) << 3
|
||||
INC32 = (($06 << 1) | $00) << 3
|
||||
INC64 = (($07 << 1) | $00) << 3
|
||||
INC128 = (($08 << 1) | $00) << 3
|
||||
INC256 = (($09 << 1) | $00) << 3
|
||||
INC512 = (($0A << 1) | $00) << 3
|
||||
INC40 = (($0B << 1) | $00) << 3
|
||||
INC80 = (($0C << 1) | $00) << 3
|
||||
INC160 = (($0D << 1) | $00) << 3
|
||||
INC320 = (($0E << 1) | $00) << 3
|
||||
INC640 = (($0F << 1) | $00) << 3
|
||||
.endenum
|
||||
.enum ; Interrupt request flags
|
||||
VERT_SYNC = %00000001
|
||||
RASTER_IRQ = %00000010
|
||||
SPR_COLLIDED = %00000100
|
||||
AUDIO_LOW = %00001000
|
||||
.endenum
|
||||
.scope DISP ; Display controller
|
||||
SELECT1 = %00000010
|
||||
.union
|
||||
.org $9F29
|
||||
.struct
|
||||
; These four registers are visible when the DCSEL flag = %0
|
||||
VIDEO .byte
|
||||
HSCALE .byte
|
||||
VSCALE .byte
|
||||
FRAME .byte
|
||||
.endstruct
|
||||
.struct
|
||||
; These four registers are visible when the DCSEL flag = %1
|
||||
HSTART .byte
|
||||
HSTOP .byte
|
||||
VSTART .byte
|
||||
VSTOP .byte
|
||||
.endstruct
|
||||
.endunion
|
||||
.enum MODE ; Output mode
|
||||
DISABLE = $00
|
||||
VGA
|
||||
NTSC
|
||||
RGB ; Interlaced, composite sync
|
||||
.endenum
|
||||
.enum DISABLE
|
||||
COLOR = %00000100 ; NTSC monochrome
|
||||
.endenum
|
||||
.enum ENABLE
|
||||
LAYER0 = %00010000
|
||||
LAYER1 = %00100000
|
||||
SPRITES = %01000000
|
||||
.endenum
|
||||
.endscope
|
||||
.struct L0 ; Display layer 0
|
||||
.org $9F2D
|
||||
CONFIG .byte
|
||||
MAP_BASE .byte
|
||||
TILE_BASE .byte
|
||||
HSCROLL .word
|
||||
VSCROLL .word
|
||||
.endstruct
|
||||
.struct L1 ; Display layer 1
|
||||
.org $9F34
|
||||
CONFIG .byte
|
||||
MAP_BASE .byte
|
||||
TILE_BASE .byte
|
||||
HSCROLL .word
|
||||
VSCROLL .word
|
||||
.endstruct
|
||||
.enum ; Layer display modes
|
||||
TILE1BPP = %00000000 | $00
|
||||
TILE2BPP
|
||||
TILE4BPP
|
||||
TILE8BPP
|
||||
T256C = %00001000
|
||||
BITMAP1BPP = %00000100 | $00
|
||||
BITMAP2BPP
|
||||
BITMAP4BPP
|
||||
BITMAP8BPP
|
||||
.endenum
|
||||
.enum MAP ; Map geometry
|
||||
WIDTH32 = $00 << 4
|
||||
WIDTH64 = $01 << 4
|
||||
WIDTH128 = $02 << 4
|
||||
WIDTH256 = $03 << 4
|
||||
HEIGHT32 = $00 << 6
|
||||
HEIGHT64 = $01 << 6
|
||||
HEIGHT128 = $02 << 6
|
||||
HEIGHT256 = $03 << 6
|
||||
.endenum
|
||||
.enum TILE ; Tile geometry
|
||||
WIDTH8 = $00
|
||||
WIDTH16 = $01
|
||||
WIDTH320 = WIDTH8
|
||||
WIDTH640 = WIDTH16
|
||||
HEIGHT8 = $00 << 1
|
||||
HEIGHT16 = $01 << 1
|
||||
.endenum
|
||||
.scope PCM ; Pulse-Code Modulator
|
||||
.struct
|
||||
.org $9F3B
|
||||
CTRL .byte
|
||||
RATE .byte
|
||||
DATA .byte
|
||||
.endstruct
|
||||
.enum
|
||||
STEREO = %00010000
|
||||
BITS16 = %00100000
|
||||
RESET = %10000000
|
||||
.endenum
|
||||
.endscope
|
||||
.scope SPI
|
||||
.struct
|
||||
.org $9F3E
|
||||
DATA .byte
|
||||
CTRL .byte
|
||||
.endstruct
|
||||
.enum
|
||||
SELECT = %00000001
|
||||
SLOW = %00000010
|
||||
.endenum
|
||||
.endscope
|
||||
|
||||
; Internal RAM and registers
|
||||
|
||||
.struct
|
||||
.org $000000
|
||||
VRAM .res $020000 ; 128 Kibibytes
|
||||
.endstruct
|
||||
.scope PSG ; Programmable Sound Generator
|
||||
.struct
|
||||
PITCH .word
|
||||
VOL .byte ; Right, left sides; volume
|
||||
WAVEFORM .byte ; Wave shape, pulse width
|
||||
.endstruct
|
||||
LEFT = %01 << 6
|
||||
RIGHT = %10 << 6
|
||||
.enum
|
||||
PULSE = $00 << 6
|
||||
SAWTOOTH = $01 << 6
|
||||
TRIANGLE = $02 << 6
|
||||
NOISE = $03 << 6
|
||||
.endenum
|
||||
.struct
|
||||
.org $01F9C0
|
||||
VOICES .res $10 * 4
|
||||
.endstruct
|
||||
.endscope
|
||||
.struct
|
||||
.org $01FA00
|
||||
PALETTE .word $0100
|
||||
.endstruct
|
||||
.scope SPRITE
|
||||
.struct ; Sprite attributes
|
||||
ADDR .addr ; Address and color mode
|
||||
XX .word ; Co-ordinates
|
||||
YY .word
|
||||
Z_FLIP .byte ; Collision mask, Z-depth, flip bits
|
||||
SIZE_PAL .byte
|
||||
.endstruct
|
||||
.enum FLIP
|
||||
NONE = %00000000
|
||||
HORIZ
|
||||
VERT
|
||||
BOTH
|
||||
.endenum
|
||||
.enum DEPTH
|
||||
DISABLE = $00 << 2
|
||||
CANVAS = $01 << 2
|
||||
LAYER0 = $02 << 2
|
||||
LAYER1 = $03 << 2
|
||||
.endenum
|
||||
.enum ; Sprite geometry
|
||||
WIDTH8 = $00 << 4
|
||||
WIDTH16 = $01 << 4
|
||||
WIDTH32 = $02 << 4
|
||||
WIDTH64 = $03 << 4
|
||||
HEIGHT8 = $00 << 6
|
||||
HEIGHT16 = $01 << 6
|
||||
HEIGHT32 = $02 << 6
|
||||
HEIGHT64 = $03 << 6
|
||||
COLORS16 = $00 << 7
|
||||
COLORS256 = $01 << 7
|
||||
.endenum
|
||||
.endscope
|
||||
.struct
|
||||
.org $01FC00
|
||||
SPRITES .res 128 * 8
|
||||
.endstruct
|
||||
.endscope
|
||||
|
||||
; YM2151 audio chip
|
||||
.struct YM2151
|
||||
.org $9F40
|
||||
ADDR .byte
|
||||
.union
|
||||
DATA .byte
|
||||
STATUS .byte
|
||||
.endunion
|
||||
.endstruct
|
||||
|
||||
; X16 Emulator device
|
||||
; This device doesn't exist on the real machine.
|
||||
.struct EMULATOR
|
||||
.org $9FB0
|
||||
DEBUG .byte ; Boolean: debugging enabled
|
||||
VERALOG .byte ; Boolean: log VERA activity
|
||||
KEYBOARDLOG .byte ; Boolean: log keyboard data
|
||||
ECHO .byte ; Type of echo that's enabled
|
||||
SAVEXIT .byte ; Boolean: save machine state on exit
|
||||
GIFREC .byte ; Method of recording GIF movie
|
||||
.res 2
|
||||
CYCLECOUNT .dword ; Running count of CPU cycles (Read-Only)
|
||||
.res 1
|
||||
KEYMAP .byte ; Current keyboard layout number (Read-Only)
|
||||
DETECT .byte 2 ; If is "16" string, then running on emulator (RO)
|
||||
.endstruct
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
; Banked RAM and ROM
|
||||
|
||||
TIMER := $A03B ; (bank 0) 60 Hz. timer (3 bytes, big-endian)
|
||||
|
||||
.struct BANK
|
||||
.org $A000
|
||||
RAM .res $2000 ; 8 Kibibyte window into 512 Kibibytes or 2048 Kibibytes
|
||||
ROM .res $4000 ; 16 Kibibyte window into 128 Kibibytes
|
||||
.endstruct
|
||||
49
asminc/em-error.inc
Normal file
49
asminc/em-error.inc
Normal file
|
|
@ -0,0 +1,49 @@
|
|||
;/*****************************************************************************/
|
||||
;/* */
|
||||
;/* em-error.inc */
|
||||
;/* */
|
||||
;/* EM error codes */
|
||||
;/* */
|
||||
;/* */
|
||||
;/* */
|
||||
;/* (C) 2002-2012, Ullrich von Bassewitz */
|
||||
;/* Roemerstrasse 52 */
|
||||
;/* D-70794 Filderstadt */
|
||||
;/* EMail: uz@cc65.org */
|
||||
;/* */
|
||||
;/* */
|
||||
;/* This software is provided 'as-is', without any expressed or implied */
|
||||
;/* warranty. In no event will the authors be held liable for any damages */
|
||||
;/* arising from the use of this software. */
|
||||
;/* */
|
||||
;/* Permission is granted to anyone to use this software for any purpose, */
|
||||
;/* including commercial applications, and to alter it and redistribute it */
|
||||
;/* freely, subject to the following restrictions: */
|
||||
;/* */
|
||||
;/* 1. The origin of this software must not be misrepresented; you must not */
|
||||
;/* claim that you wrote the original software. If you use this software */
|
||||
;/* in a product, an acknowledgment in the product documentation would be */
|
||||
;/* appreciated but is not required. */
|
||||
;/* 2. Altered source versions must be plainly marked as such, and must not */
|
||||
;/* be misrepresented as being the original software. */
|
||||
;/* 3. This notice may not be removed or altered from any source */
|
||||
;/* distribution. */
|
||||
;/* */
|
||||
;/*****************************************************************************/
|
||||
|
||||
|
||||
|
||||
; Error constants
|
||||
.enum
|
||||
EM_ERR_OK ; No error
|
||||
EM_ERR_NO_DRIVER ; No driver available
|
||||
EM_ERR_CANNOT_LOAD ; Error loading driver
|
||||
EM_ERR_INV_DRIVER ; Invalid driver
|
||||
EM_ERR_NO_DEVICE ; Device (hardware) not found
|
||||
EM_ERR_INSTALLED ; A driver is already installed
|
||||
|
||||
EM_ERR_COUNT ; Special: Number of error messages
|
||||
.endenum
|
||||
|
||||
|
||||
|
||||
106
asminc/em-kernel.inc
Normal file
106
asminc/em-kernel.inc
Normal file
|
|
@ -0,0 +1,106 @@
|
|||
;/*****************************************************************************/
|
||||
;/* */
|
||||
;/* em-kernel.inc */
|
||||
;/* */
|
||||
;/* EM kernel interface */
|
||||
;/* */
|
||||
;/* */
|
||||
;/* */
|
||||
;/* (C) 2002-2003 Ullrich von Bassewitz */
|
||||
;/* Roemerstrasse 52 */
|
||||
;/* D-70794 Filderstadt */
|
||||
;/* EMail: uz@cc65.org */
|
||||
;/* */
|
||||
;/* */
|
||||
;/* This software is provided 'as-is', without any expressed or implied */
|
||||
;/* warranty. In no event will the authors be held liable for any damages */
|
||||
;/* arising from the use of this software. */
|
||||
;/* */
|
||||
;/* Permission is granted to anyone to use this software for any purpose, */
|
||||
;/* including commercial applications, and to alter it and redistribute it */
|
||||
;/* freely, subject to the following restrictions: */
|
||||
;/* */
|
||||
;/* 1. The origin of this software must not be misrepresented; you must not */
|
||||
;/* claim that you wrote the original software. If you use this software */
|
||||
;/* in a product, an acknowledgment in the product documentation would be */
|
||||
;/* appreciated but is not required. */
|
||||
;/* 2. Altered source versions must be plainly marked as such, and must not */
|
||||
;/* be misrepresented as being the original software. */
|
||||
;/* 3. This notice may not be removed or altered from any source */
|
||||
;/* distribution. */
|
||||
;/* */
|
||||
;/*****************************************************************************/
|
||||
|
||||
|
||||
|
||||
;------------------------------------------------------------------------------
|
||||
; The driver header
|
||||
|
||||
.struct EMD_HDR
|
||||
ID .byte 3 ; Contains 0x65, 0x6d, 0x64 ("emd")
|
||||
VERSION .byte 1 ; Interface version
|
||||
LIBREF .addr ; Library reference
|
||||
JUMPTAB .struct
|
||||
INSTALL .addr ; INSTALL routine
|
||||
UNINSTALL .addr ; UNINSTALL routine
|
||||
PAGECOUNT .addr ; PAGECOUNT routine
|
||||
MAP .addr ; MAP routine
|
||||
USE .addr ; USE routine
|
||||
MAPCLEAN .addr ; MAPCLEAN routine
|
||||
COPYFROM .addr ; COPYFROM routine
|
||||
COPYTO .addr ; COPYTO routine
|
||||
.endstruct
|
||||
.endstruct
|
||||
|
||||
;------------------------------------------------------------------------------
|
||||
; The EMD API version, stored in EMD_HDR::VERSION
|
||||
|
||||
EMD_API_VERSION = $02
|
||||
|
||||
;------------------------------------------------------------------------------
|
||||
; The asm equivalent to the C em_copy structure
|
||||
|
||||
.struct EM_COPY
|
||||
BUF .addr ; Memory buffer to copy from or to
|
||||
OFFS .byte ; Offset into page
|
||||
PAGE .word ; Starting page to copy from or to
|
||||
COUNT .word ; Number of bytes to copy
|
||||
UNUSED .byte ; Make the size 8 bytes
|
||||
.endstruct
|
||||
|
||||
;------------------------------------------------------------------------------
|
||||
; Variables
|
||||
|
||||
.global _em_drv ; Pointer to driver
|
||||
|
||||
;------------------------------------------------------------------------------
|
||||
; Driver entry points
|
||||
|
||||
.global emd_install
|
||||
.global emd_uninstall
|
||||
.global emd_pagecount
|
||||
.global emd_map
|
||||
.global emd_use
|
||||
.global emd_commit
|
||||
.global emd_copyfrom
|
||||
.global emd_copyto
|
||||
|
||||
;------------------------------------------------------------------------------
|
||||
; ASM functions
|
||||
|
||||
.global em_clear_ptr
|
||||
|
||||
;------------------------------------------------------------------------------
|
||||
; C callable functions
|
||||
|
||||
.global _em_load_driver
|
||||
.global _em_unload
|
||||
.global _em_install
|
||||
.global _em_uninstall
|
||||
.global _em_pagecount
|
||||
.global _em_map
|
||||
.global _em_use
|
||||
.global _em_commit
|
||||
.global _em_copyfrom
|
||||
.global _em_copyto
|
||||
|
||||
37
asminc/errno.inc
Normal file
37
asminc/errno.inc
Normal file
|
|
@ -0,0 +1,37 @@
|
|||
;
|
||||
; Ullrich von Bassewitz, 16.05.2000
|
||||
;
|
||||
|
||||
; Variables and functions
|
||||
|
||||
.global ___errno, ___oserror
|
||||
.global ___osmaperrno
|
||||
.global ___seterrno
|
||||
.global ___directerrno, ___mappederrno
|
||||
|
||||
; Error codes, must match the values in the C headers
|
||||
.enum
|
||||
EOK ; No error
|
||||
ENOENT ; No such file or directory
|
||||
ENOMEM ; Out of memory
|
||||
EACCES ; Permission denied
|
||||
ENODEV ; No such device
|
||||
EMFILE ; Too many open files
|
||||
EBUSY ; Device or resource busy
|
||||
EINVAL ; Invalid argument
|
||||
ENOSPC ; No space left on device
|
||||
EEXIST ; File exists
|
||||
EAGAIN ; Try again
|
||||
EIO ; I/O error
|
||||
EINTR ; Interrupted system call
|
||||
ENOSYS ; Function not implemented
|
||||
ESPIPE ; Illegal seek
|
||||
ERANGE ; Range error
|
||||
EBADF ; Bad file number
|
||||
ENOEXEC ; Exec format error
|
||||
EUNKNOWN ; Unknown OS specific error - must be last!
|
||||
|
||||
EMAX = EUNKNOWN ; Highest error code
|
||||
.endenum
|
||||
|
||||
|
||||
21
asminc/fcntl.inc
Normal file
21
asminc/fcntl.inc
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
;
|
||||
; Ullrich von Bassewitz, 05.06.1999
|
||||
;
|
||||
|
||||
; Predefined file handles
|
||||
STDIN_FILENO = 0
|
||||
STDOUT_FILENO = 1
|
||||
STDERR_FILENO = 2
|
||||
|
||||
; File mode constants, must match the values in the C headers
|
||||
O_RDONLY = $01
|
||||
O_WRONLY = $02
|
||||
O_RDWR = $03
|
||||
O_CREAT = $10
|
||||
O_TRUNC = $20
|
||||
O_APPEND = $40
|
||||
O_EXCL = $80
|
||||
|
||||
|
||||
|
||||
|
||||
64
asminc/gamate.inc
Normal file
64
asminc/gamate.inc
Normal file
|
|
@ -0,0 +1,64 @@
|
|||
;-------------------------------------------------------------------------------
|
||||
; gamate.inc
|
||||
;
|
||||
; Gamate system specific definitions
|
||||
;
|
||||
; (w) 2015 Groepaz/Hitmen (groepaz@gmx.net)
|
||||
; based on technical reference by PeT (mess@utanet.at)
|
||||
;-------------------------------------------------------------------------------
|
||||
|
||||
; look at gamate.h for comments, they are not duplicated here
|
||||
|
||||
AUDIO_BASE = $4000
|
||||
|
||||
JOY_DATA = $4400
|
||||
|
||||
JOY_DATA_UP = $01
|
||||
JOY_DATA_DOWN = $02
|
||||
JOY_DATA_LEFT = $04
|
||||
JOY_DATA_RIGHT = $08
|
||||
JOY_DATA_FIRE_A = $10
|
||||
JOY_DATA_FIRE_B = $20
|
||||
JOY_DATA_START = $40
|
||||
JOY_DATA_SELECT = $80
|
||||
|
||||
LCD_WIDTH = 160
|
||||
LCD_HEIGHT = 152
|
||||
|
||||
LCD_BASE = $5000
|
||||
LCD_MODE = $5001
|
||||
LCD_XPOS = $5002
|
||||
LCD_YPOS = $5003
|
||||
LCD_X = $5004
|
||||
LCD_Y = $5005
|
||||
LCD_READ = $5006
|
||||
LCD_DATA = $5007
|
||||
|
||||
LCD_MODE_INC_X = $00
|
||||
LCD_MODE_INC_Y = $40
|
||||
LCD_XPOS_PLANE1 = $00
|
||||
LCD_XPOS_PLANE2 = $80
|
||||
|
||||
; constants for the conio implementation
|
||||
charsperline = (LCD_WIDTH / 8)
|
||||
screenrows = (LCD_HEIGHT / 8)
|
||||
|
||||
CH_HLINE = 1
|
||||
CH_VLINE = 2
|
||||
|
||||
COLOR_WHITE = 0
|
||||
COLOR_GREY2 = 1
|
||||
COLOR_GREY1 = 2
|
||||
COLOR_BLACK = 3
|
||||
|
||||
; bios zp usage:
|
||||
ZP_NMI_4800 = $0a
|
||||
ZP_IRQ_COUNT = $0b
|
||||
ZP_IRQ_CTRL = $0c
|
||||
|
||||
ZP_IRQ_CNT1 = $0e
|
||||
ZP_IRQ_CNT2 = $0f
|
||||
ZP_IRQ_CNT3 = $10
|
||||
ZP_IRQ_CNT4 = $11
|
||||
|
||||
ZP_NMI_FLAG = $e8
|
||||
53
asminc/generic.mac
Normal file
53
asminc/generic.mac
Normal file
|
|
@ -0,0 +1,53 @@
|
|||
|
||||
; add - Add without carry
|
||||
.macro add Arg1, Arg2
|
||||
clc
|
||||
.if .paramcount = 2
|
||||
adc Arg1, Arg2
|
||||
.else
|
||||
adc Arg1
|
||||
.endif
|
||||
.endmacro
|
||||
|
||||
; sub - subtract without borrow
|
||||
.macro sub Arg1, Arg2
|
||||
sec
|
||||
.if .paramcount = 2
|
||||
sbc Arg1, Arg2
|
||||
.else
|
||||
sbc Arg1
|
||||
.endif
|
||||
.endmacro
|
||||
|
||||
; bge - jump if unsigned greater or equal
|
||||
.macro bge Arg
|
||||
bcs Arg
|
||||
.endmacro
|
||||
|
||||
; blt - Jump if unsigned less
|
||||
.macro blt Arg
|
||||
bcc Arg
|
||||
.endmacro
|
||||
|
||||
; bgt - jump if unsigned greater
|
||||
.macro bgt Arg
|
||||
beq *+4
|
||||
bcs Arg
|
||||
.endmacro
|
||||
|
||||
; ble - jump if unsigned less or equal
|
||||
.macro ble Arg
|
||||
beq Arg
|
||||
bcc Arg
|
||||
.endmacro
|
||||
|
||||
; bnz - jump if not zero
|
||||
.macro bnz Arg
|
||||
bne Arg
|
||||
.endmacro
|
||||
|
||||
; bze - jump if zero
|
||||
.macro bze Arg
|
||||
beq Arg
|
||||
.endmacro
|
||||
|
||||
22
asminc/get_tv.inc
Normal file
22
asminc/get_tv.inc
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
;
|
||||
; get_tv.inc
|
||||
;
|
||||
; Ullrich von Bassewitz, 2004-10-15
|
||||
;
|
||||
; Defines for the get_tv function.
|
||||
|
||||
|
||||
|
||||
; Error codes returned by all functions
|
||||
.enum TV
|
||||
NTSC
|
||||
PAL
|
||||
OTHER
|
||||
.endenum
|
||||
|
||||
|
||||
; get_tv function
|
||||
|
||||
.global _get_tv
|
||||
|
||||
|
||||
44
asminc/joy-error.inc
Normal file
44
asminc/joy-error.inc
Normal file
|
|
@ -0,0 +1,44 @@
|
|||
;/*****************************************************************************/
|
||||
;/* */
|
||||
;/* joy-error.inc */
|
||||
;/* */
|
||||
;/* Joystick error codes */
|
||||
;/* */
|
||||
;/* */
|
||||
;/* */
|
||||
;/* (C) 2002 Ullrich von Bassewitz */
|
||||
;/* Wacholderweg 14 */
|
||||
;/* D-70597 Stuttgart */
|
||||
;/* EMail: uz@musoftware.de */
|
||||
;/* */
|
||||
;/* */
|
||||
;/* This software is provided 'as-is', without any expressed or implied */
|
||||
;/* warranty. In no event will the authors be held liable for any damages */
|
||||
;/* arising from the use of this software. */
|
||||
;/* */
|
||||
;/* Permission is granted to anyone to use this software for any purpose, */
|
||||
;/* including commercial applications, and to alter it and redistribute it */
|
||||
;/* freely, subject to the following restrictions: */
|
||||
;/* */
|
||||
;/* 1. The origin of this software must not be misrepresented; you must not */
|
||||
;/* claim that you wrote the original software. If you use this software */
|
||||
;/* in a product, an acknowledgment in the product documentation would be */
|
||||
;/* appreciated but is not required. */
|
||||
;/* 2. Altered source versions must be plainly marked as such, and must not */
|
||||
;/* be misrepresented as being the original software. */
|
||||
;/* 3. This notice may not be removed or altered from any source */
|
||||
;/* distribution. */
|
||||
;/* */
|
||||
;/*****************************************************************************/
|
||||
|
||||
|
||||
|
||||
; Error codes
|
||||
JOY_ERR_OK = 0 ; No error
|
||||
JOY_ERR_NO_DRIVER = 1 ; No driver available
|
||||
JOY_ERR_CANNOT_LOAD = 2 ; Error loading driver
|
||||
JOY_ERR_INV_DRIVER = 3 ; Invalid driver
|
||||
JOY_ERR_NO_DEVICE = 4 ; Device (hardware) not found
|
||||
|
||||
|
||||
|
||||
83
asminc/joy-kernel.inc
Normal file
83
asminc/joy-kernel.inc
Normal file
|
|
@ -0,0 +1,83 @@
|
|||
;/*****************************************************************************/
|
||||
;/* */
|
||||
;/* joy-kernel.inc */
|
||||
;/* */
|
||||
;/* Internally used joystick functions */
|
||||
;/* */
|
||||
;/* */
|
||||
;/* */
|
||||
;/* (C) 2002-2006, Ullrich von Bassewitz */
|
||||
;/* Roemerstrasse 52 */
|
||||
;/* D-70794 Filderstadt */
|
||||
;/* EMail: uz@cc65.org */
|
||||
;/* */
|
||||
;/* */
|
||||
;/* This software is provided 'as-is', without any expressed or implied */
|
||||
;/* warranty. In no event will the authors be held liable for any damages */
|
||||
;/* arising from the use of this software. */
|
||||
;/* */
|
||||
;/* Permission is granted to anyone to use this software for any purpose, */
|
||||
;/* including commercial applications, and to alter it and redistribute it */
|
||||
;/* freely, subject to the following restrictions: */
|
||||
;/* */
|
||||
;/* 1. The origin of this software must not be misrepresented; you must not */
|
||||
;/* claim that you wrote the original software. If you use this software */
|
||||
;/* in a product, an acknowledgment in the product documentation would be */
|
||||
;/* appreciated but is not required. */
|
||||
;/* 2. Altered source versions must be plainly marked as such, and must not */
|
||||
;/* be misrepresented as being the original software. */
|
||||
;/* 3. This notice may not be removed or altered from any source */
|
||||
;/* distribution. */
|
||||
;/* */
|
||||
;/*****************************************************************************/
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
;------------------------------------------------------------------------------
|
||||
; Driver header stuff
|
||||
|
||||
.struct JOY_HDR
|
||||
ID .byte 3 ; $6A, $6F, $79 ("joy")
|
||||
VERSION .byte 1 ; Interface version
|
||||
LIBREF .addr ; Library reference
|
||||
JUMPTAB .struct
|
||||
INSTALL .addr ; INSTALL routine
|
||||
UNINSTALL .addr ; UNINSTALL routine
|
||||
COUNT .addr ; COUNT routine
|
||||
READ .addr ; READ routine
|
||||
.endstruct
|
||||
.endstruct
|
||||
|
||||
;------------------------------------------------------------------------------
|
||||
; The JOY API version, stored in JOY_HDR::VERSION
|
||||
|
||||
JOY_API_VERSION = $05
|
||||
|
||||
;------------------------------------------------------------------------------
|
||||
; Variables
|
||||
|
||||
.global _joy_drv ; Pointer to driver
|
||||
.global _joy_masks
|
||||
|
||||
;------------------------------------------------------------------------------
|
||||
; Driver entry points
|
||||
|
||||
.global joy_install
|
||||
.global joy_uninstall
|
||||
.global joy_count
|
||||
.global joy_read
|
||||
|
||||
;------------------------------------------------------------------------------
|
||||
; C callable functions
|
||||
|
||||
.global _joy_load_driver
|
||||
.global _joy_unload
|
||||
.global _joy_install
|
||||
.global _joy_uninstall
|
||||
.global _joy_count
|
||||
.global _joy_read
|
||||
|
||||
.global _joy_clear_ptr
|
||||
31
asminc/kim1.inc
Normal file
31
asminc/kim1.inc
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
; ---------------------------------------------------------------------------
|
||||
;
|
||||
; KIM-1 definitions
|
||||
;
|
||||
; ---------------------------------------------------------------------------
|
||||
|
||||
|
||||
RAMSTART := $0200 ; Entry point
|
||||
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
; Monitor Functions
|
||||
; ---------------------------------------------------------------------------
|
||||
OUTCHR := $1EA0 ; Output character
|
||||
INTCHR := $1E5A ; Input character without case conversion
|
||||
DUMPT := $1800 ; Dump memory to tape
|
||||
LOADT := $1873 ; Load memory from tape
|
||||
START := $1C4F ; Enter KIM-1 monitor
|
||||
SCANDS := $1F1F ; Scan 7-segment display
|
||||
KEYIN := $1F40 ; Open up keyboard channel
|
||||
GETKEY := $1F6A ; Return key from keyboard
|
||||
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
; System Memory
|
||||
; ---------------------------------------------------------------------------
|
||||
SAL := $17F5 ; Tape load address low
|
||||
SAH := $17F6 ; Tape load address high
|
||||
EAL := $17F7 ; Tape address end low
|
||||
EAH := $17F8 ; Tape address end high
|
||||
ID := $17F9 ; Tape Identification number
|
||||
88
asminc/longbranch.mac
Normal file
88
asminc/longbranch.mac
Normal file
|
|
@ -0,0 +1,88 @@
|
|||
.macro jeq Target
|
||||
.if .match(Target, 0)
|
||||
bne *+5
|
||||
jmp Target
|
||||
.elseif .def(Target) .and .const((*-2)-(Target)) .and ((*+2)-(Target) <= 127)
|
||||
beq Target
|
||||
.else
|
||||
bne *+5
|
||||
jmp Target
|
||||
.endif
|
||||
.endmacro
|
||||
.macro jne Target
|
||||
.if .match(Target, 0)
|
||||
beq *+5
|
||||
jmp Target
|
||||
.elseif .def(Target) .and .const((*-2)-(Target)) .and ((*+2)-(Target) <= 127)
|
||||
bne Target
|
||||
.else
|
||||
beq *+5
|
||||
jmp Target
|
||||
.endif
|
||||
.endmacro
|
||||
.macro jmi Target
|
||||
.if .match(Target, 0)
|
||||
bpl *+5
|
||||
jmp Target
|
||||
.elseif .def(Target) .and .const((*-2)-(Target)) .and ((*+2)-(Target) <= 127)
|
||||
bmi Target
|
||||
.else
|
||||
bpl *+5
|
||||
jmp Target
|
||||
.endif
|
||||
.endmacro
|
||||
.macro jpl Target
|
||||
.if .match(Target, 0)
|
||||
bmi *+5
|
||||
jmp Target
|
||||
.elseif .def(Target) .and .const((*-2)-(Target)) .and ((*+2)-(Target) <= 127)
|
||||
bpl Target
|
||||
.else
|
||||
bmi *+5
|
||||
jmp Target
|
||||
.endif
|
||||
.endmacro
|
||||
.macro jcs Target
|
||||
.if .match(Target, 0)
|
||||
bcc *+5
|
||||
jmp Target
|
||||
.elseif .def(Target) .and .const((*-2)-(Target)) .and ((*+2)-(Target) <= 127)
|
||||
bcs Target
|
||||
.else
|
||||
bcc *+5
|
||||
jmp Target
|
||||
.endif
|
||||
.endmacro
|
||||
.macro jcc Target
|
||||
.if .match(Target, 0)
|
||||
bcs *+5
|
||||
jmp Target
|
||||
.elseif .def(Target) .and .const((*-2)-(Target)) .and ((*+2)-(Target) <= 127)
|
||||
bcc Target
|
||||
.else
|
||||
bcs *+5
|
||||
jmp Target
|
||||
.endif
|
||||
.endmacro
|
||||
.macro jvs Target
|
||||
.if .match(Target, 0)
|
||||
bvc *+5
|
||||
jmp Target
|
||||
.elseif .def(Target) .and .const((*-2)-(Target)) .and ((*+2)-(Target) <= 127)
|
||||
bvs Target
|
||||
.else
|
||||
bvc *+5
|
||||
jmp Target
|
||||
.endif
|
||||
.endmacro
|
||||
.macro jvc Target
|
||||
.if .match(Target, 0)
|
||||
bvs *+5
|
||||
jmp Target
|
||||
.elseif .def(Target) .and .const((*-2)-(Target)) .and ((*+2)-(Target) <= 127)
|
||||
bvc Target
|
||||
.else
|
||||
bvs *+5
|
||||
jmp Target
|
||||
.endif
|
||||
.endmacro
|
||||
460
asminc/lynx.inc
Normal file
460
asminc/lynx.inc
Normal file
|
|
@ -0,0 +1,460 @@
|
|||
; Lynx system hardware includes
|
||||
; Shawn Jefferson
|
||||
; June 18th, 2004
|
||||
;
|
||||
; Reference:
|
||||
; Bastian Schick's Lynx Documentation
|
||||
; http://www.geocities.ws/SiliconValley/Byte/4242/lynx/
|
||||
;
|
||||
|
||||
; ***
|
||||
; *** Suzy Addresses
|
||||
; ***
|
||||
|
||||
; Sprite Control Block
|
||||
|
||||
TMPADRL = $FC00
|
||||
TMPADRH = $FC01
|
||||
TILTACUML = $FC02
|
||||
TILTACUMH = $FC03
|
||||
HOFFL = $FC04
|
||||
HOFFH = $FC05
|
||||
VOFFL = $FC06
|
||||
VOFFH = $FC07
|
||||
VIDBASL = $FC08
|
||||
VIDBASH = $FC09
|
||||
COLLBASL = $FC0A
|
||||
COLLBASH = $FC0B
|
||||
VIDADRL = $FC0C
|
||||
VIDADRH = $FC0D
|
||||
COLLADRL = $FC0E
|
||||
COLLADRH = $FC0F
|
||||
SCBNEXTL = $FC10
|
||||
SCBNEXTH = $FC11
|
||||
SPRDLINEL = $FC12
|
||||
SPRDLINEH = $FC13
|
||||
HPOSSTRTL = $FC14
|
||||
HPOSSTRTH = $FC15
|
||||
VPOSSTRTL = $FC16
|
||||
VPOSSTRTH = $FC17
|
||||
SPRHSIZL = $FC18
|
||||
SPRHSIZH = $FC19
|
||||
SPRVSIZL = $FC1A
|
||||
SPRVSIZH = $FC1B
|
||||
STRETCHL = $FC1C
|
||||
STRETCHH = $FC1D
|
||||
TILTL = $FC1E
|
||||
TILTH = $FC1F
|
||||
SPRDOFFL = $FC20
|
||||
SPRDOFFH = $FC21
|
||||
SPRVPOSL = $FC22
|
||||
SPRVPOSH = $FC23
|
||||
COLLOFFL = $FC24
|
||||
COLLOFFH = $FC25
|
||||
VSIZACUML = $FC26
|
||||
VSIZACUMH = $FC27
|
||||
HSIZOFFL = $FC28
|
||||
HSIZOFFH = $FC29
|
||||
VSIZOFFL = $FC2A
|
||||
VSIZOFFH = $FC2B
|
||||
SCBADRL = $FC2C
|
||||
SCBADRH = $FC2D
|
||||
PROCADRL = $FC2E
|
||||
PROCADRH = $FC2F
|
||||
|
||||
; Suzy Math
|
||||
|
||||
MATHD = $FC52
|
||||
MATHC = $FC53
|
||||
MATHB = $FC54
|
||||
MATHA = $FC55
|
||||
MATHP = $FC56
|
||||
MATHN = $FC57
|
||||
MATHH = $FC60
|
||||
MATHG = $FC61
|
||||
MATHF = $FC62
|
||||
MATHE = $FC63
|
||||
MATHM = $FC6C
|
||||
MATHL = $FC6D
|
||||
MATHK = $FC6E
|
||||
MATHJ = $FC6F
|
||||
|
||||
; Suzy sprite engine
|
||||
|
||||
SPRCTL0 = $FC80
|
||||
; Sprite bits-per-pixel definitions
|
||||
BPP_MASK = %11000000 ; Mask for settings bits per pixel
|
||||
BPP_1 = %00000000
|
||||
BPP_2 = %01000000
|
||||
BPP_3 = %10000000
|
||||
BPP_4 = %11000000
|
||||
; More sprite control 0 bit definitions
|
||||
HFLIP = %00100000
|
||||
VFLIP = %00010000
|
||||
; Sprite types - redefined to reflect the reality caused by the shadow error
|
||||
TYPE_SHADOW = %00000111
|
||||
TYPE_XOR = %00000110
|
||||
TYPE_NONCOLL = %00000101 ; Non-colliding
|
||||
TYPE_NORMAL = %00000100
|
||||
TYPE_BOUNDARY = %00000011
|
||||
TYPE_BSHADOW = %00000010 ; Background shadow
|
||||
TYPE_BACKNONCOLL = %00000001 ; Background non-colliding
|
||||
TYPE_BACKGROUND = %00000000
|
||||
|
||||
SPRCTL1 = $FC81
|
||||
LITERAL = %10000000
|
||||
PACKED = %00000000
|
||||
ALGO3 = %01000000 ; Broken, do not set this bit!
|
||||
; Sprite reload mask definitions
|
||||
RELOAD_MASK = %00110000
|
||||
RENONE = %00000000 ; Reload nothing
|
||||
REHV = %00010000 ; Reload hsize, vsize
|
||||
REHVS = %00100000 ; Reload hsize, vsize, stretch
|
||||
REHVST = %00110000 ; Reload hsize, vsize, stretch, tilt
|
||||
; More sprite control 1 bit definitions
|
||||
REUSEPAL = %00001000
|
||||
SKIP = %00000100
|
||||
DRAWUP = %00000010
|
||||
DRAWLEFT = %00000001
|
||||
|
||||
SPRCOLL = $FC82
|
||||
SPRINIT = $FC83
|
||||
SUZYHREV = $FC88
|
||||
SUZYSREV = $FC89
|
||||
SUZYBUSEN = $FC90
|
||||
|
||||
SPRGO = $FC91
|
||||
; SPRGO bit definitions
|
||||
SPRITE_GO = %00000001 ; sprite process start bit
|
||||
EVER_ON = %00000100 ; everon detector enable
|
||||
|
||||
SPRSYS = $FC92
|
||||
; SPRSYS bit definitions for write operations
|
||||
SIGNMATH = %10000000 ; signed math
|
||||
ACCUMULATE = %01000000 ; accumulate multiplication results
|
||||
NO_COLLIDE = %00100000 ; do not collide with any sprites (also SPRCOLL bit definition)
|
||||
VSTRETCH = %00010000 ; stretch v
|
||||
LEFTHAND = %00001000
|
||||
CLR_UNSAFE = %00000100 ; unsafe access reset
|
||||
SPRITESTOP = %00000010 ; request to stop sprite process
|
||||
; SPRSYS bit definitions for read operations
|
||||
MATHWORKING = %10000000 ; math operation in progress
|
||||
MATHWARNING = %01000000 ; accumulator overflow on multiple or divide by zero
|
||||
MATHCARRY = %00100000 ; last carry bit
|
||||
VSTRETCHING = %00010000
|
||||
LEFTHANDED = %00001000
|
||||
UNSAFE_ACCESS = %00000100 ; unsafe access performed
|
||||
SPRITETOSTOP = %00000010 ; requested to stop
|
||||
SPRITEWORKING = %00000001 ; sprite process is active
|
||||
|
||||
JOYSTICK = $FCB0
|
||||
; JOYSTICK bit definitions
|
||||
JOYPAD_UP = %10000000
|
||||
JOYPAD_DOWN = %01000000
|
||||
JOYPAD_LEFT = %00100000
|
||||
JOYPAD_RIGHT = %00010000
|
||||
BUTTON_OPTION1 = %00001000
|
||||
BUTTON_OPTION2 = %00000100
|
||||
BUTTON_INNER = %00000010
|
||||
BUTTON_OUTER = %00000001
|
||||
|
||||
SWITCHES = $FCB1
|
||||
; SWITCHES bit definitions
|
||||
CART1_IO_INACTIVE = %00000100
|
||||
CART0_IO_INACTIVE = %00000010
|
||||
BUTTON_PAUSE = %00000001
|
||||
|
||||
RCART0 = $FCB2
|
||||
RCART1 = $FCB3
|
||||
LEDS = $FCC0
|
||||
PARSTATUS = $FCC2
|
||||
PARDATA = $FCC3
|
||||
HOWIE = $FCC4
|
||||
|
||||
;
|
||||
; *** Mikey Addresses
|
||||
; ***
|
||||
|
||||
; Mikey timers
|
||||
|
||||
; Logical timer names
|
||||
TIMER0 = $FD00
|
||||
TIMER1 = $FD04
|
||||
TIMER2 = $FD08
|
||||
TIMER3 = $FD0C
|
||||
TIMER4 = $FD10
|
||||
TIMER5 = $FD14
|
||||
TIMER6 = $FD18
|
||||
TIMER7 = $FD1C
|
||||
HTIMER = TIMER0 ; horizontal line timer (timer 0)
|
||||
VTIMER = TIMER2 ; vertical blank timer (timer 2)
|
||||
STIMER = TIMER7 ; sound timer (timer 7)
|
||||
|
||||
HTIMBKUP = $FD00 ; horizontal line timer (timer 0)
|
||||
HTIMCTLA = $FD01
|
||||
HTIMCNT = $FD02
|
||||
HTIMCTLB = $FD03
|
||||
VTIMBKUP = $FD08 ; vertical blank timer (timer 2)
|
||||
VTIMCTLA = $FD09
|
||||
VTIMCNT = $FD0A
|
||||
VTIMCTLB = $FD0B
|
||||
BAUDBKUP = $FD10 ; serial timer (timer 4)
|
||||
STIMBKUP = $FD1C ; sound timer (timer 7)
|
||||
STIMCTLA = $FD1D
|
||||
STIMCNT = $FD1E
|
||||
STIMCTLB = $FD1F
|
||||
|
||||
TIM0BKUP = $FD00
|
||||
TIM0CTLA = $FD01
|
||||
TIM0CNT = $FD02
|
||||
TIM0CTLB = $FD03
|
||||
TIM1BKUP = $FD04
|
||||
TIM1CTLA = $FD05
|
||||
TIM1CNT = $FD06
|
||||
TIM1CTLB = $FD07
|
||||
TIM2BKUP = $FD08
|
||||
TIM2CTLA = $FD09
|
||||
TIM2CNT = $FD0A
|
||||
TIM2CTLB = $FD0B
|
||||
TIM3BKUP = $FD0C
|
||||
TIM3CTLA = $FD0D
|
||||
TIM3CNT = $FD0E
|
||||
TIM3CTLB = $FD0F
|
||||
TIM4BKUP = $FD10
|
||||
TIM4CTLA = $FD11
|
||||
TIM4CNT = $FD12
|
||||
TIM4CTLB = $FD13
|
||||
TIM5BKUP = $FD14
|
||||
TIM5CTLA = $FD15
|
||||
TIM5CNT = $FD16
|
||||
TIM5CTLB = $FD17
|
||||
TIM6BKUP = $FD18
|
||||
TIM6CTLA = $FD19
|
||||
TIM6CNT = $FD1A
|
||||
TIM6CTLB = $FD1B
|
||||
TIM7BKUP = $FD1C
|
||||
TIM7CTLA = $FD1D
|
||||
TIM7CNT = $FD1E
|
||||
TIM7CTLB = $FD1F
|
||||
|
||||
; Timer offsets
|
||||
TIM_BACKUP = 0
|
||||
TIM_CONTROLA = 1
|
||||
TIM_COUNT = 2
|
||||
TIM_CONTROLB = 3
|
||||
|
||||
; TIM_CONTROLA control bits
|
||||
ENABLE_INT = %10000000
|
||||
RESET_DONE = %01000000
|
||||
ENABLE_RELOAD = %00010000
|
||||
ENABLE_COUNT = %00001000
|
||||
AUD_CLOCK_MASK = %00000111
|
||||
; Clock settings
|
||||
AUD_LINKING = %00000111
|
||||
AUD_64 = %00000110
|
||||
AUD_32 = %00000101
|
||||
AUD_16 = %00000100
|
||||
AUD_8 = %00000011
|
||||
AUD_4 = %00000010
|
||||
AUD_2 = %00000001
|
||||
AUD_1 = %00000000
|
||||
|
||||
; TIM_CONTROLB control bits
|
||||
TIMER_DONE = %00001000
|
||||
LAST_CLOCK = %00000100
|
||||
BORROW_IN = %00000010
|
||||
BORROW_OUT = %00000001
|
||||
|
||||
; Mikey Audio
|
||||
|
||||
AUDIO0 = $FD20 ; audio channel 0
|
||||
AUDIO1 = $FD28 ; audio channel 1
|
||||
AUDIO2 = $FD30 ; audio channel 2
|
||||
AUDIO3 = $FD38 ; audio channel 3
|
||||
|
||||
AUD0VOL = $FD20
|
||||
AUD0FEED = $FD21
|
||||
AUD0OUT = $FD22
|
||||
AUD0SHIFT = $FD23
|
||||
AUD0BKUP = $FD24
|
||||
AUD0CTLA = $FD25
|
||||
AUD0CNT = $FD26
|
||||
AUD0CTLB = $FD27
|
||||
AUD1VOL = $FD28
|
||||
AUD1FEED = $FD29
|
||||
AUD1OUT = $FD2A
|
||||
AUD1SHIFT = $FD2B
|
||||
AUD1BKUP = $FD2C
|
||||
AUD1CTLA = $FD2D
|
||||
AUD1CNT = $FD2E
|
||||
AUD1CTLB = $FD2F
|
||||
AUD2VOL = $FD30
|
||||
AUD2FEED = $FD31
|
||||
AUD2OUT = $FD32
|
||||
AUD2SHIFT = $FD33
|
||||
AUD2BKUP = $FD34
|
||||
AUD2CTLA = $FD35
|
||||
AUD2CNT = $FD36
|
||||
AUD2CTLB = $FD37
|
||||
AUD3VOL = $FD38
|
||||
AUD3FEED = $FD39
|
||||
AUD3OUT = $FD3A
|
||||
AUD3SHIFT = $FD3B
|
||||
AUD3BKUP = $FD3C
|
||||
AUD3CTLA = $FD3D
|
||||
AUD3CNT = $FD3E
|
||||
AUD3CTLB = $FD3F
|
||||
|
||||
; AUD_CONTROL bits are almost identical to TIM_CONTROLA bits.
|
||||
; See TIM_CONTROLA above for the other definitions
|
||||
FEEDBACK_7 = %10000000
|
||||
ENABLE_INTEGRATE = %00100000
|
||||
|
||||
; Stereo control registers follow
|
||||
; Stereo capability does not exist in all Lynxes
|
||||
; Left and right may be reversed, and if so will be corrected in a later
|
||||
; release
|
||||
ATTENREG0 = $FD40 ; Stereo attenuation registers
|
||||
ATTENREG1 = $FD41
|
||||
ATTENREG2 = $FD42
|
||||
ATTENREG3 = $FD43
|
||||
|
||||
MPAN = $FD44
|
||||
MSTEREO = $FD50
|
||||
; Bit definitions for MPAN and MSTEREO registers
|
||||
LEFT_ATTENMASK = %11110000
|
||||
RIGHT_ATTENMASK = %00001111
|
||||
LEFT3_SELECT = %10000000
|
||||
LEFT2_SELECT = %01000000
|
||||
LEFT1_SELECT = %00100000
|
||||
LEFT0_SELECT = %00010000
|
||||
RIGHT3_SELECT = %00001000
|
||||
RIGHT2_SELECT = %00000100
|
||||
RIGHT1_SELECT = %00000010
|
||||
RIGHT0_SELECT = %00000001
|
||||
|
||||
; Mikey interrupts
|
||||
|
||||
INTRST = $FD80
|
||||
INTSET = $FD81
|
||||
|
||||
; Interrupt bits in INTRST and INTSET
|
||||
TIMER0_INTERRUPT = %00000001
|
||||
TIMER1_INTERRUPT = %00000010
|
||||
TIMER2_INTERRUPT = %00000100
|
||||
TIMER3_INTERRUPT = %00001000
|
||||
TIMER4_INTERRUPT = %00010000
|
||||
TIMER5_INTERRUPT = %00100000
|
||||
TIMER6_INTERRUPT = %01000000
|
||||
TIMER7_INTERRUPT = %10000000
|
||||
|
||||
HBL_INTERRUPT = TIMER0_INTERRUPT
|
||||
VBL_INTERRUPT = TIMER2_INTERRUPT
|
||||
SERIAL_INTERRUPT = TIMER4_INTERRUPT
|
||||
SND_INTERRUPT = TIMER7_INTERRUPT
|
||||
|
||||
MAGRDY0 = $FD84
|
||||
MAGRDY1 = $FD85
|
||||
AUDIN = $FD86
|
||||
SYSCTL1 = $FD87
|
||||
; SYSCTL1 bit definitions
|
||||
POWERON = %00000010
|
||||
CART_ADDR_STROBE = %00000001
|
||||
|
||||
MIKEYHREV = $FD88
|
||||
MIKEYSREV = $FD89
|
||||
|
||||
IODIR = $FD8A
|
||||
IODAT = $FD8B
|
||||
; IODIR and IODAT bit definitions
|
||||
AUDIN_BIT = %00010000 ; Note that there is also the address AUDIN
|
||||
READ_ENABLE = %00010000 ; Same bit for AUDIN_BIT
|
||||
RESTLESS = %00001000
|
||||
NOEXP = %00000100 ; If set, redeye is not connected
|
||||
CART_ADDR_DATA = %00000010
|
||||
CART_POWER_OFF = %00000010 ; Same bit for CART_ADDR_DATA
|
||||
EXTERNAL_POWER = %00000001
|
||||
|
||||
SERCTL = $FD8C
|
||||
; SERCTL bit definitions for write operations
|
||||
TXINTEN = %10000000
|
||||
RXINTEN = %01000000
|
||||
PAREN = %00010000
|
||||
RESETERR = %00001000
|
||||
TXOPEN = %00000100
|
||||
TXBRK = %00000010
|
||||
PAREVEN = %00000001
|
||||
; SERCTL bit definitions for read operations
|
||||
TXRDY = %10000000
|
||||
RXRDY = %01000000
|
||||
TXEMPTY = %00100000
|
||||
PARERR = %00010000
|
||||
OVERRUN = %00001000
|
||||
FRAMERR = %00000100
|
||||
RXBRK = %00000010
|
||||
PARBIT = %00000001
|
||||
|
||||
SERDAT = $FD8D
|
||||
SDONEACK = $FD90
|
||||
CPUSLEEP = $FD91
|
||||
DISPCTL = $FD92
|
||||
; DISPCTL bit definitions
|
||||
DISP_COLOR = %10000000 ; must be set to 1
|
||||
DISP_FOURBIT = %01000000 ; must be set to 1
|
||||
DISP_FLIP = %00100000
|
||||
DMA_ENABLE = %00010000 ; must be set to 1
|
||||
|
||||
PBKUP = $FD93
|
||||
DISPADRL = $FD94
|
||||
DISPADRH = $FD95
|
||||
|
||||
MTEST0 = $FD9C
|
||||
; MTEST0 bit definitions
|
||||
AT_CNT16 = %10000000
|
||||
AT_TEST = %01000000
|
||||
XCLKEN = %00100000
|
||||
UART_TURBO = %00010000
|
||||
ROM_SEL = %00001000
|
||||
ROM_TEST = %00000100
|
||||
M_TEST = %00000010
|
||||
CPU_TEST = %00000001
|
||||
|
||||
MTEST1 = $FD9D
|
||||
; MTEST1 bit definitions
|
||||
P_CNT16 = %01000000
|
||||
REF_CNT16 = %00100000
|
||||
VID_TRIG = %00010000
|
||||
REF_TRIG = %00001000
|
||||
VID_DMA_DIS = %00000100
|
||||
REF_FAST = %00000010
|
||||
REF_DIS = %00000001
|
||||
|
||||
MTEST2 = $FD9E
|
||||
; MTEST2 bit definitions
|
||||
V_STROBE = %00010000
|
||||
V_ZERO = %00001000
|
||||
H_120 = %00000100
|
||||
H_ZERO = %00000010
|
||||
V_BLANKEF = %00000001
|
||||
|
||||
PALETTE = $FDA0 ; hardware rgb palette
|
||||
GCOLMAP = $FDA0 ; hardware rgb palette (green)
|
||||
RBCOLMAP = $FDB0 ; hardware rgb palette (red-blue)
|
||||
|
||||
; Memory mapping control and 6502 vectors
|
||||
|
||||
MAPCTL = $FFF9
|
||||
; MAPCTL bit definitions
|
||||
TURBO_DISABLE = %10000000
|
||||
VECTOR_SPACE = %00001000 ; 1 maps RAM into specified space
|
||||
ROM_SPACE = %00000100
|
||||
MIKEY_SPACE = %00000010
|
||||
SUZY_SPACE = %00000001
|
||||
|
||||
VECTORS = $FFFB
|
||||
INTVECTL = $FFFE
|
||||
INTVECTH = $FFFF
|
||||
RSTVECTL = $FFFC
|
||||
RSTVECTH = $FFFD
|
||||
NMIVECTL = $FFFA
|
||||
NMIVECTH = $FFFB
|
||||
239
asminc/mega65.inc
Normal file
239
asminc/mega65.inc
Normal file
|
|
@ -0,0 +1,239 @@
|
|||
|
||||
; ---------------------------------------------------------------------------
|
||||
; Zero page, Commodore stuff
|
||||
|
||||
TXTPTR := $3C ; Pointer into BASIC source code
|
||||
STATUS := $90 ; Kernal I/O completion status
|
||||
FNAM_LEN := $B7 ; Length of filename
|
||||
SECADR := $B9 ; Secondary address
|
||||
DEVNUM := $BA ; Device number
|
||||
FNAM := $BB ; Address of filename
|
||||
FNAM_BANK := $BE ; Bank for filename
|
||||
KEY_COUNT := $D0 ; Number of keys in input buffer
|
||||
FKEY_COUNT := $D1 ; Characters for function key
|
||||
MODE := $D7 ; 40-/80-column mode (bit 7: 80 columns)
|
||||
GRAPHM := $D8 ; Graphics mode flags (bits 5-7)
|
||||
CHARDIS := $D9 ; Bit 2 shadow for location $01
|
||||
CURS_X := $EC ; Cursor column
|
||||
CURS_Y := $EB ; Cursor row
|
||||
SCREEN_PTR := $E0 ; Pointer to current char in text screen
|
||||
CRAM_PTR := $E2 ; Pointer to current char in color RAM
|
||||
CHARCOLOR := $F1
|
||||
RVS := $F3 ; Reverse output flag
|
||||
SCROLL := $F8 ; Disable scrolling flag
|
||||
|
||||
BASIC_BUF := $0200 ; Location of command-line
|
||||
BASIC_BUF_LEN = 161 ; Maximum length of command-line
|
||||
|
||||
FKEY_LEN := $1000 ; Function key lengths
|
||||
FKEY_TEXT := $100A ; Function key texts
|
||||
|
||||
PALFLAG := $1103 ; $FF=PAL, $00=NTSC
|
||||
INIT_STATUS := $1104 ; Flags: Reset/Restore initiation status
|
||||
TIME := $110C ; 60HZ clock
|
||||
|
||||
KBDREPEAT := $111a
|
||||
KBDREPEATRATE := $111b
|
||||
KBDREPEATDELAY := $111c
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
; Vectors
|
||||
|
||||
IRQVec := $0314
|
||||
BRKVec := $0316
|
||||
NMIVec := $0318
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
; I/O: VIC
|
||||
|
||||
VIC := $D000
|
||||
VIC_SPR0_X := $D000
|
||||
VIC_SPR0_Y := $D001
|
||||
VIC_SPR1_X := $D002
|
||||
VIC_SPR1_Y := $D003
|
||||
VIC_SPR2_X := $D004
|
||||
VIC_SPR2_Y := $D005
|
||||
VIC_SPR3_X := $D006
|
||||
VIC_SPR3_Y := $D007
|
||||
VIC_SPR4_X := $D008
|
||||
VIC_SPR4_Y := $D009
|
||||
VIC_SPR5_X := $D00A
|
||||
VIC_SPR5_Y := $D00B
|
||||
VIC_SPR6_X := $D00C
|
||||
VIC_SPR6_Y := $D00D
|
||||
VIC_SPR7_X := $D00E
|
||||
VIC_SPR7_Y := $D00F
|
||||
VIC_SPR_HI_X := $D010
|
||||
VIC_SPR_ENA := $D015
|
||||
VIC_SPR_EXP_Y := $D017
|
||||
VIC_SPR_EXP_X := $D01D
|
||||
VIC_SPR_MCOLOR := $D01C
|
||||
VIC_SPR_BG_PRIO := $D01B
|
||||
VIC_SPR_COLL := $D01E
|
||||
VIC_SPR_BG_COLL := $D01F
|
||||
|
||||
VIC_SPR_MCOLOR0 := $D025
|
||||
VIC_SPR_MCOLOR1 := $D026
|
||||
|
||||
VIC_SPR0_COLOR := $D027
|
||||
VIC_SPR1_COLOR := $D028
|
||||
VIC_SPR2_COLOR := $D029
|
||||
VIC_SPR3_COLOR := $D02A
|
||||
VIC_SPR4_COLOR := $D02B
|
||||
VIC_SPR5_COLOR := $D02C
|
||||
VIC_SPR6_COLOR := $D02D
|
||||
VIC_SPR7_COLOR := $D02E
|
||||
|
||||
VIC_CTRL1 := $D011
|
||||
VIC_CTRL2 := $D016
|
||||
|
||||
VIC_HLINE := $D012
|
||||
|
||||
VIC_LPEN_X := $D013
|
||||
VIC_LPEN_Y := $D014
|
||||
|
||||
VIC_VIDEO_ADR := $D018
|
||||
|
||||
VIC_IRR := $D019 ; Interrupt request register
|
||||
VIC_IMR := $D01A ; Interrupt mask register
|
||||
|
||||
VIC_BORDERCOLOR := $D020
|
||||
VIC_BG_COLOR0 := $D021
|
||||
VIC_BG_COLOR1 := $D022
|
||||
VIC_BG_COLOR2 := $D023
|
||||
VIC_BG_COLOR3 := $D024
|
||||
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
; I/O: FDC
|
||||
|
||||
FDC := $D080
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
; I/O: SID
|
||||
|
||||
SID0 := $D400
|
||||
SID0_S1Lo := $D400
|
||||
SID0_S1Hi := $D401
|
||||
SID0_PB1Lo := $D402
|
||||
SID0_PB1Hi := $D403
|
||||
SID0_Ctl1 := $D404
|
||||
SID0_AD1 := $D405
|
||||
SID0_SUR1 := $D406
|
||||
|
||||
SID0_S2Lo := $D407
|
||||
SID0_S2Hi := $D408
|
||||
SID0_PB2Lo := $D409
|
||||
SID0_PB2Hi := $D40A
|
||||
SID0_Ctl2 := $D40B
|
||||
SID0_AD2 := $D40C
|
||||
SID0_SUR2 := $D40D
|
||||
|
||||
SID0_S3Lo := $D40E
|
||||
SID0_S3Hi := $D40F
|
||||
SID0_PB3Lo := $D410
|
||||
SID0_PB3Hi := $D411
|
||||
SID0_Ctl3 := $D412
|
||||
SID0_AD3 := $D413
|
||||
SID0_SUR3 := $D414
|
||||
|
||||
SID0_FltLo := $D415
|
||||
SID0_FltHi := $D416
|
||||
SID0_FltCtl := $D417
|
||||
SID0_Amp := $D418
|
||||
SID0_ADConv1 := $D419
|
||||
SID0_ADConv2 := $D41A
|
||||
SID0_Noise := $D41B
|
||||
SID0_Read3 := $D41C
|
||||
|
||||
SID1 := $D420
|
||||
SID1_S1Lo := $D420
|
||||
SID1_S1Hi := $D421
|
||||
SID1_PB1Lo := $D422
|
||||
SID1_PB1Hi := $D423
|
||||
SID1_Ctl1 := $D424
|
||||
SID1_AD1 := $D425
|
||||
SID1_SUR1 := $D426
|
||||
|
||||
SID1_S2Lo := $D427
|
||||
SID1_S2Hi := $D428
|
||||
SID1_PB2Lo := $D429
|
||||
SID1_PB2Hi := $D42A
|
||||
SID1_Ctl2 := $D42B
|
||||
SID1_AD2 := $D42C
|
||||
SID1_SUR2 := $D42D
|
||||
|
||||
SID1_S3Lo := $D42E
|
||||
SID1_S3Hi := $D42F
|
||||
SID1_PB3Lo := $D430
|
||||
SID1_PB3Hi := $D431
|
||||
SID1_Ctl3 := $D432
|
||||
SID1_AD3 := $D433
|
||||
SID1_SUR3 := $D434
|
||||
|
||||
SID1_FltLo := $D435
|
||||
SID1_FltHi := $D436
|
||||
SID1_FltCtl := $D437
|
||||
SID1_Amp := $D438
|
||||
SID1_ADConv1 := $D439
|
||||
SID1_ADConv2 := $D43A
|
||||
SID1_Noise := $D43B
|
||||
SID1_Read3 := $D43C
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
; I/O: Complex Interface Adapters
|
||||
|
||||
CIA1 := $DC00
|
||||
CIA1_PRA := $DC00 ; Port A
|
||||
CIA1_PRB := $DC01 ; Port B
|
||||
CIA1_DDRA := $DC02 ; Data direction register for port A
|
||||
CIA1_DDRB := $DC03 ; Data direction register for port B
|
||||
CIA1_TA := $DC04 ; 16-bit timer A
|
||||
CIA1_TB := $DC06 ; 16-bit timer B
|
||||
CIA1_TOD10 := $DC08 ; Time-of-day tenths of a second
|
||||
CIA1_TODSEC := $DC09 ; Time-of-day seconds
|
||||
CIA1_TODMIN := $DC0A ; Time-of-day minutes
|
||||
CIA1_TODHR := $DC0B ; Time-of-day hours
|
||||
CIA1_SDR := $DC0C ; Serial data register
|
||||
CIA1_ICR := $DC0D ; Interrupt control register
|
||||
CIA1_CRA := $DC0E ; Control register for timer A
|
||||
CIA1_CRB := $DC0F ; Control register for timer B
|
||||
|
||||
CIA2 := $DD00
|
||||
CIA2_PRA := $DD00
|
||||
CIA2_PRB := $DD01
|
||||
CIA2_DDRA := $DD02
|
||||
CIA2_DDRB := $DD03
|
||||
CIA2_TA := $DD04
|
||||
CIA2_TB := $DD06
|
||||
CIA2_TOD10 := $DD08
|
||||
CIA2_TODSEC := $DD09
|
||||
CIA2_TODMIN := $DD0A
|
||||
CIA2_TODHR := $DD0B
|
||||
CIA2_SDR := $DD0C
|
||||
CIA2_ICR := $DD0D
|
||||
CIA2_CRA := $DD0E
|
||||
CIA2_CRB := $DD0F
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
; I/O: DMA
|
||||
|
||||
DMA := $D700
|
||||
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
; Processor Port at $01
|
||||
|
||||
LORAM = $01 ; Enable the basic rom
|
||||
HIRAM = $02 ; Enable the kernal rom
|
||||
IOEN = $04 ; Enable I/O
|
||||
CASSDATA = $08 ; Cassette data
|
||||
CASSPLAY = $10 ; Cassette: Play
|
||||
CASSMOT = $20 ; Cassette motor on
|
||||
TP_FAST = $80 ; Switch Rossmoeller TurboProcess to fast mode
|
||||
|
||||
RAMONLY = $F8 ; (~(LORAM | HIRAM | IOEN)) & $FF
|
||||
|
||||
; temporary, to get conio working
|
||||
XSIZE = 80
|
||||
YSIZE = 50
|
||||
78
asminc/modload.inc
Normal file
78
asminc/modload.inc
Normal file
|
|
@ -0,0 +1,78 @@
|
|||
;*****************************************************************************/
|
||||
;* */
|
||||
;* modload.inc */
|
||||
;* */
|
||||
;* o65 module loader interface for cc65 */
|
||||
;* */
|
||||
;* */
|
||||
;* */
|
||||
;* (C) 2002 Ullrich von Bassewitz */
|
||||
;* Wacholderweg 14 */
|
||||
;* D-70597 Stuttgart */
|
||||
;* EMail: uz@musoftware.de */
|
||||
;* */
|
||||
;* */
|
||||
;* This software is provided 'as-is', without any expressed or implied */
|
||||
;* warranty. In no event will the authors be held liable for any damages */
|
||||
;* arising from the use of this software. */
|
||||
;* */
|
||||
;* Permission is granted to anyone to use this software for any purpose, */
|
||||
;* including commercial applications, and to alter it and redistribute it */
|
||||
;* freely, subject to the following restrictions: */
|
||||
;* */
|
||||
;* 1. The origin of this software must not be misrepresented; you must not */
|
||||
;* claim that you wrote the original software. If you use this software */
|
||||
;* in a product, an acknowledgment in the product documentation would be */
|
||||
;* appreciated but is not required. */
|
||||
;* 2. Altered source versions must be plainly marked as such, and must not */
|
||||
;* be misrepresented as being the original software. */
|
||||
;* 3. This notice may not be removed or altered from any source */
|
||||
;* distribution. */
|
||||
;* */
|
||||
;*****************************************************************************/
|
||||
|
||||
|
||||
|
||||
; Exports structures and functions to load relocatable o65 modules at
|
||||
; runtime.
|
||||
|
||||
|
||||
|
||||
; Offsets for the mod_ctrl struct. This struct is passed to the module loader.
|
||||
; It contains stuff, the loader needs to work, and another area where the
|
||||
; loader will place informational data if it was successful. You will have to
|
||||
; check the return code of mod_load before accessing any of these additional
|
||||
; struct members.
|
||||
.struct MOD_CTRL
|
||||
READ .addr
|
||||
CALLERDATA .word
|
||||
MODULE .addr ; Pointer to module data
|
||||
MODULE_SIZE .word ; Total size of loaded module
|
||||
MODULE_ID .word
|
||||
.endstruct
|
||||
|
||||
; unsigned char mod_load (struct mod_ctrl* ctrl);
|
||||
; /* Load a module into memory and relocate it. The function will return an
|
||||
; * error code (see below). If MLOAD_OK is returned, the outgoing fields in
|
||||
; * the passed mod_ctrl struct contain information about the module just
|
||||
; * loaded.
|
||||
; */
|
||||
.global _mod_load
|
||||
|
||||
; void mod_free (void* module);
|
||||
; /* Free a loaded module. Note: The given pointer is the pointer to the
|
||||
; * module memory, not a pointer to a control structure.
|
||||
; */
|
||||
.global _mod_free
|
||||
|
||||
; Errors
|
||||
.enum
|
||||
MLOAD_OK ; Module load successful
|
||||
MLOAD_ERR_READ ; Read error
|
||||
MLOAD_ERR_HDR ; Header error
|
||||
MLOAD_ERR_OS ; Wrong OS
|
||||
MLOAD_ERR_FMT ; Data format error
|
||||
MLOAD_ERR_MEM ; Not enough memory
|
||||
.endenum
|
||||
|
||||
|
||||
13
asminc/module.mac
Normal file
13
asminc/module.mac
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
.ifndef DYN_DRV
|
||||
DYN_DRV = 1
|
||||
.endif
|
||||
|
||||
.macro module_header module_label
|
||||
.if DYN_DRV
|
||||
.segment "HEADER"
|
||||
.else
|
||||
.data
|
||||
.export module_label
|
||||
module_label:
|
||||
.endif
|
||||
.endmacro
|
||||
184
asminc/mouse-kernel.inc
Normal file
184
asminc/mouse-kernel.inc
Normal file
|
|
@ -0,0 +1,184 @@
|
|||
;/*****************************************************************************/
|
||||
;/* */
|
||||
;/* mouse-kernel.inc */
|
||||
;/* */
|
||||
;/* Mouse API */
|
||||
;/* */
|
||||
;/* */
|
||||
;/* */
|
||||
;/* (C) 2003-2009, Ullrich von Bassewitz */
|
||||
;/* Roemerstrasse 52 */
|
||||
;/* D-70794 Filderstadt */
|
||||
;/* EMail: uz@cc65.org */
|
||||
;/* */
|
||||
;/* */
|
||||
;/* */
|
||||
;/* */
|
||||
;/* This software is provided 'as-is', without any expressed or implied */
|
||||
;/* warranty. In no event will the authors be held liable for any damages */
|
||||
;/* arising from the use of this software. */
|
||||
;/* */
|
||||
;/* Permission is granted to anyone to use this software for any purpose, */
|
||||
;/* including commercial applications, and to alter it and redistribute it */
|
||||
;/* freely, subject to the following restrictions: */
|
||||
;/* */
|
||||
;/* 1. The origin of this software must not be misrepresented; you must not */
|
||||
;/* claim that you wrote the original software. If you use this software */
|
||||
;/* in a product, an acknowledgment in the product documentation would be */
|
||||
;/* appreciated but is not required. */
|
||||
;/* 2. Altered source versions must be plainly marked as such, and must not */
|
||||
;/* be misrepresented as being the original software. */
|
||||
;/* 3. This notice may not be removed or altered from any source */
|
||||
;/* distribution. */
|
||||
;/* */
|
||||
;/*****************************************************************************/
|
||||
|
||||
|
||||
|
||||
|
||||
;------------------------------------------------------------------------------
|
||||
; Error codes
|
||||
|
||||
.enum
|
||||
MOUSE_ERR_OK ; No error
|
||||
MOUSE_ERR_NO_DRIVER ; No driver available
|
||||
MOUSE_ERR_CANNOT_LOAD ; Error loading driver
|
||||
MOUSE_ERR_INV_DRIVER ; Invalid driver
|
||||
MOUSE_ERR_NO_DEVICE ; Mouse hardware not found
|
||||
MOUSE_ERR_INV_IOCTL ; Invalid ioctl code
|
||||
|
||||
MOUSE_ERR_COUNT ; Special: Number of error codes
|
||||
.endenum
|
||||
|
||||
;------------------------------------------------------------------------------
|
||||
; The driver header
|
||||
|
||||
.struct MOUSE_HDR
|
||||
ID .byte 3 ; Contains 0x6D, 0x6F, 0x75 ("mou")
|
||||
VERSION .byte 1 ; Interface version
|
||||
LIBREF .addr ; Library reference
|
||||
JUMPTAB .struct
|
||||
INSTALL .addr
|
||||
UNINSTALL .addr
|
||||
HIDE .addr
|
||||
SHOW .addr
|
||||
SETBOX .addr
|
||||
GETBOX .addr
|
||||
MOVE .addr
|
||||
BUTTONS .addr
|
||||
POS .addr
|
||||
INFO .addr
|
||||
IOCTL .addr
|
||||
IRQ .addr
|
||||
.endstruct
|
||||
FLAGS .byte ; Mouse driver flags
|
||||
CALLBACKS .struct ; Jump instructions
|
||||
.byte ; JMP opcode
|
||||
CHIDE .addr ; Jump address
|
||||
.byte
|
||||
CSHOW .addr
|
||||
.byte
|
||||
CPREP .addr
|
||||
.byte
|
||||
CDRAW .addr
|
||||
.byte
|
||||
CMOVEX .addr
|
||||
.byte
|
||||
CMOVEY .addr
|
||||
.endstruct
|
||||
.endstruct
|
||||
|
||||
;------------------------------------------------------------------------------
|
||||
; The mouse callback structure
|
||||
|
||||
.struct MOUSE_CALLBACKS
|
||||
HIDE .addr ; Hide the mouse cursor
|
||||
SHOW .addr ; Show the mouse cursor
|
||||
PREP .addr ; Prepare to move the mouse cursor
|
||||
DRAW .addr ; Draw the mouse cursor
|
||||
MOVEX .addr ; Move the mouse cursor to X coord
|
||||
MOVEY .addr ; Move the mouse cursor to Y coord
|
||||
.endstruct
|
||||
|
||||
;------------------------------------------------------------------------------
|
||||
; The mouse API version, stored in MOUSE_HDR::VERSION
|
||||
|
||||
MOUSE_API_VERSION = $06
|
||||
|
||||
;------------------------------------------------------------------------------
|
||||
; Bitmapped mouse driver flags, stored in MOUSE_HDR::FLAGS.
|
||||
; Note: If neither of MOUSE_FLAG_XXX_IRQ is set, no interrupts are supplied
|
||||
; to the driver. If one of the bits is set, the interrupt vector MUST be
|
||||
; valid.
|
||||
; Beware: Some of the bits are tested using the BIT instruction, so do not
|
||||
; change the values without checking the code!
|
||||
|
||||
MOUSE_FLAG_EARLY_IRQ = $40 ; Enable IRQ *before* calling INSTALL
|
||||
MOUSE_FLAG_LATE_IRQ = $80 ; Enable IRQ *after* calling INSTALL
|
||||
|
||||
;------------------------------------------------------------------------------
|
||||
; Mouse button definitions
|
||||
|
||||
MOUSE_BTN_LEFT = $10
|
||||
MOUSE_BTN_RIGHT = $01
|
||||
|
||||
;------------------------------------------------------------------------------
|
||||
; Structures used to return data from the mouse driver
|
||||
|
||||
.struct MOUSE_POS
|
||||
XCOORD .word
|
||||
YCOORD .word
|
||||
.endstruct
|
||||
|
||||
.struct MOUSE_INFO
|
||||
POS .tag MOUSE_POS
|
||||
BUTTONS .byte
|
||||
.endstruct
|
||||
|
||||
.struct MOUSE_BOX
|
||||
MINX .word
|
||||
MINY .word
|
||||
MAXX .word
|
||||
MAXY .word
|
||||
.endstruct
|
||||
|
||||
;------------------------------------------------------------------------------
|
||||
; Variables
|
||||
|
||||
.global _mouse_drv ; Pointer to driver
|
||||
.global _mouse_hidden ; Counter, 0 = mouse is visible
|
||||
|
||||
;------------------------------------------------------------------------------
|
||||
; C callable functions
|
||||
|
||||
.global _mouse_load_driver
|
||||
.global _mouse_unload
|
||||
.global _mouse_install
|
||||
.global _mouse_uninstall
|
||||
.global _mouse_geterrormsg
|
||||
.global _mouse_hide
|
||||
.global _mouse_show
|
||||
.global _mouse_setbox
|
||||
.global _mouse_getbox
|
||||
.global _mouse_move
|
||||
.global _mouse_buttons
|
||||
.global _mouse_pos
|
||||
.global _mouse_info
|
||||
.global _mouse_ioctl
|
||||
|
||||
.global _mouse_clear_ptr
|
||||
|
||||
;------------------------------------------------------------------------------
|
||||
; Driver entry points (asm callable)
|
||||
|
||||
.global mouse_install
|
||||
.global mouse_uninstall
|
||||
.global mouse_hide
|
||||
.global mouse_show
|
||||
.global mouse_setbox
|
||||
.global mouse_getbox
|
||||
.global mouse_move
|
||||
.global mouse_buttons
|
||||
.global mouse_pos
|
||||
.global mouse_info
|
||||
.global mouse_ioctl
|
||||
93
asminc/nes.inc
Normal file
93
asminc/nes.inc
Normal file
|
|
@ -0,0 +1,93 @@
|
|||
;
|
||||
; NES definitions. By Groepaz/Hitmem.
|
||||
;
|
||||
|
||||
|
||||
;; FIXME: optimize zeropage usage
|
||||
|
||||
SCREEN_PTR = $62 ;2
|
||||
CRAM_PTR = $64 ;2
|
||||
CHARCOLOR = $66
|
||||
BGCOLOR = $67
|
||||
RVS = $68
|
||||
CURS_X = $69
|
||||
CURS_Y = $6a
|
||||
|
||||
tickcount = $6b ;2
|
||||
|
||||
VBLANK_FLAG = $70
|
||||
|
||||
ringbuff = $0200
|
||||
ringwrite = $71
|
||||
ringread = $72
|
||||
ringcount = $73
|
||||
|
||||
ppuhi = $74
|
||||
ppulo = $75
|
||||
ppuval = $76
|
||||
|
||||
screenrows = (30-1)
|
||||
charsperline = 32
|
||||
xsize = charsperline
|
||||
|
||||
;; PPU defines
|
||||
|
||||
PPU_CTRL1 = $2000
|
||||
PPU_CTRL2 = $2001
|
||||
PPU_STATUS = $2002
|
||||
PPU_SPR_ADDR = $2003
|
||||
PPU_SPR_IO = $2004
|
||||
PPU_VRAM_ADDR1 = $2005
|
||||
PPU_VRAM_ADDR2 = $2006
|
||||
PPU_VRAM_IO = $2007
|
||||
|
||||
;; APU defines
|
||||
|
||||
APU_PULSE1CTRL = $4000 ; Pulse #1 Control Register (W)
|
||||
APU_PULSE1RAMP = $4001 ; Pulse #1 Ramp Control Register (W)
|
||||
APU_PULSE1FTUNE = $4002 ; Pulse #1 Fine Tune (FT) Register (W)
|
||||
APU_PULSE1CTUNE = $4003 ; Pulse #1 Coarse Tune (CT) Register (W)
|
||||
APU_PULSE2CTRL = $4004 ; Pulse #2 Control Register (W)
|
||||
APU_PULSE2RAMP = $4005 ; Pulse #2 Ramp Control Register (W)
|
||||
APU_PULSE2FTUNE = $4006 ; Pulse #2 Fine Tune Register (W)
|
||||
APU_PULSE2STUNE = $4007 ; Pulse #2 Coarse Tune Register (W)
|
||||
APU_TRICTRL1 = $4008 ; Triangle Control Register #1 (W)
|
||||
APU_TRICTRL2 = $4009 ; Triangle Control Register #2 (?)
|
||||
APU_TRIFREQ1 = $400A ; Triangle Frequency Register #1 (W)
|
||||
APU_TRIFREQ2 = $400B ; Triangle Frequency Register #2 (W)
|
||||
APU_NOISECTRL = $400C ; Noise Control Register #1 (W)
|
||||
;;APU_ = $400D ; Unused (???)
|
||||
APU_NOISEFREQ1 = $400E ; Noise Frequency Register #1 (W)
|
||||
APU_NOISEFREQ2 = $400F ; Noise Frequency Register #2 (W)
|
||||
APU_MODCTRL = $4010 ; Delta Modulation Control Register (W)
|
||||
APU_MODDA = $4011 ; Delta Modulation D/A Register (W)
|
||||
APU_MODADDR = $4012 ; Delta Modulation Address Register (W)
|
||||
APU_MODLEN = $4013 ; Delta Modulation Data Length Register (W)
|
||||
APU_SPR_DMA = $4014 ; Sprite DMA Register (W)
|
||||
APU_CHANCTRL = $4015 ; Sound/Vertical Clock Signal Register (R)
|
||||
APU_PAD1 = $4016 ; Joypad #1 (RW)
|
||||
APU_PAD2 = $4017 ; Joypad #2/SOFTCLK (RW)
|
||||
|
||||
|
||||
CH_HLINE = 11
|
||||
CH_VLINE = 14
|
||||
CH_ULCORNER = 176
|
||||
CH_URCORNER = 174
|
||||
CH_LLCORNER = 173
|
||||
CH_LRCORNER = 189
|
||||
CH_TTEE = 178
|
||||
CH_RTEE = 179
|
||||
CH_BTEE = 177
|
||||
CH_LTEE = 171
|
||||
CH_CROSS = 123
|
||||
CH_CURS_UP = 145
|
||||
CH_CURS_DOWN = 17
|
||||
CH_CURS_LEFT = 157
|
||||
CH_CURS_RIGHT = 29
|
||||
CH_PI = 126
|
||||
CH_DEL = 20
|
||||
CH_INS = 148
|
||||
CH_ENTER = 10
|
||||
CH_STOP = 3
|
||||
CH_ESC = 27
|
||||
|
||||
150
asminc/o65.inc
Normal file
150
asminc/o65.inc
Normal file
|
|
@ -0,0 +1,150 @@
|
|||
;*****************************************************************************/
|
||||
;* */
|
||||
;* o65.inc */
|
||||
;* */
|
||||
;* Definitions for the o65 file format */
|
||||
;* */
|
||||
;* */
|
||||
;* */
|
||||
;* (C) 2002-2009, Ullrich von Bassewitz */
|
||||
;* Roemerstrasse 52 */
|
||||
;* D-70794 Filderstadt */
|
||||
;* EMail: uz@cc65.org */
|
||||
;* */
|
||||
;* */
|
||||
;* This software is provided 'as-is', without any expressed or implied */
|
||||
;* warranty. In no event will the authors be held liable for any damages */
|
||||
;* arising from the use of this software. */
|
||||
;* */
|
||||
;* Permission is granted to anyone to use this software for any purpose, */
|
||||
;* including commercial applications, and to alter it and redistribute it */
|
||||
;* freely, subject to the following restrictions: */
|
||||
;* */
|
||||
;* 1. The origin of this software must not be misrepresented; you must not */
|
||||
;* claim that you wrote the original software. If you use this software */
|
||||
;* in a product, an acknowledgment in the product documentation would be */
|
||||
;* appreciated but is not required. */
|
||||
;* 2. Altered source versions must be plainly marked as such, and must not */
|
||||
;* be misrepresented as being the original software. */
|
||||
;* 3. This notice may not be removed or altered from any source */
|
||||
;* distribution. */
|
||||
;* */
|
||||
;*****************************************************************************/
|
||||
|
||||
|
||||
|
||||
; This files exports structures and constants to handle the o65 relocatable
|
||||
; file format as defined by Andre Fachat.
|
||||
|
||||
|
||||
|
||||
; The o65 header structure (6502 format)
|
||||
.struct O65_HDR
|
||||
MARKER .byte 2 ; Non-C64 marker: $01 $00
|
||||
MAGIC .byte 3 ; o65 magic: "o65"
|
||||
VERSION .byte 1 ; Version number
|
||||
MODE .word ; Mode word
|
||||
TBASE .word ; Original text (code) segment address
|
||||
TLEN .word ; Size of text (code) segment
|
||||
DBASE .word ; Original data segment address
|
||||
DLEN .word ; Size of data segment
|
||||
BBASE .word ; Original bss segment address
|
||||
BLEN .word ; Size of bss segment
|
||||
ZBASE .word ; Original zp segment address
|
||||
ZLEN .word ; Size of zp segment
|
||||
STACK .word ; Stacksize needed
|
||||
.endstruct
|
||||
|
||||
; Marker, magic and version number
|
||||
O65_MARKER_0 = $01
|
||||
O65_MARKER_1 = $00
|
||||
O65_MAGIC_0 = $6F ; 'o'
|
||||
O65_MAGIC_1 = $36 ; '6'
|
||||
O65_MAGIC_2 = $35 ; '5'
|
||||
O65_VERSION = $00
|
||||
|
||||
; Defines for the mode word
|
||||
O65_CPU_65816 = $8000 ; Executable is for 65816
|
||||
O65_CPU_6502 = $0000 ; Executable is for the 6502
|
||||
O65_CPU_MASK = $8000 ; Mask to extract CPU type
|
||||
|
||||
O65_RELOC_PAGE = $4000 ; Page wise relocation
|
||||
O65_RELOC_BYTE = $0000 ; Byte wise relocation
|
||||
O65_RELOC_MASK = $4000 ; Mask to extract relocation type
|
||||
|
||||
O65_SIZE_32BIT = $2000 ; All size words are 32bit
|
||||
O65_SIZE_16BIT = $0000 ; All size words are 16bit
|
||||
O65_SIZE_MASK = $2000 ; Mask to extract size
|
||||
|
||||
O65_FTYPE_OBJ = $1000 ; Object file
|
||||
O65_FTYPE_EXE = $0000 ; Executable file
|
||||
O65_FTYPE_MASK = $1000 ; Mask to extract type
|
||||
|
||||
O65_ADDR_SIMPLE = $0800 ; Simple addressing
|
||||
O65_ADDR_DEFAULT = $0000 ; Default addressing
|
||||
O65_ADDR_MASK = $0800 ; Mask to extract addressing
|
||||
|
||||
O65_CHAIN = $0400 ; Chained file, another one follows
|
||||
O65_CHAIN_MASK = $0400 ; Mask to extract chain flag
|
||||
|
||||
O65_BSSZERO = $0200 ; BSS segment must be zeroed
|
||||
O65_BSSZERO_MASK = $0200 ; Mask to extract bss zero flag
|
||||
|
||||
; The following is used if O65_CPU == 6502
|
||||
O65_CPU2_6502 = $0000 ; Executable is for 6502
|
||||
O65_CPU2_65C02 = $0010 ; Executable is for 65C02
|
||||
O65_CPU2_65SC02 = $0020 ; Executable is for 65SC02
|
||||
O65_CPU2_65CE02 = $0030 ; Executable is for 65CE02
|
||||
O65_CPU2_6502X = $0040 ; Executable is for NMOS 6502
|
||||
O65_CPU2_65816_EMU = $0050 ; Executable is for 65816 in emul mode
|
||||
O65_CPU2_MASK = $00F0 ; Mask to extract CPU2 field
|
||||
|
||||
O65_ALIGN_1 = $0000 ; Bytewise alignment
|
||||
O65_ALIGN_2 = $0001 ; Align words
|
||||
O65_ALIGN_4 = $0002 ; Align longwords
|
||||
O65_ALIGN_256 = $0003 ; Align pages (256 bytes)
|
||||
O65_ALIGN_MASK = $0003 ; Mask to extract alignment
|
||||
|
||||
; The mode word as generated by the ld65 linker
|
||||
O65_MODE_CC65 = O65_CPU_6502 | O65_RELOC_BYTE | O65_SIZE_16BIT | O65_FTYPE_EXE | O65_ADDR_SIMPLE | O65_ALIGN_1
|
||||
|
||||
; Relocation type codes
|
||||
O65_RTYPE_WORD = $80
|
||||
O65_RTYPE_HIGH = $40
|
||||
O65_RTYPE_LOW = $20
|
||||
O65_RTYPE_SEGADDR = $C0
|
||||
O65_RTYPE_SEG = $A0
|
||||
O65_RTYPE_MASK = $E0
|
||||
|
||||
; Segment IDs
|
||||
O65_SEGID_UNDEF = $00
|
||||
O65_SEGID_ABS = $01
|
||||
O65_SEGID_TEXT = $02
|
||||
O65_SEGID_DATA = $03
|
||||
O65_SEGID_BSS = $04
|
||||
O65_SEGID_ZP = $05
|
||||
O65_SEGID_MASK = $07
|
||||
|
||||
; Option tags
|
||||
O65_OPT_FILENAME = 0
|
||||
O65_OPT_OS = 1
|
||||
O65_OPT_ASM = 2
|
||||
O65_OPT_AUTHOR = 3
|
||||
O65_OPT_TIMESTAMP = 4
|
||||
|
||||
; Operating system codes for O65_OPT_OS
|
||||
O65_OS_OSA65 = 1
|
||||
O65_OS_LUNIX = 2
|
||||
O65_OS_CC65 = 3
|
||||
O65_OS_OPENCBM = 4
|
||||
|
||||
; Load errors
|
||||
O65_LOAD_OK = 0 ; Module load successful
|
||||
O65_LOAD_ERR_READ = 1 ; Read error
|
||||
O65_LOAD_ERR_HDR = 2 ; Header error
|
||||
O65_LOAD_ERR_OS = 3 ; Wrong OS
|
||||
O65_LOAD_ERR_FMT = 4 ; Data format error
|
||||
O65_LOAD_ERR_MEM = 5 ; Not enough memory
|
||||
|
||||
|
||||
|
||||
514
asminc/opcodes.inc
Normal file
514
asminc/opcodes.inc
Normal file
|
|
@ -0,0 +1,514 @@
|
|||
; opcodes.inc
|
||||
; ca65 6502 - opcode definitions, mainly for self modifying code
|
||||
;
|
||||
; Christian Krüger, latest change: 18-Sep-2010
|
||||
;
|
||||
; This software is provided 'as-is', without any expressed or implied
|
||||
; warranty. In no event will the authors be held liable for any damages
|
||||
; arising from the use of this software.
|
||||
;
|
||||
; Permission is granted to anyone to use this software for any purpose,
|
||||
; including commercial applications, and to alter it and redistribute it
|
||||
; freely, subject to the following restrictions:
|
||||
;
|
||||
; 1. The origin of this software must not be misrepresented; you must not
|
||||
; claim that you wrote the original software. If you use this software
|
||||
; in a product, an acknowledgment in the product documentation would be
|
||||
; appreciated but is not required.
|
||||
; 2. Altered source versions must be plainly marked as such, and must not
|
||||
; be misrepresented as being the original software.
|
||||
; 3. This notice may not be removed or altered from any source
|
||||
; distribution.
|
||||
;
|
||||
|
||||
; Opcode-Table
|
||||
; ------------
|
||||
; Post fix explanation:
|
||||
; imm = #$00
|
||||
; zp = $00
|
||||
; zpx = $00,X
|
||||
; zpy = $00,Y
|
||||
; izp = ($00)
|
||||
; izx = ($00,X)
|
||||
; izy = ($00),Y
|
||||
; abs = $0000
|
||||
; abx = $0000,X
|
||||
; aby = $0000,Y
|
||||
; ind = ($0000)
|
||||
; iax = ($0000,X)
|
||||
; rel = $0000 (PC-relative) (supressed here)
|
||||
|
||||
OPC_BRK = $00
|
||||
OPC_ORA_izx = $01
|
||||
OPC_ORA_zp = $05
|
||||
OPC_ASL_zp = $06
|
||||
OPC_PHP = $08
|
||||
OPC_ORA_imm = $09
|
||||
OPC_ASL = $0A
|
||||
OPC_ORA_abs = $0D
|
||||
OPC_ASL_abs = $0E
|
||||
|
||||
OPC_BPL = $10
|
||||
OPC_ORA_izy = $11
|
||||
OPC_ORA_zpx = $15
|
||||
OPC_ASL_zpx = $16
|
||||
OPC_CLC = $18
|
||||
OPC_ORA_aby = $19
|
||||
OPC_ORA_abx = $1D
|
||||
OPC_ASL_abx = $1E
|
||||
|
||||
OPC_JSR_abs = $20
|
||||
OPC_AND_izx = $21
|
||||
OPC_BIT_zp = $24
|
||||
OPC_AND_zp = $25
|
||||
OPC_ROL_zp = $26
|
||||
OPC_PLP = $28
|
||||
OPC_AND_imm = $29
|
||||
OPC_ROL = $2A
|
||||
OPC_BIT_abs = $2C
|
||||
OPC_AND_abs = $2D
|
||||
OPC_ROL_abs = $2E
|
||||
|
||||
OPC_BMI = $30
|
||||
OPC_AND_izy = $31
|
||||
OPC_AND_zpx = $35
|
||||
OPC_ROL_zpx = $36
|
||||
OPC_SEC = $38
|
||||
OPC_AND_aby = $39
|
||||
OPC_AND_abx = $3D
|
||||
OPC_ROL_abx = $3E
|
||||
|
||||
|
||||
OPC_RTI = $40
|
||||
OPC_EOR_izx = $41
|
||||
OPC_EOR_zp = $45
|
||||
OPC_LSR_zp = $46
|
||||
OPC_PHA = $48
|
||||
OPC_EOR_imm = $49
|
||||
OPC_LSR = $4A
|
||||
OPC_JMP_abs = $4C
|
||||
OPC_EOR_abs = $4D
|
||||
OPC_LSR_abs = $4E
|
||||
|
||||
OPC_BVC = $50
|
||||
OPC_EOR_izy = $51
|
||||
OPC_EOR_zpx = $55
|
||||
OPC_LSR_zpx = $56
|
||||
OPC_CLI = $58
|
||||
OPC_EOR_aby = $59
|
||||
OPC_EOR_abx = $5D
|
||||
OPC_LSR_abx = $5E
|
||||
|
||||
OPC_RTS = $60
|
||||
OPC_ADC_izx = $61
|
||||
OPC_ADC_zp = $65
|
||||
OPC_ROR_zp = $66
|
||||
OPC_PLA = $68
|
||||
OPC_ADC_imm = $69
|
||||
OPC_ROR = $6A
|
||||
OPC_JMP_ind = $6C
|
||||
OPC_ADC_abs = $6D
|
||||
OPC_ROR_abs = $6E
|
||||
|
||||
OPC_BVS = $70
|
||||
OPC_ADC_izy = $71
|
||||
OPC_ADC_zpx = $75
|
||||
OPC_ROR_zpx = $76
|
||||
OPC_SEI = $78
|
||||
OPC_ADC_aby = $79
|
||||
OPC_ADC_abx = $7D
|
||||
OPC_ROR_abx = $7E
|
||||
|
||||
OPC_STA_izx = $81
|
||||
OPC_STY_zp = $84
|
||||
OPC_STA_zp = $85
|
||||
OPC_STX_zp = $86
|
||||
OPC_DEY = $88
|
||||
OPC_TXA = $8A
|
||||
OPC_STY_abs = $8C
|
||||
OPC_STA_abs = $8D
|
||||
OPC_STX_abs = $8E
|
||||
|
||||
OPC_BCC = $90
|
||||
OPC_STA_izy = $91
|
||||
OPC_STY_zpx = $94
|
||||
OPC_STA_zpx = $95
|
||||
OPC_STX_zpy = $96
|
||||
OPC_TYA = $98
|
||||
OPC_STA_aby = $99
|
||||
OPC_TXS = $9A
|
||||
OPC_STA_abx = $9D
|
||||
|
||||
OPC_LDY_imm = $A0
|
||||
OPC_LDA_izx = $A1
|
||||
OPC_LDX_imm = $A2
|
||||
OPC_LDY_zp = $A4
|
||||
OPC_LDA_zp = $A5
|
||||
OPC_LDX_zp = $A6
|
||||
OPC_TAY = $A8
|
||||
OPC_LDA_imm = $A9
|
||||
OPC_TAX = $AA
|
||||
OPC_LDY_abs = $AC
|
||||
OPC_LDA_abs = $AD
|
||||
OPC_LDX_abs = $AE
|
||||
|
||||
OPC_BCS = $B0
|
||||
OPC_LDA_izy = $B1
|
||||
OPC_LDY_zpx = $B4
|
||||
OPC_LDA_zpx = $B5
|
||||
OPC_LDX_zpy = $B6
|
||||
OPC_CLV = $B8
|
||||
OPC_LDA_aby = $B9
|
||||
OPC_TSX = $BA
|
||||
OPC_LDY_abx = $BC
|
||||
OPC_LDA_abx = $BD
|
||||
OPC_LDX_aby = $BE
|
||||
|
||||
OPC_CPY_imm = $C0
|
||||
OPC_CMP_izx = $C1
|
||||
OPC_CPY_zp = $C4
|
||||
OPC_CMP_zp = $C5
|
||||
OPC_DEC_zp = $C6
|
||||
OPC_INY = $C8
|
||||
OPC_CMP_imm = $C9
|
||||
OPC_DEX = $CA
|
||||
OPC_CPY_abs = $CC
|
||||
OPC_CMP_abs = $CD
|
||||
OPC_DEC_abs = $CE
|
||||
|
||||
OPC_BNE = $D0
|
||||
OPC_CMP_izy = $D1
|
||||
OPC_CMP_zpx = $D5
|
||||
OPC_DEC_zpx = $D6
|
||||
OPC_CLD = $D8
|
||||
OPC_CMP_aby = $D9
|
||||
OPC_CMP_abx = $DD
|
||||
OPC_DEC_abx = $DE
|
||||
|
||||
OPC_CPX_imm = $E0
|
||||
OPC_SBC_izx = $E1
|
||||
OPC_CPX_zp = $E4
|
||||
OPC_SBC_zp = $E5
|
||||
OPC_INC_zp = $E6
|
||||
OPC_INX = $E8
|
||||
OPC_SBC_imm = $E9
|
||||
OPC_NOP = $EA
|
||||
OPC_CPX_abs = $EC
|
||||
OPC_SBC_abs = $ED
|
||||
OPC_INC_abs = $EE
|
||||
|
||||
|
||||
OPC_BEQ = $F0
|
||||
OPC_SBC_izy = $F1
|
||||
OPC_SBC_zpx = $F5
|
||||
OPC_INC_zpx = $F6
|
||||
OPC_SED = $F8
|
||||
OPC_SBC_aby = $F9
|
||||
OPC_SBC_abx = $FD
|
||||
OPC_INC_abx = $FE
|
||||
|
||||
|
||||
.if (.cpu .bitand ::CPU_ISET_65SC02)
|
||||
|
||||
; OPC_NOP = $02 ; doublet
|
||||
; OPC_NOP = $03 ; doublet
|
||||
OPC_TSB_zp = $04
|
||||
; OPC_NOP = $0B ; doublet
|
||||
OPC_TSB_abs = $0C
|
||||
|
||||
OPC_ORA_izp = $12
|
||||
; OPC_NOP = $13 ; doublet
|
||||
OPC_TRB_zp = $14
|
||||
OPC_INC = $1A
|
||||
; OPC_NOP = $1B ; doublet
|
||||
OPC_TRB_abs = $1C
|
||||
|
||||
; OPC_NOP = $22 ; doublet
|
||||
; OPC_NOP = $23 ; doublet
|
||||
; OPC_NOP = $2B ; doublet
|
||||
|
||||
OPC_AND_izp = $32
|
||||
; OPC_NOP = $33 ; doublet
|
||||
OPC_BIT_zpx = $34
|
||||
OPC_DEC = $3A
|
||||
; OPC_NOP = $3B ; doublet
|
||||
OPC_BIT_abx = $3C
|
||||
|
||||
; OPC_NOP = $42 ; doublet
|
||||
; OPC_NOP = $43 ; doublet
|
||||
; OPC_NOP = $44 ; doublet
|
||||
; OPC_NOP = $4B ; doublet
|
||||
|
||||
OPC_EOR_izp = $52
|
||||
; OPC_NOP = $53 ; doublet
|
||||
; OPC_NOP = $54 ; doublet
|
||||
; OPC_NOP = $5A ; doublet
|
||||
; OPC_NOP = $5B ; doublet
|
||||
|
||||
; OPC_NOP = $62 ; doublet
|
||||
; OPC_NOP = $63 ; doublet
|
||||
OPC_STZ_zp = $64
|
||||
; OPC_NOP = $6B ; doublet
|
||||
|
||||
OPC_ADC_izp = $72
|
||||
; OPC_NOP = $73 ; doublet
|
||||
OPC_STZ_zpx = $74
|
||||
OPC_PLY = $7A
|
||||
; OPC_NOP = $7B ; doublet
|
||||
OPC_JMP_iax = $7C
|
||||
|
||||
OPC_BRA = $80
|
||||
; OPC_NOP = $82 ; doublet
|
||||
; OPC_NOP = $83 ; doublet
|
||||
OPC_BIT_imm = $89
|
||||
; OPC_NOP = $8B ; doublet
|
||||
|
||||
OPC_STA_izp = $92
|
||||
; OPC_NOP = $93 ; doublet
|
||||
; OPC_NOP = $9B ; doublet
|
||||
OPC_STZ_abs = $9C
|
||||
OPC_STZ_abx = $9E
|
||||
|
||||
; OPC_NOP = $A3 ; doublet
|
||||
; OPC_NOP = $AB ; doublet
|
||||
|
||||
OPC_LDA_izp = $B2
|
||||
; OPC_NOP = $B3 ; doublet
|
||||
; OPC_NOP = $BB ; doublet
|
||||
|
||||
; OPC_NOP = $C2 ; doublet
|
||||
; OPC_NOP = $C3 ; doublet
|
||||
; OPC_NOP = $CB ; doublet
|
||||
|
||||
OPC_CMP_izp = $D2
|
||||
; OPC_NOP = $D3 ; doublet
|
||||
; OPC_NOP = $D4 ; doublet
|
||||
OPC_PHX = $DA
|
||||
; OPC_NOP = $DB ; doublet
|
||||
; OPC_NOP = $DC ; doublet
|
||||
|
||||
; OPC_NOP = $E2 ; doublet
|
||||
; OPC_NOP = $E3 ; doublet
|
||||
; OPC_NOP = $EB ; doublet
|
||||
|
||||
OPC_SBC_izp = $F2
|
||||
; OPC_NOP = $F3 ; doublet
|
||||
; OPC_NOP = $F4 ; doublet
|
||||
OPC_PLX = $FA
|
||||
; OPC_NOP = $FB ; doublet
|
||||
; OPC_NOP = $FC ; doublet
|
||||
|
||||
|
||||
.if (.cpu .bitand ::CPU_ISET_65C02)
|
||||
|
||||
; bit instructions for 65C02
|
||||
|
||||
OPC_RMB0 = $07
|
||||
OPC_RMB1 = $17
|
||||
OPC_RMB2 = $27
|
||||
OPC_RMB3 = $37
|
||||
OPC_RMB4 = $47
|
||||
OPC_RMB5 = $57
|
||||
OPC_RMB6 = $67
|
||||
OPC_RMB7 = $77
|
||||
|
||||
OPC_SMB0 = $87
|
||||
OPC_SMB1 = $97
|
||||
OPC_SMB2 = $A7
|
||||
OPC_SMB3 = $B7
|
||||
OPC_SMB4 = $C7
|
||||
OPC_SMB5 = $D7
|
||||
OPC_SMB6 = $E7
|
||||
OPC_SMB7 = $F7
|
||||
|
||||
OPC_BBR0 = $0F
|
||||
OPC_BBR1 = $1F
|
||||
OPC_BBR2 = $2F
|
||||
OPC_BBR3 = $3F
|
||||
OPC_BBR4 = $4F
|
||||
OPC_BBR5 = $5F
|
||||
OPC_BBR6 = $6F
|
||||
OPC_BBR7 = $7F
|
||||
|
||||
OPC_BBS0 = $8F
|
||||
OPC_BBS1 = $9F
|
||||
OPC_BBS2 = $AF
|
||||
OPC_BBS3 = $BF
|
||||
OPC_BBS4 = $CF
|
||||
OPC_BBS5 = $DF
|
||||
OPC_BBS6 = $EF
|
||||
OPC_BBS7 = $FF
|
||||
|
||||
.else
|
||||
|
||||
; no bit instructions for 65SC02
|
||||
|
||||
; OPC_NOP = $07 ; doublet
|
||||
; OPC_NOP = $17 ; doublet
|
||||
; OPC_NOP = $27 ; doublet
|
||||
; OPC_NOP = $37 ; doublet
|
||||
; OPC_NOP = $47 ; doublet
|
||||
; OPC_NOP = $57 ; doublet
|
||||
; OPC_NOP = $67 ; doublet
|
||||
; OPC_NOP = $77 ; doublet
|
||||
; OPC_NOP = $87 ; doublet
|
||||
; OPC_NOP = $97 ; doublet
|
||||
; OPC_NOP = $A7 ; doublet
|
||||
; OPC_NOP = $B7 ; doublet
|
||||
; OPC_NOP = $C7 ; doublet
|
||||
; OPC_NOP = $D7 ; doublet
|
||||
; OPC_NOP = $E7 ; doublet
|
||||
; OPC_NOP = $F7 ; doublet
|
||||
; OPC_NOP = $0F ; doublet
|
||||
; OPC_NOP = $1F ; doublet
|
||||
; OPC_NOP = $2F ; doublet
|
||||
; OPC_NOP = $3F ; doublet
|
||||
; OPC_NOP = $4F ; doublet
|
||||
; OPC_NOP = $5F ; doublet
|
||||
; OPC_NOP = $6F ; doublet
|
||||
; OPC_NOP = $7F ; doublet
|
||||
; OPC_NOP = $8F ; doublet
|
||||
; OPC_NOP = $9F ; doublet
|
||||
; OPC_NOP = $AF ; doublet
|
||||
; OPC_NOP = $BF ; doublet
|
||||
; OPC_NOP = $CF ; doublet
|
||||
; OPC_NOP = $DF ; doublet
|
||||
; OPC_NOP = $EF ; doublet
|
||||
; OPC_NOP = $FF ; doublet
|
||||
|
||||
.endif
|
||||
|
||||
.elseif (.cpu .bitand ::CPU_ISET_6502X)
|
||||
|
||||
; stable, undocumented opcodes
|
||||
|
||||
; OPC_KIL = $02 ; unstable
|
||||
OPC_SLO_izx = $03
|
||||
OPC_NOP_zp = $04
|
||||
OPC_SLO_zp = $07
|
||||
OPC_ANC_imm = $0B
|
||||
OPC_NOP_abs = $0C
|
||||
OPC_SLO_abs = $0F
|
||||
|
||||
; OPC_KIL = $12 ; unstable
|
||||
OPC_SLO_izy = $13
|
||||
OPC_NOP_zpx = $14
|
||||
OPC_SLO_zpx = $17
|
||||
;OPC_NOP = $1A
|
||||
OPC_SLO_aby = $1B
|
||||
OPC_NOP_abx = $1C
|
||||
OPC_SLO_abx = $1F
|
||||
|
||||
; OPC_KIL = $22 ; unstable
|
||||
OPC_RLA_izx = $23
|
||||
OPC_RLA_zp = $27
|
||||
OPC_ANC_imm = $2B
|
||||
OPC_RLA_abs = $2F
|
||||
|
||||
; OPC_KIL = $32 ; unstable
|
||||
OPC_RLA_izy = $33
|
||||
OPC_NOP_zpx = $34
|
||||
OPC_RLA_zpx = $37
|
||||
; OPC_NOP = $3A ; doublet
|
||||
OPC_RLA_aby = $3B
|
||||
OPC_NOP_abx = $3C
|
||||
OPC_RLA_abx = $3F
|
||||
|
||||
; OPC_KIL = $42 ; unstable
|
||||
OPC_SRE_izx = $43
|
||||
OPC_NOP_zp = $44
|
||||
OPC_SRE_zp = $47
|
||||
OPC_ALR_imm = $4B
|
||||
OPC_SRE_abs = $4F
|
||||
|
||||
; OPC_KIL = $52 ; unstable
|
||||
OPC_SRE_izy = $53
|
||||
OPC_NOP_zpx = $54
|
||||
OPC_SRE_zpx = $57
|
||||
; OPC_NOP = $5A ; doublet
|
||||
OPC_SRE_aby = $5B
|
||||
OPC_NOP_abx = $5C
|
||||
OPC_SRE_abx = $5F
|
||||
|
||||
; OPC_KIL = $62
|
||||
OPC_RRA_izx = $63
|
||||
OPC_NOP_zp = $64
|
||||
OPC_RRA_zp = $67
|
||||
OPC_ARR_imm = $6B
|
||||
OPC_RRA_abs = $6F
|
||||
|
||||
; OPC_KIL = $72
|
||||
OPC_RRA_izy = $73
|
||||
OPC_NOP_zpx = $74
|
||||
OPC_RRA_zpx = $77
|
||||
; OPC_NOP = $7A ; doublet
|
||||
OPC_RRA_aby = $7B
|
||||
OPC_NOP_abx = $7C
|
||||
OPC_RRA_abx = $7F
|
||||
|
||||
OPC_NOP_imm = $80
|
||||
; OPC_NOP_imm = $82 ; doublet
|
||||
OPC_SAX_izx = $83
|
||||
OPC_SAX_zp = $87
|
||||
; OPC_NOP_imm = $89 ; doublet
|
||||
; OPC_XAA = $8B ; unstable
|
||||
OPC_SAX_abs = $8F
|
||||
|
||||
; OPC_KIL = $92 ; unstable
|
||||
; OPC_AHX_izy = $93 ; unstable
|
||||
OPC_SAX_zpy = $97
|
||||
; OPC_TAS_aby = $9B ; unstable
|
||||
; OPC_SHY_abx = $9C ; unstable
|
||||
; OPC_SHX_aby = $9E ; unstable
|
||||
; OPC_AHX_aby = $9F ; unstable
|
||||
|
||||
OPC_LAX_izx = $A3
|
||||
OPC_LAX_zp = $A7
|
||||
; OPC_LAX_imm = $AB ; unstable
|
||||
OPC_LAX_abs = $AF
|
||||
|
||||
; OPC_KIL = $B2 ; unstable
|
||||
OPC_LAX_izy = $B3
|
||||
OPC_LAX_zpy = $B7
|
||||
OPC_LAS_aby = $BB
|
||||
OPC_LAX_aby = $BF
|
||||
|
||||
; OPC_NOP_imm = $C2 ; doublet
|
||||
OPC_DCP_izx = $C3
|
||||
OPC_DCP_zp = $C7
|
||||
OPC_AXS_imm = $CB
|
||||
OPC_DCP_abs = $CF
|
||||
|
||||
; OPC_KIL = $D2 ; unstable
|
||||
OPC_DCP_izy = $D3
|
||||
OPC_NOP_zpx = $D4
|
||||
OPC_DCP_zpx = $D7
|
||||
OPC_NOP_DA = $DA
|
||||
OPC_DCP_aby = $DB
|
||||
OPC_NOP_abx = $DC
|
||||
OPC_DCP_abx = $DF
|
||||
|
||||
; OPC_NOP_imm = $E2 ; doublet
|
||||
OPC_ISC_izx = $E3
|
||||
OPC_ISC_zp = $E7
|
||||
; OPC_SBC_imm = $EB ; doublet
|
||||
OPC_ISC_abs = $EF
|
||||
|
||||
; OPC_KIL = $F2 ; unstable
|
||||
OPC_ISC_izy = $F3
|
||||
OPC_NOP_zpx = $F4
|
||||
OPC_ISC_zpx = $F7
|
||||
OPC_NOP_FA = $FA
|
||||
OPC_ISC_aby = $FB
|
||||
OPC_NOP_abx = $FC
|
||||
OPC_ISC_abx = $FF
|
||||
|
||||
.if (.cpu .bitand ::CPU_ISET_6502DTV)
|
||||
|
||||
OPC_BRA = $12
|
||||
OPC_SAC_imm = $32
|
||||
OPC_SIR_imm = $42
|
||||
|
||||
.endif
|
||||
|
||||
.endif
|
||||
93
asminc/pce.inc
Normal file
93
asminc/pce.inc
Normal file
|
|
@ -0,0 +1,93 @@
|
|||
;
|
||||
; PCE definitions. By Groepaz/Hitmen.
|
||||
;
|
||||
|
||||
; FIXME: Screen dimensions can change according to the selected video mode.
|
||||
screenrows = (224/8)
|
||||
charsperline = 61
|
||||
|
||||
CH_HLINE = 1
|
||||
CH_VLINE = 2
|
||||
|
||||
; HuC6270 -- Video Display Controller (VDC)
|
||||
|
||||
VDC_MAWR = 0 ; Memory Address Write Register
|
||||
VDC_MARR = 1 ; Memory Address Read Register
|
||||
VDC_VWR = 2 ; VRAM Write Register
|
||||
VDC_VRR = 2 ; VRAM Read Register
|
||||
VDC_UNK03 = 3 ; (unknown)
|
||||
VDC_UNK04 = 4 ; (unknown)
|
||||
VDC_CR = 5 ; Control Register
|
||||
VDC_RCR = 6 ; Raster Counter Register
|
||||
VDC_BXR = 7 ; Background X-Scroll Register
|
||||
VDC_BYR = 8 ; Background Y-Scroll Register
|
||||
VDC_MWR = 9 ; Memory-access Width Register
|
||||
VDC_HSR = 10 ; Horizontal Sync Register
|
||||
VDC_HDR = 11 ; Horizontal Display Register
|
||||
VDC_VSR = 12 ; Vertical sync Register
|
||||
VDC_VDR = 13 ; Vertical Display register
|
||||
VDC_VCR = 14 ; Vertical display END position register
|
||||
VDC_DCR = 15 ; (DMA) Control Register
|
||||
VDC_SOUR = 16 ; (DMA) Source Register
|
||||
VDC_DESR = 17 ; (DMA) Destination Register
|
||||
VDC_LENR = 18 ; (DMA) Length Register
|
||||
VDC_SATB = 19 ; Sprite Attribute Table
|
||||
|
||||
; VDC port
|
||||
; Note: The zero-page addressing mode is redirected to page $20.
|
||||
; We avoid it by using mirror locations that are outside of the zero page.
|
||||
|
||||
VDC_CTRL := $0200
|
||||
VDC_DATA_LO := $0202
|
||||
VDC_DATA_HI := $0203
|
||||
|
||||
; HuC6260 -- Video Color Encoder (VCE)
|
||||
|
||||
; The DAC has a palette of 512 colours.
|
||||
; The bitmap of that data is 0000000gggrrrbbb (Green, Red, Blue).
|
||||
; You can read and write the DAC registers.
|
||||
|
||||
VCE := $0400 ; base
|
||||
|
||||
VCE_CTRL := $0400 ; write $00 to reset
|
||||
VCE_ADDR_LO := $0402 ; LSB of byte offset into palette
|
||||
VCE_ADDR_HI := $0403 ; MSB of byte offset into palette
|
||||
VCE_DATA_LO := $0404 ; LSB of 16-bit palette data
|
||||
VCE_DATA_HI := $0405 ; MSB of 16-bit palette data
|
||||
|
||||
; Programmable Sound Generator (PSG)
|
||||
|
||||
PSG := $0800 ; base
|
||||
|
||||
PSG_CHAN_SELECT := $0800
|
||||
PSG_GLOBAL_PAN := $0801
|
||||
PSG_FREQ_LO := $0802
|
||||
PSG_FREQ_HI := $0803
|
||||
PSG_CHAN_CTRL := $0804
|
||||
PSG_CHAN_PAN := $0805
|
||||
PSG_CHAN_DATA := $0806
|
||||
PSG_NOISE := $0807
|
||||
PSG_LFO_FREQ := $0808
|
||||
PSG_LFO_CTRL := $0809
|
||||
|
||||
; Timer
|
||||
|
||||
TIMER := $0C00 ; base
|
||||
|
||||
TIMER_COUNT := $0C00
|
||||
TIMER_CTRL := $0C01
|
||||
|
||||
JOY_CTRL := $1000
|
||||
|
||||
IRQ_MASK := $1402
|
||||
IRQ_STATUS := $1403
|
||||
|
||||
CDR_MEM_DISABLE := $1803
|
||||
CDR_MEM_ENABLE := $1807
|
||||
|
||||
; Write to a VDC register.
|
||||
.macro VREG arg1, arg2
|
||||
st0 #arg1
|
||||
st1 #<(arg2)
|
||||
st2 #>(arg2)
|
||||
.endmacro
|
||||
100
asminc/pet.inc
Normal file
100
asminc/pet.inc
Normal file
|
|
@ -0,0 +1,100 @@
|
|||
;
|
||||
; PET generic definitions.
|
||||
;
|
||||
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
; Zero page, Commodore stuff
|
||||
|
||||
VARTAB := $2A ; Pointer to start of BASIC variables
|
||||
MEMSIZE := $34 ; Size of memory installed
|
||||
TXTPTR := $77 ; Pointer into BASIC source code
|
||||
TIME := $8D ; 60HZ clock
|
||||
STATUS := $96 ; IEC status byte
|
||||
KEY_COUNT := $9E ; Number of keys in input buffer
|
||||
RVS := $9F ; Reverse flag
|
||||
CURS_FLAG := $A7 ; 1 = cursor off
|
||||
CURS_BLINK := $A8 ; Blink counter
|
||||
CURS_CHAR := $A9 ; Character under the cursor
|
||||
CURS_STATE := $AA ; Cursor blink state
|
||||
SCREEN_PTR := $C4 ; Pointer to current char in text screen
|
||||
CURS_X := $C6 ; Cursor column
|
||||
FNLEN := $D1 ; Length of filename
|
||||
LFN := $D2 ; Current Logical File Number
|
||||
SECADR := $D3 ; Secondary address
|
||||
DEVNUM := $D4 ; Device number
|
||||
SCR_LINELEN := $D5 ; Screen line length
|
||||
CURS_Y := $D8 ; Cursor row
|
||||
FNADR := $DA ; Pointer to file name
|
||||
|
||||
; 80-Column CBMs
|
||||
KBDREPEAT80 := $E4
|
||||
KBDRPTRATE80 := $E5
|
||||
KBDRPTDELAY80 := $E6
|
||||
|
||||
BASIC_BUF := $200 ; Location of command-line
|
||||
BASIC_BUF_LEN = 81 ; Maximum length of command-line
|
||||
|
||||
KEY_BUF := $26F ; Keyboard buffer
|
||||
|
||||
; 40-Column PETs/CBMs
|
||||
KBDRPTDELAY40 := $3E9
|
||||
KBDRPTRATE40 := $3EA
|
||||
KBDREPEAT40 := $3EE
|
||||
KBDREPEAT40B := $3F8
|
||||
|
||||
;----------------------------------------------------------------------------
|
||||
; PET ROM type detection
|
||||
|
||||
PET_DETECT := $FFFB
|
||||
PET_2000 = $CA
|
||||
PET_3000 = $FC
|
||||
PET_4000 = $FD
|
||||
|
||||
;----------------------------------------------------------------------------
|
||||
; Vector and other locations
|
||||
|
||||
IRQVec := $0090
|
||||
BRKVec := $0092
|
||||
NMIVec := $0094
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
; I/O: 6520 PIA1
|
||||
|
||||
PIA1 := $E810 ; PIA1 base address
|
||||
PIA1_PORTA := PIA1+$0 ; Port A (PA) and data direction register A (DDRA)
|
||||
PIA1_PACTL := PIA1+$1 ; Port A control register (CRA)
|
||||
PIA1_PORTB := PIA1+$2 ; Port B (PB) and data direction register B (DDRB)
|
||||
PIA1_PBCTL := PIA1+$3 ; Port B control register (CRB)
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
; I/O: 6520 PIA2
|
||||
|
||||
PIA2 := $E820 ; PIA2 base address
|
||||
PIA2_PORTA := PIA2+$0 ; Port A (PA) and data direction register A (DDRA)
|
||||
PIA2_PACTL := PIA2+$1 ; Port A control register (CRA)
|
||||
PIA2_PORTB := PIA2+$2 ; Port B (PB) and data direction register B (DDRB)
|
||||
PIA2_PBCTL := PIA2+$3 ; Port B control register (CRB)
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
; I/O: 6522 VIA
|
||||
|
||||
VIA := $E840 ; VIA base address
|
||||
VIA_PB := VIA+$0 ; Port register B
|
||||
VIA_PA1 := VIA+$1 ; Port register A
|
||||
VIA_PRB := VIA+$0 ; *** Deprecated ***
|
||||
VIA_PRA := VIA+$1 ; *** Deprecated ***
|
||||
VIA_DDRB := VIA+$2 ; Data direction register B
|
||||
VIA_DDRA := VIA+$3 ; Data direction register A
|
||||
VIA_T1CL := VIA+$4 ; Timer 1, low byte
|
||||
VIA_T1CH := VIA+$5 ; Timer 1, high byte
|
||||
VIA_T1LL := VIA+$6 ; Timer 1 latch, low byte
|
||||
VIA_T1LH := VIA+$7 ; Timer 1 latch, high byte
|
||||
VIA_T2CL := VIA+$8 ; Timer 2, low byte
|
||||
VIA_T2CH := VIA+$9 ; Timer 2, high byte
|
||||
VIA_SR := VIA+$A ; Shift register
|
||||
VIA_CR := VIA+$B ; Auxiliary control register
|
||||
VIA_PCR := VIA+$C ; Peripheral control register
|
||||
VIA_IFR := VIA+$D ; Interrupt flag register
|
||||
VIA_IER := VIA+$E ; Interrupt enable register
|
||||
VIA_PA2 := VIA+$F ; Port register A w/o handshake
|
||||
86
asminc/plus4.inc
Normal file
86
asminc/plus4.inc
Normal file
|
|
@ -0,0 +1,86 @@
|
|||
;
|
||||
; Plus/4 generic definitions.
|
||||
;
|
||||
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
; Zero page, Commodore stuff
|
||||
|
||||
TMPPTR := $22 ; Temporary ptr used by BASIC
|
||||
VARTAB := $2D ; Pointer to start of BASIC variables
|
||||
MEMSIZE := $37 ; Pointer to highest BASIC RAM location (+1)
|
||||
TXTPTR := $3B ; Pointer into BASIC source code
|
||||
STATUS := $90 ; Kernal I/O completion status
|
||||
TIME := $A3 ; 60HZ clock
|
||||
FNAM_LEN := $AB ; Length of filename
|
||||
LFN := $AC ; Logical file number
|
||||
SECADR := $AD ; Secondary address
|
||||
DEVNUM := $AE ; Device number
|
||||
FNAM := $AF ; Pointer to filename for OPEN
|
||||
KEY_COUNT := $EF ; Number of keys in input buffer
|
||||
RVS := $C2 ; Reverse flag
|
||||
CURS_X := $CA ; Cursor column
|
||||
CURS_Y := $CD ; Cursor row
|
||||
SCREEN_PTR := $C8 ; Pointer to current char in text screen
|
||||
CRAM_PTR := $EA ; Pointer to current char in color RAM
|
||||
|
||||
BASIC_BUF := $200 ; Location of command-line
|
||||
BASIC_BUF_LEN = 89 ; Maximum length of command-line
|
||||
|
||||
FNBUF := $25E ; Buffer for filename
|
||||
FETCH := $494 ; lda (zp),y from RAM
|
||||
CHARCOLOR := $53B
|
||||
FKEY_COUNT := $55D ; Characters for function key
|
||||
FKEY_SPACE := $55F ; Function key definitions
|
||||
FKEY_ORIG := $F3D2 ; Original definitions
|
||||
|
||||
KBDREPEAT := $540
|
||||
KBDREPEATRATE := $541
|
||||
KBDREPEATDELAY := $542
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
; Vector and other locations
|
||||
|
||||
IRQVec := $0314
|
||||
BRKVec := $0316
|
||||
NMIVec := $0318
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
; Screen size
|
||||
|
||||
XSIZE = 40
|
||||
YSIZE = 25
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
; I/O
|
||||
|
||||
TED_T1LO := $FF00
|
||||
TED_T1HI := $FF01
|
||||
TED_T2LO := $FF02
|
||||
TED_T2HI := $FF03
|
||||
TED_T3LO := $FF04
|
||||
TED_T4HI := $FF05
|
||||
TED_MULTI1 := $FF07
|
||||
TED_KBD := $FF08
|
||||
TED_CURSHI := $FF0C
|
||||
TED_CURSLO := $FF0D
|
||||
TED_V1FRQLO := $FF0E
|
||||
TED_V2FRQLO := $FF0F
|
||||
TED_V2FRQHI := $FF10
|
||||
TED_CLK := $FF13
|
||||
TED_BGCOLOR := $FF15
|
||||
TED_COLOR1 := $FF16
|
||||
TED_COLOR2 := $FF17
|
||||
TED_COLOR3 := $FF18
|
||||
TED_BORDERCOLOR := $FF19
|
||||
TED_VLINEHI := $FF1C
|
||||
TED_VLINELO := $FF1D
|
||||
TED_HPOS := $FF1E
|
||||
TED_ROMSEL := $FF3E
|
||||
TED_RAMSEL := $FF3F
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
; RAM/ROM selection addresses
|
||||
|
||||
ENABLE_ROM := TED_ROMSEL
|
||||
ENABLE_RAM := TED_RAMSEL
|
||||
94
asminc/rp6502.inc
Normal file
94
asminc/rp6502.inc
Normal file
|
|
@ -0,0 +1,94 @@
|
|||
; Picocomputer 6502 general defines
|
||||
|
||||
; RIA UART
|
||||
RIA_READY := $FFE0 ; TX=$80 RX=$40
|
||||
RIA_TX := $FFE1
|
||||
RIA_RX := $FFE2
|
||||
|
||||
; VSYNC from PIX VGA
|
||||
RIA_VSYNC := $FFE3
|
||||
|
||||
; RIA XRAM portal 0
|
||||
RIA_RW0 := $FFE4
|
||||
RIA_STEP0 := $FFE5
|
||||
RIA_ADDR0 := $FFE6
|
||||
|
||||
; RIA XRAM portal 1
|
||||
RIA_RW1 := $FFE8
|
||||
RIA_STEP1 := $FFE9
|
||||
RIA_ADDR1 := $FFEA
|
||||
|
||||
; RIA OS fastcall
|
||||
RIA_XSTACK := $FFEC
|
||||
RIA_ERRNO := $FFED
|
||||
RIA_OP := $FFEF
|
||||
RIA_IRQ := $FFF0
|
||||
RIA_SPIN := $FFF1
|
||||
RIA_BUSY := $FFF2 ; Bit $80
|
||||
RIA_A := $FFF4
|
||||
RIA_X := $FFF6
|
||||
RIA_SREG := $FFF8
|
||||
|
||||
; RIA OS operation numbers
|
||||
RIA_OP_EXIT := $FF
|
||||
RIA_OP_ZXSTACK := $00
|
||||
RIA_OP_XREG := $01
|
||||
RIA_OP_PHI2 := $02
|
||||
RIA_OP_CODE_PAGE := $03
|
||||
RIA_OP_LRAND := $04
|
||||
RIA_OP_STDIN_OPT := $05
|
||||
RIA_OP_ERRNO_OPT := $06
|
||||
RIA_OP_CLOCK := $0F
|
||||
RIA_OP_CLOCK_GETRES := $10
|
||||
RIA_OP_CLOCK_GETTIME := $11
|
||||
RIA_OP_CLOCK_SETTIME := $12
|
||||
RIA_OP_CLOCK_GETTIMEZONE := $13
|
||||
RIA_OP_OPEN := $14
|
||||
RIA_OP_CLOSE := $15
|
||||
RIA_OP_READ_XSTACK := $16
|
||||
RIA_OP_READ_XRAM := $17
|
||||
RIA_OP_WRITE_XSTACK := $18
|
||||
RIA_OP_WRITE_XRAM := $19
|
||||
RIA_OP_LSEEK := $1A
|
||||
RIA_OP_LSEEK_CC65 := $1A
|
||||
RIA_OP_UNLINK := $1B
|
||||
RIA_OP_RENAME := $1C
|
||||
RIA_OP_LSEEK_LLVM := $1D
|
||||
RIA_OP_SYNCFS := $1E
|
||||
RIA_OP_STAT := $1F
|
||||
RIA_OP_OPENDIR := $20
|
||||
RIA_OP_READDIR := $21
|
||||
RIA_OP_CLOSEDIR := $22
|
||||
RIA_OP_TELLDIR := $23
|
||||
RIA_OP_SEEKDIR := $24
|
||||
RIA_OP_REWINDDIR := $25
|
||||
RIA_OP_CHMOD := $26
|
||||
RIA_OP_UTIME := $27
|
||||
RIA_OP_MKDIR := $28
|
||||
RIA_OP_CHDIR := $29
|
||||
RIA_OP_CHDRIVE := $2A
|
||||
RIA_OP_GETCWD := $2B
|
||||
RIA_OP_SETLABEL := $2C
|
||||
RIA_OP_GETLABEL := $2D
|
||||
RIA_OP_GETFREE := $2E
|
||||
|
||||
; 6522 VIA
|
||||
VIA := $FFD0 ; VIA base address
|
||||
VIA_PB := VIA+$0 ; Port register B
|
||||
VIA_PA1 := VIA+$1 ; Port register A
|
||||
VIA_PRB := VIA+$0 ; *** Deprecated ***
|
||||
VIA_PRA := VIA+$1 ; *** Deprecated ***
|
||||
VIA_DDRB := VIA+$2 ; Data direction register B
|
||||
VIA_DDRA := VIA+$3 ; Data direction register A
|
||||
VIA_T1CL := VIA+$4 ; Timer 1, low byte
|
||||
VIA_T1CH := VIA+$5 ; Timer 1, high byte
|
||||
VIA_T1LL := VIA+$6 ; Timer 1 latch, low byte
|
||||
VIA_T1LH := VIA+$7 ; Timer 1 latch, high byte
|
||||
VIA_T2CL := VIA+$8 ; Timer 2, low byte
|
||||
VIA_T2CH := VIA+$9 ; Timer 2, high byte
|
||||
VIA_SR := VIA+$A ; Shift register
|
||||
VIA_CR := VIA+$B ; Auxiliary control register
|
||||
VIA_PCR := VIA+$C ; Peripheral control register
|
||||
VIA_IFR := VIA+$D ; Interrupt flag register
|
||||
VIA_IER := VIA+$E ; Interrupt enable register
|
||||
VIA_PA2 := VIA+$F ; Port register A w/o handshake
|
||||
55
asminc/ser-error.inc
Normal file
55
asminc/ser-error.inc
Normal file
|
|
@ -0,0 +1,55 @@
|
|||
;****************************************************************************
|
||||
;* *
|
||||
;* ser-error.inc *
|
||||
;* *
|
||||
;* Serial communication API *
|
||||
;* *
|
||||
;* *
|
||||
;* *
|
||||
;* (C) 2003-2012, Ullrich von Bassewitz *
|
||||
;* Roemerstrasse 52 *
|
||||
;* D-70794 Filderstadt *
|
||||
;* EMail: uz@cc65.org *
|
||||
;* *
|
||||
;* *
|
||||
;*This software is provided 'as-is', without any expressed or implied *
|
||||
;*warranty. In no event will the authors be held liable for any damages *
|
||||
;*arising from the use of this software. *
|
||||
;* *
|
||||
;*Permission is granted to anyone to use this software for any purpose, *
|
||||
;*including commercial applications, and to alter it and redistribute it *
|
||||
;*freely, subject to the following restrictions: *
|
||||
;* *
|
||||
;*1. The origin of this software must not be misrepresented; you must not *
|
||||
;* claim that you wrote the original software. If you use this software *
|
||||
;* in a product, an acknowledgment in the product documentation would be *
|
||||
;* appreciated but is not required. *
|
||||
;*2. Altered source versions must be plainly marked as such, and must not *
|
||||
;* be misrepresented as being the original software. *
|
||||
;*3. This notice may not be removed or altered from any source *
|
||||
;* distribution. *
|
||||
;* *
|
||||
;****************************************************************************
|
||||
|
||||
|
||||
|
||||
;------------------------------------------------------------------------------
|
||||
; Error codes
|
||||
|
||||
.enum
|
||||
SER_ERR_OK ; Not an error - relax
|
||||
SER_ERR_NO_DRIVER ; No driver available
|
||||
SER_ERR_CANNOT_LOAD ; Error loading driver
|
||||
SER_ERR_INV_DRIVER ; Invalid driver
|
||||
SER_ERR_NO_DEVICE ; Device (hardware) not found
|
||||
SER_ERR_BAUD_UNAVAIL ; Baud rate not available
|
||||
SER_ERR_NO_DATA ; Nothing to read
|
||||
SER_ERR_OVERFLOW ; No room in send buffer
|
||||
SER_ERR_INIT_FAILED ; Initialization failed
|
||||
SER_ERR_INV_IOCTL ; IOCTL not supported
|
||||
SER_ERR_INSTALLED ; A driver is already installed
|
||||
SER_ERR_NOT_OPEN ; Driver not open
|
||||
|
||||
SER_ERR_COUNT ; Special: Number of error codes
|
||||
.endenum
|
||||
|
||||
162
asminc/ser-kernel.inc
Normal file
162
asminc/ser-kernel.inc
Normal file
|
|
@ -0,0 +1,162 @@
|
|||
;****************************************************************************
|
||||
;* *
|
||||
;* ser-kernel.inc *
|
||||
;* *
|
||||
;* Serial communication API *
|
||||
;* *
|
||||
;* *
|
||||
;* *
|
||||
;*(C) 2003-2006, Ullrich von Bassewitz *
|
||||
;* Roemerstrasse 52 *
|
||||
;* D-70794 Filderstadt *
|
||||
;*EMail: uz@cc65.org *
|
||||
;* *
|
||||
;* *
|
||||
;*This software is provided 'as-is', without any expressed or implied *
|
||||
;*warranty. In no event will the authors be held liable for any damages *
|
||||
;*arising from the use of this software. *
|
||||
;* *
|
||||
;*Permission is granted to anyone to use this software for any purpose, *
|
||||
;*including commercial applications, and to alter it and redistribute it *
|
||||
;*freely, subject to the following restrictions: *
|
||||
;* *
|
||||
;*1. The origin of this software must not be misrepresented; you must not *
|
||||
;* claim that you wrote the original software. If you use this software *
|
||||
;* in a product, an acknowledgment in the product documentation would be *
|
||||
;* appreciated but is not required. *
|
||||
;*2. Altered source versions must be plainly marked as such, and must not *
|
||||
;* be misrepresented as being the original software. *
|
||||
;*3. This notice may not be removed or altered from any source *
|
||||
;* distribution. *
|
||||
;* *
|
||||
;****************************************************************************
|
||||
|
||||
|
||||
|
||||
;------------------------------------------------------------------------------
|
||||
; The driver header
|
||||
|
||||
.struct SER_HDR
|
||||
ID .byte 3 ; Contains 0x73, 0x65, 0x72 ("ser")
|
||||
VERSION .byte 1 ; Interface version
|
||||
LIBREF .addr ; Library reference
|
||||
JUMPTAB .struct
|
||||
SER_INSTALL .addr ; SER_INSTALL routine
|
||||
SER_UNINSTALL .addr ; SER_UNINSTALL routine
|
||||
SER_OPEN .addr ; SER_OPEN routine
|
||||
SER_CLOSE .addr ; SER_CLOSE routine
|
||||
SER_GET .addr ; SER_GET routine
|
||||
SER_PUT .addr ; SER_PUT routine
|
||||
SER_STATUS .addr ; SER_STATUS routine
|
||||
SER_IOCTL .addr ; SER_IOCTL routine
|
||||
SER_IRQ .addr ; SER_IRQ routine
|
||||
.endstruct
|
||||
.endstruct
|
||||
|
||||
|
||||
;------------------------------------------------------------------------------
|
||||
; The SER API version, stored SER_HDR::VERSION
|
||||
|
||||
SER_API_VERSION = $02
|
||||
|
||||
;------------------------------------------------------------------------------
|
||||
; ser_params
|
||||
|
||||
.struct SER_PARAMS
|
||||
BAUDRATE .byte ; Baudrate
|
||||
DATABITS .byte ; Number of data bits
|
||||
STOPBITS .byte ; Number of stop bits
|
||||
PARITY .byte ; Parity setting
|
||||
HANDSHAKE .byte ; Type of handshake to use
|
||||
.endstruct
|
||||
|
||||
;------------------------------------------------------------------------------
|
||||
; Serial parameters
|
||||
|
||||
; Baudrate
|
||||
SER_BAUD_45_5 = $00
|
||||
SER_BAUD_50 = $01
|
||||
SER_BAUD_75 = $02
|
||||
SER_BAUD_110 = $03
|
||||
SER_BAUD_134_5 = $04
|
||||
SER_BAUD_150 = $05
|
||||
SER_BAUD_300 = $06
|
||||
SER_BAUD_600 = $07
|
||||
SER_BAUD_1200 = $08
|
||||
SER_BAUD_1800 = $09
|
||||
SER_BAUD_2400 = $0A
|
||||
SER_BAUD_3600 = $0B
|
||||
SER_BAUD_4800 = $0C
|
||||
SER_BAUD_7200 = $0D
|
||||
SER_BAUD_9600 = $0E
|
||||
SER_BAUD_19200 = $0F
|
||||
SER_BAUD_38400 = $10
|
||||
SER_BAUD_57600 = $11
|
||||
SER_BAUD_115200 = $12
|
||||
SER_BAUD_230400 = $13
|
||||
SER_BAUD_31250 = $14
|
||||
SER_BAUD_62500 = $15
|
||||
SER_BAUD_56_875 = $16
|
||||
|
||||
; Data bit settings
|
||||
SER_BITS_5 = $00
|
||||
SER_BITS_6 = $01
|
||||
SER_BITS_7 = $02
|
||||
SER_BITS_8 = $03
|
||||
|
||||
; Stop bit settings
|
||||
SER_STOP_1 = $00
|
||||
SER_STOP_2 = $01
|
||||
|
||||
; Parity
|
||||
SER_PAR_NONE = $00
|
||||
SER_PAR_ODD = $01
|
||||
SER_PAR_EVEN = $02
|
||||
SER_PAR_MARK = $03
|
||||
SER_PAR_SPACE = $04
|
||||
|
||||
; Handshake
|
||||
SER_HS_NONE = $00 ; No handshake
|
||||
SER_HS_HW = $01 ; Hardware (RTS/CTS) handshake
|
||||
SER_HS_SW = $02 ; Software handshake
|
||||
|
||||
; Bit masks to mask out things from the status returned by ser_status
|
||||
SER_STATUS_PE = $01 ; Parity error
|
||||
SER_STATUS_FE = $02 ; Framing error
|
||||
SER_STATUS_OE = $04 ; Overrun error
|
||||
SER_STATUS_DCD = $20 ; NOT data carrier detect
|
||||
SER_STATUS_DSR = $40 ; NOT data set ready
|
||||
|
||||
;------------------------------------------------------------------------------
|
||||
; Variables
|
||||
|
||||
.global _ser_drv ; Pointer to driver
|
||||
|
||||
;------------------------------------------------------------------------------
|
||||
; Driver entry points
|
||||
|
||||
.global ser_install
|
||||
.global ser_uninstall
|
||||
.global ser_open
|
||||
.global ser_close
|
||||
.global ser_get
|
||||
.global ser_put
|
||||
.global ser_status
|
||||
.global ser_ioctl
|
||||
.global ser_irq
|
||||
|
||||
;------------------------------------------------------------------------------
|
||||
; C callable functions
|
||||
|
||||
.global _ser_load_driver
|
||||
.global _ser_unload
|
||||
.global _ser_install
|
||||
.global _ser_uninstall
|
||||
.global _ser_open
|
||||
.global _ser_close
|
||||
.global _ser_get
|
||||
.global _ser_put
|
||||
.global _ser_status
|
||||
.global _ser_ioctl
|
||||
|
||||
.global _ser_clear_ptr
|
||||
57
asminc/signal.inc
Normal file
57
asminc/signal.inc
Normal file
|
|
@ -0,0 +1,57 @@
|
|||
;/*****************************************************************************/
|
||||
;/* */
|
||||
;/* signal.inc */
|
||||
;/* */
|
||||
;/* Signal handling definitions */
|
||||
;/* */
|
||||
;/* */
|
||||
;/* */
|
||||
;/* (C) 2002 Ullrich von Bassewitz */
|
||||
;/* Wacholderweg 14 */
|
||||
;/* D-70597 Stuttgart */
|
||||
;/* EMail: uz@musoftware.de */
|
||||
;/* */
|
||||
;/* */
|
||||
;/* This software is provided 'as-is', without any expressed or implied */
|
||||
;/* warranty. In no event will the authors be held liable for any damages */
|
||||
;/* arising from the use of this software. */
|
||||
;/* */
|
||||
;/* Permission is granted to anyone to use this software for any purpose, */
|
||||
;/* including commercial applications, and to alter it and redistribute it */
|
||||
;/* freely, subject to the following restrictions: */
|
||||
;/* */
|
||||
;/* 1. The origin of this software must not be misrepresented; you must not */
|
||||
;/* claim that you wrote the original software. If you use this software */
|
||||
;/* in a product, an acknowledgment in the product documentation would be */
|
||||
;/* appreciated but is not required. */
|
||||
;/* 2. Altered source versions must be plainly marked as such, and must not */
|
||||
;/* be misrepresented as being the original software. */
|
||||
;/* 3. This notice may not be removed or altered from any source */
|
||||
;/* distribution. */
|
||||
;/* */
|
||||
;/*****************************************************************************/
|
||||
|
||||
|
||||
|
||||
; Standard signal handling functions
|
||||
SIG_ERR = $0000
|
||||
|
||||
; Signal numbers
|
||||
SIGABRT = 0
|
||||
SIGFPE = 1
|
||||
SIGILL = 2
|
||||
SIGINT = 3
|
||||
SIGSEGV = 4
|
||||
SIGTERM = 5
|
||||
SIGCOUNT = 6 ; Number of signals
|
||||
|
||||
; Table with signal handlers (asm code only)
|
||||
.global sigtable
|
||||
|
||||
; Function declarations
|
||||
.global ___sig_ign
|
||||
.global ___sig_dfl
|
||||
.global _signal
|
||||
.global _raise
|
||||
|
||||
|
||||
75
asminc/sim65.inc
Normal file
75
asminc/sim65.inc
Normal file
|
|
@ -0,0 +1,75 @@
|
|||
|
||||
; *******************************************************************************
|
||||
; ** **
|
||||
; ** sim65.inc : assembler definitions for the sim6502 and sim65c02 targets. **
|
||||
; ** **
|
||||
; ** Sidney Cadot, January 2025 **
|
||||
; ** **
|
||||
; *******************************************************************************
|
||||
|
||||
; The '_peripherals' symbol is defined in the linker configuration
|
||||
; file to correspond to the first address in the periperal memory
|
||||
; aparture.
|
||||
;
|
||||
; We use it here as a base address for all peripheral addresses.
|
||||
|
||||
.import _peripherals
|
||||
|
||||
; **************************************************************
|
||||
; ** **
|
||||
; ** Define assembler symbols for the "counter" peripheral. **
|
||||
; ** **
|
||||
; **************************************************************
|
||||
|
||||
peripheral_counter_base := _peripherals + 0
|
||||
|
||||
peripheral_counter_latch := peripheral_counter_base + 0
|
||||
peripheral_counter_select := peripheral_counter_base + 1
|
||||
peripheral_counter_value := peripheral_counter_base + 2
|
||||
|
||||
; Values for the peripheral_counter_select register.
|
||||
|
||||
COUNTER_SELECT_CLOCKCYCLE_COUNTER = $00
|
||||
COUNTER_SELECT_INSTRUCTION_COUNTER = $01
|
||||
COUNTER_SELECT_IRQ_COUNTER = $02
|
||||
COUNTER_SELECT_NMI_COUNTER = $03
|
||||
COUNTER_SELECT_WALLCLOCK_TIME = $80
|
||||
COUNTER_SELECT_WALLCLOCK_TIME_SPLIT = $81
|
||||
|
||||
; ********************************************************************
|
||||
; ** **
|
||||
; ** Define assembler symbols for the "sim65 control" peripheral. **
|
||||
; ** **
|
||||
; ********************************************************************
|
||||
|
||||
peripheral_sim65_base := _peripherals + 10
|
||||
|
||||
peripheral_sim65_cpu_mode := peripheral_sim65_base + 0
|
||||
peripheral_sim65_trace_mode := peripheral_sim65_base + 1
|
||||
|
||||
; Values for the peripheral_sim65_cpu_mode register.
|
||||
|
||||
SIM65_CPU_MODE_6502 = $00
|
||||
SIM65_CPU_MODE_65C02 = $01
|
||||
SIM65_CPU_MODE_6502X = $02
|
||||
|
||||
; Bitfield values for the peripheral_sim65_trace_mode field.
|
||||
|
||||
SIM65_TRACE_MODE_FIELD_INSTR_COUNTER = $40
|
||||
SIM65_TRACE_MODE_FIELD_CLOCK_COUNTER = $20
|
||||
SIM65_TRACE_MODE_FIELD_PC = $10
|
||||
SIM65_TRACE_MODE_FIELD_INSTR_BYTES = $08
|
||||
SIM65_TRACE_MODE_FIELD_INSTR_ASSEMBLY = $04
|
||||
SIM65_TRACE_MODE_FIELD_CPU_REGISTERS = $02
|
||||
SIM65_TRACE_MODE_FIELD_CC65_SP = $01
|
||||
|
||||
; Values for the peripheral_sim65_trace_mode field that fully disable / enable tracing.
|
||||
|
||||
SIM65_TRACE_MODE_DISABLE = $00
|
||||
SIM65_TRACE_MODE_ENABLE_FULL = $7F
|
||||
|
||||
; ************************
|
||||
; ** **
|
||||
; ** End of sim65.inc **
|
||||
; ** **
|
||||
; ************************
|
||||
267
asminc/smc.inc
Normal file
267
asminc/smc.inc
Normal file
|
|
@ -0,0 +1,267 @@
|
|||
; smc.mac
|
||||
; ca65 Macro-Pack for Self Modifying Code (SMC)
|
||||
;
|
||||
; (c) Christian Krüger, latest change: 17-Jul-2016
|
||||
;
|
||||
; This software is provided 'as-is', without any expressed or implied
|
||||
; warranty. In no event will the authors be held liable for any damages
|
||||
; arising from the use of this software.
|
||||
;
|
||||
; Permission is granted to anyone to use this software for any purpose,
|
||||
; including commercial applications, and to alter it and redistribute it
|
||||
; freely, subject to the following restrictions:
|
||||
;
|
||||
; 1. The origin of this software must not be misrepresented; you must not
|
||||
; claim that you wrote the original software. If you use this software
|
||||
; in a product, an acknowledgment in the product documentation would be
|
||||
; appreciated but is not required.
|
||||
; 2. Altered source versions must be plainly marked as such, and must not
|
||||
; be misrepresented as being the original software.
|
||||
; 3. This notice may not be removed or altered from any source
|
||||
; distribution.
|
||||
;
|
||||
|
||||
.define _SMCDesignator .mid(0, .tcount(label) - 1, label) .ident(.concat(.string(.right(1, label)), "_SMC"))
|
||||
.define _SMCAlias .mid(0, .tcount(alias) - 1, alias) .ident(.concat(.string(.right(1, alias)), "_SMC"))
|
||||
.define SMC_AbsAdr $FADE
|
||||
.define SMC_ZpAdr $00
|
||||
.define SMC_Opcode nop
|
||||
.define SMC_Value $42
|
||||
|
||||
.macro SMC_OperateOnValue opcode, label
|
||||
opcode _SMCDesignator+1
|
||||
.endmacro
|
||||
|
||||
.macro SMC_OperateOnLowByte opcode, label
|
||||
SMC_OperateOnValue opcode, label
|
||||
.endmacro
|
||||
|
||||
.macro SMC_OperateOnHighByte opcode, label
|
||||
opcode _SMCDesignator + 2
|
||||
.endmacro
|
||||
|
||||
.macro SMC_Import alias
|
||||
.import _SMCAlias
|
||||
.endmacro
|
||||
|
||||
.macro SMC_Export alias, label
|
||||
.export _SMCAlias := _SMCDesignator
|
||||
.endmacro
|
||||
|
||||
.macro SMC label, statement
|
||||
_SMCDesignator: statement
|
||||
.endmacro
|
||||
|
||||
.macro SMC_TransferOpcode label, opcode, register
|
||||
.if .paramcount = 2 .or .match ({register}, a) .or .match ({register}, )
|
||||
lda #opcode
|
||||
sta _SMCDesignator
|
||||
.elseif .match ({register}, x)
|
||||
ldx #opcode
|
||||
stx _SMCDesignator
|
||||
.elseif .match ({register}, y)
|
||||
ldy #opcode
|
||||
sty _SMCDesignator
|
||||
.else
|
||||
.error "Invalid usage of macro 'SMC_TransferOpcode'"
|
||||
.endif
|
||||
.endmacro
|
||||
|
||||
.macro SMC_LoadOpcode label, register
|
||||
.if .paramcount = 1 .or .match ({register}, a) .or .match ({register}, )
|
||||
lda _SMCDesignator
|
||||
.elseif .match ({register}, x)
|
||||
ldx _SMCDesignator
|
||||
.elseif .match ({register}, y)
|
||||
ldy _SMCDesignator
|
||||
.else
|
||||
.error "Invalid usage of macro 'SMC_LoadOpcode'"
|
||||
.endif
|
||||
.endmacro
|
||||
|
||||
.macro SMC_StoreOpcode label, register
|
||||
.if .paramcount = 1 .or .match ({register}, a) .or .match ({register}, )
|
||||
sta _SMCDesignator
|
||||
.elseif .match ({register}, x)
|
||||
stx _SMCDesignator
|
||||
.elseif .match ({register}, y)
|
||||
sty _SMCDesignator
|
||||
.else
|
||||
.error "Invalid usage of macro 'SMC_StoreOpcode'"
|
||||
.endif
|
||||
.endmacro
|
||||
|
||||
.macro SMC_ChangeBranch label, destination, register
|
||||
.if .paramcount = 2 .or .match ({register}, a) .or .match ({register}, )
|
||||
lda #(<(destination - _SMCDesignator -2))
|
||||
sta _SMCDesignator+1
|
||||
.elseif .match ({register}, x)
|
||||
ldx #(<(destination - _SMCDesignator - 2))
|
||||
stx _SMCDesignator+1
|
||||
.elseif .match ({register}, y)
|
||||
ldy #(<(destination - _SMCDesignator - 2))
|
||||
sty _SMCDesignator+1
|
||||
.else
|
||||
.error "Invalid usage of macro 'SMC_ChangeBranch'"
|
||||
.endif
|
||||
.endmacro
|
||||
|
||||
.macro SMC_TransferValue label, value, register
|
||||
.if .paramcount = 2 .or .match ({register}, a) .or .match ({register}, )
|
||||
lda value
|
||||
sta _SMCDesignator+1
|
||||
.elseif .match ({register}, x)
|
||||
ldx value
|
||||
stx _SMCDesignator+1
|
||||
.elseif .match ({register}, y)
|
||||
ldy value
|
||||
sty _SMCDesignator+1
|
||||
.else
|
||||
.error "Invalid usage of macro 'SMC_TransferValue'"
|
||||
.endif
|
||||
.endmacro
|
||||
|
||||
.macro SMC_LoadValue label, register
|
||||
.if .paramcount = 1 .or .match ({register}, a) .or .match ({register}, )
|
||||
lda _SMCDesignator+1
|
||||
.elseif .match ({register}, x)
|
||||
ldx _SMCDesignator+1
|
||||
.elseif .match ({register}, y)
|
||||
ldy _SMCDesignator+1
|
||||
.else
|
||||
.error "Invalid usage of macro 'SMC_LoadValue'"
|
||||
.endif
|
||||
.endmacro
|
||||
|
||||
.macro SMC_StoreValue label, register
|
||||
.if .paramcount = 1 .or .match ({register}, a) .or .match ({register}, )
|
||||
sta _SMCDesignator+1
|
||||
.elseif .match ({register}, x)
|
||||
stx _SMCDesignator+1
|
||||
.elseif .match ({register}, y)
|
||||
sty _SMCDesignator+1
|
||||
.else
|
||||
.error "Invalid usage of macro 'SMC_StoreValue'"
|
||||
.endif
|
||||
.endmacro
|
||||
|
||||
|
||||
.macro SMC_TransferLowByte label, value, register
|
||||
SMC_TransferValue label, value, register
|
||||
.endmacro
|
||||
|
||||
.macro SMC_LoadLowByte label, register
|
||||
SMC_LoadValue label, register
|
||||
.endmacro
|
||||
|
||||
.macro SMC_StoreLowByte label, register
|
||||
SMC_StoreValue label, register
|
||||
.endmacro
|
||||
|
||||
.macro SMC_TransferHighByte label, value, register
|
||||
.if .paramcount = 2 .or .match ({register}, a) .or .match ({register}, )
|
||||
lda value
|
||||
sta _SMCDesignator+2
|
||||
.elseif .match ({register}, x)
|
||||
ldx value
|
||||
stx _SMCDesignator+2
|
||||
.elseif .match ({register}, y)
|
||||
ldy value
|
||||
sty _SMCDesignator+2
|
||||
.else
|
||||
.error "Invalid usage of macro 'SMC_TransferHighByte'"
|
||||
.endif
|
||||
.endmacro
|
||||
|
||||
.macro SMC_LoadHighByte label, register
|
||||
.if .paramcount = 1 .or .match ({register}, a) .or .match ({register}, )
|
||||
lda _SMCDesignator+2
|
||||
.elseif .match ({register}, x)
|
||||
ldx _SMCDesignator+2
|
||||
.elseif .match ({register}, y)
|
||||
ldy _SMCDesignator+2
|
||||
.else
|
||||
.error "Invalid usage of macro 'SMC_LoadHighByte'"
|
||||
.endif
|
||||
.endmacro
|
||||
|
||||
.macro SMC_StoreHighByte label, register
|
||||
.if .paramcount = 1 .or .match ({register}, a) .or .match ({register}, )
|
||||
sta _SMCDesignator+2
|
||||
.elseif .match ({register}, x)
|
||||
stx _SMCDesignator+2
|
||||
.elseif .match ({register}, y)
|
||||
sty _SMCDesignator+2
|
||||
.else
|
||||
.error "Invalid usage of macro 'SMC_StoreHighByte'"
|
||||
.endif
|
||||
.endmacro
|
||||
|
||||
.macro SMC_TransferAddressSingle label, address, register
|
||||
.if .paramcount = 2 .or .match ((register), a) .or .match ({register}, )
|
||||
.if (.match (.left (1, {address}), #))
|
||||
; immediate mode
|
||||
lda #<(.right (.tcount ({address})-1, {address}))
|
||||
sta _SMCDesignator+1
|
||||
lda #>(.right (.tcount ({address})-1, {address}))
|
||||
sta _SMCDesignator+2
|
||||
.else
|
||||
; assume absolute or zero page
|
||||
lda address
|
||||
sta _SMCDesignator+1
|
||||
lda 1+(address)
|
||||
sta _SMCDesignator+2
|
||||
.endif
|
||||
.elseif .match ((register), x)
|
||||
.if (.match (.left (1, {address}), #))
|
||||
; immediate mode
|
||||
ldx #<(.right (.tcount ({address})-1, {address}))
|
||||
stx _SMCDesignator+1
|
||||
ldx #>(.right (.tcount ({address})-1, {address}))
|
||||
stx _SMCDesignator+2
|
||||
.else
|
||||
; assume absolute or zero page
|
||||
ldx address
|
||||
stx _SMCDesignator+1
|
||||
ldx 1+(address)
|
||||
stx _SMCDesignator+2
|
||||
.endif
|
||||
.elseif .match ((register), y)
|
||||
.if (.match (.left (1, {address}), #))
|
||||
; immediate mode
|
||||
ldy #<(.right (.tcount ({address})-1, {address}))
|
||||
sty _SMCDesignator+1
|
||||
ldy #>(.right (.tcount ({address})-1, {address}))
|
||||
sty _SMCDesignator+2
|
||||
.else
|
||||
; assume absolute or zero page
|
||||
ldy address
|
||||
sty _SMCDesignator+1
|
||||
ldy 1+(address)
|
||||
sty _SMCDesignator+2
|
||||
.endif
|
||||
.else
|
||||
.error "Invalid usage of macro 'SMC_TransferAddressSingle'"
|
||||
.endif
|
||||
.endmacro
|
||||
|
||||
.macro SMC_TransferAddress label, address
|
||||
.if (.match (.left (1, {address}), #))
|
||||
; immediate mode
|
||||
lda #<(.right (.tcount ({address})-1, {address}))
|
||||
sta _SMCDesignator+1
|
||||
ldx #>(.right (.tcount ({address})-1, {address}))
|
||||
stx _SMCDesignator+2
|
||||
.else
|
||||
; assume absolute or zero page
|
||||
lda {address}
|
||||
sta _SMCDesignator+1
|
||||
ldx 1+{address}
|
||||
stx _SMCDesignator)+2
|
||||
.endif
|
||||
.endmacro
|
||||
|
||||
.macro SMC_StoreAddress label
|
||||
sta _SMCDesignator+1
|
||||
stx _SMCDesignator+2
|
||||
.endmacro
|
||||
64
asminc/stat.inc
Normal file
64
asminc/stat.inc
Normal file
|
|
@ -0,0 +1,64 @@
|
|||
;****************************************************************************
|
||||
;* *
|
||||
;* stat.inc *
|
||||
;* *
|
||||
;* Stat struct *
|
||||
;* *
|
||||
;* *
|
||||
;* *
|
||||
;*(C) 2023 Colin Leroy-Mira <colin@colino.net> *
|
||||
;* *
|
||||
;* *
|
||||
;*This software is provided 'as-is', without any expressed or implied *
|
||||
;*warranty. In no event will the authors be held liable for any damages *
|
||||
;*arising from the use of this software. *
|
||||
;* *
|
||||
;*Permission is granted to anyone to use this software for any purpose, *
|
||||
;*including commercial applications, and to alter it and redistribute it *
|
||||
;*freely, subject to the following restrictions: *
|
||||
;* *
|
||||
;*1. The origin of this software must not be misrepresented; you must not *
|
||||
;* claim that you wrote the original software. If you use this software *
|
||||
;* in a product, an acknowledgment in the product documentation would be *
|
||||
;* appreciated but is not required. *
|
||||
;*2. Altered source versions must be plainly marked as such, and must not *
|
||||
;* be misrepresented as being the original software. *
|
||||
;*3. This notice may not be removed or altered from any source *
|
||||
;* distribution. *
|
||||
;* *
|
||||
;****************************************************************************
|
||||
|
||||
.include "time.inc"
|
||||
|
||||
;------------------------------------------------------------------------------
|
||||
; st_mode values
|
||||
|
||||
S_IFDIR = $01
|
||||
S_IFREG = $02
|
||||
|
||||
;------------------------------------------------------------------------------
|
||||
; struct stat
|
||||
|
||||
.struct stat
|
||||
st_dev .dword
|
||||
st_ino .dword
|
||||
st_mode .byte
|
||||
st_nlink .dword
|
||||
st_uid .byte
|
||||
st_gid .byte
|
||||
st_size .dword
|
||||
st_atim .tag timespec
|
||||
st_ctim .tag timespec
|
||||
st_mtim .tag timespec
|
||||
.ifdef __APPLE2__
|
||||
st_access .byte
|
||||
st_type .byte
|
||||
st_auxtype .word
|
||||
st_storagetype .byte
|
||||
st_blocks .word
|
||||
st_mod_date .word
|
||||
st_mod_time .word
|
||||
st_create_date .word
|
||||
st_create_time .word
|
||||
.endif
|
||||
.endstruct
|
||||
46
asminc/statvfs.inc
Normal file
46
asminc/statvfs.inc
Normal file
|
|
@ -0,0 +1,46 @@
|
|||
;****************************************************************************
|
||||
;* *
|
||||
;* statvfs.inc *
|
||||
;* *
|
||||
;* Statvfs struct *
|
||||
;* *
|
||||
;* *
|
||||
;* *
|
||||
;*(C) 2023 Colin Leroy-Mira <colin@colino.net> *
|
||||
;* *
|
||||
;* *
|
||||
;*This software is provided 'as-is', without any expressed or implied *
|
||||
;*warranty. In no event will the authors be held liable for any damages *
|
||||
;*arising from the use of this software. *
|
||||
;* *
|
||||
;*Permission is granted to anyone to use this software for any purpose, *
|
||||
;*including commercial applications, and to alter it and redistribute it *
|
||||
;*freely, subject to the following restrictions: *
|
||||
;* *
|
||||
;*1. The origin of this software must not be misrepresented; you must not *
|
||||
;* claim that you wrote the original software. If you use this software *
|
||||
;* in a product, an acknowledgment in the product documentation would be *
|
||||
;* appreciated but is not required. *
|
||||
;*2. Altered source versions must be plainly marked as such, and must not *
|
||||
;* be misrepresented as being the original software. *
|
||||
;*3. This notice may not be removed or altered from any source *
|
||||
;* distribution. *
|
||||
;* *
|
||||
;****************************************************************************
|
||||
|
||||
;------------------------------------------------------------------------------
|
||||
; struct statvfs
|
||||
|
||||
.struct statvfs
|
||||
f_bsize .dword
|
||||
f_frsize .dword
|
||||
f_blocks .dword
|
||||
f_bfree .dword
|
||||
f_bavail .dword
|
||||
f_files .dword
|
||||
f_ffree .dword
|
||||
f_favail .dword
|
||||
f_fsid .dword
|
||||
f_flag .dword
|
||||
f_namemax .dword
|
||||
.endstruct
|
||||
74
asminc/stdio.inc
Normal file
74
asminc/stdio.inc
Normal file
|
|
@ -0,0 +1,74 @@
|
|||
;*****************************************************************************/
|
||||
;* */
|
||||
;* stdio.inc */
|
||||
;* */
|
||||
;* Mirror definitions for stdio.h */
|
||||
;* */
|
||||
;* */
|
||||
;* */
|
||||
;* (C) 2003-2005, Ullrich von Bassewitz */
|
||||
;* Roemerstrasse 52 */
|
||||
;* D-70794 Filderstadt */
|
||||
;* EMail: uz@cc65.org */
|
||||
;* */
|
||||
;* */
|
||||
;* This software is provided 'as-is', without any expressed or implied */
|
||||
;* warranty. In no event will the authors be held liable for any damages */
|
||||
;* arising from the use of this software. */
|
||||
;* */
|
||||
;* Permission is granted to anyone to use this software for any purpose, */
|
||||
;* including commercial applications, and to alter it and redistribute it */
|
||||
;* freely, subject to the following restrictions: */
|
||||
;* */
|
||||
;* 1. The origin of this software must not be misrepresented; you must not */
|
||||
;* claim that you wrote the original software. If you use this software */
|
||||
;* in a product, an acknowledgment in the product documentation would be */
|
||||
;* appreciated but is not required. */
|
||||
;* 2. Altered source versions must be plainly marked as such, and must not */
|
||||
;* be misrepresented as being the original software. */
|
||||
;* 3. This notice may not be removed or altered from any source */
|
||||
;* distribution. */
|
||||
;* */
|
||||
;*****************************************************************************/
|
||||
|
||||
|
||||
|
||||
;----------------------------------------------------------------------------
|
||||
; Constants
|
||||
|
||||
_IOFBF = 0
|
||||
_IOLBF = 1
|
||||
_IONBF = 2
|
||||
BUFSIZ = 256
|
||||
EOF = -1
|
||||
.if .defined(__APPLE2__)
|
||||
FILENAME_MAX = 64+1
|
||||
.elseif .defined(__ATARI__)
|
||||
FILENAME_MAX = 63+1
|
||||
.elseif .defined(__CBM__)
|
||||
FILENAME_MAX = 255
|
||||
.elseif .defined(__LUNIX__)
|
||||
FILENAME_MAX = 80+1
|
||||
.elseif .defined(__TELESTRAT__)
|
||||
FILENAME_MAX = 50+1
|
||||
.else
|
||||
FILENAME_MAX = 16+1
|
||||
.endif
|
||||
L_tmpnam = FILENAME_MAX
|
||||
SEEK_CUR = 0
|
||||
SEEK_END = 1
|
||||
SEEK_SET = 2
|
||||
TMP_MAX = 256
|
||||
|
||||
; Maximum number of open files (size of the file table)
|
||||
FOPEN_MAX = 8
|
||||
|
||||
;----------------------------------------------------------------------------
|
||||
; External variables
|
||||
|
||||
.global _stdin
|
||||
.global _stdout
|
||||
.global _stderr
|
||||
|
||||
|
||||
|
||||
75
asminc/supervision.inc
Normal file
75
asminc/supervision.inc
Normal file
|
|
@ -0,0 +1,75 @@
|
|||
; supervision symbols
|
||||
|
||||
; supervision 65c02s
|
||||
; in cc65 up to 2.9.1 65c02 means 65sc02
|
||||
|
||||
lcd_addr = $4000
|
||||
LCD_LINESIZE = $30
|
||||
LCD_WIDTH = 160
|
||||
LCD_HEIGHT = 160
|
||||
; 2 bit per pixel, packed
|
||||
|
||||
lcd_width = $2000
|
||||
lcd_height = $2001
|
||||
lcd_xpos = $2002 ; in pixel, bit 0+1 not used
|
||||
lcd_ypos = $2003 ; weird
|
||||
|
||||
sv_port_r = $2021
|
||||
sv_port_w = $2022
|
||||
|
||||
sv_timer_count = $2023
|
||||
; read for quitting
|
||||
sv_timer_quit = $2024
|
||||
|
||||
; bit 0 timer, bit 1 dma
|
||||
sv_irq_source = $2027
|
||||
SV_IRQ_REQUEST_TIMER = 1
|
||||
SV_IRQ_REQUEST_DMA = 2
|
||||
|
||||
; bit 5,6,7 select bank at 0x8000
|
||||
sv_bank = $2026
|
||||
SV_NMI_ENABLE_ON = 1
|
||||
SV_IRQ_ENABLE_TIMER = 2
|
||||
SV_IRQ_ENABLE_DMA = 4
|
||||
SV_LCD_ON = 8
|
||||
SV_TIMER_MODE_240Hz = $10 ; else 15360
|
||||
|
||||
|
||||
; low activ/pressed
|
||||
sv_control = $2020
|
||||
SV_RIGHT = 1
|
||||
SV_LEFT = 2
|
||||
SV_DOWN = 4
|
||||
SV_UP = 8
|
||||
SV_BUTTONB = $10
|
||||
SV_BUTTONA = $20
|
||||
SV_SELECT = $40
|
||||
SV_START = $80
|
||||
|
||||
; frequency=125000/counter
|
||||
sv_audio_right_counter = $2010 ;word
|
||||
sv_audio_left_counter = $2014
|
||||
SV_AUDIO_ON =$40
|
||||
;bits 0..3 volume
|
||||
; bit 4 ?
|
||||
; bit 5 ?
|
||||
sv_audio_right_control = $2012
|
||||
sv_audio_left_control = $2016
|
||||
; write activates tone for x/60 sec (0 means 256)
|
||||
sv_audio_right_timer = $2013
|
||||
sv_audio_left_timer = $2017
|
||||
|
||||
|
||||
;read for irq quitting
|
||||
sv_dma_quit = $2025
|
||||
sv_dma_on = $201c
|
||||
; bit 7 true start, false stop
|
||||
sv_dma_start = $2018 ; word
|
||||
sv_dma_size = $201a ; *32 samples
|
||||
sv_dma_control = $201b
|
||||
; bit 0,1 speed: 0 15360, 11 15360/4
|
||||
; bit 2,3 volume: 0 silent, 11 loud
|
||||
|
||||
sv_noise_volume = $2028 ; and frequency
|
||||
sv_noise_timer = $2029
|
||||
sv_noise_control = $202a
|
||||
186
asminc/sym1.inc
Normal file
186
asminc/sym1.inc
Normal file
|
|
@ -0,0 +1,186 @@
|
|||
; ---------------------------------------------------------------------------
|
||||
;
|
||||
; SYM-1 definitions
|
||||
;
|
||||
; ---------------------------------------------------------------------------
|
||||
|
||||
|
||||
RAMSTART := $0200 ; Entry point
|
||||
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
; Monitor Functions
|
||||
; ---------------------------------------------------------------------------
|
||||
WARM := $8003 ; Monitor entry
|
||||
SVNMI := $809B ; Save NMI entry
|
||||
INBYTE := $81D9 ; Get two HEX characters and pack
|
||||
ASCNIB := $8275 ; Test for carriage-return
|
||||
INCCMP := $82B2 ; Increment pointer
|
||||
CHKSAD := $82DD ; Compute checksum
|
||||
OUTPC := $82EE ; Display program counter
|
||||
OUTBYT := $82FA ; Print byte as two ASCII characters
|
||||
OUTS2 := $8319 ; Print pointer
|
||||
INSTAT := $8386 ; Determine if key is pressed
|
||||
GETKEY := $88AF ; Get key (disregarding monitor login)
|
||||
SCAND := $8906 ; Flash LED display (once)
|
||||
KEYQ := $8923 ; Test for keypress
|
||||
BEEP := $8972 ; Make a beep
|
||||
CONFIG := $89A5 ; Configure I/O
|
||||
OUTDSP := $89C1 ; Output to on-board LED display
|
||||
INCHR := $8A1B ; Input character and convert to uppercase
|
||||
OUTCHR := $8A47 ; Output character
|
||||
INTCHR := $8A58 ; Input character without case conversion
|
||||
DLYF := $8AE6 ; Delay 1 bit time
|
||||
DLYH := $8AE9 ; Delay 1/2 bit time
|
||||
RESET := $8B4A ; Hard reset
|
||||
ACCESS := $8B86 ; Unlock lowest 4K memory
|
||||
NACCES := $8B9C ; Lock lowest 4K memory
|
||||
L8C78 := $8C78 ; Link to tape
|
||||
DUMPT := $8E87 ; Dump memory to tape
|
||||
LOADT := $8C78 ; Load memory from tape
|
||||
TAPEMODE := $00FD ; Top bit on for high-speed
|
||||
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
; System Memory
|
||||
; ---------------------------------------------------------------------------
|
||||
DISBUF := $A640 ; On-Board Display Buffer
|
||||
DISBUF0 := $A640 ; Left-Most digit
|
||||
DISBUF1 := $A641 ; Second digit
|
||||
DISBUF2 := $A642 ; Third
|
||||
DISBUF3 := $A643 ; Fourth
|
||||
DISBUF4 := $A644 ; Fifth
|
||||
DISBUF5 := $A645 ; Sixth and right-most digit
|
||||
DISBUF6 := $A646 ; Not-used / right of display (shift buffer)
|
||||
RDIG := $A645 ; Right-most digit (same as DISBUF5)
|
||||
P3L := $A64A ; Parameter 3 (low-byte)
|
||||
P3H := $A64B ; (high-byte)
|
||||
P2L := $A64C ; Parameter 2
|
||||
P2H := $A64D ;
|
||||
P1L := $A64E ; Parameter 1
|
||||
P1H := $A64F
|
||||
PARNR := $A649 ; Number of Parameters Entered
|
||||
PADBIT := $A650 ; Pad Bits for Carriage Return
|
||||
SDBYT := $A651 ; Baud Rate for RS232 (01-4800,06-2400,10-1200,24-600,4C-300,D5-110)
|
||||
ERCNT := $A652 ; Error Count (Max FF)
|
||||
TECHO := $A653 ; Terminal Echo (bit-7=ECHO/NO, 6=CTL-O TOGGLE)
|
||||
TOUTFL := $A654 ; Output Flags (bit-7=CRT IN, 6=TTY IN, 5=TTY OUT, 4=CRT OUT)
|
||||
KSHFL := $A655 ; Keyboard Shift Flag
|
||||
TV := $A656 ; Trace Velocity (0=Single Step)
|
||||
LSTCOM := $A657 ; Last Monitor Command
|
||||
MAXRC := $A658 ; Maximum Record Length for Memory Dump
|
||||
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
; Register Followers
|
||||
; ---------------------------------------------------------------------------
|
||||
PCLR := $A659 ; Program Counter (low-byte)
|
||||
PCHR := $A65A ; (high-byte)
|
||||
SR := $A65B ; Stack Pointer
|
||||
FR := $A65C ; Status Register Flags
|
||||
AR := $A65D ; A Register
|
||||
XR := $A65E ; X Register
|
||||
YR := $A65F ; Y Register
|
||||
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
; I/O Vectors (3 bytes each)
|
||||
; ---------------------------------------------------------------------------
|
||||
INVEC := $A660 ; Input Character
|
||||
OUTVEC := $A663 ; Output Character
|
||||
INSVEC := $A666 ; Input Status
|
||||
URSVEC := $A669 ; Unrecognized Syntax
|
||||
URCVEC := $A66C ; Unrecognized Command / Error
|
||||
SCNVEC := $A66F ; Scan On-board Display
|
||||
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
; Trace and Interrupt Vectors (2 bytes each)
|
||||
; ---------------------------------------------------------------------------
|
||||
EXEVEC := $A672 ; Exec and Alternate InVec
|
||||
TRCVEC := $A674 ; Trace
|
||||
UBRKVC := $A676 ; User Break after Monitor
|
||||
UIRQVC := $A678 ; User non-break IRQ after Monitor
|
||||
NMIVEC := $A67A ; Non-Maskable Interrupt
|
||||
RSTVEC := $A67C ; Reset
|
||||
IRQVEC := $A67E ; Interrupt Request
|
||||
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
; I/O Registers
|
||||
; ---------------------------------------------------------------------------
|
||||
;
|
||||
; 6532 (U27)
|
||||
;
|
||||
PADA := $A400 ; Keyboard / Display
|
||||
P3DA := $A402 ; Serial I/O
|
||||
DDPADA := $A401 ; Data-Direction Register for PADA
|
||||
DDP3DA := $A403 ; Data-Direction Register for P3DA
|
||||
WEDRTA := $A404 ; Write-Edge Detect Read Timer A
|
||||
WEDRFA := $A405 ; Write-Edge Detect Read-Int Flags A
|
||||
WEDRTB := $A406 ; Write-Edge Detect Read Timer B
|
||||
WEDRFB := $A407 ; Write-Edge Detect Read-Int Flags B
|
||||
TIM0001 := $A41C ; Timer / 1
|
||||
TIM0008 := $A41D ; Timer / 8
|
||||
TIM0064 := $A41E ; Timer / 64
|
||||
TIM1024 := $A41F ; Timer / 1024
|
||||
;
|
||||
; 6522 (U25)
|
||||
;
|
||||
OR1A := $A001 ; Input / Output Register for 1A
|
||||
DDR1A := $A003 ; Data-Direction Register for 1A
|
||||
OR1B := $A000 ; Input / Output Register for 1B
|
||||
DDR1B := $A002 ; Data-Direction Register for 1B
|
||||
TIC1L := $A004 ;
|
||||
TIC1H := $A005 ;
|
||||
TIL1L := $A006 ;
|
||||
TIL1H := $A007 ;
|
||||
T2L1L := $A008 ;
|
||||
T2C1L := $A008 ;
|
||||
T2C1H := $A009 ;
|
||||
SR1 := $A00A ;
|
||||
ACR1 := $A00B ;
|
||||
PCR1 := $A00C ;
|
||||
IFR1 := $A00D ;
|
||||
IER1 := $A00E ;
|
||||
DR1A := $A00F ;
|
||||
;
|
||||
; 6522 (U28)
|
||||
;
|
||||
OR2A := $A801 ; Input / Output Register for 2A
|
||||
DDR2A := $A803 ; Data-Direction Register for 2A
|
||||
OR2B := $A800 ; Input / Output Register for 2B
|
||||
DDR2B := $A802 ; Data-Direction Register for 2B
|
||||
TIC2L := $A804 ;
|
||||
TIC2H := $A805 ;
|
||||
TIL2L := $A806 ;
|
||||
TIL2H := $A807 ;
|
||||
T2L2L := $A808 ;
|
||||
T2C2L := $A808 ;
|
||||
T2C2H := $A809 ;
|
||||
SR2 := $A80A ;
|
||||
ACR2 := $A80B ;
|
||||
PCR2 := $A80C ;
|
||||
IFR2 := $A80D ;
|
||||
IER2 := $A80E ;
|
||||
DR2A := $A80F ;
|
||||
;
|
||||
; 6522 (U29)
|
||||
;
|
||||
OR3A := $AC01 ; Write-Protect RAM, Debug On/Off, I/O-3A
|
||||
DDR3A := $AC03 ; Data-Direction Register for 3A
|
||||
OR3B := $AC00 ; Input / Output Register for 3B
|
||||
DDR3B := $AC02 ; Data-Direction Register for 3B
|
||||
TIC3L := $AC04 ;
|
||||
TIC3H := $AC05 ;
|
||||
TIL3L := $AC06 ;
|
||||
TIL3H := $AC07 ;
|
||||
T2L3L := $AC08 ;
|
||||
T2C3L := $AC08 ;
|
||||
T2C3H := $AC09 ;
|
||||
SR3 := $AC0A ;
|
||||
ACR3 := $AC0B ;
|
||||
PCR3 := $AC0C ;
|
||||
IFR3 := $AC0D ;
|
||||
IER3 := $AC0E ;
|
||||
DR3A := $AC0F ;
|
||||
546
asminc/telestrat.inc
Normal file
546
asminc/telestrat.inc
Normal file
|
|
@ -0,0 +1,546 @@
|
|||
;
|
||||
; Oric TELEMON definition
|
||||
; TELEMON 2.4 & Orix
|
||||
; For Orix check http://orix.oric.org
|
||||
;
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
; Constants
|
||||
|
||||
SCREEN_XSIZE = 40 ; Screen columns
|
||||
SCREEN_YSIZE = 28 ; Screen rows
|
||||
|
||||
FUNCTKEY = $A5
|
||||
|
||||
FNAME_LEN = 11 ; Maximum length of file-name
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
; I/O Identifier
|
||||
; Theses identifers are used for channel management
|
||||
;
|
||||
|
||||
XKBD = $80 ; Keyboard
|
||||
XRSE = $83 ; RS232 in
|
||||
XSCR = $88 ; Screen
|
||||
XRSS = $90 ; RS232 out
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
; Zero page
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
; Page 00
|
||||
RES := $00
|
||||
RESB := $02
|
||||
|
||||
DECDEB := $04
|
||||
DECFIN := $06
|
||||
DECCIB := $08
|
||||
DECTRV := $0A
|
||||
|
||||
TR0 := $0C
|
||||
TR1 := $0D
|
||||
TR2 := $0E
|
||||
TR3 := $0F
|
||||
TR4 := $10
|
||||
TR5 := $11
|
||||
TR6 := $12
|
||||
TR7 := $13
|
||||
|
||||
DEFAFF := $14
|
||||
|
||||
IRQSVA := $21 ; Used to save A when a BRK call occurs
|
||||
IRQSVX := $22 ; Used to save X when a BRK call occurs
|
||||
IRQSVY := $23 ; Used to save Y when a BRK call occurs
|
||||
IRQSVP := $24 ; Used to save P when a BRK call occurs
|
||||
|
||||
ADSCR := $26
|
||||
SCRNB := $28 ; Id of the current window
|
||||
|
||||
ADKBD := $2A ; Address ASCII conversion table
|
||||
|
||||
|
||||
PTR_READ_DEST := $2C ; Used for XFREAD and XWRITE only in Orix
|
||||
|
||||
ADCLK := $40 ; Address for clock display
|
||||
TIMEUS := $42
|
||||
TIMEUD := $44 ; Counter clock (1/10 of a second)
|
||||
|
||||
|
||||
HRSX := $46
|
||||
HRSY := $47
|
||||
|
||||
XLPRBI := $48 ; Printer flag (b7)
|
||||
|
||||
HRSX40 := $49
|
||||
HRSX6 := $4A
|
||||
|
||||
ADHRS := $4B ; Hires screen address (word)
|
||||
|
||||
HRS1 := $4D
|
||||
HRS2 := $4F
|
||||
HRS3 := $51
|
||||
HRS4 := $53
|
||||
HRS5 := $55
|
||||
|
||||
HRSFB := $57
|
||||
|
||||
VABKP1 := $58
|
||||
|
||||
; RS232T
|
||||
; b0-b3 : speed
|
||||
; 1111 => 19200 bps (please note that telestrat can't handle this speed without stopping all IRQ except ACIA's one)
|
||||
; 1100 => 9600 bps (default from TELEMON)
|
||||
; 1110 => 4800 bps
|
||||
; 1010 => 2400 bps
|
||||
; 1000 => 1200 bps
|
||||
; 0111 => 600 bps
|
||||
; 0110 => 300 bps
|
||||
; 0101 => 150 bps
|
||||
; 0010 => 75 bps
|
||||
|
||||
; b4 : 0 external clock, 1 internal clock
|
||||
; b6-b5 : 00 8 bits
|
||||
; 01 7 bits
|
||||
; 10 6 bits
|
||||
; 11 5 bits
|
||||
; b7 : 0 a stop
|
||||
|
||||
RS232T := $59
|
||||
|
||||
; RS232C
|
||||
; b0-b3 : 0
|
||||
; b4 : 1 if echo
|
||||
; b5 : 1 if parity
|
||||
; b7-b6 : 00 in/out parity odd
|
||||
; : 01 on/out parity even
|
||||
; : 10 parity sent, answer not tested
|
||||
; : 11 SPACE SENT, reception not tested
|
||||
|
||||
RS232C := $5A
|
||||
INDRS := $5B
|
||||
|
||||
; Float and integer management
|
||||
ACC1E := $60
|
||||
ACC1M := $61
|
||||
ACC1S := $65
|
||||
ACC1EX := $66
|
||||
ACC1J := $67
|
||||
ACC2E := $68
|
||||
ACC2M := $69
|
||||
ACC2S := $6D
|
||||
ACCPS := $6E
|
||||
ACC3 := $6F
|
||||
|
||||
ACC4E := $73
|
||||
ACC4M := $74
|
||||
|
||||
|
||||
FLDT0 := $74
|
||||
FLDT1 := $75
|
||||
FLDT2 := $76
|
||||
FLSVY := $77
|
||||
FLTR0 := $7D
|
||||
FLTR1 := $7E
|
||||
|
||||
; Menu management
|
||||
MENDDY := $62
|
||||
MENDFY := $63
|
||||
MENX := $64
|
||||
MENDY := $66
|
||||
FLGMEN := $68
|
||||
ADMEN := $69
|
||||
|
||||
FLSGN := $8A
|
||||
FLINT := $88
|
||||
FLSVS := $89
|
||||
FLERR := $8B
|
||||
|
||||
VARLNG := $8C
|
||||
VARAPL := $D0
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
; Low memory
|
||||
IRQVec := $02FB ; "fast" interrupt vector
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
; I/O locations
|
||||
|
||||
; 6522
|
||||
.struct VIA ; Versatile Interface Adapter
|
||||
.res $0300
|
||||
PRB .byte ; Port Register B
|
||||
PRA .byte ; Port Register A
|
||||
DDRB .byte ; Data Direction Register B
|
||||
DDRA .byte ; Data Direction Register A
|
||||
T1 .word ; Timer 1
|
||||
T1L .word ; Timer 1 Latch
|
||||
T2 .word ; Timer 2
|
||||
SR .byte ; Shift Register
|
||||
ACR .byte ; Auxiliary Control Register
|
||||
PCR .byte ; Peripheral Control Register
|
||||
IFR .byte ; Interrupt Flags Register
|
||||
IER .byte ; Interrupt Enable Register
|
||||
PRA2 .byte ; Port Register A without handshaking
|
||||
.endstruct
|
||||
|
||||
|
||||
.struct VIA2 ; Versatile Interface Adapter
|
||||
.res $0320
|
||||
PRB .byte ; Port Register B
|
||||
PRA .byte ; Port Register A
|
||||
DDRB .byte ; Data Direction Register B
|
||||
DDRA .byte ; Data Direction Register A
|
||||
T1 .word ; Timer 1
|
||||
T1L .word ; Timer 1 Latch
|
||||
T2 .word ; Timer 2
|
||||
SR .byte ; Shift Register
|
||||
ACR .byte ; Auxiliary Control Register
|
||||
PCR .byte ; Peripheral Control Register
|
||||
IFR .byte ; Interrupt Flags Register
|
||||
IER .byte ; Interrupt Enable Register
|
||||
PRA2 .byte ; Port Register A without handshaking
|
||||
.endstruct
|
||||
|
||||
; 6551
|
||||
.struct ACIA ; Asynchronous Communications Interface Adapter
|
||||
.res $031C
|
||||
DATA .byte
|
||||
STATUS .byte
|
||||
CMD .byte ; Command register
|
||||
CTRL .byte ; Control register
|
||||
.endstruct
|
||||
|
||||
SCREEN := $BB80
|
||||
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
; ROM entries
|
||||
|
||||
; TELEMON primitives (2.4 & 3.x)
|
||||
|
||||
; all values are used to call bank 7 of telestrat cardridge. It works with 'brk value'
|
||||
XOP0 = $00 ; Open device on channel 0
|
||||
XOP1 = $01 ; Open device on channel 1
|
||||
XOP2 = $02 ; Open device on channel 2
|
||||
XOP3 = $03 ; Open device on channel 3
|
||||
|
||||
XCL0 = $04 ; Close channel 0
|
||||
XCL1 = $05 ; Close channel 1
|
||||
XCL2 = $06 ; Close channel 2
|
||||
XCL3 = $07 ; Close channel 3
|
||||
|
||||
XRD0 = $08
|
||||
XRDW0 = $0C
|
||||
|
||||
XWR0 = $10 ; Write a char in channel 0
|
||||
XWR1 = $11 ; Write a char in channel 1
|
||||
XWR2 = $12 ; Write a char in channel 2
|
||||
XWR3 = $13 ; Write a char in channel 3
|
||||
|
||||
XWSTR0 = $14 ; Write a string in text mode channel 0
|
||||
XWSTR1 = $15 ; Write a string in text mode channel 1
|
||||
XWSTR2 = $16 ; Write a string in text mode channel 2
|
||||
XWSTR3 = $17 ; Write a string in text mode channel 3
|
||||
|
||||
XDECAL = $18
|
||||
|
||||
XTEXT = $19
|
||||
XHIRES = $1A
|
||||
XEFFHI = $1B ; Clear hires screen
|
||||
XFILLM = $1C
|
||||
XMINMA = $1F
|
||||
XVARS = $24 ; Only in Orix, in TELEMON 2.4, it's XNOMFI ($24)
|
||||
XCRLF = $25 ; Jump a line and return to the beginning of the line
|
||||
XDECAY = $26
|
||||
XFREAD = $27 ; Only in Orix
|
||||
XBINDX = $28 ; Convert a number into hex and displays on channel 0
|
||||
XDECIM = $29
|
||||
XHEXA = $2A ; Convert a number into hex
|
||||
|
||||
XMAINARGS = $2C ; Only available for Orix
|
||||
|
||||
XEDT = $2D ; Launch editor
|
||||
XINSER = $2E
|
||||
XGETARGV = $2E ; Only available for Orix
|
||||
|
||||
XSCELG = $2F ; Search a line in editor mode
|
||||
XOPEN = $30 ; Only in Orix
|
||||
XECRPR = $33 ; Displays prompt
|
||||
XCOSCR = $34 ; Switch off cursor
|
||||
XCSSCR = $35 ; Switch on cursor
|
||||
XSCRSE = $36
|
||||
XSCROH = $37 ; Scroll up text screen
|
||||
XSCROB = $38 ; Scroll down text screen
|
||||
XSCRNE = $39 ; Load charset from rom to ram
|
||||
XCLOSE = $3A ; Only in Orix close file
|
||||
XFWRITE = $3B ; Only in Orix write file
|
||||
|
||||
; Clock primitive
|
||||
XRECLK = $3C ; Reset clock
|
||||
XCLCL = $3D ; Close clock
|
||||
XWRCLK = $3E ; Displays clock in the address in A & Y registers
|
||||
|
||||
XFSEEK = $3F ; Only in Orix
|
||||
|
||||
; Sound primitives
|
||||
XSONPS = $40 ; Send data to PSG register (14 values)
|
||||
XOUPS = $42 ; Send Oups sound into PSG
|
||||
XPLAY = $43 ; Play a sound
|
||||
XSOUND = $44
|
||||
XMUSIC = $45
|
||||
XZAP = $46 ; Send Zap sound to PSG
|
||||
XSHOOT = $47
|
||||
|
||||
; Path Management
|
||||
XGETCWD = $48 ; Get current CWD
|
||||
XPUTCWD = $49 ; Chdir
|
||||
|
||||
; File management
|
||||
XMKDIR = $4B ; Create a folder. Only available in Orix
|
||||
|
||||
XHCHRS = $4C ; Hard copy hires
|
||||
|
||||
; File management
|
||||
XRM = $4D ; Remove a folder or a file. Only available in Orix
|
||||
|
||||
XFWR = $4E ; Put a char on the first screen. Only available in Orix
|
||||
|
||||
; Keyboard primitives
|
||||
XALLKB = $50 ; Read Keyboard, and populate KBDCOL
|
||||
XKBDAS = $51 ; Ascii conversion
|
||||
XGOKBD = $52 ; Swap keyboard type (Qwerty, French ...)
|
||||
|
||||
; Buffer management
|
||||
XECRBU = $54 ; Write A or AY in the buffer
|
||||
XLISBU = $55 ; Read A or AY in the buffer
|
||||
XTSTBU = $56
|
||||
XVIDBU = $57 ; Flush the buffer
|
||||
XINIBU = $58 ; Initialize the buffer X
|
||||
XDEFBU = $59 ; Reset all value of the buffer
|
||||
XBUSY = $5A ; Test if the buffer is empty
|
||||
|
||||
XMALLOC = $5B ; Only in Orix
|
||||
|
||||
; RS232 primitives
|
||||
XSDUMP = $5C ; RS232 input dump
|
||||
XCONSO = $5D ; Swap screen into RS232 terminal
|
||||
XSLOAD = $5E ; Read a file from RS232
|
||||
XSSAVE = $5F ; Write a file to RS232
|
||||
|
||||
; Minitel primitives
|
||||
XMLOAD = $60 ; Read a file from Minitel
|
||||
XMSAVE = $61 ; Write a file to Minitel
|
||||
|
||||
XFREE = $62 ; Only in Orix
|
||||
|
||||
XEXEC = $63 ; Only in Orix
|
||||
|
||||
; Next Minitel primitives
|
||||
XWCXFI = $63 ; Wait connection
|
||||
XLIGNE = $64 ;
|
||||
XDECON = $65 ; Minitel disconnection
|
||||
XMOUT = $66 ; Send a byte to minitel (from A)
|
||||
|
||||
XSOUT = $67 ; Send accumulator value (A) to RS232, available in TELEMON 2.4 : if RS232 buffer is full, the Oric Telestrat freezes
|
||||
|
||||
XHRSSE = $8C ; Set hires position cursor
|
||||
XDRAWA = $8D ; Draw a line absolute
|
||||
XDRAWR = $8E ; Draw a line (relative)
|
||||
XCIRCL = $8F ; Draw a circle
|
||||
XCURSE = $90 ; Plot a pixel
|
||||
XCURMO = $91 ; Move to x,y pos in Hires
|
||||
XPAPER = $92
|
||||
XINK = $93
|
||||
XBOX = $94 ; Draw a box
|
||||
XABOX = $95
|
||||
XFILL = $96
|
||||
XCHAR = $97 ; Display a char on the screen in Hires
|
||||
XSCHAR = $98 ; Draw a string in hires
|
||||
XEXPLO = $9C ; Send Explode sound to PSG
|
||||
XPING = $9D ; Send Ping sound to PSG
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
; ROM entries variables
|
||||
|
||||
PWD_PTR = $00
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
;
|
||||
BUFTRV := $100
|
||||
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
; Page $200
|
||||
BNKST := $200 ; Used to store signature of 8 bank (length : 8 bytes)
|
||||
TABDRV := $208
|
||||
|
||||
DRVDEF := $20C
|
||||
FLGTEL := $20D
|
||||
KOROM := $20E ; Used to compute the size of all rom bank. The result is store here. The value is in KB
|
||||
KORAM := $20F ; Used to compute the size of all ram bank. The result is store here. The value is in KB
|
||||
; Time management
|
||||
TIMED := $210 ; Clock (1/10 of seconds)
|
||||
TIMES := $211
|
||||
TIMEM := $212
|
||||
TIMEH := $213
|
||||
FLGCLK := $214
|
||||
FLGCLK_FLAG := $215
|
||||
FLGCUR := $216 ; Cursor management flag
|
||||
; screens position managements
|
||||
|
||||
FLGCUR_STATE := $217 ; Cursor state flag
|
||||
|
||||
ADSCRL := $218
|
||||
ADSCRH := $21C
|
||||
SCRX := $220
|
||||
SCRY := $224
|
||||
|
||||
SCRDX := $228
|
||||
SCRFX := $22C
|
||||
SCRDY := $230
|
||||
SCRFY := $234
|
||||
SCRBAL := $238
|
||||
SCRBAH := $23C
|
||||
SCRCT := $240
|
||||
SCRCF := $244
|
||||
FLGSCR := $248
|
||||
CURSCR := $24C
|
||||
|
||||
HARD_COPY_HIRES := $250 ; Hard copy vector
|
||||
|
||||
SCRTXT := $256
|
||||
SCRHIR := $25C
|
||||
SCRTRA := $262 ; 6 bytes lenfth
|
||||
|
||||
; Keyboard management
|
||||
KBDCOL := $268 ; 8 bytes length
|
||||
KBDFLG_KEY := $270 ; 0 if no key pressed
|
||||
KBDVRR := $272
|
||||
|
||||
KBDVRL := $273
|
||||
FLGKBD := $275
|
||||
KBDFCT := $276
|
||||
KBDSHT := $278
|
||||
|
||||
KBDKEY := $279
|
||||
KBDCTC := $27E
|
||||
LPRX := $286
|
||||
LPRY := $287
|
||||
LPRFX := $288
|
||||
LPRFY := $289
|
||||
FLGLPR := $28A
|
||||
|
||||
; Joysticks management
|
||||
FLGJCK := $28C
|
||||
JCGVAL := $28D
|
||||
JCDVAL := $28E
|
||||
JCKTAB := $29D
|
||||
|
||||
|
||||
HRSPAT := $2AA ; Hires pattern : it's used to draw pattern for a line or a circle
|
||||
HRSERR := $2AB
|
||||
|
||||
IOTAB0 := $2AE
|
||||
IOTAB1 := $2B2
|
||||
IOTAB2 := $2B6
|
||||
IOTAB3 := $2BA
|
||||
ADIOB := $2BE ; 48 bytes length
|
||||
FLGRST := $2EE
|
||||
CSRND := $2EF
|
||||
VNMI := $2F4
|
||||
ADIODB_VECTOR := $2f7 ; 3 bytes length
|
||||
|
||||
IRQVECTOR := $2FA
|
||||
VAPLIC := $2FD
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
; Page $400
|
||||
EXBNK := $40C
|
||||
VEXBNK := $414
|
||||
BNKCIB := $417
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
; Page $500
|
||||
|
||||
DRIVE := $500
|
||||
ERRNB := $512
|
||||
SAVES := $513
|
||||
BUFNOM := $517
|
||||
VSALO0 := $528
|
||||
VSALO1 := $529
|
||||
FTYPE := $52C ; File type
|
||||
DESALO := $52D
|
||||
FISALO := $52F
|
||||
EXSALO := $531
|
||||
EXTDEF := $55D ; Default extension. At the start of telemon, it's set to ".COM"
|
||||
BUFEDT := $590 ; Buffer edition
|
||||
|
||||
MAX_BUFEDT_LENGTH=110
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
; Hardware
|
||||
CH376_DATA := $340
|
||||
CH376_COMMAND := $341
|
||||
|
||||
; RAM overlays buffer
|
||||
BUFBUF := $c080
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
; Stratsed vectors
|
||||
; Stratsed is the main OS for Telestrat
|
||||
XMERGE := $FF0E
|
||||
XFST := $FF11
|
||||
XSPUT := $FF14
|
||||
XSTAKE := $FF17
|
||||
XTAKE := $FF20
|
||||
XOPENS := $FF1A ; XOPEN from Stratsed
|
||||
XCLOSES := $FF1D ; XCLOSE from Stratsed
|
||||
XPUT := $FF23
|
||||
XREWIN := $FF29
|
||||
XJUMP := $FF2C
|
||||
XLGBUF := $FF2F
|
||||
XERVEC := $FF32
|
||||
XESAVE := $FF35
|
||||
XCOPY := $FF38
|
||||
XDNAME := $FF3B
|
||||
XSTATU := $FF3E
|
||||
XUPDAT := $FF41
|
||||
XFORMA := $FF44
|
||||
XDELBK := $FF4A
|
||||
XDELN := $FF4D
|
||||
XPROT := $FF50
|
||||
XUNPRO := $FF53
|
||||
XDIRN := $FF56
|
||||
XBKP := $FF59
|
||||
XINITI := $FF5C
|
||||
XERREU := $FF5F
|
||||
XLOAD := $FF62
|
||||
XDEFSA := $FF65
|
||||
XDEFLO := $FF68
|
||||
XSAVE := $FF6B
|
||||
XNOMDE := $FF6E
|
||||
XCREAY := $FF71
|
||||
XDETSE := $FF74
|
||||
XLIBSE := $FF77
|
||||
XTRVCA := $FF7A
|
||||
XTRVNM := $FF7D
|
||||
XTRVNX := $FF80
|
||||
XBUCA := $FF86
|
||||
XVBUF1 := $FF89
|
||||
XSVSEC := $FF8C
|
||||
XSAY := $FF8F
|
||||
XSBUF1 := $FF92
|
||||
XSBUF2 := $FF95
|
||||
XSBUF3 := $FF98
|
||||
XSCAT := $FF9B
|
||||
XPRSEC := $FFA1
|
||||
XPBUF1 := $FFA4
|
||||
XPMAP := $FFA7
|
||||
XRWTS := $FFAA
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
; MACRO
|
||||
|
||||
.macro BRK_TELEMON value
|
||||
.byte $00,value
|
||||
.endmacro
|
||||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue