antoine-source/picnicparanoia/source copie/SWTR E.txt
Antoine Vignau 4d4fb6a665 Let's free the code!!
Some old (WIP) disassemblies and my own source code now available online.
2024-07-23 23:38:22 +02:00

1129 lines
25 KiB
Plaintext

0005 .LI OFF
0010 AAMSBYT .EQ $10C0
0015 AALSBYT .EQ $10E0
0020 TEMP1 .EQ $F0
0025 TEMP2 .EQ $F1
0030 TEMP3 .EQ $F2
0035 SCRPNT1 .EQ $F5
0040 SCRPNT2 .EQ $F7
0045 POINTER1 .EQ $F9
0050 POINTER2 .EQ $FB
0055 POINTER3 .EQ $FD
0060 POINTER4 .EQ $EE
0065 SET.CAN .EQ $B5
0070 ROUND .EQ $B4
0075 PLAYERNUM .EQ $B3
0080 MANX .EQ $CB
0085 MANXX .EQ $CA
0090 MANY .EQ $C9
0095 MANDIR .EQ $C8
0100 MANSTATE .EQ $C7
0105 NEXTSTATE .EQ $C6
0110 HEIGHT .EQ $ED
0115 SWAT .EQ $C5
0120 MOD2 .EQ $C4
0125 SWATLEGAL .EQ $C3
0130 SWTRX .EQ $BF
0135 SWTRXX .EQ $BE
0140 SWTRY .EQ $BD
0145 MANXOLD .EQ $BC
0150 MANXXOLD .EQ $BB
0155 MANYOLD .EQ $BA
0160 PATINDEX .EQ $EC
0165 MANY8 .EQ $C2
0170 MANY10 .EQ $C1
0175 MANX3 .EQ $C0
0180 ANTBYT1 .EQ $1000
0185 ANTBYT2 .EQ $1020
0190 ANTBYT3 .EQ $1040
0195 ANTBYT4 .EQ $1060
0200 DESTBYT1 .EQ $1080
0205 DESTBYT2 .EQ $10A0
0210 ANTX .EQ $DC
0215 ANTY .EQ $DB
0220 ANTXX .EQ $DA
0225 ANTNUM .EQ $D8
0230 SPIDERBYT4 .EQ $4118
0235 SPIDERNUM .EQ $A3
0240 BYFOOD .EQ $B6
0245 SET.CAN1 .EQ $7F
0250 SWTRCOUNT .EQ $79
0255 PROTECT .EQ $4230
0260 PLOT.SPIDER.Z .EQ $6006
0265 SET.BLOCK.VACANT.Z .EQ $1700
0270 PLOT.SPLAT.Z .EQ $10FD
0275 VACATE.WASPS.BLOCKS.Z .EQ $580C
0280 PLOT.WASP.Z .EQ $580F
0285 ERASE.WEB.Z .EQ $600C
0290 SWTR.SOUND.Z .EQ $4615
0295 .OR $4F00
0300 .TA $2F00
0305 JMP PLOT.NEW.SWTR
0310 JMP ERASE.OLD.SWTR
0315 JMP VACATE.ANTS.BLOCKS
0320 JMP SCORE
0325 JMP K1
0330 JMP SWAT.ANT.SOUND
0335 JMP SWAT.SPIDER.SOUND
0340 JMP PLOT.NUM2
0345 JMP R1
0350 NOP
0355 SWTR.HEAD
0360 LDX SWTRXX
0365 JSR S1
0370 JSR S2
0375 JSR S1
0380 JSR S2
0385 S1 LDY SWTRY
0390 LDA (SCRPNT1),Y
0395 STA POINTER1+1
0400 CLC
0405 ADC #$60
0410 STA POINTER4+1
0415 LDA (SCRPNT2),Y
0420 STA POINTER1
0425 STA POINTER4
0430 LDY SWTRX
0435 CPY #$2C
0440 BCS S3
0445 LDA TEMP3
0450 BEQ .1
0455 CPY #$04
0460 BCC .3
0465 EOR TABLE23,X
0470 AND (POINTER1),Y
0475 STA (POINTER1),Y
0480 .3 INY
0485 CPY #$2C
0490 BCS .2
0495 CPY #$04
0500 BCC .2
0505 LDA #$FF
0510 EOR TABLE24,X
0515 AND (POINTER1),Y
0520 STA (POINTER1),Y
0525 .2 INC SWTRY
0530 RTS
0535 .1 CPY #$04
0540 BCC .4
0545 LDA (POINTER4),Y
0550 AND TABLE23,X
0555 ORA (POINTER1),Y
0560 STA (POINTER1),Y
0565 .4 INY
0570 CPY #$2C
0575 BCS .2
0580 CPY #$04
0585 BCC .2
0590 LDA (POINTER4),Y
0595 AND TABLE24,X
0600 ORA (POINTER1),Y
0605 STA (POINTER1),Y
0610 INC SWTRY
0615 RTS
0620 S3 INC SWTRY
0625 INY
0630 RTS
0635 S2
0640 LDY SWTRY
0645 LDA (SCRPNT1),Y
0650 STA POINTER1+1
0655 CLC
0660 ADC #$60
0665 STA POINTER4+1
0670 LDA (SCRPNT2),Y
0675 STA POINTER1
0680 STA POINTER4
0685 LDY SWTRX
0690 CPY #$2C
0695 BCS S3
0700 LDA TEMP3
0705 BEQ .1
0710 CPY #$04
0715 BCC .3
0720 EOR TABLE25,X
0725 AND (POINTER1),Y
0730 ORA TABLE25A,X
0735 STA (POINTER1),Y
0740 .3 INY
0745 CPY #$2C
0750 BCS .2
0755 CPY #$04
0760 BCC .2
0765 LDA #$FF
0770 EOR TABLE26,X
0775 AND (POINTER1),Y
0780 ORA TABLE26A,X
0785 STA (POINTER1),Y
0790 .2 INC SWTRY
0795 RTS
0800 .1 CPY #$04
0805 BCC .4
0810 LDA (POINTER4),Y
0815 AND TABLE25,X
0820 ORA (POINTER1),Y
0825 STA (POINTER1),Y
0830 LDA TABLE25A,X
0835 EOR #$FF
0840 AND (POINTER1),Y
0845 STA (POINTER1),Y
0850 LDA (POINTER4),Y
0855 AND TABLE25A,X
0860 ORA (POINTER1),Y
0865 STA (POINTER1),Y
0870 .4 INY
0875 CPY #$2C
0880 BCS .2
0885 CPY #$04
0890 BCC .2
0895 LDA (POINTER4),Y
0900 AND TABLE26,X
0905 ORA (POINTER1),Y
0910 STA (POINTER1),Y
0915 LDA TABLE26A,X
0920 EOR #$FF
0925 AND (POINTER1),Y
0930 STA (POINTER1),Y
0935 LDA (POINTER4),Y
0940 AND TABLE26A,X
0945 ORA (POINTER1),Y
0950 STA (POINTER1),Y
0955 INC SWTRY
0960 RTS
0965 TABLE23 .HS 155450402A2820
0970 TABLE24 .HS 0000020A000105
0975 TABLE25 .HS 11441040220820
0980 TABLE25A .HS 04104000082000
0985 TABLE26 .HS 00000208000104
0990 TABLE26A .HS 00000002000001
0995 SWTR.POS.1.2
1000 LDY MANY
1005 STY SWTRY
1010 LDY MANX
1015 INY
1020 LDX MANXX
1025 BEQ .1
1030 INY
1035 .1 STY SWTRX
1040 LDA TABLE28,X
1045 STA SWTRXX
1050 TAX
1055 LDA TEMP3
1060 STA TEMP1
1065 LDA #$00
1070 STA TEMP3
1075 JSR S1
1080 LDA TEMP1
1085 STA TEMP3
1090 JSR SWTR.HEAD
1095 LDA #$00
1100 STA TEMP3
1105 JSR S2
1110 LDA TEMP1
1115 STA TEMP3
1120 DEC SWTRY
1125 LDA TABLE31,X
1130 STA TEMP2
1135 CMP #$03
1140 BCC .2
1145 DEY
1150 .2 STY TEMP1
1155 LDX #$05
1160 .5 JSR P.E
1165 INC SWTRY
1170 DEX
1175 BNE .5
1180 .3 STX TEMP3
1185 JMP P.E
1190 TABLE28 .HS 03040506000102
1195 TABLE31 .HS 04104002082001
1200 SWTR.POS.3.4
1205 LDY MANY
1210 STY SWTRY
1215 LDX MANXX
1220 LDA TABLE30,X
1225 CLC
1230 ADC MANX
1235 STA SWTRX
1240 LDA TABLE29,X
1245 STA SWTRXX
1250 TAX
1255 LDA TEMP3
1260 STA TEMP1
1265 LDA #$00
1270 STA TEMP3
1275 JSR S1
1280 LDA TEMP1
1285 STA TEMP3
1290 JSR SWTR.HEAD
1295 LDA #$00
1300 STA TEMP3
1305 JSR S2
1310 LDA TEMP1
1315 STA TEMP3
1320 DEC SWTRY
1325 LDA TABLE31,X
1330 STA TEMP2
1335 CMP #$03
1340 BCC .1
1345 DEY
1350 .1 STY TEMP1
1355 LDX #$05
1360 .2 JSR P.E
1365 INC SWTRY
1370 DEX
1375 BNE .2
1380 .3 STX TEMP3
1385 JSR P.E
1390 LDA SWTRY
1395 SEC
1400 SBC #$0B
1405 STA SWTRY
1410 JMP P.E
1415 TABLE29 .HS 02030405060001
1420 TABLE30 .HS FFFF0000FF0000
1425 SWTR.POS.5
1430 LDA TEMP3
1435 BEQ .2
1440 LDA MANX
1445 CLC
1450 ADC #$03
1455 TAY
1460 LDA MANY
1465 CLC
1470 ADC #$06
1475 STA SWTRY
1480 JSR GET.BLOCK3
1485 LDA MANX
1490 CLC
1495 ADC #$03
1500 TAY
1505 LDA MANY
1510 CLC
1515 ADC #$0A
1520 STA SWTRY
1525 JSR GET.BLOCK3
1530 .2 LDA MANY
1535 CLC
1540 ADC #$06
1545 STA SWTRY
1550 LDX MANXX
1555 LDA TABLE27,X
1560 STA SWTRXX
1565 LDA TABLE33,X
1570 CLC
1575 ADC MANX
1580 STA SWTRX
1585 JSR SWTR.HEAD
1590 LDA MANY
1595 CLC
1600 ADC #$08
1605 TAY
1610 LDA (SCRPNT1),Y
1615 STA POINTER1+1
1620 CLC
1625 ADC #$60
1630 STA POINTER4+1
1635 LDA (SCRPNT2),Y
1640 STA POINTER1
1645 STA POINTER4
1650 LDY MANX
1655 INY
1660 INY
1665 CPY #$2C
1670 BCS .3
1675 LDA TEMP3
1680 BEQ .1
1685 CPY #$04
1690 BCC .4
1695 EOR TABLE34,X
1700 AND (POINTER1),Y
1705 STA (POINTER1),Y
1710 .4 INY
1715 CPY #$2C
1720 BCS .3
1725 CPY #$04
1730 BCC .3
1735 LDA TABLE35,X
1740 EOR #$FF
1745 AND (POINTER1),Y
1750 STA (POINTER1),Y
1755 .3 RTS
1760 .1 CPY #$04
1765 BCC .5
1770 LDA TABLE34,X
1775 ORA (POINTER4),Y
1780 STA (POINTER1),Y
1785 .5 INY
1790 CPY #$2C
1795 BCS .3
1800 CPY #$04
1805 BCC .3
1810 LDA TABLE35,X
1815 ORA (POINTER4),Y
1820 STA (POINTER1),Y
1825 RTS
1830 TABLE27 .HS 06000102030405
1835 TABLE33 .HS 02030303020303
1840 TABLE34 .HS 2820001450400A
1845 TABLE35 .HS 00010500000200
1850 SWTR.POS.6
1855 LDA TEMP3
1860 BEQ .3
1865 LDY MANX
1870 DEY
1875 STY SWTRX
1880 LDA MANY
1885 CLC
1890 ADC #$06
1895 STA SWTRY
1900 JSR GET.BLOCK3
1905 LDY MANX
1910 DEY
1915 STY SWTRX
1920 LDA MANY
1925 CLC
1930 ADC #$0A
1935 STA SWTRY
1940 JSR GET.BLOCK3
1945 .3 LDA MANY
1950 CLC
1955 ADC #$06
1960 STA SWTRY
1965 LDX MANXX
1970 LDA TABLE27,X
1975 STA SWTRXX
1980 LDY MANX
1985 DEY
1990 TXA
1995 AND #$03
2000 BNE .1
2005 DEY
2010 .1 STY SWTRX
2015 JSR SWTR.HEAD
2020 LDA MANY
2025 CLC
2030 ADC #$08
2035 TAY
2040 LDA (SCRPNT1),Y
2045 STA POINTER1+1
2050 CLC
2055 ADC #$60
2060 STA POINTER4+1
2065 LDA (SCRPNT2),Y
2070 STA POINTER1
2075 STA POINTER4
2080 LDY MANX
2085 DEY
2090 CPY #$2C
2095 BCS .4
2100 LDA TEMP3
2105 BEQ .2
2110 CPY #$04
2115 BCC .5
2120 EOR TABLE36,X
2125 AND (POINTER1),Y
2130 STA (POINTER1),Y
2135 .5 INY
2140 CPY #$2C
2145 BCS .4
2150 CPY #$04
2155 BCC .4
2160 LDA TABLE37,X
2165 EOR #$FF
2170 AND (POINTER1),Y
2175 STA (POINTER1),Y
2180 .4 RTS
2185 .2 CPY #$04
2190 BCC .6
2195 LDA TABLE36,X
2200 ORA (POINTER4),Y
2205 STA (POINTER1),Y
2210 .6 INY
2215 CPY #$2C
2220 BCS .4
2225 CPY #$04
2230 BCC .4
2235 LDA TABLE37,X
2240 ORA (POINTER4),Y
2245 STA (POINTER1),Y
2250 RTS
2255 TABLE36 .HS 40000020000005
2260 TABLE37 .HS 020A2801051400
2265 SWTR.POS.7
2270 LDA TEMP3
2275 BEQ .6
2280 LDX MANXX
2285 LDA TABLE43,X
2290 CLC
2295 ADC MANX
2300 TAY
2305 LDA MANY
2310 ADC #$FB
2315 STA SWTRY
2320 JSR GET.BLOCK3
2325 LDA MANX
2330 CLC
2335 ADC #$02
2340 TAY
2345 LDA SWTRY
2350 JSR GET.BLOCK3
2355 .6 LDA MANY
2360 SEC
2365 SBC #$05
2370 STA SWTRY
2375 LDX MANXX
2380 LDY MANX
2385 INY
2390 INY
2395 LDA TABLE32,X
2400 STA SWTRXX
2405 BNE .1
2410 INY
2415 .1 STY SWTRX
2420 JSR SWTR.HEAD
2425 LDA TABLE31,X
2430 STA TEMP2
2435 CMP #$03
2440 BCC .2
2445 DEY
2450 .2 STY TEMP1
2455 JSR P.E
2460 INC SWTRY
2465 JSR P.E
2470 INC SWTRY
2475 .3 LDA TABLE38,X
2480 STA TEMP2
2485 LDY MANX
2490 INY
2495 INY
2500 CMP #$01
2505 BNE .5
2510 INY
2515 .5 STY TEMP1
2520 JSR P.E
2525 INC SWTRY
2530 JSR P.E
2535 INC SWTRY
2540 JMP P.E
2545 .4 RTS
2550 TABLE38 .HS 01041040020820
2555 SWTR.POS.8
2560 LDA TEMP3
2565 BEQ .3
2570 LDX MANXX
2575 LDA TABLE50,X
2580 CLC
2585 ADC MANX
2590 TAY
2595 LDA MANY
2600 CLC
2605 ADC #$FB
2610 STA SWTRY
2615 JSR GET.BLOCK3
2620 LDY MANX
2625 LDA SWTRY
2630 JSR GET.BLOCK3
2635 .3 LDA MANY
2640 SEC
2645 SBC #$05
2650 STA SWTRY
2655 LDY MANX
2660 LDX MANXX
2665 LDA TABLE39,X
2670 STA SWTRXX
2675 AND #$03
2680 BEQ .1
2685 DEY
2690 .1 STY SWTRX
2695 JSR SWTR.HEAD
2700 LDA TABLE31,X
2705 STA TEMP2
2710 LDA MANX
2715 CLC
2720 ADC TABLE40,X
2725 STA TEMP1
2730 JSR P.E
2735 INC SWTRY
2740 JSR P.E
2745 INC SWTRY
2750 LDA TABLE41,X
2755 LDY MANX
2760 CMP #$40
2765 BNE .2
2770 DEY
2775 .2 STA TEMP2
2780 STY TEMP1
2785 JSR P.E
2790 INC SWTRY
2795 JSR P.E
2800 INC SWTRY
2805 JMP P.E
2810 TABLE39 .HS 01020304050600
2815 TABLE40 .HS 00FFFF0000FF00
2820 TABLE41 .HS 10400208200104
2825 TABLE50 .HS FFFF0000FFFF00
2830 SWTR.POS.9
2835 LDA TEMP3
2840 BEQ .1
2845 LDX MANXX
2850 LDA TABLE30A,X
2855 CLC
2860 ADC MANX
2865 TAY
2870 LDA MANY
2875 CLC
2880 ADC #$14
2885 STA SWTRY
2890 JSR GET.BLOCK3
2895 LDY MANX
2900 INY
2905 INY
2910 INY
2915 LDA SWTRY
2920 JSR GET.BLOCK3
2925 .1 LDA MANY
2930 CLC
2935 ADC #$10
2940 STA SWTRY
2945 LDX MANXX
2950 LDA TABLE42,X
2955 STA SWTRXX
2960 LDA TABLE43,X
2965 CLC
2970 ADC MANX
2975 STA SWTRX
2980 JSR SWTR.HEAD
2985 LDA MANY
2990 CLC
2995 ADC #$0D
3000 STA SWTRY
3005 LDA MANX
3010 ADC TABLE44,X
3015 STA TEMP1
3020 LDA TABLE45,X
3025 STA TEMP2
3030 JSR P.E
3035 INC SWTRY
3040 CLC
3045 LDA MANX
3050 ADC TABLE46,X
3055 STA TEMP1
3060 LDA TABLE38,X
3065 STA TEMP2
3070 JSR P.E
3075 INC SWTRY
3080 LDA MANX
3085 CLC
3090 ADC TABLE47,X
3095 STA TEMP1
3100 LDA TABLE31,X
3105 STA TEMP2
3110 JMP P.E
3115 TABLE30A .HS 02020303020203
3120 TABLE42 .HS 05060001020304
3125 TABLE43 .HS 02020303020203
3130 TABLE44 .HS 02030202020202
3135 TABLE45 .HS 20010410400208
3140 TABLE46 .HS 03030202030202
3145 TABLE47 .HS 03030203030203
3150 SWTR.POS.A
3155 LDA TEMP3
3160 BEQ .2
3165 LDX MANXX
3170 LDA TABLE51,X
3175 CLC
3180 ADC MANX
3185 TAY
3190 LDA MANY
3195 CLC
3200 ADC #$15
3205 STA SWTRY
3210 JSR GET.BLOCK3
3215 LDY MANX
3220 DEY
3225 LDA SWTRY
3230 JSR GET.BLOCK3
3235 .2 LDA MANY
3240 CLC
3245 ADC #$10
3250 STA SWTRY
3255 LDX MANXX
3260 STX SWTRXX
3265 LDY MANX
3270 DEY
3275 STY SWTRX
3280 JSR SWTR.HEAD
3285 LDA MANY
3290 CLC
3295 ADC #$0D
3300 STA SWTRY
3305 LDY MANX
3310 LDA MANXX
3315 BNE .1
3320 DEY
3325 .1 STY TEMP1
3330 LDA TABLE48,X
3335 STA TEMP2
3340 JSR P.E
3345 INC SWTRY
3350 LDA MANX
3355 CLC
3360 ADC TABLE30,X
3365 STA TEMP1
3370 LDA TABLE41,X
3375 STA TEMP2
3380 JSR P.E
3385 INC SWTRY
3390 LDA MANX
3395 CLC
3400 ADC TABLE49,X
3405 STA TEMP1
3410 LDA TABLE31,X
3415 STA TEMP2
3420 JMP P.E
3425 TABLE48 .HS 40020820010410
3430 TABLE49 .HS FFFFFF00FFFF00
3435 TABLE51 .HS FFFF0000FF0000
3440 SWTR.POS.B
3445 LDA TEMP3
3450 BEQ .4
3455 LDX MANXX
3460 LDA TABLE52,X
3465 CLC
3470 ADC MANX
3475 TAY
3480 LDA MANY
3485 ADC #$F9
3490 JSR GET.BLOCK3
3495 LDY MANX
3500 INY
3505 LDA MANY
3510 CLC
3515 ADC #$F9
3520 JSR GET.BLOCK3
3525 .4 LDA MANY
3530 SEC
3535 SBC #$08
3540 STA SWTRY
3545 LDX MANXX
3550 STX SWTRXX
3555 LDY MANX
3560 INY
3565 STY SWTRX
3570 JSR SWTR.HEAD
3575 LDA TABLE31,X
3580 STA TEMP2
3585 CMP #$03
3590 BCC .1
3595 DEY
3600 .1 STY TEMP1
3605 LDX #$05
3610 .2 JSR P.E
3615 INC SWTRY
3620 DEX
3625 BNE .2
3630 .3 RTS
3635 TABLE52 .HS 01010202010202
3640 SWTR.POS.C
3645 LDA TEMP3
3650 BEQ .5
3655 LDX MANXX
3660 LDA TABLE53,X
3665 CLC
3670 ADC MANX
3675 TAY
3680 LDA MANY
3685 ADC #$16
3690 JSR GET.BLOCK3
3695 LDY MANX
3700 INY
3705 LDA MANY
3710 CLC
3715 ADC #$16
3720 JSR GET.BLOCK3
3725 .5 LDA MANY
3730 CLC
3735 ADC #$14
3740 STA SWTRY
3745 LDY MANX
3750 LDX MANXX
3755 LDA TABLE32,X
3760 STA SWTRXX
3765 BNE .1
3770 INY
3775 .1 STY SWTRX
3780 JSR SWTR.HEAD
3785 LDA MANY
3790 CLC
3795 ADC #$0F
3800 STA SWTRY
3805 LDA TABLE31,X
3810 STA TEMP2
3815 CMP #$03
3820 BCC .2
3825 DEY
3830 .2 STY TEMP1
3835 LDX #$05
3840 .3 JSR P.E
3845 INC SWTRY
3850 DEX
3855 BNE .3
3860 LDA PROTECT
3865 CMP #$20
3870 BEQ .97
3875 INC SCRPNT2+1
3880 .97 RTS
3885 TABLE32 .HS 04050600010203
3890 TABLE53 .HS 00000101000001
3895 P.E
3900 LDY SWTRY
3905 LDA (SCRPNT1),Y
3910 STA POINTER1+1
3915 CLC
3920 ADC #$60
3925 STA POINTER4+1
3930 LDA (SCRPNT2),Y
3935 STA POINTER1
3940 STA POINTER4
3945 LDY TEMP1
3950 CPY #$2C
3955 BCS .2
3960 CPY #$04
3965 BCC .2
3970 LDA TEMP3
3975 BEQ .1
3980 LDA TEMP2
3985 EOR #$FF
3990 AND (POINTER1),Y
3995 STA (POINTER1),Y
4000 RTS
4005 .1 LDA (POINTER4),Y
4010 AND TEMP2
4015 ORA (POINTER1),Y
4020 STA (POINTER1),Y
4025 .2 RTS
4030 PLOT.NEW.SWTR
4035 LDA #$FF
4040 STA TEMP3
4045 LDX NEXTSTATE
4050 K1 LDA TABLE54,X
4055 STA POINTER1+1
4060 LDA TABLE55,X
4065 STA POINTER1
4070 JMP (POINTER1)
4075 ERASE.OLD.SWTR
4080 LDA MANX
4085 PHA
4090 LDA MANXOLD
4095 STA MANX
4100 LDA MANY
4105 PHA
4110 LDA MANYOLD
4115 STA MANY
4120 LDA MANXX
4125 PHA
4130 LDA MANXXOLD
4135 STA MANXX
4140 LDA #$00
4145 STA TEMP3
4150 LDX MANSTATE
4155 JSR K1
4160 PLA
4165 STA MANXX
4170 PLA
4175 STA MANY
4180 PLA
4185 STA MANX
4190 RTS
4195 TABLE54 .HS 00505050505051525253535454
4200 TABLE55 .HS 003C3C9898FEB258CE54F97CCC
4205 VACATE.ANTS.BLOCKS
4210 LDA ANTY
4215 AND #$07
4220 BEQ .2
4225 JSR SET.BLOCK.VACANT.Z
4230 LDA ANTY
4235 CLC
4240 ADC #$08
4245 STA ANTY
4250 JSR SET.BLOCK.VACANT.Z
4255 LDA ANTXX
4260 AND #$03
4265 BNE .1
4270 RTS
4275 .1 INC ANTX
4280 JSR SET.BLOCK.VACANT.Z
4285 LDA ANTY
4290 SEC
4295 SBC #$08
4300 STA ANTY
4305 JMP SET.BLOCK.VACANT.Z
4310 .2 JSR SET.BLOCK.VACANT.Z
4315 LDA ANTXX
4320 AND #$03
4325 BNE .3
4330 RTS
4335 .3 INC ANTX
4340 JMP SET.BLOCK.VACANT.Z
4345 GET.BLOCK3
4350 LSR
4355 LSR
4360 LSR
4365 TAX
4370 INC SWTRCOUNT
4375 LDA SWTRCOUNT
4380 AND #$03
4385 BNE .9
4390 LDA MANDIR
4395 BPL .9
4400 JSR SWTR.SOUND.Z
4405 .9 LDA AALSBYT,X
4410 STA POINTER3
4415 LDA AAMSBYT,X
4420 STA POINTER3+1
4425 LDA (POINTER3),Y
4430 STA TEMP1
4435 AND #$40
4440 STA (POINTER3),Y
4445 LDA TEMP1
4450 AND #$BF
4455 BNE .1
4460 RTS
4465 .1 BPL .2
4470 LDA TEMP1
4475 AND #$7F
4480 STA (POINTER3),Y
4485 LDA #$04
4490 JSR VACATE.WASPS.BLOCKS.Z
4495 JSR SWAT.WASP.SOUND
4500 JSR PLOT.WASP.Z
4505 LDA #$04
4510 JMP SCORE
4515 .3 STA (POINTER3),Y
4520 RTS
4525 .2 CMP #$01
4530 BEQ .3
4535 CMP #$20
4540 BCC .4
4545 TAY
4550 LDA ANTNUM
4555 PHA
4560 TYA
4565 AND #$1F
4570 STA ANTNUM
4575 TAY
4580 LDA ANTBYT4,Y
4585 BPL .7
4590 AND #$1F
4595 TAX
4600 LDA DESTBYT1,X
4605 AND #$BF
4610 STA DESTBYT1,X
4615 LDA #$07
4620 STA ANTBYT4,Y
4625 LDA DESTBYT1,X
4630 AND #$3F
4635 TAY
4640 LDA DESTBYT2,X
4645 LSR
4650 LSR
4655 LSR
4660 TAX
4665 LDA AAMSBYT,X
4670 STA POINTER1+1
4675 LDA AALSBYT,X
4680 STA POINTER1
4685 LDA (POINTER1),Y
4690 AND #$40
4695 STA (POINTER1),Y
4700 JSR PLOT.SPLAT.Z
4705 JMP .8
4710 .7 LDA #$07
4715 STA ANTBYT4,Y
4720 JSR PLOT.SPLAT.Z
4725 JSR VACATE.ANTS.BLOCKS
4730 .8 PLA
4735 STA ANTNUM
4740 LDA #$01
4745 JSR SCORE
4750 JMP SWAT.ANT.SOUND
4755 .4 CMP #$03
4760 BEQ .6
4765 CMP #$10
4770 BCS .5
4775 AND #$07
4780 TAY
4785 LDA #$02
4790 STA SPIDERBYT4,Y
4795 LDA SPIDERNUM
4800 PHA
4805 STY SPIDERNUM
4810 JSR PLOT.SPIDER.Z
4815 PLA
4820 STA SPIDERNUM
4825 LDA #$02
4830 JSR SCORE
4835 JMP SWAT.SPIDER.SOUND
4840 .6 JMP ERASE.WEB.Z
4845 .5 STA BYFOOD
4850 LDA TEMP1
4855 STA (POINTER3),Y
4860 RTS
4865 TABLE56 .HS 02030303020303
4870 SCORE
4875 SED
4880 STA TEMP1
4885 LDY ROUND
4890 .2 DEY
4895 BEQ .1
4900 CLC
4905 ADC TEMP1
4910 BNE .2
4915 .1 STA TEMP1
4920 LDX PLAYERNUM
4925 CLC
4930 ADC $90,X
4935 STA $90,X
4940 BCC .3
4945 INX
4950 LDA $90,X
4955 CLC
4960 ADC #$01
4965 STA $90,X
4970 AND #$0F
4975 CMP #$05
4980 BNE .3
4985 JSR SET.SPRAY.CAN
4990 .3 CLD
4995 LDX PLAYERNUM
5000 JSR .4
5005 INX
5010 .4 LDA $90,X
5015 AND #$0F
5020 STA TEMP1
5025 LDY TABLE300,X
5030 JSR PLOT.NUM
5035 LDA $90,X
5040 LSR
5045 LSR
5050 LSR
5055 LSR
5060 STA TEMP1
5065 LDY TABLE300,X
5070 DEY
5075 PLOT.NUM
5080 LDA #$38
5085 BNE PLOT.NUM3
5090 PLOT.NUM2
5095 STA TEMP1
5100 LDA #$3B
5105 PLOT.NUM3
5110 STA POINTER1+1
5115 LDA #$06
5120 STA HEIGHT
5125 STY TEMP2
5130 TXA
5135 PHA
5140 LDA #$00
5145 STA POINTER1
5150 STA POINTER4
5155 LDA #$98
5160 STA POINTER4+1
5165 LDX TEMP1
5170 LDA #$65
5175 STA POINTER2+1
5180 LDA TABLE301,X
5185 STA POINTER2
5190 .1 LDY HEIGHT
5195 LDA (POINTER2),Y
5200 LDY TEMP2
5205 STA (POINTER1),Y
5210 STA (POINTER4),Y
5215 LDA POINTER1+1
5220 SEC
5225 SBC #$04
5230 STA POINTER1+1
5235 CLC
5240 ADC #$60
5245 STA POINTER4+1
5250 DEC HEIGHT
5255 BPL .1
5260 PLA
5265 TAX
5270 RTS
5275 TABLE300 .HS 0D0B2624
5280 TABLE301 .HS C98A91989FA6ADB4BBC2
5285 SWAT.WASP.SOUND
5290 LDY #$80
5295 JSR .1
5300 LDY #$50
5305 JSR .1
5310 LDY #$20
5315 JSR .1
5320 LDY #$50
5325 JSR .1
5330 LDY #$80
5335 .1 STY TEMP1
5340 LDA #$18
5345 BNE R1
5350 SWAT.ANT.SOUND
5355 LDY #$6D
5360 JSR .1
5365 LDY #$74
5370 JSR .1
5375 LDY #$83
5380 .1 STY TEMP1
5385 LDA #$18
5390 R1 STA TEMP2
5395 .2 LDY TEMP1
5400 LDA $C030
5405 .3 DEY
5410 BNE .3
5415 DEC TEMP2
5420 BNE .2
5425 RTS
5430 SWAT.SPIDER.SOUND
5435 LDY #$50
5440 JSR .1
5445 LDY #$30
5450 JSR .1
5455 LDY #$50
5460 .1 STY TEMP1
5465 LDA #$30
5470 BNE R1
5475 RTS
5480 SET.SPRAY.CAN
5485 LDX PLAYERNUM
5490 STA SET.CAN1,X
5495 LDY #$10
5500 CPX #$02
5505 BNE .1
5510 LDY #$17
5515 .1 LDA #$18
5520 STA $2000,Y
5525 LDA #$7F
5530 STA $2400,Y
5535 STA $3C00,Y
5540 LDA #$3E
5545 STA $2800,Y
5550 STA $3C00,Y
5555 LDA #$3E
5560 STA $2800,Y
5565 STA $3800,Y
5570 LDA #$49
5575 STA $2C00,Y
5580 STA $3400,Y
5585 LDA #$63
5590 STA $3000,Y
5595 LDA #$70
5600 .2 STA TEMP1
5605 LDA #$10
5610 JSR R1
5615 LDA TEMP1
5620 SBC #$10
5625 BPL .2
5630 .LI ON
5635 RTS
5640 .LI OFF