mirror of
https://github.com/peterdell/wudsn-ide.git
synced 2025-01-02 20:29:43 +00:00
777 lines
26 KiB
Plaintext
777 lines
26 KiB
Plaintext
mads 1.9.9 build 23 (22 Jun 14)
|
|
Source: C:\Users\D025328\Documents\Eclipse\workspace.jac\com.wudsn.ide.ref\ASM\Atari8\MADS\PONG.wrong_warnings\PONG.ASM
|
|
1 org $4000
|
|
2
|
|
3 = 0001 .def DIG=1
|
|
4 icl "atari.asm"
|
|
Source: C:\Users\D025328\Documents\Eclipse\workspace.jac\com.wudsn.ide.ref\ASM\Atari8\MADS\PONG.wrong_warnings\atari.asm
|
|
1 ; System equates
|
|
2 ;
|
|
3 ; OS EQUATES
|
|
4 ; ----------
|
|
5 ;
|
|
6 ; Syntax:
|
|
7 ; Use '=' for addresses
|
|
8 ; and '<' for read addresses (ex: KBCODE)
|
|
9 ; and '>' for write addresses (ex: STIMER)
|
|
10 ; and '#' for values
|
|
11 ;
|
|
12 ; IO EQUATES
|
|
13 ;
|
|
14 = 0000 ICHID = $0000
|
|
15 = 0001 ICDNO = $0001
|
|
16 = 0002 ICCOM = $0002
|
|
17 = 0003 ICSTA = $0003
|
|
18 = 0004 ICBAL = $0004
|
|
19 = 0005 ICBAH = $0005
|
|
20 = 0006 ICPTL = $0006
|
|
21 = 0007 ICPTH = $0007
|
|
22 = 0008 ICBLL = $0008
|
|
23 = 0009 ICBLH = $0009
|
|
24 = 000A ICAX1 = $000A
|
|
25 = 000B ICAX2 = $000B
|
|
26 = 000C ICAX3 = $000C
|
|
27 = 000D ICAX4 = $000D
|
|
28 = 000E ICAX5 = $000E
|
|
29 = 000F ICAX6 = $000F
|
|
30 ;
|
|
31 ; DISPLAY LIST EQUATES
|
|
32 ;
|
|
33 = 0080 ADLI = $0080
|
|
34 = 0040 AVB = $0040
|
|
35 = 0040 ALMS = $0040
|
|
36 = 0020 AVSCR = $0020
|
|
37 = 0010 AHSCR = $0010
|
|
38 = 0001 AJMP = $0001
|
|
39 = 0000 AEMPTY1 = $0000
|
|
40 = 0010 AEMPTY2 = $0010
|
|
41 = 0020 AEMPTY3 = $0020
|
|
42 = 0030 AEMPTY4 = $0030
|
|
43 = 0040 AEMPTY5 = $0040
|
|
44 = 0050 AEMPTY6 = $0050
|
|
45 = 0060 AEMPTY7 = $0060
|
|
46 = 0070 AEMPTY8 = $0070
|
|
47 ;
|
|
48 ; OS VARIABLES FOR XL/XE
|
|
49 ;
|
|
50 ; PAGE 0
|
|
51 ;
|
|
52 = 0001 NGFLAG = $0001
|
|
53 = 0002 CASINI = $0002
|
|
54 = 0004 RAMLO = $0004
|
|
55 = 0006 TRAMSZ = $0006
|
|
56 = 0007 CMCMD = $0007
|
|
57 = 0008 WARMST = $0008
|
|
58 = 0009 BOOT = $0009
|
|
59 = 000A DOSVEC = $000A
|
|
60 = 000C DOSINI = $000C
|
|
61 = 000E APPMHI = $000E
|
|
62 = 0010 POKMSK = $0010
|
|
63 = 0011 BRKKEY = $0011
|
|
64 = 0012 RTCLOK = $0012
|
|
65 = 0015 BUFADR = $0015
|
|
66 = 0017 ICCOMT = $0017
|
|
67 = 0018 DSKFMS = $0018
|
|
68 = 001A DSKUTL = $001A
|
|
69 = 001C ABUFPT = $001C
|
|
70 = 0020 ICHIDZ = $0020
|
|
71 = 0021 ICDNOZ = $0021
|
|
72 = 0022 ICCOMZ = $0022
|
|
73 = 0023 ICSTAZ = $0023
|
|
74 = 0024 ICBALZ = $0024
|
|
75 = 0025 ICBAHZ = $0025
|
|
76 = 0026 ICPTLZ = $0026
|
|
77 = 0027 ICPTHZ = $0027
|
|
78 = 0028 ICBLLZ = $0028
|
|
79 = 0029 ICBLHZ = $0029
|
|
80 = 002A ICAX1Z = $002A
|
|
81 = 002B ICAX2Z = $002B
|
|
82 = 002C ICAX3Z = $002C
|
|
83 = 002D ICAX4Z = $002D
|
|
84 = 002E ICAX5Z = $002E
|
|
85 = 002F ICAX6Z = $002F
|
|
86 = 0030 STATUS = $0030
|
|
87 = 0031 CHKSUM = $0031
|
|
88 = 0032 BUFRLO = $0032
|
|
89 = 0033 BUFRHI = $0033
|
|
90 = 0034 BFENLO = $0034
|
|
91 = 0035 BFENHI = $0035
|
|
92 = 0036 LTEMP = $0036
|
|
93 = 0038 BUFRFL = $0038
|
|
94 = 0039 RECVDN = $0039
|
|
95 = 003A XMTDON = $003A
|
|
96 = 003B CHKSNT = $003B
|
|
97 = 003C NOCKSM = $003C
|
|
98 = 003D BPTR = $003D
|
|
99 = 003E FTYPE = $003E
|
|
100 = 003F FEOF = $003F
|
|
101 = 0040 FREQ = $0040
|
|
102 = 0041 SOUNDR = $0041
|
|
103 = 0042 CRITIC = $0042
|
|
104 = 0043 FMSZPG = $0043
|
|
105 = 004A ZCHAIN = $004A
|
|
106 = 004C DSTAT = $004C
|
|
107 = 004D ATRACT = $004D
|
|
108 = 004E DRKMSK = $004E
|
|
109 = 004F COLRSH = $004F
|
|
110 = 0050 TEMP = $0050
|
|
111 = 0051 HOLD1 = $0051
|
|
112 = 0052 LMARGN = $0052
|
|
113 = 0053 RMARGN = $0053
|
|
114 = 0054 ROWCRS = $0054
|
|
115 = 0055 COLCRS = $0055
|
|
116 = 0057 DINDEX = $0057
|
|
117 = 0058 SAVMSC = $0058
|
|
118 = 005A OLDROW = $005A
|
|
119 = 005B OLDCOL = $005B
|
|
120 = 005D OLDCHR = $005D
|
|
121 = 005E OLDADR = $005E
|
|
122 = 0060 FKDEF = $0060
|
|
123 = 0062 PALNTS = $0062
|
|
124 = 0062 L0062 = $0062
|
|
125 = 0063 LOGCOL = $0063
|
|
126 = 0063 L0063 = $0063
|
|
127 = 0064 ADRESS = $0064
|
|
128 = 0066 MLTTMP = $0066
|
|
129 = 0068 SAVADR = $0068
|
|
130 = 006A RAMTOP = $006A
|
|
131 = 006B BUFCNT = $006B
|
|
132 = 006C BUFSTR = $006C
|
|
133 = 006E BITMSK = $006E
|
|
134 = 006F SHFAMT = $006F
|
|
135 = 0070 ROWAC = $0070
|
|
136 = 0072 COLAC = $0072
|
|
137 = 0074 ENDPT = $0074
|
|
138 = 0076 DELTAR = $0076
|
|
139 = 0077 DELTAC = $0077
|
|
140 = 0079 KEYDEF = $0079
|
|
141 = 007B SWPFLG = $007B
|
|
142 = 007C HOLDCH = $007C
|
|
143 = 007D INSDAT = $007D
|
|
144 = 007E COUNTR = $007E
|
|
145 = 0080 LOMEM = $0080
|
|
146 ;
|
|
147 ; PAGE 2
|
|
148 ;
|
|
149 = 0200 VDSLST = $0200
|
|
150 = 0202 VPRCED = $0202
|
|
151 = 0204 VINTER = $0204
|
|
152 = 0206 VBREAK = $0206
|
|
153 = 0208 VKEYBD = $0208
|
|
154 = 020A VSERIN = $020A
|
|
155 = 020C VSEROR = $020C
|
|
156 = 020E VSEROC = $020E
|
|
157 = 0210 VTIMR1 = $0210
|
|
158 = 0212 VTIMR2 = $0212
|
|
159 = 0214 VTIMR4 = $0214
|
|
160 = 0216 VIMIRQ = $0216
|
|
161 = 0218 CDTMV1 = $0218
|
|
162 = 021A CDTMV2 = $021A
|
|
163 = 021C CDTMV3 = $021C
|
|
164 = 021E CDTMV4 = $021E
|
|
165 = 0220 CDTMV5 = $0220
|
|
166 = 0222 VVBLKI = $0222
|
|
167 = 0224 VVBLKD = $0224
|
|
168 = 0226 CDTMA1 = $0226
|
|
169 = 0228 CDTMA2 = $0228
|
|
170 = 022A CDTMF3 = $022A
|
|
171 = 022B SRTIMR = $022B
|
|
172 = 022C CDTMF4 = $022C
|
|
173 = 022D INTEMP = $022D
|
|
174 = 022E CDTMF5 = $022E
|
|
175 = 022F SDMCTL = $022F
|
|
176 = 0230 SDLSTL = $0230
|
|
177 = 0231 SDLSTH = $0231
|
|
178 = 0232 SSKCTL = $0232
|
|
179 = 0233 SPARE = $0233
|
|
180 = 0234 LPENH = $0234
|
|
181 = 0235 LPENV = $0235
|
|
182 = 0236 BRKKY = $0236
|
|
183 = 0238 VPIRQ = $0238
|
|
184 = 023A CDEVIC = $023A
|
|
185 = 023B CCOMND = $023B
|
|
186 = 023C CAUX1 = $023C
|
|
187 = 023D CAUX2 = $023D
|
|
188 = 023E TMPSIO = $023E
|
|
189 = 023F ERRFLG = $023F
|
|
190 = 0240 DFLAGS = $0240
|
|
191 = 0241 DBSECT = $0241
|
|
192 = 0242 BOOTAD = $0242
|
|
193 = 0244 COLDST = $0244
|
|
194 = 0245 RECLEN = $0245
|
|
195 = 0246 DSKTIM = $0246
|
|
196 = 0247 PDVMSK = $0247
|
|
197 = 0248 SHPDVS = $0248
|
|
198 = 0249 PDMSK = $0249
|
|
199 = 024A RELADR = $024A
|
|
200 = 024C PPTMPA = $024C
|
|
201 = 024D PPTMPX = $024D
|
|
202 = 026B CHSALT = $026B
|
|
203 = 026C VSFLAG = $026C
|
|
204 = 026D KEYDIS = $026D
|
|
205 = 026E FINE = $026E
|
|
206 = 026F GPRIOR = $026F
|
|
207 = 0270 PADDL0 = $0270
|
|
208 = 0271 PADDL1 = $0271
|
|
209 = 0272 PADDL2 = $0272
|
|
210 = 0273 PADDL3 = $0273
|
|
211 = 0274 PADDL4 = $0274
|
|
212 = 0275 PADDL5 = $0275
|
|
213 = 0276 PADDL6 = $0276
|
|
214 = 0277 PADDL7 = $0277
|
|
215 = 0278 STICK0 = $0278
|
|
216 = 0279 STICK1 = $0279
|
|
217 = 027A STICK2 = $027A
|
|
218 = 027B STICK3 = $027B
|
|
219 = 027C PTRIG0 = $027C
|
|
220 = 027D PTRIG1 = $027D
|
|
221 = 027E PTRIG2 = $027E
|
|
222 = 027F PTRIG3 = $027F
|
|
223 = 0280 PTRIG4 = $0280
|
|
224 = 0281 PTRIG5 = $0281
|
|
225 = 0282 PTRIG6 = $0282
|
|
226 = 0283 PTRIG7 = $0283
|
|
227 = 0284 STRIG0 = $0284
|
|
228 = 0285 STRIG1 = $0285
|
|
229 = 0286 STRIG2 = $0286
|
|
230 = 0287 STRIG3 = $0287
|
|
231 = 0288 HIBYTE = $0288
|
|
232 = 0289 WMODE = $0289
|
|
233 = 028A BLIM = $028A
|
|
234 = 028B IMASK = $028B
|
|
235 = 028C JVECK = $028C
|
|
236 = 028E NEWADR = $028E
|
|
237 = 0290 TXTROW = $0290
|
|
238 = 0291 TXTCOL = $0291
|
|
239 = 0293 TINDEX = $0293
|
|
240 = 0294 TXTMSC = $0294
|
|
241 = 0296 TXTOLD = $0296
|
|
242 = 029C CRETRY = $029C
|
|
243 = 029D HOLD3 = $029D
|
|
244 = 029E SUBTMP = $029E
|
|
245 = 029F HOLD2 = $029F
|
|
246 = 02A0 DMASK = $02A0
|
|
247 = 02A1 TMPLBT = $02A1
|
|
248 = 02A2 ESCFLG = $02A2
|
|
249 = 02A3 TABMAP = $02A3
|
|
250 = 02B2 LOGMAP = $02B2
|
|
251 = 02B6 INVFLG = $02B6
|
|
252 = 02B7 FILFLG = $02B7
|
|
253 = 02B8 TMPROW = $02B8
|
|
254 = 02B9 TMPCOL = $02B9
|
|
255 = 02BB SCRFLG = $02BB
|
|
256 = 02BC HOLD4 = $02BC
|
|
257 = 02BD DRETRY = $02BD
|
|
258 = 02BE SHFLOC = $02BE
|
|
259 = 02BF BOTSCR = $02BF
|
|
260 = 02C0 PCOLR0 = $02C0
|
|
261 = 02C1 PCOLR1 = $02C1
|
|
262 = 02C2 PCOLR2 = $02C2
|
|
263 = 02C3 PCOLR3 = $02C3
|
|
264 = 02C4 COLOR0 = $02C4
|
|
265 = 02C5 COLOR1 = $02C5
|
|
266 = 02C6 COLOR2 = $02C6
|
|
267 = 02C7 COLOR3 = $02C7
|
|
268 = 02C8 COLOR4 = $02C8
|
|
269 = 02C9 RUNADR = $02C9
|
|
270 = 02CB HIUSED = $02CB
|
|
271 = 02CD ZHIUSE = $02CD
|
|
272 = 02CF GBYTEA = $02CF
|
|
273 = 02D1 LOADAD = $02D1
|
|
274 = 02D3 ZLOADA = $02D3
|
|
275 = 02D5 DSCTLN = $02D5
|
|
276 = 02D7 ACMISR = $02D7
|
|
277 = 02D9 KRPDER = $02D9
|
|
278 = 02DA KEYREP = $02DA
|
|
279 = 02DB NOCLIK = $02DB
|
|
280 = 02DC HELPFG = $02DC
|
|
281 = 02DD DMASAV = $02DD
|
|
282 = 02DE PBPNT = $02DE
|
|
283 = 02DF PBUFSZ = $02DF
|
|
284 = 02E0 RUNAD = $02E0
|
|
285 = 02E2 INITAD = $02E2
|
|
286 = 02E4 RAMSIZ = $02E4
|
|
287 = 02E5 MEMTOP = $02E5
|
|
288 = 02E7 MEMLO = $02E7
|
|
289 = 02E9 HNDLOD = $02E9
|
|
290 = 02EA DVSTAT = $02EA
|
|
291 = 02EE CBAUDL = $02EE
|
|
292 = 02EF CBAUDH = $02EF
|
|
293 = 02F0 CRSINH = $02F0
|
|
294 = 02F1 KEYDEL = $02F1
|
|
295 = 02F2 CH1 = $02F2
|
|
296 = 02F3 CHACT = $02F3
|
|
297 = 02F4 CHBAS = $02F4
|
|
298 = 02F5 NEWROW = $02F5
|
|
299 = 02F6 NEWCOL = $02F6
|
|
300 = 02F8 ROWINC = $02F8
|
|
301 = 02F9 COLINC = $02F9
|
|
302 = 02FA CHAR = $02FA
|
|
303 = 02FB ATACHR = $02FB
|
|
304 = 02FC CH = $02FC
|
|
305 = 02FD FILDAT = $02FD
|
|
306 = 02FE DSPFLG = $02FE
|
|
307 = 02FF SSFLAG = $02FF
|
|
308 ;
|
|
309 ; PAGE 3
|
|
310 ;
|
|
311 = 0300 DDEVIC = $0300
|
|
312 = 0301 DUNIT = $0301
|
|
313 = 0302 DCOMND = $0302
|
|
314 = 0303 DSTATS = $0303
|
|
315 = 0304 DBUFLO = $0304
|
|
316 = 0305 DBUFHI = $0305
|
|
317 = 0306 DTIMLO = $0306
|
|
318 = 0307 DUNUSE = $0307
|
|
319 = 0308 DBYTLO = $0308
|
|
320 = 0309 DBYTHI = $0309
|
|
321 = 030A DAUX1 = $030A
|
|
322 = 030B DAUX2 = $030B
|
|
323 = 030C TIMER1 = $030C
|
|
324 = 030E ADDCOR = $030E
|
|
325 = 030F CASFLG = $030F
|
|
326 = 0310 TIMER2 = $0310
|
|
327 = 0312 TEMP1 = $0312
|
|
328 = 0314 TEMP2 = $0314
|
|
329 = 0315 TEMP3 = $0315
|
|
330 = 0316 SAVIO = $0316
|
|
331 = 0317 TIMFLG = $0317
|
|
332 = 0318 STACKP = $0318
|
|
333 = 0319 TSTAT = $0319
|
|
334 = 031A HATABS = $031A
|
|
335 = 033D PUPBT1 = $033D
|
|
336 = 033E PUPBT2 = $033E
|
|
337 = 033F PUPBT3 = $033F
|
|
338 = 0340 IOCB0 = $0340
|
|
339 = 0350 IOCB1 = $0350
|
|
340 = 0360 IOCB2 = $0360
|
|
341 = 0370 IOCB3 = $0370
|
|
342 = 0380 IOCB4 = $0380
|
|
343 = 0390 IOCB5 = $0390
|
|
344 = 03A0 IOCB6 = $03A0
|
|
345 = 03B0 IOCB7 = $03B0
|
|
346 = 03C0 PRNBUF = $03C0
|
|
347 = 03E8 SUPERF = $03E8
|
|
348 = 03E9 CKEY = $03E9
|
|
349 = 03EA CASSBT = $03EA
|
|
350 = 03EB CARTCK = $03EB
|
|
351 = 03EC DERRF = $03EC
|
|
352 = 03ED ACMVAR = $03ED
|
|
353 = 03F8 BASICF = $03F8
|
|
354 = 03F9 MINTLK = $03F9
|
|
355 = 03FA GINTLK = $03FA
|
|
356 = 03FB CHLINK = $03FB
|
|
357 = 03FD CASBUF = $03FD
|
|
358 ;
|
|
359 ; HARDWARE REGISTERS
|
|
360 ;
|
|
361 ; GTIA
|
|
362 ;
|
|
363 = D000 M0PF = $D000
|
|
364 = D000 HPOSP0 = $D000
|
|
365 = D001 M1PF = $D001
|
|
366 = D001 HPOSP1 = $D001
|
|
367 = D002 M2PF = $D002
|
|
368 = D002 HPOSP2 = $D002
|
|
369 = D003 M3PF = $D003
|
|
370 = D003 HPOSP3 = $D003
|
|
371 = D004 P0PF = $D004
|
|
372 = D004 HPOSM0 = $D004
|
|
373 = D005 P1PF = $D005
|
|
374 = D005 HPOSM1 = $D005
|
|
375 = D006 P2PF = $D006
|
|
376 = D006 HPOSM2 = $D006
|
|
377 = D007 P3PF = $D007
|
|
378 = D007 HPOSM3 = $D007
|
|
379 = D008 M0PL = $D008
|
|
380 = D008 SIZEP0 = $D008
|
|
381 = D009 M1PL = $D009
|
|
382 = D009 SIZEP1 = $D009
|
|
383 = D00A M2PL = $D00A
|
|
384 = D00A SIZEP2 = $D00A
|
|
385 = D00B M3PL = $D00B
|
|
386 = D00B SIZEP3 = $D00B
|
|
387 = D00C P0PL = $D00C
|
|
388 = D00C SIZEM = $D00C
|
|
389 = D00D P1PL = $D00D
|
|
390 = D00D GRAFP0 = $D00D
|
|
391 = D00E P2PL = $D00E
|
|
392 = D00E GRAFP1 = $D00E
|
|
393 = D00F P3PL = $D00F
|
|
394 = D00F GRAFP2 = $D00F
|
|
395 = D010 TRIG0 = $D010
|
|
396 = D010 GRAFP3 = $D010
|
|
397 = D011 TRIG1 = $D011
|
|
398 = D011 GRAFM = $D011
|
|
399 = D012 TRIG2 = $D012
|
|
400 = D012 COLPM0 = $D012
|
|
401 = D013 TRIG3 = $D013
|
|
402 = D013 COLPM1 = $D013
|
|
403 = D014 PAL = $D014
|
|
404 = D014 COLPM2 = $D014
|
|
405 = D015 COLPM3 = $D015
|
|
406 = D016 COLPF0 = $D016
|
|
407 = D017 COLPF1 = $D017
|
|
408 = D018 COLPF2 = $D018
|
|
409 = D019 COLPF3 = $D019
|
|
410 = D01A COLBK = $D01A
|
|
411 = D01B PRIOR = $D01B
|
|
412 = D01C VDELAY = $D01C
|
|
413 = D01D GRACTL = $D01D
|
|
414 = D01E HITCLR = $D01E
|
|
415 = D01F CONSOL = $D01F
|
|
416 ;
|
|
417 ; POKEY
|
|
418 ;
|
|
419 = D200 POT0 = $D200
|
|
420 = D200 AUDF1 = $D200
|
|
421 = D201 POT1 = $D201
|
|
422 = D201 AUDC1 = $D201
|
|
423 = D202 POT2 = $D202
|
|
424 = D202 AUDF2 = $D202
|
|
425 = D203 POT3 = $D203
|
|
426 = D203 AUDC2 = $D203
|
|
427 = D204 POT4 = $D204
|
|
428 = D204 AUDF3 = $D204
|
|
429 = D205 POT5 = $D205
|
|
430 = D205 AUDC3 = $D205
|
|
431 = D206 POT6 = $D206
|
|
432 = D206 AUDF4 = $D206
|
|
433 = D207 POT7 = $D207
|
|
434 = D207 AUDC4 = $D207
|
|
435 = D208 ALLPOT = $D208
|
|
436 = D208 AUDCTL = $D208
|
|
437 = D209 KBCODE = $D209
|
|
438 = D209 STIMER = $D209
|
|
439 = D20A RANDOM = $D20A
|
|
440 = D20A SKREST = $D20A
|
|
441 = D20B POTGO = $D20B
|
|
442 = D20D SERIN = $D20D
|
|
443 = D20D SEROUT = $D20D
|
|
444 = D20E IRQST = $D20E
|
|
445 = D20E IRQEN = $D20E
|
|
446 = D20F SKSTAT = $D20F
|
|
447 = D20F SKCTL = $D20F
|
|
448 ;
|
|
449 ; PIA
|
|
450 ;
|
|
451 = D300 PORTA = $D300
|
|
452 = D301 PORTB = $D301
|
|
453 = D302 PACTL = $D302
|
|
454 = D303 PBCTL = $D303
|
|
455 ;
|
|
456 ; ANTIC
|
|
457 ;
|
|
458 = D400 DMACTL = $D400
|
|
459 = D401 CHACTL = $D401
|
|
460 = D402 DLISTL = $D402
|
|
461 = D403 DLISTH = $D403
|
|
462 = D404 HSCROL = $D404
|
|
463 = D405 VSCROL = $D405
|
|
464 = D407 PMBASE = $D407
|
|
465 = D409 CHBASE = $D409
|
|
466 = D40A WSYNC = $D40A
|
|
467 = D40B VCOUNT = $D40B
|
|
468 = D40C PENH = $D40C
|
|
469 = D40D PENV = $D40D
|
|
470 = D40E NMIEN = $D40E
|
|
471 = D40F NMIST = $D40F
|
|
472 = D40F NMIRES = $D40F
|
|
473 ;
|
|
474 ; FLOATING POINT ROUTINES
|
|
475 ;
|
|
476 = D800 AFP = $D800
|
|
477 = D8E6 FASC = $D8E6
|
|
478 = D9AA IFP = $D9AA
|
|
479 = D9D2 FPI = $D9D2
|
|
480 = DA44 ZFR0 = $DA44
|
|
481 = DA46 ZF1 = $DA46
|
|
482 = DA60 FSUB = $DA60
|
|
483 = DA66 FADD = $DA66
|
|
484 = DADB FMUL = $DADB
|
|
485 = DB28 FDIV = $DB28
|
|
486 = DD40 PLYEVL = $DD40
|
|
487 = DD89 FLD0R = $DD89
|
|
488 = DD8D FLD0P = $DD8D
|
|
489 = DD98 FLD1R = $DD98
|
|
490 = DD9C FLD1P = $DD9C
|
|
491 = DDA7 FSTOR = $DDA7
|
|
492 = DDAB FSTOP = $DDAB
|
|
493 = DDB6 FMOVE = $DDB6
|
|
494 = DDC0 EXP = $DDC0
|
|
495 = DDCC EXP10 = $DDCC
|
|
496 = DECD LOG = $DECD
|
|
497 = DED1 LOG10 = $DED1
|
|
498 ;
|
|
499 ; ROM VECTORS
|
|
500 ;
|
|
501 = E453 DSKINV = $E453
|
|
502 = E456 CIOV = $E456
|
|
503 = E459 SIOV = $E459
|
|
504 = E45C SETVBV = $E45C
|
|
505 = E45F SYSVBV = $E45F
|
|
506 = E462 XITVBV = $E462
|
|
507 = E465 SIOINV = $E465
|
|
508 = E468 SENDEV = $E468
|
|
509 = E46B INTINV = $E46B
|
|
510 = E46E CIOINV = $E46E
|
|
511 = E471 SELFSV = $E471
|
|
512 = E474 WARMSV = $E474
|
|
513 = E477 COLDSV = $E477
|
|
514 = E47A RBLOKV = $E47A
|
|
515 = E47D CSOPIV = $E47D
|
|
516 = E480 PUPDIV = $E480
|
|
517 = E483 SELFTSV = $E483
|
|
518 = E486 PENTV = $E486
|
|
519 = E489 PHUNLV = $E489
|
|
520 = E48C PHINIV = $E48C
|
|
521 = E48F GPDVV = $E48F
|
|
5 = 0090 start = $90
|
|
6 = 008F ball_x = start-1
|
|
7 = 008E ball_y = start-2
|
|
8 = 008D rightpad=start-3
|
|
9 = 008C leftpad=start-4
|
|
10 = 008B digitleft=start-5
|
|
11 = 008A digitright=start-6
|
|
12
|
|
13 = D000 NET_PLR_POS = HPOSP0
|
|
14 = D012 NET_PLR_COL = COLPM0
|
|
15 = D00D NET_PLR_GRF = GRAFP0
|
|
16 = D001 RIGHT_PLR_POS = HPOSP1
|
|
17 = D00E RIGHT_PLR_GRF = GRAFP1
|
|
18 = D002 LEFT_PLR_POS = HPOSP2
|
|
19 = D00F LEFT_PLR_GRF = GRAFP2
|
|
20 = D003 BALL_XPOS = HPOSP3
|
|
21 = D00F BALL_COL = P3PL
|
|
22 = D010 BALL_GRF = GRAFP3
|
|
23 = 001B TOP_BAND = 27
|
|
24 = 0067 BOTTOM_BAND = 103
|
|
25
|
|
26 startc:
|
|
27
|
|
28 FFFF> 4000-414F> 78 sei
|
|
29 4001 A9 00 8D 00 D4 mva #0 DMACTL
|
|
30 4006 A9 A8 8D 01 D2 mva #$a8 AUDC1
|
|
31
|
|
32 400B A0 03 ldy #3
|
|
33 ;tax
|
|
34 400D colinit:
|
|
35 400D B9 2A 41 lda positions,y
|
|
36 4010 99 00 D0 sta HPOSP0,y
|
|
37 4013 A9 38 lda #$38
|
|
38 4015 99 12 D0 sta COLPM0,y
|
|
39 4018 99 8C 00 sta leftpad,y
|
|
40 401B 88 dey
|
|
41 401C 10 EF bpl colinit
|
|
42 401E 20 EF 40 jsr zerografp
|
|
43 4021 gloop:
|
|
44 4021 digit:
|
|
45 .print "After init: ", *
|
|
45 After init: $4021
|
|
46 4021 A9 0F lda #$f
|
|
47 .ifdef DIG
|
|
48 4023 CD 0B D4 D0 FB cmp:rne VCOUNT
|
|
49 .endif
|
|
50 .ifdef DIG
|
|
51 .print "Digits start: ", *
|
|
51 Digits start: $4028
|
|
52 4028 20 EF 40 jsr zerografp
|
|
53
|
|
54 402B A6 8B ldx digitleft ; digit 3
|
|
55 402D A4 8A ldy digitright
|
|
56 402F BD 2E 41 lda digits,x
|
|
57 4032 AA tax
|
|
58 4033 B9 2E 41 lda digits,y
|
|
59 4036 A8 tay
|
|
60 4037 again
|
|
61 4037 20 FA 40 jsr digline
|
|
62 403A AD 0B D4 lda VCOUNT
|
|
63 403D C9 18 cmp #$18
|
|
64 403F 90 F6 bcc again
|
|
65 .print "Digits stop: ", *
|
|
65 Digits stop: $4041
|
|
66 .else
|
|
67 lda #$18
|
|
68 cmp:rne VCOUNT
|
|
69
|
|
70 .endif
|
|
71 4041 20 EF 40 jsr zerografp
|
|
72
|
|
73 4044 20 DE 40 jsr HORIZ_LINE
|
|
74 4047 field:
|
|
75 4047 AD 0B D4 lda VCOUNT
|
|
76 404A C9 69 cmp #BOTTOM_BAND+2
|
|
77 404C F0 2C beq lastline
|
|
78
|
|
79 404E 6A ror
|
|
80 404F 29 01 and #1
|
|
81 4051 A8 tay
|
|
82 4052 B9 48 CC lda graf,y
|
|
83 4055 8D 0A D4 sta WSYNC
|
|
84 4058 8D 0D D0 sta NET_PLR_GRF
|
|
85
|
|
86 405B AD 0B D4 LDA VCOUNT
|
|
87 405E A0 1C ldy #$1c
|
|
88 4060 20 14 41 jsr drawpads
|
|
89 4063 A0 00 ldy #0
|
|
90 4065 8C 00 D2 sty AUDF1
|
|
91 4068 38 sec
|
|
92 4069 E9 02 sbc #2
|
|
93 406B 8D 0A D4 sta WSYNC
|
|
94 406E 20 22 41 jsr drawball
|
|
95 4071 38 sec
|
|
96 4072 E9 0A sbc #10
|
|
97 4074 20 14 41 jsr drawpads
|
|
98
|
|
99
|
|
100 4077 4C 47 40 jmp field
|
|
101
|
|
102 407A lastline:
|
|
103 407A 20 E1 40 jsr HORIZ_LINE+3
|
|
104 407D 8D 10 D0 sta BALL_GRF
|
|
105
|
|
106 4080 logic:
|
|
107 4080 A5 8E lda ball_y
|
|
108 4082 C9 1B cmp #TOP_BAND
|
|
109 4084 90 04 bcc chgy
|
|
110 4086 C9 67 cmp #BOTTOM_BAND
|
|
111 4088 90 0B bcc skip
|
|
112 408A chgy:
|
|
113 408A 8D 00 D2 sta AUDF1
|
|
114 408D AD 95 40 lda skip
|
|
115 4090 49 20 eor #$20
|
|
116 4092 8D 95 40 sta skip
|
|
117 4095 skip:
|
|
118 4095 E6 8E inc ball_y
|
|
119 4097 chkcolission:
|
|
120 4097 AD 0F D0 lda BALL_COL ; 1 - prawy; 2 - lewy
|
|
121 409A 4A lsr
|
|
122 409B F0 0E beq nocollision
|
|
123 409D A9 E6 lda #$E6
|
|
124 409F 24 8F bit ball_x
|
|
125 40A1 50 02 A9 C6 svc:lda #$C6
|
|
126 40A5 8D AB 40 sta incplace
|
|
127 40A8 8D 00 D2 sta AUDF1
|
|
128 40AB nocollision:
|
|
129
|
|
130 40AB incplace
|
|
131 40AB E6 8F inc ball_x
|
|
132 40AD D0 02 E6 8B sne:inc digitleft
|
|
133
|
|
134 40B1 A2 01 ldx #1
|
|
135 40B3 AC 00 D3 ldy PORTA
|
|
136 40B6 chgpads
|
|
137 40B6 98 tya
|
|
138 40B7 4A lsr
|
|
139 40B8 90 02 F6 8C scc:inc leftpad,x
|
|
140 40BC 4A lsr
|
|
141 40BD 90 02 D6 8C scc:dec leftpad,x
|
|
142 40C1 4A lsr
|
|
143 40C2 4A lsr
|
|
144 40C3 A8 tay
|
|
145 40C4 B5 8C lda leftpad,x
|
|
146 40C6 38 sec
|
|
147 40C7 E9 1C sbc #28
|
|
148 40C9 29 3F and #$3f
|
|
149 40CB 18 clc
|
|
150 40CC 69 1C adc #28
|
|
151 40CE 95 8C sta leftpad,x
|
|
152 40D0 CA dex
|
|
153 40D1 10 E3 bpl chgpads
|
|
154
|
|
155
|
|
156 40D3 A5 8F lda ball_x
|
|
157 40D5 8D 03 D0 sta BALL_XPOS
|
|
158 40D8 8D 1E D0 sta HITCLR
|
|
159
|
|
160 40DB 4C 21 40 jmp gloop
|
|
161 40DE HORIZ_LINE
|
|
162 40DE 20 08 41 jsr WAIT3LINES
|
|
163 40E1 A9 0F lda #$0f
|
|
164 40E3 8D 1A D0 sta COLBK
|
|
165
|
|
166 40E6 20 08 41 jsr WAIT3LINES
|
|
167 40E9 A9 00 lda #0
|
|
168 40EB 8D 1A D0 sta COLBK
|
|
169 40EE 60 rts
|
|
170 40EF zerografp
|
|
171 40EF A0 03 ldy #3
|
|
172 40F1 A9 00 lda #0
|
|
173 40F3 zero:
|
|
174 40F3 99 0D D0 sta GRAFP0,y
|
|
175 ;sta SIZEP0,y
|
|
176 40F6 88 dey
|
|
177 40F7 10 FA bpl zero
|
|
178 40F9 60 rts
|
|
179 .ifdef DIG
|
|
180 40FA digline:
|
|
181 40FA BD 38 41 lda digdef,x
|
|
182 40FD 8D 0E D0 sta RIGHT_PLR_GRF
|
|
183 4100 B9 38 41 lda digdef,y
|
|
184 4103 8D 0F D0 sta LEFT_PLR_GRF
|
|
185 4106 E8 inx
|
|
186 4107 C8 iny
|
|
187 .endif
|
|
188 4108 WAIT3LINES
|
|
189 4108 A9 01 lda #1
|
|
190 ; jmp WAIT3LINES
|
|
191 410A WAITLINES
|
|
192 410A 18 clc
|
|
193 410B 6D 0B D4 adc VCOUNT
|
|
194 410E WAITFORLINE
|
|
195 410E CD 0B D4 B0 FB cmp:rcs VCOUNT
|
|
196 ; sty COLBK
|
|
197 4113 60 rts
|
|
198 4114 drawpads:
|
|
199 4114 C5 8D cmp rightpad
|
|
200 4116 D0 03 8C 0E D0 sne:sty RIGHT_PLR_GRF
|
|
201 411B C5 8C cmp leftpad
|
|
202 411D D0 03 8C 0F D0 sne:sty LEFT_PLR_GRF
|
|
203 4122 drawball:
|
|
204 4122 C5 8E cmp ball_y
|
|
205 4124 D0 03 8C 10 D0 sne:sty BALL_GRF
|
|
206 4129 60 rts
|
|
207 .print "Digits: ", *
|
|
207 Digits: $412A
|
|
208 = CC48 graf = $CC48
|
|
209 ;; graf:
|
|
210 ;; .by 0, $e0
|
|
211 412A positions
|
|
212 412A 80 C4 34 40 .db $80,$c4,$34,$40
|
|
213 .ifdef DIG
|
|
214 412E digits:
|
|
215 ; -------------------
|
|
216 412E 0E 13 04 02 10 00 + .by d0-digdef,d1-digdef,d2-digdef,d3-digdef,d4-digdef,d5-digdef,d6-digdef,d7-digdef,d8-digdef,d9-digdef
|
|
217 ;------
|
|
218 4138 digdef:
|
|
219 4138 FF d5 .BY %11111111
|
|
220 4139 E0 .BY %11100000
|
|
221 413A FF d3 .BY %11111111
|
|
222 413B 07 .BY %00000111
|
|
223 413C FF d2 .BY %11111111
|
|
224 413D 07 .BY %00000111
|
|
225 413E FF d6 .BY %11111111
|
|
226 413F E0 .BY %11100000
|
|
227 4140 FF d8 .BY %11111111
|
|
228 4141 E7 .BY %11100111
|
|
229 4142 FF d9 .BY %11111111
|
|
230 4143 E7 .BY %11100111
|
|
231 4144 FF .BY %11111111
|
|
232 4145 07 .BY %00000111
|
|
233 4146 FF d0 .BY %11111111
|
|
234 4147 E7 .BY %11100111
|
|
235 4148 E7 d4 .BY %11100111
|
|
236 4149 E7 .BY %11100111
|
|
237 414A FF d7 .BY %11111111
|
|
238 414B 07 d1 .BY %00000111
|
|
239 414C 07 .BY %00000111
|
|
240 414D 07 .BY %00000111
|
|
241 414E 07 .BY %00000111
|
|
242 414F 07 .BY %00000111
|
|
243 .endif
|
|
244 .print * - startc
|
|
244 $0150
|
|
245
|
|
246 02E0-02E1> 00 40 RUN startc
|
|
247
|