0010 .LI OFF 0020 TEMP1 .EQ $F0 0030 TEMP2 .EQ $F1 0040 TEMP3 .EQ $F2 0050 TEMP4 .EQ $FF 0060 TEMP5 .EQ $94 0070 SCRPNT1 .EQ $F5 0080 SCRPNT2 .EQ $F7 0090 POINTER1 .EQ $F9 0100 POINTER2 .EQ $FB 0110 POINTER3 .EQ $FD 0120 POINTER4 .EQ $EE 0130 HEIGHT .EQ $ED 0140 PATINDEX .EQ $EC 0150 AAMSBYT .EQ $10C0 0160 AALSBYT .EQ $10E0 0170 ANTBYT1 .EQ $1000 0180 ANTBYT2 .EQ $1020 0190 ANTBYT3 .EQ $1040 0200 ANTBYT4 .EQ $1060 0210 ANTXOLD .EQ $D5 0220 ANTYOLD .EQ $D4 0230 ANTXXOLD .EQ $D3 0240 ANTX .EQ $DC 0250 ANTY .EQ $DB 0260 ANTXX .EQ $DA 0270 ANTNUM .EQ $D8 0280 DESTBYT1 .EQ $1080 0290 DESTBYT2 .EQ $10A0 0300 K8 .EQ $AF 0310 INIT.K8 .EQ $AE 0320 FOODNUM .EQ $AD 0330 FOODX .EQ $AC 0340 FOODY .EQ $AB 0350 FOODBYT1 .EQ $65D0 0360 FOODBYT2 .EQ $65D8 0370 FOODBYT3 .EQ $65E0 0380 ANTHOLD .EQ $65E8 0390 BYTE3 .EQ $AA 0400 WIDTH .EQ $A9 0410 FOODHEIGHT .EQ $A8 0420 SWAT .EQ $C5 0430 MANDIR .EQ $C8 0440 GRAB.FOOD .EQ $B7 0450 BYFOOD .EQ $B6 0460 MANSTATE .EQ $C7 0470 MANXX .EQ $CA 0480 SPIDERBYT4 .EQ $4118 0490 ANTPOSITIONS .EQ $65F0 0500 ANTPOS .EQ $A7 0510 ORIENT .EQ $A6 0520 ANT.ORIENTATIONS .EQ $65F8 0530 STING.MAN.Z .EQ $600F 0540 ERASE.ANT.Z .EQ $170F 0550 PLOT.ANT4.Z .EQ $1703 0560 PLOT.FOOD.Z .EQ $6959 0570 CHKBLK.Z .EQ $695C 0580 PUSH.FOOD.SOUND.Z .EQ $6950 0590 SET.OFF.SCREEN.Z .EQ $695F 0600 .OR $6EC0 0610 .TA $1EC0 0620 TABLE93 .HS 0C111B210C121B22 0630 TABLE94 .HS 0808080911131311 0640 TABLE95 .HS 0400000004000004 0650 TABLE100 .HS 6666666767686868 0660 TABLE101 .HS 0080C00090205090 0670 TABLE102 .HS 4080C048D82050D0 0680 TABLE103 .HS 2010101818101020 0690 TABLE104 .HS 0204030303030402 0700 TABLE105 .HS FF03070A0D101317 0710 TABLE106 .HS 03070A0D1013171B 0720 TABLE107 .HS 0303020202020303 0730 TABLE108 .HS 4000006040202060 0740 TABLE109 .HS 0000080810101818 0750 TABLE110 .HS 0201010102010101FEFFFFFFFFFFFFFF0302020203020202FEFFFFFFFFFFFFFF 0760 TABLE111 .HS 0001020304040506030302010006050404040506000102030303020100060504 0770 TABLE112 .HS 40111B4888121B88 0780 TABLE113 .HS 0000000200010101 0790 TABLE114 .HS FFFFFF01FF010101 0800 TABLE115 .HS 0C00000C14000015 0810 TABLE116 .HS 0201012C011A1A2C 0820 TABLE117 .HS 04080B0E1114181C 0830 TABLE118 .HS 0004080B0E111418 0840 TABLE119 .HS 0117172F0117172F 0850 TABLE120 .HS 020202FF03FFFFFF 0860 TABLE121 .HS 7008087070E0E070 0870 TABLE122 .HS 0303020202020303 0880 TABLE123 .HS 00FFFF0000FFFF00 0890 TABLE124 .HS 0101010101010101FFFFFFFF00FFFFFF0202020202020202FFFFFFFF00FFFFFF 0900 TABLE125 .HS 0303032B0219192B 0910 TABLE126 .HS 10090A0B0C0D0E0F10090A0B0C0D0E0FF8FFFEFDFCFBFAF9F8FFFEFDFCFBFAF9 0920 TABLE127 .HS 03F8F803FE0808FE 0930 TABLE128 .HS 030303FE04FEFEFE 0940 TABLE129 .HS 08090A0B03030303030303090A0B1112131919191919191911121314 0950 TABLE130 .HS 04040404111213141B1C1D2B2B2B0404041213141B1C1D1E2B2B2B2B 0960 TABLE131 .HS 0905052508161625 0970 .OR $7060 0980 .TA $2060 0990 JMP VERT.FOOD 1000 JMP VERT.FOOD2 1010 JMP UPDATE.VERT.DESTBYTS2 1020 .BS $03 1030 VERT.FOOD 1040 LDX FOODNUM 1050 LDY TABLE122,X 1060 LDA TABLE105,X 1070 STA TEMP1 1080 LDA TABLE107,X 1090 VERT.FOOD2 1100 STA TEMP2 1110 LDA BYTE3 1120 BMI .1 1130 RTS 1140 .1 LDA TABLE106,X 1150 TAX 1160 LDA #$00 1170 STA TEMP3 1180 .3 LDA DESTBYT1,X 1190 AND #$40 1200 STA ANTHOLD,Y 1210 BEQ .2 1220 INC TEMP3 1230 .2 DEY 1240 DEX 1250 CPX TEMP1 1260 BNE .3 1270 LDY TEMP3 1280 CPY TEMP2 1290 BCS .4 1300 JSR UPDATE.HORIZ.ANTBYTS 1310 JSR PLOT.HORIZ.ANTS 1320 LDA BYTE3 1330 AND #$FD 1340 LDX FOODNUM 1350 STA FOODBYT3,X 1360 LSR 1370 BCC .5 1380 RTS 1390 .5 JMP PLOT.FOOD.Z 1400 .4 INC ORIENT 1410 LDA ORIENT 1420 LDX FOODNUM 1430 STA ANT.ORIENTATIONS,X 1440 LDA BYTE3 1450 AND #$84 1460 ORA #$02 1470 STA BYTE3 1480 STA FOODBYT3,X 1490 JSR ERASE.HORIZ.ANTS 1500 LDX ANTPOS 1510 DEX 1520 BPL .6 1530 LDX #$07 1540 .6 STX ANTPOS 1550 LDY FOODNUM 1560 LDA ANTPOS 1570 STA ANTPOSITIONS,Y 1580 BEQ .7 1590 JSR PLOT.HORIZ.ANTS 1600 JSR UPDATE.HORIZ.ANTBYTS 1610 JMP PLOT.FOOD.Z 1620 .7 JSR PUSH.FOOD.SOUND.Z 1630 JSR UPDATE.VERT.DESTBYTS 1640 LDA FOODY 1650 CLC 1660 ADC TABLE114,X 1670 STA FOODY 1680 STA FOODBYT2,X 1690 CMP TABLE131,X 1700 BNE .14 1710 LDA #$86 1720 STA FOODBYT3,X 1730 LDA FOODY 1740 .14 CLC 1750 ADC TABLE113,X 1760 STA TEMP4 1770 TAX 1780 LDY FOODX 1790 JSR CHKBLK.Z 1800 LDY FOODX 1810 INY 1820 LDX TEMP4 1830 JSR CHKBLK.Z 1840 LDY FOODX 1850 INY 1860 INY 1870 LDX TEMP4 1880 JSR CHKBLK.Z 1890 LDA FOODNUM 1900 CMP #$02 1910 BEQ .18 1920 CMP #$05 1930 BEQ .18 1940 LDY FOODX 1950 INY 1960 INY 1970 INY 1980 LDX TEMP4 1990 JSR CHKBLK.Z 2000 .18 JSR MOVE.HORIZ.ANTS.BLOCKS 2010 JSR PLOT.FOOD.Z 2020 JSR UPDATE.HORIZ.ANTBYTS 2030 LDA FOODX 2040 STA TEMP3 2050 LDX FOODNUM 2060 LDA TABLE104,X 2070 STA WIDTH 2080 LDA FOODY 2090 CLC 2100 ADC TABLE120,X 2110 JSR ERASE.ROW 2120 JSR PLOT.HORIZ.ANTS 2130 LDX FOODNUM 2140 LDA TABLE116,X 2150 CMP FOODY 2160 EXT2 2170 BEQ .19 2180 RTS 2190 .19 LDY TABLE118,X 2200 LDA TABLE117,X 2210 STA TEMP1 2220 LDA TABLE121,X 2230 .20 STA DESTBYT2,Y 2240 INY 2250 CPY TEMP1 2260 BNE .20 2270 LDA #$00 2280 STA FOODBYT3,X 2290 LDY #$11 2300 JSR .21 2310 LDY #$1B 2320 JSR .21 2330 JMP SET.OFF.SCREEN.Z 2340 .21 LDA #$04 2350 STA WIDTH 2360 LDA #$00 2370 .22 STA $1AC0,Y 2380 STA $1AF0,Y 2390 STA $1F70,Y 2400 STA $1FA0,Y 2410 INY 2420 DEC WIDTH 2430 BNE .22 2440 RTS 2450 UPDATE.HORIZ.ANTBYTS 2460 LDX FOODNUM 2470 LDA FOODY 2480 CLC 2490 ADC TABLE120,X 2500 STA TEMP4 2510 LDA TABLE122,X 2520 STA TEMP1 2530 CLC 2540 ADC FOODX 2550 STA TEMP2 2560 .3 LDX TEMP1 2570 LDA ANTHOLD,X 2580 BEQ .1 2590 JSR .2 2600 .1 DEC TEMP2 2610 DEC TEMP1 2620 LDA TEMP2 2630 CMP FOODX 2640 BCS .3 2650 RTS 2660 .2 LDX TEMP4 2670 LDY TEMP2 2680 LDA AAMSBYT,X 2690 STA POINTER1+1 2700 LDA AALSBYT,X 2710 STA POINTER1 2720 LDA (POINTER1),Y 2730 AND #$1F 2740 TAY 2750 TXA 2760 ASL 2770 ASL 2780 ASL 2790 STA TEMP3 2800 LDX FOODNUM 2810 LDA ANTPOS 2820 CLC 2830 ADC TABLE133,X 2840 TAX 2850 LDA TABLE132,X 2860 ADC TEMP3 2870 STA ANTBYT2,Y 2880 RTS 2890 UPDATE.VERT.DESTBYTS 2900 LDX FOODNUM 2910 LDA TABLE127,X 2920 UPDATE.VERT.DESTBYTS2 2930 STA TEMP1 2940 LDA TABLE122,X 2950 STA WIDTH 2960 LDY TABLE118,X 2970 .6 JSR .5 2980 INY 2990 DEC WIDTH 3000 BPL .6 3010 RTS 3020 .5 LDA DESTBYT2,Y 3030 CLC 3040 ADC TEMP1 3050 STA DESTBYT2,Y 3060 RTS 3070 PLOT.HORIZ.ANTS 3080 LDA #$08 3090 STA POINTER1+1 3100 LDX FOODNUM 3110 LDA TABLE108,X 3120 STA POINTER1 3130 LDA ORIENT 3140 AND #$01 3150 BEQ .4 3160 LDA #$10 3170 CLC 3180 ADC POINTER1 3190 STA POINTER1 3200 .4 LDA #$00 3210 CPX #$05 3220 BNE .1 3230 LDA #$04 3240 .1 STA ANTXX 3250 LDA TABLE112,X 3260 STA ANTX 3270 LDA FOODY 3280 ASL 3290 ASL 3300 ASL 3310 STA TEMP1 3320 LDA ANTPOS 3330 CLC 3340 ADC TABLE109,X 3350 TAY 3360 LDA TABLE126,Y 3370 CLC 3380 ADC TEMP1 3390 STA ANTY 3400 LDY #$00 3410 STY TEMP4 3420 LDA TABLE104,X 3430 STA WIDTH 3440 .3 LDY TEMP4 3450 LDA ANTHOLD,Y 3460 BEQ .2 3470 JSR PLOT.ANT4.Z 3480 .2 INC ANTX 3490 LDA ANTXX 3500 EOR #$04 3510 STA ANTXX 3520 INC TEMP4 3530 DEC WIDTH 3540 BNE .3 3550 RTS 3560 MOVE.HORIZ.ANTS.BLOCKS 3570 LDX FOODNUM 3580 LDA FOODY 3590 CLC 3600 ADC TABLE128,X 3610 STA TEMP4 3620 LDA TABLE122,X 3630 STA TEMP1 3640 CLC 3650 ADC FOODX 3660 STA TEMP2 3670 .3 LDX TEMP1 3680 LDA ANTHOLD,X 3690 BEQ .1 3700 JSR .4 3710 BNE .2 3720 .1 JSR .5 3730 .2 DEC TEMP2 3740 DEC TEMP1 3750 LDA TEMP2 3760 CMP FOODX 3770 BCS .3 3780 RTS 3790 .5 LDX FOODNUM 3800 LDA TEMP4 3810 CLC 3820 ADC TABLE114,X 3830 TAX 3840 LDY TEMP2 3850 LDA AAMSBYT,X 3860 STA POINTER1+1 3870 LDA AALSBYT,X 3880 STA POINTER1 3890 LDA (POINTER1),Y 3900 AND #$C0 3910 STA (POINTER1),Y 3920 RTS 3930 .4 LDY TEMP2 3940 LDX TEMP4 3950 LDA AAMSBYT,X 3960 STA POINTER1+1 3970 LDA AALSBYT,X 3980 STA POINTER1 3990 LDA (POINTER1),Y 4000 AND #$3F 4010 STA TEMP3 4020 LDA (POINTER1),Y 4030 AND #$C0 4040 STA (POINTER1),Y 4050 TXA 4060 LDX FOODNUM 4070 CLC 4080 ADC TABLE114,X 4090 TAX 4100 LDA AAMSBYT,X 4110 STA POINTER1+1 4120 LDA AALSBYT,X 4130 STA POINTER1 4140 LDA (POINTER1),Y 4150 AND #$C0 4160 ORA TEMP3 4170 STA (POINTER1),Y 4180 RTS 4190 ERASE.HORIZ.ANTS 4200 LDX FOODNUM 4210 LDA #$00 4220 CPX #$05 4230 BNE .1 4240 LDA #$04 4250 .1 STA ANTXXOLD 4260 LDA TABLE112,X 4270 STA ANTXOLD 4280 LDA FOODY 4290 ASL 4300 ASL 4310 ASL 4320 STA TEMP1 4330 LDA ANTPOS 4340 CLC 4350 ADC TABLE109,X 4360 TAY 4370 LDA TABLE126,Y 4380 CLC 4390 ADC TEMP1 4400 STA ANTYOLD 4410 STA TEMP4 4420 LDY #$00 4430 STY TEMP1 4440 LDA TABLE104,X 4450 STA WIDTH 4460 .3 LDY TEMP1 4470 LDA ANTHOLD,Y 4480 BEQ .2 4490 LDA TEMP4 4500 STA ANTYOLD 4510 JSR ERASE.ANT.Z 4520 .2 INC ANTXOLD 4530 LDA ANTXXOLD 4540 EOR #$04 4550 STA ANTXXOLD 4560 INC TEMP1 4570 DEC WIDTH 4580 BNE .3 4590 .LI ON 4600 RTS 4610 .LI OFF 4620 .OR $5F40 4630 .TA $2F40 4640 ERASE.ROW 4650 LDY #$08 4660 STY HEIGHT 4670 ASL 4680 ASL 4690 ASL 4700 STA TEMP2 4710 CMP #$70 4720 BCS .4 4730 CMP #$38 4740 BCC .5 4750 LDA #$10 4760 BNE .3 4770 .4 CMP #$B0 4780 BCS .14 4790 LDA #$F0 4800 .3 STA TEMP4 4810 .2 LDA WIDTH 4820 STA TEMP1 4830 LDY TEMP2 4840 LDA (SCRPNT1),Y 4850 STA POINTER1+1 4860 CLC 4870 ADC #$60 4880 STA POINTER4+1 4890 LDA (SCRPNT2),Y 4900 STA POINTER1 4910 STA POINTER4 4920 LDA TEMP2 4930 CLC 4940 ADC TEMP4 4950 TAY 4960 LDA (SCRPNT1),Y 4970 CLC 4980 ADC #$60 4990 STA POINTER2+1 5000 LDA (SCRPNT2),Y 5010 STA POINTER2 5020 LDY TEMP3 5030 .1 LDA (POINTER2),Y 5040 STA (POINTER1),Y 5050 STA (POINTER4),Y 5060 INY 5070 DEC TEMP1 5080 BNE .1 5090 INC TEMP2 5100 DEC HEIGHT 5110 BNE .2 5120 RTS 5130 .6 LDA #$80 5140 BNE .12 5150 .5 CMP #$20 5160 BCC .6 5170 .14 CMP #$C8 5180 BCS .6 5190 LDA #$00 5200 .12 STA TEMP4 5210 STA TEMP5 5220 .8 LDA TEMP3 5230 CMP #$12 5240 BEQ .7 5250 LDA #$55 5260 LDY #$2A 5270 JSR .13 5280 .9 LDA WIDTH 5290 STA TEMP1 5300 LDY TEMP2 5310 LDA (SCRPNT1),Y 5320 STA POINTER1+1 5330 CLC 5340 ADC #$60 5350 STA POINTER4+1 5360 LDA (SCRPNT2),Y 5370 STA POINTER1 5380 STA POINTER4 5390 LDY TEMP3 5400 .11 LDA TEMP4 5410 STA (POINTER1),Y 5420 STA (POINTER4),Y 5430 INY 5440 DEC TEMP1 5450 BEQ .10 5460 LDA TEMP5 5470 STA (POINTER1),Y 5480 STA (POINTER4),Y 5490 INY 5500 DEC TEMP1 5510 BNE .11 5520 .10 INC TEMP2 5530 DEC HEIGHT 5540 BNE .9 5550 RTS 5560 .7 LDA #$2A 5570 LDY #$55 5580 JSR .13 5590 BNE .9 5600 .13 ORA TEMP4 5610 STA TEMP4 5620 TYA 5630 ORA TEMP5 5640 STA TEMP5 5650 .LI ON 5660 RTS 5670 .OR $2F8 5680 .TA $2F8 5690 TABLE132 .HS 000706050403020100F9FAFBFCFDFEFF 5700 TABLE133 .HS 0008080000000000 5710 .LI OFF