1 | ****************************************
|
---|
2 | * *
|
---|
3 | * 3D fil de fer by Doctor Lô *
|
---|
4 | * *
|
---|
5 | ***************31-10-90*****************
|
---|
6 | * et 19-1-91 *
|
---|
7 | * éditeur le 26-1-91 *
|
---|
8 | ****************************************
|
---|
9 |
|
---|
10 |
|
---|
11 | TEXTE EQU $7200
|
---|
12 | OBJETS EQU $7300
|
---|
13 | EXEC EQU $89E0
|
---|
14 | CENTRE EQU $8A00
|
---|
15 | SINUS EQU $8E00
|
---|
16 | FONTES EQU $9080
|
---|
17 | LINKS EQU $917A
|
---|
18 | CODE EQU $926A
|
---|
19 | DIR EQU $9E
|
---|
20 | Z EQU $D8
|
---|
21 | CORDOS EQU $9F00
|
---|
22 | ECRAN EQU $C000-31*40
|
---|
23 | ECRTXT EQU $DE7A adresse à l'écran
|
---|
24 | HAUT EQU 192
|
---|
25 | QUAD EQU 128
|
---|
26 | NN EQU $8000 masque "non nul"
|
---|
27 |
|
---|
28 |
|
---|
29 | ORG EXEC procédure d'appel
|
---|
30 | ORCC #80
|
---|
31 | LDD #$20E
|
---|
32 | BSR COPBNK
|
---|
33 | JSR G
|
---|
34 | LDD #$E02
|
---|
35 | COPBNK LDX #$A000 copie de la bank 2
|
---|
36 | STA $E7E5 (basic) en bank 14
|
---|
37 | LDU ,X
|
---|
38 | STB $E7E5
|
---|
39 | STU ,X++
|
---|
40 | CMPX #$E000
|
---|
41 | BLO *-13
|
---|
42 | RTS
|
---|
43 |
|
---|
44 | ORG LINKS
|
---|
45 | FDB $25B,$B02,NN+12,ARETES
|
---|
46 | FCB 11,12,1,12
|
---|
47 | FDB $373,$B00,0,COLOUR
|
---|
48 | FCB 0,13,2,13
|
---|
49 | FDB $4E8,$200,0,SCROLL
|
---|
50 | FCB 1,14,3,14
|
---|
51 | FDB $675,$800,OBJETS,NOBJ
|
---|
52 | FCB 2,3,4,3
|
---|
53 | FDB $78D,$800,0,NOBJ
|
---|
54 | FCB 3,15,5,4
|
---|
55 | FDB $8A5,$800,0,NOBJ
|
---|
56 | FCB 4,16,6,15
|
---|
57 | FDB $9BD,$800,0,NOBJ
|
---|
58 | FCB 5,17,7,16
|
---|
59 | FDB $AD5,$800,0,NOBJ
|
---|
60 | FCB 6,7,8,17
|
---|
61 | FDB $BED,$800,0,NOBJ
|
---|
62 | FCB 7,8,9,8
|
---|
63 | FDB $D80,$200,0,SCROLL
|
---|
64 | FCB 8,9,10,9
|
---|
65 | FDB $151E,$A00,1,CENTR1
|
---|
66 | FCB 9,10,11,10
|
---|
67 | FDB $1636,$A01,4,CENTR2
|
---|
68 | FCB 10,18,0,11
|
---|
69 | FDB $274,$A03,511,ANGLES
|
---|
70 | FCB 19,0,13,0
|
---|
71 | FDB $38C,$A03,511,ANGLES
|
---|
72 | FCB 12,1,14,1
|
---|
73 | FDB $4A4,$A03,511,ANGLES
|
---|
74 | FCB 13,2,15,2
|
---|
75 | FDB $7E8,$E03,511,SPEEDS
|
---|
76 | FCB 14,5,16,4
|
---|
77 | FDB $900,$E03,511,SPEEDS
|
---|
78 | FCB 15,6,17,5
|
---|
79 | FDB $A18,$E03,511,SPEEDS
|
---|
80 | FCB 16,7,18,6
|
---|
81 | FDB $18F3,$A03,NN+999,WAITS
|
---|
82 | FCB 17,18,19,11
|
---|
83 | FDB $1A0B,$A04,NN+9999,WAITS
|
---|
84 | FCB 18,19,12,19
|
---|
85 |
|
---|
86 | ORG CODE
|
---|
87 | G LDA #$E7
|
---|
88 | EXG A,DP
|
---|
89 | LDB <$E6
|
---|
90 | STD RDP+1
|
---|
91 | LDA #$60 écran $4000-$5F40
|
---|
92 | STA <$E6 (de l'éditeur)
|
---|
93 | CLR <$DC en cartouche
|
---|
94 |
|
---|
95 | LDD #32
|
---|
96 | STA <$DB
|
---|
97 | STA <$DA
|
---|
98 | DECB
|
---|
99 | BNE *-3
|
---|
100 | LDX #MAP décompacte image
|
---|
101 | STX $616B
|
---|
102 | LDD #$FF0E
|
---|
103 | STA $6249
|
---|
104 | STB $616D
|
---|
105 | INCB
|
---|
106 | STB <$E5
|
---|
107 | LDD #$100
|
---|
108 | STD $61D6
|
---|
109 | CLR $6288
|
---|
110 | LDB #69
|
---|
111 | JSR $EC0C
|
---|
112 |
|
---|
113 | LDB #2 copie fond éditeur
|
---|
114 | COPICT STB <$E5 dans écran démo
|
---|
115 | LDX #$DF40
|
---|
116 | CLR ,-X
|
---|
117 | CMPX #$C000
|
---|
118 | BNE *-5
|
---|
119 | LDX #$A000
|
---|
120 | LDU #$2000
|
---|
121 | LDA ,U
|
---|
122 | LDB #40
|
---|
123 | STA ,X+
|
---|
124 | DECB
|
---|
125 | BNE *-3
|
---|
126 | LEAU 40,U
|
---|
127 | CMPX #$BF40
|
---|
128 | BNE *-15
|
---|
129 | LDB <$E5
|
---|
130 | INCB
|
---|
131 | CMPB #4
|
---|
132 | BNE COPICT
|
---|
133 | LDD ,--U
|
---|
134 | STD ,--X
|
---|
135 | CMPX #$BDD8
|
---|
136 | BNE *-7
|
---|
137 | LDX #$DDD8
|
---|
138 | LDU #$1DD8
|
---|
139 | LDD ,U++
|
---|
140 | STD ,X++
|
---|
141 | CMPX #$DF40
|
---|
142 | BNE *-7
|
---|
143 | LDX #$DE7A
|
---|
144 | LDY #TEXTE
|
---|
145 | LDB ,Y+
|
---|
146 | JSR PUTC
|
---|
147 | CMPX #$DE9E
|
---|
148 | BNE *-8
|
---|
149 |
|
---|
150 | LDA #DIR
|
---|
151 | TFR A,DP
|
---|
152 | LDD #TEXTE initialisations
|
---|
153 | STD <Z+34
|
---|
154 | LDD #ECRTXT
|
---|
155 | STD <Z+36
|
---|
156 | LDD #100 latence du texte
|
---|
157 | STD WAITXT+1
|
---|
158 | STD <Z+32
|
---|
159 | LDU #OBJETS
|
---|
160 | JSR DEFOBJ
|
---|
161 | LDA #128
|
---|
162 | STA $E7DD
|
---|
163 | LDA #1
|
---|
164 | LDX #256
|
---|
165 | BLUES TST $E7E7 apparition 'fondu'
|
---|
166 | BMI *-3
|
---|
167 | TST $E7E7
|
---|
168 | BPL *-3
|
---|
169 | TFR A,B
|
---|
170 | LEAY ,X
|
---|
171 | JSR $EC00
|
---|
172 | INCA
|
---|
173 | CMPA #7
|
---|
174 | BNE *-8
|
---|
175 | TFR B,A
|
---|
176 | LEAX 256,X
|
---|
177 | INCA
|
---|
178 | CMPA #7
|
---|
179 | BNE BLUES
|
---|
180 | LDA #15
|
---|
181 | LDX #-1
|
---|
182 | LEAY 1,X
|
---|
183 | JSR $EC00
|
---|
184 | STX MAP-34
|
---|
185 | LDX #MAP-64
|
---|
186 | LDA #-1
|
---|
187 | JSR $EC00
|
---|
188 |
|
---|
189 | LDA #$62 scroll de la barre
|
---|
190 | STA $E7E6
|
---|
191 | LDX #$3DFF-40
|
---|
192 | STX <Z
|
---|
193 | LDA #1
|
---|
194 | SONIA STA <Z+2
|
---|
195 | TST $E7E7
|
---|
196 | BPL *-3
|
---|
197 | TST $E7E7
|
---|
198 | BMI *-3
|
---|
199 | LDB #9
|
---|
200 | STB <Z+3
|
---|
201 | LDU #$BDD8-40
|
---|
202 | STU <Z+4
|
---|
203 | HELENE LDX <Z
|
---|
204 | LEAX 40,X
|
---|
205 | STX <Z
|
---|
206 | LDU <Z+4
|
---|
207 | LEAU 40,U
|
---|
208 | STU <Z+4
|
---|
209 | LDB <Z+2
|
---|
210 | LDA ,U+
|
---|
211 | STA ,X+
|
---|
212 | LDA $1FFF,U
|
---|
213 | STA -$2001,X
|
---|
214 | DECB
|
---|
215 | BNE *-13
|
---|
216 | DEC <Z+3
|
---|
217 | BNE HELENE
|
---|
218 | LDX <Z
|
---|
219 | LEAX -361,X
|
---|
220 | STX <Z
|
---|
221 | LDA <Z+2
|
---|
222 | INCA
|
---|
223 | CMPA #41
|
---|
224 | BNE SONIA
|
---|
225 | LDA #$60
|
---|
226 | STA $E7E6
|
---|
227 |
|
---|
228 | BIGBCL LDD #$2C0 boucle principale
|
---|
229 | STA $E7E5
|
---|
230 | STB $E7DD
|
---|
231 | BSR IMAGE
|
---|
232 | LDD #$380
|
---|
233 | STA $E7E5
|
---|
234 | STB $E7DD
|
---|
235 | BSR IMAGE
|
---|
236 | TST $E7C8
|
---|
237 | BEQ BIGBCL
|
---|
238 | JSR $E806
|
---|
239 | CMPB #$99 sortie avec 'F10'
|
---|
240 | LBNE EDITOR
|
---|
241 |
|
---|
242 | RDP LDD #0 retour au basic
|
---|
243 | TFR A,DP
|
---|
244 | STB $E7E6
|
---|
245 | CLR $E7DD
|
---|
246 | LDX #MAP-32
|
---|
247 | LDA #255
|
---|
248 | JSR $EC00
|
---|
249 | RTS
|
---|
250 |
|
---|
251 | IMAGE STS RS+2 génère un écran
|
---|
252 | LDA #HAUT/12-1
|
---|
253 | STA <Z
|
---|
254 | LDU #VIDE effacement total
|
---|
255 | PULU D,X,Y,S
|
---|
256 | LDU #ECRAN+(HAUT+28)*40-8
|
---|
257 | RUB FCC /6v6v6v3P6v6v6v3P/
|
---|
258 | FCC /6v6v6v3P6v6v6v3P/
|
---|
259 | FCC /6v6v6v3P6v6v6v3P/
|
---|
260 | FCC /6v6v6v3P6v6v6v3P/
|
---|
261 | FCC /6v6v6v3P6v6v6v3P/
|
---|
262 | FCC /6v6v6v3P6v6v6v3P/
|
---|
263 | DEC <Z
|
---|
264 | BNE RUB
|
---|
265 | FCC /6v6v6v3P6v6v6v/
|
---|
266 |
|
---|
267 | LDX <Z+32 affiche une lettre
|
---|
268 | BEQ *+8
|
---|
269 | LEAX -1,X
|
---|
270 | STX <Z+32
|
---|
271 | BRA FAFTEX
|
---|
272 | LDY <Z+34 où dans le texte
|
---|
273 | LDB ,Y
|
---|
274 | LDA #5
|
---|
275 | MUL
|
---|
276 | LDU #FONTES
|
---|
277 | LEAU D,U
|
---|
278 | LDX <Z+36 position à l'écran
|
---|
279 | PULU D
|
---|
280 | STA -80,X
|
---|
281 | STB -40,X
|
---|
282 | PULU D
|
---|
283 | STA ,X
|
---|
284 | STB 40,X
|
---|
285 | LDA ,U
|
---|
286 | STA 80,X
|
---|
287 | INC <Z+31
|
---|
288 | LDA #1
|
---|
289 | BITA <Z+31
|
---|
290 | BEQ WAITXT+5
|
---|
291 | LEAX 1,X
|
---|
292 | LEAY 1,Y
|
---|
293 | LDB ,Y
|
---|
294 | BPL *+6
|
---|
295 | LDY #TEXTE
|
---|
296 | CMPX #ECRTXT+36
|
---|
297 | BNE *+10
|
---|
298 | LDX #ECRTXT
|
---|
299 | WAITXT LDD #0
|
---|
300 | STD <Z+32
|
---|
301 | STX <Z+36
|
---|
302 | STY <Z+34
|
---|
303 |
|
---|
304 | FAFTEX LDX <Z+38
|
---|
305 | LEAX -1,X
|
---|
306 | STX <Z+38
|
---|
307 | BNE *+13
|
---|
308 | LDX <Z+29
|
---|
309 | LDU 10,X
|
---|
310 | LDS RS+2
|
---|
311 | JSR DEFOBJ objet suivant
|
---|
312 |
|
---|
313 | LDU <Z+18
|
---|
314 | LDA ,U+ nbre de points
|
---|
315 | STA <Z+14
|
---|
316 | LDS #CORDOS
|
---|
317 | LDX <Z+27 abcisse du centre
|
---|
318 | LDA ,X
|
---|
319 | ANDA #7
|
---|
320 | ADDA #92
|
---|
321 | STA ABCENT+1
|
---|
322 | LDB ,X
|
---|
323 | LSRB
|
---|
324 | LSRB
|
---|
325 | LSRB
|
---|
326 | VITCEN LEAX 7,X
|
---|
327 | CMPX #CENTRE+512
|
---|
328 | BLO *+6
|
---|
329 | LEAX -512,X
|
---|
330 | STX <Z+27
|
---|
331 | LDX #ECRAN
|
---|
332 | ABX
|
---|
333 | STX LINE1-28
|
---|
334 | STX LINE2-26
|
---|
335 | STX LINE3-28
|
---|
336 | STX LINE4-26
|
---|
337 | LDX #ECRAN+(HAUT+22)*40+24
|
---|
338 | ABX
|
---|
339 | STX RUB-2
|
---|
340 |
|
---|
341 | **** rotation autour de (zz') ****
|
---|
342 | COORD LDX <Z+8 pointe sur cos (a)
|
---|
343 | LDA ,U abcisse (X)
|
---|
344 | LDB ,X
|
---|
345 | ANDA #127
|
---|
346 | ANDB #127
|
---|
347 | MUL
|
---|
348 | STD <Z+4 ABS ( X * cos a )
|
---|
349 | LDA ,U
|
---|
350 | EORA ,X
|
---|
351 | BPL *+9
|
---|
352 | LDD #0
|
---|
353 | SUBD <Z+4
|
---|
354 | STD <Z+4
|
---|
355 |
|
---|
356 | LDA 1,U ordonnée (Y)
|
---|
357 | LDB QUAD,X
|
---|
358 | ANDA #127
|
---|
359 | ANDB #127
|
---|
360 | MUL
|
---|
361 | STD <Z+6 ABS ( Y * sin a )
|
---|
362 | LDA 1,U
|
---|
363 | EORA QUAD,X
|
---|
364 | BPL *+9
|
---|
365 | LDD #0
|
---|
366 | SUBD <Z+6
|
---|
367 | STD <Z+6
|
---|
368 |
|
---|
369 | LDD <Z+4
|
---|
370 | SUBD <Z+6
|
---|
371 | ASLB
|
---|
372 | ROLA
|
---|
373 | BCC *+11
|
---|
374 | STD <Z+4
|
---|
375 | LDD #0
|
---|
376 | SUBD <Z+4
|
---|
377 | ORA #128
|
---|
378 | STA <Z X' = Xcosa - Ysina
|
---|
379 |
|
---|
380 | LDA ,U abcisse (X)
|
---|
381 | LDB QUAD,X
|
---|
382 | ANDA #127
|
---|
383 | ANDB #127
|
---|
384 | MUL
|
---|
385 | STD <Z+4 ABS ( X * sin a )
|
---|
386 | LDA ,U+
|
---|
387 | EORA QUAD,X
|
---|
388 | BPL *+9
|
---|
389 | LDD #0
|
---|
390 | SUBD <Z+4
|
---|
391 | STD <Z+4
|
---|
392 |
|
---|
393 | LDA ,U ordonnée (Y)
|
---|
394 | LDB ,X
|
---|
395 | ANDA #127
|
---|
396 | ANDB #127
|
---|
397 | MUL
|
---|
398 | STD <Z+6 ABS ( Y * cos a )
|
---|
399 | LDA ,U+
|
---|
400 | EORA ,X
|
---|
401 | BPL *+9
|
---|
402 | LDD #0
|
---|
403 | SUBD <Z+6
|
---|
404 | STD <Z+6
|
---|
405 |
|
---|
406 | LDD <Z+4
|
---|
407 | ADDD <Z+6
|
---|
408 | ASLB
|
---|
409 | ROLA
|
---|
410 | BCC *+11
|
---|
411 | STD <Z+4
|
---|
412 | LDD #0
|
---|
413 | SUBD <Z+4
|
---|
414 | ORA #128
|
---|
415 | STA <Z+1 Y' = Xsina + Ycosa
|
---|
416 |
|
---|
417 | **** rotation autour de (yy') ****
|
---|
418 |
|
---|
419 | LDX <Z+10 pointe sur cos (b)
|
---|
420 | LDA ,U cote (Z)
|
---|
421 | LDB ,X
|
---|
422 | ANDA #127
|
---|
423 | ANDB #127
|
---|
424 | MUL
|
---|
425 | STD <Z+4 ABS ( Z * cos b )
|
---|
426 | LDA ,U
|
---|
427 | EORA ,X
|
---|
428 | BPL *+9
|
---|
429 | LDD #0
|
---|
430 | SUBD <Z+4
|
---|
431 | STD <Z+4
|
---|
432 |
|
---|
433 | LDA <Z abcisse (X)
|
---|
434 | LDB QUAD,X
|
---|
435 | ANDA #127
|
---|
436 | ANDB #127
|
---|
437 | MUL
|
---|
438 | STD <Z+6 ABS ( X * sin b )
|
---|
439 | LDA <Z
|
---|
440 | EORA QUAD,X
|
---|
441 | BPL *+9
|
---|
442 | LDD #0
|
---|
443 | SUBD <Z+6
|
---|
444 | STD <Z+6
|
---|
445 |
|
---|
446 | LDD <Z+4
|
---|
447 | SUBD <Z+6
|
---|
448 | ASLB
|
---|
449 | ROLA
|
---|
450 | BCC *+11
|
---|
451 | STD <Z+4
|
---|
452 | LDD #0
|
---|
453 | SUBD <Z+4
|
---|
454 | ORA #128
|
---|
455 | STA <Z+15 Z' = Zcosb - Xsinb
|
---|
456 |
|
---|
457 | LDA ,U cote (Z)
|
---|
458 | LDB QUAD,X
|
---|
459 | ANDA #127
|
---|
460 | ANDB #127
|
---|
461 | MUL
|
---|
462 | STD <Z+4 ABS ( Z * sin b )
|
---|
463 | LDA ,U+
|
---|
464 | EORA QUAD,X
|
---|
465 | BPL *+9
|
---|
466 | LDD #0
|
---|
467 | SUBD <Z+4
|
---|
468 | STD <Z+4
|
---|
469 |
|
---|
470 | LDA <Z abcisse (X)
|
---|
471 | LDB ,X
|
---|
472 | ANDA #127
|
---|
473 | ANDB #127
|
---|
474 | MUL
|
---|
475 | STD <Z+6 ABS ( X * cos b )
|
---|
476 | LDA <Z
|
---|
477 | EORA ,X
|
---|
478 | BPL *+9
|
---|
479 | LDD #0
|
---|
480 | SUBD <Z+6
|
---|
481 | STD <Z+6
|
---|
482 |
|
---|
483 | LDD <Z+4
|
---|
484 | ADDD <Z+6
|
---|
485 | ASLB
|
---|
486 | ROLA
|
---|
487 | BCC *+11
|
---|
488 | STD <Z+4
|
---|
489 | LDD #0
|
---|
490 | SUBD <Z+4
|
---|
491 | ORA #128
|
---|
492 | STA <Z+16 X' = Zsinb + Xcosb
|
---|
493 |
|
---|
494 | **** rotation autour de (xx') ****
|
---|
495 |
|
---|
496 | LDX <Z+12 pointe sur cos (c)
|
---|
497 | LDA <Z+1 ordonnée (Y)
|
---|
498 | LDB ,X
|
---|
499 | ANDA #127
|
---|
500 | ANDB #127
|
---|
501 | MUL
|
---|
502 | STD <Z+4 ABS ( Y * cos c )
|
---|
503 | LDA <Z+1
|
---|
504 | EORA ,X
|
---|
505 | BPL *+9
|
---|
506 | LDD #0
|
---|
507 | SUBD <Z+4
|
---|
508 | STD <Z+4
|
---|
509 |
|
---|
510 | LDA <Z+15 cote (Z)
|
---|
511 | LDB QUAD,X
|
---|
512 | ANDA #127
|
---|
513 | ANDB #127
|
---|
514 | MUL
|
---|
515 | STD <Z+6 ABS ( Z * sin c )
|
---|
516 | LDA <Z+15
|
---|
517 | EORA QUAD,X
|
---|
518 | BPL *+9
|
---|
519 | LDD #0
|
---|
520 | SUBD <Z+6
|
---|
521 | STD <Z+6
|
---|
522 |
|
---|
523 | LDD <Z+4
|
---|
524 | SUBD <Z+6
|
---|
525 | ASLB
|
---|
526 | ROLA
|
---|
527 | BCC *+11
|
---|
528 | STD <Z+4
|
---|
529 | LDD #0
|
---|
530 | SUBD <Z+4
|
---|
531 | ORA #128
|
---|
532 | STA <Z+17 Y' = Ycosc - Zsinc
|
---|
533 |
|
---|
534 | LDD <Z+16
|
---|
535 | ANDA #127
|
---|
536 | CMPA <Z+16
|
---|
537 | BEQ *+3
|
---|
538 | NEGA
|
---|
539 | ABCENT ADDA #0 x centre écran
|
---|
540 | ANDB #127
|
---|
541 | CMPB <Z+17
|
---|
542 | BEQ *+3
|
---|
543 | NEGB
|
---|
544 | ADDB #124 y centre écran
|
---|
545 |
|
---|
546 | STD ,S++ remplit table des
|
---|
547 | DEC <Z+14 coordonnées écran
|
---|
548 | LBNE COORD
|
---|
549 | RS LDS #0
|
---|
550 |
|
---|
551 | LDA <Z+26 nbre de segments
|
---|
552 | STA <Z+14
|
---|
553 | LDY #VIDE-8
|
---|
554 | TRACE LDX #CORDOS
|
---|
555 | LDB ,U+
|
---|
556 | LDD B,X
|
---|
557 | STD <Z+6
|
---|
558 | LDB ,U+
|
---|
559 | LDD B,X trace les segments
|
---|
560 | BSR DRAW entre différentes
|
---|
561 | DEC <Z+14 coordonnées écran
|
---|
562 | BNE TRACE
|
---|
563 |
|
---|
564 | LDD <Z+8
|
---|
565 | ADDD <Z+20
|
---|
566 | CMPD #SINUS+4*QUAD
|
---|
567 | BLO *+5
|
---|
568 | SUBD #4*QUAD
|
---|
569 | STD <Z+8
|
---|
570 | LDD <Z+10
|
---|
571 | ADDD <Z+22
|
---|
572 | CMPD #SINUS+4*QUAD
|
---|
573 | BLO *+5
|
---|
574 | SUBD #4*QUAD
|
---|
575 | STD <Z+10
|
---|
576 | LDD <Z+12
|
---|
577 | ADDD <Z+24
|
---|
578 | CMPD #SINUS+4*QUAD
|
---|
579 | BLO *+5
|
---|
580 | SUBD #4*QUAD
|
---|
581 | STD <Z+12
|
---|
582 | RTS
|
---|
583 |
|
---|
584 |
|
---|
585 | DRAW STD <Z+4
|
---|
586 | CMPA <Z+6 si x1 > x2 alors
|
---|
587 | BLS *+10 permutation
|
---|
588 | LDX <Z+6
|
---|
589 | STX <Z+4
|
---|
590 | STD <Z+6
|
---|
591 | LDB <Z+5
|
---|
592 |
|
---|
593 | CMPB <Z+7
|
---|
594 | LBHI MONTEE quand y1 < y2
|
---|
595 |
|
---|
596 | LDD <Z+6
|
---|
597 | SUBA <Z+4 A = (dx)
|
---|
598 | STA <Z+1
|
---|
599 | SUBB <Z+5 B = (dy)
|
---|
600 | CMPB <Z+1
|
---|
601 | LBHI VERTI1 quand (dy) > (dx)
|
---|
602 |
|
---|
603 | TFR B,A
|
---|
604 | CLRB (dy) / (dx) = 0.?
|
---|
605 | ASLA
|
---|
606 | BCS *+6
|
---|
607 | CMPA <Z+1
|
---|
608 | BLO *+6
|
---|
609 | SUBA <Z+1
|
---|
610 | ORB #128
|
---|
611 | ASLA
|
---|
612 | BCS *+6
|
---|
613 | CMPA <Z+1
|
---|
614 | BLO *+6
|
---|
615 | SUBA <Z+1
|
---|
616 | ORB #64
|
---|
617 | ASLA
|
---|
618 | BCS *+6
|
---|
619 | CMPA <Z+1
|
---|
620 | BLO *+6
|
---|
621 | SUBA <Z+1
|
---|
622 | ORB #32
|
---|
623 | ASLA
|
---|
624 | BCS *+6
|
---|
625 | CMPA <Z+1
|
---|
626 | BLO *+6
|
---|
627 | SUBA <Z+1
|
---|
628 | ORB #16
|
---|
629 | ASLA
|
---|
630 | BCS *+6
|
---|
631 | CMPA <Z+1
|
---|
632 | BLO *+6
|
---|
633 | SUBA <Z+1
|
---|
634 | ORB #8
|
---|
635 | ASLA
|
---|
636 | BCS *+6
|
---|
637 | CMPA <Z+1
|
---|
638 | BLO *+6
|
---|
639 | SUBA <Z+1
|
---|
640 | ORB #4
|
---|
641 | ASLA
|
---|
642 | BCS *+6
|
---|
643 | CMPA <Z+1
|
---|
644 | BLO *+6
|
---|
645 | SUBA <Z+1
|
---|
646 | ORB #2
|
---|
647 | ASLA
|
---|
648 | BCS *+6
|
---|
649 | CMPA <Z+1
|
---|
650 | BLO *+6
|
---|
651 | SUBA <Z+1
|
---|
652 | ORB #1
|
---|
653 | STB MMSEG1+1
|
---|
654 |
|
---|
655 | LDX #ECRAN
|
---|
656 | LDA #40
|
---|
657 | LDB <Z+5
|
---|
658 | MUL
|
---|
659 | LEAX D,X
|
---|
660 | LDB <Z+4
|
---|
661 | LSRB
|
---|
662 | LSRB
|
---|
663 | LSRB
|
---|
664 | ABX
|
---|
665 | LDB <Z+4
|
---|
666 | ANDB #7
|
---|
667 | LDA B,Y
|
---|
668 | STA <Z
|
---|
669 | INC <Z+1
|
---|
670 | CLRB
|
---|
671 |
|
---|
672 | LDA ,X
|
---|
673 | LINE1 ORA <Z
|
---|
674 | DEC <Z+1
|
---|
675 | BNE *+5
|
---|
676 | STA ,X
|
---|
677 | RTS
|
---|
678 | LSR <Z
|
---|
679 | BNE MMSEG1
|
---|
680 | ROR <Z
|
---|
681 | STA ,X+
|
---|
682 | LDA ,X
|
---|
683 | MMSEG1 ADDB #0
|
---|
684 | BCC LINE1
|
---|
685 | STA ,X
|
---|
686 | LEAX 40,X
|
---|
687 | BRA LINE1-2
|
---|
688 |
|
---|
689 | VERTI1 STB <Z+1
|
---|
690 | CLRB (dx) / (dy) = 0.?
|
---|
691 | ASLA
|
---|
692 | BCS *+6
|
---|
693 | CMPA <Z+1
|
---|
694 | BLO *+6
|
---|
695 | SUBA <Z+1
|
---|
696 | ORB #128
|
---|
697 | ASLA
|
---|
698 | BCS *+6
|
---|
699 | CMPA <Z+1
|
---|
700 | BLO *+6
|
---|
701 | SUBA <Z+1
|
---|
702 | ORB #64
|
---|
703 | ASLA
|
---|
704 | BCS *+6
|
---|
705 | CMPA <Z+1
|
---|
706 | BLO *+6
|
---|
707 | SUBA <Z+1
|
---|
708 | ORB #32
|
---|
709 | ASLA
|
---|
710 | BCS *+6
|
---|
711 | CMPA <Z+1
|
---|
712 | BLO *+6
|
---|
713 | SUBA <Z+1
|
---|
714 | ORB #16
|
---|
715 | ASLA
|
---|
716 | BCS *+6
|
---|
717 | CMPA <Z+1
|
---|
718 | BLO *+6
|
---|
719 | SUBA <Z+1
|
---|
720 | ORB #8
|
---|
721 | ASLA
|
---|
722 | BCS *+6
|
---|
723 | CMPA <Z+1
|
---|
724 | BLO *+6
|
---|
725 | SUBA <Z+1
|
---|
726 | ORB #4
|
---|
727 | ASLA
|
---|
728 | BCS *+6
|
---|
729 | CMPA <Z+1
|
---|
730 | BLO *+6
|
---|
731 | SUBA <Z+1
|
---|
732 | ORB #2
|
---|
733 | ASLA
|
---|
734 | BCS *+6
|
---|
735 | CMPA <Z+1
|
---|
736 | BLO *+6
|
---|
737 | SUBA <Z+1
|
---|
738 | ORB #1
|
---|
739 | STB VIRG1+1
|
---|
740 |
|
---|
741 | LDX #ECRAN
|
---|
742 | LDA #40
|
---|
743 | LDB <Z+5
|
---|
744 | MUL
|
---|
745 | LEAX D,X
|
---|
746 | LDB <Z+4
|
---|
747 | LSRB
|
---|
748 | LSRB
|
---|
749 | LSRB
|
---|
750 | ABX
|
---|
751 | LDB <Z+4
|
---|
752 | ANDB #7
|
---|
753 | LDA B,Y
|
---|
754 | STA <Z
|
---|
755 | INC <Z+1
|
---|
756 | CLRB
|
---|
757 |
|
---|
758 | LINE2 LDA ,X
|
---|
759 | ORA <Z
|
---|
760 | STA ,X
|
---|
761 | LEAX 40,X
|
---|
762 | DEC <Z+1
|
---|
763 | BNE *+3
|
---|
764 | RTS
|
---|
765 | VIRG1 ADDB #0
|
---|
766 | BCC LINE2
|
---|
767 | LSR <Z
|
---|
768 | BNE LINE2
|
---|
769 | ROR <Z
|
---|
770 | LEAX 1,X
|
---|
771 | BRA LINE2
|
---|
772 |
|
---|
773 | MONTEE LDD <Z+6
|
---|
774 | SUBA <Z+4 A = (dx)
|
---|
775 | STA <Z+1
|
---|
776 | LDB <Z+5
|
---|
777 | SUBB <Z+7 B = (dy)
|
---|
778 | CMPB <Z+1
|
---|
779 | LBHI VERTI2 quand (dy) > (dx)
|
---|
780 |
|
---|
781 | TFR B,A
|
---|
782 | CLRB (dy) / (dx) = 0.?
|
---|
783 | ASLA
|
---|
784 | BCS *+6
|
---|
785 | CMPA <Z+1
|
---|
786 | BLO *+6
|
---|
787 | SUBA <Z+1
|
---|
788 | ORB #128
|
---|
789 | ASLA
|
---|
790 | BCS *+6
|
---|
791 | CMPA <Z+1
|
---|
792 | BLO *+6
|
---|
793 | SUBA <Z+1
|
---|
794 | ORB #64
|
---|
795 | ASLA
|
---|
796 | BCS *+6
|
---|
797 | CMPA <Z+1
|
---|
798 | BLO *+6
|
---|
799 | SUBA <Z+1
|
---|
800 | ORB #32
|
---|
801 | ASLA
|
---|
802 | BCS *+6
|
---|
803 | CMPA <Z+1
|
---|
804 | BLO *+6
|
---|
805 | SUBA <Z+1
|
---|
806 | ORB #16
|
---|
807 | ASLA
|
---|
808 | BCS *+6
|
---|
809 | CMPA <Z+1
|
---|
810 | BLO *+6
|
---|
811 | SUBA <Z+1
|
---|
812 | ORB #8
|
---|
813 | ASLA
|
---|
814 | BCS *+6
|
---|
815 | CMPA <Z+1
|
---|
816 | BLO *+6
|
---|
817 | SUBA <Z+1
|
---|
818 | ORB #4
|
---|
819 | ASLA
|
---|
820 | BCS *+6
|
---|
821 | CMPA <Z+1
|
---|
822 | BLO *+6
|
---|
823 | SUBA <Z+1
|
---|
824 | ORB #2
|
---|
825 | ASLA
|
---|
826 | BCS *+6
|
---|
827 | CMPA <Z+1
|
---|
828 | BLO *+6
|
---|
829 | SUBA <Z+1
|
---|
830 | ORB #1
|
---|
831 | STB MMSEG2+1
|
---|
832 |
|
---|
833 | LDX #ECRAN
|
---|
834 | LDA #40
|
---|
835 | LDB <Z+5
|
---|
836 | MUL
|
---|
837 | LEAX D,X
|
---|
838 | LDB <Z+4
|
---|
839 | LSRB
|
---|
840 | LSRB
|
---|
841 | LSRB
|
---|
842 | ABX
|
---|
843 | LDB <Z+4
|
---|
844 | ANDB #7
|
---|
845 | LDA B,Y
|
---|
846 | STA <Z
|
---|
847 | INC <Z+1
|
---|
848 | CLRB
|
---|
849 |
|
---|
850 | LDA ,X
|
---|
851 | LINE3 ORA <Z
|
---|
852 | DEC <Z+1
|
---|
853 | BNE *+5
|
---|
854 | STA ,X
|
---|
855 | RTS
|
---|
856 | LSR <Z
|
---|
857 | BNE MMSEG2
|
---|
858 | ROR <Z
|
---|
859 | STA ,X+
|
---|
860 | LDA ,X
|
---|
861 | MMSEG2 ADDB #0
|
---|
862 | BCC LINE3
|
---|
863 | STA ,X
|
---|
864 | LEAX -40,X
|
---|
865 | BRA LINE3-2
|
---|
866 |
|
---|
867 | VERTI2 STB <Z+1
|
---|
868 | CLRB (dx) / (dy) = 0.?
|
---|
869 | ASLA
|
---|
870 | BCS *+6
|
---|
871 | CMPA <Z+1
|
---|
872 | BLO *+6
|
---|
873 | SUBA <Z+1
|
---|
874 | ORB #128
|
---|
875 | ASLA
|
---|
876 | BCS *+6
|
---|
877 | CMPA <Z+1
|
---|
878 | BLO *+6
|
---|
879 | SUBA <Z+1
|
---|
880 | ORB #64
|
---|
881 | ASLA
|
---|
882 | BCS *+6
|
---|
883 | CMPA <Z+1
|
---|
884 | BLO *+6
|
---|
885 | SUBA <Z+1
|
---|
886 | ORB #32
|
---|
887 | ASLA
|
---|
888 | BCS *+6
|
---|
889 | CMPA <Z+1
|
---|
890 | BLO *+6
|
---|
891 | SUBA <Z+1
|
---|
892 | ORB #16
|
---|
893 | ASLA
|
---|
894 | BCS *+6
|
---|
895 | CMPA <Z+1
|
---|
896 | BLO *+6
|
---|
897 | SUBA <Z+1
|
---|
898 | ORB #8
|
---|
899 | ASLA
|
---|
900 | BCS *+6
|
---|
901 | CMPA <Z+1
|
---|
902 | BLO *+6
|
---|
903 | SUBA <Z+1
|
---|
904 | ORB #4
|
---|
905 | ASLA
|
---|
906 | BCS *+6
|
---|
907 | CMPA <Z+1
|
---|
908 | BLO *+6
|
---|
909 | SUBA <Z+1
|
---|
910 | ORB #2
|
---|
911 | ASLA
|
---|
912 | BCS *+6
|
---|
913 | CMPA <Z+1
|
---|
914 | BLO *+6
|
---|
915 | SUBA <Z+1
|
---|
916 | ORB #1
|
---|
917 | STB VIRG2+1
|
---|
918 |
|
---|
919 | LDX #ECRAN
|
---|
920 | LDA #40
|
---|
921 | LDB <Z+5
|
---|
922 | MUL
|
---|
923 | LEAX D,X
|
---|
924 | LDB <Z+4
|
---|
925 | LSRB
|
---|
926 | LSRB
|
---|
927 | LSRB
|
---|
928 | ABX
|
---|
929 | LDB <Z+4
|
---|
930 | ANDB #7
|
---|
931 | LDA B,Y
|
---|
932 | STA <Z
|
---|
933 | INC <Z+1
|
---|
934 | CLRB
|
---|
935 |
|
---|
936 | LINE4 LDA ,X
|
---|
937 | ORA <Z
|
---|
938 | STA ,X
|
---|
939 | LEAX -40,X
|
---|
940 | DEC <Z+1
|
---|
941 | BNE *+3
|
---|
942 | RTS
|
---|
943 | VIRG2 ADDB #0
|
---|
944 | BCC LINE4
|
---|
945 | LSR <Z
|
---|
946 | BNE LINE4
|
---|
947 | ROR <Z
|
---|
948 | LEAX 1,X
|
---|
949 | BRA LINE4
|
---|
950 |
|
---|
951 | FDB $8040,$2010,$0804,$0201
|
---|
952 | VIDE FDB 0,0,0,0
|
---|
953 |
|
---|
954 | DEFOBJ STU <Z+29
|
---|
955 | LDX 12,U couleur de l'objet
|
---|
956 | LEAY ,X
|
---|
957 | LDA #15
|
---|
958 | JSR $EC00
|
---|
959 | LDX #CENTRE
|
---|
960 | LDA 14,U
|
---|
961 | BMI *+5
|
---|
962 | LDX #CENTRE+512
|
---|
963 | STX <Z+27 type déplacement
|
---|
964 | LEAX 512,X
|
---|
965 | STX VITCEN+3 et
|
---|
966 | ANDA #127
|
---|
967 | STA VITCEN+1 vitesse du centre
|
---|
968 | LEAU 15,U
|
---|
969 | PULU D,X,Y
|
---|
970 | STD <Z+8 angle A
|
---|
971 | STX <Z+10 angle B
|
---|
972 | STY <Z+12 angle C
|
---|
973 | PULU D,X,Y
|
---|
974 | STD <Z+20 vit-A
|
---|
975 | STX <Z+22 vit-B
|
---|
976 | STY <Z+24 vit-C
|
---|
977 | LDA ,U+
|
---|
978 | STA <Z+26 nombre de segments
|
---|
979 | PULU X
|
---|
980 | STX <Z+38 attente objet
|
---|
981 | STU <Z+18
|
---|
982 | NEWSCR BSR VIDECR
|
---|
983 | LDA $E7E5
|
---|
984 | EORA #1
|
---|
985 | STA $E7E5
|
---|
986 | BSR VIDECR
|
---|
987 | LDA $E7E5
|
---|
988 | EORA #1
|
---|
989 | STA $E7E5
|
---|
990 | RTS
|
---|
991 |
|
---|
992 | VIDECR STS EDITOR-3
|
---|
993 | LDA #HAUT/12-1
|
---|
994 | STA <Z
|
---|
995 | LDU #VIDE
|
---|
996 | PULU D,X,Y,S
|
---|
997 | LDU #ECRAN+(HAUT+28)*40
|
---|
998 | KILALL FCC /6v6v6v6v6v6v6v6v6v6v/
|
---|
999 | FCC /6v6v6v6v6v6v6v6v6v6v/
|
---|
1000 | FCC /6v6v6v6v6v6v6v6v6v6v/
|
---|
1001 | FCC /6v6v6v6v6v6v6v6v6v6v/
|
---|
1002 | FCC /6v6v6v6v6v6v6v6v6v6v/
|
---|
1003 | FCC /6v6v6v6v6v6v6v6v6v6v/
|
---|
1004 | DEC <Z
|
---|
1005 | BNE KILALL
|
---|
1006 | FCC /6v6v6v6v6v6v6v6v6v6v/
|
---|
1007 | LDS #0
|
---|
1008 | RTS
|
---|
1009 |
|
---|
1010 | EDITOR LDA #$C0
|
---|
1011 | STA $E7DD
|
---|
1012 | LDX #$2000 couleur Editeur
|
---|
1013 | LDA ,X+
|
---|
1014 | ANDA #120
|
---|
1015 | CMPA #56
|
---|
1016 | BNE *+10
|
---|
1017 | LDA $9FFF,X forme Démo
|
---|
1018 | STA $DFFF,X forme Editeur
|
---|
1019 | CMPX #$3DD8
|
---|
1020 | BNE EDITOR+8
|
---|
1021 | LDA #10
|
---|
1022 | STA <Z+6
|
---|
1023 | LDX #$274 angles
|
---|
1024 | LDU <Z+12
|
---|
1025 | LEAU -SINUS,U
|
---|
1026 | LDA #3
|
---|
1027 | JSR WRITE
|
---|
1028 | LDX #$38C
|
---|
1029 | LDU <Z+10
|
---|
1030 | LEAU -SINUS,U
|
---|
1031 | LDA #3
|
---|
1032 | JSR WRITE
|
---|
1033 | LDX #$4A4
|
---|
1034 | LDU <Z+8
|
---|
1035 | LEAU -SINUS,U
|
---|
1036 | LDA #3
|
---|
1037 | JSR WRITE
|
---|
1038 | LDX #$18F3 attentes
|
---|
1039 | LDU <Z+32
|
---|
1040 | LDA #3
|
---|
1041 | JSR WRITE
|
---|
1042 | LDX #$1A0B
|
---|
1043 | LDU <Z+38
|
---|
1044 | LDA #4
|
---|
1045 | JSR WRITE
|
---|
1046 | LDX #$1636 vitesse centre
|
---|
1047 | LDB VITCEN+1
|
---|
1048 | CLRA
|
---|
1049 | TFR D,U
|
---|
1050 | LDA #1
|
---|
1051 | JSR WRITE
|
---|
1052 | INC <Z+6
|
---|
1053 | LDX #$25B nombre de segments
|
---|
1054 | LDB <Z+26
|
---|
1055 | CLRA
|
---|
1056 | TFR D,U
|
---|
1057 | LDA #2
|
---|
1058 | JSR WRITE
|
---|
1059 | LDU <Z+18
|
---|
1060 | LDB -3,U
|
---|
1061 | STB LINKS+5
|
---|
1062 | LDB #14
|
---|
1063 | STB <Z+6
|
---|
1064 | LDX #$7E8 vitesses rotation
|
---|
1065 | LDU <Z+24
|
---|
1066 | LDA #3
|
---|
1067 | JSR WRITE
|
---|
1068 | LDX #$900
|
---|
1069 | LDU <Z+22
|
---|
1070 | LDA #3
|
---|
1071 | JSR WRITE
|
---|
1072 | LDX #$A18
|
---|
1073 | LDU <Z+20
|
---|
1074 | LDA #3
|
---|
1075 | JSR WRITE
|
---|
1076 | LDX #$151F type dplcmt centre
|
---|
1077 | LDY #CENTR2-19
|
---|
1078 | CLR LINKS+125
|
---|
1079 | LDU VITCEN+3
|
---|
1080 | CMPU #CENTRE+512
|
---|
1081 | BEQ *+7
|
---|
1082 | INC LINKS+125
|
---|
1083 | LEAY 10,Y
|
---|
1084 | LDB ,Y+
|
---|
1085 | BMI *+7
|
---|
1086 | JSR PUTC
|
---|
1087 | BRA *-7
|
---|
1088 | LDX #$48B objet courant
|
---|
1089 | LDY <Z+29
|
---|
1090 | LDB ,Y+
|
---|
1091 | JSR PUTC
|
---|
1092 | CMPX #$493
|
---|
1093 | BNE *-8
|
---|
1094 | LDX #$675 liste objets
|
---|
1095 | LDY #LINKS+40
|
---|
1096 | LDU ,Y
|
---|
1097 | STS ZEBEST+2
|
---|
1098 | LDA #6
|
---|
1099 | STA <Z+1
|
---|
1100 | STU ,Y
|
---|
1101 | LDA #8
|
---|
1102 | STA <Z
|
---|
1103 | NOMOBJ LDB ,U+
|
---|
1104 | LDS #FONTES
|
---|
1105 | LDA #5
|
---|
1106 | MUL
|
---|
1107 | LEAS D,S
|
---|
1108 | PULS D
|
---|
1109 | STA -80,X
|
---|
1110 | STB -40,X
|
---|
1111 | PULS D
|
---|
1112 | STA ,X+
|
---|
1113 | STB 39,X
|
---|
1114 | LDA ,S
|
---|
1115 | STA 79,X
|
---|
1116 | DEC <Z
|
---|
1117 | BNE NOMOBJ
|
---|
1118 | LEAX 272,X
|
---|
1119 | LEAY 12,Y
|
---|
1120 | LDU 2,U
|
---|
1121 | DEC <Z+1
|
---|
1122 | BNE NOMOBJ-6
|
---|
1123 | ZEBEST LDS #0
|
---|
1124 | LDA #15
|
---|
1125 | LDX #-1
|
---|
1126 | LEAY 1,X
|
---|
1127 | JSR $EC00
|
---|
1128 | STX <Z
|
---|
1129 | LDX #$37B palette
|
---|
1130 | LDB <Z
|
---|
1131 | ANDB #15
|
---|
1132 | ADDB #12
|
---|
1133 | JSR PUTC
|
---|
1134 | LDB <Z+1
|
---|
1135 | LSRB
|
---|
1136 | LSRB
|
---|
1137 | LSRB
|
---|
1138 | LSRB
|
---|
1139 | ADDB #12
|
---|
1140 | JSR PUTC
|
---|
1141 | LDB <Z+1
|
---|
1142 | ANDB #15
|
---|
1143 | ADDB #12
|
---|
1144 | JSR PUTC
|
---|
1145 | CLR $E7DD
|
---|
1146 | LDB #0
|
---|
1147 | STB <Z+14
|
---|
1148 | LDA <Z+14
|
---|
1149 | ARROWS LDY #LINKS
|
---|
1150 | STA <Z+14
|
---|
1151 | LDB #12
|
---|
1152 | MUL
|
---|
1153 | LEAY D,Y
|
---|
1154 | LDX ,Y
|
---|
1155 | LDA 2,Y
|
---|
1156 | STA <Z+6
|
---|
1157 | BSR INVERS
|
---|
1158 | LDA <Z+6
|
---|
1159 | CLAV JSR $E806
|
---|
1160 | CMPB #13
|
---|
1161 | BNE NOEXIT
|
---|
1162 | BSR INVERS
|
---|
1163 | LDA 3,Y
|
---|
1164 | BEQ NOEXIT-3
|
---|
1165 | LDX ,Y
|
---|
1166 | LDU 4,Y
|
---|
1167 | JSR READ
|
---|
1168 | JMP [6,Y]
|
---|
1169 | NOEXIT CMPB #2
|
---|
1170 | BNE *+15
|
---|
1171 | LDB <Z+14
|
---|
1172 | STB ARROWS-5
|
---|
1173 | BSR INVERS
|
---|
1174 | JSR NEWSCR
|
---|
1175 | JMP BIGBCL
|
---|
1176 | SUBB #8
|
---|
1177 | CMPB #3
|
---|
1178 | BHI CLAV
|
---|
1179 | BSR INVERS
|
---|
1180 | TSTB
|
---|
1181 | BNE *+6
|
---|
1182 | LDA 11,Y
|
---|
1183 | BRA ARROWS
|
---|
1184 | CMPB #1
|
---|
1185 | BNE *+6
|
---|
1186 | LDA 9,Y
|
---|
1187 | BRA ARROWS
|
---|
1188 | CMPB #2
|
---|
1189 | BNE *+6
|
---|
1190 | LDA 10,Y
|
---|
1191 | BRA ARROWS
|
---|
1192 | LDA 8,Y
|
---|
1193 | BRA ARROWS
|
---|
1194 |
|
---|
1195 | INVERS PSHS X
|
---|
1196 | TST $E7E7
|
---|
1197 | BPL *-3
|
---|
1198 | TST $E7E7
|
---|
1199 | BMI *-3
|
---|
1200 | COM -120,X
|
---|
1201 | COM -80,X
|
---|
1202 | COM -40,X
|
---|
1203 | COM ,X+
|
---|
1204 | COM 39,X
|
---|
1205 | COM 79,X
|
---|
1206 | COM 119,X
|
---|
1207 | DECA
|
---|
1208 | BNE INVERS+12
|
---|
1209 | PULS X,PC
|
---|
1210 |
|
---|
1211 | COLOUR LDX #$37E
|
---|
1212 | LDA #3
|
---|
1213 | LEAX -1,X
|
---|
1214 | CLRB
|
---|
1215 | STB -80,X
|
---|
1216 | STB -40,X
|
---|
1217 | STB ,X
|
---|
1218 | STB 40,X
|
---|
1219 | LDB #127
|
---|
1220 | STB 80,X
|
---|
1221 | DECA
|
---|
1222 | BNE COLOUR+5
|
---|
1223 | LDY #DIR*256+Z
|
---|
1224 | GETKEY JSR $E806
|
---|
1225 | SUBB #48
|
---|
1226 | CMPB #10
|
---|
1227 | BLO *+12
|
---|
1228 | SUBB #7
|
---|
1229 | CMPB #10
|
---|
1230 | BLO GETKEY
|
---|
1231 | CMPB #15
|
---|
1232 | BHI GETKEY
|
---|
1233 | STB ,Y+
|
---|
1234 | ADDB #12
|
---|
1235 | JSR PUTC
|
---|
1236 | CMPY #DIR*256+Z+3
|
---|
1237 | BNE GETKEY
|
---|
1238 | LDB <Z+1
|
---|
1239 | ASLB
|
---|
1240 | ASLB
|
---|
1241 | ASLB
|
---|
1242 | ASLB
|
---|
1243 | ADDB <Z+2
|
---|
1244 | LDA <Z
|
---|
1245 | TFR D,X
|
---|
1246 | LEAY ,X
|
---|
1247 | LDA #15
|
---|
1248 | JSR $EC00
|
---|
1249 | JMP ARROWS-2
|
---|
1250 | NOBJ LDU 4,Y
|
---|
1251 | JSR DEFOBJ
|
---|
1252 | JMP BIGBCL
|
---|
1253 | SCROLL LDX #$675
|
---|
1254 | LDY #LINKS+3*12+4
|
---|
1255 | STS ARETES-5
|
---|
1256 | LDA <Z+14
|
---|
1257 | LDS ,Y premier actuel
|
---|
1258 | LDU 8,S précédent
|
---|
1259 | CMPA #9
|
---|
1260 | BNE *+4
|
---|
1261 | LDU 10,S suivant
|
---|
1262 | LDA #6
|
---|
1263 | STA <Z+1
|
---|
1264 | TST $E7E7
|
---|
1265 | BPL *-3
|
---|
1266 | TST $E7E7
|
---|
1267 | BMI *-3
|
---|
1268 | STU ,Y
|
---|
1269 | LDA #8
|
---|
1270 | STA <Z
|
---|
1271 | AFNAME LDB ,U+
|
---|
1272 | LDS #FONTES
|
---|
1273 | LDA #5
|
---|
1274 | MUL
|
---|
1275 | LEAS D,S
|
---|
1276 | PULS D
|
---|
1277 | STA -80,X
|
---|
1278 | STB -40,X
|
---|
1279 | PULS D
|
---|
1280 | STA ,X+
|
---|
1281 | STB 39,X
|
---|
1282 | LDA ,S
|
---|
1283 | STA 79,X
|
---|
1284 | DEC <Z
|
---|
1285 | BNE AFNAME
|
---|
1286 | LEAX 272,X
|
---|
1287 | LEAY 12,Y
|
---|
1288 | LDU 2,U
|
---|
1289 | DEC <Z+1
|
---|
1290 | BNE AFNAME-6
|
---|
1291 | LDS #0
|
---|
1292 | JMP ARROWS-2
|
---|
1293 | ARETES STB <Z+26
|
---|
1294 | JMP ARROWS-2
|
---|
1295 | WAITS TFR D,U
|
---|
1296 | LDA <Z+14
|
---|
1297 | CMPA #19
|
---|
1298 | BNE *+7
|
---|
1299 | STU <Z+38
|
---|
1300 | JMP ARROWS
|
---|
1301 | LDX <Z+32
|
---|
1302 | BEQ *+4
|
---|
1303 | STU <Z+32
|
---|
1304 | STU WAITXT+1
|
---|
1305 | JMP ARROWS
|
---|
1306 | CENTR1 INC 5,Y
|
---|
1307 | LDA 5,Y
|
---|
1308 | LDY #CENTR2-19
|
---|
1309 | LDU #CENTRE
|
---|
1310 | LEAX 1,X
|
---|
1311 | BITA #1
|
---|
1312 | BEQ *+7
|
---|
1313 | LEAY 10,Y
|
---|
1314 | LDU #CENTRE+512
|
---|
1315 | STU <Z+27
|
---|
1316 | LEAU 512,U
|
---|
1317 | STU VITCEN+3
|
---|
1318 | TST $E7E7
|
---|
1319 | BPL *-3
|
---|
1320 | TST $E7E7
|
---|
1321 | BMI *-3
|
---|
1322 | LDB ,Y+
|
---|
1323 | BMI *+7
|
---|
1324 | JSR PUTC
|
---|
1325 | BRA *-7
|
---|
1326 | JMP ARROWS-2
|
---|
1327 | FCB 37,30,35,28,0,37,36,35,28
|
---|
1328 | FCB $F7 pingpong/sinusoïde
|
---|
1329 | FCB 40,30,35,42,40,36,30,25,26
|
---|
1330 | CENTR2 STB VITCEN+1
|
---|
1331 | JMP ARROWS-2
|
---|
1332 | ANGLES LDU #SINUS
|
---|
1333 | LEAU D,U
|
---|
1334 | LDB <Z+14
|
---|
1335 | ASLB
|
---|
1336 | NEGB
|
---|
1337 | SUBB #220
|
---|
1338 | LDX #DIR*256+Z
|
---|
1339 | ABX
|
---|
1340 | STU ,X
|
---|
1341 | JMP ARROWS-2
|
---|
1342 | SPEEDS TFR D,U
|
---|
1343 | LDB <Z+14
|
---|
1344 | ASLB
|
---|
1345 | NEGB
|
---|
1346 | SUBB #202
|
---|
1347 | LDX #DIR*256+Z
|
---|
1348 | ABX
|
---|
1349 | STU ,X
|
---|
1350 | JMP ARROWS-2
|
---|
1351 |
|
---|
1352 | PUTC LDU #FONTES
|
---|
1353 | LDA #5
|
---|
1354 | MUL
|
---|
1355 | LEAU D,U
|
---|
1356 | PULU D
|
---|
1357 | STA -80,X
|
---|
1358 | STB -40,X
|
---|
1359 | PULU D
|
---|
1360 | STA ,X+
|
---|
1361 | STB 39,X
|
---|
1362 | LDA ,U
|
---|
1363 | STA 79,X
|
---|
1364 | RTS
|
---|
1365 |
|
---|
1366 | READ PSHS X,Y
|
---|
1367 | STA <Z+7
|
---|
1368 | STU <Z
|
---|
1369 | LDB <Z+6
|
---|
1370 | ABX
|
---|
1371 | EFF LEAX -1,X
|
---|
1372 | CLRB
|
---|
1373 | STB -80,X
|
---|
1374 | STB -40,X
|
---|
1375 | STB ,X
|
---|
1376 | STB 40,X
|
---|
1377 | LDB #127
|
---|
1378 | STB 80,X
|
---|
1379 | DECA
|
---|
1380 | BNE EFF
|
---|
1381 |
|
---|
1382 | CLR <Z+2
|
---|
1383 | CLR <Z+3
|
---|
1384 | CLR <Z+4
|
---|
1385 | LDY #DIR*256+Z
|
---|
1386 | LDA #6
|
---|
1387 | SUBA <Z+7
|
---|
1388 | LEAY A,Y
|
---|
1389 | INKEY JSR $E806
|
---|
1390 | SUBB #48
|
---|
1391 | CMPB #9
|
---|
1392 | BHI INKEY
|
---|
1393 | STB ,Y+
|
---|
1394 | ADDB #12
|
---|
1395 | JSR PUTC
|
---|
1396 | CMPY #DIR*256+Z+6
|
---|
1397 | BNE INKEY
|
---|
1398 |
|
---|
1399 | LDA <Z+2
|
---|
1400 | LDB #10
|
---|
1401 | MUL
|
---|
1402 | ADDB <Z+3
|
---|
1403 | LDA #100
|
---|
1404 | MUL
|
---|
1405 | STD <Z+2
|
---|
1406 | LDA <Z+4
|
---|
1407 | LDB #10
|
---|
1408 | MUL
|
---|
1409 | ADDB <Z+5
|
---|
1410 | ADDD <Z+2
|
---|
1411 | STD <Z+2
|
---|
1412 |
|
---|
1413 | LDD <Z
|
---|
1414 | BITA #128
|
---|
1415 | BEQ *+10
|
---|
1416 | ANDA #127 si nul -> égal à 1
|
---|
1417 | LDX <Z+2
|
---|
1418 | BNE *+4
|
---|
1419 | INC <Z+3
|
---|
1420 | CMPD <Z+2
|
---|
1421 | BHI *+4
|
---|
1422 | STD <Z+2
|
---|
1423 | PULS X,Y
|
---|
1424 | LDU <Z+2
|
---|
1425 | LDA <Z+7
|
---|
1426 |
|
---|
1427 | WRITE PSHS X,Y
|
---|
1428 | STU <Z
|
---|
1429 | CLR <Z+2
|
---|
1430 | CLR <Z+3
|
---|
1431 | CLR <Z+4
|
---|
1432 | STA <Z+7
|
---|
1433 | TFR U,D
|
---|
1434 | MIL CMPD #1000
|
---|
1435 | BLO CENT
|
---|
1436 | SUBD #1000
|
---|
1437 | INC <Z+2
|
---|
1438 | BRA MIL
|
---|
1439 | CENT CMPD #100
|
---|
1440 | BLO DIX
|
---|
1441 | SUBD #100
|
---|
1442 | INC <Z+3
|
---|
1443 | BRA CENT
|
---|
1444 | DIX CMPB #10
|
---|
1445 | BLO *+8
|
---|
1446 | SUBB #10
|
---|
1447 | INC <Z+4
|
---|
1448 | BRA DIX
|
---|
1449 | STB <Z+5
|
---|
1450 |
|
---|
1451 | LDB <Z+6
|
---|
1452 | SUBB <Z+7
|
---|
1453 | ABX
|
---|
1454 | LDY #DIR*256+Z
|
---|
1455 | LDA #6
|
---|
1456 | SUBA <Z+7
|
---|
1457 | LEAY A,Y
|
---|
1458 | LDB ,Y
|
---|
1459 | BNE ECHO
|
---|
1460 | CMPY #DIR*256+Z+5
|
---|
1461 | BEQ ECHO
|
---|
1462 | JSR PUTC
|
---|
1463 | LEAY 1,Y
|
---|
1464 | BRA *-15
|
---|
1465 | ECHO LDB ,Y+
|
---|
1466 | ADDB #12
|
---|
1467 | JSR PUTC
|
---|
1468 | CMPY #DIR*256+Z+6
|
---|
1469 | BNE *-11
|
---|
1470 | LDD <Z
|
---|
1471 | PULS PC,X,Y
|
---|
1472 |
|
---|
1473 | FDB 0,256,512,768,$400,$500
|
---|
1474 | FDB $600,273,546,819,239,207
|
---|
1475 | FDB 175,143,111,4095
|
---|
1476 | FDB 0,15,240,255,3840
|
---|
1477 | FDB 3855,4080,4095,1911,826
|
---|
1478 | FDB 931,938,2611,2618,3815,123
|
---|
1479 | MAP
|
---|
1480 | END
|
---|