mirror of
https://github.com/antoinevignau/source.git
synced 2025-01-16 06:29:46 +00:00
4d4fb6a665
Some old (WIP) disassemblies and my own source code now available online.
892 lines
19 KiB
Plaintext
892 lines
19 KiB
Plaintext
0010 .LI OFF
|
|
0020 TEMP1 .EQ $F0
|
|
0030 TEMP2 .EQ $F1
|
|
0040 TEMP3 .EQ $F2
|
|
0050 TEMP4 .EQ $FF
|
|
0060 P1 .EQ $E1
|
|
0070 P2 .EQ $E2
|
|
0080 P3 .EQ $E3
|
|
0090 P4 .EQ $E4
|
|
0100 M1 .EQ $E5
|
|
0110 M2 .EQ $E6
|
|
0120 M3 .EQ $E7
|
|
0130 M4 .EQ $E8
|
|
0140 SCRPNT1 .EQ $F5
|
|
0150 SCRPNT2 .EQ $F7
|
|
0160 POINTER1 .EQ $F9
|
|
0170 POINTER2 .EQ $FB
|
|
0180 POINTER3 .EQ $FD
|
|
0190 POINTER4 .EQ $EE
|
|
0200 MANX .EQ $FE0
|
|
0210 MANXX .EQ $FE1
|
|
0220 MANY .EQ $FE2
|
|
0230 MANSTATE .EQ $FE4
|
|
0240 HEIGHT .EQ $FE7
|
|
0250 WIDTH .EQ $FBF
|
|
0260 PATINDEX .EQ $FEB
|
|
0270 AAMSBYT .EQ $10C0
|
|
0280 AALSBYT .EQ $10E0
|
|
0290 ANTORIENT .EQ $110A
|
|
0300 ANTX .EQ $1104
|
|
0310 ANTY .EQ $1105
|
|
0320 ANTXX .EQ $1106
|
|
0330 ANTBYT1 .EQ $1000
|
|
0340 ANTBYT2 .EQ $1020
|
|
0350 ANTBYT3 .EQ $1040
|
|
0360 ANTDIR .EQ $1100
|
|
0370 K4 .EQ $FDF
|
|
0380 INIT.K4 .EQ $FDE
|
|
0390 PARALYZE .EQ $FDD
|
|
0400 WASPSTATE .EQ $FDC
|
|
0410 WASPY .EQ $FDB
|
|
0420 WASPXX .EQ $FDA
|
|
0430 WASPX .EQ $FD9
|
|
0440 DESTY .EQ $FD8
|
|
0450 DESTX .EQ $FD7
|
|
0460 WASP.SPLAT.COUNT .EQ $FD6
|
|
0470 WASP.CHANCE .EQ $FD5
|
|
0480 FLAP .EQ $FD4
|
|
0490 WASPDEST .EQ $FD3
|
|
0500 RANDOM1.Z .EQ $1706
|
|
0510 RANDOM2.Z .EQ $1709
|
|
0520 PLOT.WEB.Z .EQ $6009
|
|
0530 STING.MAN.Z .EQ $600F
|
|
0540 PLOT.ANT.Z .EQ $1712
|
|
0550 K1.Z .EQ $4F0C
|
|
0560 .OR $5803
|
|
0570 .TA $3803
|
|
0580 JMP INITIALIZE.WASP
|
|
0590 JMP WASP.MASTER
|
|
0600 .BS $03
|
|
0610 JMP VACATE.WASPS.BLOCKS
|
|
0620 JMP PLOT.WASP
|
|
0630 .BS $06
|
|
0640 PLOT.WASP
|
|
0650 LDA #$0B
|
|
0660 STA HEIGHT
|
|
0670 LDA WASPSTATE
|
|
0680 CMP #$05
|
|
0690 BNE .1
|
|
0700 LDY WASPY
|
|
0710 STY TEMP1
|
|
0720 .5 LDA #$04
|
|
0730 STA WIDTH
|
|
0740 LDY TEMP1
|
|
0750 LDA (SCRPNT1),Y
|
|
0760 STA POINTER2+1
|
|
0770 CLC
|
|
0780 ADC #$60
|
|
0790 STA POINTER4+1
|
|
0800 LDA (SCRPNT2),Y
|
|
0810 STA POINTER2
|
|
0820 STA POINTER4
|
|
0830 LDY WASPX
|
|
0840 .4 CPY #$2C
|
|
0850 BCS .10
|
|
0860 CPY #$04
|
|
0870 BCC .9
|
|
0880 LDA (POINTER4),Y
|
|
0890 STA (POINTER2),Y
|
|
0900 .9 INY
|
|
0910 DEC WIDTH
|
|
0920 BNE .4
|
|
0930 .10 INC TEMP1
|
|
0940 DEC HEIGHT
|
|
0950 BNE .5
|
|
0960 RTS
|
|
0970 .1 CMP #$04
|
|
0980 BNE .2
|
|
0990 LDA #$00
|
|
1000 STA FLAP
|
|
1010 .2 LDA FLAP
|
|
1020 AND #$01
|
|
1030 CLC
|
|
1040 ADC WASPSTATE
|
|
1050 TAX
|
|
1060 LDA #$40
|
|
1070 STA POINTER2+1
|
|
1080 LDA TABLE60,X
|
|
1090 STA POINTER2
|
|
1100 LDA TABLE74,X
|
|
1110 STA POINTER3+1
|
|
1120 LDA TABLE75,X
|
|
1130 STA POINTER3
|
|
1140 LDA WASPY
|
|
1150 STA TEMP1
|
|
1160 LDA #$00
|
|
1170 STA PATINDEX
|
|
1180 EXT1
|
|
1190 .3 LDY TEMP1
|
|
1200 LDA (SCRPNT1),Y
|
|
1210 STA POINTER1+1
|
|
1220 CLC
|
|
1230 ADC #$60
|
|
1240 STA POINTER4+1
|
|
1250 LDA (SCRPNT2),Y
|
|
1260 STA POINTER1
|
|
1270 STA POINTER4
|
|
1280 LDY PATINDEX
|
|
1290 LDA (POINTER2),Y
|
|
1300 STA P2
|
|
1310 LDA (POINTER3),Y
|
|
1320 STA M2
|
|
1330 INY
|
|
1340 LDA (POINTER2),Y
|
|
1350 STA P3
|
|
1360 LDA (POINTER3),Y
|
|
1370 STA M3
|
|
1380 INY
|
|
1390 LDA (POINTER2),Y
|
|
1400 STA P4
|
|
1410 LDA (POINTER3),Y
|
|
1420 STA M4
|
|
1430 LDA #$00
|
|
1440 STA P1
|
|
1450 STA M1
|
|
1460 LDX WASPXX
|
|
1470 LDY TABLE62,X
|
|
1480 BNE .6
|
|
1490 DEC WASPX
|
|
1500 JMP .7
|
|
1510 .6 JSR ROTATE
|
|
1520 DEY
|
|
1530 BNE .6
|
|
1540 .7 LDA M1
|
|
1550 AND P1
|
|
1560 STA P1
|
|
1570 LDA M2
|
|
1580 AND P2
|
|
1590 STA P2
|
|
1600 LDA M3
|
|
1610 AND P3
|
|
1620 STA P3
|
|
1630 LDA M4
|
|
1640 AND P4
|
|
1650 STA P4
|
|
1660 LDY WASPX
|
|
1670 CPY #$2C
|
|
1680 BCS .15
|
|
1690 CPY #$04
|
|
1700 BCC .12
|
|
1710 LDA M1
|
|
1720 EOR #$FF
|
|
1730 AND (POINTER4),Y
|
|
1740 ORA P1
|
|
1750 STA (POINTER1),Y
|
|
1760 .12 INY
|
|
1770 CPY #$2C
|
|
1780 BCS .11
|
|
1790 CPY #$04
|
|
1800 BCC .13
|
|
1810 LDA M2
|
|
1820 EOR #$FF
|
|
1830 AND (POINTER4),Y
|
|
1840 ORA P2
|
|
1850 STA (POINTER1),Y
|
|
1860 .13 INY
|
|
1870 CPY #$2C
|
|
1880 BCS .11
|
|
1890 CPY #$04
|
|
1900 BCC .14
|
|
1910 LDA M3
|
|
1920 EOR #$FF
|
|
1930 AND (POINTER4),Y
|
|
1940 ORA P3
|
|
1950 STA (POINTER1),Y
|
|
1960 .14 INY
|
|
1970 CPY #$2C
|
|
1980 BCS .11
|
|
1990 CPY #$04
|
|
2000 BCC .11
|
|
2010 LDA M4
|
|
2020 EOR #$FF
|
|
2030 AND (POINTER4),Y
|
|
2040 ORA P4
|
|
2050 STA (POINTER1),Y
|
|
2060 .11 LDA PATINDEX
|
|
2070 CLC
|
|
2080 ADC #$03
|
|
2090 STA PATINDEX
|
|
2100 INC TEMP1
|
|
2110 .15 LDY TABLE62,X
|
|
2120 BNE .16
|
|
2130 INC WASPX
|
|
2140 .16 DEC HEIGHT
|
|
2150 BNE .8
|
|
2160 RTS
|
|
2170 .8 JMP .3
|
|
2180 ROTATE
|
|
2190 LSR P4
|
|
2200 LDA P3
|
|
2210 BCC .1
|
|
2220 ORA #$80
|
|
2230 STA P3
|
|
2240 .1 LSR P3
|
|
2250 LDA P2
|
|
2260 BCC .2
|
|
2270 ORA #$80
|
|
2280 STA P2
|
|
2290 .2 LSR P2
|
|
2300 LDA P1
|
|
2310 BCC .3
|
|
2320 ORA #$80
|
|
2330 STA P1
|
|
2340 .3 LSR P1
|
|
2350 LSR M4
|
|
2360 LDA M3
|
|
2370 BCC .4
|
|
2380 ORA #$80
|
|
2390 STA M3
|
|
2400 .4 LSR M3
|
|
2410 LDA M2
|
|
2420 BCC .5
|
|
2430 ORA #$80
|
|
2440 STA M2
|
|
2450 .5 LSR M2
|
|
2460 LDA M1
|
|
2470 BCC .6
|
|
2480 ORA #$80
|
|
2490 STA M1
|
|
2500 .6 LSR M1
|
|
2510 RTS
|
|
2520 TABLE60 .HS 00216081A2
|
|
2530 TABLE62 .HS 00050301060402
|
|
2540 TABLE74 .HS 4041414141
|
|
2550 TABLE75 .HS C320416283
|
|
2560 ERASE.LEFT
|
|
2570 LDA WASPY
|
|
2580 STA TEMP2
|
|
2590 LDY WASPX
|
|
2600 LDA #$0B
|
|
2610 STA HEIGHT
|
|
2620 LDX WASPXX
|
|
2630 BEQ .3
|
|
2640 CPX #$04
|
|
2650 BNE .1
|
|
2660 .3 DEY
|
|
2670 .1 STY TEMP1
|
|
2680 CPY #$2C
|
|
2690 BCS .2
|
|
2700 .4 LDY TEMP2
|
|
2710 LDA (SCRPNT1),Y
|
|
2720 STA POINTER2+1
|
|
2730 CLC
|
|
2740 ADC #$60
|
|
2750 STA POINTER4+1
|
|
2760 LDA (SCRPNT2),Y
|
|
2770 STA POINTER4
|
|
2780 STA POINTER2
|
|
2790 LDY TEMP1
|
|
2800 CPY #$04
|
|
2810 BCC .5
|
|
2820 LDA (POINTER2),Y
|
|
2830 AND TABLE64,X
|
|
2840 STA TEMP3
|
|
2850 LDA TABLE64,X
|
|
2860 EOR #$FF
|
|
2870 AND (POINTER4),Y
|
|
2880 ORA TEMP3
|
|
2890 STA (POINTER2),Y
|
|
2900 .5 CPX #$04
|
|
2910 BNE .6
|
|
2920 INY
|
|
2930 CPY #$2C
|
|
2940 BCS .6
|
|
2950 CPY #$04
|
|
2960 BCC .2
|
|
2970 LDA (POINTER2),Y
|
|
2980 AND #$FE
|
|
2990 STA TEMP3
|
|
3000 LDA (POINTER4),Y
|
|
3010 AND #$01
|
|
3020 ORA TEMP3
|
|
3030 STA (POINTER2),Y
|
|
3040 .6 INC TEMP2
|
|
3050 DEC HEIGHT
|
|
3060 BNE .4
|
|
3070 .2 LDA #$00
|
|
3080 RTS
|
|
3090 TABLE64 .HS 9FFCF3CFBFF9E7
|
|
3100 TABLE65 .HS 40020820000410
|
|
3110 ERASE.RIGHT
|
|
3120 LDA WASPY
|
|
3130 STA TEMP2
|
|
3140 LDA #$0B
|
|
3150 STA HEIGHT
|
|
3160 LDX WASPXX
|
|
3170 LDA WASPX
|
|
3180 CLC
|
|
3190 ADC #$03
|
|
3200 CMP #$2C
|
|
3210 BCS .1
|
|
3220 STA TEMP1
|
|
3230 .2 LDY TEMP2
|
|
3240 LDA (SCRPNT1),Y
|
|
3250 STA POINTER2+1
|
|
3260 CLC
|
|
3270 ADC #$60
|
|
3280 STA POINTER4+1
|
|
3290 LDA (SCRPNT2),Y
|
|
3300 STA POINTER2
|
|
3310 STA POINTER4
|
|
3320 LDY TEMP1
|
|
3330 CPY #$04
|
|
3340 BCC .3
|
|
3350 LDA (POINTER2),Y
|
|
3360 AND TABLE66,X
|
|
3370 STA TEMP3
|
|
3380 LDA TABLE66,X
|
|
3390 EOR #$FF
|
|
3400 AND (POINTER4),Y
|
|
3410 ORA TEMP3
|
|
3420 STA (POINTER2),Y
|
|
3430 .3 CPX #$03
|
|
3440 BNE .4
|
|
3450 INY
|
|
3460 CPY #$2C
|
|
3470 BCS .4
|
|
3480 CPY #$04
|
|
3490 BCC .1
|
|
3500 LDA (POINTER2),Y
|
|
3510 AND #$FE
|
|
3520 STA TEMP3
|
|
3530 LDA (POINTER4),Y
|
|
3540 AND #$01
|
|
3550 ORA TEMP3
|
|
3560 STA (POINTER2),Y
|
|
3570 .4 INC TEMP2
|
|
3580 DEC HEIGHT
|
|
3590 BNE .2
|
|
3600 .1 LDA #$00
|
|
3610 RTS
|
|
3620 TABLE66 .HS FCF3CFBFF9E79F
|
|
3630 TABLE67 .HS 01041040020820
|
|
3640 ERASE.TOP
|
|
3650 LDY WASPY
|
|
3660 DEY
|
|
3670 E2 LDA (SCRPNT1),Y
|
|
3680 STA POINTER2+1
|
|
3690 CLC
|
|
3700 ADC #$60
|
|
3710 STA POINTER4+1
|
|
3720 LDA (SCRPNT2),Y
|
|
3730 STA POINTER2
|
|
3740 STA POINTER4
|
|
3750 LDX WASPXX
|
|
3760 LDY WASPX
|
|
3770 CPY #$2C
|
|
3780 BCS .1
|
|
3790 CPY #$04
|
|
3800 BCC .2
|
|
3810 LDA (POINTER4),Y
|
|
3820 STA (POINTER2),Y
|
|
3830 .2 INY
|
|
3840 CPY #$2C
|
|
3850 BCS .1
|
|
3860 CPY #$04
|
|
3870 BCC .3
|
|
3880 LDA (POINTER4),Y
|
|
3890 STA (POINTER2),Y
|
|
3900 .3 INY
|
|
3910 CPY #$2C
|
|
3920 BCS .1
|
|
3930 CPY #$04
|
|
3940 BCC .4
|
|
3950 LDA (POINTER4),Y
|
|
3960 STA (POINTER2),Y
|
|
3970 .4 INY
|
|
3980 CPY #$2C
|
|
3990 BCS .1
|
|
4000 CPY #$04
|
|
4010 BCC .1
|
|
4020 LDA (POINTER4),Y
|
|
4030 STA (POINTER2),Y
|
|
4040 .1 LDA #$00
|
|
4050 RTS
|
|
4060 ERASE.BOTTOM
|
|
4070 LDA WASPY
|
|
4080 CLC
|
|
4090 ADC #$0B
|
|
4100 TAY
|
|
4110 BNE E2
|
|
4120 TABLE68 .HS 2A282000545040
|
|
4130 TABLE69 .HS 555555552A2A2A
|
|
4140 TABLE70 .HS 2A2A2A2A555555
|
|
4150 TABLE71 .HS 0001051500020A
|
|
4160 CREATE.WASP
|
|
4170 LDA WASPSTATE
|
|
4180 BMI .1
|
|
4190 RTS
|
|
4200 .1 LDA PARALYZE
|
|
4210 BEQ .2
|
|
4220 RTS
|
|
4230 .2 JSR RANDOM1.Z
|
|
4240 CMP WASP.CHANCE
|
|
4250 BCC .3
|
|
4260 RTS
|
|
4270 .3 JSR RANDOM2.Z
|
|
4280 AND #$03
|
|
4290 STA WASPDEST
|
|
4300 LDA MANX
|
|
4310 CMP #$18
|
|
4320 BCC .4
|
|
4330 LDA #$01
|
|
4340 STA WASPX
|
|
4350 LDA #$04
|
|
4360 STA WASPXX
|
|
4370 LDA #$02
|
|
4380 STA WASPSTATE
|
|
4390 LDA MANY
|
|
4400 CMP #$75
|
|
4410 BCC .5
|
|
4420 LDA #$38
|
|
4430 STA WASPY
|
|
4440 LDA #$C0
|
|
4450 ORA $1BE4
|
|
4460 STA $1BE4
|
|
4470 RTS
|
|
4480 .5 LDA #$A8
|
|
4490 STA WASPY
|
|
4500 LDA #$C0
|
|
4510 ORA $1E84
|
|
4520 STA $1E84
|
|
4530 RTS
|
|
4540 .4 LDA #$2B
|
|
4550 STA WASPX
|
|
4560 LDA #$06
|
|
4570 STA WASPXX
|
|
4580 LDA #$00
|
|
4590 STA WASPSTATE
|
|
4600 LDA MANY
|
|
4610 CMP #$75
|
|
4620 BCC .6
|
|
4630 LDA #$38
|
|
4640 STA WASPY
|
|
4650 LDA #$C0
|
|
4660 ORA $1C0B
|
|
4670 STA $1C0B
|
|
4680 RTS
|
|
4690 .6 LDA #$A8
|
|
4700 STA WASPY
|
|
4710 LDA #$C0
|
|
4720 ORA $1EAB
|
|
4730 STA $1EAB
|
|
4740 RTS
|
|
4750 VACATE.WASPS.BLOCKS
|
|
4760 STA WASPSTATE
|
|
4770 LDX #$02
|
|
4780 LDA WASPY
|
|
4790 AND #$07
|
|
4800 CMP #$06
|
|
4810 BCC .1
|
|
4820 INX
|
|
4830 .1 STX TEMP1
|
|
4840 LDA WASPY
|
|
4850 LSR
|
|
4860 LSR
|
|
4870 LSR
|
|
4880 TAX
|
|
4890 .3 LDA AAMSBYT,X
|
|
4900 STA POINTER1+1
|
|
4910 LDA AALSBYT,X
|
|
4920 STA POINTER1
|
|
4930 LDY WASPX
|
|
4940 LDA #$05
|
|
4950 STA TEMP2
|
|
4960 .2 LDA (POINTER1),Y
|
|
4970 AND #$7F
|
|
4980 STA (POINTER1),Y
|
|
4990 INY
|
|
5000 DEC TEMP2
|
|
5010 BNE .2
|
|
5020 INX
|
|
5030 DEC TEMP1
|
|
5040 BNE .3
|
|
5050 RTS
|
|
5060 HITMAN
|
|
5070 LDA WASPX
|
|
5080 SEC
|
|
5090 SBC MANX
|
|
5100 CLC
|
|
5110 ADC #$04
|
|
5120 CMP #$07
|
|
5130 BCC .1
|
|
5140 RTS
|
|
5150 .1 LDA WASPY
|
|
5160 SEC
|
|
5170 SBC MANY
|
|
5180 CLC
|
|
5190 ADC #$0B
|
|
5200 CMP #$1B
|
|
5210 RTS
|
|
5220 MOVE.UP
|
|
5230 DEC WASPY
|
|
5240 JSR HITMAN
|
|
5250 BCS .1
|
|
5260 LDA #$60
|
|
5270 JSR STING.MAN.Z
|
|
5280 .1 LDA WASPY
|
|
5290 CMP #$0A
|
|
5300 BCC N4
|
|
5310 AND #$07
|
|
5320 CMP #$07
|
|
5330 BEQ N5
|
|
5340 CMP #$05
|
|
5350 BEQ N6
|
|
5360 N2 JSR PLOT.WASP
|
|
5370 JMP ERASE.BOTTOM
|
|
5380 N4 INC WASPY
|
|
5390 LDA #$80
|
|
5400 JMP VACATE.WASPS.BLOCKS
|
|
5410 N5 LDA WASPY
|
|
5420 LSR
|
|
5430 LSR
|
|
5440 LSR
|
|
5450 TAX
|
|
5460 N1 LDA AAMSBYT,X
|
|
5470 STA POINTER1+1
|
|
5480 LDA AALSBYT,X
|
|
5490 STA POINTER1
|
|
5500 LDX #$04
|
|
5510 LDY WASPX
|
|
5520 .1 LDA (POINTER1),Y
|
|
5530 ORA #$80
|
|
5540 STA (POINTER1),Y
|
|
5550 INY
|
|
5560 DEX
|
|
5570 BNE .1
|
|
5580 BEQ N2
|
|
5590 N6 JSR PLOT.WASP
|
|
5600 JSR ERASE.BOTTOM
|
|
5610 LDA WASPY
|
|
5620 LSR
|
|
5630 LSR
|
|
5640 LSR
|
|
5650 TAX
|
|
5660 INX
|
|
5670 INX
|
|
5680 N8 LDA AAMSBYT,X
|
|
5690 STA POINTER2+1
|
|
5700 LDA AALSBYT,X
|
|
5710 STA POINTER2
|
|
5720 LDA #$04
|
|
5730 STA TEMP1
|
|
5740 LDY WASPX
|
|
5750 .6 LDA (POINTER2),Y
|
|
5760 AND #$7F
|
|
5770 STA (POINTER2),Y
|
|
5780 .8 INY
|
|
5790 DEC TEMP1
|
|
5800 BNE .6
|
|
5810 RTS
|
|
5820 MOVE.DOWN
|
|
5830 INC WASPY
|
|
5840 JSR HITMAN
|
|
5850 BCS .1
|
|
5860 LDA #$60
|
|
5870 JSR STING.MAN.Z
|
|
5880 .1 LDA WASPY
|
|
5890 CMP #$D3
|
|
5900 BCS .2
|
|
5910 AND #$07
|
|
5920 BEQ .4
|
|
5930 CMP #$06
|
|
5940 BEQ .3
|
|
5950 JSR PLOT.WASP
|
|
5960 JMP ERASE.TOP
|
|
5970 .2 DEC WASPY
|
|
5980 LDA #$80
|
|
5990 JMP VACATE.WASPS.BLOCKS
|
|
6000 .4 JSR PLOT.WASP
|
|
6010 JSR ERASE.TOP
|
|
6020 LDA WASPY
|
|
6030 LSR
|
|
6040 LSR
|
|
6050 LSR
|
|
6060 TAX
|
|
6070 DEX
|
|
6080 .9 LDA AAMSBYT,X
|
|
6090 STA POINTER2+1
|
|
6100 LDA AALSBYT,X
|
|
6110 STA POINTER2
|
|
6120 LDA #$04
|
|
6130 STA TEMP1
|
|
6140 LDY WASPX
|
|
6150 .6 LDA (POINTER2),Y
|
|
6160 AND #$7F
|
|
6170 STA (POINTER2),Y
|
|
6180 .8 INY
|
|
6190 DEC TEMP1
|
|
6200 BNE .6
|
|
6210 RTS
|
|
6220 .3 LDA WASPY
|
|
6230 LSR
|
|
6240 LSR
|
|
6250 LSR
|
|
6260 TAX
|
|
6270 INX
|
|
6280 INX
|
|
6290 LDA AAMSBYT,X
|
|
6300 STA POINTER1+1
|
|
6310 LDA AALSBYT,X
|
|
6320 STA POINTER1
|
|
6330 LDX #$04
|
|
6340 LDY WASPX
|
|
6350 .10 LDA (POINTER1),Y
|
|
6360 ORA #$80
|
|
6370 STA (POINTER1),Y
|
|
6380 INY
|
|
6390 DEX
|
|
6400 BNE .10
|
|
6410 JSR PLOT.WASP
|
|
6420 JMP ERASE.TOP
|
|
6430 MOVE.LEFT
|
|
6440 DEC WASPXX
|
|
6450 BMI .1
|
|
6460 LDA WASPXX
|
|
6470 CMP #$03
|
|
6480 BEQ .2
|
|
6490 JSR PLOT.WASP
|
|
6500 JMP ERASE.RIGHT
|
|
6510 .1 LDA #$06
|
|
6520 STA WASPXX
|
|
6530 .2 DEC WASPX
|
|
6540 BPL .3
|
|
6550 INC WASPX
|
|
6560 LDA #$80
|
|
6570 JMP VACATE.WASPS.BLOCKS
|
|
6580 .3 JSR HITMAN
|
|
6590 BCS .4
|
|
6600 LDA #$60
|
|
6610 JSR STING.MAN.Z
|
|
6620 .4 JSR PLOT.WASP
|
|
6630 JSR ERASE.RIGHT
|
|
6640 LDA WASPY
|
|
6650 LSR
|
|
6660 LSR
|
|
6670 LSR
|
|
6680 TAX
|
|
6690 LDA AAMSBYT,X
|
|
6700 STA POINTER1+1
|
|
6710 LDA AALSBYT,X
|
|
6720 STA POINTER1
|
|
6730 LDY WASPX
|
|
6740 LDA (POINTER1),Y
|
|
6750 ORA #$80
|
|
6760 STA (POINTER1),Y
|
|
6770 INX
|
|
6780 LDA AAMSBYT,X
|
|
6790 STA POINTER2+1
|
|
6800 LDA AALSBYT,X
|
|
6810 STA POINTER2
|
|
6820 LDA (POINTER2),Y
|
|
6830 ORA #$80
|
|
6840 STA (POINTER2),Y
|
|
6850 LDA WASPY
|
|
6860 AND #$07
|
|
6870 CMP #$06
|
|
6880 BCC .5
|
|
6890 INX
|
|
6900 LDA AAMSBYT,X
|
|
6910 STA POINTER3+1
|
|
6920 LDA AALSBYT,X
|
|
6930 STA POINTER3
|
|
6940 LDA (POINTER3),Y
|
|
6950 ORA #$80
|
|
6960 STA (POINTER3),Y
|
|
6970 DEX
|
|
6980 .5 LDA WASPX
|
|
6990 CLC
|
|
7000 ADC #$04
|
|
7010 STA TEMP1
|
|
7020 TAY
|
|
7030 N7 DEX
|
|
7040 LDA(POINTER1),Y
|
|
7050 AND #$7F
|
|
7060 STA (POINTER1),Y
|
|
7070 .6 INX
|
|
7080 LDY TEMP1
|
|
7090 LDA (POINTER2),Y
|
|
7100 AND #$7F
|
|
7110 STA (POINTER2),Y
|
|
7120 .7 INX
|
|
7130 LDA WASPY
|
|
7140 AND #$07
|
|
7150 CMP #$06
|
|
7160 BCC .8
|
|
7170 LDY TEMP1
|
|
7180 LDA (POINTER3),Y
|
|
7190 AND #$7F
|
|
7200 STA (POINTER3),Y
|
|
7210 .8 RTS
|
|
7220 MOVE.RIGHT
|
|
7230 INC WASPXX
|
|
7240 LDA WASPXX
|
|
7250 CMP #$04
|
|
7260 BEQ .1
|
|
7270 CMP #$07
|
|
7280 BEQ .2
|
|
7290 JSR PLOT.WASP
|
|
7300 JMP ERASE.LEFT
|
|
7310 .2 LDA #$00
|
|
7320 STA WASPXX
|
|
7330 .1 INC WASPX
|
|
7340 LDA WASPX
|
|
7350 CMP #$2D
|
|
7360 BCC .3
|
|
7370 DEC WASPX
|
|
7380 LDA #$80
|
|
7390 JMP VACATE.WASPS.BLOCKS
|
|
7400 .3 JSR HITMAN
|
|
7410 BCS .4
|
|
7420 LDA #$60
|
|
7430 JSR STING.MAN.Z
|
|
7440 .4 JSR PLOT.WASP
|
|
7450 JSR ERASE.LEFT
|
|
7460 LDA WASPY
|
|
7470 LSR
|
|
7480 LSR
|
|
7490 LSR
|
|
7500 TAX
|
|
7510 LDA AAMSBYT,X
|
|
7520 STA POINTER1+1
|
|
7530 LDA AALSBYT,X
|
|
7540 STA POINTER1
|
|
7550 LDY WASPX
|
|
7560 INY
|
|
7570 INY
|
|
7580 INY
|
|
7590 LDA (POINTER1),Y
|
|
7600 ORA #$80
|
|
7610 STA (POINTER1),Y
|
|
7620 INX
|
|
7630 LDA AAMSBYT,X
|
|
7640 STA POINTER2+1
|
|
7650 LDA AALSBYT,X
|
|
7660 STA POINTER2
|
|
7670 LDA (POINTER2),Y
|
|
7680 ORA #$80
|
|
7690 STA (POINTER2),Y
|
|
7700 LDA WASPY
|
|
7710 AND #$07
|
|
7720 CMP #$06
|
|
7730 BCC .5
|
|
7740 INX
|
|
7750 LDA AAMSBYT,X
|
|
7760 STA POINTER3+1
|
|
7770 LDA AALSBYT,X
|
|
7780 STA POINTER3
|
|
7790 LDA (POINTER3),Y
|
|
7800 ORA #$80
|
|
7810 STA (POINTER3),Y
|
|
7820 DEX
|
|
7830 .5 LDY WASPX
|
|
7840 DEY
|
|
7850 STY TEMP1
|
|
7860 JMP N7
|
|
7870 INITIALIZE.WASP
|
|
7880 LDA #$07
|
|
7890 STA K4
|
|
7900 STA INIT.K4
|
|
7910 LDA #$80
|
|
7920 STA WASPSTATE
|
|
7930 LDA #$00
|
|
7940 STA PARALYZE
|
|
7950 LDA #$43
|
|
7960 STA SCRPNT1+1
|
|
7970 LDA #$C0
|
|
7980 STA SCRPNT1
|
|
7990 LDA #$44
|
|
8000 STA SCRPNT2+1
|
|
8010 LDA #$A8
|
|
8020 STA SCRPNT2
|
|
8030 LDA #$04
|
|
8040 STA WASP.SPLAT.COUNT
|
|
8050 LDA #$08
|
|
8060 STA WASP.CHANCE
|
|
8070 WASP.MASTER
|
|
8080 DEC K4
|
|
8090 BEQ .1
|
|
8100 RTS
|
|
8110 .1 LDA INIT.K4
|
|
8120 STA K4
|
|
8130 LDA PARALYZE
|
|
8140 BNE .5
|
|
8150 JSR CREATE.WASP
|
|
8160 LDX WASPSTATE
|
|
8170 BPL .2
|
|
8180 LDA #$1A
|
|
8190 JSR $FCA8
|
|
8200 .2 CPX #$04
|
|
8210 BNE .3
|
|
8220 DEC WASP.SPLAT.COUNT
|
|
8230 BEQ .4
|
|
8240 JMP PLOT.WASP
|
|
8250 .4 LDA #$04
|
|
8260 STA WASP.SPLAT.COUNT
|
|
8270 LDA #$05
|
|
8280 STA WASPSTATE
|
|
8290 JSR PLOT.WASP
|
|
8300 LDA #$80
|
|
8310 STA WASPSTATE
|
|
8320 RTS
|
|
8330 .5 LDA WASPSTATE
|
|
8340 BPL .6
|
|
8350 RTS
|
|
8360 .6 INC FLAP
|
|
8370 LDA WASPX
|
|
8380 CMP #$18
|
|
8390 BCC .7
|
|
8400 LDA #$02
|
|
8410 STA WASPSTATE
|
|
8420 JMP MOVE.RIGHT
|
|
8430 .7 LDA #$00
|
|
8440 STA WASPSTATE
|
|
8450 JMP MOVE.LEFT
|
|
8460 .3 LDX WASPDEST
|
|
8470 LDA MANX
|
|
8480 CLC
|
|
8490 ADC TABLE72,X
|
|
8500 STA DESTX
|
|
8510 CMP WASPX
|
|
8520 BNE .8
|
|
8530 LDA MANY
|
|
8540 CLC
|
|
8550 ADC TABLE73,X
|
|
8560 CMP WASPY
|
|
8570 BNE .9
|
|
8580 JSR RANDOM2.Z
|
|
8590 AND #$03
|
|
8600 STA WASPDEST
|
|
8610 BPL .3
|
|
8620 .8 LDA MANY
|
|
8630 CLC
|
|
8640 ADC TABLE73,X
|
|
8650 .9 INC FLAP
|
|
8660 STA DESTY
|
|
8670 LDA DESTX
|
|
8680 CMP WASPX
|
|
8690 BCC .10
|
|
8700 BEQ .11
|
|
8710 LDA #$02
|
|
8720 STA WASPSTATE
|
|
8730 JSR MOVE.RIGHT
|
|
8740 LDA WASPSTATE
|
|
8750 BPL .11
|
|
8760 .12 RTS
|
|
8770 .10 LDA #$00
|
|
8780 STA WASPSTATE
|
|
8790 JSR MOVE.LEFT
|
|
8800 LDA WASPSTATE
|
|
8810 BMI .12
|
|
8820 .11 LDA DESTY
|
|
8830 CMP WASPY
|
|
8840 BCS .13
|
|
8850 JMP MOVE.UP
|
|
8860 .13 BEQ .12
|
|
8870 JMP MOVE.DOWN
|
|
8880 TABLE72 .HS FE0404FE
|
|
8890 .LI ON
|
|
8900 TABLE73 .HS ECEC1919
|
|
8910 .LI OFF
|