0100     *=  $2000›0110 ;›0120 ; *** BATTLE IN THE B RING ***›0130 ;›0140 ;ZERO PAGE VARIABLES›0150 ;›0160 PBL0 =  $B0›0170 PBL1 =  $B1›0180 PBL2 =  $B2›0190 PBH2 =  $B3›0200 PBH0 =  $B4›0210 PBH1 =  $B5›0220 XP0 =   $B6›0230 XP1 =   $B7›0240 XP2 =   $B8›0250 XP3 =   $B9›0260 PMVL =  $BA›0270 PMVH =  $BB›0280 MBL0 =  $BC›0290 MBL1 =  $BD›0300 MBL2 =  $BE›0310 XM0 =   $BF›0320 XM1 =   $C0›0330 XM3 =   $C1›0340 MBL =   $C2›0350 MBH =   $C3›0360 STDIR = $C4›0370 MISDIR = $C6›0380 XREG =  $C8›0390 SCRL0 = $C9›0400 SCRL1 = $CA›0410 SCRL2 = $CB›0420 SCRL3 = $CC›0430 MATH =  $CD›0440 INTL =  $CE›0450 INTH =  $CF›0460 ;›0470 ;PAGE SIX VARIABLES›0480 ;›0490 CHINV = $06DB›0500 ADENS = $06DC›0510 ASPEED = $06DD›0520 SCFLAG = $06DE›0530 YMENU = $06DF›0540 EXCNTR = $06E0›0550 LICNTR = $06E2›0560 ROCNTR = $06E4›0570 EDCNTR = $06E6›0580 TCCNTR = $06E8›0590 SSCNTR = $06E9›0600 RRCNTR = $06EB›0610 ESCNTR = $06EC›0620 BOCNTR = $06EE›0630 DECNTR = $06F0›0640 MXCNTR = $06F1›0650 LIPOS = $06F2›0660 ;›0670 ;SYSTEM EQUATES›0680 ;›0690 CHBAS = $02F4›0700 SDMCTL = $022F›0710 SDLSTL = $0230›0720 SDLSTH = $0231›0730 STICK0 = $0278›0740 STRIG0 = $0284›0750 STRIG1 = $0285›0760 PCOLR0 = $02C0›0770 COLOR0 = $02C4›0780 PCOLR3 = $02C3›0790 PCOLR1 = $02C1›0800 HPOSP0 = $D000›0810 HPOSP1 = $D001›0820 HPOSP2 = $D002›0830 HPOSP3 = $D003›0840 HPOSM0 = $D004›0850 HPOSM1 = $D005›0860 HPOSM2 = $D006›0870 HPOSM3 = $D007›0880 M0PL =  $D008›0890 M3PL =  $D00B›0900 P0PL =  $D00C›0910 CONSOL = $D01F›0920 HITCLR = $D01E›0930 GRACTL = $D01D›0940 CHACTL = $D401›0950 HSCROL = $D404›0960 PMBASE = $D407›0970 WSYNC = $D40A›0980 AUDF1 = $D200›0990 AUDC1 = $D201›1000 AUDF2 = $D202›1010 AUDC2 = $D203›1020 AUDF3 = $D204›1030 AUDC3 = $D205›1040 AUDCTL = $D208›1050 RANDOM = $D20A›1060 NMIEN = $D40E›1070 PRIOR = $D01B›1080 SKCTL = $D20F›1090 SETVBV = $E45C›1100 XITVBV = $E462›1110 CDTMV3 = $021C›1120 CDTMV4 = $021E›1130 VDSLST = $0200›1140 CDTMA1 = $0226›1150 CDTMA2 = $0228›1160 ATRACT = $4D›1170 ;›1180 ;GAME SET-UP BEGINS›1190 ;›1200     CLD ›1210     LDX #3›1220 COLLP LDA PFCOL,X ;set›1230     STA COLOR0,X ;playfield›1240     LDA MSEL,X  ;colors›1250     STA ADENS,X›1260     DEX ›1270     BPL COLLP›1280     LDA #0›1290     STA AUDCTL  ;initialize›1300     LDA #3      ;sounds›1310     STA SKCTL›1320     JMP MENU›1330 DLIRTN PHA ›1340     LDA SCRL1›1350     STA HSCROL›1360     LDA #DL1&$FF›1370     STA VDSLST›1380     PLA ›1390     RTI ›1400 DL1 PHA ›1410     LDA SCRL3›1420     STA HSCROL›1430     LDA #DL2&$FF›1440     STA VDSLST›1450     PLA ›1460     RTI ›1470 DL2 PHA ›1480     LDA #2      ;turns›1490     STA WSYNC   ;characters›1500     STA CHACTL  ;right side›1510     LDA #DL3&$FF ;up bottom›1520     STA VDSLST  ;screen half›1530     PLA ›1540     RTI ›1550 DL3 PHA ›1560     LDA SCRL1›1570     STA HSCROL›1580     LDA #DL4&$FF›1590     STA VDSLST›1600     PLA ›1610     RTI ›1620 DL4 PHA ›1630     LDA SCRL0›1640     STA HSCROL›1650     LDA #DLIRTN&$FF›1660     STA VDSLST›1670     PLA ›1680     RTI ›1690 ;›1700 ;SCROLL ROUTINE-TIMER 1-FOR TOPMOST›1710 ;AND BOTTOMMOST RINGS›1720 ;›1730 SCROLL LDA #1›1740     LDY ASPEED›1750     LDX #0      ;set system›1760     JSR SETVBV  ;timer 1›1770     LDA SCRL0›1780     CMP #9›1790     BNE DECC9›1800     RTS ›1810 DECC9 DEC SCRL0 ;scroll value›1820     LDA SCRL0   ;for top and›1830     BEQ PSCRL   ;bottom rings›1840     RTS ›1850 PSCRL LDA #8    ;reset scroll›1860     STA SCRL0   ;value›1870     LDX #15›1880     LDA $0605   ;check for›1890     CMP #106    ;wraparound›1900     BEQ PFLIP   ;flip›1910     CLC ›1920     ADC #1      ;flip to next›1930     JMP HLOOP   ;display byte›1940 PFLIP LDA #0›1950 HLOOP STA $0602,X ;store new›1960     ORA #128    ;low bytes in›1970     STA $0633,X ;display list›1980     EOR #128›1990     DEX ›2000     DEX ›2010     DEX ›2020     BNE HLOOP›2030     RTS ›2040 ;›2050 ;SCROLL ROUTINE-TIMER 2-FOR TWO›2060 ;INNER RINGS AND LIGHTNING›2070 ;›2080 SCRLL LDA #2    ;scroll›2090     LDX #0      ;routine same›2100     LDY ASPEED  ;as timer 1›2110     DEY ›2120     JSR SETVBV›2130     LDA SCRL0›2140     CMP #9›2150     BNE DECCA›2160     RTS ›2170 DECCA DEC SCRL1›2180     LDA SCRL1›2190     BEQ HSCRL›2200     LDA XP2›2210     BEQ T2XIT›2220     DEC XP2     ;change›2230     LDA XP2     ;lightning›2240     STA HPOSP2  ;position›2250     LDX LICNTR  ;value of›2260     LDY #24     ;light. shape›2270 LILOOP LDA LIGHT,X ;change light.›2280     STA (PBL2),Y ;shape›2290     INX ›2300     DEY ›2310     BPL LILOOP›2320     STX LICNTR›2330     CPX #75     ;light. over?›2340     BNE T2XIT›2350     LDX #0      ;turn off›2360     STX LICNTR  ;lightning›2370     STX HPOSP2›2380     STX XP2›2390 T2XIT RTS ›2400 HSCRL LDA #8›2410     STA SCRL1›2420     LDX #12›2430     LDA $0615›2440     CMP #106›2450     BEQ PFLIP3›2460     CLC ›2470     ADC #1›2480     JMP MLINE›2490 PFLIP3 LDA #0›2500 MLINE STA $0612,X›2510     ORA #128›2520     STA $0626,X›2530     EOR #128›2540     DEX ›2550     DEX ›2560     DEX ›2570     BNE MLINE›2580     LDA XP2›2590     BNE T2EXIT›2600     LDA RANDOM›2610     AND #15›2620     STA MATH›2630     CLC ›2640     ADC #2›2650     CLC ›2660     ADC $061E   ;random gap›2670     LDY #2      ;asteroid›2680 LOCLI CMP LIPOS,Y ;position›2690     BEQ PUTLI›2700     DEY         ;check for›2710     BPL LOCLI   ;asteroid›2720     RTS ›2730 PUTLI LDA MATH›2740     ASL A       ;calculate›2750     ASL A       ;initial›2760     ASL A       ;lightning›2770     CLC         ;position›2780     ADC #56›2790     STA XP2     ;store pos.›2800     STA HPOSP2›2810     LDA #200    ;lightning›2820     STA AUDF1   ;zap sound›2830     STA AUDC1›2840     LDA #4›2850     STA CDTMV4›2860 T2EXIT RTS ›2870 ;›2880 ;VERTICAL BLANK ROUTINE›2890 ;SCROLLS ROCKET, ANIMATES FLAME›2900 ;›2910 VBRTN LDA #192›2920     STA NMIEN   ;enable dli›2930     LDA CHINV›2940     STA CHACTL  ;invert upper›2950     LDA SCRL0   ;screen half›2960     STA HSCROL  ;scroll for›2970     LDA SCRL2   ;first ring›2980     CMP #16›2990     BNE ROAR›3000     JMP XITVBV›3010 ROAR LDA RRCNTR ;time to inc.›3020     BEQ FLAMCK  ;volume of›3030     CMP #136    ;rocket roar?›3040     BEQ FLAMCK›3050     INC RRCNTR›3060     LDA RRCNTR›3070     STA AUDC2›3080 FLAMCK INC SCRL2›3090     LDA SCRL2   ;time to›3100     AND #1      ;scroll?›3110     BEQ GFLAM›3120     JMP XITVBV›3130 GFLAM DEC SCRL3›3140     LDA SCRL2›3150     AND #15›3160     STA SCRL2›3170     LSR A›3180     TAX         ;get flame›3190     LDA FLTAB,X ;shape›3200     STA $1024   ;display›3210     LDA XP3›3220     BEQ OUTCK›3230     DEC XP3     ;change hot›3240     LDA XP3     ;tail pos.›3250     STA HPOSP3›3260 OUTCK LDA SCRL3›3270     BEQ SCRLH›3280     JMP XITVBV›3290 SCRLH LDA #8›3300     STA SCRL3›3310     LDA $0622   ;rocket on›3320     CMP #11     ;screen?›3330     BNE ROOFF›3340     LDX #224    ;yes put hot›3350     STX XP3     ;tail›3360     STX AUDF2   ;start sound›3370     LDX #129›3380     STX AUDC2›3390     STX RRCNTR›3400 ROOFF CMP #36   ;rocket off›3410     BNE CKROM   ;screen?›3420     LDX #0      ;turn off›3430     STX AUDF2   ;rocket roar›3440     STX AUDC2›3450     STX RRCNTR›3460 CKROM LDX XM3   ;missile in›3470     CPX #0      ;use?›3480     BNE FLIPCK  ;yes go on›3490     CLC         ;no›3500     CMP #13     ;rocket on›3510     BCC FLIPCK  ;screen?›3520     CLC ›3530     CMP #30›3540     BCS FLIPCK›3550     SEC ›3560     SBC #13     ;calculate›3570     ASL A       ;initial›3580     ASL A       ;missile pos.›3590     ASL A›3600     STA MATH›3610     LDA #204›3620     SEC ›3630     SBC MATH›3640     STA MATH    ;store pos.›3650     LDX #0›3660 ROMLOOP CLC     ;saucer in›3670     LDA PBL0,X  ;gap?›3680     CMP #107›3690     BCC TRYAG›3700     CLC ›3710     CMP #130›3720     BCS TRYAG›3730     CLC ›3740     LDA XP0,X   ;in front of›3750     CMP MATH    ;rocket?›3760     BCC STM3    ;yes›3770 TRYAG INX ›3780     CPX #2›3790     BNE ROMLOOP›3800     JMP FLIPCK›3810 STM3 LDA MATH   ;fire›3820     STA XM3     ;missiles›3830     STA HPOSM3›3840     LDA #38     ;missile›3850     STA AUDF1   ;sound›3860     LDA #142›3870     STA AUDC1›3880     LDA #5›3890     STA CDTMV4›3900 FLIPCK LDA $0622›3910     CMP #63›3920     BEQ PFLIP5›3930     CLC ›3940     ADC #1›3950     JMP MLINE3›3960 PFLIP5 LDA #0›3970 MLINE3 STA $0622›3980     STA $0625›3990 VBOUT JMP XITVBV›4000 ;›4010 ;MAIN PROGRAM BEGINS HERE›4020 ;›4030 PROG LDX #31    ;zero out›4040     LDA #0      ;zero page+›4050 CLZLOOP STA PBL0,X ;page 6›4060     STA EXCNTR,X ;variables›4070     DEX ›4080     BPL CLZLOOP›4090     LDA #9      ;no scroll›4100     STA SCRL0   ;until ready›4110     LDA #16     ;to play›4120     STA SCRL2›4130     LDA #4›4140     STA CHINV›4150     LDA #0›4160     TAX ›4170     TAY ›4180     LDA #24›4190     STA PMBASE  ;pm graphics›4200     LDA #27     ;location›4210     STA MBH     ;missiles›4220     LDA #28›4230     STA PBH0    ;player 0›4240     LDA #29›4250     STA PBH1    ;player 1›4260     LDA #30›4270     STA PBH2    ;player 2›4280     LDA #224›4290     STA INTH›4300     LDA #18     ;character›4310     STA PMVH    ;set on›4320     STA CHBAS   ;page 18›4330     LDA #0›4340     STA PMVL›4350     STA INTL›4360     TAX ›4370     TAY ›4380 DWNLD LDA (INTL),Y ;download rom›4390     STA (PMVL),Y ;characters›4400     INY ›4410     BNE DWNLD›4420     INC PMVH›4430     INC INTH›4440     INX ›4450     CPX #2›4460     BNE DWNLD›4470     DEC PMVH›4480     DEC PMVH›4490     LDY #0›4500     LDA #8›4510     STA PMVL›4520 CHLOOP LDA CHTAB,Y ;load data for›4530     STA (PMVL),Y ;asteroid›4540     INY         ;characters›4550     CPY #120›4560     BNE CHLOOP›4570     LDX #0›4580     LDY #208›4590     STX PMVL›4600 C2LOOP LDA C2TAB,X ;load data for›4610     STA (PMVL),Y ;rocket›4620     INX         ;characters›4630     CPX #56›4640     BEQ RESET›4650     INY ›4660     BNE C2LOOP›4670     INC PMVH›4680     JMP C2LOOP›4690 RESET LDX #77›4700     LDY #0›4710     STY SDMCTL›4720 DLOOP LDA GDLIST,X ;load game›4730     STA $0600,X ;display›4740     DEX         ;list onto›4750     BPL DLOOP   ;page six›4760     LDA #6      ;tell comp.›4770     STY SDLSTL  ;where dlist›4780     STA SDLSTH  ;is›4790     LDA $0606›4800     STA PMVH›4810     STY PMVL›4820     TYA ›4830     TAX ›4840 CLOOP STA (PMVL),Y ;clear›4850     INY         ;display›4860     BNE CLOOP   ;area›4870     INC PMVH›4880     INX ›4890     CPX #11›4900     BNE CLOOP›4910     LDX #0›4920     LDA $0606›4930     STA PMVH›4940     LDA ADENS›4950     STA INTH›4960     STX PMVL›4970 RANDC LDA RANDOM ;color for›4980     AND #3      ;asteroid›4990     TAY         ;character›5000     LDA COLOR,Y›5010     STA INTL›5020 RANDP CLC ›5030     LDY RANDOM  ;random›5040     CPY #107    ;position›5050     BCS RANDP›5060     LDA (PMVL),Y›5070     CMP #0      ;occupied?›5080     BNE RANDP   ;yes go back›5090 RANDA LDA RANDOM ;random›5100     AND #15     ;asteroid›5110     BEQ RANDA   ;character›5120     ORA INTL›5130     STA (PMVL),Y ;store in›5140     INX         ;display›5150     CPX INTH    ;line done?›5160     BNE RANDC›5170     LDX #0›5180     CLC ›5190     LDA PMVL›5200     ADC #128    ;do next line›5210     STA PMVL›5220     BCC ASKIP›5230     INC PMVH›5240 ASKIP LDA PMVH›5250     CMP $061F›5260     BNE AENDCK›5270     LDY INTH›5280     DEY ›5290     DEY ›5300     DEY ›5310     STY INTH›5320 AENDCK CMP $0626 ;all lines›5330     BNE RANDC   ;done?›5340     LDA $061F›5350     STA PMVH›5360 RANDC2 LDA RANDOM ;same as›5370     AND #3      ;above but›5380     TAY         ;for›5390     LDA COLOR,Y ;asteroids›5400     STA INTL    ;across gap›5410     LDA RANDOM  ;from each›5420     AND #3      ;other for›5430     TAY         ;lightning›5440     LDA COLOR,Y›5450     STA INTH›5460 RANDP2 CLC ›5470     LDA RANDOM›5480     BEQ RANDP2›5490     CMP #105›5500     BCS RANDP2›5510     STA PMVL›5520     STA LIPOS,X›5530     LDY #0›5540     LDA (PMVL),Y›5550     BNE RANDP2›5560 RANDA2 LDA RANDOM›5570     AND #15›5580     BEQ RANDA2›5590     ORA INTL›5600     STA (PMVL),Y›5610 RANDA3 LDA RANDOM›5620     AND #15›5630     BEQ RANDA3›5640     ORA INTH›5650     LDY #128›5660     STA (PMVL),Y›5670     INX ›5680     CPX #3›5690     BNE RANDC2›5700     LDA #0›5710     LDX #18›5720 CLRAST STA $0700,X ;clear lines›5730     STA $0780,X ;saucer start›5740     DEX         ;positions›5750     BPL CLRAST›5760     LDY #20›5770     LDA $0606›5780     STA PMVH›5790     STA INTH›5800     LDA #107›5810     STA INTL›5820     INX ›5830     STX PMVL›5840 WLOOP LDA (PMVL),Y ;wraparound›5850     STA (INTL),Y ;display›5860     DEY         ;area for›5870     BPL WLOOP   ;continuous›5880     LDY #20     ;scrolling›5890     INX ›5900     LDA PMVL›5910     CLC ›5920     ADC #128›5930     STA PMVL›5940     BCC WSKIP1›5950     INC PMVH›5960 WSKIP1 LDA INTL›5970     CLC ›5980     ADC #128›5990     STA INTL›6000     BCC WSKIP2›6010     INC INTH›6020 WSKIP2 CPX #18  ;finished?›6030     BNE WLOOP   ;no go back›6040     LDY #3›6050 ROLOOP LDA ROTAB,Y ;load rocket›6060     STA $1020,Y ;data into›6070     DEY         ;display area›6080     BPL ROLOOP›6090     LDA #16›6100     STA $0664   ;initialize›6110     STA $066E   ;scores›6120     LDA #0›6130     TAX ›6140     STA $0663›6150     STA $066D›6160     LDA #24›6170     STA PMVH›6180     TXA ›6190     STA PMVL›6200     TAY ›6210 CLRPMG STA (PMVL),Y ;clear pm›6220     INY         ;graphics›6230     BNE CLRPMG  ;area›6240     INC PMVH›6250     INX ›6260     CPX #8›6270     BNE CLRPMG›6280     LDX #5›6290     LDA #0›6300 ZLOOP STA HPOSP2,X ;iniialize›6310     DEX         ;player/›6320     BPL ZLOOP   ;missile›6330     LDA #108›6340     STA PBL2›6350     LDA #3      ;set up›6360     STA GRACTL  ;graphics›6370     LDA #62     ;dma›6380     STA SDMCTL›6390     STA HITCLR  ;clr collis.›6400     LDA #120    ;initialize›6410     STA HPOSP1  ;saucer›6420     STA XP1     ;positions›6430     STA HPOSP0›6440     STA XP0›6450     LDA #196›6460     STA PBL1›6470     LDA #35›6480     STA PBL0›6490     STA PMVL›6500     LDA PBH0›6510     STA PMVH›6520     LDA PBL1›6530     STA INTL›6540     LDA PBH1›6550     STA INTH›6560     LDY #7›6570 LDPLYRS LDA PLSHP,Y ;load›6580     STA (PMVL),Y ;player›6590     STA (INTL),Y ;data into›6600     DEY         ;pm area›6610     BPL LDPLYRS›6620     INC INTH›6630     INC INTH›6640     LDY #116›6650     LDA #0›6660     STA INTL›6670     LDA #1›6680 LDTAIL STA (INTL),Y ;load hot›6690     INY         ;rocket›6700     CPY #124    ;tail›6710     BNE LDTAIL›6720     LDY #112›6730     LDA #192›6740     STA (MBL),Y›6750     LDY #127›6760     STA (MBL),Y›6770     LDX #3›6780 PCLOOP LDA PCOL,X ;set playr›6790     STA PCOLR0,X ;colors›6800     DEX ›6810     BPL PCLOOP›6820     LDA #8      ;initialize›6830     STA HSCROL  ;scroll›6840     STA SCRL1   ;settings›6850     STA SCRL3›6860     STA CONSOL›6870     STA STDIR+1›6880     LDA #9›6890     STA STDIR›6900 ;›6910 ;SET SYSTEM TIMERS,›6920 ;VERT. BLANK AND DLI ROUTINES›6930 ;›6940     LDA #SCROLL&$FF ;timer 1›6950     STA CDTMA1›6960     LDA #SCROLL/256›6970     STA CDTMA1+1›6980     LDA #1›6990     LDX #0›7000     LDY #4›7010     JSR SETVBV›7020     LDA #SCRLL&$FF ;timer 2›7030     STA CDTMA2›7040     LDA #SCRLL/256›7050     STA CDTMA2+1›7060     LDA #2›7070     LDX #0›7080     LDY #3›7090     JSR SETVBV›7100     LDA #7›7110     LDX #VBRTN/256 ;vertical›7120     LDY #VBRTN&$FF ;blank›7130     JSR SETVBV›7140     LDA #DLIRTN/256›7150     STA VDSLST+1›7160     LDA #DLIRTN&$FF›7170     STA VDSLST›7180     LDA #192    ;dli›7190     STA NMIEN›7200     LDA #1      ;set pmg›7210     STA PRIOR   ;priority›7220 STLOOP LDA STRIG0 ;check›7230     BNE SB2CK   ;triggers›7240     JMP GETDEL  ;for game›7250 SB2CK LDA STRIG1 ;start›7260     BNE STLOOP›7270 GETDEL LDA #15›7280     STA CDTMV3›7290 DSTLOOP LDA CDTMV3›7300     BNE DSTLOOP›7310     STA SCRL2   ;allow›7320     LDA #8      ;scrolling›7330     STA SCRL0›7340 MLOOP LDA #1    ;game prog›7350     STA CDTMV3  ;begins›7360     INC XREG    ;move timer›7370     LDA XREG    ;playr index›7380     AND #1›7390     TAX ›7400     STA XREG›7410     LDA XP0,X   ;check for›7420     BNE TAILCK  ;dead player›7430     JMP INCM›7440 TAILCK LDA SCRL2 ;check for›7450     CMP #16     ;missile›7460     BNE EXPCK   ;collision›7470     INC TCCNTR  ;with rocket›7480     LDA TCCNTR  ;tail›7490     AND #31     ;time to›7500     STA TCCNTR  ;cool tail?›7510     BNE EXPCK   ;no go on›7520     LDA PCOLR3›7530     CMP #148›7540     BEQ EXPCK›7550     DEC PCOLR3  ;cool tail›7560 EXPCK LDA EXCNTR,X ;check count›7570     BEQ BOUNCK  ;for player›7580     INC EDCNTR,X ;explosion›7590     LDA EDCNTR,X›7600     AND #3      ;time to›7610     STA EDCNTR,X ;change exp?›7620     BNE EXLCK   ;no go on›7630     LDY SNDX,X  ;change sound›7640     LDA ESCNTR,X ;get sound›7650     CMP #128    ;finished?›7660     BEQ EXSNOFF ;yes off›7670     DEC ESCNTR,X ;no make›7680     LDA ESCNTR,X ;changes›7690     STA AUDC3,Y›7700     JMP EXLCK›7710 EXSNOFF LDA #0  ;turn sound›7720     STA AUDF3,Y ;off›7730     STA AUDC3,Y›7740     STA ESCNTR,X›7750 EXLCK LDA PCOLR0,X ;change›7760     CMP #159    ;color›7770     BEQ BLINC›7780     INC PCOLR0,X›7790     INC PCOLR0,X›7800     INC PCOLR0,X›7810     JMP INCM›7820 BLINC LDA EDCNTR,X›7830     AND #1›7840     BEQ BLJUMP›7850     JMP INCM›7860 BLJUMP JMP BLPL›7870 BOUNCK LDA BOCNTR,X ;check for›7880     BEQ RMCK    ;bounce›7890     JMP REBOUND›7900 RMCK LDA M3PL   ;check for›7910     BEQ PLPLCK  ;collision›7920     LDY #0      ;with›7930     STY XM3     ;rocket's›7940     STY HPOSM3  ;missiles›7950     STY HITCLR›7960     CMP #4›7970     BEQ PLPLCK›7980     TAX ›7990     DEX ›