mirror of
https://github.com/antoinevignau/source.git
synced 2024-12-29 11:30:55 +00:00
4d4fb6a665
Some old (WIP) disassemblies and my own source code now available online.
1129 lines
25 KiB
Plaintext
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
|