@L}5 _$% l0$)$$Hȱ$ UhL" `e$$%`$%`  R@W!( L(1   Y I`  d  Ld M * @  $ % CC$$)%1 Udߥ$9%: !0 S$% DD˙`  }J)Lr SCؚ ;Deathzone; .LIOFF(;2PMAREA.EQ$1000<CHAR.SET.EQ$2000 F.OR$80P.IN"D:DZONE2.SYN"Z.O}R$1F00d.TF"D:DZONE.OBJ"n.IN"D:DZONE3.SYN"x.IN"D:DZONE4.SYN".IN"D:DZONE5.SYN".IN"D:DZONE6.SYN"}.IN"D:DZONE7.SYN".IN"D:DZONE8.SYN".EN"x.IN"D:DZONE4.SYN".IN"D:DZONE5.SYN".IN"D:DZONE6.SYN"3SCō ;SAVE"D:DZONE2.SYN"; ;Equates.(;2RTCLOCK.EQ$12<ATRACT.EQ$4DF;PVDSLST.EQ$200ZSDMCTL.E}Q$22FdSDLSTL.EQ$230nGPRIOR.EQ$26FxPCOLOR0.EQ$2C0PCOLOR1.EQ$2C1PCOLOR2.EQ$2C2PCOLOR3.EQ$2C3 }COLOR0.EQ$2C4COLOR1.EQ$2C5COLOR2.EQ$2C6COLOR3.EQ$2C7COLOR4.EQ$2C8CHACT.EQ$2F3CHBAS.EQ }$2F4CH.EQ$2FC;GTIA.EQ$D000HPOSP0.EQGTIA+0HPOSP1.EQGTIA+1HPOSP2.EQGTIA+2"HPOSP3.EQGTIA }+3,HPOSM0.EQGTIA+46HPOSM1.EQGTIA+5@HPOSM2.EQGTIA+6JHPOSM3.EQGTIA+7TSIZEP0.EQGTIA+8^M0PL.EQGTIA+ }8hSIZEP1.EQGTIA+9rM1PL.EQGTIA+9|SIZEP2.EQGTIA+$AM2PL.EQGTIA+$ASIZEP3.EQGTIA+$BM3PL.EQGTIA+$B }SIZEM.EQGTIA+$CP0PL.EQGTIA+$CTRIG0.EQGTIA+$10COLPM0.EQGTIA+$12COLPM1.EQGTIA+$13COLPM2.EQG}TIA+$14COLPM3.EQGTIA+$15COLPF0.EQGTIA+$16COLPF1.EQGTIA+$17COLPH2.EQGTIA+$18COLPH3.EQGTIA+$19}COLBK.EQGTIA+$1APRIOR.EQGTIA+$1B&GRACTL.EQGTIA+$1D0HITCLR.EQGTIA+$1E:CONSOL.EQGTIA+$1FD;NPOKEY}.EQ$D200XAUDF1.EQPOKEY+0bAUDC1.EQPOKEY+1lAUDF2.EQPOKEY+2vAUDC2.EQPOKEY+3AUDF3.EQPOKEY+4AUDC3.}EQPOKEY+5AUDF4.EQPOKEY+6AUDC4.EQPOKEY+7AUDCTL.EQPOKEY+8RANDOM.EQPOKEY+$AIRQEN.EQPOKEY+$ESK}CTL.EQPOKEY+$F;PIA.EQ$D300PORTA.EQPIA+0;ANTIC.EQ$D400DMACTL.EQANTIC+0 HSCROL.EQANTIC+4}PMBASE.EQANTIC+7 CHBASE.EQANTIC+9*WSYNC.EQANTIC+$A4NMIEN.EQANTIC+$E>;HCIOV.EQ$E456RSETVBV.EQ}$E45C\SYSVBV.EQ$E45FfXITVBV.EQ$E462pCOLDSV.EQ$E477z;;;WorkingVariables.; TO.BS2S.HSC}ROL.BS1INTS.DIR.BS1INTS.POS.BS1INTS.DEL.BS1REPEAT.BS1ITEMS.BS1S.REPEAT.BS1FIREC1.B}S1BULLET.BS1 DLY.BS1RESLO.BS2RESHI.BS2$TEMP1.BS2.TEMP2.BS28MATH1.BS2BMATH2.BS2L}MTEMP.BS2VMSIGN.BS1`HOLD.BS1 jR.BS2tTHETA.BS2~FBFLAG.BS1SINETHETA.BS2TEMP.BS1COUNT}.BS1XPOS.BS1SHRPT.BS1BYTE.BS1XSTORE.BS1VBCOUNT.BS1DLI2COUNT.BS1YTEMP.BS1S.PPL}.BS1TIME.BS1YSCAN.BS1 TCOUNT.BS1COLUP.BS1COLDOWN.BS1(EN.D.R.BS22EN.D.T.BS2<DELTAR}.BS2FTEMPR.BS2PTIMER.BS1ZLEVEL.BS1dENFLAG.BS1nE.TIME.BS1xSCORE.BS3HISCORE.BS3LIVES}.BS1COLOUR.BS1LAST.DIR.BS1PCOL.BS1P0.POS.BS1PCOL.DLI.BS1SUNSET.BS1PSIZ.DLI.BS1}EXPLFG.BS1EX.COUNT.BS1EXP.RPT.BS1Y.HOLD.BS1JUMP.BS1R.DIR.BS1T.DIR.BS1"T.TIME.BS1},R.TIME.BS16PROB.BS1@RTSAVE.BS1JSNDPTR.BS1TS.DELAY.BS1^SPHKIND.BS1hWORK.R.BS2rWORK.THETA}.BS2|EB.THETA.BS2EB.R.BS2EB.D.R.BS1EB.D.T.BS1MINR.BS1SETFLAG.BS1F.TIME.BS2 DIR.}BS1EB.XPOS.BS1FIREC2.BS1BOUNCE.BS1NECC.BS1DEAD.BS1KFLAG.BS1EXPTIM.BS1LMSCHG.B }S1SCANPOS.BS1;&INTS.DELAY.EQ$10HORIZON.EQ$B7:M.EQPMAREA+$300DP0.EQPMAREA+$400NP1.EQPMAREA!}+$500XP2.EQPMAREA+$600bP3.EQPMAREA+$700lTSCREEN.EQPMAREA+$B00vGROUND.EQPMAREA+$200MOUNTAIN.EQPMAREA"}+$C00SCANLINE.EQTSCREEN+140+20C.SCORE.EQSCANLINE+48+7C.LIVES.EQC.SCORE+11C.LEVEL.EQSCANLINE+48+43#}CHAR22.EQCHAR.SET+688CHARL.EQCHAR.SET+216CHARR.EQCHARL-8YOUR.D.R.EQ$100BULL.DELAY.EQ2OSCAN.EQ$}64YOUR.D.T.EQ$80CHARL.EQCHAR.SET+216CHARR.EQCHARL-8YOUR.D.R.EQ$100BULL.DELAY.EQ2OSCAN.EQSCo ;SAVE"D:DZONE3.SYN";;=======================(;Titlepagedisplaylist2;=======================<;F&}TDLIST.HS7070707070F047P.DATSCREENZ.HS07700270700670700270dACE.HS7041n.DATDLISTx; ;============='}==============;Compresseddataforthe;mountains. ;===========================;MTAIN.DATA.HS00974F50(}4C4D4E00CB.HS4F504C4D4E009841.HS42434445464748.HS00894F50854C4D4E.HS008F4F50530088494A.HS4B4546)}474800864F.HS504C4D4E00894142.HS4344454647480089.HS4F50854C4D4E008F.HS4F504142434488".HS45464748*}00834F50,.HS8A4C4D4E4142436.HS44515200844F5083@.HS530084494A4B8745J.HS4647484F50854CT.HS4D4E00824142+}4344^.HS884546474800834Fh.HS508A4C4D4E4142r.HS4344515200844F50|.HS820E8F4554508B.HS01020304865152,}.HS4F508653494A4B.HS8E05060708864C.HS550E8F4554508B.HS01020304865152.HS4F50850C0D0E8B.HS0F1-}C8C048C1D1E.HS84090A0B9E0C0D.HS0E8B0F1C8C048C.HS1D1EB01DCF1D83LEN.MTN.EQ*-MTAIN.DATA-1.BSCHAR.S.}ET-*;;==========================;Charactersetdata;==========================&;0CSET.HS0000000000000/}000:.HS5555555555555AA5D.HS555555555AA55555N.HS55555AA555555555X.HS5AA5555555555555b.HSA55A5555555550}555l.HS5555A55A55555555v.HS55555555A55A5555.HS555555555555A55A.HS5555555555566995.HS55555556699551}555.HS5669955555555555.HS9569565555555555.HS5555559569565555.HS5555555555956956.HS55555555565962}595.HS003C666E76663C00.HS0018381818187E00.HS003C660C18307E00.HS007E0C180C663C00.HS000C1C3C6C7E03}C00.HS007E607C06663C00 .HS003C607C66663C00.HS007E060C18303000 .HS003C663C66663C00*.HS003C663E060C34}8004.HS000000F0F0000000>.HS0000000F0F000000H.HS5659659555555555R.HS9565595655555555\.HS55555555956555}956f.HS000000FFFF000000p.HS00003F3F3C3C3C3Cz.HS0000C0E0F0783C1C.HS3C3C3C3C3F3F0000.HS1C3C78F0E0C006}000.HS00003F3F3C3C3F3F.HS0000FCFC0000F0F0.HS3C3C3C3C3F3F0000.HS00000000FCFC0000.HS000103070F1E37}C3C.HS0080C0E0F0783C3C.HS3C3C3F3F3C3C0000.HS3C3CFCFC3C3C0000.HS00003F3F03030303.HS0000FCFCC0C0C8}0C0.HS0303030303030000.HSC0C0C0C0C0C00000.HS00003C3C3C3C3F3F.HS00003C3C3C3CFCFC$.HS3C3C3C3C3C3C09}000..HS3C3C3C3C3C3C00008.HS00003F3F00000103B.HS0000FCFC78F0E0C0L.HS070F1E3C3F3F0000V.HS80000000FCFC0:}000`.HS00000F1F3C3C3C3Cj.HS0000F0F83C3C3C3Ct.HS3C3C3C3C1F0F0000~.HS3C3C3C3CF8F00000.HS00003C3E3F3F3;}F3F.HS00003C3C3CBCFCFC.HS3F3D3C3C3C3C0000.HSFCFCFC7C3C3C0000.HS5555555555555555.HS0000000000000<}AA5.HS000000000AA55555.HS00000AA555555555.HS0AA5555555555555.HSA05A555555555555.HS0000A05A55555=}555.HS00000000A05A5555.HS000000000000A05A .HS0000000000022995.HS0000000229955555.HS0229955555555>}555(.HS80685655555555552.HS0000008068565555<.HS0000000000806856F.HS0000000002092595P.HS0209259555555?}555Z.HS8060585655555555d.HS0000000080605856n.HS8080606058585656x.HS0000A05A56596595.HS0AA5956559565@}555.HSAAFFFFAAFFFFFFFF.HSFFFFAAFFFFFFFFFF.HSFFFFFFFFFFFFFFFF.HSFFAAFFFFFFFFFFFF.HSFFFFFFFFFFFFFA}FFF.HSFFFFFFFF7E181E00.HS00183C7E18181800.HS001818187E3C1800.HS0018307E30180000.HS00180C7E0C180B}000.HS0818387838180800.HS0060606060607E00.HS003C603C06063C00.HS10181C1E1C181000; ";============C}===============,;Displaylistdata 6;===========================@; JD.LISTT.HS7070C2^.DASCANLINE h.HSD}8270r.HS607070707070|.HS7070F0F0F0D4MT.LMS.DAMOUNTAIN,#$D4.DAMOUNTAIN+$80,#$D4.DAMOUNTAIN+$100,#$E}54.DAMOUNTAIN+$180,#$54.DAMOUNTAIN+$200,#$D4.DAMOUNTAIN+$280,#$44.DAGROUND.HS0484040441.DAF}D.LIST;;==========================;MainscreenDisplayList;Interruptstomultiplex;playersandchangecG}olours;==========================; &NEWDLI0PLA:CLC DADC#1NSTAVDSLSTXPLA bADC#0lSTAVDSH}LST+1vPLARTI; DLIPHA LDA#6STAWSYNCSTACOLPF1 LDA#$98STASUNSETJSRNEWDLI;I}PHA LDA#0STACOLPF1STAWSYNC LDAPCOLOR2STACOLPH3 LDASUNSET*SEC 4SBC#$10>STACJ}OLBKHSTASUNSET RCMP#$38 \BEQ.1fPLApRTIz.1JSRNEWDLI;PHASTAHITCLRLDAPSIZ.DLIK}STAWSYNCSTASIZEP0LDAP0.POSSTAHPOSP0LDAPCOL.DLISTACOLPM0JSRNEWDLI;PHA  LDA#L}$B6 STAWSYNC STACOLPF1 $ LDA#$B2. STACOLPH2 8 LDA#0B STACOLBKL JSRNEWDLIV ;` PHA j LDA#15M}t STACOLPM0 ~ LDA#$78 STAWSYNC STAHPOSP0 LDA#1 STASIZEP0 LDAM0PL ORAM3PL AND#1 N}ORAP0PL AND#$0D STAS.PPL PLA RTI ; ;========================== ;Introroutine ;===============O}===========( ; 2 STARTP CLD Z LDA#$40d STANMIEN n LDA#6x LDX/SYSVBV LDY#SYSVBV JSRSETVBV ;P} LDA/CHAR.SET STACHBAS LDA#34 STASDMCTL LDA#0 STAGRACTL LDX#4 NOPMSTAP0PL+1,X DEX Q} BPLNOPM ; JSRNOSOUND ;" ;==========================, ;Clearoutrubbishfrom6 ;playerarea,etc.@ ;===R}=======================J ;T ERASE.PLAYERS^ LDA/GROUND h STATO+1r LDA#GROUND | STATO LDY#0 LDX#13S} TYA .1STA(TO),Y INY BNE.1 INCTO+1 DEX BEQERADONE CPX#3 BNE.1 LDA#64 BNE.1T} ;  ERADONE  LDX#$FF & .1INX0 LDYTMESS,X : CPY#$FF D BEQ.3N INXX .2LDATMESS,X b CMP#$9B l BEU}Q.1v STATSCREEN,Y INY INX BNE.2 .3 LDA#0 STACOLOR2 STACOLOR4 STAS.HSCROL STAHSCV}ROL STALEVEL LDA#$11 STAC.LEVEL JSRSETR  LDA#$F STACOLOR1  LDA#$36 STACOLOR0 * LDA#6W}24 STASDMCTL> LDA/TDLISTH STASDLSTL+1R LDA#TDLIST\ STASDLSTLf JSRDEBOUNCEp LDA/TDLIz STAVDSLSX}T+1 LDA#TDLI STAVDSLST LDA#$C0 STANMIEN LDA#$80 STAPROB ; LDA#3 STALIVES ORA#Y}$10 STAC.LIVES ; HIGHSCORESED LDX#2.1LDASCORE,X$CMPHISCORE,X.BCCNOTHIGH 8BNEHIGHBZ}DEX LBPL.1VBMINOTHIGH`HIGHLDX#2j.1LDASCORE,XtSTAHISCORE,X~DEX BPL.1NOTHIGHCLD; [}LDY#0 LDX#2.2LDAHISCORE,XJSRSPLITSTATSCREEN+93,Y LDATEMPSTATSCREEN+94,YINYINY\}DEX BPL.2; LDA#0 (LDX#22.3STASCORE,X<DEX FBPL.3P; ZLDA#8dSTACONSOLnREADLDA]}CONSOL xCMP#6 BEQ.3LDATRIG0 BNEREADJSRDEBOUNCE.1LDATRIG0 BEQ.1BNEEXPAND.3JSR^}DEBOUNCE LDA#8STACONSOL.4LDACONSOL CMP#6 BEQ.4; ;===========================;Blockint_}hemountainsby";expandingthedata ,;===========================6; @EXPANDJLDA/MOUNTAIN TSTATO+1^LDA`}#MOUNTAIN hSTATO rLDX#0 |LDY#0.0LDAMTAIN.DATA,X BMI.1 BNE.3INXLDAMTAIN.DATA,X ANDa}#$7FTAY LDA#0.4STA(TO),YDEY BPL.4LDAMTAIN.DATA,XINY BEQ.1;.3STA(TO),Y &b}LDA#10.1AND#$7F:CLC DADCTO NSTATO XBCC.2 bINCTO+1 l.2INXvCPX#LEN.MTN BCC.0;!;=c}=========================== ;Fillinthegroundwithone!;characterrepeatedperline.!;============================d};FILL.GROUND LDY#47.1LDA#22+$40CLCSTAGROUND,Y ADC#1STAGROUND+$30,Y ADC#1STe}AGROUND+$60,Y ADC#1*STAGROUND+$90,Y 4ADC#1>STAGROUND+$C0,YHDEY RBPL.1\;f;==================f}======= p;Nowsetthealternatelinesz;onthegroundbyaltering;thecharacterset.;=========================g};INIT.GROUNDSTYCOLOURY=FF LDA#30STACOUNT LDA#0STAINTS.POSFILLINTSLDA#1STALAST.Dh}IRJSRMOVE.INTSDECCOUNTBNEFILLINTS;;=========================$;Drawintoplayer0the.;crosshai}irandcentraldot8;oftheoverheadscanner.B;=========================L;VDO.CROSSHAIR `LDA#17jSTAYSCANj}tSTAGPRIOR ~LDA#$0FSTAPCOLOR0 LDA#$FFSTABULLETSTAP0+HORIZON-25STAP0+HORIZON+25 LDA#k}$81STAP0+HORIZON-26STAP0+HORIZON+26 LDA#1 STADLYSTASIZEP0LDA#$80-8STAHPOSP0 ; l}LDX#4 LDA#$18(SCANLPSTAP0+OSCAN-2,X2DEX<BPLSCANLPF;P;=========================Z;EnablePMG,setm}coloursd;andothervariablesetc.n;=========================x;SET.SCREEN LDA#0STASDMCTLSTACHACTn}; LDA#$10 LDY#6.1STAC.SCORE,YSTATSCORES+2,YDEY BPL.1; LDX#'bSTXC.SCORE-2o}DEXSTXC.LIVES-2"STXC.LEVEL-2,;6JSRRESET @LDA#3JSTAGRACTLTLDA/PMAREA^STAPMBASEhLDp}A/CHAR.SETrSTACHBAS |LDA#$12STACOLOR0 LDA#12STACOLOR1 LDX/VBI LDY#VBI LDA#6JSRq}SETVBV LDA/DLISTAVDSLST+1 LDA#DLISTAVDSLST LDA#192STANMIENLDA/D.LISTSTASDLSTL+1r}LDA#D.LIST&STASDLSTL 0LDA#63:STASDMCTL DLDA#$70 NSTAACE XLDA#$FF bSTACHlJSRCHOOSEvs};JMPMAINLOOP;DEBOUNCELDARTCLOCK+2.1CMPRTCLOCK+2 BEQ.1RTS; SPLITPHA AND#$0F t}ORA#$10 STATEMPPLALSRLSR LSRLSR AND#$0F *ORA#$104RTS>;HNOSOUNDLDA#3RSTu}ASKCTL \LDA#0 fLDX#8p.1STAAUDF1,XzDEX BPL.1RTS; ;===========================;TitleDLIv} ;===========================; TDLIPHATXAPHATYAPHALDYCOLUPLDXCOLDOWN LDA#31w}STATCOUNT$.1STAWSYNC.STYCOLPH28STXCOLPH3BINYLINXVDECTCOUNT `BPL.1jINCCOLUPtDECCx}OLDOWN ~LDA#0STACOLPH2 LDA#$E0STACHBASEPLATAYPLATAXPLARTI;;=======y}==================;Titlemessages;========================= ;TMESS.DA#1.DA#96+$80(.AT-"aDEhiLMpqTz}Uxy\]de"2.DA#$9B,#1+20<.AT-"bcFGjkNOrsVWz"F.DA#$80+123P.AT-"^_fg"Z.DA#$9B,#20+13+20d.AT"ByS.H{}illen"n.DA#$9B,#20+40+20%xTSCORES.AT"L0000000H0000000".DA#$9B,#20+40+20+20+2&.AT"(C)1986AnalogComp|}uting".DA#$9B,#20+40+20+20+40+8.AT-"ace" .HS9BFF;VBI LDA/DLISTAVDSLST+1 LDA#DLI}}STAVDSLSTLDAS.HSCROLSTAHSCROLLDALMSCHGJSRCHANGELMSLDATIMER"BMINODEC,DECTIMER 6NOD~}EC@INCVBCOUNTJLDAVBCOUNT TCMP#16 ^BCC.1hLDACHACT rEOR#2|STACHACT LDA#0STAVBCOUNT}STAATRACT.1JMPSYSVBV;;SETRLDA#95 STAR+1STAEB.R+1 STAR STAEB.RRTSVBCOUNTsSC ;SAVE"D:DZONE4.SYN";(;Mathsroutines<; F;14/5/85P;Updated9/6/85Z;d;Storageinpage0x; };16BITMULTIPLY;;MATH1*MATH2; MULT16"JSRSET.POSmakebothops+ve LDX#16MULTASLRESLO }ROLRESLO+1ROLRESHIROLRESHI+1;ASLMATH1ROLMATH1+1BCCNO.ADD;"LDAMATH2,CLC6 }ADCRESLO@STARESLOJLDAMATH2+1TADCRESLO+1^STARESLO+1hBCCNO.ADDr;|INCRESHI;NO.ADDDE }X BNEMULT;JMPCOMP.RESifneeded;;16BITDIVIDE;;MATH1/MATH2;DIV16JSRSET.POSLDA }MATH1&ORAMATH1+10BNE.1math1<>0:JMPRES01D;N.1LDAMATH2XORAMATH2+1bBNE.2math2<>0lJMPRES }INF; .2LDX#0STXTEMP1STXTEMP1+1STXTEMP2STXTEMP2+1;COMPARELDAMATH2SECSBCM }ATH1 STAHOLDLDAMATH2+1SBCMATH1+1 BCSTWOGT; TIMES2INX*ASLMATH24ROLMATH2+1>JMPCOMP }AREH;R;\TWOGTORAHOLD fBNE.1pJMPPOWER2z; .1CPX#0BEQONLYREM;DIVIDELSRMATH2+1RO }RMATH2LDAMATH1SECSBCMATH2PHALDAMATH1+1SBCMATH2+1PHA; BCSOKPLAPLA }$BCCITOVFLOW8; BOKPLALSTAMATH1+1VPLA`STAMATH1jSECt;~ITOVFLOWROLRESHIROLRESHI+1D }EXBNEDIVIDE;; ONLYREM LDX#16DIVREMLSRMATH2+1RORMATH2RORTEMP2+1RORTEMP2; }LDAMATH1 SECSBCMATH2 STAHOLD(PHA2LDAMATH1+1<SBCMATH2+1FPHAPBCCTOTOBIGZ; dORAHO }LDnBNEMUCHSMALx;LDATEMP1SECSBCTEMP2PHALDATEMP1+1SBCTEMP2+1PHABCCTOBIG };PLASTATEMP1+1PLASTATEMP1PLASTAMATH1+1PLA"STAMATH1,SEC6BCSCONTDIV@; }JMUCHSMALPLATSTAMATH1+1^PLAhSTAMATH1rLDATEMP1|SECSBCTEMP2STATEMP1LDATEMP1+1SB }CTEMP2+1STATEMP1+1BCSNOTOVFL;LDAMATH1 BNE.1DECMATH1+1.1DECMATH1;NOTOVFLSEC }BCSCONTDIV; TOBIGPLA&PLA0TOTOBIGPLA:PLADCLCN;XCONTDIVROLRESLObROLRESLO+1lDEXv }BNEDIVREM;SETSGNJMPCOMP.RES;POWER2INXSEC.1ROLRESHIROLRESHI+1DEX BNE.1BEQ }SETSGN;RES01LDAMATH2 ORAMATH2+1 BNERES0 INCRESHI *RES0RTS4;>RESINFLDX#$80 HLDY#0R }LDAMATH1+1\EORMATH2+1fBMISTOREp;zDEXDEYSTORESTXRESHI+1STYRESHIRTS; SET.POS }LDAMATH1+1EORMATH2+1STAMSIGNLDAMATH1+1 BPL.1 LDXMATH1 JSRCOMPL16 STXMATH1$ STAMA }TH1+1. ;8 .1LDAMATH2+1 B BPL.2L LDXMATH2V JSRCOMPL16` STXMATH2j STAMATH2+1t ; ~ .2LDA#0 STA }RESLO STARESLO+1 STARESHI STARESHI+1 RTS ; COMPL16 STAMTEMP+1 STXMTEMP LDA#0 SEC } SBCMTEMP TAX  LDA#0 SBCMTEMP+1( RTS< ; F COMP.RESP LDARESLO Z BPL.1d INCRESLO+1 n BNE. }1x INCRESHI BNE.1 INCRESHI+1 .1LDAMSIGN BPLPOS.RES ; LDY#0 SEC .2LDA#0 SBCRESLO },Y STARESLO,Y INY CPY#$4 BNE.2 ; POS.RESRTS" ;6 SEC @ SBC#0J STAMATH1T SINELDAMATH1 }+1V SEC ^ SBC#$40h STAMATH1+1r COSINELDA#0| STAMSIGN LDAMATH1+1 BPL.1 LDXMATH1 JSRCOMPL }16 STXMATH1 STAMATH1+1 ; .1LDAMATH1+1 AND#$C0 BEQLOOK.COS ; LDA#0 SEC SBCMATH1 } STAMATH1  LDA#$80& SBCMATH1+10 STAMATH1+1 : LDA#$FFD STAMSIGNN ; X LOOK.COSb ASLMATH1l ROLM }ATH1+1v ROLMATH1 ROLMATH1+1 BCSZRES ; ROLMATH1 BCCNORDUP INCMATH1+1 BEQZRES ; NORD }UPLDXMATH1+1 LDACOS.TABLE,X CLC ADC#$1 STARESHI  LDA#0 ADC#0 STARESHI+1 ;* .0LDAMSI }GN 4 BPL.1> ;H LDARESHI+1R LDXRESHI\ JSRCOMPL16f STXRESHIp STARESHI+1z ; .1RTS ; ZRESLD }A#0 STARESHI STARESHI+1 RTS ; INVTAN LDA#0 STAMSIGN LDXMATH1 LDAMATH1+1 BPL.1 }STAMSIGNJSRCOMPL16$.1LDAINV.TAN.HI,X.PHA8LDAINV.TAN.LO,XBTAXLPLAVLDYMSIGN `BPL.2j }JSRCOMPL16t.2STARESHI+1~STXRESHIRTS;SET256LDXRESHI+1INX CPX#2BCSSET.INF;D }EXTXAEORRESHIBMISET.INF;LDARESHI STARESHI+1LDARESLO+1STARESHI(RTS2;<SET }.INFLDX#$7F FLDY#$FFPLDARESHI+1ZBMINEG.INFd;nSAVESTXRESHI+1xSTYRESHIRTS;NEG.INFINX }INY BEQSAVE; COS.TABLE.HSFFFFFFFFFFFFFFFFFF.HSFFFFFEFEFEFEFEFEFE.HSFDFDFDFDFDFCFCFCFC }.HSFBFBFBFBFAFAFAF9F9.HSF9F8F8F8F7F7F7F6F6.HSF5F5F4F4F4F3F3F2F2".HSF1F1F0F0EFEEEEEDED,.HSECECEBEAEAE9E }8E8E76.HSE6E6E5E4E4E3E2E2E1@.HSE0DFDFDEDDDCDBDBDAJ.HSD9D8D7D6D6D5D4D3D2T.HSD1D0CFCECECDCCCBCA^.HSC9C }8C7C6C5C4C3C2C1h.HSC0BFBEBDBCBBB9B8B7r.HSB6B5B4B3B2B1B0AEAD|.HSACABAAA9A7A6A5A4A3.HSA1A09F9E9C9B9A9997 }.HS9695949291908F8D8C.HS8B8988878584838180.HS7F7D7C7A7978767574.HS72716F6E6C6B6A6867.HS6564626160 }5E5D5B5A.HS5857555452514F4E4C.HS4B494846454342403F.HS3D3C3A393736343231.HS2F2E2C2B2928262523.HS }21201E1D1B1A181715.HS1312100F0D0C0A0807.HS05040201&;0INV.TAN.HI)D.HS00000000000000010101010101020202)N }.HS02020203030303030303040404040404)X.HS05050505050506060606060606070707)b.HS07070708080808080808090909090909)l }.HS090A0A0A0A0A0A0B0B0B0B0B0B0B0C0C)v.HS0C0C0C0C0C0D0D0D0D0D0D0D0E0E0E0E).HS0E0E0E0F0F0F0F0F0F0F0F1010101010).H }S10101111111111111111121212121212).HS12131313131313131314141414141414).HS14141515151515151515161616161616).HS }16161617171717171717171718181818).HS18181818181919191919191919191A1A).HS1A1A1A1A1A1A1A1A1B1B1B1B1B1B1B1B).HS1B }1B1B1C1C1C1C1C1C1C1C1C1C1D1D1D).HS1D1D1D1D1D1D1D1D1D1E1E1E1E1E1E1E).HS1E1E1E1E1F1F1F1F1F1F1F1F1F1F1F1F;INV. }TAN.LO) .HS0029517AA3CCF41D466F97C0E9113A62).HS8BB4DC052D567EA7CFF720487099C1E9) .HS11396189B1D901295178A0C8EF17 }3E66)*.HS8DB5DC032A51789FC6ED143B6188AED5)4.HSFB22486E94BAE0062C51779DC2E70D32)>.HS577CA1C6EB1034597DA2C6EA0F3356 }7A)H.HS9EC2E5092C507396B9DCFF21446789AB)R.HSCEF01234567799BBDCFD1F406182A3C3)\.HSE40525456686A6C6E60525446483A2C1 })f.HSE0FF1E3D5B7A98B7D5F3112F4C6A88A5)p.HSC2E0FD1A3754708DAAC6E2FE1B37536E)z.HS8AA6C1DDF8132E49647F9AB4CFE9041E) }.HS38526C869FB9D3EC051F38516A839CB4).HSCDE5FE162E465E768EA6BED5ED041B33).HS4A61788EA5BCD3E9FF162C42586E849A) }.HSB0C5DBF0061B30455A6F8499AEC3D7EC4).HSCDE5FE162E465E768EA6BED5ED041B33).HS4A61788EA5BCD3E9FF162C42586E849A) &SC  ;SAVE"D:DZONE5.SYN";;==========================(;Readthejoystickandact2;accordingly!<;=========}=================F; PJOYSTICK ZLDA#1dSTAEB.D.RnLDAPORTA xCMP#$FF BNE.0 LDA#0BEQENGINE}; .0AND#8 BNE.1JSRRIGHT.MOVE.1LDAPORTA AND#4 BNE.2JSRLEFT.MOVE.2LDAPORTA A}ND#2 BNE.3JSRBACK.MOVEDECEB.D.R"JSRRESTORE,.3LDAPORTA 6AND#1 @BNE.4JJSRFWD.MOVET}INCEB.D.R^JSRRESTOREh.4LDA#$50rSTAAUDF2 |LDA#$22ENGINESTAAUDC2RTS;;===================}======;Scrollmountains,move;enemyandbullettoleft;=========================; LEFT.MOVELDXS.HSCR}OL CPX#3 BNE.1 LDX#$FFLDYMT.LMS BNE.2 LDY#80 &.2DEY0STYLMSCHG :.1INXDSTXS.HSCR}OLNINCP0.POSXINCP0.POSb;lLDA/YOUR.D.TvLDX#YOUR.D.TJMPADDTHETA;;=========================};Movemountains,enemyand;bullettoright.;=========================;RIGHT.MOVELDXS.HSCROL BNE}.1 LDX#4LDYMT.LMS CPY#79 BNE.2 LDY#$FF .2INY STYLMSCHG *.1DEX4STXS.HSCROL>DEC}P0.POSHDECP0.POSR;\LDA/YOUR.D.TfLDX#YOUR.D.TpJSRCOMPL16zADDTHETASTATEMPBITTIMER BPL.1}TXACLCADCTHETASTATHETALDATHETA+1 ADCTEMPSTATHETA+1TXACLCADCEB.THETA}STAEB.THETALDAEB.THETA+1 ADCTEMPSTAEB.THETA+1 $.1RTS.; 8CHANGELMSBSTAMT.LMSLSTAMT.LMS+6}VSTAMT.LMS+12 `EOR#$80jSTAMT.LMS+3tSTAMT.LMS+9~STAMT.LMS+15NORCHGRTS;;==================}======== ;Moveforward,iemovelines;downandcalculatenewR;andthetaforenemy.;==========================}; FWD.MOVE LDA#1JSRMOVE.INTSJSRSETDELTA; EN.FWDLDA#0BEQBKDSKIP;(;==============}============ 2;Movebackwardiemovelines<;upandcalculatenewRF;andthetaforenemy.P;========================}==Z; dBACK.MOVE nLDA#$FFxJSRMOVE.INTSJSRSETDELTA;EN.BKDLDA#$80;;=======================}===;Nowdothemathstofind;newRandnewtheta.;==========================;BKDSKIPSTAFBFLAGBITT}IMERBPLNORCHGLDAWORK.THETASTAMATH1LDAWORK.THETA+1STAMATH1+1"JSRCOSINE,JSRMULT.DELTA}6;@INFRONTLDARESHI+1JLDXRESHITBITFBFLAG ^BMI.1hJSRCOMPL16r.1STATEMP|TXACLCADCWOR}K.RSTAWORK.R LDATEMPADCWORK.R+1STAWORK.R+1;;NowgotR+-D.R*cos.th; ONWARDLDAWORK.}THETASTAMATH1LDAWORK.THETA+1STAMATH1+1 JSRSINEJSRMULT.DELTA&;0LDAWORK.R:STAMATH2D}LDAWORK.R+1NSTAMATH2+1XLDARESHIbSTAMATH1lLDARESHI+1vSTAMATH1+1JSRDIV16JSRSET256;}";DoneD.R*sin.th/R+-D.R*cos.th;LDARESHISTAMATH1LDARESHI+1STAMATH1+1JSRINVTAN;LD}XRESHILDARESHI+1; ;Justdonearctanforphi; BITFBFLAG *BPL.14JSRCOMPL16>.1STATEMPHT}XARCLC\ADCWORK.THETAfSTAWORK.THETApLDAWORK.THETA+1 zADCTEMPSTAWORK.THETA+1;NOWEXITRTS};SETDELTALDA#YOUR.D.RSTADELTARLDA/YOUR.D.RSTADELTAR+1 LDARSTAWORK.R LDAR+1STA}WORK.R+1LDATHETA STAWORK.THETA LDATHETA+1 STAWORK.THETA+1$ RTS. ;8 RESTORELDAWORK.THETAB STA}THETAL 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 LDACO}LOUR 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 .1LDACOLOUR @ EOR#$55J }STACOLOUR T LDA#19^ .2STAINTS.POSh TAXr LDACOLOUR| STACHAR22+4+5+7+10,X EOR#$55 TAY TXA L}SR TAX TYA STACHAR22+4+5+7,X TXA LSR TAX TYA STACHAR22+4,X ;  LDX#0 LDAINTS.POS} DIV3CMP#3 & BCC.1 0 SBC#3: INX D BNEDIV3N .1LDACOLOURX STACHAR22+4+5,Xb ; l LDX#0v LDAINTS}.POS DIV5CMP#5 BCC.1 SBC#5 INX BNEDIV5 .1LDACOLOUR STACHAR22,X RTS ; ;===========}============== ;Fireabulletifthe ;trigger'spressed. ;========================= ; FIRE  DECDLY BNE}.1* LDA#BULL.DELAY 4 STADLY> LDABULLETH BPLDO.ALREADYR LDATRIG0\ BEQFIREDf JSRB.CLEAR p .1RTS}z ; FIREDLDA#15 STABULLET LDA#3 STAPSIZ.DLI LDA#$70 STAP0.POS LDA#$10 STAFIREC1 ;} DO.ALREADY JSRB.CLEAR ; LDABULLETTAXLSRCLC $LDA#$F.STAPCOL.DLI8; BCPX#14 LB}NE.1 VLDA#1`STAPSIZ.DLIjLDAP0.POStCLC ~ADC#8STAP0.POS;.1CPX#12BNENOISE1 LDA}#0STAPSIZ.DLILDAP0.POSCLC ADC#4STAP0.POS; NOISE1 LDA#2 STAAUDF4LDYFIREC1 }BEQ.1(DEY2DEY<.1STYFIREC1FSTYAUDC4P;ZNEW.BULLET dLDA/P0 nSTATO+1 xLDA#P0 STATO}JSRBULLETLOADDECBULLET; FIRE.EXITRTS;B.CLEARLDA#0LDY#HORIZON-24.1STAP0,YINY}CPY#HORIZON+25 BCC.1RTS;;==========================";Bulletload-passedsize,;0to15inclusive}inX 6;===========================@;JBULLETLOAD TLDA#1^STAREPEATh; rCPX#12 |BCC.1 BEQ.2};TXASEC SBC#13TAXLDYL3BOFFS,XLDAREPTL3B,XSTAREPEATLDAL3BTYPE,XTAXBNEBS}KIP;.2LDX#15 .1TXALSR &EOR#$FF0CLC:ADC#HORIZON+1DTAYNBSKIPSTXCOUNTXLDASMSPOFFS,}XbTAX lBLOOPvLDAREPEATSTAS.REPEATLDASMSPDATA,X.1STA(TO),YINYDECS.REPEAT BNE.1}INXDECCOUNTBPLBLOOP;RTS;3L3BOFFS.DA#HORIZON-11,#HORIZON-15,#HORIZON-24REPTL3B.HS020204} L3BTYPE.DA#11,#15,#11BLOOP;RTS;3L3BOFFS.DA#HORIZON-11,#HORIZON-15,#HORIZON-24REPTL3B.HS020204SCt ;SAVE"D:DZONE6.SYN";;==========================(;Rangechecklooksforahit2;bytheenemy,andif<;}necessarydrawsinthe F;sphere.Alsodoeswrapround.P;==========================Z;dRANGECHECK nLDAR+1xBMI}YOUREHIT; CMP#96BCCNOWRAPLDATHETA+1 EOR#$80STATHETA+1 LDA#95 STAR+1 STAR;}NOWRAPLDAR+1 CMP#2BCCYOUREHIT;LDAEB.R+1BMIYOUREHIT2 "CMP#2,BCCYOUREHIT26;@JMP}DRAWINGJ;T;=========================^;Nastycoloursasyou'veh;beenhit!r;=========================|; Y}OUREHIT LDA#2 STAR STAR+1JSRDRAWING; YOUREHIT2 LDA#0STASETFLAGJSRSCANFILLST}AFIREC1STAAUDC4JSRSCANERA LDA#$FFSTABULLETJSRB.CLEAR&JSRNOSOUND 0LDX#38:.1LDARTCL}OCK+2 DSTATEMP N.2LDY#4X.3LDARANDOMbSTACOLPF0,Y lCPY#4 vBNE.4DEY .4DEY BPL.3LDA}RANDOMSTACOLPM0LDARANDOMSTACOLPH3STACOLPM2STACOLPM3LDARANDOMSTACOLPM1 ORA#$10}STAAUDC1LDARTCLOCK+2 CMPTEMP BEQ.2 DEX *BPL.14; >JSRSETRHDECLIVESRBNELIVESLEFT}\PLAfPLApJMPSTART zLIVESLEFTDECC.LIVESJSRNOSOUNDJSRERASELDAKFLAG BNE.1JSRRES}ET.1JMPCHOOSE;!;============================;Drawingintheplayers!;============================; }ERASE LDA#0LDX#HORIZON+40 .1DEX $STAP1,X 8STAP2,X BSTAP3,X VBNE.1mRTSo; tDRAWING}JSRERASE; ;Justerasedtheoldsphere.; FINDSIZE LDXR+1 CPX#2 BCC.0 LDAR BPL.1I}NX.1CPX#64 BCC.2 LDA#0STASPHKIND.0RTSNotthere.(;2.2LDASPHERETYPE,X<STASPHKINDFT}AX PCPX#16ZBCSMIDDLEd;#n;Drawinthe1playerwideone.x; LDAXPOSSECSBCSMSPHADJ,XSTAHP}OSP2 LDA#0STASIZEP2STXCOUNT;TXALSR STATEMPLDA#HORIZONSEC SBCTEMPSEC} SBCJUMP"TAYGetplayertaboffset.,LDASMSPOFFS,X6TAX@;JSMLOOPLDASMSPDATA,X TSTAP2,Y^INYh}INXrDECCOUNT|BPLSMLOOPSLEAVERTS; MIDDLE CPX#22BCSLARGETXASEC SBC#16TAX}STXXSTORE LDAXPOSSECSBCMSPHADJ,XSTAHPOSP2&CLC 0ADC#8:STAHPOSP3 DLDA#0NSTASIZ}EP2XSTASIZEP3b;lLDAMSPPOFF,XvSEC SBCJUMPTAYLDASHRPTS,XSTASHRPTLDAMSPOFFS,XT}AX;MLOOPLDAMSPDATA,XBEQMEXIT; STAP3,Y STXTEMP LDX#0 STXBYTE LDXSHRPTREVERSE}LSR ROLBYTE*DEX4BPLREVERSE >LDXTEMPH; RLDABYTE \STAP2,YfINYpINXzBNEMLOOP MEXIT}LDXXSTORE LDAXPOSSECSBCMHADJ,XPHALDYMHOFFS,XLDAMHTYPE,XTAXPLAJMPHIGHLIGH}T; LARGE TXA SEC  SBC#22$ TAX. STXXSTORE8 LDALSPS1,XB STASIZEP3L LDALSPSM,XV STASIZ}EM` LDALSPS2,Xj STASIZEP2t ; ~ LDAXPOS SEC SBCLSPHADJ1,X STAHPOSM3 CLC ADCLSPADD,X ST}AHPOSM2 ADCLSPADD,X STAHPOSM1 ADCLSPADD,X STAHPOSM0 ADCLSPHADJ2,X STAHPOSP2 ADCLSPHADJ3,X } STAHPOSP3 ; LDYLSPOFFS,X( LDALSPSTART,X2 SEC < SBCJUMPF TAXP ;Z .0LDALSPDATA,Yd BEQHALFW }AYn STACOUNTx .1LDALSPDATA+1,Y STAM,X LDALSPDATA+2,Y STAP2,X LDALSPDATA+3,Y STAP3,X INX } DECCOUNT BNE.1 INY INY INY INY BNE.0 ;  HALFWAY DEY" DEY, DEY6 DEY@ .0LDA }LSPDATA,YJ BEQLEXITT STACOUNT^ .1LDALSPDATA+1,Y h STAM,Xr LDALSPDATA+2,Y | STAP2,X LDALSPDATA+3,Y } STAP3,X INX CPX#HORIZON+40 BEQLEXIT DECCOUNT BNE.1 BEQHALFWAY ; LEXIT LDXXSTORE} LDYLHOFFS,X LDAXPOS CLC ADCLHADJ,X PHA& LDALHTYPE,X0 TAX: PLAD ; N HIGHLIGHTX STAHPO}SP1b LDAPCOLOR2l CLC v ADC#2 STACOLPM1 STAPCOLOR1 STXCOUNT TYA SEC SBCJUMP TAY }LDA#0 STASIZEP1 LDASMSPOFFS,X TAX HI.LOOP LDASMSPDATA,X  STAP1,Y INY INX DECCOUNT* }BPLHI.LOOP> RTSH ;R SPHERETYPE.BS2\ .HS19181716f .HS1514131211107p .HS0F0E0D0C0B0A0A0909080807070706060}60605050505055z .HS04040404040303030303020202020202010101010101 .HS00000000000000 ; ;1 SMSPHADJ.HS050504040}50504040505040405050404 ; SMSPDATA E0.HS08 E1.HS0808 E2.HS181818 E3.HS18181818 E4.HS081C1C1C08} E5.HS081C1C1C1C08 E6.HS18183C3C3C1818E7.HS18183C3C3C3C1818E8.HS081C1C3E3E3E1C1C08E9.HS081C1C3E3E}3E3E1C1C08"$E10.HS183C3C7E7E7E7E7E3C3C18$.E11.HS183C3C7E7E7E7E7E7E3C3C18&8E12.HS1C3E3E7F7F7F7F7F7F7F3E3E1C(BE13}.HS1C3E3E7F7F7F7F7F7F7F7F3E3E1C*LE14.HS183C7E7EFFFFFFFFFFFFFF7E7E3C18,VE15.HS183C7E7E7EFFFFFFFFFFFF7E7E7E3C18`;}j;=tSMSPOFFS.DA#0,#E1-E0,#E2-E0,#E3-E0,#E4-E0,#E5-E0,#E6-E05~.DA#E7-E0,#E8-E0,#E9-E0,#E10-E0,#E11-E0,#E12-E0 .D}A#E13-E0,#E14-E0,#E15-E0;;;Middlesizedata.;MSPHADJ.HS090809080808;SHRPTS.HS060706070707};=MSPPOFF.DA#HORIZON-8,#HORIZON-9,#HORIZON-10,#HORIZON-12 .DA#HORIZON-13,#HORIZON-16 ; MSPDATA;0(E16.}HSC0E0E0F0F0F0F8F8F8F8F8F0F0F0E0E0C00042E17.HSC0E0E0F0F0F0F8F8F8F8F8F8F8F0F0F0E0E0C0008<E18.HS80E0F0F0F8F8F8FCFCFCFC}FCFCFCF8F8F8F0F0E08000>FE19.HS80E0E0F0F0F8F8F8FCFCFCFCFCFCFCFCF8F8F8F0F0E0E08000LHOFFS.DA#HORIZON-12,#HORIZON-16&},#HORIZON-23,#HORIZON-32;LHADJ.DA#$FF,#0,#1,#2LHTYPE.DA#9,#11,#13,#15;;:MHOFFS.DA#HORIZON-4,#HOR'}IZON-5,#HORIZON-6,#HORIZON-7.DA#HORIZON-8,#HORIZON-10; MHADJ.DA#3,#3,#3,#3,#2,#1 MHTYPE.DA#2,#3,#4,#5,#6,(}#7 ;*;==========================4;Doallthebitstothe>;scanner-thefirstistoH;drawthehorizontalbar.R)};==========================\; fDOSCANLN pLDA#97zSEC SBCR+1; STATEMPAND#7X=REMTAX *}LDATEMPLSRLSRLSRTAYY=QUOTLDABYTEL,XSTACHARL+3STACHARL+4LDABYTER,XSTACHARR+}+3STACHARR+4$;.STYYTEMP 8LDX#23BLDA#$1F?LSCLOOPSTASCANLINE+24,YVSTASCANLINE,X`DEXjD,}EYtBPLSCLOOP~;LDYYTEMPLDA#27;STASCANLINE+1,XLDA#26:STASCANLINE+24,Y; LDA#$00-}.1STASCANLINE+25,YSTASCANLINE,XDEXINY CPY#15 BCC.1 ;;========================;Now.}showthechevrons(;ateitheredge.2;========================<;FLDATHETA+1PCLCZADC#$2045DEGdROL/}nROLxROL AND#3TAXBNELRSKIPLDATHETA+1CLC ADC#$20CMP#$16+$20 BCC.5 LDX#10}BNELRSKIP.5CMP#$EC+$20BCSLRSKIP LDX#3; "LRSKIP,LDYLEFTRIGHT1,X6LDALRDATA,Y @LDY#31}JLRLOOP1STASCANLINE+4,YTDEY^BPLLRLOOP1h;rLDYLEFTRIGHT2,X|LDALRDATA,Y LDY#3LRLOOP2STASCANL2}INE+40,YDEYBPLLRLOOP2;;=========================;Nowtheplanviewscanner,;calculatingRcosandR3}sin;=========================;; LDXR+1 LDAR BPL.1&INX 0.1CPX#6:BCCNOSCAND; bLDX4}#0lJSRSCANSUBvLSRRORMATH2STAMATH2+1JSRMULT16JSRSET256 LDA#$7FCLCADCRESHI+15}STASCANPOS; LDX#1JSRSCANSUBSTAMATH2+1JSRMULT16JSRSET256 LDA#OSCANSEC SBC6}RESHI+1*STAYSCAN,RTS4;>SCANPUTLDA#$3HSCANFILLLDYYSCANRSTAM-1,Y \STAM,YfSTAM+1,YkRTS7}p;NOSCANLDA#0STAYSCANRTS; SCANSUBLDATHETA+1STAMATH1+1LDATHETASTAMATH1 CP8}X#1 BEQ.1 JSRSINE JMP.2.1JSRCOSINE.2LDARESHISTAMATH1LDARESHI+1STAMATH1+1$; 9}.LDAR8STAMATH2 BLDAR+1LLSRVRORMATH2`LSRjRORMATH2tRTS~;;========================;:}Istheenemyatanangle;tobedisplayedyet?;Theta+1passedinA.;========================; ENEMYSHOW;}CLC ADC#$20 CMP#$40BCSNOTON;STAMATH1+1 LDATHETA LDX#6.1LSRMATH1+1(ROR2DEX<} <BNE.1FRTSP;ZNOTONLDA#0dRTSn; xBYTEL.HS000103070F1F3F7FFF BYTER.HS0080C0E0F0F8FCFEFFLEFTR=}IGHT1.HS01010000LEFTRIGHT2.HS01020201!LRDATA.DA#$80+96,#0,#$80+99;SCANERALDX#47 LDA#0.1STAS>}CANLINE,XDEX BPL.1RTS01020201!LRDATA.DA#$80+96,#0,#$80+99;SCANERALDX#47 LDA#0.1STAS%SC ;SAVE"D:DZONE7.SYN";;======================(;Themainloop!2;======================<; FMAINLOOP@}PJSRDEBOUNCE dLDA#0nLDX#HORIZON+40 x.1DEX STAM,X BNE.1;STASIZEMLDATIMER BPL.2A}LDAYSCAN BEQ.2LDASCANPOSSTAHPOSM0JSRSCANPUT.2JSRRANGECHECKJSRESHOW;,NOSCYETB}JSRFIRE6JSRJOYSTICK@;J.1LDATIMERTBPLNOPAUSE^;hJSRDOENEMYrJSRHITDETECTwJSRDOSCANLN|;C} LDACH CMP#$21BNENOPAUSELDYRTCLOCK+1JSRNOSOUND;.2LDAPORTA CMP#$FF BEQ.2STD}YRTCLOCK+1;NOPAUSELDA#$FF STACH;LDACONSOL CMP#7&BEQMAINLOOP0JMPSTART:;DESHOWLE}DATHETA+1NJSRENEMYSHOW XSTAXPOSbRTSl;v;======================";Hitdetection.Didyougetit?;=====F}=================; HITDETECTLDAS.PPL BEQ.1;LDABULLET EOR#$0F STATEMP LDAR+1LSG}RLSR0to15SEC SBCTEMPCLC ADC#2 *CMP#24BCCEXPLODE >BPL.1HLDAPCOLOR2 RBNE.2\H};f.1LDA#$0Fp.2STAPCOL.DLIzRTS; EXPLODE;========================;It'stheexplosionfolks!;=I}=======================; INCDEAD LDA#0JSRSCANFILL;JSRNOSOUNDJSRSCANERASTAFIREC1J}STAFIREC2 LDA#$FFSTABULLET$JSRB.CLEAR.;8;TurnoffbulletB; LLDA#30VSTAEXPTIM`LDAPCOLK}OR2 jSTAPCOLt; ~ENEXPLJSRDRAWINGJSRESHOW;LDA#HORIZON-48SEC SBCJUMPTAY.0LDAL}M,YANDRANDOM STAM,Y LDAP1,YANDRANDOM STAP1,Y LDAP2,YANDRANDOM STAP2,Y (LDAP3,M}Y2ANDRANDOM <STAP3,YFINYPCPY#HORIZON+40 ZBCC.0d;nLDAEXPTIMxLSRTAX STATEMPBCCN}NOWHITE LDA#$00BEQSCOLSNOWHITELDAPCOL AND#$F0 ORATEMPSCOLSLDY#2FADESTAPCOLOR1,YSO}TACOLPM1,YDEY BPLFADETXA ORA#$80STAAUDC1"TXA,LSR 6ORA#$80@STAAUDC3 JLDA#$80P}TSTAAUDF1^STAAUDF3h;rJSRJOYSTICK |LDAR+1 CMP#2 BCS.0 LDA#2 STAR+1 STAR.0DECQ}EXPTIMBEQDONEXPLJSRDEBOUNCEJMPENEXPL;DONEXPLJSRNOSOUND JSRSETR; DOSCORELDAKFLAR}GBNESCORS&JSRRESET0LDALEVEL :CMP#5 DBCC.1 NLDA#$06 XSTAACEbPLAlPLAvJMPSTART;S}.1INCLEVELINCC.LEVELINCLIVESINCC.LIVES; SCORSSEDLDARANDOM AND#$70BEQSCORST}CLCADCSCORESTASCORELDASCORE+1 ADCLEVELSTASCORE+1 LDASCORE+2 *ADC#04STASCORE+2>U}CLD HLDX#2 RLDY#0\.2LDASCORE,XfJSRSPLITpSTAC.SCORE,YzSTATSCORES+2,YINY LDATEMPSTV}AC.SCORE,YSTATSCORES+2,YINYDEX BPL.2JMPCHOOSEE,YzSTATSCORES+2,YINY LDATEMPSTJ;pppppGpppppppAOPLMNOPLMNABCDEFGHOPLMNOPSIJKEFGHOPLMNABCDEFGHOPLMNOPABCDEFGHOPLMNABCDX}QROPSIJKEFGHOPLMNABCDEFGHOPLMNABCDQROPETPQROPSIJKLUETPQROP  Y}UUUUUUZUUUUZUUUUZUUUUZUUUUUUZUUUUUUUUZUUUUUUUUZUUUUUUUUZUUUUUViUUUViUUViUUUUUiVUUUUUUUUiVUUUZ}UUUUiVUUUUVYe 8VYeUUUUeYVUU[}UUUUUUeYV??<<<<x<<<<????]}<</10 &&4ԩթ 0 ؠ &]^Эc} & &Э0))eѠ/Vi0i`iiũd} -ƤoЩxТ>/&bʎ 7Щԩ e} &ک \#]ԩ#1 0?/p 6L5`H) hJJJJ) `ҩ`HHH ԌЎf}) h@ة@ԩ_ \ "/Т  $& @d&d&ɛԅ b}puting#]ԥ ,0ƺ橥IML__ᅜ` 1(&&&&eeLk( 1(q}HDZONE1 SYNBDZONE2 SYNB[%DZONE3 SYNB8DZONE4 SYNB6DZONE5 SYNBQDZONE6 SYNB?DZONE7 SYNB;WDZONE OBJB%DOS SYSB*DUP SYSBHDZONE8 SYNB52GLOB OBJB$gBRKWRKS OBJL(L (8唅啰&La'L (#Ff8HHhhhh8&&ݢFfff8喅HHB8r}HH/hhhh8%hh8咅哅ƕƔ8hhhh&&НLk(8&&`E0ʈ`E \(s} \(`8嘪` 揥8`88@ \()8唅啅t}&&&(& F)ii \(`` \(F*HF+h \(`ʊE0 `u}0`v}}|zyxvutrqonlkjhgedba`^][ZXWUTRQONLKIHFECB@?=<:976421/.,+)(&%#! w}  x}y})QzFo:b-V~ Hp9a)Qx>f*Qx;a"Hn,Qw 2W|4Y}3Vz ,Pz}0`v},BXn0EZo6) ,) ,) - -) - -Pҩ"` 3#P膂|}ȩL,3#OȄʆȩ \($eeeޅޥe`3#9#?#I6#<#B#` - - - -$܅}}݅ ( -$0 \(eڅڥeۅۥ܅݅ ( -څۅ B' ) ($ \(e܅ܥe`ڥۥ~}ܥ`܅݅څۅ` ' )` ƥIUũe0IUũIUũŝ"IUJ"J"}ŝ"ŝ"`Ƌ .`˩pȩ .J ˥i ˥iȩҤ}ҩ .Ɗ`А` 8 ... JIi21ƈƤ`  0!` I_} 0 L/ / 4 4 . $&& ҙ ҍЭ ҍЍЍЭ ҍ ҥţ 'hhL# }$& / 7L6ʝ` / @`>1٪.8~1Щ ІJ88Ш21Ƥ`c88}&2iЩ Ѝ н228Ш,2282J&ߦ83H33hL182 н2 н2 Х82}}2}2}2}2}2м328Ъ2222Ƥ܈2222Ƥئ3}}3H3hЭiЍ8Ш н21Ƥ` }<<<<<<<>>>>>>><<~~~~~<<<<~~~~~~<<>>>>>>>><~~~~<}<~~~~~~< $-7BN[ix  }&}~?<~?<}~? (T a8坅)JJJ4 4 ʈ}i ***)i 6 4444: 4Jf ' )e 4} ' )@8叅``` (L4 (JfJf`i @ Fj``?}/` &ʝ Х  4 / ^5 =. F, 6 f5 3! $&L# 4`I}JJ8i ` 4 $& 4 . / ^58Ш- ҙ- ҙ- ҙ- ҙߐץJ})Ј ҊJ ҩҍ F, &L5 $& ' 7 hhL# )peei}آ &&ȥ&L6 )ɰ `L8L99L7-L7 հL7i թ )}7, 0 \( 6 )8 '`87C 7ٯ7 77LI77$0 \( 7ٵ7}eeҩ`e8ҩ`8JJJ ҍ`Ii`(8HPhp @@@   77煟`} ` 6 )y8K ҅ '8 J8 88 ` )Ҥ 988 98` )Ѥ 98 }98  988` 98i湟8 8`?ߐ` ?@`??` @} i 6ٹM;21몽g;8ҩ`ҥJi ҍҽ4; ' )Ф Ž楜87} y7` '8 7;)I J8 ; L: ŝᥜ}ޥ߅( 8 8L: ҩ Ҧ i@I@ڥۥޅܥ߅ݥi@) -څۅ܅ޥ݅ 4` } 8 8L:@5JJ 7i+;8.;й1; ЩЩ .8岅峅L:ee8崅嵅L:}ee'#ץJ `ҩ@ҽ;ҽ; ` (0@`FKPUZ_ 8HYfr}} !$'*-039Z   HH)H !}p h  hyhy D L> L JJ    ! LA*` BF!}7'8  M HN H` 8 Z  \LdJJ!"! GFE@F (!L!}EE !E^ ^ E E7EȩEdE/EȩE  D!} .L }  ;F d  ;?F7F? ( .   Z D LL d !} . D  L    p  E` , d)  D L) 0BM݊L݉!} ML  N݆ L NLML [ TEqEHȱEqEh 0Gȹ G!} HLL GɛL  LFREE SECTORS G) *Gȩ GȽG GȌ*jj >G!} C8jJ3j2CD( C202C ԠBX` N 1? l LlD:RAMDISK!}.COMLu L1 L ;LHL  T`  `8  ɐ     `TU !} L ? .  t`GBJ ~DEHI B V0dV!}QDEHI VF9 ,0 ,0 s0hhL  L` H hDHEh!}DEL8HI4 0 HI,0 0  9 .G VLO!},0 L4*IJ`llD1:AUTORUN.SYSNEED MEM.SAV TO LOAD THIS FILE.D8:MEM.SAV J y08 B|DEHI!} V0 0`B;DEL`?<0LV`@ʆ v s? F0Ξ05: [ BDEHI!} VY8 B V  @  /DE `E:D8:DUP.SYSERROR-SAVING USER MEMORY ON DISKTYPE Y TO !}STILL RUN DOS B;DE J  (` 9 V⪍ ઍ  -!}LLu ÝDEHILV 9 .l 9 .l  `` s$B BH!}I|DE V BLV nB,DE JLV B V BLVDEIʩ BꭝLu  } 3E:}DISK OPERATING SYSTEM II VERSION COPYRIGHT 1984 ATARI CORP.A. DISK DIRECTORY I. FORMAT DISKB. RUN CARTRIDG%}E J. DUPLICATE DISKC. COPY FILE K. BINARY SAVED. DELETE FILE(S) L. BINARY LOADE. RENAME FILE M. RUN AT ADDRES%}SF. LOCK FILE N. CREATE MEM.SAVG. UNLOCK FILE O. DUPLICATE FILEH. WRITE DOS FILES P. FORMAT SINGLEL !N'%}#"&))9(&*)/h)''-&؆莟R'S  vL/ˢ L }Insert DOS 2.0s, type Y Λx %}DEfHI 1莏#q! @ y0ɛ8A0,' ȅ 1 1ild! 1L!NO SUCH ITEMSELECT%} ITEM OR FOR MENU! 0 .z:*{}.|{ 1 0 0JB 18L%|DL%}%DIRECTORY--SEARCH SPEC,LIST FILE?[# 0 0 &|D3" 1L!NOT A DISK FILEN !B 1L!E# 1 !BD%}ED:}:1BJ|DE 1DEBHI 1 h0ߢ 0.%}  0?詛 1 y0YЛ 1 ;#L" ;#L! BL1TYPE "Y" TO DELETE...DELETE FILE SPEC%}COPY--FROM, TO?OPTION NOT ALLOWED028 FREE SECTORS COPYING---D2:DZONE.OBJl# 0|D .L/%#%}##JB|DE 1BHID#E 1#0: B 1L!#͑### B 1#c$0SY%}S1}:## # # .#Ƚ# # 𩛙## 1,#PD#ELJ- <.BJD#E %}1 1HH 0hh|DL%1}:̳# L% #D#EL% 1 0 . .0O% 1L!WILD CARDS NOT A%}LLOWED IN DESTINATION 0 <.|KLDA#2HST)}AKFLAGRRTS\;f;===========p;Domissile.z;===========;DO.MISSLDYLEVEL LDARSECSBCR.SP)}EEDL,Y STAR LDAR+1 SBC#1 STAR+1LDAENFLAGBEQNOBAND;LDATHETA+1 BPL.1JSRCOM)}PL8.1CMPOUTER,Y$BCCINBAND.LDAENFLAG 8CMP#1 BBEQ.3LLDXCORRECTL,YVLDACORRECTH,Y `JMP.4j)}.3LDXT.SPEEDL,Y tLDA#1~.4BITTHETA+1 BMI.2JSRCOMPL16.2STXEN.D.TSTAEN.D.T+1;INBANDL)}DAENFLAG CMP#2BNENOBAND;LDATHETA+1 BPL.1JSRCOMPL8.1CMPINNER,Y BCSNOBAND LDA#)}0STAEN.D.T(STAEN.D.T+12;<NOBANDLDATHETAFCLCPADCEN.D.TZSTATHETAdLDATHETA+1nADCEN.D.)}T+1xSTATHETA+1;MISS.NOISE LDA#4STAAUDCTL LDA#96CLC ADCR+1STAAUDF1SEC SB)}C#1STAAUDF3 LDA#96SEC SBCR+1LSRLSR"LSR ,ORA#$A06STAAUDC1@STAAUDC3JRTS)}T;^COMPL8EOR#$FFhCLC rADC#1|RTS;R.SPEEDL.HS283848506870T.SPEEDL.HS000020404040OUTER.HS)}080C10101010INNER.HS0406080C0F0FCORRECTL.HS80C0D8008000CORRECTH.HS000001010202; SET.KINGJSRSE)}T.RANDLDAKINGT,YSTAE.TIME LDA#$FFSTAF.TIME+1STATHETA+1STABOUNCE &LDA#00STAKFLAG)}:RTSD;NKINGT.HS060504030303X; bRESET lLDA#12 vSTANECC LDA#0 STADEAD STAJUMPRTS)};;==============;Setuprandoms;==============; SET.RANDJSRCOLOURINLDYLEVELLDARANDOM *}AND#$0F CLCADCTIMERND,Y STAE.TIME *LDA#04STARTCLOCK+1 >STARHSTATHETA RLDA#75 \STAR*}+1fLDARANDOMpSTATHETA+1zJSRPARAM.TJSRPARAM.RJSRPARAM.F LDA#1STAKFLAG LDA#3 STA*}MINR LDAPROBSEC SBC#10 STAPROBRTS; PARAM.T LDARANDOM  AND#$80 STAT.DIR$ LDY*}LEVEL. .1LDARANDOM8 ANDTMASK1,YB CMPTMASK2,Y L BCS.1V STAEN.D.T ` LDA#0j STAEN.D.T+1t LDARANDO*}M~ ANDTIMEMSK,Y STAT.TIME RTS ; PARAM.R LDARANDOM AND#$80 STAR.DIR LDYLEVEL LDARA*}NDOM ANDRMASK3,Y STAEN.D.R+1 LDARANDOM ANDTIMEMSK,Y STAR.TIME  CPY#4  BCC.1( LDAKFLAG 2*} BEQ.1 < LDA#0F STAEN.D.R+1 P LDY#3Z .1LDARANDOMd ANDRMASK1,Yn CMPRMASK2,Y x BCS.1 STAEN.D.R*} RTS ; PARAM.F LDYLEVEL LDARANDOM ANDFIRETIMEL,Y CLC ADC#1 STAF.TIME LDAFIRETIMEH,*}Y STAF.TIME+1 JSRB2.CLEAR  LDA#0 STASETFLAG RTS" ;, FIRETIMEL.HSFF7FFF7F3F1F6 FIRETIMEH.HS01* }0100000000@ ;J B2.CLEARLDA#0T LDX#HORIZON-40^ .1STAP1,Xh INXr CPX#HORIZON+40 | BCC.1 RTS ; * }TIMERND.HS0F0D0B090706 TIMEMSK.HSFFFF7F7F7F7F TMASK1.HS3F7F7FFFFFFF TMASK2.HS406080A0C0FF RMASK1.HS7F7F* }FFFF3F3F RMASK2.HS6080C0FF2040 RMASK3.HS000000000101 ; DO.KING LDAVBCOUNT BNENOCOLS LDAPCOLOR2* }& CLC 0 ADC#$10: JSRCOLIN2D NOCOLSLDYSPHKINDN LDAMAXHT,YX STAMATH1+1 b LDA#0l STAMATH1v STAM* }ATH2+1 ; INCBOUNCE LDABOUNCE CMP#50 BCC.1 LDA#0 STABOUNCE .1CMP#25 BCC.2 LDA#*}49 SBCBOUNCE .2TAX LDAKTONE,X STAAUDF1 SEC  SBC#4 STAAUDF3 * LDA#$604 STAAUDCTL> LD*}ASPHKINDH LSRR CLC \ ADC#2 f ORA#$20p STAAUDC1z STAAUDC3 ; LDAFRACTION,X STAMATH2 ; *}JSRMULT16 JSRSET256 LDARESHI+1 STAJUMP ; ;========== ;Dorandom. ;==========; DO.RAND*}LDYLEVEL$LDASETFLAG.BNERNDNORM8LDARTCLOCK+1BCMPE.TIMELBCCRNDNORM VLDA#$FF`STAF.TIME jLD*}ARtSEC~SBCR.SPEEDL,Y STAR LDAR+1 SBC#1 STAR+1;LDAKFLAG BEQ.1JSRMISS.NOISE*} .1RTS;RNDNORMDECT.TIME BNE.1LDAKFLAG BNE.0LDABOUNCE BEQ.0(INCT.TIME 2BNE.1*}<;F.0JSRPARAM.TP.1LDATHETA+1 ZBPL.2dJSRCOMPL8n.2CMPMAXTHETA,YxBCCOKTHETALDATHETA+1 A*}ND#$80 EOR#$80STAT.DIR;OKTHETADECR.TIME BNE.1LDAKFLAG BNE.0LDABOUNCE BEQ.0*}INCR.TIME BNE.1;.0JSRPARAM.R.1LDAR+1 "CMPMINR ,BCS.2 6LDA#0 @BEQ.3J.2CMPMAXR,Y*} TBCCOKR ^LDA#$80h.3STAR.DIRr;|OKR FIRERNDDECF.TIMEIsityetBNENOFIREtimetoLDAF.TIM*}E+1fire?BEQNOWFIREDECF.TIME+1NOFIRELDA#3No,resetSTAMINRenrange.NEXITJMPFIROUT;NOWFI*}REINCF.TIMELDASETFLAGAlreadyBNEONGOfired.;LDA#15Nohighlight! STAMINR&STAFIREC2 0CMP*}R+1:BCSNEXITD; NLDAR+1XSTAEB.R+1 bLDAR lSTAEB.RvLDATHETASTAEB.THETALDATHETA+1S*}TAEB.THETA+1 STADIR; LDA#40STASETFLAG;ONGODECSETFLAGBNEFIRESNDJSRB2.CLEARJSR*}PARAM.FJMPFIROUT; FIRESNDLDAFIREC2 BEQ.1 DECFIREC2 *ORA#$804.1STAAUDC3 >LDA#10HSTA*}AUDF3R;\LDXEB.D.R fCPX#1 pBEQ.2 zLDADIRCLC ADC#$40 BPL.2TXA EOR#2TAX.2*}STXDELTAR+1 LDA#$40STADELTAR; LDAEB.RSTAWORK.RLDAEB.R+1STAWORK.R+1LDAEB.THETA*}STAWORK.THETA$LDAEB.THETA+1.STAWORK.THETA+18;BSETTLDADIRLCLC VADC#$40 `AND#$80jJSRBKDSK* }IPt;~LDAWORK.R STAEB.RLDAWORK.R+1STAEB.R+1LDAWORK.THETASTAEB.THETALDAWORK.THETA+1*!}STAEB.THETA+1JSRENEMYSHOWSTAEB.XPOS; SHOWEBLDAEB.R+1 BPL.0 LDA#1STAEB.R+1.0*"}CMP#96 (BCC.12JSRB2.CLEAR <LDA#0FSTASETFLAGPJSRPARAM.FZJMPFIROUTd;n.1CMP#64xBCSEBH*#}ITLSRLSRJSRCOMPL8CLC ADC#15TAX; LDY#2.2CMPHITTAB1,YBCSGOTSIZDEY *$}BPL.2 GOTSIZLDAEB.XPOSSECSBCHITTAB2,Y"STAHPOSP1,LDAHITTAB3,Y6STASIZEP1 @LDA#$FJST*%}APCOLOR1TSTACOLPM1 ^LDA/P1 hSTATO+1 rLDA#P1 |STATOJSRBULLETLOAD; EBHIT FIROUTLDAR*&}.DIR BEQADDR LDARSECSBCEN.D.R STAR LDAR+1SBCEN.D.R+1 STAR+1JMPNOWTHADDRL*'}DAR&CLC0ADCEN.D.R :STAR DLDAR+1NADCEN.D.R+1 XSTAR+1bNOWTHLDAT.DIR lBEQADDTvLDATHETA*(}SECSBCEN.D.TSTATHETALDATHETA+1SBCEN.D.T+1STATHETA+1JMPDONEITADDTLDATHETACL*)}CADCEN.D.TSTATHETALDATHETA+1ADCEN.D.T+1STATHETA+1 DONEIT*LDAKFLAG4BEQSNDXIT>DE**}CS.DELAYHBPLSNDXITRLDXSNDPTR\LDASPHKINDfLSR pORA#$60zSTAAUDC1 LDA#$40STAAUDCTL;*+}LDADATA,XSTAAUDF1LDADEL,XSTAS.DELAY;INX CPX#MAX BCC.1 LDX#0.1STXSNDPTR*,}SNDXITRTS;MAXTHETA.HS182028304060$$MAXR.DA#70,#75,#80,#85,#90,#95H.DATA.DA#150,#130,#135,#150,#145,#160,#*-}130,#135,#150,#130,#140,#1458MAX.EQ*-DATA/BDEL.DA#3,#2,#3,#4,#3,#4,#5,#4,#2,#3,#4,#2 LXSP.BS1VHITTAB1.HS000*.}D0F`HITTAB2.HS040810jHITTAB3.HS000103GtFRACTION.DA#0,#56,#72,#89,#102,#114,#125,#135,#145,#154,#162,#170?~.D*/}A#177,#185,#191,#198,#205,#211,#217,#223,#229,#235,#240.DA#246,#251BMAXHT.DA#3,#4,#8,#10,#12,#14,#16,#20,#26,#30,*0}#33,#36,#39,#42;.DA#45,#48,#51,#57,#60,#66,#72,#78,#85,#100,#120,#110;KTONE.HSF0E8E0D8D0C8C0B8.HSB0A8A09*1}890888078.HS706C6864605E5C5C .HS5C6,#72,#78,#85,#100,#120,#110;KTONE.HSF0E8E0D8D0C8C0B8.HSB0A8A09(.}捻L =+˩愡 bЊJТLr  Lx ũƩ.?}ҩҩ/ҩǥǍ4 ҍ҅ƥ L ȩɩҩҩҩʥʅʍ ҍ҅ɥ #L˩.@}ҩҭ )i ͩiҥ e͍ҥ ҍ̢҅ t thhhLbe .A} `=` ҵ)IJJ҆iPi㦡`.B}d:a@ `pp`.C}00@@cosmicglob2)#("%..3\.D}9.E}9((G҆Ңd.F}ҍҦ`i(i\ `8(\ `8j(.G}iiii8ک̈́ͅ QТ d uX<XixYi.H}ҩ  ii\ xi Lx.I}iׅi\ L Ц x L - Li7 Lx L.J} Л x"iح0L F8ح 0JJJJi_)i` .K}Lx LS L x, 9L. Lx L в x,.L} .L9 Lx LO в ii׭x b*i %L.M}2( ExGȩ L ШGȩȑLשG L   ` хҢ.N} t teehe ebejeeee  㪽(F  .O} Ld L!#ҍҍҍҦ!„yy 2ɮ ) e.P}L褷мyy \ ) eL褷мLȥLM릦`.Q}¢ j `ЩЩ4 Ѝ ТȽ$XiPYii(ix.R}ҩҩҩҩ؍ҩٍҩ̈́ͅҍҍҍ Ld.S} ҩҩҩ ҩҩҩ i iii.T}ǍiiiƎƐ攩 ]ƎƐ攩 ]ʠиЖ ̈́ͅ.U} Ld ii iLưХ`@i .V}}X؅յڅֵ܅׼JJJJiБXȵ)iБX`X` P^ @.W}    $01XȥY.X}ȥ`pppGAdd8jY1X0pȑȑƑȥXȥY͑XYi(i.Y}ȥ a ȑȑȩAȥȥXi(Yi(i(i⦥XiʅYi$.Z}i(iTXi Yi Xi+Yi `iZ )ЩЩ Ѝ Т,ҩ.[}ҩҩҩ2ǩ6ưХɀͥǍҥ͍Lҍҍҍҭ )Ӆԅ詀~.\}©ҩ`X} Y} 膥i(i8ҩҩҩҢeJҩ.]}ߩҍҍҍ҅L`KYH` B V`B]DEhK)I J V``S:8jԅ./8o.^}Ѝ Ѝ Щ Ѝ iiiРii8`:Ԣe._}eq \`>>kA>|p<||888>|.`}<<|>8???.a}?W=_|?}}__?}}=_|?W?888888ffflllll888p|lh8888.b}00088 8l8|8l88x888p@~.c}88888888x88p8~8p>88.d}88888888888|8.e}|||8p|ppppp|@p8>>8|.f}<,R``UUUUUUUU~BBBB~3333<<2h}?A! <~$BB$? !A~<<~~<gg|2i}|`a8p~~B$$Bff||p8~$$~~B~B~B~B2j} @~>6~~=<<<$$$$$$$~~$6~~``~~ffff~~~~~ff~``~ff~ff~2k}`~~~~`~~`~aa2`@ F F@! >>=JJ OJ1 O kJ X kJ J3  M` L L2l}   \ VL *N L LNL@J0˭1̠Fˠ`XX˥Yi˥i̩`>/Щ@ԩo 2m}ȍ`` J` K` K`JK J`ȌȌ J2n}`Ȍ J` J` J`Ȍ J2o}`Ȍ J`Ȍ J`KL K` {K` K2p}` 5K` XK`x J` J` K` L`  J`  &L`  L`  >L`X˥2q}Yiȅ˥iiȅ˥i̩?`` i@LLi,LLML`mX˥Yi҅˥i2r}iՅ˥i̠i(˥i̠LLX˥Y̠i˥iL_Mm˥i` UMˍ )? 2s}ͬΠ iͥiLM͙@ɀMN`ʎЩED2t}EFDLb䭄`` M` UM `BJKLcNK:`DNE V  B V`B2u}DEHI V B V}LO19L O<LhO>LzOLQ LSCL&VPLVNO L_XBLX` 2v}kJ L L`0 XY01iiʠ L L RO` F`LO2w}LOX;Y<XY01iiXYȑ kJXYiȅiLOD:OP.PIC O2x}O>?BJKL0PK:-DPE VB=DEHI V B V>?=~LQɛL Q2y}A[i O 葸LP>?BJKLPK:DPE VB=DEHI VPQ B V>?=2z}~ɛ LPLP iOʈ LPhh LQ`.OPOIOCO詛O`;X<Y01ii;2{}ȭ<` L L`QR OBJKDOE VLLQ BDEHI V BDEHI V 2|}BDEHI V BDEHI V BDEHI V BDEHI V B2}}DEHI V R}SBDEHI V BDEHI V BDEHI V BD2~}EHI V BDEHI V BDEHI V BDEHI V BDE2}HI V BDE~SSHI V BDEHI V BĝDEHI VST B V LQ2}` OBJKDOE VLLQBDEHI VBDEHI VBDEHI2} VBDEHI VBDEHI VBDEHI VBDETUHI2} VBDEHI VBDEHI VBDEHI VBDEHI V2}BDEHI VBDEHI VBDEHI VBDEHI VUV2}BDEHI VBDEHI VBĝDEHI VVW B V LQ` W VLL)V2} W45 VLLSV45 W67XYiȅiiȅ2}i: L`:` W649758 VLLV9 mWXLV8 mL2}V W UM˅̅5iim4i89ȱiiiiLsW L`2} Lȩȩ` Lȩȩȩȩ`ҩҩ2ҩҢ Jҍ`LX"r+w+sXXX˥Y2}i˥i̠X iv˥i̠X J J`LX@LXɀLX WТ Jx 芙LX 2}ʊLX iLX LX W`  MJLX WТ Jx 芙LX 0S