SC ‚ÿ› ;SAVE"D:DZONE5.SYN";;==========================(;Readthejoystickandact2;accordingly!<;==========================F; PJOYSTICK Z‰LDA#1d‰STAEB.D.Rn‰LDAPORTA x‰CMP#$FF ‚‰BNE.0 Œ‰LDA#0–‰BEQENGINE ; ª.0‡AND#8 ´‰BNE.1¾‰JSRRIGHT.MOVEÈ.1‡LDAPORTA Ò‰AND#4 ܉BNE.2æ‰JSRLEFT.MOVEð.2‡LDAPORTA ú‰AND#2 ‰BNE.3‰JSRBACK.MOVE‰DECEB.D.R"‰JSRRESTORE,.3‡LDAPORTA 6‰AND#1 @‰BNE.4J‰JSRFWD.MOVET‰INCEB.D.R^‰JSRRESTOREh.4‡LDA#$50r‰STAAUDF2 |‰LDA#$22†ENGINEƒSTAAUDC2‰RTSš;¤;=========================®;Scrollmountains,move¸;enemyandbullettoleftÂ;=========================Ì; ÖLEFT.MOVEà‰LDXS.HSCROL ê‰CPX#3 ô‰BNE.1 þ‰LDX#$FF‰LDYMT.LMS ‰BNE.2 ‰LDY#80 &.2‡DEY0‰STYLMSCHG :.1‡INXD‰STXS.HSCROLN‰INCP0.POSX‰INCP0.POSb;l‰LDA/YOUR.D.Tv‰LDX#YOUR.D.T€‰JMPADDTHETAŠ;”;=========================ž;Movemountains,enemyand¨;bullettoright.²;=========================¼;ÆRIGHT.MOVEЉLDXS.HSCROL Ú‰BNE.1 ä‰LDX#4î‰LDYMT.LMS ø‰CPY#79 ‰BNE.2 ‰LDY#$FF .2‡INY ‰STYLMSCHG *.1‡DEX4‰STXS.HSCROL>‰DECP0.POSH‰DECP0.POSR;\‰LDA/YOUR.D.Tf‰LDX#YOUR.D.Tp‰JSRCOMPL16zADDTHETASTATEMP„‰BITTIMER Ž‰BPL.1˜‰TXA¢‰CLC¬‰ADCTHETA¶‰STATHETAÀ‰LDATHETA+1 ʉADCTEMPÔ‰STATHETA+1Þ‰TXAè‰CLCò‰ADCEB.THETAü‰STAEB.THETA‰LDAEB.THETA+1 ‰ADCTEMP‰STAEB.THETA+1 $.1‡RTS.; 8CHANGELMSB‰STAMT.LMSL‰STAMT.LMS+6V‰STAMT.LMS+12 `‰EOR#$80j‰STAMT.LMS+3t‰STAMT.LMS+9~‰STAMT.LMS+15ˆNORCHGƒRTS’;œ;========================== ¦;Moveforward,iemovelines°;downandcalculatenewRº;andthetaforenemy.Ä;==========================Î; ØFWD.MOVE â‰LDA#1ì‰JSRMOVE.INTSö‰JSRSETDELTA; EN.FWDƒLDA#0‰BEQBKDSKIP;(;========================== 2;Movebackwardiemovelines<;upandcalculatenewRF;andthetaforenemy.P;==========================Z; dBACK.MOVE n‰LDA#$FFx‰JSRMOVE.INTS‚‰JSRSETDELTAŒ;–EN.BKDƒLDA#$80 ;ª;==========================´;Nowdothemathstofind¾;newRandnewtheta.È;==========================Ò;ÜBKDSKIP‚STAFBFLAGæ‰BITTIMERð‰BPLNORCHGú‰LDAWORK.THETA‰STAMATH1‰LDAWORK.THETA+1‰STAMATH1+1"‰JSRCOSINE,‰JSRMULT.DELTA6;@INFRONT‚LDARESHI+1J‰LDXRESHIT‰BITFBFLAG ^‰BMI.1h‰JSRCOMPL16r.1‡STATEMP|‰TXA†‰CLC‰ADCWORK.Rš‰STAWORK.R ¤‰LDATEMP®‰ADCWORK.R+1¸‰STAWORK.R+1Â;Ì;NowgotR+-D.R*cos.thÖ; àONWARDê‰LDAWORK.THETAô‰STAMATH1þ‰LDAWORK.THETA+1‰STAMATH1+1 ‰JSRSINE‰JSRMULT.DELTA&;0‰LDAWORK.R:‰STAMATH2D‰LDAWORK.R+1N‰STAMATH2+1X‰LDARESHIb‰STAMATH1l‰LDARESHI+1v‰STAMATH1+1€‰JSRDIV16Š‰JSRSET256”;"ž;DoneD.R*sin.th/R+-D.R*cos.th¨;²‰LDARESHI¼‰STAMATH1ƉLDARESHI+1ЉSTAMATH1+1Ú‰JSRINVTANä;î‰LDXRESHIø‰LDARESHI+1; ;Justdonearctanforphi; ‰BITFBFLAG *‰BPL.14‰JSRCOMPL16>.1‡STATEMPH‰TXAR‰CLC\‰ADCWORK.THETAf‰STAWORK.THETAp‰LDAWORK.THETA+1 z‰ADCTEMP„‰STAWORK.THETA+1Ž;˜NOWEXIT‚RTS¢;¬SETDELTALDA#YOUR.D.R¶‰STADELTARÀ‰LDA/YOUR.D.RʉSTADELTAR+1 Ô‰LDARÞ‰STAWORK.R è‰LDAR+1ò‰STAWORK.R+1ü‰LDATHETA ‰STAWORK.THETA ‰LDATHETA+1 ‰STAWORK.THETA+1$ ‰RTS. ;8 RESTORE‚LDAWORK.THETAB ‰STATHETAL ‰LDAWORK.THETA+1V ‰STATHETA+1` ‰LDAWORK.R j ‰STARt ‰LDAWORK.R+1 ~ ‰STAR+1ˆ ‰RTS’ ;œ MULT.DELTA¦ ‰LDARESHI° ‰STAMATH1º ‰LDARESHI+1Ä ‰STAMATH1+1Î ‰LDADELTARØ ‰STAMATH2â ‰LDADELTAR+1ì ‰STAMATH2+1ö ‰JSRMULT16 ‰JSRSET256 ‰RTS ; ;==========================( ;Movetheblacklineson2 ;thegroundupordown.< ;==========================F ; P MOVE.INTSZ ‰STAINTS.DIRd ‰CMPLAST.DIRn ‰BEQNOEORx ‰STALAST.DIR‚ ‰LDACOLOUR Œ ‰EOR#$55– ‰STACOLOUR   ‰LDA#0ª ‰STAINTS.DIR´ ; ¾ NOEORÈ ‰LDAINTS.POSÒ ‰CLCÜ ‰ADCINTS.DIR æ ‰BMI.1 ð ‰CMP#20 ú ‰BCC.2 ‰LDACOLOUR  ‰EOR#$55 ‰STACOLOUR " ‰LDA#0 , ‰BEQ.26 .1‡LDACOLOUR @ ‰EOR#$55J ‰STACOLOUR T ‰LDA#19^ .2‡STAINTS.POSh ‰TAXr ‰LDACOLOUR| ‰STACHAR22+4+5+7+10,X † ‰EOR#$55 ‰TAYš ‰TXA¤ ‰LSR® ‰TAX¸ ‰TYA ‰STACHAR22+4+5+7,XÌ ‰TXAÖ ‰LSRà ‰TAXê ‰TYAô ‰STACHAR22+4,Xþ ;  ‰LDX#0 ‰LDAINTS.POS DIV3…CMP#3 & ‰BCC.1 0 ‰SBC#3: ‰INX D ‰BNEDIV3N .1‡LDACOLOURX ‰STACHAR22+4+5,Xb ; l ‰LDX#0v ‰LDAINTS.POS€ DIV5…CMP#5 Š ‰BCC.1 ” ‰SBC#5ž ‰INX ¨ ‰BNEDIV5² .1‡LDACOLOUR¼ ‰STACHAR22,XÆ ‰RTSÐ ;Ú ;=========================ä ;Fireabulletiftheî ;trigger'spressed.ø ;========================= ; FIRE  ‰DECDLY ‰BNE.1* ‰LDA#BULL.DELAY 4 ‰STADLY> ‰LDABULLETH ‰BPLDO.ALREADYR ‰LDATRIG0\ ‰BEQFIREDf ‰JSRB.CLEAR p .1‡RTSz ;„ FIRED„LDA#15Ž ‰STABULLET ˜ ‰LDA#3¢ ‰STAPSIZ.DLI ¬ ‰LDA#$70¶ ‰STAP0.POS À ‰LDA#$10Ê ‰STAFIREC1Ô ;Þ DO.ALREADYè ‰JSRB.CLEARò ;ü ‰LDABULLET‰TAX‰LSR‰CLC $‰LDA#$F.‰STAPCOL.DLI8; B‰CPX#14 L‰BNE.1 V‰LDA#1`‰STAPSIZ.DLIj‰LDAP0.POSt‰CLC ~‰ADC#8ˆ‰STAP0.POS’;œ.1‡CPX#12¦‰BNENOISE1 °‰LDA#0º‰STAPSIZ.DLIĉLDAP0.POSΉCLC ؉ADC#4â‰STAP0.POSì; öNOISE1 ‰LDA#2 ‰STAAUDF4‰LDYFIREC1 ‰BEQ.1(‰DEY2‰DEY<.1‡STYFIREC1F‰STYAUDC4P;ZNEW.BULLET d‰LDA/P0 n‰STATO+1 x‰LDA#P0 ‚‰STATOŒ‰JSRBULLETLOAD–‰DECBULLET ; ªFIRE.EXIT´‰RTS¾;ÈB.CLEAR‚LDA#0Ò‰LDY#HORIZON-24Ü.1‡STAP0,Yæ‰INYð‰CPY#HORIZON+25 ú‰BCC.1‰RTS;;==========================";Bulletload-passedsize,;0to15inclusiveinX 6;===========================@;JBULLETLOAD T‰LDA#1^‰STAREPEATh; r‰CPX#12 |‰BCC.1 †‰BEQ.2;š‰TXA¤‰SEC ®‰SBC#13¸‰TAX‰LDYL3BOFFS,X̉LDAREPTL3B,XÖ‰STAREPEATà‰LDAL3BTYPE,Xê‰TAXô‰BNEBSKIPþ;.2‡LDX#15 .1‡TXA‰LSR &‰EOR#$FF0‰CLC:‰ADC#HORIZON+1D‰TAYNBSKIP„STXCOUNTX‰LDASMSPOFFS,Xb‰TAX lBLOOPv‰LDAREPEAT€‰STAS.REPEATŠ‰LDASMSPDATA,X”.1‡STA(TO),Yž‰INY¨‰DECS.REPEAT ²‰BNE.1¼‰INXƉDECCOUNTЉBPLBLOOPÚ;ä‰RTSî;3øL3BOFFS‚.DA#HORIZON-11,#HORIZON-15,#HORIZON-24REPTL3B‚.HS020204 L3BTYPE‚.DA#11,#15,#11