1 *A,10000 2 end 10000 "*B 10010 "ORG $1000 10011 "HISCR=$E 10030 "LEVEL=$C 10040 "LEVEI=$D 10041 "BCOL=$15 10042 "CCOL=$16 10049 "SCOR=$17;3B 10050 "O0 =$1B 10059 "MLIF=$1A 10060 "KEYT=$1C;8B 10070 "PBGD=$24;12B 10080 "BGDS=$30;16B 10090 "BADD=$40;16B 10100 "BXXX=$50;8B 10110 "BYYY=$58;8B 10120 "BDIR=$60;8B 10130 "BBAK=$68;8B 10140 "BFLG=$70 10150 "TKHL=$71;4B 10160 "TKVL=$75;4B 10170 "TKHX=$79;2B 10180 "TKVX=$7B;2B 10190 "TKHY=$7D;2B 10200 "TKVY=$7F;2B 10210 "TKHP=$81;2B 10220 "TKVP=$83;2B 10230 "TKDD=$85;4B 10240 "PYCK=$8A 10241 "BANG=$8B 10242 "FIRE=$8C 10250 "MNDD=$8D 10270 "SWAP=$8F 10280 "FIRD=$90 10290 "T0 =$91 10300 "T1 =$92 10310 "T2 =$93 10320 "T3 =$94 10330 "T4 =$95 10340 "T5 =$96 10350 "T6 =$97 10360 "T7 =$98 10370 "PLOC=$99;4B 10380 "PLXX=$9D;2B 10390 "PLYY=$9F;2B 10400 "PLDI=$A1;2B 10410 "TURN=$A3 10420 "TTRN=$A4 10430 "QSCR=$A5 10440 "PLIX=$A6;2B 10450 "PLCT=$A8;2B 10460 "PDED=$AA;2B 10470 "LNT =$C1 10480 "LIN =$C2;2B 10490 "TLOC=$C4;8B 10500 "TYYY=$CC;4B 10520 "TXXX=$EC;4B 10530 "SP2 =$F0 10540 "SCR =$F1 10550 "SPD =$F2 10560 "MAN =$F3;2B 10570 "MPHS=$F5 10580 "MX =$F6 10590 "MY =$F7 10600 "MDIS=$F8 10610 "MPHT=$F9 10670 "IMAGE=$3620 10680 "IMAND=$35C0 10690 "STEP =192 10700 "DESTI=$3E00 10710 "TOPEN=$3560 10720 "PLDAT=$35A0 10730 "PLDES2=$3DD0 10740 "PLDES1=$3DA0 10750 "PLINV=$3580 10760 "NEWBA=$3540 10780 "RADAR=$3518 10781 "OSCOR=$23FD 10790 "BEGAG: SEI 10800 " CLD 10810 " LDA #0 10820 " STA SCOR 10830 " STA SCOR+1 10840 " STA SCOR+2 10850 " LDA #4 10860 " STA MLIF 10870 "BEGIN: SEI 10880 " LDX #255 10890 " TXS 10900 " JSR $200 10901 " LDA $800 10902 " STA CCOL 10903 " LDA #$73 10904 " STA BCOL 10910 " LDA #IRQ1 10940 " STA $315 10950 " LDX #19 10960 "TEDS: LDA TEDD,X 10970 " STA $FF06,X 10980 " DEX 10990 " BPL TEDS 10991 " LDX #$1C 10992 " LDA #0 10993 "CLREM: STA 0,X 10994 " INX 10995 " BNE CLREM 11070 " LDA #<$2400 11080 " STA LIN 11090 " LDA #>$2400 11100 " STA LIN+1 11120 " LDA #3 11130 " STA TURN 11140 " STA TTRN 11150 " LDA #255 11160 " STA $FF04 11170 " STA $FF05 11390 " LDY #31 11400 "TURSEX: LDA NEWBA,Y 11410 " STA $3C20,Y 11420 " STA $3C40,Y 11430 " STA $3C60,Y 11440 " STA $3C80,Y 11450 " DEY 11460 " BPL TURSEX 11461 " JSR MANRES 11470 " JSR MBACK 11480 " LDX #8 11490 " STX SPD 11540 " LDA #96 11550 " STA KEYSCN 11560 " CLI 11570 " LDA #$D0 11580 "TURS: CMP LIN 11590 " BNE TURS 11600 " LDA #1 11610 " STA SPD 11620 " LDA #169 11630 " STA KEYSCN 11640 " LDA $FF06 11650 " ORA #$10 11660 " STA $FF06 11680 "MOVE: LDA KEYT 11690 " CMP #128 11700 " BNE PROG 11710 " LDX #7 11711 " LDA #0 11712 "STCHK: ORA KEYT,X 11713 " DEX 11714 " BNE STCHK 11720 " TAX 11730 " BNE PROG 11731 " LDA #1 11732 " STA LEVEL 11740 " JMP BEGAG 11750 "PROG: LDA KEYT 11760 " AND #1 11770 " BEQ PROG3 11780 " JSR PAUSE 11790 "PROG3: LDA MNDD 11800 " BEQ DMB7 11805 " JMP PROG4 11810 "DMB7:SEI 11811 " STA $FF11 11820 " JSR DEATH 11825 " JSR MREST 11870 " JSR BOMBC 11880 " JSR PLCLER 11890 " LDA #0 11900 " STA BFLG 11910 " STA PLYY 11920 " STA PLYY+1 11930 " STA PDED 11940 " STA PDED+1 11950 " LDX #3 11960 "PLOOP: LDA TKDD,X 11970 " BEQ QLOOP 11980 " LDA #1 11990 " STA TKDD,X 12000 "QLOOP: DEX 12010 " BPL PLOOP 12020 " JSR EXTANK 12021 " JSR LESSPL 12022 " BMI DEDUN 12030 " LDA #1 12040 " JSR DELAY 12050 " JSR MANRES 12060 " LDA #2 12070 " STA O0 12080 "OLOOP: JSR MBACK 12090 " LDA #1 12100 " JSR DELAY 12110 " JSR MREST 12120 " LDA #1 12130 " JSR DELAY 12140 " DEC O0 12150 " BNE OLOOP 12160 " JSR MBACK 12170 " LDA #2 12180 " STA $FF09 12190 " CLI 12200 "GMOV: JMP MOVE 12210 "DEDUN: LDA #4 12220 " JSR DELAY 12221 " LDA SCOR 12222 " STA OSCOR 12223 " LDA SCOR+1 12224 " STA OSCOR+1 12225 " LDA SCOR+2 12226 " STA OSCOR+2 12230 " LDA #1 12240 "STA LEVEL 12241 "LDA SCOR 12242 "SEC 12243 "SBC HISCR 12244 "LDA SCOR+1 12245 "SBC HISCR+1 12246 "LDA SCOR+2 12247 "SBC HISCR+2 12248 "BCC DMB1 12249 "LDASCOR 12250 "STAHISCR 12251 "LDASCOR+1 12252 "STAHISCR+1 12253 "LDASCOR+2 12254 "STAHISCR+2 12260 "DMB1:JMP BEGAG 12270 "PROG4: LDA LIN+1 12280 " CMP #$34 12290 " BNE GMOV 12300 " LDA BFLG 12310 " AND #$F0 12320 " ORA PLYY 12330 " ORA PLYY+1 12340 " LDX #3 12350 "PORT1: ORA TYYY,X 12360 " ORA TKHY,X 12370 " DEX 12380 " BPL PORT1 12390 " CMP #0 12400 " BNE GMOV 12401 " LDA #4 12402 " JSR DELAY 12403 " LDA SCOR 12404 " STA OSCOR 12405 " LDA SCOR+1 12406 " STA OSCOR+1 12407 " LDA SCOR+2 12408 " STA OSCOR+2 12409 " INC LEVEL 12410 " SEI 12430 " JMP BEGIN 12440 " 12450 "IRQ1: LDA #2 12460 " STA $FF09 12470 " CLD 12480 " LDA #0 12490 " STA QSCR 12510 " JSR KEYSCN 12520 " JSR MREST 12530 " JSR BOMBC 12540 " INC SP2 12550 " LDA SP2 12560 " CMP #2 12570 " BEQ IRQ3 12580 " JSR PLCLER 12590 " JSR TURCHK 12600 " JSR BCOLLI 12610 " JSR EXTANK 12620 " JSR TANFIR 12630 " JSR TURFIR 12640 " JSR AEROFI 12650 " JSR TANKS 12660 " JSR WANKS 12670 " JSR AEROPU 12680 " JSR RADART 12690 " JSR MANFIR 12691 " JSR MANMVE 12692 " JSR WRTSCR 12700 " JMP IRQEZ 12710 "IRQ3: LDA #0 12720 " STA SP2 12725 " JSR MVEMAN 12730 "IRQ2: LDA SCR 12740 " CLC 12750 " ADC SPD 12760 " STA QSCR 12770 " TAX 12780 " AND #7 12790 " STA SCR 12800 " LDA $FF06 12810 " AND #$F0 12820 " ORA SCR 12830 " STA $FF06 12831 " LDA MDIS 12832 " SEC 12833 " SBC SPD 12834 " AND #7 12835 " STA MDIS 12840 " CPX #8 12850 " BCS SCROL 12860 " JMP IRQEX 12870 "SCROL: 12880 " LDX #28 12890 "SCRL: LDA 3992,X 12900 " STA 3992+40,X 12910 " LDA 3952,X 12920 " STA 3952+40,X 12930 " LDA 3912,X 12940 " STA 3912+40,X 12950 " LDA 3872,X 12960 " STA 3872+40,X 12970 " LDA 3832,X 12980 " STA 3832+40,X 12990 " LDA 3792,X 13000 " STA 3792+40,X 13010 " LDA 3752,X 13020 " STA 3752+40,X 13030 " LDA 3712,X 13040 " STA 3712+40,X 13050 " LDA 3672,X 13060 " STA 3672+40,X 13070 " LDA 3632,X 13080 " STA 3632+40,X 13090 " LDA 3592,X 13100 " STA 3592+40,X 13110 " LDA 3552,X 13120 " STA 3552+40,X 13130 " LDA 3512,X 13140 " STA 3512+40,X 13150 " LDA 3472,X 13160 " STA 3472+40,X 13170 " LDA 3432,X 13180 " STA 3432+40,X 13190 " LDA 3392,X 13200 " STA 3392+40,X 13210 " LDA 3352,X 13220 " STA 3352+40,X 13230 " LDA 3312,X 13240 " STA 3312+40,X 13250 " LDA 3272,X 13260 " STA 3272+40,X 13270 " LDA 3232,X 13280 " STA 3232+40,X 13290 " LDA 3192,X 13300 " STA 3192+40,X 13310 " LDA 3152,X 13320 " STA 3152+40,X 13330 " LDA 3112,X 13340 " STA 3112+40,X 13350 " LDA 3072,X 13360 " STA 3072+40,X 13370 " DEX 13380 " BEQ IRQEY 13390 " JMP SCRL 13400 "IRQEY: JSR TURUPD 13410 " LDA LNT 13420 " INC LNT 13430 " LSRA 13440 " BCS UP2ND 13450 " JMP UP1ST 13460 "UP2ND: LDY #0 13470 " LDX #1 13480 "UP22: LDA (LIN),Y 13490 " PHA 13500 " CMP #$96 13510 " BNE UPSHOV 13520 " LDA #1 13530 " STA TKHY 13540 " STX TKHX 13550 " STX TKHL 13560 " LDA #$C 13570 " STA TKHL+1 13580 " LDA #0 13590 " STA TKHP 13600 " BEQ UPSHOT 13610 "UPSHOV: 13620 " CMP #$9A 13630 " BNE UPSHOK 13640 " LDA #1 13650 " STA TKHY+1 13660 " STX TKHX+1 13670 " STX TKHL+2 13680 " LDA #$C 13690 " STA TKHL+3 13700 " LDA #$80 13710 " STA TKHP+1 13720 " BEQ UPSHOT 13730 "UPSHOK: 13740 " CMP #$9E 13750 " BNE UPSHOR 13760 " LDA #1 13770 " STA TKVY 13780 " STX TKVX 13790 " STX TKVL 13800 " LDA #$C 13810 " STA TKVL+1 13820 " LDA #0 13830 " STA TKVP 13840 " BEQ UPSHOT 13850 "UPSHOR: 13860 " CMP #$A2 13870 " BNE UPSHOT 13880 " LDA #1 13890 " STA TKVY+1 13900 " STX TKVX+1 13910 " STX TKVL+2 13920 " LDA #$C 13930 " STA TKVL+3 13940 " LDA #0 13950 " STA TKVP+1 13960 "UPSHOT: PLA 13970 " SEC 13980 " SBC #2 13990 " STA 3072,X 14000 " CLC 14010 " ADC #1 14020 " STA 3073,X 14030 " INX 14040 " INX 14050 " INY 14060 " CPY #14 14070 " BCC UP22 14080 " 14100 " LDA LIN 14110 " ADC #15;C=1 14120 " STA LIN 14130 " LDA LIN+1 14140 " ADC #0 14150 " STA LIN+1 14160 " CMP #$34 14170 " BNE IRQEX 14180 " LDA #0 14190 " STA SPD 14200 " BEQ IRQEX 14210 "UP1ST: LDY #0 14220 " LDX #0 14230 "UP12: LDA (LIN),Y 14240 " STA 3073,X 14250 " CLC 14260 " ADC #1 14270 " STA 3074,X 14280 " INX 14290 " INX 14300 " INY 14310 " CPY #14 14320 " BCC UP12 14330 " LDA (LIN),Y 14340 " BEQ NTPL0 14350 " STA PLXX 14360 " STA PLOC 14370 " LDA #$0C 14380 " STA PLOC+1 14390 " LDA #2 14400 " STA PLYY 14410 " LDA #0 14420 " STA PLIX 14430 " STA PLDI 14440 " LDA PTAB 14450 " STA PLCT 14460 "NTPL0: INY 14470 " LDA (LIN),Y 14480 " BEQ IRQEX 14490 " STA PLXX+1 14500 " STA PLOC+2 14510 " LDA #$0C 14520 " STA PLOC+3 14530 " LDA #2 14540 " STA PLYY+1 14550 " LDA #0 14560 " STA PLIX+1 14570 " STA PLDI+1 14580 " LDA PTAB 14590 " STA PLCT+1 14600 "IRQEX: JSR ADJUSC 14610 "IRQEZ: JSR BOMBS 14620 " JSR BOMBP 14780 " JSR MBACK 14790 " JSR BCOLL2;YOU DIE! 14800 " JSR PICKEM 14811 " JSR SOUND 14820 " JMP $FCC3 14830 " 14840 "MBACK: LDX #15 14850 "MBA1: LDA TABS,X 14860 " TAY 14870 " LDA (MAN),Y 14880 " STA BGDS,X 14890 " DEX 14900 " BPL MBA1 14910 " LDX #127 14920 " LDY #15 14930 " STY T6 14940 "RUGGE1: LDA BGDS,Y 14950 " JSR CALCAD 14960 " LDY #7 14970 "RUGGE2: LDA (T1),Y 14980 " STA DESTI,X 14990 " DEX 15000 " DEY 15010 " BPL RUGGE2 15020 " DEC T6 15030 " LDY T6 15040 " BPL RUGGE1 15050 " LDX MDIS 15090 " LDY #0 15100 " LDA MPHS 15110 " AND #3 15120 " BEQ RAHT 15130 " LDY #STEP 15140 "RAHT: 15150 " LDA #24 15160 " STA T1 15170 "RUGGE6: LDA IMAND,Y 15180 " AND DESTI,X 15190 " ORA IMAGE,Y 15200 " STA DESTI,X 15210 " LDA IMAND+24,Y 15220 " AND DESTI+32,X 15230 " ORA IMAGE+24,Y 15240 " STA DESTI+32,X 15250 " LDA IMAND+48,Y 15260 " AND DESTI+64,X 15270 " ORA IMAGE+48,Y 15280 " STA DESTI+64,X 15290 " LDA IMAND+72,Y 15300 " AND DESTI+96,X 15310 " ORA IMAGE+72,Y 15320 " STA DESTI+96,X 15330 " INX 15340 " INY 15350 " DEC T1 15360 " BNE RUGGE6 15370 " LDX #15 15380 " LDA #$CF 15390 " STA T1 15400 "SPR1: LDA TABS,X 15410 " TAY 15420 " LDA T1 15430 " STA (MAN),Y 15440 " DEC T1 15450 " DEX 15460 " BPL SPR1 15470 " RTS 15480 " 15490 "KEYSCN: LDA #$FE 15500 " LDX #7 15510 "KEY1: STA $FD30 15520 " STA $FF08 15530 " TAY 15540 " LDA $FF08 15550 " EOR #255 15560 " STA KEYT,X 15570 " TYA 15580 " SEC 15590 " ROLA 15600 " DEX 15610 " BPL KEY1 15620 " RTS 15630 " 15640 "MANMVE: LDA KEYT+6 15650 " AND #16 15660 " STA T1 15670 " LDA KEYT+5 15680 " AND #128 15690 " ORA T1 15720 " CMP #128 15730 " BEQ RIGHT 15740 " CMP #16 15750 " BEQ LEFT 15760 " LDA KEYT+5 15761 " AND #8 15762 " BNE RIGHT 15763 " LDA KEYT+5 15764 " AND #4 15765 " BEQ RIG1 15766 "LEFT: LDX MX 15770 " CPX #2 15775 " BCC RIG1 15780 " DEC MX 15785 " LDX MAN 15790 " BNE RIGH 15795 " DEC MAN+1 15800 "RIGH: DEC MAN 15805 " LDX #1 15810 " STX MPHS 15815 " BNE RIG1 15820 " 15825 "RIGHT: LDX MX 15830 " CPX #26 15835 " BCS RIG1 15840 " INC MX 15860 " LDX #2 15865 " STX MPHS 15870 " 15875 "RIG1: LDA KEYT+1 15880 " AND #4 15885 " BNE UP2 15886 " LDA KEYT+5 15887 " AND #1 15888 " BEQ UP1 15890 "UP2: LDY MY 15895 " CPY #16 15900 " BCC RIGEX 15905 " JSR SUB4 15910 " LDY #1 15915 " STY MPHT 15920 " RTS 15925 "UP1: LDA KEYT+1 15930 " AND #128 15935 " BNE UP3 15936 " LDA KEYT+5 15937 " AND #2 15938 " BEQ RIGEX 15940 "UP3: LDY MY 15945 " CPY #20 15950 " BCS RIGEX 15955 " JSR ADD4 15960 " LDY #2 15965 " STY MPHT 15970 "RIGEX: RTS 15975 " 17170 "MREST: LDX #15 17180 "MRE1: LDA TABS,X 17190 " TAY 17200 " LDA BGDS,X 17210 " STA (MAN),Y 17220 " DEX 17230 " BPL MRE1 17240 " RTS 17250 " 17260 "CALCAD: LDY #0 17270 " STY T2 17280 " ASLA 17290 " ROL T2 17300 " ASLA 17310 " ROL T2 17320 " ASLA 17330 " ROL T2 17340 " STA T1 17350 " LDA T2 17370 " ADC #$38;C=0 17380 " STA T2 17390 " RTS 17400 " 17410 "ADJUSC: LDA #7 17420 " SEC 17430 " SBC SCR 17440 " STA T1 17450 " LDX #0 17460 " JSR CLEARD 17470 " JSR STORED 17480 " LDA #16 17490 " STA T1 17500 "CLEARD: LDA #0 17510 " CPX T1 17520 " BEQ ADJ3 17530 "ADJ2: STA $3E80,X 17540 " STA $3E90,X 17550 " STA $3EA0,X 17560 " STA $3EB0,X 17570 " STA $3EC0,X 17580 " STA $3ED0,X 17590 " STA $3EE0,X 17600 " STA $3EF0,X 17610 " STA $3F00,X 17620 " STA $3F10,X 17630 " STA $3F20,X 17640 " STA $3F30,X 17650 " STA $3F40,X 17660 " STA $3F50,X 17670 " STA $3F60,X 17680 " STA $3F70,X 17690 " STA $3F80,X 17700 " STA $3F90,X 17710 " STA $3FA0,X 17720 " STA $3FB0,X 17730 " STA $3FC0,X 17740 " STA $3FD0,X 17750 " STA $3FE0,X 17760 " STA $3FF0,X 17770 " INX 17780 " CPX T1 17790 " BCC ADJ2 17800 "ADJ3: RTS 17810 "STORED: LDY #0 17820 "STO1: LDA $3740,Y 17830 " STA $3E80,X 17840 " LDA $3748,Y 17850 " STA $3E90,X 17860 " LDA $3750,Y 17870 " STA $3EA0,X 17880 " LDA $3758,Y 17890 " STA $3EB0,X 17900 " LDA $3760,Y 17910 " STA $3EC0,X 17920 " LDA $3768,Y 17930 " STA $3ED0,X 17940 " LDA $3770,Y 17950 " STA $3EE0,X 17960 " LDA $3778,Y 17970 " STA $3EF0,X 17980 " LDA $3780,Y 17990 " STA $3F00,X 18000 " LDA $3788,Y 18010 " STA $3F10,X 18020 " LDA $3790,Y 18030 " STA $3F20,X 18040 " LDA $3798,Y 18050 " STA $3F30,X 18060 " LDA $37A0,Y 18070 " STA $3F40,X 18080 " LDA $37A8,Y 18090 " STA $3F50,X 18100 " LDA $37B0,Y 18110 " STA $3F60,X 18120 " LDA $37B8,Y 18130 " STA $3F70,X 18140 " LDA $37C0,Y 18150 " STA $3F80,X 18160 " LDA $37C8,Y 18170 " STA $3F90,X 18180 " LDA $37D0,Y 18190 " STA $3FA0,X 18200 " LDA $37D8,Y 18210 " STA $3FB0,X 18220 " LDA $37E0,Y 18230 " STA $3FC0,X 18240 " LDA $37E8,Y 18250 " STA $3FD0,X 18260 " LDA $37F0,Y 18270 " STA $3FE0,X 18280 " LDA $37F8,Y 18290 " STA $3FF0,X 18300 " INX 18310 " INY 18320 " CPY #8 18330 " BEQ STO2 18340 " JMP STO1 18350 "STO2: RTS 18360 " 18390 "BOMBS: LDX #14 18400 " LDY #7 18410 "BOM3: LDA TBIT,Y 18420 " AND BFLG 18430 " BNE DIR0 18440 "BOCONT: DEX 18450 " DEX 18460 " DEY 18470 " BPL BOM3 18480 " RTS 18490 "DIR0: LDA QSCR 18500 " AND #8 18510 " BEQ DIRT8 18520 " LDA BADD,X 18530 " CLC 18540 " ADC #40 18550 " STA BADD,X 18560 " BCC DIRT8 18570 " INC BADD+1,X 18580 "DIRT8: CPY #4 18590 " BCC DIRT 18600 " LDA SP2 18610 " CMP #1 18620 " BNE DIRY 18630 " LDA SCR 18640 " AND #1 18650 " BEQ DIRT 18660 "DIRY: JMP DIR5 18670 "DIRT: LDA BDIR,Y 18680 " AND #1 18690 " BEQ DIR1 18700 " LDA BYYY,Y 18710 " CMP #3 18720 " BCC BCLEAR 18740 " SBC #1;C=1 18750 " STA BYYY,Y 18760 " LDA BADD,X 18770 " SEC 18780 " SBC #40 18790 " STA BADD,X 18800 " BCS DIR2 18810 " DEC BADD+1,X 18820 "DIR1: 18830 " LDA BDIR,Y 18840 " AND #2 18850 " BEQ DIR2 18860 " LDA BYYY,Y 18870 " CMP #23 18880 " BCS BCLEAR 18900 " ADC #1;C=0 18910 " STA BYYY,Y 18920 " LDA BADD,X 18930 " CLC 18940 " ADC #40 18950 " STA BADD,X 18960 " BCC DIR2 18970 " INC BADD+1,X 18980 "DIR2: 18990 " LDA BDIR,Y 19000 " AND #4 19010 " BEQ DIR4 19020 " LDA BXXX,Y 19030 " CMP #2 19040 " BCC BCLEAR 19060 " SBC #1;C=1 19070 " STA BXXX,Y 19080 " LDA BADD,X 19090 " SEC 19100 " SBC #1 19110 " STA BADD,X 19120 " BCS DIR5 19130 " DEC BADD+1,X 19140 "DIR4: 19150 " LDA BDIR,Y 19160 " AND #8 19170 " BEQ DIR5 19180 " LDA BXXX,Y 19190 " CMP #28 19200 " BCS BCLEAR 19220 " ADC #1;C=0 19230 " STA BXXX,Y 19240 " LDA BADD,X 19250 " CLC 19260 " ADC #1 19270 " STA BADD,X 19280 " BCC DIR5 19290 " INC BADD+1,X 19300 "DIR5: LDA BADD+1,X 19310 " CMP #$10 19320 " BCC BJUMP 19330 "BCLEAR: LDA SBIT,Y 19340 " AND BFLG 19350 " STA BFLG 19360 "BJUMP: JMP BOCONT 19370 " 19400 "BOMBC: LDX #14 19410 " LDY #7 19420 "BOC2: LDA TBIT,Y 19430 " AND BFLG 19440 " BEQ BOC3 19450 " LDA BBAK,Y 19460 " CMP #4 19470 " BEQ BOC3 19480 " CMP #5 19490 " BEQ BOC3 19500 " STA (BADD,X) 19510 " LDA BADD+1,X 19520 " PHA 19530 " EOR #4 19540 " STA BADD+1,X 19550 " LDA CCOL 19560 " STA (BADD,X) 19570 " PLA 19580 " STA BADD+1,X 19590 "BOC3: DEX 19600 " DEX 19610 " DEY 19630 " BPL BOC2 19640 " RTS 19650 " 19660 "TURUPD: LDY #3 19670 " LDX #6 19680 "TUR1: LDA TYYY,Y 19690 " BEQ TUR2 19700 " CLC 19710 " ADC #1 19720 " CMP #22 19730 " BCC TUR3 19740 " LDA #0 19750 " STA TYYY,Y 19760 " STX T1 19770 " STY T2 19780 " LDA TURDAT,Y 19790 " TAY 19800 " LDX #0 19810 "TURCLO: LDA NEWBA,X 19820 " STA $3C20,Y 19830 " INY 19840 " INX 19850 " CPX #32 19860 " BCC TURCLO 19870 " LDY T2 19880 " LDX T1 19890 " JMP TUR2 19900 "TUR3: STA TYYY,Y 19910 " LDA TLOC,X 19920 " CLC 19930 " ADC #40 19940 " STA TLOC,X 19950 " BCC TUR2 19960 " INC TLOC+1,X 19970 "TUR2: LDA TKHY,Y 19980 " BNE TUR77 19990 " LDA TKDD,Y 20000 " BNE TUR21 20010 " BEQ TUR22 20020 "TUR77: CLC 20030 " ADC #1 20040 " STA TKHY,Y 20050 " CMP #24 20060 " BCC TUR21 20070 " LDA #0 20080 " STA TKHY,Y 20090 " BEQ TUR22 20100 "TUR21: LDA TKHL,X 20110 " CLC 20120 " ADC #40 20130 " STA TKHL,X 20140 " BCC TUR22 20150 " INC TKHL+1,X 20160 "TUR22: CPY #2 20170 " BCS TURKEY 20180 " LDA PLYY,Y 20190 " BNE YUUYU 20200 " LDA PDED,Y 20210 " BNE YUUZZ 20220 " BEQ TURKEY 20230 "YUUYU: CLC 20240 " ADC #1 20250 " CMP #24 20260 " BCC TURK1 20270 " LDA #0 20280 " STA PLYY,Y 20290 " BEQ TURKEY 20300 "TURK1: STA PLYY,Y 20310 "YUUZZ: LDA PLOC,X 20320 " CLC 20330 " ADC #40 20340 " STA PLOC,X 20350 " BCC TURKEY 20360 " INC PLOC+1,X 20370 "TURKEY: 20380 " DEX 20390 " DEX 20400 " DEY 20410 " BMI TURKI 20420 " JMP TUR1 20430 "TURKI: RTS 20440 " 20450 "TURCHK: LDA SCR 20460 " BNE TURYYY 20470 " LDX #27 20480 "TURC1: LDA 3312,X 20490 " CMP #$86 20500 " BEQ TURC0 20510 " CMP #$8A 20520 " BEQ TURC0 20530 " CMP #$8E 20540 " BEQ TURC0 20550 " CMP #$92 20560 " BNE TURC2 20570 "TURC0: SEC 20580 " SBC #$86 20590 " LSRA 20600 " TAY 20610 " TXA 20620 " CLC 20630 " ADC #<3272 20640 " STA TLOC,Y 20650 " LDA #>3272 20660 " ADC #0 20670 " STA TLOC+1,Y 20680 " TYA 20690 " LSRA 20700 " TAY 20710 " LDA #6 20720 " STA TYYY,Y 20730 " STX TXXX,Y 20740 " STX T7 20750 " LDA TURDAT,Y 20760 " TAY 20770 " LDX #0 20780 "TURI1: LDA TOPEN,X 20790 " STA $3C20,Y 20800 " INY 20810 " INX 20820 " CPX #32 20830 " BCC TURI1 20840 " LDX T7 20850 "TURC2: DEX 20860 " DEX 20870 " BPL TURC1 20880 "TURYYY: RTS 20890 "TURFIR: LDY TURN 20900 " DEC TURN 20910 " BPL TURF99 20920 " LDA #3 20930 " STA TURN 20940 "TURF99: TYA 20950 " ASLA 20960 " STA T6 20970 " LDX TYYY,Y 20980 " BEQ TURF1 20990 " LDA BFLG 21000 " AND TBIT+4,Y 21010 " BNE TURF1 21020 " STX BYYY+4,Y 21030 " TXA 21040 " LDX TXXX,Y 21050 " STX BXXX+4,Y 21060 " JSR GETDIR 21070 " BEQ TURF1 21080 " STA BDIR+4,Y 21090 " JSR EYEBAL 21100 " LDA $FF05 21110 " CMP #128 21120 " BCC TURF1 21130 " STY T5 21140 " LDY T6 21150 " LDX TLOC,Y 21160 " STX BADD+8,Y 21170 " LDX TLOC+1,Y 21180 " STX BADD+9,Y 21190 " LDY T5 21200 " LDA BFLG 21210 " ORA TBIT+4,Y 21220 " STA BFLG 21230 "TURF1: RTS 21240 " 21250 "GETDIR: PHA 21260 " TXA 21270 " LDX #0 21280 " SEC 21290 " SBC MX 21300 " BMI GETRIG 21310 " CMP #2 21320 " BCC GETC 21330 " LDX #4 21340 "BYT $2C 21350 "GETRIG: LDX #8 21360 "GETC: PLA 21370 " SEC 21380 " SBC MY 21390 " BMI GETDWN 21400 " CMP #2 21410 " BCS GETUP 21420 " TXA 21430 " RTS 21440 "GETDWN: TXA 21450 " ORA #2 21460 " RTS 21470 "GETUP: TXA 21480 " ORA #1 21490 " RTS 21500 " 21510 "TANKS: LDX #2 21520 " LDY #1 21530 "TANK1: STY T3 21540 " LDA TKHY,Y 21550 " BNE TANKG 21560 "TANKY1: DEX 21570 " DEX 21580 " LDY T3 21590 " DEY 21610 " BPL TANK1 21620 " RTS 21630 "TANKG: LDA TKHL,X 21640 " STA T6 21650 " LDA TKHL+1,X 21660 " STA T7 21670 " LDA TKHP,Y 21680 " BMI TANLEF 21690 " AND #64 21700 " BNE TKRIG3 21710 " LDY #2 21720 " LDA (T6),Y 21730 " LDY T3 21740 " CMP #$4C 21750 " BCS SET3WI 21760 " CMP #$48 21770 " BCS STOPRG 21780 "SET3WI: LDA TKHP,Y 21790 " ORA #64 21800 " STA TKHP,Y 21810 " JMP TANKF 21820 "STOPRG: LDA TKHP,Y 21830 " ORA #128 21840 " STA TKHP,Y 21850 " JMP TANKF 21860 "TKRIG3: LDA TKHX,Y 21870 " CLC 21880 " ADC #1 21890 " STA TKHX,Y 21900 " INC TKHL,X 21910 " BNE TKR1 21920 " INC TKHL+1,X 21930 "TKR1: LDY #0 21940 " BYT $2C 21950 "TKART: LDY #2 21960 " LDA #$40 21970 " STA (T6),Y 21980 " TYA 21990 " CLC 22000 " ADC #40 22010 " TAY 22020 " LDA #$42 22030 " STA (T6),Y 22040 " LDY T3 22050 " LDA TKHP,Y 22060 " AND #128 22070 " STA TKHP,Y 22080 " JMP TANKF 22090 "TANLEF: AND #64 22100 " BNE TKART 22110 " LDA TKHL,X 22120 " SEC 22130 " SBC #1 22140 " STA TKLEF+1 22150 " LDA TKHL+1,X 22160 " SBC #0 22170 " STA TKLEF+2 22180 "TKLEF: LDA $FFFF 22190 " CMP #$4C 22200 " BCS STUPLE 22210 " CMP #$48 22220 " BCS STOPLE 22230 "STUPLE: 22240 " LDA TKLEF+1 22250 " STA TKHL,X 22260 " LDA TKLEF+2 22270 " STA TKHL+1,X 22280 " LDA TKHX,Y 22290 " SEC 22300 " SBC #1 22310 " STA TKHX,Y 22320 " JMP SET3WI 22330 "STOPLE: LDA #0 22340 " STA TKHP,Y 22350 "TANKF: 22360 " LDA TKHL,X 22370 " STA T1 22380 " LDA TKHL+1,X 22390 " STA T2 22400 " LDA TKHP,Y 22410 " AND #64 22420 " BEQ TANK4 22430 " LDY #0 22440 " LDA #$20 22450 " STA (T1),Y 22460 " INY 22470 " LDA #$21 22480 " STA (T1),Y 22490 " INY 22500 " LDA #$22 22510 " STA (T1),Y 22520 " LDY #40 22530 " LDA #$23 22540 " STA (T1),Y 22550 " INY 22560 " LDA #$24 22570 " STA (T1),Y 22580 " INY 22590 " LDA #$25 22600 " STA (T1),Y 22610 " JMP TANKY1 22620 "TANK4: LDY #0 22630 " LDA #$94 22640 " STA (T1),Y 22650 " INY 22660 " LDA #$95 22670 " STA (T1),Y 22680 " LDY #40 22690 " LDA #$96 22700 " STA (T1),Y 22710 " INY 22720 " LDA #$97 22730 " STA (T1),Y 22740 " JMP TANKY1 22750 " 22760 "WANKS: LDX #2 22770 " LDY #1 22780 "WANK1: STY T3 22790 " LDA TKVY,Y 22800 " BNE WANKG 22810 "WANKY1: DEX 22820 " DEX 22830 " LDY T3 22840 " DEY 22860 " BPL WANK1 22870 " RTS 22880 "WANKG: LDA TKVL,X 22890 " STA T6 22900 " LDA TKVL+1,X 22910 " STA T7 22920 " LDA TKVP,Y 22930 " BMI WANLEF 22940 " AND #64 22950 " BNE WKRIG3 22960 " LDY #80 22970 " LDA (T6),Y 22980 " LDY T3 22990 " CMP #$4C 23000 " BCS WET3WI 23010 " CMP #$48 23020 " BCS WTOPRG 23030 "WET3WI: LDA TKVP,Y 23040 " ORA #64 23050 " STA TKVP,Y 23060 " JMP WANKF 23070 "WTOPRG: LDA TKVP,Y 23080 " ORA #128 23090 " STA TKVP,Y 23100 " JMP WANKF 23110 "WKRIG3: LDA TKVY,Y 23120 " CLC 23130 " ADC #1 23140 " CMP #24 23150 " BCS WANOVE 23160 " STA TKVY,Y 23170 " LDA TKVL,X 23180 " CLC 23190 " ADC #40 23200 " STA TKVL,X 23210 " BCC WKR1 23220 " INC TKVL+1,X 23230 "WKR1: LDY #0 23240 " BYT $2C 23250 "WKART: LDY #80 23260 " LDA #$50 23270 " STA (T6),Y 23280 " INY 23290 " LDA #$51 23300 " STA (T6),Y 23310 " LDY T3 23320 " LDA TKVP,Y 23330 " AND #128 23340 " STA TKVP,Y 23350 " JMP WANKF 23360 "WANOVE: LDA #0 23370 " STA TKVY,Y 23380 " JMP WANKY1 23390 "WANLEF: AND #64 23400 " BNE WKART 23410 " LDA TKVL,X 23420 " SEC 23430 " SBC #40 23440 " STA WKLEF+1 23450 " LDA TKVL+1,X 23460 " SBC #0 23470 " STA WKLEF+2 23480 "WKLEF: LDA $FFFF 23490 " CMP #$4C 23500 " BCS WUCKLE 23510 " CMP #$48 23520 " BCS WOCKLE 23530 "WUCKLE: 23540 " LDA WKLEF+1 23550 " STA TKVL,X 23560 " LDA WKLEF+2 23570 " STA TKVL+1,X 23580 " LDA TKVY,Y 23590 " SEC 23600 " SBC #1 23610 " BEQ WANOVE 23620 " STA TKVY,Y 23630 " JMP WET3WI 23640 "WOCKLE: LDA #0 23650 " STA TKVP,Y 23660 "WANKF: 23670 " LDA TKVL,X 23680 " STA T1 23690 " LDA TKVL+1,X 23700 " STA T2 23710 " LDA TKVP,Y 23720 " AND #64 23730 " BEQ WANK4 23740 " LDY #0 23750 " LDA #$26 23760 " STA (T1),Y 23770 " INY 23780 " LDA #$27 23790 " STA (T1),Y 23800 " LDY #40 23810 " LDA #$28 23820 " STA (T1),Y 23830 " INY 23840 " LDA #$29 23850 " STA (T1),Y 23860 " LDY #80 23870 " LDA #$2A 23880 " STA (T1),Y 23890 " INY 23900 " LDA #$2B 23910 " STA (T1),Y 23920 " JMP WANKY1 23930 "WANK4: LDY #0 23940 " LDA #$9C 23950 " STA (T1),Y 23960 " INY 23970 " LDA #$9D 23980 " STA (T1),Y 23990 " LDY #40 24000 " LDA #$9E 24010 " STA (T1),Y 24020 " INY 24030 " LDA #$9F 24040 " STA (T1),Y 24050 " JMP WANKY1 24060 " 24070 "AEROPU:JSR PDTEST 24080 " JSR PLHORI 24090 " JSR PLMOVE 24100 " JSR PLSTOR 24110 " JSR PDCOLL 24120 " JSR PLINE1 24130 " JMP PLINE2 24140 " 24150 "PLCLER: LDY #0 24160 " LDX #0 24170 " JSR PLCL1 24180 " LDY #1 24190 " LDX #2 24200 "PLCL1: LDA PDED,Y 24210 " BNE PLCONT 24220 " LDA PLYY,Y 24230 " BEQ PLCL0 24240 " CMP #3 24250 " BCS PLCONT 24260 " LDA PLDI,Y 24270 " BEQ PLCL0 24280 "PLCONT: 24290 " LDA PLOC,X 24300 " STA T3 24310 " LDA PLOC+1,X 24320 " STA T4 24330 " LDA PLGD,Y 24340 " STA T5 24350 " LDX #5 24360 "PLCL2: LDY T5 24370 " LDA PBGD,Y 24380 " PHA 24390 " LDA PLIND,X 24400 " TAY 24410 " PLA 24420 " STA (T3),Y 24430 " DEC T5 24440 " DEX 24450 " BPL PLCL2 24460 "PLCL0: RTS 24470 " 24480 "PLMOVE: LDY #1 24490 " LDX #2 24500 " JSR PLM2 24510 " LDY #0 24520 " LDX #0 24530 "PLM2: LDA PLYY,Y 24540 " BEQ PLDOOR 24550 " LDA PLDI,Y 24560 " CLC 24570 " ADC #3 24580 " PHA 24590 " AND #7 24600 " STA PLDI,Y 24610 " PLA 24620 " AND #8 24630 " BEQ PLDOOR 24640 " LDA PLYY,Y 24650 " CLC 24660 " ADC #1 24670 " CMP #24 24680 " BCC PLM3 24690 " LDA #0 24700 " STA PLYY,Y 24710 " BEQ PLDOOR 24720 "PLM3: STA PLYY,Y 24730 " LDA PLOC,X 24740 " CLC 24750 " ADC #40 24760 " STA PLOC,X 24770 " BCC PLDOOR 24780 " INC PLOC+1,X 24790 "PLDOOR: RTS 24800 " 24810 "PLSTOR: LDY #1 24820 " LDX #2 24830 " JSR STORPL 24840 " LDY #0 24850 " LDX #0 24860 "STORPL: LDA PLYY,Y 24870 " ORA PDED,Y 24880 " BEQ PLST0 24890 " LDA PLOC,X 24900 " STA T4 24910 " LDA PLOC+1,X 24920 " STA T5 24930 " LDA PLCD,Y 24940 " STA T3 24950 " LDA PLGD,Y 24960 " STA T6 24970 " LDX #5 24980 "PLBACK: TXA 24990 " LDA PLIND,X 25000 " TAY 25010 " LDA (T4),Y 25020 " LDY T6 25030 " STA PBGD,Y 25040 " DEC T6 25050 " DEX 25060 " BPL PLBACK 25070 " LDX #5 25080 "PLST1: TXA 25090 " LDA PLIND,X 25100 " TAY 25110 " LDA T3 25120 " STA (T4),Y 25130 " DEC T3 25140 " DEX 25150 " BPL PLST1 25160 "PLST0: RTS 25170 " 25180 "PLINE1: LDA PLYY 25190 " ORA PDED 25200 " BEQ PLINE0 25210 " LDX #47 25220 " LDY #5 25230 " STY T6 25240 "PLI11: LDA PBGD,Y 25250 " JSR CALCAD 25260 " LDY #7 25270 "PLI12: LDA (T1),Y 25280 " STA PLDES1,X 25290 " DEX 25300 " DEY 25310 " BPL PLI12 25320 " DEC T6 25330 " LDY T6 25340 " BPL PLI11 25350 " LDX PLDI 25360 " LDY #0 25370 " LDA PDED 25380 " BNE PLY13 25390 "PLI13: LDA PLINV,Y 25400 " AND PLDES1,X 25410 " ORA PLDAT,Y 25420 " STA PLDES1,X 25430 " LDA PLINV+16,Y 25440 " AND PLDES1+24,X 25450 " ORA PLDAT+16,Y 25460 " STA PLDES1+24,X 25470 " INX 25480 " INY 25490 " CPY #16 25500 " BCC PLI13 25510 "PLINE0: RTS 25520 "PLY13: LDA PLINV,Y 25530 " AND PLDES1,X 25540 " STA T1 25550 " LDA $FF00 25560 " ORA #$AA 25570 " STA T2 25580 " LDA PLINV,Y 25590 " EOR #255 25600 " AND T2 25610 " ORA T1 25620 " STA PLDES1,X 25630 " LDA PLINV+16,Y 25640 " AND PLDES1+24,X 25650 " STA T1 25660 " LDA PLINV+16,Y 25670 " EOR #255 25680 " AND T2 25690 " ORA T1 25700 " STA PLDES1+24,X 25710 " INX 25720 " INY 25730 " CPY #16 25740 " BCC PLY13 25750 " RTS 25760 " 25770 "PLINE2: LDA PLYY+1 25780 " ORA PDED+1 25790 " BEQ PLINE9 25800 " LDX #47 25810 " LDY #5 25820 " STY T6 25830 "PLN11: LDA PBGD+6,Y 25840 " JSR CALCAD 25850 " LDY #7 25860 "PLN12: LDA (T1),Y 25870 " STA PLDES2,X 25880 " DEX 25890 " DEY 25900 " BPL PLN12 25910 " DEC T6 25920 " LDY T6 25930 " BPL PLN11 25940 " LDX PLDI+1 25950 " LDY #0 25960 " LDA PDED+1 25970 " BNE PLU13 25980 "PLN13: LDA PLINV,Y 25990 " AND PLDES2,X 26000 " ORA PLDAT,Y 26010 " STA PLDES2,X 26020 " LDA PLINV+16,Y 26030 " AND PLDES2+24,X 26040 " ORA PLDAT+16,Y 26050 " STA PLDES2+24,X 26060 " INX 26070 " INY 26080 " CPY #16 26090 " BCC PLN13 26100 "PLINE9: RTS 26110 "PLU13: LDA PLINV,Y 26120 " AND PLDES2,X 26130 " STA T1 26140 " LDA $FF04 26150 " ORA #$AA 26160 " STA T2 26170 " LDA PLINV,Y 26180 " EOR #255 26190 " AND T2 26200 " ORA T1 26210 " STA PLDES2,X 26220 " LDA PLINV+16,Y 26230 " AND PLDES2+24,X 26240 " STA T1 26250 " LDA PLINV+16,Y 26260 " EOR #255 26270 " AND T2 26280 " ORA T1 26290 " STA PLDES2+24,X 26300 " INX 26310 " INY 26320 " CPY #16 26330 " BCC PLU13 26340 " RTS 26350 " 26360 "PDCOLL: LDX #6 26370 " STX T6 26380 " LDY #3 26390 " STY T7 26400 "PLCO1: LDY T7 26410 " LDA BFLG 26420 " AND TBIT,Y 26430 " BEQ PLC02 26440 " LDX T6 26450 " LDA (BADD,X) 26460 " CMP #$B4 26470 " BCC PLC02 26480 " CMP #$C0 26490 " BCS PLC02 26500 " LDY #0 26510 " CMP #$BA 26520 " BCC PLC03 26530 " INY 26540 "PLC03: LDA PDED,Y 26550 " BNE PLC02 26560 " LDA #8 26570 " STA PDED,Y 26580 " LDA #0 26590 " STA PLYY,Y 26600 " LDY T7 26610 " LDA SBIT,Y 26620 " AND BFLG 26630 " STA BFLG 26640 " LDA #0 26650 " SEC 26670 " JSR ADDSCR 26671 " LDA #16 26672 " STA BANG 26680 "PLC02: DEC T6 26690 " DEC T6 26700 " DEC T7 26710 " BPL PLCO1 26720 " RTS 26730 " 26740 "PDTEST: LDY #1 26750 " JSR PDTE1 26760 " LDY #0 26770 "PDTE1: LDA PDED,Y 26780 " BEQ PDTE2 26790 " SEC 26800 " SBC #1 26810 " STA PDED,Y 26820 "PDTE2: RTS 26830 " 26840 "TANFIR: LDY TTRN 26850 " DEC TTRN 26860 " BPL TTRF99 26870 " LDA #3 26880 " STA TTRN 26890 "TTRF99: TYA 26900 " ASLA 26910 " STA T6 26920 " LDA $FF05 26930 " CMP #128 26940 " BCS TTRF1 26950 " LDX TKHY,Y 26960 " BEQ TTRF1 26970 " LDA BFLG 26980 " AND TBIT+4,Y 26990 " BNE TTRF1 27000 " STX BYYY+4,Y 27010 " TXA 27020 " LDX TKHX,Y 27030 " STX BXXX+4,Y 27040 " JSR GETDIR 27050 " AND TBMA,Y 27060 " BEQ TTRF1 27070 " STA BDIR+4,Y 27080 " STY T5 27090 " LDY T6 27100 " LDX TKHL,Y 27110 " STX BADD+8,Y 27120 " LDX TKHL+1,Y 27130 " STX BADD+9,Y 27140 " LDY T5 27150 " LDA BFLG 27160 " ORA TBIT+4,Y 27170 " STA BFLG 27180 "TTRF1: RTS 27190 " 27200 "BCOLLI: LDX #3 27210 "BCOL0: LDA TBIT,X 27220 " STX T7 27230 " AND BFLG 27240 " BNE BCOL2 27250 "BCOL1: LDX T7 27260 " DEX 27270 " BPL BCOL0 27280 " RTS 27290 "BCOL2: TXA 27300 " ASLA 27310 " TAX 27320 " LDA (BADD,X) 27330 " CMP #$20 27340 " BCC BCOL1 27350 " CMP #$2C 27360 " BCC GOTTA1 27370 " CMP #$94 27380 " BCC GOTTA9 27390 " CMP #$A0 27400 " BCC GOTTA0 27410 "GOTTA9: JMP TRYX 27420 "GOTTA0: SEC 27430 " SBC #$68 27440 "GOTTA1: SEC 27450 " SBC #$20 27460 " TAY 27470 " LDA TANKSE,Y 27480 " STA T1 27490 " LDY #6 27500 "GOTTA2: LDA TKHL,Y 27510 " CLC 27520 " ADC T1 27530 " STA T2 27540 " LDA #0 27550 " ADC TKHL+1,Y 27560 " CMP BADD+1,X 27570 " BNE NEXCHK 27580 " LDA T2 27590 " CMP BADD,X 27600 " BEQ TANKE 27610 "NEXCHK: DEY 27620 " DEY 27630 " BPL GOTTA2 27640 " JMP BCOL1 27650 "TANKE: TYA 27660 " LSRA 27670 " TAX 27680 " LDA TKHY,X 27690 " BEQ BCOL1 27700 " LDA #0 27710 " STA TKHY,X 27720 " TXA 27730 " CLC 27740 " ADC #$2C 27750 " STA T6 27760 " LDA #10 27770 " STA TKDD,X 27780 " LDA TKHL,Y 27790 " STA T1 27800 " LDA TKHL+1,Y 27810 " STA T2 27820 " LDA TKHP,X 27830 " AND #64 27840 " BEQ TANKC 27850 " TXA 27860 " AND #2 27870 " TAX 27880 " LDA TKCLE,X 27890 " TAY 27900 " LDA TKCOD,X 27910 " STA (T1),Y 27920 " LDA TKCLE+1,X 27930 " TAY 27940 " LDA TKCOD+1,X 27950 " STA (T1),Y 27960 "TANKC: 27970 " LDY #0 27980 " LDA T6 27990 " STA (T1),Y 28000 " INY 28010 " STA (T1),Y 28020 " LDY #40 28030 " STA (T1),Y 28040 " INY 28050 " STA (T1),Y 28070 " CLC 28080 " LDA #$10 28090 " JSR ADDSCR 28091 " LDA #16 28092 " STA BANG 28100 " JMP RID 28110 "BJMP: JMP BCOL1 28120 "TRYX: CMP #$84 28130 " BCC BJMP 28140 " CMP #$94 28150 " BCS BJMP 28160 " SEC 28170 " SBC #$84 28180 " AND #$0C 28190 " LSRA 28200 " TAX 28210 " LSRA 28220 " TAY 28230 " LDA TYYY,Y 28240 " BEQ BJMP 28250 " STY T3 28260 " LDA TLOC,X 28270 " STA T1 28280 " LDA TLOC+1,X 28290 " STA T2 28300 " LDA $FF04 28310 " AND #7 28320 " CMP #5 28330 " BCS PICKUP 28340 " TAY 28350 " LDA CPICK,Y 28360 "BYT $2C 28370 "PICKUP: LDA #12 28380 " LDY #0 28390 " STA (T1),Y 28400 " INY 28410 " CLC 28420 " ADC #1 28430 " STA (T1),Y 28440 " LDY #40 28460 " ADC #1 28470 " STA (T1),Y 28480 " INY 28500 " ADC #1 28510 " STA (T1),Y 28520 " LDY T3 28530 " LDX #0 28540 " STX TYYY,Y 28550 " LDA TURDAT,Y 28560 " TAY 28570 "SHLOP: LDA NEWBA,X 28580 " STA $3C20,Y 28590 " INY 28600 " INX 28610 " CPX #32 28620 " BCC SHLOP 28630 " LDA #$50 28650 " CLC 28660 " JSR ADDSCR 28661 " LDA #8 28662 " STA BANG 28670 "RID: LDX T7 28680 " LDA SBIT,X 28690 " AND BFLG 28700 " STA BFLG 28701 " LDA #210 28702 " STA FIRE 28710 " JMP BCOL1 28720 " 28750 "BOMBP: LDX #14 28760 " LDY #7 28770 "BOP2: LDA TBIT,Y 28780 " AND BFLG 28790 " BEQ BOP3 28800 " LDA (BADD,X) 28810 " STA BBAK,Y 28820 " LDA #4 28830 " CPY #4 28840 " BCC BOP33 28850 " LDA #5 28860 "BOP33: 28870 " STA (BADD,X) 28880 " LDA BADD+1,X 28890 " PHA 28900 " EOR #4 28910 " STA BADD+1,X 28920 " LDA BCOL 28930 " STA (BADD,X) 28940 " PLA 28950 " STA BADD+1,X 28960 "BOP3: DEX 28970 " DEX 28980 " DEY 29000 " BPL BOP2 29010 " RTS 29020 " 29030 "ADDSCR: SED 29031 " PHP 29040 " CLC 29050 " ADC SCOR 29060 " STA SCOR 29070 " PLA 29080 " AND #1 29090 " ADC SCOR+1 29100 " STA SCOR+1 29101 "LDA#0 29102 "ADCSCOR+2 29103 "STASCOR+2 29130 " CLD 29140 " RTS 29150 " 29160 "WRTSCR: LDA #<3223 29170 " STA T1 29180 " LDA #>3223 29190 " STA T2 29200 " LDY #0 29210 " STY T3 29220 " LDY #40 29230 " STY T4 29240 " LDA SCOR+2 29250 " JSR PUTSC 29260 " LDA SCOR+1 29270 " JSR PUTSC 29280 " LDA SCOR 29290 "PUTSC: PHA 29300 " LSRA 29310 " LSRA 29320 " LSRA 29330 " LSRA 29340 " JSR PUTCS 29350 " PLA 29360 " AND #15 29370 "PUTCS: ASLA 29380 " CLC 29390 " ADC #$D0 29400 " LDY T3 29410 " STA (T1),Y 29420 " CLC 29430 " ADC #1 29440 " LDY T4 29450 " STA (T1),Y 29460 " INC T3 29470 " INC T4 29480 " RTS 29490 " 29500 "EXTANK: LDX #3 29510 "EXTANF: LDA TKDD,X 29520 " BNE EXTA1 29530 "EXTA0: DEX 29540 " BPL EXTANF 29550 " RTS 29560 "EXTA1: CMP #1 29570 " BNE EXTA2 29580 " TXA 29590 " ASLA 29600 " TAY 29610 " LDA TKHL,Y 29620 " STA T1 29630 " LDA TKHL+1,Y 29640 " STA T2 29650 " TXA 29660 " AND #2 29670 " TAY 29680 " LDA TKCOD,Y 29690 " LDY #0 29700 " STA (T1),Y 29710 " INY 29720 " CLC 29730 " ADC #1 29740 " STA (T1),Y 29750 " LDY #40 29770 " ADC #1 29780 " STA (T1),Y 29790 " INY 29810 " ADC #1 29820 " STA (T1),Y 29830 " JMP EXTA9 29840 "EXTA2: LDA #$39 29850 " STA T2 29860 " LDA EXTL,X 29870 " STA T1 29880 " LDY #7 29890 "EXTA3: LDA $FF04 29900 " ORA #$AA 29901 " AND $3538,Y 29910 " STA (T1),Y 29920 " DEY 29930 " BPL EXTA3 29940 "EXTA9: DEC TKDD,X 29950 " JMP EXTA0 29960 " 29970 "PLHORI: LDY #1 29980 " LDX #2 29990 " JSR PLHOZI 30000 " LDY #0 30010 " LDX #0 30020 "PLHOZI: LDA PLYY,Y 30030 " BEQ PLHZ1 30040 " LDA PLCT,Y 30050 " SEC 30060 " SBC #1 30070 " STA PLCT,Y 30080 " STX T1 30090 " LDX PLIX,Y 30100 " LDA PTBL,X 30110 " BEQ PLHZ8 30120 " BMI PLHZ2 30130 " LDX T1 30140 " LDA PLOC,X 30150 " CLC 30160 " ADC #1 30170 " STA PLOC,X 30180 " BCC PLHZ9 30200 " INC PLOC+1,X 30210 " JMP PLHZ9 30220 "PLHZ2: LDX T1 30230 " LDA PLOC,X 30240 " SEC 30250 " SBC #1 30260 " STA PLOC,X 30270 " BCS PLHZ9 30290 " DEC PLOC+1,X 30300 "PLHZ9: 30310 " LDX PLIX,Y 30320 " LDA PTBL,X 30330 " CLC 30340 " ADC PLXX,Y 30350 " STA PLXX,Y 30360 "PLHZ8: LDA PLCT,Y 30370 " BNE PLHZ1 30380 " INX 30390 " LDA PTAB,X 30400 " BNE PLHZ3 30410 " LDX #0 30420 " LDA PTAB 30430 "PLHZ3: 30440 " STA PLCT,Y 30450 " STX PLIX,Y 30460 "PLHZ1: RTS 30470 " 30480 "EYEBAL: TAX 30490 " LDA EYED,X 30500 " STA EYE1+1 30510 " LDX TURDAT,Y 30520 " LDA #31 30530 " STA T1 30540 "EYE1: LDA $3400 30550 " STA $3C20,X 30560 " INC EYE1+1 30570 " INX 30580 " DEC T1 30590 " BPL EYE1 30600 " RTS 30610 " 30620 "RADART: LDA SCR 30630 " CMP #7 30640 " BNE RADAR1 30650 " LDX #31 30660 "RADAR2: LDA RADAR,X 30670 " EOR $39E0,X 30680 " STA $39E0,X 30690 " LDA $3880,X 30700 " EOR #255 30710 " STA $3880,X 30720 " LDA $38A0,X 30730 " EOR #255 30740 " STA $38A0,X 30750 " LDA $38C0,X 30760 " EOR #255 30770 " STA $38C0,X 30780 " LDA $38E0,X 30790 " EOR #255 30800 " STA $38E0,X 30810 " DEX 30820 " BPL RADAR2 30830 "RADAR1: RTS 30840 " 30850 "MANFIR: LDA KEYT+6 30860 " AND #128 30870 " BNE MANFI0 30871 " LDA KEYT+5 30872 " AND #64 30873 " BNE MANFI0 30880 " RTS 30890 "MANFI0: LDA FIRD 30900 " AND #1 30910 " BEQ MANFI1 30920 " LDA BFLG 30930 " AND #1 30940 " BNE MANFI1 30941 " LDA #220 30942 " STA FIRE 30950 " LDA MAN 30960 " CLC 30970 " ADC #41 30980 " STA BADD 30990 " LDA MAN+1 31000 " ADC #0 31010 " STA BADD+1 31020 " LDA MX 31030 " STA BXXX 31040 " INC BXXX 31050 " LDA MY 31060 " STA BYYY 31070 " INC BYYY 31080 " LDA #1 31090 " STA BDIR 31100 " LDA BFLG 31110 " ORA #1 31120 " STA BFLG 31130 "MANFI1: LDA FIRD 31140 " AND #3 31150 " CMP #2 31160 " BNE MANFI2 31170 " LDA BFLG 31180 " AND #3 31190 " BNE MANFI2 31191 " LDA #220 31192 " STA FIRE 31200 " LDA MAN 31210 " CLC 31220 " ADC #40 31230 " STA BADD 31240 " LDA MAN+1 31250 " ADC #0 31260 " STA BADD+1 31270 " LDA MAN 31280 " CLC 31290 " ADC #42 31300 " STA BADD+2 31310 " LDA MAN+1 31320 " ADC #0 31330 " STA BADD+3 31340 " LDA MX 31350 " STA BXXX 31360 " CLC 31370 " ADC #2 31380 " STA BXXX+1 31390 " LDA MY 31400 " STA BYYY 31410 " INC BYYY 31420 " STA BYYY+1 31430 " INC BYYY+1 31440 " LDA #1 31450 " STA BDIR 31460 " STA BDIR+1 31470 " LDA BFLG 31480 " ORA #3 31490 " STA BFLG 31500 "MANFI2: LDA FIRD 31510 " AND #3 31520 " CMP #3 31530 " BNE MANFI3 31540 " LDA BFLG 31550 " AND #2 31560 " BNE MANFI3 31570 " INC SWAP 31580 " LDA SWAP 31590 " LSRA 31600 " LDA #40 31610 " BCS MANFIA 31620 " LDA #42 31630 "MANFIA: TAX 31640 " CLC 31650 " ADC MAN 31660 " STA BADD+2 31670 " LDA MAN+1 31680 " ADC #0 31690 " STA BADD+3 31700 " TXA 31710 " SEC 31720 " SBC #40 31730 " TAX 31740 " CLC 31750 " ADC MX 31760 " STA BXXX+1 31770 " LDA MY 31780 " STA BYYY+1 31790 " INC BYYY+1 31800 " LDA DIAG,X 31810 " STA BDIR+1 31820 " LDA BFLG 31830 " ORA #2 31840 " STA BFLG 31850 "MANFI3: LDA FIRD 31860 " AND #$0C 31870 " BEQ MANFI4 31880 " LDA BFLG 31890 " AND #$0C 31900 " BNE MANFI4 31910 " LDA FIRD 31920 " AND #$0C 31930 " LDX #0 31940 " CMP #4 31950 " BEQ FRED99 31960 " LDA MY 31970 " CMP #17 31980 " BCS MANFI4 31990 " LDX #2 32000 "FRED99: 32010 " LDA MAN 32020 " CLC 32030 " ADC #40 32040 " STA BADD+4 32050 " LDA MAN+1 32060 " ADC #0 32070 " STA BADD+5 32080 " LDA MAN 32090 " CLC 32100 " ADC #42 32110 " STA BADD+6 32120 " LDA MAN+1 32130 " ADC #0 32140 " STA BADD+7 32150 " LDA MX 32160 " STA BXXX+2 32170 " CLC 32180 " ADC #2 32190 " STA BXXX+3 32200 " LDA MY 32210 " STA BYYY+2 32220 " INC BYYY+2 32230 " STA BYYY+3 32240 " INC BYYY+3 32250 " LDA EXTRA,X 32260 " STA BDIR+2 32270 " LDA EXTRA+1,X 32280 " STA BDIR+3 32290 " LDA BFLG 32300 " ORA #$0C 32310 " STA BFLG 32320 "MANFI4: RTS 32330 " 32340 "PICKEM: LDA KEYT+6 32350 " AND #128 32360 " BNE PPPPRE 32361 " LDA KEYT+5 32362 " AND #64 32363 " BEQ PICKEX 32370 "PPPPRE: LDX #2 32380 " JSR PICKE1 32390 " LDX #6 32400 " JSR PICKE1 32410 " LDA MPHS 32420 " AND #3 32430 " BEQ PICKEX 32440 " LDX #10 32450 " JSR PICKE1 32460 "PICKEX: RTS 32470 "PICKE1:LDA BGDS,X 32480 "CMP #$10 32490 "BCC PICKEX 32500 "CMP #$20 32509 "BCS PICKEX 32510 "TAY 32511 "AND#3 32512 "BNE PICKEX 32513 "TYA 32514 "CLC 32515 "ADC#1 32520 "CMPBGDS+4,X 32540 "BNE PICKEX 32550 "ADC#0 32560 "CMPBGDS+1,X 32569 "BNE PICKEX 32570 "ADC#0 32571 "CMPBGDS+5,X 32573 "BNE PICKEX 32580 " AND #15 32590 " LSRA 32600 " LSRA 32610 " TAY 32620 " LDA FIRD 32630 " AND GUN1,Y 32640 " ORA GUN2,Y 32650 " STA FIRD 32660 " LDA #12 32670 " STA BGDS,X 32680 " LDA #13 32690 " STA BGDS+4,X 32700 " LDA #14 32710 " STA BGDS+1,X 32720 " LDA #15 32730 " STA BGDS+5,X 32731 " LDA #32 32732 " STA PYCK 32740 " PLA 32750 " PLA 32760 " RTS 32770 " 32780 "BCOLL2: LDX #4 32790 " LDA MDIS 32800 " CMP #4 32810 " BCC BCL1 32820 " INX 32830 "BCL1: STX T1 32840 " JSR MCL2 32850 " LDA MPHS 32860 " AND #1 32870 " BEQ MCL9 32880 " LDA T1 32890 " CLC 32900 " ADC #4 32910 " TAX 32920 " JSR MCL2 32930 "MCL9: RTS 32940 "MCL2: LDY #2 32950 "MCL0: LDA BGDS,X 32960 " CMP #5 32970 " BEQ MNDED 32980 " CMP #$C0 32990 " BCS MCL3 33000 " CMP #$B4 33010 " BCS MNDE1 33020 "MCL3: INX 33030 " DEY 33040 " BPL MCL0 33050 " RTS 33060 "MNDE1: LDY #0 33070 " CMP #$BA 33080 " BCC MNDE2 33090 " INY 33100 "MNDE2: LDA PDED,Y 33110 " BNE MNNT 33120 "MNDED: LDA #0 33130 " STA MNDD 33140 " PLA 33150 " PLA 33160 "MNNT: RTS 33170 " 33180 "LESSPL: LDX MLIF 33190 " LDA GOPPL,X 33200 " TAY 33210 " LDA #0 33220 " STA 3462,Y 33230 " STA 3502,Y 33240 " DEX 33250 " STX MLIF 33260 " RTS 33270 " 33280 "MANRES: LDX #1 33290 " STX MNDD 33300 " STX FIRD 33310 " DEX 33320 " STX SWAP 33330 " STX MPHS 33340 " STX MPHT 33341 " LDA #7 33342 " SEC 33343 " SBC SCR 33344 " STA MDIS 33350 " LDX #20 33360 " STX MY 33370 " LDX #14 33380 " STX MX 33390 " LDX #<3886 33400 " STX MAN 33410 " LDX #>3886 33420 " STX MAN+1 33421 " LDA #210 33422 " STA FIRE 33423 " LDA #0 33424 " STA BANG 33425 " STA PYCK 33430 " RTS 33440 " 33450 "DELAY: LDX #0 33460 " LDY #0 33470 "DEL1: DEY 33480 " BNE DEL1 33490 " DEX 33500 " BNE DEL1 33510 " SEC 33520 " SBC #1 33530 " BNE DEL1 33540 " RTS 33550 " 33560 "PAUSE: SEI 33570 "PAU1: JSR KEYSCN 33580 " LDA KEYT 33590 " AND #8 33600 " BEQ PAU1 33610 " LDA #2 33620 " STA $FF09 33630 " CLI 33640 " RTS 33650 " 33660 "AEROFI: LDY #1 33670 " LDX #2 33680 " JSR FIAERO 33690 " LDY #0 33700 " LDX #0 33710 "FIAERO: LDA PLYY,Y 33720 " BEQ FIA1 33730 " LDA TBIT+4,Y 33740 " AND BFLG 33750 " BNE FIA1 33760 " LDA PLDI,Y 33770 " CMP #7 33780 " BCC FIA1 33790 " LDA #2 33800 " STA BDIR+4,Y 33810 " LDA PLXX,Y 33820 " STA BXXX+4,Y 33830 " LDA PLYY,Y 33840 " STA BYYY+4,Y 33850 " LDA PLOC,X 33860 " CLC 33870 " ADC #80 33880 " STA BADD+8,X 33890 " LDA PLOC+1,X 33900 " ADC #0 33910 " STA BADD+9,X 33920 " LDA TBIT+4,Y 33930 " ORA BFLG 33940 " STA BFLG 33950 "FIA1: RTS 33960 " 33970 "EXTRA:BYT 4,8,6,10 33980 "GOPPL:BYT 4,2,6,0,8 33990 "DIAG: BYT 5,0,9 34000 "GUN1:BYT $C,$C,$3,$3 34010 "GUN2:BYT 2, 3, 4, 8 34020 "TANKSE: BYT 0,1,2,40,41,42 34030 "BYT 0,1,40,41,80,81 34040 "BYT 0,1,40,41 34050 "BYT 0,1,40,41,0,1,40,41 34060 "EXTL: BYT $60,$68,$70,$78 34070 "PLIND:BYT 0,40,80,1,41,81 34080 "PLCD:BYT $B9,$BF 34090 "TURDAT:BYT 0,32,64,96 34100 "TEDD:BYT 7,$98,0,0,2,200 34110 " BYT 255,255;CURSOR 34120 " BYT 0,0,0,0;SOUND 34130 " BYT $C8,56,8,0,$E,9,0,0 34150 "TABS:BYT 0,40,80,120,1,41,81,121 34160 " BYT 2,42,82,122,3,43,83,123 34170 "PLGD:BYT 5,11 34180 "TKCLE:BYT 2,42,80,81 34190 "TKCOD:BYT $40,$42,$50,$51 34200 "TBMA:BYT $02,$02,$0C,$0C 34210 "TBIT:BYT 1,2,4,8,16,32,64,128 34220 "SBIT:BYT $FE,$FD,$FB,$F7,$EF,$DF,$BF,$7F 34230 "CPICK: BYT $C,$10,$14,$18,$1C 34240 "PTAB:BYT 10,8,10,8,0 34250 "PTBL:BYT 1,0,255,0 34260 "EYED:BYT 0,$00,$80,0,$C0,$E0,$A0 34270 "BYT 0,$40,$20,$60,0,0,0,0,0 34430 "SNOIS: LDX #0 34440 " STX T0 34450 " ASLA 34460 " ROL T0 34461 " ASLA 34462 " ROL T0 34470 " STA $FF0F 34480 " LDA T0 34490 " STA $FF10 34500 " LDA #$48 34510 " ORA $FF11 34520 " STA $FF11 34530 " RTS 34540 " 34550 "STONE: LDX #0 34560 " STX T0 34570 " ASLA 34580 " ROL T0 34590 " ASLA 34600 " ROL T0 34610 " STA $FF0E 34620 " LDA $FF12 34630 " AND #$FC 34640 " ORA T0 34650 " STA $FF12 34660 " LDA #$18 34670 " ORA $FF11 34680 " STA $FF11 34690 " RTS 34700 " 34710 "SOUND: LDA PYCK 34730 " BEQ SOU9 34740 " JSR STONE 34750 " LDA PYCK 34760 " CLC 34761 " ADC #16 34762 " STA PYCK 34763 " LDA FIRE 34764 " CMP #210 34765 " BNE SOU8 34766 " BEQ SOUND2 34768 "SOU9: LDA FIRE 34769 " CMP #210 34770 " BEQ SOUA 34771 " JSR STONE 34772 "SOU8: DEC FIRE 34773 " JMP SOUND2 34774 "SOUA: LDA #$EF 34780 " AND $FF11 34790 " STA $FF11 34800 "SOUND2: LDA BANG 34810 " BEQ SOU3 34830 " JSR SNOIS 34840 " DEC BANG 34850 " RTS 34860 "SOU3: LDA #$BF 34865 " AND $FF11 34867 " STA $FF11 34870 " RTS 34900 " 34905 "MVEMAN: LDA MPHS 34910 " BEQ MVEM1 34915 " AND #2 34920 " BEQ MVEM2 34925 " INC MAN 34930 " BNE MVEM2 34935 " INC MAN+1 34940 "MVEM2: LDA #0 34945 " STA MPHS 34950 "MVEM1: LDA MPHT 34955 " BEQ MVEM9 34960 " LDY #0 34965 " STY MPHT 34970 " AND #2 34975 " BNE ADD4 34980 "SUB4: 34985 " LDA MDIS 34990 " SEC 34995 " SBC #4 35000 " TAY 35005 " AND #7 35010 " STA MDIS 35015 " TYA 35020 " BPL MVEM9 35025 " DEC MY 35030 " LDA MAN 35035 " SEC 35040 " SBC #40 35045 " STA MAN 35050 " BCS MVEM9 35055 " DEC MAN+1 35060 "MVEM9: RTS 35065 "ADD4: LDA MDIS 35070 " CLC 35075 " ADC #4 35080 " TAY 35085 " AND #7 35090 " STA MDIS 35095 " CPY #8 35100 " BCC MVEM9 35105 " INC MY 35110 " LDA MAN 35115 " CLC 35120 " ADC #40 35125 " STA MAN 35130 " BCC MVEM9 35135 " INC MAN+1 35140 " RTS 35145 " 35160 "DEATH: LDA #0 35161 " STA T7 35162 " LDA $FF16 35163 " PHA 35164 " LDA $FF17 35165 " PHA 35180 "DEA1: JSR DIE 35181 " LDA T7 35182 " STA $FF17 35183 " STA $FF16 35184 " JSR SNOIS 35190 " DEC T7 35200 " BNE DEA1 35201 " LDA #0 35202 " STA $FF11 35203 " PLA 35204 " STA $FF17 35205 " PLA 35206 " STA $FF16 35230 " RTS 35240 " 40000 "DIE: LDX MDIS 40010 " LDY #0 40020 " LDA MPHS 40030 " AND #3 40040 " BEQ RAH2 40050 " LDY #STEP 40060 "RAH2: 40070 " LDA #24 40080 " STA T1 40090 "RUGGEO: 40120 " LDA IMAND,Y 40130 " AND DESTI,X 40140 " STA T3 40150 " LDA IMAND,Y 40160 " EOR #255 40170 " AND $FF04 40180 " ORA T3 40190 " STA DESTI,X 40200 " LDA IMAND+24,Y 40210 " AND DESTI+32,X 40220 " STA T3 40230 " LDA IMAND+24,Y 40240 " EOR #255 40250 " AND $FF04 40260 " ORA T3 40270 " STA DESTI+32,X 40280 " LDA IMAND+48,Y 40290 " AND DESTI+64,X 40300 " STA T3 40310 " LDA IMAND+48,Y 40320 " EOR #255 40330 " AND $FF04 40340 " ORA T3 40350 " STA DESTI+64,X 40360 " LDA IMAND+72,Y 40370 " AND DESTI+96,X 40380 " STA T3 40390 " LDA IMAND+72,Y 40400 " EOR #255 40410 " AND $FF04 40420 " ORA T3 40430 " STA DESTI+96,X 40440 " INX 40450 " INY 40460 " DEC T1 40470 " BNE RUGGEO 40480 " RTS 40481 "LAST: 40490 "*