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 PLOT.HORIZ.ANTS 1310 LDA BYTE3 1320 AND #$FD 1330 LDX FOODNUM 1340 STA FOODBYT3,X 1350 LSR 1360 BCC .5 1370 RTS 1380 .5 JMP PLOT.FOOD.Z 1390 .4 INC ORIENT 1400 LDA ORIENT 1410 LDX FOODNUM 1420 STA ANT.ORIENTATIONS,X 1430 LDA BYTE3 1440 AND #$84 1450 ORA #$02 1460 STA BYTE3 1470 STA FOODBYT3,X 1480 JSR ERASE.HORIZ.ANTS 1490 LDX ANTPOS 1500 DEX 1510 BPL .6 1520 LDX #$07 1530 .6 STX ANTPOS 1540 JSR UPDATE.HORIZ.ANTBYTS 1550 LDY FOODNUM 1560 LDA ANTPOS 1570 STA ANTPOSITIONS,Y 1580 BEQ .7 1590 JSR PLOT.HORIZ.ANTS 1600 JMP PLOT.FOOD.Z 1610 .7 JSR PUSH.FOOD.SOUND.Z 1620 JSR UPDATE.VERT.DESTBYTS 1630 LDA FOODY 1640 CLC 1650 ADC TABLE114,X 1660 STA FOODY 1670 STA FOODBYT2,X 1680 CMP TABLE131,X 1690 BNE .14 1700 LDA #$86 1710 STA FOODBYT3,X 1720 LDA FOODY 1730 .14 CLC 1740 ADC TABLE113,X 1750 STA TEMP4 1760 TAX 1770 LDY FOODX 1780 JSR CHKBLK.Z 1790 LDY FOODX 1800 INY 1810 LDX TEMP4 1820 JSR CHKBLK.Z 1830 LDY FOODX 1840 INY 1850 INY 1860 LDX TEMP4 1870 JSR CHKBLK.Z 1880 LDA FOODNUM 1890 CMP #$02 1900 BEQ .18 1910 CMP #$05 1920 BEQ .18 1930 LDY FOODX 1940 INY 1950 INY 1960 INY 1970 LDX TEMP4 1980 JSR CHKBLK.Z 1990 .18 JSR MOVE.HORIZ.ANTS.BLOCKS 2000 JSR PLOT.FOOD.Z 2010 LDA FOODX 2020 STA TEMP3 2030 LDX FOODNUM 2040 LDA TABLE104,X 2050 STA WIDTH 2060 LDA FOODY 2070 CLC 2080 ADC TABLE120,X 2090 JSR ERASE.ROW 2100 JSR PLOT.HORIZ.ANTS 2110 LDX FOODNUM 2120 LDA TABLE116,X 2130 CMP FOODY 2140 EXT2 2150 BEQ .19 2160 RTS 2170 .19 LDY TABLE118,X 2180 LDA TABLE117,X 2190 STA TEMP1 2200 LDA TABLE121,X 2210 .20 STA DESTBYT2,Y 2220 INY 2230 CPY TEMP1 2240 BNE .20 2250 LDA #$00 2260 STA FOODBYT3,X 2270 LDY #$11 2280 JSR .21 2290 LDY #$1B 2300 JSR .21 2310 JMP SET.OFF.SCREEN.Z 2320 .21 LDA #$04 2330 STA WIDTH 2340 LDA #$00 2350 .22 STA $1AC0,Y 2360 STA $1AF0,Y 2370 STA $1F70,Y 2380 STA $1FA0,Y 2390 INY 2400 DEC WIDTH 2410 BNE .22 2420 RTS 2430 UPDATE.HORIZ.ANTBYTS 2440 LDX FOODNUM 2450 LDA FOODY 2460 CLC 2470 ADC TABLE120,X 2480 STA TEMP4 2490 LDA TABLE122,X 2500 STA TEMP1 2510 CLC 2520 ADC FOODX 2530 STA TEMP2 2540 .3 LDX TEMP1 2550 LDA ANTHOLD,X 2560 BEQ .1 2570 JSR .2 2580 .1 DEC TEMP2 2590 DEC TEMP1 2600 LDA TEMP2 2610 CMP FOODX 2620 BCS .3 2630 RTS 2640 .2 LDX TEMP4 2650 LDY TEMP2 2660 LDA AAMSBYT,X 2670 STA POINTER1+1 2680 LDA AALSBYT,X 2690 STA POINTER1 2700 LDA (POINTER1),Y 2710 AND #$1F 2720 TAY 2730 LDA ANTBYT2,Y 2740 CLC 2750 LDX FOODNUM 2760 ADC TABLE114,X 2770 STA ANTBYT2,Y 2780 RTS 2790 UPDATE.VERT.DESTBYTS 2800 LDX FOODNUM 2810 LDA TABLE127,X 2820 UPDATE.VERT.DESTBYTS2 2830 STA TEMP1 2840 LDA TABLE122,X 2850 STA WIDTH 2860 LDY TABLE118,X 2870 .6 JSR .5 2880 INY 2890 DEC WIDTH 2900 BPL .6 2910 RTS 2920 .5 LDA DESTBYT2,Y 2930 CLC 2940 ADC TEMP1 2950 STA DESTBYT2,Y 2960 RTS 2970 PLOT.HORIZ.ANTS 2980 LDA #$08 2990 STA POINTER1+1 3000 LDX FOODNUM 3010 LDA TABLE108,X 3020 STA POINTER1 3030 LDA ORIENT 3040 AND #$01 3050 BEQ .4 3060 LDA #$10 3070 CLC 3080 ADC POINTER1 3090 STA POINTER1 3100 .4 LDA #$00 3110 CPX #$05 3120 BNE .1 3130 LDA #$04 3140 .1 STA ANTXX 3150 LDA TABLE112,X 3160 STA ANTX 3170 LDA FOODY 3180 ASL 3190 ASL 3200 ASL 3210 STA TEMP1 3220 LDA ANTPOS 3230 CLC 3240 ADC TABLE109,X 3250 TAY 3260 LDA TABLE126,Y 3270 CLC 3280 ADC TEMP1 3290 STA ANTY 3300 LDY #$00 3310 STY TEMP4 3320 LDA TABLE104,X 3330 STA WIDTH 3340 .3 LDY TEMP4 3350 LDA ANTHOLD,Y 3360 BEQ .2 3370 JSR PLOT.ANT4.Z 3380 .2 INC ANTX 3390 LDA ANTXX 3400 EOR #$04 3410 STA ANTXX 3420 INC TEMP4 3430 DEC WIDTH 3440 BNE .3 3450 RTS 3460 MOVE.HORIZ.ANTS.BLOCKS 3470 LDX FOODNUM 3480 LDA FOODY 3490 CLC 3500 ADC TABLE128,X 3510 STA TEMP4 3520 LDA TABLE122,X 3530 STA TEMP1 3540 CLC 3550 ADC FOODX 3560 STA TEMP2 3570 .3 LDX TEMP1 3580 LDA ANTHOLD,X 3590 BEQ .1 3600 JSR .4 3610 BNE .2 3620 .1 JSR .5 3630 .2 DEC TEMP2 3640 DEC TEMP1 3650 LDA TEMP2 3660 CMP FOODX 3670 BCS .3 3680 RTS 3690 .5 LDX FOODNUM 3700 LDA TEMP4 3710 CLC 3720 ADC TABLE114,X 3730 TAX 3740 LDY TEMP2 3750 LDA AAMSBYT,X 3760 STA POINTER1+1 3770 LDA AALSBYT,X 3780 STA POINTER1 3790 LDA (POINTER1),Y 3800 AND #$C0 3810 STA (POINTER1),Y 3820 RTS 3830 .4 LDY TEMP2 3840 LDX TEMP4 3850 LDA AAMSBYT,X 3860 STA POINTER1+1 3870 LDA AALSBYT,X 3880 STA POINTER1 3890 LDA (POINTER1),Y 3900 AND #$3F 3910 STA TEMP3 3920 LDA (POINTER1),Y 3930 AND #$C0 3940 STA (POINTER1),Y 3950 TXA 3960 LDX FOODNUM 3970 CLC 3980 ADC TABLE114,X 3990 TAX 4000 LDA AAMSBYT,X 4010 STA POINTER1+1 4020 LDA AALSBYT,X 4030 STA POINTER1 4040 LDA (POINTER1),Y 4050 AND #$C0 4060 ORA TEMP3 4070 STA (POINTER1),Y 4080 RTS 4090 ERASE.HORIZ.ANTS 4100 LDX FOODNUM 4110 LDA #$00 4120 CPX #$05 4130 BNE .1 4140 LDA #$04 4150 .1 STA ANTXXOLD 4160 LDA TABLE112,X 4170 STA ANTXOLD 4180 LDA FOODY 4190 ASL 4200 ASL 4210 ASL 4220 STA TEMP1 4230 LDA ANTPOS 4240 CLC 4250 ADC TABLE109,X 4260 TAY 4270 LDA TABLE126,Y 4280 CLC 4290 ADC TEMP1 4300 STA ANTYOLD 4310 STA TEMP4 4320 LDY #$00 4330 STY TEMP1 4340 LDA TABLE104,X 4350 STA WIDTH 4360 .3 LDY TEMP1 4370 LDA ANTHOLD,Y 4380 BEQ .2 4390 LDA TEMP4 4400 STA ANTYOLD 4410 JSR ERASE.ANT.Z 4420 .2 INC ANTXOLD 4430 LDA ANTXXOLD 4440 EOR #$04 4450 STA ANTXXOLD 4460 INC TEMP1 4470 DEC WIDTH 4480 BNE .3 4490 .LI ON 4500 RTS 4510 .LI OFF 4520 .OR $5F40 4530 .TA $2F40 4540 ERASE.ROW 4550 LDY #$08 4560 STY HEIGHT 4570 ASL 4580 ASL 4590 ASL 4600 STA TEMP2 4610 CMP #$70 4620 BCS .4 4630 CMP #$38 4640 BCC .5 4650 LDA #$10 4660 BNE .3 4670 .4 CMP #$B0 4680 BCS .14 4690 LDA #$F0 4700 .3 STA TEMP4 4710 .2 LDA WIDTH 4720 STA TEMP1 4730 LDY TEMP2 4740 LDA (SCRPNT1),Y 4750 STA POINTER1+1 4760 CLC 4770 ADC #$60 4780 STA POINTER4+1 4790 LDA (SCRPNT2),Y 4800 STA POINTER1 4810 STA POINTER4 4820 LDA TEMP2 4830 CLC 4840 ADC TEMP4 4850 TAY 4860 LDA (SCRPNT1),Y 4870 CLC 4880 ADC #$60 4890 STA POINTER2+1 4900 LDA (SCRPNT2),Y 4910 STA POINTER2 4920 LDY TEMP3 4930 .1 LDA (POINTER2),Y 4940 STA (POINTER1),Y 4950 STA (POINTER4),Y 4960 INY 4970 DEC TEMP1 4980 BNE .1 4990 INC TEMP2 5000 DEC HEIGHT 5010 BNE .2 5020 RTS 5030 .6 LDA #$80 5040 BNE .12 5050 .5 CMP #$20 5060 BCC .6 5070 .14 CMP #$C8 5080 BCS .6 5090 LDA #$00 5100 .12 STA TEMP4 5110 STA TEMP5 5120 .8 LDA TEMP3 5130 CMP #$12 5140 BEQ .7 5150 LDA #$55 5160 LDY #$2A 5170 JSR .13 5180 .9 LDA WIDTH 5190 STA TEMP1 5200 LDY TEMP2 5210 LDA (SCRPNT1),Y 5220 STA POINTER1+1 5230 CLC 5240 ADC #$60 5250 STA POINTER4+1 5260 LDA (SCRPNT2),Y 5270 STA POINTER1 5280 STA POINTER4 5290 LDY TEMP3 5300 .11 LDA TEMP4 5310 STA (POINTER1),Y 5320 STA (POINTER4),Y 5330 INY 5340 DEC TEMP1 5350 BEQ .10 5360 LDA TEMP5 5370 STA (POINTER1),Y 5380 STA (POINTER4),Y 5390 INY 5400 DEC TEMP1 5410 BNE .11 5420 .10 INC TEMP2 5430 DEC HEIGHT 5440 BNE .9 5450 RTS 5460 .7 LDA #$2A 5470 LDY #$55 5480 JSR .13 5490 BNE .9 5500 .13 ORA TEMP4 5510 STA TEMP4 5520 TYA 5530 ORA TEMP5 5540 STA TEMP5 5550 .LI ON 5560 RTS 5570 .LI OFF