ўїїџџџџџџџџџџџћPC99 а DSK (џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћDATA/2 €A*PAњ The only difference is the titleїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћCOMUTL € PP ™№ game variously known as Omega orїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћOMEGAO/2 #PhB Boots BEYOND PARSEC from EA3. 1988їїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ їїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћINITS €qP;С screen.їїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћDATA €A*PAЙ Beyond Space, or Beyond Parsec.їїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћCOINC €4ЗP4e0Source code for the John PhillipsїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћOMEGAO "Pf Boots BEYOND SPACE from EA3. 1984їїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћLEVEL0SUBS€?*P?yсїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћUTIL1  JёBoots STRIKE 3 from EA5їїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћOMEGA €‡PŒїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћLIST €ьPXїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћLEVEL1SUBS€žPИїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћUTIL2 *jсїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћOMEGA/2 €‰PŽїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћMAIN €3€P3Y!їїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћLEVEL2SUBS€"PЪїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћSTRIKELIST€ЋPCїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћMAIN €L PLїБїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћUTIL2 *ИтїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћSTRIKEO SPљE"їїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћROSTER €јPCRїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћLEVEL3SUBS€МPлБїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћUTIL1  ˜ђBoots STRIKE 3 from EA5їїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћAB„BаBBабB дBе BийB мBн BрсB фBхBвгB жBз BклB оBп BтуB цBчB B єBѕ F AJBшщB ьBэ BјљB дBеB B іBї BъыB юBя BњћB жBзBœBBŸBŸBПпBч№BРBBёBђBBѓBєB Bѕ BіF AZB Bї BјB BљBњBBћBќBB§BўBBџBšBПпBџBB”BBŸBџBBF їїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћAЊBO BMABGIBCPBROBGRBAMBMEBD BBYB: BJOBHNB PBHIBLLBIPBS BANBD BMIBCHBAEBL F AкBARBCHBULBETBAGB AB MB EB B BO BV BE BRPBREBSSB RBEDBO BORB BBACBK*B PF A BLABYEBR B1 BDEBSTBROBYEBD B**B PBLABYEBR B2 BDEBSTBROBYEBD B**B B SBHIF їїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћAŠBBџBBBBBџBBBBџBBBBBџBBBBџBBBBF AКBџBBBBџB B`рB№№B№№B№№B№№B PBаРB `B@ B  B  B  B  B  B  BˆB€BˆрF AъBBˆB‚B B‚B08B‚ B8ШB‚BHАB‚BX B‚ B`@B‚ BpXB‚Bx`B‚B€иB‚ BРBƒBРF їїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћAšBBBBBB??B?BBџBџџBџџBBBBBBBB??B??B?BBџџBF AЪBBB?B??B??BџBџџBРBќџBp`B@BB?џBBB$BBIBЂ‚BI6BBBРcB?BPF AњBRRBzњBў|B€„B„ЄBЅхBџ~B@DBФдBеџB~B B B(B) Bh B" B#pBqxBypBq"B #B hB `F їїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћAzB?B?џBџџBBBBBBBBF їїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћAъBBBB€РBРРBррBр№B№№BррBррBјќBўўBџџBџџBўўBџџBџџBџџBџџB€€BррBррB№№B№№F AB№јBјќBўўBBBрјBјќBўўBўўBџџBџџB€€B€€B@@B@!BB№B8xBшШB#B&BFIB№рB€F AJBB€BpBр№BјќBџџBџџBBB BBBBB„BBBB№BФјBx|B~žBBF їїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћAЪBаШBцpB9BB44BpрBР€BBBBBB€€B€€B€BB?BрРBааBрBШфBt4B44BааF AњBааBЯрB?B44B44B4pBрРBpBаШBфђBљмBB44B44B44BЮЧBгбBааBаРB44BдєBєtB40BF A*BџџBРаBааBрBШфBt4B44BааBааBпРBџџB44B44B4pBрРBBџџBРаBпРBрBафBt4B4pBџџF їїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћAКB`CˆB CzBB@C„B CzB @BCиB CzB €BCрB CzB€B CФB CzF AъBB8CиB CzBB„CBи C~BƒzBC№BBBЩBШBСBбЁC”B †BЧB)B@F ABBB  BBˆBB BBˆBB BСrB C|BBƒ BРB‡BЦBцBіBB B F їїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћAњC†BBB CЌBР`CфBР CцB CB ЪBŠBBњBаjCƒB CzBBBƒBР`CшF A *BР CъB CB ЪBŠBBњBаjCƒB CzBBBƒBрBƒжB C fB C ЄB C B F A ZC B CB CBёBУ‹BрBƒ BрBƒtBИ CqBƒtB˜ BƒtCsBB`C ~B˜ BƒtCqB F їїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћAкCqBƒBB C@B@B`C ЪBи CpBƒBB CzB…BC‰BрBƒtB C>B C>BарBƒ|BћF A Bа`BƒuB BB*BB CZB CzBфBCБB B@B C|BCПB B@B C|BF A:CбB CvBB…Bи CuBƒtB C>BрBƒtB C>B˜ BƒtCuBBЬBB ьBBB F їїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћA ЪB 6BЈBƒ*BbBHBШBƒ0B C@BBвbCpBР Bƒ"B BBСB CVBBƒB AB CzF A њB€BBƒBЈ Bƒ4Bƒ.BЈ Bƒ4Bƒ,BР Bƒ.BЪBи CpBƒ'B CЖBРрBƒ2B$B CfBа`Bƒ'F A *BBBР Bƒ.BСB CVBBƒBB BB C|BBƒBЈ Bƒ4Bƒ.BР`Bƒ4B 1BЈBƒ*F їїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћA ЊCqBƒ BBи CqBƒ!BР Bƒ"B CVBBƒB BBBBBСЧBB BР Bƒ$B C|F A кBBƒBарBƒ&BB`C B`C pBР Bƒ$B C|BCB˜ BƒtCqBBи CpBƒ BBи F A CpBƒ!BарBƒ&BB`C B`C pB˜ BƒtCqBBи CqBƒ BBи CqBƒ!BарBƒBBF їїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћA ŠBBBB€BBBB„BBBBB„BBBB€BШBƒ"BШBƒ$BШBƒ:BШF A КBƒBУBарBƒuBƒBџBBи CpBƒ&BƒB BBв Bƒ>B ˆB C†BˆBBи CzBƒ?Bв Bƒ?B ˆB F їїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћAJBBёB CZB C№B‡B CzBCBC B B B C|BC2B CzBЬBCDB F AzB B C|BCVB CzBчBCŸBBp`BB‚B CzBBBƒBBp№BBB F AЊCzBBBƒBBшB CzB€BBƒB CTBBBƒBABџBBdBіBШBƒ"Bи F їїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћA :BBBB€BР Bƒ"BРB C|BBƒBР Bƒ$B C|BBƒBарBƒ&BB`C B`C pF A jBР Bƒ"B CVBBƒB!BBСAB BEBџBШBƒ(BШBƒ*BРBСBBBBарBƒuB ƒBƒBBB`C pBBрB`C  BB B`C  BBшB`C BF A JBB`C B CB`C pB˜ BƒtCqBBарBƒ B Bи CqBƒ BBарBƒ!BBи CqBƒ!F A zB`C jBарBƒ BB CzB€BCBарBƒ!BB CzB„BCB^B˜ BƒtCqBBи F їїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћA ZBŠBŠBBBˆ Bƒ0BBзBТŠB B B BР Bƒ,B C|BBƒB  Bƒ4B BјBа`Bƒ'F A ŠBBШ Bƒ:Bƒ"BШ BƒBBарBƒ?BB BИ Bƒ>Bƒ@BBИ Bƒ?BƒAF AzB CЌB CzB'BCуB B€B C|BCѕBрBƒtBрBƒжB C>BарBƒuB ƒBƒBџF AЊBіBƒBB BƒB8B BƒBB BƒB9BBƒBB BцB CшB`C’B CшB`F їїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћA*BƒtCsBB `Bƒ4BABџB C|BBƒBи CqBƒ3BBBBЈBƒ6BЈBƒ8BР`Bƒ6BF AZB0BBИBрBƒ2B]BУKBС`Bƒ(BС Bƒ*BР Bƒ:B CVBBƒB'BB CъBТBBи F AŠCqBƒ'B]BУKBBBШBƒ"B CVBBƒ BŒ0B CVBBƒB%BB'BB CтBТF їїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћA BАB C|BCBŒ0B BљBB„B CzB6BBƒ B%BB C|BBƒ B%BB F A:C|BBƒ B CTB0BBƒB˜CBBфB BBBАB C|BCBŒ0B BљB F AjCvBBарBƒBB Bа`Bƒ>BBBа`Bƒ?BB C.C_B`C^BарBƒЮB§B C@BvB F їїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћA ъB‚BBB BBB C|BBƒ BРB C|BCBСB]BУ‹BBBШBƒ"BBУ‹F A BBBШBƒ"B CVBBƒB!BBРB BBBџBШBƒ(BШBƒ*B CЖBС Bƒ2BBF A JB^B C@B@B CzB€BCBŒ0B C|BCBР`Bƒ"BBBBx CqBƒ>B CTF їїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћAкCNB`CрBрBƒрB BBУЫB CzBBCBBBB€BРB C|BCBРB F A C|BCBuBЖB…B4BёB_B BoхB:`BƒРB*BzЙBШ BƒРB[BС;BУЫBB%BBF A:B C€B_BШ;BƒЬBBBј CqBƒ§Bи CqBƒЮBBB[BУЫBТBB BРB C|BF їїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћAКBB CzBBC|B€B C|BCBx CqBƒ?B C.C3B`C LB]BС…B …BFBџF AъBТB ‡BHBџBaХBGBbBHB‡BBBˆBBBBBШB[BУKBBBШBƒ"BРF AB CVBBƒB!BBРB BBBBџB 1B QB 2B BBРB CVBBƒB‚B BBuF їїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћAšC.C_B CzB0B CBарBƒBBB`CшB`C BУKBС`Bƒ(BС Bƒ*BBBШBƒ6BF AЪBˆBШBƒ8BР Bƒ6B CVBBƒB'BB CъBТB0BР Bƒ8B CVBBƒBРBарBƒF AњBBBа C‚BBB‚BBBи BƒBƒBBBШ Bƒ4Bƒ4BBBШ Bƒ4Bƒ4BB B˜ F їїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћA zB%BBƒB BB BB C.CBBx CqBƒ?B CTB%BBƒB BB BB F A ЊC.CBв Bƒ>B ˆB C†BˆBBв Bƒ?B ˆB C†BBBР Bƒ"B CVBBƒ B C|F A кBCBB0B C|BBƒ B BB C|BBƒ B%BўB€B C|BBƒ B BBF їїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћAЊBJOBHNB PBHIBLLBIPBSDBISBTRBIBBUTBEDB BBY BDABTABBIBOTBICBSDBESBIGBNEBD F AкBBYB: BJOBHNB PBHIBLLBIPBSPBROBGRBAMBMEBD BBYB: B B B JBOHBN BM.B PBHIF A BLLBIPBSGB AB MB EB B BO BV BE BRPBREBSSB RBEDBO BORB BBACBK*B PBLABYEF їїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћAŠBBBBџBBBBBџBBBBџBBBBBџBBBBџBBF AКBBBџBBBBџB B`рB№№B№№B№№B№№B PBаРB `B@ B  B  B  B  B  B  BˆF AъB€BˆрBBˆB‚B B‚B08B‚ B8ШB‚BHАB‚BX B‚ B`@B‚ BpXB‚Bx`B‚B€иB‚ BРF їїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћAŠBРB`B@BиBŒBBи4BŒBBќBB@B`BBB[F 5žOMEGA F : 99/4 AS 0102їїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћAjBƒBТB‚BBїB_BР;BBџџBBўBBњB[BС{BР;BУЫBЦB‚BBBB B F AšC|BBƒ B€B†B†B BђB_BУ Bа Bƒ@BBB CШBа BƒABBB CШB\BУKF AЪB ‚BB BСB<@B!B0B"B0BСBи BƒBƒBРB C|BBƒB]BС;BBBиBŒF їїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћA:BR B1 BDEBSTBROBYEBD B**B PBLABYEBR B2 BDEBSTBROBYEBD B**B B SBHIBPSB CF AjBOLBLIBDEBD B B**B CBRABSHB WBITBH BGRBOUBNDB B* B B B B B B B F AšB B B B RBELBEABSEB ABLPBHAB LBOCBKBBџџBРаBпРBрBафBt4B4pBџџBРаBпРF їїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћABƒBРB„BаBBабB дBе BийB мBн BрсB фBхBвгB жBз BклB оBп BтуB цBчBшщF AJB ьBэ B№ёB єBѕ BдеB јBљBъыB юBя BђѓB іBї BжзB њBћBœBBŸBŸBПпBч№BРBBёBђBBѓBєB F AZBѕ BіB Bї BјB BљBњBBћBќBB§BўBBџBšBПпBџBB”BBŸBџF їїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћAњBФBиBŒBФBBB[BУЫBа BƒzBи CpBƒzBб BƒtBрBƒtB C>Bв Bƒ|BћBрBƒжF A*B C>Bв Bƒ|BљBиBƒzBиBƒtB_BBBрBƒрB BBрBƒBBB[BР;BРћBС;F AZBBBРBиBŒBРBиBŒBBн BˆBBќBBB[BР;BРћBС;BBBРBиBŒF їїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћAЪBџџBрфBt4B4tBрРBBџџBРаBпРBќBє№B№B№BџџBРаBпРBџџBаРBBќBє№BpBаШBцpF AњB9BB44BpрBР€BBBBBB€€B€€B€BB?BрРBааBрBШфBt4B44BааBааBЯрF A*B?B44B44B4pBрРBpBаШBфђBљмBB44B44B44BЮЧBгбBааBаРB44BдєBєtB40BBџџBРаF їїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћA BBРРBРРBРРBРРB?BBB BєBB @BР0B B џBOIByBBџBђ’BžєBBBF A:BB<BBBBBF AЪBBBB??B?BBџBџџBџџBBBBBBBB??B??B?BBџџBBBF AњB?B??B??BџBџџBРBќџBp`B@BB?џBBB$BBIBЂ‚BI6BBBРcB?BPBRRBzњF їїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћAzBpBр№BјќBџџBџџBBB BBBBB„BBBB№BФјBx|B~žBBB?B?џF AЊBџџBBBBBBв Bƒ>B ˆB CШF A *BˆBBи C~Bƒ?Bв Bƒ?B ˆB CШBBB CюBР`CшBР CъB C^B ЪBŠBBњF A ZBаjC‡B CМBBBƒBР`CьBР CюB C^B ЪBŠBBњBаjC‡B CМBBBƒF їїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџў їїџџџџџџџџџџџћA ъC–BBBƒB ‚Bа`Bƒ BB€B C *BРABBиBƒ B C–BBBƒB ‚Bа`Bƒ!BF A B„B C *BРABBиBƒ!B\BУKB‚BBB BBB CОBBƒ BРB CОBC"F A JBСB]BУ‹BBBШBƒ"BBУ‹BBBШBƒ"B C˜BBƒB!BBРB BBBџBШF їїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџў їїџџџџџџџџџџџћA ЪBƒ*BРBСBBBBBBа`Bƒ?BB CpC‹F AЪB`C BарBƒЮB§B C‚BvB CpC‹B CМB0B CBарBƒBBB`CB`C FBУKF AњBС`Bƒ(BС Bƒ*BBBШBƒ6BBˆBШBƒ8BР Bƒ6B C˜BBƒB'BB C,BТB0F їїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџў їїџџџџџџџџџџџћA zBƒ(BШBƒ*B CјBС Bƒ2BBB^B C‚B@B CМB€BC"BŒ0B CОBC"BР`F A ЊBƒ"BBBBx CuBƒ>B C–B%BBƒB BB BB CpC3BBx CuBƒ?B F A кC–B%BBƒB BB BB CpCIBв Bƒ>B ˆB CШBˆBBв Bƒ?B ˆB CШBF їїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџў їїџџџџџџџџџџџћAjBШ BƒРB[BС;BУЫBB%BBB CТB_BШ;BƒЬBBBј CuBƒ§Bи CuBƒЮBBF AšB[BУЫBТBB BРB CОBBƒBТB‚BBїB_BР;BBџџBBўBBњB[BС{F AЪBР;BУЫBЦB‚BBBB B CОBBƒ B€B†B†B BђB_BУ Bа Bƒ@BBB F їїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџў їїџџџџџџџџџџџћAJBBШB[BУKBBBШBƒ"BРB C˜BBƒB!BBРB BBBBџB 1B QB 2B BF AzBРB C˜BBƒB‚B BBuB…BBтBB CpCuB`C ŽB]BарBƒ>BBарBƒ?F AЊBB BИ Bƒ>Bƒ@BBИ Bƒ?BƒAB CюB CМB'BCB B€B CОBC!BрBƒtF їїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџў їїџџџџџџџџџџџћA*BР Bƒ8B C˜BBƒBРBарBƒBBBа C†BBB‚BBBи BƒBƒBBBШ Bƒ4F AZBƒ4BBBШ Bƒ4Bƒ4BB B˜ BƒtCwBB `Bƒ4BABџB CОBBƒBи CuBƒ3BF AŠBBBЈBƒ6BЈBƒ8BР`Bƒ6BB0BBИBрBƒ2B]BУKBС`Bƒ(BС Bƒ*BР Bƒ:B C˜F їїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџў їїџџџџџџџџџџџћA BBР Bƒ"B C˜BBƒ B CОBC…BB0B CОBBƒ B BB CОBBƒ B%F A:BўB€B CОBBƒ B BBBАB CОBCƒBŒ0B BљBB„B CМB6BBƒ F AjB%BB CОBBƒ B%BB CОBBƒ B C–B0BBƒB˜C…BBфB BBF їїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџў їїџџџџџџџџџџџћAњC Bа BƒABBB C B\BУKB ‚BB BСB<@B!B0B"B0BСBи BƒBƒBРB F A*CОBBƒB]BС;BBBиBŒBФBиBŒBФBBB[BУЫBа BƒzBи CtBƒzBб BƒtF AZBрBƒtB C€Bв Bƒ|BћBрBƒжB C€Bв Bƒ|BљBиBƒzBиBƒtB_BBBрBƒрB F їїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџў їїџџџџџџџџџџџћ'***************************************)COINC1 MOV R11,R14 SAVE RETURN LINK LI VDPADD,SAL MOV VDPADD,@SHPSAL JMP TSTCOI*COINC2 MOV R11,R14 LI VDPADD,SAL+4 MOV VDPADD,@SHPSAL*џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџў їїџџџџџџџџџџџћ5PARSEC5SFIRST5ьSLAST 5SLOAD F : 99/4 AS 0104ххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџў їїџџџџџџџџџџџћ) CI R1,SAL WAS IT PLAYER 1? JNE TWOLST NO-ONELST SB @H01,@SHIPL1 PLAYER 1 LOST A SHIP BL @RDVCL5 DATA SIT+>25,1,MYWS+2 SEE IF MSG IS ON SCREEN' SRL R1,8 PUT CHAR IS LBџїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџў їїџџџџџџџџџџџћ+ JMP HIT YES, SO EXPLODE ME*)COINCR B *R14 RETURN TO CALLER'***************************************'* ROUTINE TO BLOW UP SHIP THAT WAS *'* DESTROYED. NO RETURN IS NEEDED *'***************************************џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџў їїџџџџџџџџџџџћ%TSTCOI BL @RDCL GET SHIP Y,X! DATA 2,MYWS+2 INTO R1. AI R1,>0404 ADJUST SHIP TO CENTER MOV R1,R2 COPY IT SRL R1,8 Y IN 1 ANDI R2,>00FF X IN 2џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџў їїџџџџџџџџџџџћ'***************************************'* ROUTINE TO TEST COINCIDENCE BETWEEN *'* A SHIP AND AN ASTEROID. IT CALLS *'* 'HITAST', WHICH USES R13 AS A RETURN*'* LINK, SO THIS ROUTINE'S RETURN IS *'* R14. *џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџў їїџџџџџџџџџџџћAŠBBрBƒBBB[BР;BРћBС;BBBРBиBŒBРBиBŒBBн BˆBBќBBF AКB[BР;BРћBС;BBBРBиBŒBРB`B@BиBŒBBи4BŒBBќBB@B`BBF AъB[F їїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџў їїџџџџџџџџџџџћHIT BL @SOUND DATA EXPSND BL @WRTVCL' DATA SVT,2,H0000 STOP FIRST ONE* C *R0+,*R0+ POINT TO NEXT ONE BL @WRTCL& DATA 2,H0000 STOP NEXT ONE*+ MOV @SHPSAL,R1 WHO JUST LOST ONE?џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџў їїџџџџџџџџџџџћ. MOV R1,@SAVEY FOR COINC ON ASTEROID. MOV R2,@SAVEX FOR COINC ON ASTEROID2 BL @HITAST SEE IF WE HIT AN ASTEROID( MOV @COINCF,R4 DID WE GET HIT?& JEQ COINCR NO, SO RETURN*џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџў їїџџџџџџџџџџџћ' CI R1,>0020 IS IT A SPACE?. JNE GOSHOW NO, SO SHIPS COLLIDED*7 BL @WRTMSG YES, SO IT'S O.K. TO PRINT MSG- DATA BURN1M NO, SO TELL WHO LOST" JMP GOSHOW SHOW THEM*џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџў їїџџџџџџџџџџџћ2 DATA SAL+>36,2,MYWS+10 MAKE RED MIDDLE FIRE0 AI R5,>0103 NEXT FIRE PAT AND COLOR BL @WRTCL+ DATA 2,MYWS+10 MAKE IT YELL0W TOO0 AI R5,>0102 NEXT FIRE PAT AND COLOR BL @WRTCL DATA 2,MYWS+10*џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџў їїџџџџџџџџџџџћ8 DATA 1,R6LB AND MAKE SAME COLOR AS SHIP WAS0 AI R5,>FE00 ADJUST FOR FIRE SPRITES, INC VDPADD NEXT SPRITE (FIRES) BL @WRTCL1 DATA 2,MYWS+10 PUT IT PLACE OF OLD SHIP* LI R9,2џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџў їїџџџџџџџџџџџћ& DATA >0090,>13 CHAR AND ADDR*'* THIS IS THE ENTRY POINT FOR TITLE HIT*:TITLEH MOV @SHPSAL,VDPADD POINT TO SHIP THAT'S EXPLODING4 BL @RDCL READ SHIPS POSITION & COLOR* DATA 4,MYWS+10 PUT IT IN R5 & R6џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџў їїџџџџџџџџџџџћ)TWOLST SB @H01,@SHIPL2 ONE GONE FOR TWO BL @RDVCL5 DATA SIT+>25,1,MYWS+2 SEE IF MSG IS ON SCREEN' SRL R1,8 PUT CHAR IS LB' CI R1,>0020 IS IT A SPACE?. JNE GOSHOW NO, SO SHIPS COLLIDED*џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџў їїџџџџџџџџџџџћ BL @RDVCL/ DATA SAL+>30,1,MYWS+14 PUT Y POS IN R7HB) CB R7,@HC0 AT OR BELOW HC0?9 JHE HTOUT IF YES LETS GET OUT OF THIS DAMN JMP COLRP*HTOUT LI R9,2 LI VDPADD,SVT+>30џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџў їїџџџџџџџџџџџћ3 LI VDPADD,SVT+>30 POINT TO Y-SVT OF RUBBLEMOVLP BL @WRTCL DATA 1,H0F* C *R0+,*R0+ POINT TO NEXT ONE DEC R9 JNE MOVLP/COLRP LI R5,>8406 FIRST FIRE PAT & COLOR BL @WRTVCLџїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџў їїџџџџџџџџџџџћ BL @WRTCL& DATA 1,HC0 AND DELETE IT, LI VDPADD,SAL+>30 POINT TO RUBBLE BL @WRTCL+ DATA 2,MYWS+10 PUT OUT THE RUBBLE, AI VDPADD,3 POINT TO COLOR BYTE BL @WRTCLџїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџў їїџџџџџџџџџџџћ& BL @WRTMSG TELL WHO LOST DATA BURN2M*GOSHOW MOVB @SHIPL1,R8- SRL R8,8 R8LB CONTAINS # LEFT BL @SHOWSH& DATA >0088,3 CHAR AND ADDR MOVB @SHIPL2,R8 SRL R8,8 BL @SHOWSHџїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџў їїџџџџџџџџџџџћ MOV @SAVEX,R6 AND X/ LI VDPADD,SAL+8 START OF ASTEROIDS SAL MOV VDPADD,@ASTSAL/ LI VDPADD,SVT+8 START OF ASTEROIDS SVT MOV VDPADD,@ASTSVT*HALOOP MOV @ASTSAL,VDPADD BL @RDCLџїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџў їїџџџџџџџџџџџћ5 B @TITLEC YES, SO BRANCH TO TITLE CONTINGAME B @ATTACK'***************************************'* SUBROUTINE TO TEST A SPRITE VERSUS *'* ALL OF THE ASTEROIDS. THE SPRITE TO *'* BE TESTED IS PASSES DOWN IN @SAVEY *џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџў їїџџџџџџџџџџџћ, DATA BLANKM BLANK OUT PRIOR MSG' B @GAMEND GAME IS OVER!!*+KEEPGO MOVB @STRTSD,R3 IS EXPLOSION DONE? JNE KEEPGO BL @SOUND' DATA GOSND SOUND THE GONG BL @WRTMSGџїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџў їїџџџџџџџџџџџћ STLP BL @WRTCL STOP EM DATA 2,H0000* C *R0+,*R0+ POINT TO NEXT ONE DEC R9 JNE STLP* BL @WAIT30( DATA 2 WAIT ONE SECOND*) MOVB @TITLEF,R3 ARE WE ON TITLE? JNE KEEPGOџїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџў їїџџџџџџџџџџџћ0 DATA 2,MYWS+14 GET ASTEROID Y,X INTO 72 AI R7,>0404 ADJUST ASTEROID TO CENTER*3 BL @COMC78 BRANCH TO COMMON COINC RTN2 MOV R8,R8 DID WE GET A COINCIDENCE?џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџў їїџџџџџџџџџџџћ'* AND @SAVEX. @COINCF IS SET IF COINC *'* IS DETECTED, ELSE IT IS ZERO. RETURN*'* IS IN R13. *'***************************************$HITAST MOV R11,R13 SAVE RETURN MOV @SAVEY,R5 GET Yџїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџў їїџџџџџџџџџџџћ1 DATA BLANKM BLANK OUT ANY PRIOR MSGS+ BL @WRTVCL PUT EM AT C0 DATA SAL+>30,9,EXPINI0 MOVB @TITLEF,R3 DID WE COME FROM TITLE?- JEQ INGAME NO, SO CONTINUE GAMEџїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџў їїџџџџџџџџџџџћ.ONEDON MOVB @SHIPL1,R1 IS PLAYER 1 FINISHED?. JNE TWODON NO, SO CHECK PLAYER 2- JMP HEDONE YES, SO GAME IS OVER.TWODON MOVB @SHIPL2,R1 IS PLAYER 2 FINISHED?* JNE KEEPGO NO, SO KEEP GOINGHEDONE BL @WRTMSGџїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџў їїџџџџџџџџџџџћ: JEQ NOAST GUESS NOT, SO DIDN'T HIT ASTEROID **GOTAST MOV @ASTSVT,VDPADD GET THE ASTEROID$ BL @RDCL AND READ IT DATA 2,MYWS+2 MOV R1,R2 COPY IT( MOVB @R2LB,R3 SEE IF DIR IS -џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ7 JMP NOINC NO, SO CANNOT SPEED IT UP MORE*1INCASV CB @KEYBRD,@H03 ARE WE IN INPUT ROUTINE?4 JEQ NOINC NO, SO WE MUST HAVE CRASHED,* DON'T MOVE ASTEROID- A @LASINC,R1 WRITE A NEW VELOCITYџїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ7TESTAD MOVB @R1LB,@R1LB WHICH WAY IS ASTEROID HEADING?6 JGT TSTNEG L TO R, SEE IF SHOT IS R TO L6 JLT TSTPOS R TO L, SEE IF SHOT IS L TO R*TSTNEG MOV @LASINC,@LASINC IS SHOT R TO L?џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ AI R7,>0404 ADJUST*3 BL @COMC78 BRANCH TO COMMON COINC RTN/ MOV R8,R8 DID WE HIT THE SUCKER?( JEQ NOHITS NOT THIS TIME!!*&GOTHIT MOVB @H01,@GOTSHP GOT MY SHIP!! NOHITS B *R13џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ*ASTFIN CLR @COINCF NO COINC DETECTED)HARTRN B *R13 RETURN TO CALLER'***************************************'* ROUTINE TO DETERMINE IF LASER SHOT *'* WILL HIT OPPONENT'S SHIP. RETURN IS *'* IN R13. *џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ8 ANDI R1,>00FF MAKE SURE A Y VEL DOESN'T THERE BL @WRTCL DATA 2,MYWS+27NOINC MOVB @H01,@COINCF+1 GOT A COINC, SO SET THE FLAG# JMP HARTRN AND RETURN*/NOAST LI R1,4 POINT TO NEXT ASTEROIDџїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ6 JLT INCASV YES, SO ALTER DIR OF ASTEROID7 JMP NOINC NO, SO CANNOT SPEED IT UP MORE*TSTPOS MOV @LASINC,@LASINC IS SHOT L TO R?6 JGT INCASV YES, SO ALTER DIR OF ASTEROIDџїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ! JEQ NOTNEG NOT HERE( JGT NOTNEG OR HERE, EITHER2 MOVB @HFF,R2 HERE, SO MAKE FULL WORD -**NOTNEG ABS R2 AND MAKE POSITIVE CI R2,30 AT 30?2 JL INCASV NO, SO CAN ALTER VELOCITYџїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ'***************************************$HITSHP MOV R11,R13 SAVE RETURN( MOV @SAVEY,R5 GET MY SHIP'S Y! MOV @SAVEX,R6 AND MY X MOV @OPSAL,VDPADD BL @RDCL* DATA 2,MYWS+14 OPPONENT Y,X IN 7џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ A R1,@ASTSAL A R1,@ASTSVT/ MOV @ASTSAL,R1 SEE WHICH ONE WE'RE ON' CI R1,SAL+>30 PAST LAST ONE?/ JH ASTFIN YES, SO WE'RE FINISHED& JMP HALOOP NOT DONE, YET*џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ&**************************************&* SUBROUTINE TO SEE IF THE TWO SHIPS *&* COLLIDED IN MID SPACE. RETURN IS IN*&* R13. *&**************************************$COINC3 MOV R11,R13 SAVE RETURN LI VDPADD,SALџїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ JH MISS NO*+GOTCOI SETO R8 SET THE COINC FLAG# JMP COMCOR AND RETURN*-MISS CLR R8 RESET THE COINC FLAG)COMCOR B *R11 RETURN TO CALLER'***************************************џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ&* R8 IS THE FLAG REGISTER FOR COINC *&**************************************!COMC56 MOV R5,R6 COPY Y,X SRL R5,8 Y IN 5 ANDI R6,>00FF X IN 6*!COMC78 MOV R7,R8 COPY Y,X SRL R7,8 Y IN 7џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ BL @WRTCL. DATA 1,HC0 PUT SHIP 2 OFF SCREEN7 SB @H01,@SHIPL2 DON'T FORGET, BOTH GOT KILLED!4 BL @WRTMSG TELL THEM THEY BOTH CRASHED DATA BURN3M. B @HIT CRASH AND BURN, BABY!*џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ MOV VDPADD,@SHPSAL* BL @RDCL DATA 2,MYWS+10 SHIP 1 C *VDPADD+,*VDPADD+ BL @RDCL DATA 2,MYWS+14 SHIP 2*& AI R5,>0404 ADJUST SHIP 1& AI R7,>0404 ADJUST SHIP 2*џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ'* ROUTINE TO DETERMINE IF EITHER SHIP *'* HIT THE SCENERY. RETURN IS IN R13 *'***************************************$COINC4 MOV R11,R13 SAVE RETURN. LI R5,SAL POINT TO FIRST SPRITEC4LOOP MOV R5,@SHPSAL MOV R5,VDPADDџїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ ANDI R8,>00FF X IN 6* S R5,R7 Y DIFF ABS R7 S R6,R8 X DIFF ABS R8*$ CI R7,6 6 PIXEL TOL JH MISS NO$ CI R8,6 6 PIXEL TOLџїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ)C3RTRN B *R13 RETURN TO CALLER&**************************************&* COMMON SUBROUTINE TO TELL IF TWO *&* SPRITES ARE COINCIDENT. SPRITE 1 YX*&* IS PASSED IN R5. SPRITE 2 Y,X IS *&* PASSED IN R7. RETURN IS IN R11. *џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ- BL @COMC56 TEST FOR COINCIDENCE1 MOV R8,R8 DID THEY HIT EACH OTHER?& JEQ C3RTRN NO, SO RETURN* BL @WRTVCL0 DATA SAL+3,1,H0C MAKE BURNING SHIP GREEN( INC VDPADD POINT TO SHIP 2џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ* DATA SIT+>127,18,GAMEO1 GAME OVER AI VDPADD,>802 BL @WRTCL PRESS REDO OR BACK DATA 18,GAMEO2* CLR @KEYBRD SCAN 0ENDLOO CLR @SCNTIM" BL @SCANKY GET INPUT MOVB @KEY,R3џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ%* ROUTINE TO CLOSE UP THE GAME *%*************************************0GAMEND MOVB @SHIPL1,R3 DOES 1 HAVE SHIPS LEFT?' JNE ONEWON YES, SO HE WON0 MOVB @SHIPL2,R3 DOES 2 HAVE SHIPS LEFT? JNE TWOWONџїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ( DATA 1,R2LB CHAR IS IN R2LB' CI R2,>0020 IS IT A SPACE?- JNE CRASH NO, SO HIT SOMETHING- C *R5+,*R5+ POINT TO NEXT SPRITE% CI R5,SAL+4 PAST SHIP 2?+ JLE C4LOOP NO, SO CHECK AGAINџїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ BL @RDCL* DATA 2,MYWS+2 GET SHIP Y,X IN 10 AI R1,>0404 ADJUST SPRITE TO CENTER MOV R1,R2 SRL R1,8 Y IN 1- INC R1 SCREEN STARTS AT >FF ANDI R2,>00FF X IN 2џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ SRL R3,8* CI R3,>00FF IS A KEY PRESSED? JEQ ENDLOO CI R3,>0006 REDO? JEQ GOREDO CI R3,>0038 8? JEQ GOREDO CI R3,>000F BACK? JEQ GOBACK CI R3,>0039 9?џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ, JMP GECONT NOBODY WON THIS ONE*2ONEWON AB @SHIPL1,@GAMES1 PLAYER 1 IS THE WINNER JMP GOSHGM2TWOWON AB @SHIPL2,@GAMES2 PLAYER 2 IS THE WINNER/GOSHGM BL @SHOWG GO SHOW # OF GAMES WON*GECONT BL @WRTVCLџїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ' JMP C4RTRN YES, SO RETURN*#CRASH BL @WRTMSG PUT UP MSG DATA CRASHM+ B @HIT AND BURN BABY BURN*)C4RTRN B *R13 RETURN TO CALLER%*************************************џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ SRL R1,3 / BY 8& SLA R1,5 X BY 32 = ROW& SRL R2,3 / BY 8 = COL0 A R2,R1 R1 = SIT ADDR OF SPRITE+ MOV R1,VDPADD WHERE TO READ FROM BL @RDCLџїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ JEQ GOBACK CI R3,>0005 +? JEQ GOOUT" JMP ENDLOO WRONG KEY*GOREDO BL @DELSPR B @REDOGOBACK BL @DELSPR B @BACKGOOUT B @FINISHџїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ'* GENERATES A 16 BIT RANDOM NUMBER AND*'* PLACES IT IN R10. RETURN IS IN R11. *'***************************************RANDNO LI R9,28645( MPY @SEED,R9 SEED EQU >83C0 AI R10,31417& MOV R10,@SEED MAKE NEW SEEDџїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ%* STOP ALL SPRITES *%*************************************$DELSPR MOV R11,R15 SAVE RETURN BL @WRTVCL DATA SAL,1,SPROFF LI R5,SAL LI R6,SVTDSLOOP MOV R5,VDPADD BL @WRTCL DATA 1,HC0џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ) B *R15 RETURN TO CALLER!*********************************!* WAIT 1/2 SECOND INTERVALS *!*********************************WAIT30 MOV *R11+,R0)W30L1 LI R3,>FFFF ABOUT 1/2 SECOND(W30L2 DEC R3 DECREMENT COUNTџїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ SOCB @H01,@RAMFLG MOVB @H01,@STRTSD LIMI 2 B *R11 ******************************** * CLEAR THE SCREEN * ********************************CLEAR MOV R11,R15/ CLR R2 WHERE WE'RE WRITING TOџїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ) B *R11 RETURN TO CALLER&**************************************&* PRINT MSG ON SCREEN *&**************************************WRTMSG MOV *R11+,WLOC$ MOV R11,R15 SAVE RETURNџїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ MOV R6,VDPADD BL @WRTCL DATA 2,H0000 C *R5+,*R5+ C *R6+,*R6+ CI R5,SAL+>34 JLE DSLOOP*) B *R15 RETURN TO CALLER'***************************************џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ'***************************************'* RETURNS TO THE COLOR BAR SCREEN *'***************************************+FINISH LWPI GPLWS LOAD GPL WORKSPACE, BLWP @>0000 RETURN TO COLOR BAR%*************************************џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ# LI R1,>2020 SPACE CHAR%CLEARL MOV R2,VDPADD START MOVING BL @WRTCL DATA 2,MYWS+2& INCT R2 NEXT TWO LOCS" CI R2,>0300 PAST SIT?' JL CLEARL NO, KEEP GOINGџїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ, LI VDPADD,SIT+>25 SCREEN ADDR FOR MSG! LI WCOUNT,22 22 CHARS BL @WRITE B *R15 ******************************** * EXECUTE SOUND LIST * ********************************SOUND MOV *R11+,@SNDPNT LIMI 0џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ. JNE W30L2 NOT DONE WITH 1/2 SEC0 DEC R0 DONE WITH ENTIRE COUNT?* JNE W30L1 NO, SO KEEP GOING B *R11!*********************************!* SHOW # OF SHIPS LEFT *!* R8LB HAS # REMAINING *џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ LI R0,10 DIVISOR CLR R1% DIV R0,R1 ANS=1, REM=2 AI R1,>30% AI R2,>30 ASCII OFFSET) SWPB R1 TENS DIGIT IN HB) MOVB @R2LB,@R1LB ONES DIGIT IN LBџїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ MOVB @GAMES1,R2$ LI R5,1 SIT ADDRESS) BL @CONVG CONVERT TO ASCII MOVB @GAMES2,R2$ LI R5,>1D SIT ADDRESS) BL @CONVG CONVERT TO ASCII) B *R12 RETURN TO CALLERџїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ- DATA 1,R5LB DRAW DESIGNATED CHAR* INC VDPADD NEXT SIT POSITION3 INC R6 THIS IS HOW MANY POSITIONS) CI R6,10 DRAWN MAX LIMIT? JL SSLOOP NO SIR!џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ!* PASS DOWN CHAR, AND START ADDR*!* IN DATA STMT. *!* RETURN IS IN R15. *!*********************************-SHOWSH MOV *R11+,R5 CHAR TO BE DISPLAYED# MOV *R11+,VDPADD START ADDR$ MOV R11,R15 SAVE RETURNџїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ' MOV R5,VDPADD WHERE TO WRITE BL @WRTCL DATA 2,MYWS+2 FROM R1 B *R13%*************************************%* VDP WRITE TO REGISTER ROUTINE. THE*%* PARAMETER IS PASSED DOWN AS DATA *џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ%*************************************%* ROUTINE TO CONVERT GAMES TO ASCII *%* RETURN IS IN R13. *%*************************************$CONVG MOV R11,R13 SAVE RETURN. SRL R2,8 # OF GAMES IN LSB NOWџїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ)SSRTRN B *R15 RETURN TO CALLER'***************************************'* ROUTINE TO SHOW # OF GAMES ON THE *'* SCREEN. RETURN IS IN R12. *'***************************************$SHOWG MOV R11,R12 SAVE RETURNџїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ* CLR R6 COUNTER.SSLOOP C R6,R8 DRAWN # WE HAVE LEFT?, JHE SHOWBL YES, SO DRAW SPACES1 JMP SHOWIT NO, SO KEEP SHOWING CHRS#SHOWBL LI R5,>0020 SPACE CHARSHOWIT BL @WRTCLџїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ+ JEQ PAUSL2 NO KEY PRESSED YET, MOVB R2,@MOTION RESTORE AUTO MOTION) MOVB R4,@KEYBRD RESTORE KEY UNIT B *R15'***************************************'* *џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћPAUSES MOV R11,R15) MOVB @MOTION,R2 MOTION EQU >837A/ MOVB @H00,@MOTION CLEAR AUTO MOTION BYTE) MOVB @KEYBRD,R4 KEYBRD EQU >8374+ CLR @KEYBRD SCAN KEYBOARD ZERO*PAUSL1 BL @SCANKY GO GET SOME INPUTџїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ* SWPB WLOC RESTORE PARAMETER* LIMI 2 ENABLE INTERRUPTS- B *R11 AND RETURN TO CALLER'***************************************'* THIS ROUTINE IS THE PAUSE ROUTINE *'* THAT IS INCLUDED IN ALL T.I GAMES. *џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ%* USING THIS FORMAT: (LB, THEN HB) *%* VALUE TO WRITE/8/VDP REG. # *%* I.E. BL @VWTR *%* DATA >1187 *%* THIS INSTANCE CHANGES VDP REG. 7 *%* TO >11 (CHANGES BACKGROUND COLOR) *џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ'* S T A N D A R D K E Y S C A N *'* R O U T I N E *'* *'***************************************+SCANKY LIMI 0 DISABLE INTERRUPTS* LWPI GPLWS USE GPL WORKSPACEџїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ) MOVB @STATUS,R10 STATUS EQU >837C0 JNE PAUSL1 HASN'T RELEASED KEY YET)PAUSL2 CLR @SCNTIM SCNTIM EQU >83D6** TO KEEP SCREEN ON% BL @SCANKY GO GET A KEY( MOVB @STATUS,R10 AND SAVE STATUSџїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ'* THE FIRST LOOP IS A DEBOUNCE LOOP *'* THAT FORCES THE PLAYER TO RELEASE *'* THE PAUSE KEY BEFORE GOING ON TO THE*'* SECOND LOOP, WHICH CHECKS FOR ANY *'* KEY. RETURN LINKAGE IS IN R15. *'***************************************џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ%* RETURN LINKAGE IS R11. *%*************************************VWTR MOV *R11+,WLOC%VWTRGO LIMI 0 DISABLE INTS( MOVB WLOC,@VDPWA VDPWA EQU >8C02- SWPB WLOC NOW SET UP HIGH BYTE MOVB WLOC,@VDPWAџїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ BL @SCAN- LWPI MYWS RESTORE MY WORKSPACE+ LIMI 2 RESTORE INTERRUPTS) B *R11 RETURN TO CALLER!*********************************!* READ VDP ROUTINE DESTRUCTIVE *!*********************************џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ ORI VDPADD,>4000- MOVB VDPADD,@VDPWA SET UP UPPER BYTE NOP/W00010 MOVB *WLOC+,@VDPWD WRITE BYTE INTO VDP- DEC WCOUNT DECREMENT COUNTER. JGT W00010 AND LOOP IF NEEDED LI WCOUNT,>4000џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ NOPR00010 MOVB @VDPRD,*RLOC+/ DEC RCOUNT DECREMENT COUNTER, JGT R00010 LOOP IF NEEDED LIMI 2 B *R11!*********************************!* W R I T E T O V D P *џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћCPURAM EQU >8300 CPURAM.SNDPNT EQU >83CC POINTER TO SOUND LIST#STRTSD EQU >83CE START BYTE$SVVDP1 EQU >83D4 SAVE VDP R1(SCNTIM EQU >83D6 SCREEN TIME OUT/RAMFLG EQU >83FD VDP RAM FLAG FOR SOUNDџїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ(* *(****************************************** DEF OMEGA****************************** ROM HEADER FOR CARTRIDGE ****************************** AORG >6000GRMHDR BYTE >AA,1,1,0,0,0 DATA PROGџїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ3 S WCOUNT,VDPADD RESTORE ORIGINAL VDPADD LIMI 2 B *R11џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ!*********************************WRTVCL MOV *R11+,VDPADDWRTCL MOV *R11+,WCOUNTWRTL MOV *R11+,WLOC.WRITE LIMI 0 DISABLE INTERRUPTS SWPB VDPADD- MOVB VDPADD,@VDPWA SET UP LOWER BYTE SWPB VDPADDџїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћRDVCL MOV *R11+,VDPADDRDCL MOV *R11+,RCOUNTRDL MOV *R11+,RLOC.READ LIMI 0 DISABLE INTERRUPTS SWPB VDPADD- MOVB VDPADD,@VDPWA SET UP LOWER BYTE SWPB VDPADD. MOVB VDPADD,@VDPWA SET UP UPPER BYTEџїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ BYTE 0,0,0,0,0,0,0,0 PROG DATA 0 DATA OMEGA BYTE 14 TEXT 'BEYOND PARSEC ' EVEN'***************************************'* MEMORY MAPPED E Q U A T E S *'***************************************џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ(****************************************(* O M E G A . . . . *(* *(* PROGRAMED BY: MICHAEL ARCHULETA *(* BY: JOHN PHILLIPS *(* DATE STARTED: APRIL 12, 1983 *џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ&VDPRD EQU >8800 VDP READ DATA'VDPWD EQU >8C00 VDP WRITE DATA/VDPWA EQU >8C02 VDP READ/WRITE ADDRESS1SCAN EQU >000E ADDRESS OF KSCAN ROUTINE+SIT EQU >0000 SCREEN IMAGE TABLEџїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ+GAMES2 EQU CPURAM+>41 GAMES WON PLAYER 2#TITLEF EQU CPURAM+>42 TITLE FLAG)KEYBRD EQU CPURAM+>74 KEYBOARD TO SCAN%KEY EQU CPURAM+>75 KEY RETURNED#JOYY EQU CPURAM+>76 JOYSTICK Y#JOYX EQU CPURAM+>77 JOYSTICK Xџїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ1LASMAX EQU CPURAM+>30 MAX LENGTH OF LASER SHOT2COINCF EQU CPURAM+>32 ASTEROID COINCIDENCE FLAG.LASINC EQU CPURAM+>34 LASER INCREMENT VALUE,ASTSAL EQU CPURAM+>36 POINTER TO ASTEROID2ASTSVT EQU CPURAM+>38 POINTER TO ASTEROID'S SVTџїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ3STPFL2 EQU CPURAM+>21 STOP FLAG 0=STOP PLAYER 22SHPSAL EQU CPURAM+>22 2 BYTES WHICH SHIP'S SAL2SHPSVT EQU CPURAM+>24 2 BYTES WHICH SHIP'S SVT(JOYFLG EQU CPURAM+>26 JOY FLAG 1=USED2GOTSHP EQU CPURAM+>27 HIT SHIP WITH LASER 1=HITџїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ.SAL EQU >0300 SPRITE ATTRIBUTE LIST$CT EQU >0380 COLOR TABLE.SVT EQU >0780 SPRITE VELOCITY TABLE.SDL EQU >0400 SPRITE DESCIPTOR LIST1PDT EQU >0800 PATTERN DESCRIPTOR TABLEџїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ#TIMER EQU CPURAM+>79 TIMER BYTE$STATUS EQU CPURAM+>7C STATUS BYTE$MOTION EQU CPURAM+>7A MOTION BYTE-INTWS EQU CPURAM+>C0 INTERRRUPT WORKSPACE&SEED EQU CPURAM+>C0 RANDOM # SEED/DISINT EQU CPURAM+>C2 INTERRUPT DISABLE BYTEџїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ0OPSAL EQU CPURAM+>3A POINTER TO OPPONENT SAL0OPSVT EQU CPURAM+>3C POINTER TO OPPONENT SVT%SHIPL1 EQU CPURAM+>3E SHIPS LEFT 1%SHIPL2 EQU CPURAM+>3F SHIPS LEFT 2+GAMES1 EQU CPURAM+>40 GAMES WON PLAYER 1џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ;SAVEY EQU CPURAM+>28 Y POS OF SPRITE FOR ASTEROID COINC;SAVEX EQU CPURAM+>2A X POS OF SPRITE FOR ASTEROID COINC3SAVSIT EQU CPURAM+>2C SAVED SIT POSITION OF SHIP-SHPSIT EQU CPURAM+>2E SIT POSITION OF SHIPџїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ'***************************************'* C P U R A M E Q U A T E S *'***************************************%MYWS EQU >8300 MY WORKSPACE3STPFL1 EQU CPURAM+>20 STOP FLAG 0=STOP PLAYER 1џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ BYTE 3,>80,>1C,>92,1 BYTE 3,>80,>20,>94,1 BYTE 3,>80,>28,>96,1 BYTE 3,>80,>30,>98,1 BYTE 3,>80,>38,>9A,1 BYTE 3,>80,>3E,>9C,1 BYTE 1,>9F,0+SNDEXP BYTE 7,>9F,>BF,>DF,>E7,>F0,>C0,>07,5 BYTE 1,>F1,6џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ'***************************************(SNDBUF EQU >1000 START OF SOUNDS#FIRSND EQU SNDBUF FIRE SOUNDEXPSND EQU FIRSND+64 EXPSNDGOSND EQU EXPSND+54 GONG'***************************************џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћR2LB EQU MYWS+5 R2R3LB EQU MYWS+7 R3R4LB EQU MYWS+9 R4R5LB EQU MYWS+11 R5R6LB EQU MYWS+13 R6R7LB EQU MYWS+15 R7R8LB EQU MYWS+17 R8R9LB EQU MYWS+19 R9R10LB EQU MYWS+21 R10џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ&GPLWS EQU CPURAM+>E0 GPL WORKSPACE'***************************************'* R E G I S T E R E Q U A T E S *'***************************************VDPADD EQU 0 R0!RCOUNT EQU 3 R3 F V!WCOUNT EQU 3 R3 O Dџїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ BYTE 1,>F2,7 BYTE 1,>F3,8 BYTE 1,>F4,9 BYTE 1,>F5,10 BYTE 1,>F6,11 BYTE 1,>F7,12 BYTE 1,>F8,13 BYTE 1,>F9,14 BYTE 1,>FA,15 BYTE 1,>FB,16 BYTE 1,>FC,17 BYTE 1,>FD,18џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ'* S O U N D L I S T S *'***************************************SNDFIR BYTE 4,>9A,>BF,>DF,>FF,1 BYTE 3,>80,>0A,>98,1 BYTE 3,>80,>0C,>96,1 BYTE 3,>80,>10,>94,1 BYTE 3,>80,>14,>92,1 BYTE 3,>80,>18,>90,1џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћR11LB EQU MYWS+23 R11R12LB EQU MYWS+25 R12R13LB EQU MYWS+27 R13R14LB EQU MYWS+29 R14R15LB EQU MYWS+31 R15'***************************************'* OTHER EQUATES *џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ!RLOC EQU 4 R4 R PWLOC EQU 4 R4'***************************************'* WORKSPACE E Q U A T E S *'***************************************R0LB EQU MYWS+1 R0R1LB EQU MYWS+3 R1џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ BYTE 1,>FE,30 BYTE 1,>FF,0SNDGO BYTE 4,>9A,>BF,>DF,>FF,1 BYTE 3,>8D,>17,>94,5 BYTE 1,>9F,0'***************************************'* DATA STATEMENTS NEEDED *'*************************************** EVENџїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ DATA >6040,>820D DATA >7058,>8202 DATA >7860,>8208 DATA >80D8,>820C EXPINI DATA >C001,>830F RUBBLE DATA >C001,>8406 FIRESPROFF DATA >D000H0000 DATA >0000***&* TITLE SCREEN FORMAT . . . 17 BYTES @***џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ#LASER7 DATA >0000,>0000,>0000,>FF00#LASER8 DATA >0000,>0000,>0000,>00FF2COLORS DATA >90A0,>60E0,>F0F0,>F0F0 COLOR AS BLACK# DATA >F0F0,>F0F0,>A050,>D0C0# DATA >A060,>40A0,>A0A0,>A0A0# DATA >A0A0,>A0A0,>A0A0,>A0A0џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ%*************************************$PRESSM TEXT 'PRESS ANY KEY TO BEGIN'%COPYM TEXT '@1988 JOHN PHILLIPS' 20(XYZMSG TEXT 'DISTRIBUTED BY DATABIOTICS'(EGO1 TEXT 'DESIGNED BY: JOHN PHILLIPS' EGO2 TEXT 'PROGRAMMED BY: 'џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ&************************************** HEXTBL EQU $H00 BYTE >00H01 BYTE >01H02 BYTE >02H03 BYTE >03H04 BYTE >04H05 BYTE >05H06 BYTE >06H07 BYTE >07H08 BYTE >08H09 BYTE >09H0A BYTE >0AH0B BYTE >0Bџїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ)TITLE1 DATA >D0D1,>20D4,>D520,>D8D9,>20DC# DATA >DD20,>E0E1,>20E4,>E500)TITLE2 DATA >D2D3,>20D6,>D720,>DADB,>20DE# DATA >DF20,>E2E3,>20E6,>E700)TITLE3 DATA >E8E9,>20EC,>ED20,>F0F1,>20F4# DATA >F520,>D4D5,>20F8,>F900џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ-SPINI1 DATA >8818,>8006 SPRITES INITIAL LOCSSPINI2 DATA >88E0,>8104,ASTINI DATA >1088,>8202 ASTEROIDS INIT LOCS DATA >2018,>8206 DATA >3038,>820A DATA >38C8,>820E DATA >48B0,>8205 DATA >5820,>8209џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ LASERS EQU $#LASER1 DATA >FF00,>0000,>0000,>0000#LASER2 DATA >00FF,>0000,>0000,>0000#LASER3 DATA >0000,>FF00,>0000,>0000#LASER4 DATA >0000,>00FF,>0000,>0000#LASER5 DATA >0000,>0000,>FF00,>0000#LASER6 DATA >0000,>0000,>00FF,>0000џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћH0C BYTE >0CH0D BYTE >0DH0E BYTE >0EH0F BYTE >0FH39 BYTE >39HC0 BYTE >C0HFF BYTE >FF#ROWTBL BYTE >18,>28,>40,>50,>68,>88%*************************************%* TEXT STATEMENTS NEEDED *џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ)TITLE4 DATA >EAEB,>20EE,>EF20,>F2F3,>20F6# DATA >F720,>D6D7,>20FA,>FB00*FCPYRIT DATA >3C42,>99A1,>A199,>423C COPYRIGHT MESSAGE TO MAKE IT LEGAL*&**************************************&* B Y T E STATEMENTS NEEDED *џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ EGO3 TEXT ' JOHN M. PHILLIPS')GAMEO1 TEXT 'G A M E O V E R' 18 CHARS)GAMEO2 TEXT 'PRESS REDO OR BACK' 18 CHARS$BURN1M TEXT '* PLAYER 1 DESTROYED *'$BURN2M TEXT '* PLAYER 2 DESTROYED *'-BURN3M TEXT '* SHIPS COLLIDED *' 22 CHARSџїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ0 DATA >D0D0,>D0D0,>DFC0,>FFFF CHAR >E6 152 DATA >3434,>3434,>3470,>E0C0 CHAR >E7 16 **0P DATA >1F00,>FFFF,>C0D0,>DFC0 CHAR >E8 50 DATA >E010,>D0E4,>7434,>3470 CHAR >E9 60 DATA >FFFF,>C0D0,>D0D0,>D0C0 CHAR >EA 19џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ0O DATA >1F00,>3F7F,>E0C0,>D0D0 CHAR >DC 90 DATA >E010,>C8E4,>7434,>3434 CHAR >DD 140 DATA >D0D0,>D0D0,>CFE0,>7F3F CHAR >DE 110 DATA >3434,>3434,>3470,>E0C0 CHAR >DF 16*0N DATA >7010,>D0C8,>E4F2,>F9DC CHAR >E0 40џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ0 DATA >FFFF,>C0D0,>DFC0,>FFFF CHAR >D2 70 DATA >E0E4,>7434,>3474,>E0C0 CHAR >D3 80E DATA >1F00,>FFFF,>C0D0,>DFC0 CHAR >D4 50 DATA >FC04,>F4F0,>F000,>F010 CHAR >D5 170 DATA >FFFF,>C0D0,>DFC0,>FFFF CHAR >D6 7џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ$CRASHM TEXT '* CRASH WITH GROUND *'$BLANKM TEXT ' ')ALPHAM TEXT 'RELEASE ALPHA LOCK' 18 CHARS+*******************************************+* TITLE SCREEN CHARACTER *+* DEFINITIONS. 352 BYTES WORTH *џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ0 DATA >E0C0,>0000,>0000,>0000 CHAR >EB 430A DATA >0300,>060F,>1F38,>70E6 CHAR >EC 10 DATA >0080,>4020,>90C8,>E474 CHAR >ED 20 DATA >C0FF,>FFC0,>D0D0,>D0C0 CHAR >EE 30 DATA >34F4,>F434,>3434,>3430 CHAR >EF 4*џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ0 DATA >1C04,>3434,>3434,>3434 CHAR >E1 230 DATA >CEC7,>D3D1,>D0D0,>D0C0 CHAR >E2 410 DATA >3434,>D4F4,>F474,>3430 CHAR >E3 420D DATA >7F00,>FFFF,>C0D0,>D0D0 CHAR >E4 132 DATA >E010,>C8E4,>7434,>3434 CHAR >E5 14 *џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ0 DATA >D0C0,>0000,>FC04,>F4F0 CHAR >D7 18*0Y DATA >7010,>D0C8,>E670,>391F CHAR >D8 570 DATA >1C04,>3434,>70E0,>C080 CHAR >D9 580 DATA >0F06,>0606,>0606,>0606 CHAR >DA 610 DATA >0000,>8080,>8080,>8000 CHAR >DB 62џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ+* LOAD IN AT >E80 *+******************************************* EVEN TITCHR EQU $0B DATA >1F00,>FFFF,>C0D0,>DFC0 CHAR >D0 50 DATA >E010,>D0E4,>7434,>3470 CHAR >D1 6џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ, DATA >231F,>1E26,>4649,>F0E0 CHAR 18, DATA >8000,>0000,>0080,>700F CHAR 19, DATA >E0F0,>F8FC,>FFFF,>FFFF CHAR 10** CHARACTER SET 3*,RRADR DATA >0000,>000F,>0C1E,>1713 CHAR 24џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ+ DATA >F0F0,>E0E0,>E0E0,>F8FC CHAR 9, DATA >FEFE,>FFFF,>FFFF,>FEFE CHAR 10, DATA >FFFF,>FFFF,>FFFF,>FFFF CHAR 11, DATA >8080,>E0E0,>E0E0,>F0F0 CHAR 12, DATA >F0F0,>F0F8,>F8FC,>FEFE CHAR 13џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ0 DATA >D0D0,>D0D0,>CFE0,>7F3F CHAR >FA 110 DATA >0000,>1C04,>3470,>E0C0 CHAR >FB 12+*******************************************+* MAIN PLAYING AREA *+* CHARACTER DEFINITIONS *џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ2R DATA >1F00,>FFFF,>C0D0,>DFC0 CHAR >F0 5 *0 DATA >E010,>C8E4,>7434,>34E0 CHAR >F1 130 DATA >FFFF,>C7D3,>D1D0,>D0C0 CHAR >F2 320 DATA >E0C0,>0090,>C8E4,>7430 CHAR >F3 450S DATA >1F00,>3F7F,>E0C8,>CFE0 CHAR >F4 46џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ, DATA >0101,>0101,>0202,>0284 CHAR 25, DATA >1100,>0000,>0001,>03F0 CHAR 26, DATA >C4F8,>787C,>7E9E,>0F07 CHAR 27, DATA >070F,>1F3F,>3FFF,>FFFF CHAR 28** CHARACTER SET 4*џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ, DATA >0000,>0000,>E0F8,>F8FC CHAR 14, DATA >FEFE,>FEFE,>FFFF,>FFFF CHAR 15** CHARACTER SET 2*,LRADR DATA >8080,>8080,>4040,>4021 CHAR 16, DATA >0000,>00F0,>3878,>E8C8 CHAR 17џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ+* *+********************************************* CHARCTER SET 0**SPACE DATA >FF00,>0000,>0000,>0000 CHAR 0 ** CHARACTER SET 1*+LWALL DATA >80C0,>C0C0,>E0E0,>E0F0 CHAR 8џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ0 DATA >E010,>C8E4,>7430,>8010 CHAR >F5 470 DATA >7F3F,>0010,>CFE0,>7F3F CHAR >F6 480 DATA >E8F4,>7434,>3470,>F0E0 CHAR >F7 49*0C DATA >0F00,>3F7F,>E0C0,>D0D0 CHAR >F8 90 DATA >E010,>C8E4,>7430,>0000 CHAR >F9 10џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ?BLLCR DATA >0000,>0000,>0000,>0000 CHAR 32 FILLER CHAR FOR? DATA >183C,>7EFF,>FF7E,>3C18 CHAR 33 PLAYING FIELD, DATA >1818,>1818,>180C,>0603 CHAR 34, DATA >1818,>1818,>1830,>60C0 CHAR 35џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ, DATA >1818,>1818,>1818,>1818 CHAR 92** CHARACTER SET 12*,GUNS DATA >3C3C,>3C7E,>FFFF,>FFFF CHAR 96, DATA >FFFF,>FFFF,>FFFF,>FFFF CHAR 97, DATA >030F,>0F1F,>1F3F,>3F3F CHAR 98џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ, DATA >0000,>0000,>00C0,>3088 CHAR 41, DATA >1226,>3F6E,>FBFF,>6E3F CHAR 42, DATA >88A4,>FCEE,>BBFF,>EEFC CHAR 43, DATA >0303,>0303,>0303,>0303 CHAR 44, DATA >C0C0,>C0C0,>C0C0,>C0C0 CHAR 45*џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћA DATA >0000,>0000,>0707,>0000 CHAR 123 GUN ON LEFT CRATER- DATA >0000,>030F,>0F0F,>3F3F CHAR 124- DATA >3F3F,>3F7F,>7F7F,>FFFF CHAR 125- DATA >0101,>0107,>0F0F,>0F3F CHAR 126- DATA >3F3F,>3F3F,>7FFF,>FFFF CHAR 127џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ-URADR DATA >8183,>4341,>4121,>2111 CHAR 112- DATA >81C1,>C282,>8284,>8488 CHAR 113- DATA >0F01,>0101,>0307,>0F1F CHAR 114- DATA >F080,>8080,>C0E0,>F0F1 CHAR 115- DATA >3F3F,>3C7C,>78F8,>F8F8 CHAR 116џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ, DATA >C0F0,>F0F8,>F8FC,>FCFC CHAR 99** GUN ON RIGHT CRATER EDGE.RCGUN DATA >0000,>00E0,>E000,>0000 CHAR 100 ** CHARACTER SET 13*-HEMI DATA >030F,>1F3F,>3F7F,>7F3F CHAR 104- DATA >C0F0,>F8FC,>FCFE,>FEFC CHAR 105џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ* CHARCTER SET 11*,RCITY DATA >003F,>1008,>0402,>030C CHAR 88, DATA >00F4,>0810,>2040,>C030 CHAR 89, DATA >1020,>20FF,>4F49,>791F CHAR 90, DATA >0804,>04FF,>F292,>9EF4 CHAR 91џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ, DATA >8142,>2418,>1884,>2241 CHAR 36, DATA >183C,>3C3C,>3CFF,>FFFF CHAR 37, DATA >8142,>2418,>1824,>4281 CHAR 38** CHARACTER SET 5*,LCITY DATA >0000,>0000,>0003,>0C10 CHAR 40џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ- DATA >FCFC,>3C3E,>1E1F,>1F1F CHAR 117** CHARCTER SET 15*-RWALL DATA >0103,>0303,>0707,>071F CHAR 120- DATA >1F1F,>1F1F,>3F3F,>3F7F CHAR 121- DATA >7F7F,>7FFF,>FFFF,>FFFF CHAR 122џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ- DATA >3F1F,>0F03,>0303,>0303 CHAR 106- DATA >FCF8,>F0E0,>C0C0,>C0C0 CHAR 107- DATA >0303,>0303,>0303,>0303 CHAR 108- DATA >C0C0,>C0C0,>C0C0,>C0C0 CHAR 109** CHARCTER SET 14*џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ+*******************************************+* SPRITE DEFINITIONS *+* *+******************************************* SHIPS EQU $#SHIPR DATA >00C0,>FCFF,>7060,>4000џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ(****************************************(* O M E G A . . . . *(* *(* PROGRAMED BY: MICHAEL ARCHULETA *(* BY: JOHN PHILLIPS *(* DATE STARTED: APRIL 12, 1983 *џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ%* CHARS FOR REST OF PLAYING FIELD* EVEN%ASSRT BYTE 8,128,9,129,10,108,131,130) BYTE 11,11,11,12,33,33,38,38,132,11 EVEN2DISP BYTE 0,31,1,31,1,1,29,1,1,31,1,1,9,2,7,2,9,1*"* DATA FOR LOADING CHARACTERS* EVENџїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ*SCRDAT BYTE 11,13,32,16,17,40,41,32,104,32( BYTE 34,32,35,112,113,120,121,112+ BYTE 113,34,32,35,32,104,32,96,97,24 BYTE 25,32,133,11 BYTE 11,11,14,18,19, BYTE 42,43,32,105,32,32,36,32,114,115џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ#SHIPL DATA >0003,>3FFF,>0E06,>0200#ASTERO DATA >1824,>4249,>A282,>4936#RUBBLE DATA >0000,>0000,>C063,>3F1F,FIRE1 DATA >1050,>5252,>7AFA,>FE7C DK RED,FIRE2 DATA >8084,>84A4,>A5E5,>FF7E LT RED,FIRE3 DATA >4044,>C4D4,>D5FF,>7F7E YELLOWџїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ(* *(*****************************************$ DEF PARSEC,SFIRST,SLAST,SLOADPARSEC B @OMEGASFIRST EQU PARSECSLOAD EQU SFIRST****************************** ROM HEADER FOR CARTRIDGE *џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ)CHRDAT BYTE 32,20,20,28,24,20,20,24,24,32џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ+ BYTE 122,123,114,115,32,36,32,32,105$ BYTE 32,98,99,26,27,134,11,11 BYTE 11, BYTE 11,15,20,32,44,45,106,105,107,32: BYTE 37,32,116,117,124,125,116,117,32,37,32,106,105' BYTE 107,100,100,32,28,135,11,11*џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ%*************************************%* *%* SCREEN FORMAT DATA *%* ONLY FOR BOTTOM 3 LINES OF PLAYING*%* FIELD *%************************************** EVENџїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ2GOTSHP EQU CPURAM+>27 HIT SHIP WITH LASER 1=HIT;SAVEY EQU CPURAM+>28 Y POS OF SPRITE FOR ASTEROID COINC;SAVEX EQU CPURAM+>2A X POS OF SPRITE FOR ASTEROID COINC3SAVSIT EQU CPURAM+>2C SAVED SIT POSITION OF SHIPџїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ.SDL EQU >0400 SPRITE DESCIPTOR LIST1PDT EQU >0800 PATTERN DESCRIPTOR TABLE'***************************************'* C P U R A M E Q U A T E S *'***************************************%MYWS EQU >8300 MY WORKSPACEџїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ$SVVDP1 EQU >83D4 SAVE VDP R1(SCNTIM EQU >83D6 SCREEN TIME OUT/RAMFLG EQU >83FD VDP RAM FLAG FOR SOUND&VDPRD EQU >8800 VDP READ DATA'VDPWD EQU >8C00 VDP WRITE DATA/VDPWA EQU >8C02 VDP READ/WRITE ADDRESSџїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ****************************** AORG >6000*GRMHDR BYTE >AA,1,1,0,0,0* DATA PROG* BYTE 0,0,0,0,0,0,0,0*PROG DATA 0* DATA OMEGA* BYTE 14* TEXT 'BEYOND PARSEC ' * EVENџїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ-SHPSIT EQU CPURAM+>2E SIT POSITION OF SHIP1LASMAX EQU CPURAM+>30 MAX LENGTH OF LASER SHOT2COINCF EQU CPURAM+>32 ASTEROID COINCIDENCE FLAG.LASINC EQU CPURAM+>34 LASER INCREMENT VALUE,ASTSAL EQU CPURAM+>36 POINTER TO ASTEROIDџїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ3STPFL1 EQU CPURAM+>20 STOP FLAG 0=STOP PLAYER 13STPFL2 EQU CPURAM+>21 STOP FLAG 0=STOP PLAYER 22SHPSAL EQU CPURAM+>22 2 BYTES WHICH SHIP'S SAL2SHPSVT EQU CPURAM+>24 2 BYTES WHICH SHIP'S SVT(JOYFLG EQU CPURAM+>26 JOY FLAG 1=USEDџїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ1SCAN EQU >000E ADDRESS OF KSCAN ROUTINE+SIT EQU >0000 SCREEN IMAGE TABLE.SAL EQU >0300 SPRITE ATTRIBUTE LIST$CT EQU >0380 COLOR TABLE.SVT EQU >0780 SPRITE VELOCITY TABLEџїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ'***************************************'* MEMORY MAPPED E Q U A T E S *'***************************************CPURAM EQU >8300 CPURAM.SNDPNT EQU >83CC POINTER TO SOUND LIST#STRTSD EQU >83CE START BYTEџїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ2ASTSVT EQU CPURAM+>38 POINTER TO ASTEROID'S SVT0OPSAL EQU CPURAM+>3A POINTER TO OPPONENT SAL0OPSVT EQU CPURAM+>3C POINTER TO OPPONENT SVT%SHIPL1 EQU CPURAM+>3E SHIPS LEFT 1%SHIPL2 EQU CPURAM+>3F SHIPS LEFT 2џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ!RCOUNT EQU 3 R3 F V!WCOUNT EQU 3 R3 O D!RLOC EQU 4 R4 R PWLOC EQU 4 R4'***************************************'* WORKSPACE E Q U A T E S *'***************************************џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ#JOYX EQU CPURAM+>77 JOYSTICK X#TIMER EQU CPURAM+>79 TIMER BYTE$STATUS EQU CPURAM+>7C STATUS BYTE$MOTION EQU CPURAM+>7A MOTION BYTE-INTWS EQU CPURAM+>C0 INTERRRUPT WORKSPACE&SEED EQU CPURAM+>C0 RANDOM # SEEDџїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ BYTE 3,>80,>14,>92,1 BYTE 3,>80,>18,>90,1 BYTE 3,>80,>1C,>92,1 BYTE 3,>80,>20,>94,1 BYTE 3,>80,>28,>96,1 BYTE 3,>80,>30,>98,1 BYTE 3,>80,>38,>9A,1 BYTE 3,>80,>3E,>9C,1 BYTE 1,>9F,0џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ'* OTHER EQUATES *'***************************************(SNDBUF EQU >1000 START OF SOUNDS#FIRSND EQU SNDBUF FIRE SOUNDEXPSND EQU FIRSND+64 EXPSNDGOSND EQU EXPSND+54 GONGџїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћR0LB EQU MYWS+1 R0R1LB EQU MYWS+3 R1R2LB EQU MYWS+5 R2R3LB EQU MYWS+7 R3R4LB EQU MYWS+9 R4R5LB EQU MYWS+11 R5R6LB EQU MYWS+13 R6R7LB EQU MYWS+15 R7R8LB EQU MYWS+17 R8џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ/DISINT EQU CPURAM+>C2 INTERRUPT DISABLE BYTE&GPLWS EQU CPURAM+>E0 GPL WORKSPACE'***************************************'* R E G I S T E R E Q U A T E S *'***************************************VDPADD EQU 0 R0џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ+GAMES1 EQU CPURAM+>40 GAMES WON PLAYER 1+GAMES2 EQU CPURAM+>41 GAMES WON PLAYER 2#TITLEF EQU CPURAM+>42 TITLE FLAG)KEYBRD EQU CPURAM+>74 KEYBOARD TO SCAN%KEY EQU CPURAM+>75 KEY RETURNED#JOYY EQU CPURAM+>76 JOYSTICK Yџїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ'***************************************'* S O U N D L I S T S *'***************************************SNDFIR BYTE 4,>9A,>BF,>DF,>FF,1 BYTE 3,>80,>0A,>98,1 BYTE 3,>80,>0C,>96,1 BYTE 3,>80,>10,>94,1џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћR9LB EQU MYWS+19 R9R10LB EQU MYWS+21 R10R11LB EQU MYWS+23 R11R12LB EQU MYWS+25 R12R13LB EQU MYWS+27 R13R14LB EQU MYWS+29 R14R15LB EQU MYWS+31 R15'***************************************џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ+SNDEXP BYTE 7,>9F,>BF,>DF,>E7,>F0,>C0,>07,5 BYTE 1,>F1,6 BYTE 1,>F2,7 BYTE 1,>F3,8 BYTE 1,>F4,9 BYTE 1,>F5,10 BYTE 1,>F6,11 BYTE 1,>F7,12 BYTE 1,>F8,13 BYTE 1,>F9,14 BYTE 1,>FA,15џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ)TITLE3 DATA >E8E9,>20EC,>ED20,>F0F1,>20F4# DATA >F520,>D4D5,>20F8,>F900)TITLE4 DATA >EAEB,>20EE,>EF20,>F2F3,>20F6# DATA >F720,>D6D7,>20FA,>FB00*FCPYRIT DATA >3C42,>99A1,>A199,>423C COPYRIGHT MESSAGE TO MAKE IT LEGAL*џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ DATA >38C8,>820E DATA >48B0,>8205 DATA >5820,>8209 DATA >6040,>820D DATA >7058,>8202 DATA >7860,>8208 DATA >80D8,>820C EXPINI DATA >C001,>830F RUBBLE DATA >C001,>8406 FIRESPROFF DATA >D000џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ#LASER5 DATA >0000,>0000,>FF00,>0000#LASER6 DATA >0000,>0000,>00FF,>0000#LASER7 DATA >0000,>0000,>0000,>FF00#LASER8 DATA >0000,>0000,>0000,>00FF2COLORS DATA >90A0,>60E0,>F0F0,>F0F0 COLOR AS BLACK# DATA >F0F0,>F0F0,>A050,>D0C0џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ BYTE 1,>FB,16 BYTE 1,>FC,17 BYTE 1,>FD,18 BYTE 1,>FE,30 BYTE 1,>FF,0SNDGO BYTE 4,>9A,>BF,>DF,>FF,1 BYTE 3,>8D,>17,>94,5 BYTE 1,>9F,0'***************************************џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ&**************************************&* B Y T E STATEMENTS NEEDED *&************************************** HEXTBL EQU $H00 BYTE >00H01 BYTE >01H02 BYTE >02H03 BYTE >03H04 BYTE >04H05 BYTE >05H06 BYTE >06џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћH0000 DATA >0000***&* TITLE SCREEN FORMAT . . . 17 BYTES @***)TITLE1 DATA >D0D1,>20D4,>D520,>D8D9,>20DC# DATA >DD20,>E0E1,>20E4,>E500)TITLE2 DATA >D2D3,>20D6,>D720,>DADB,>20DE# DATA >DF20,>E2E3,>20E6,>E700џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ# DATA >A060,>40A0,>A0A0,>A0A0# DATA >A0A0,>A0A0,>A0A0,>A0A0-SPINI1 DATA >8818,>8006 SPRITES INITIAL LOCSSPINI2 DATA >88E0,>8104,ASTINI DATA >1088,>8202 ASTEROIDS INIT LOCS DATA >2018,>8206 DATA >3038,>820Aџїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ'* DATA STATEMENTS NEEDED *'*************************************** EVEN LASERS EQU $#LASER1 DATA >FF00,>0000,>0000,>0000#LASER2 DATA >00FF,>0000,>0000,>0000#LASER3 DATA >0000,>FF00,>0000,>0000#LASER4 DATA >0000,>00FF,>0000,>0000џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ0 DATA >FFFF,>C0D0,>DFC0,>FFFF CHAR >D6 70 DATA >D0C0,>0000,>FC04,>F4F0 CHAR >D7 18*0Y DATA >7010,>D0C8,>E670,>391F CHAR >D8 570 DATA >1C04,>3434,>70E0,>C080 CHAR >D9 580 DATA >0F06,>0606,>0606,>0606 CHAR >DA 61џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ+* TITLE SCREEN CHARACTER *+* DEFINITIONS. 352 BYTES WORTH *+* LOAD IN AT >E80 *+******************************************* EVEN TITCHR EQU $0B DATA >1F00,>FFFF,>C0D0,>DFC0 CHAR >D0 5џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ(EGO1 TEXT 'DESIGNED BY: JOHN PHILLIPS' EGO2 TEXT 'PROGRAMMED BY: ' EGO3 TEXT ' JOHN M. PHILLIPS')GAMEO1 TEXT 'G A M E O V E R' 18 CHARS)GAMEO2 TEXT 'PRESS REDO OR BACK' 18 CHARS$BURN1M TEXT '* PLAYER 1 DESTROYED *'џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћH07 BYTE >07H08 BYTE >08H09 BYTE >09H0A BYTE >0AH0B BYTE >0BH0C BYTE >0CH0D BYTE >0DH0E BYTE >0EH0F BYTE >0FH39 BYTE >39HC0 BYTE >C0HFF BYTE >FF#ROWTBL BYTE >18,>28,>40,>50,>68,>88џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ0 DATA >0000,>8080,>8080,>8000 CHAR >DB 620O DATA >1F00,>3F7F,>E0C0,>D0D0 CHAR >DC 90 DATA >E010,>C8E4,>7434,>3434 CHAR >DD 140 DATA >D0D0,>D0D0,>CFE0,>7F3F CHAR >DE 110 DATA >3434,>3434,>3470,>E0C0 CHAR >DF 16*џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ0 DATA >E010,>D0E4,>7434,>3470 CHAR >D1 60 DATA >FFFF,>C0D0,>DFC0,>FFFF CHAR >D2 70 DATA >E0E4,>7434,>3474,>E0C0 CHAR >D3 80E DATA >1F00,>FFFF,>C0D0,>DFC0 CHAR >D4 50 DATA >FC04,>F4F0,>F000,>F010 CHAR >D5 17џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ$BURN2M TEXT '* PLAYER 2 DESTROYED *'-BURN3M TEXT '* SHIPS COLLIDED *' 22 CHARS$CRASHM TEXT '* CRASH WITH GROUND *'$BLANKM TEXT ' ')ALPHAM TEXT 'RELEASE ALPHA LOCK' 18 CHARS+*******************************************џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ%*************************************%* TEXT STATEMENTS NEEDED *%*************************************$PRESSM TEXT 'PRESS ANY KEY TO BEGIN'%COPYM TEXT '@1988 JOHN PHILLIPS' 20(XYZMSG TEXT 'DISTRIBUTED BY DATABIOTICS'џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћ0N DATA >7010,>D0C8,>E4F2,>F9DC CHAR >E0 400 DATA >1C04,>3434,>3434,>3434 CHAR >E1 230 DATA >CEC7,>D3D1,>D0D0,>D0C0 CHAR >E2 410 DATA >3434,>D4F4,>F474,>3430 CHAR >E3 420D DATA >7F00,>FFFF,>C0D0,>D0D0 CHAR >E4 13џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџў їїџџџџџџџџџџџћ0S DATA >1F00,>3F7F,>E0C8,>CFE0 CHAR >F4 460 DATA >E010,>C8E4,>7430,>8010 CHAR >F5 470 DATA >7F3F,>0010,>CFE0,>7F3F CHAR >F6 480 DATA >E8F4,>7434,>3470,>F0E0 CHAR >F7 49*0C DATA >0F00,>3F7F,>E0C0,>D0D0 CHAR >F8 9џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџў їїџџџџџџџџџџџћ0 DATA >FFFF,>C0D0,>D0D0,>D0C0 CHAR >EA 190 DATA >E0C0,>0000,>0000,>0000 CHAR >EB 430A DATA >0300,>060F,>1F38,>70E6 CHAR >EC 10 DATA >0080,>4020,>90C8,>E474 CHAR >ED 20 DATA >C0FF,>FFC0,>D0D0,>D0C0 CHAR >EE 3џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџў їїџџџџџџџџџџџћ, DATA >0000,>00F0,>3878,>E8C8 CHAR 17, DATA >231F,>1E26,>4649,>F0E0 CHAR 18, DATA >8000,>0000,>0080,>700F CHAR 19, DATA >E0F0,>F8FC,>FFFF,>FFFF CHAR 10** CHARACTER SET 3*џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџў їїџџџџџџџџџџџћ+LWALL DATA >80C0,>C0C0,>E0E0,>E0F0 CHAR 8+ DATA >F0F0,>E0E0,>E0E0,>F8FC CHAR 9, DATA >FEFE,>FFFF,>FFFF,>FEFE CHAR 10, DATA >FFFF,>FFFF,>FFFF,>FFFF CHAR 11, DATA >8080,>E0E0,>E0E0,>F0F0 CHAR 12џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџў їїџџџџџџџџџџџћ0 DATA >E010,>C8E4,>7430,>0000 CHAR >F9 100 DATA >D0D0,>D0D0,>CFE0,>7F3F CHAR >FA 110 DATA >0000,>1C04,>3470,>E0C0 CHAR >FB 12+*******************************************+* MAIN PLAYING AREA *џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџў їїџџџџџџџџџџџћ0 DATA >34F4,>F434,>3434,>3430 CHAR >EF 4*2R DATA >1F00,>FFFF,>C0D0,>DFC0 CHAR >F0 5 *0 DATA >E010,>C8E4,>7434,>34E0 CHAR >F1 130 DATA >FFFF,>C7D3,>D1D0,>D0C0 CHAR >F2 320 DATA >E0C0,>0090,>C8E4,>7430 CHAR >F3 45џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџў їїџџџџџџџџџџџћ2 DATA >E010,>C8E4,>7434,>3434 CHAR >E5 14 *0 DATA >D0D0,>D0D0,>DFC0,>FFFF CHAR >E6 152 DATA >3434,>3434,>3470,>E0C0 CHAR >E7 16 **0P DATA >1F00,>FFFF,>C0D0,>DFC0 CHAR >E8 50 DATA >E010,>D0E4,>7434,>3470 CHAR >E9 6џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџў їїџџџџџџџџџџџћ, DATA >F0F0,>F0F8,>F8FC,>FEFE CHAR 13, DATA >0000,>0000,>E0F8,>F8FC CHAR 14, DATA >FEFE,>FEFE,>FFFF,>FFFF CHAR 15** CHARACTER SET 2*,LRADR DATA >8080,>8080,>4040,>4021 CHAR 16џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџў їїџџџџџџџџџџџћ+* CHARACTER DEFINITIONS *+* *+********************************************* CHARCTER SET 0**SPACE DATA >FF00,>0000,>0000,>0000 CHAR 0 ** CHARACTER SET 1*џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџў!їїџџџџџџџџџџџћ,RRADR DATA >0000,>000F,>0C1E,>1713 CHAR 24, DATA >0101,>0101,>0202,>0284 CHAR 25, DATA >1100,>0000,>0001,>03F0 CHAR 26, DATA >C4F8,>787C,>7E9E,>0F07 CHAR 27, DATA >070F,>1F3F,>3FFF,>FFFF CHAR 28*џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџў!їїџџџџџџџџџџџћ- DATA >3F1F,>0F03,>0303,>0303 CHAR 106- DATA >FCF8,>F0E0,>C0C0,>C0C0 CHAR 107- DATA >0303,>0303,>0303,>0303 CHAR 108- DATA >C0C0,>C0C0,>C0C0,>C0C0 CHAR 109** CHARCTER SET 14*џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџў!їїџџџџџџџџџџџћ, DATA >1818,>1818,>1818,>1818 CHAR 92** CHARACTER SET 12*,GUNS DATA >3C3C,>3C7E,>FFFF,>FFFF CHAR 96, DATA >FFFF,>FFFF,>FFFF,>FFFF CHAR 97, DATA >030F,>0F1F,>1F3F,>3F3F CHAR 98џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџў!їїџџџџџџџџџџџћ, DATA >0000,>0000,>00C0,>3088 CHAR 41, DATA >1226,>3F6E,>FBFF,>6E3F CHAR 42, DATA >88A4,>FCEE,>BBFF,>EEFC CHAR 43, DATA >0303,>0303,>0303,>0303 CHAR 44, DATA >C0C0,>C0C0,>C0C0,>C0C0 CHAR 45*џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџў!їїџџџџџџџџџџџћ* CHARACTER SET 4*?BLLCR DATA >0000,>0000,>0000,>0000 CHAR 32 FILLER CHAR FOR? DATA >183C,>7EFF,>FF7E,>3C18 CHAR 33 PLAYING FIELD, DATA >1818,>1818,>180C,>0603 CHAR 34, DATA >1818,>1818,>1830,>60C0 CHAR 35џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџў!їїџџџџџџџџџџџћ-URADR DATA >8183,>4341,>4121,>2111 CHAR 112- DATA >81C1,>C282,>8284,>8488 CHAR 113- DATA >0F01,>0101,>0307,>0F1F CHAR 114- DATA >F080,>8080,>C0E0,>F0F1 CHAR 115- DATA >3F3F,>3C7C,>78F8,>F8F8 CHAR 116џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџў!їїџџџџџџџџџџџћ, DATA >C0F0,>F0F8,>F8FC,>FCFC CHAR 99** GUN ON RIGHT CRATER EDGE.RCGUN DATA >0000,>00E0,>E000,>0000 CHAR 100 ** CHARACTER SET 13*-HEMI DATA >030F,>1F3F,>3F7F,>7F3F CHAR 104- DATA >C0F0,>F8FC,>FCFE,>FEFC CHAR 105џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџў!їїџџџџџџџџџџџћ* CHARCTER SET 11*,RCITY DATA >003F,>1008,>0402,>030C CHAR 88, DATA >00F4,>0810,>2040,>C030 CHAR 89, DATA >1020,>20FF,>4F49,>791F CHAR 90, DATA >0804,>04FF,>F292,>9EF4 CHAR 91џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџў!їїџџџџџџџџџџџћ, DATA >8142,>2418,>1884,>2241 CHAR 36, DATA >183C,>3C3C,>3CFF,>FFFF CHAR 37, DATA >8142,>2418,>1824,>4281 CHAR 38** CHARACTER SET 5*,LCITY DATA >0000,>0000,>0003,>0C10 CHAR 40џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџў"їїџџџџџџџџџџџћ+ BYTE 122,123,114,115,32,36,32,32,105$ BYTE 32,98,99,26,27,134,11,11 BYTE 11, BYTE 11,15,20,32,44,45,106,105,107,32: BYTE 37,32,116,117,124,125,116,117,32,37,32,106,105' BYTE 107,100,100,32,28,135,11,11*џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџў"їїџџџџџџџџџџџћ%*************************************%* *%* SCREEN FORMAT DATA *%* ONLY FOR BOTTOM 3 LINES OF PLAYING*%* FIELD *%************************************** EVENџїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџў"їїџџџџџџџџџџџћ+*******************************************+* SPRITE DEFINITIONS *+* *+******************************************* SHIPS EQU $#SHIPR DATA >00C0,>FCFF,>7060,>4000џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџў"їїџџџџџџџџџџџћ- DATA >FCFC,>3C3E,>1E1F,>1F1F CHAR 117** CHARCTER SET 15*-RWALL DATA >0103,>0303,>0707,>071F CHAR 120- DATA >1F1F,>1F1F,>3F3F,>3F7F CHAR 121- DATA >7F7F,>7FFF,>FFFF,>FFFF CHAR 122џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџў"їїџџџџџџџџџџџћ%* CHARS FOR REST OF PLAYING FIELD* EVEN%ASSRT BYTE 8,128,9,129,10,108,131,130) BYTE 11,11,11,12,33,33,38,38,132,11 EVEN2DISP BYTE 0,31,1,31,1,1,29,1,1,31,1,1,9,2,7,2,9,1*"* DATA FOR LOADING CHARACTERS* EVENџїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџў"їїџџџџџџџџџџџћ*SCRDAT BYTE 11,13,32,16,17,40,41,32,104,32( BYTE 34,32,35,112,113,120,121,112+ BYTE 113,34,32,35,32,104,32,96,97,24 BYTE 25,32,133,11 BYTE 11,11,14,18,19, BYTE 42,43,32,105,32,32,36,32,114,115џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџў"їїџџџџџџџџџџџћ#SHIPL DATA >0003,>3FFF,>0E06,>0200#ASTERO DATA >1824,>4249,>A282,>4936#RUBBLE DATA >0000,>0000,>C063,>3F1F,FIRE1 DATA >1050,>5252,>7AFA,>FE7C DK RED,FIRE2 DATA >8084,>84A4,>A5E5,>FF7E LT RED,FIRE3 DATA >4044,>C4D4,>D5FF,>7F7E YELLOWџїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџў"їїџџџџџџџџџџџћA DATA >0000,>0000,>0707,>0000 CHAR 123 GUN ON LEFT CRATER- DATA >0000,>030F,>0F0F,>3F3F CHAR 124- DATA >3F3F,>3F7F,>7F7F,>FFFF CHAR 125- DATA >0101,>0107,>0F0F,>0F3F CHAR 126- DATA >3F3F,>3F3F,>7FFF,>FFFF CHAR 127џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџў"їїџџџџџџџџџџџћ)CHRDAT BYTE 32,20,20,28,24,20,20,24,24,32џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџў#їїџџџџџџџџџџџћ BL @WRTVCL( DATA SNDBUF,132,SNDFIR SOUND LIST*. MOVB @H0E,@MOTION 24 SPRITES CAN MOVE****************************** LOAD CHARACTER SETS ******************************/LDCHR LI R2,LWALL POINT TO START OF DATAџїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџў#їїџџџџџџџџџџџћ? DATA PDT+>200,8,CPYRIT COPYRIGHT MESSAGE FOR THE LAWYERS* BL @WRTVCL0 DATA PDT+>680,352,TITCHR LOAD TITLE CHARS* BL @WRTVCL( DATA PDT,64,LASERS LASER PATTERNS* BL @WRTVCL& DATA PDT+>440,8,SHIPR CHAR >88џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџў#їїџџџџџџџџџџџћ& INC R7 INC DATA CNTR/ C R6,R7 THRU W/ THIS DATASET ?3 JEQ LDLP YES, POINT TO NEXT DATASET0 JMP LDLPI NO, FINISH IT STUPID!!!-OFFST LI VDPADD,PDT+768 POINT TO CHARSET 11џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџў#їїџџџџџџџџџџџћ) INC R1 INC DATASET CNTR) INC R8 INC CHARSET CNTR+ CI R1,12 ALL DATASETS DONE?* JEQ LDOUT YES,RTN TO CALLER/ CI R8,6 LOWER CHARSETS FILLED?џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџў#їїџџџџџџџџџџџћ% LI VDPADD,PDT POINT TO PDT' CLR R9 CLR CHAR CNTR* CLR R8 CLR CHARSET CNTR* CLR R1 CLR DATASET CNTR6LDLP MOVB @CHRDAT(R1),R6 MOV # OF CHARS IN SET TO R6џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџў#їїџџџџџџџџџџџћ BL @WRTVCL& DATA PDT+>480,8,SHIPL CHAR >90* BL @WRTVCL, DATA CT,32,COLORS LOAD COLOR TABLES* BL @WRTVCL3 DATA SDL,56,SHIPS LOAD SHIP L,R + ASTEROID0* AND EXPLOSION EFFECTSџїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџў#їїџџџџџџџџџџџћ!*********************************!* START OF 9900 ASSEMBLY CODING *!********************************* EVENOMEGA LWPI MYWS*INITS LI R1,>1000/ MOVB R1,@DISINT DISABLE QUIT FUNCTION* BL @WRTVCLџїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџў#їїџџџџџџџџџџџћ1 JEQ OFFST YES, POINT TO UPPER SETS4LDLPI MOV *R2+,R5 PUT DATA TO BE STORED IN R5# BL @WRTCL WRITE DATA. DATA 2,MYWS+10 TWO BYTES AT A TIME!!. INCT VDPADD POINT TO NEXT VDP LOCџїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџў#їїџџџџџџџџџџџћ* SRL R6,8 MOVE TO LOW BYTE( CLR R7 RESET DATA CNTR# AI R9,64 PDT OFFSET+ LI VDPADD,PDT INIT VDPADD TO PDT1 A R9,VDPADD POINT TO CURRENT PDT LOCџїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџў$їїџџџџџџџџџџџћ( LI R9,768 RESET CHAR CNTR- JMP LDLPI KEEP ON TRANSFERRING LDOUT EQU $***************************** ENTRY POINT FOR BACK KEY *****************************)BACK BL @CLEAR CLEAR THE SCREEN* BL @VWTRџїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџў$їїџџџџџџџџџџџћ BL @WRTVCL DATA SIT+>DE,26,EGO1* AI VDPADD,>40 OUR CLAIM TO FAME BL @WRTCL DATA 18,EGO2 AI VDPADD,>40 BL @WRTCL DATA 18,EGO3*( BL @WAIT30 WASTE SOME TIMEџїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџў$їїџџџџџџџџџџџћ BL @WRTVCL DATA 23*32+5,22,PRESSM BL @WRTVCL DATA 1*32+3,26,EGO1 BL @WRTVCL DATA 20*32+3,26,XYZMSG *- CLR @KEYBRD GET AN OLD KEY VALUE BL @SCANKY*'CHK1 BL @SCANKY SCAN FOR A KEYџїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџў$їїџџџџџџџџџџџћ" DATA SAL,4,MYWS+2 PUT SHIP* LI R1,>00E8 BL @WRTVCL+ DATA SVT,2,MYWS+2 PUT SHIP IN MOTION*TITLEL BL @RDVCL DATA SAL,2,MYWS+2 GET Y,X ANDI R1,>00FF& CI R1,>0064 HIT ASTEROID?џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџў$їїџџџџџџџџџџџћ) DATA >1187 BLACK BACKGROUND* BL @WRTVCL DATA SIT+>43,17,TITLE1 AI VDPADD,>20 BL @WRTCL% DATA 17,TITLE2 TITLE SCREEN BL @WRTVCL DATA SIT+>CC,17,TITLE3 AI VDPADD,>20 BL @WRTCLџїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџў$їїџџџџџџџџџџџћ" DATA 4 2 SECONDS1 B @BACK AND BACK TO TITLE SCREEN*&NOASTK MOVB @H05,@KEYBRD FOR 99/4 TEST BL @SCANKY SCAN CLR @KEYBRD POP A 0# BL @SCANKY SCAN AGAINџїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџў$їїџџџџџџџџџџџћ! MOVB @STATUS,R3 PRESSED?- JEQ CHK1 NO, SO KEEP CHECKING*! MOVB @KEY,R1 MOVE KEY! SRL R1,8 INTO LSB! CI R1,>002A '*' KEY?' JNE NOASTK NO, SO PLAY ON*EGO BL @CLEARџїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџў$їїџџџџџџџџџџџћ JH TITLEL NOP* MOV VDPADD,@SHPSAL' MOVB @H01,@TITLEF WE'RE IN TITLE BL @SOUND1 DATA EXPSND MAKE THE EXPLOSION SOUND) B @TITLEH BURN THE INFERNO*+TITLEC MOVB @H00,@TITLEF NO LONGER IN TITLE*џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџў$їїџџџџџџџџџџџћ DATA 17,TITLE4* BL @WRTVCL DATA 18*32+6,20,COPYM* LI R1,>7060 LI R2,>8206 BL @WRTVCL) DATA SAL+>8,4,MYWS+2 PUT ASTEROID* LI R1,>70F0 LI R2,>8104 BL @WRTVCLџїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџў%їїџџџџџџџџџџџћ DATA 1,MYWS+10 INC R1 CI R1,18 JNE SCRLP1 INC VDPADD BL @WRTCL DATA 96,SCRDAT*& MOVB @H0A,@SHIPL1 START WITH 10 MOVB @SHIPL1,R8 SRL R8,8 BL @SHOWSH DATA >0088,3*џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџў%їїџџџџџџџџџџџћ ******************************** * ENTRY POINT FOR REDO KEY * ********************************REDO BL @CLEAR BL @WRTVCL3 DATA SAL+8,57,ASTINI LOAD INITAL ATTRIBUTES* BL @WRTVCL- DATA SVT,2,H0000 INITIAL VELOCITIESџїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџў%їїџџџџџџџџџџџћ( DATA SAL+8,1,HC0 MOVE IT TO C0*( BL @WRTVCL WRITE MESSAGE DATA SIT+>167,18,ALPHAMALPTST SBO 21 CLR R12= SBZ 21 SET BIT 21 OF CRU, ALPHA LOCK LINEџїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџў%їїџџџџџџџџџџџћ) CB @KEYBRD,@H05 IS IS STILL A 5?/ JEQ OLD99 NO, SO WE'RE ON A 99/4*0 CLR R12 SET CRU BASE AT >0000= SBZ 21 SET BIT 21 OF CRU, ALPHA LOCK LINEџїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџў%їїџџџџџџџџџџџћ MOVB @H0A,@SHIPL2 MOVB @SHIPL2,R8 SRL R8,8& BL @SHOWSH AND SHOW THEM DATA >0090,>13*, BL @SHOWG SHOW # OF GAMES WON'***************************************'* ENTRY POINT FOR WHEN SHIP GETS KILLEDџїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџў%їїџџџџџџџџџџџћ**************************** LOAD SCREEN ****************************MKSCR LI VDPADD,SIT+>200 CLR R1 LI R2,ASSRTSCRLP1 MOVB @DISP(R1),R6 SRL R6,8 A R6,VDPADD MOVB *R2+,R5 BL @WRTCLџїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџў%їїџџџџџџџџџџџћ: SRC R12,14 WASTE TIME,WAITING FOR CRU READ. TB 7 IS ALPHA LOCK DOWN?, JNE ALPTST NO, SO JUST GO ON&OLD99 SBO 21 RESET ALPHA9 CLR @GAMES1 NEITHER PLAYER HAS WON ANY GAMESџїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџў%їїџџџџџџџџџџџћ: SRC R12,14 WASTE TIME,WAITING FOR CRU READ. TB 7 IS ALPHA LOCK DOWN?, JEQ OLD99 NO, SO JUST GO ON BL @CLEAR/ BL @WRTVCL DELETE LONE ASTEROIDџїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџў%їїџџџџџџџџџџџћ'***************************************ATTACK MOV @SPINI1,R13 MOV @SPINI1+2,R2 GETS SPRITE 1 INITIAL LOCSATTCK1 BL @RANDNO SRL R10,12 CI R10,5 PAST 5? JH ATTCK1- MOVB @ROWTBL(R10),R1 GETS RANDOM ROWџїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџў&їїџџџџџџџџџџџћ'***************************************'* M A I N P L A Y I N G L O O P *'***************************************.MAINL1 CLR @SCNTIM CLEAR SCREEN TIME OUT* BL @INPUT GET THE INPUT Yџїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџў&їїџџџџџџџџџџџћ- MOVB @ROWTBL(R10),R1 GETS RANDOM ROW BL @WRTVCL0 DATA SAL+4,4,MYWS+2 PUTS OUT SPRITE 2џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџў&їїџџџџџџџџџџџћ' LI R1,SVT+4 SHIP 2 SVT POS! LI R2,SAL OPPONENT! LI R3,SVT OPPONENT-SETEM MOV R0,@SHPSAL SET THE CPU SVT FLAG- MOV R1,@SHPSVT SET THE CPU SVT FLAG" MOV R2,@OPSAL SAME HEREџїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџў&їїџџџџџџџџџџџћ) CLR @STPFL1 ALSO GETS STPFL2 CLR @KEYBRD*+BRDINC AB @H01,@KEYBRD SCAN NEXT KEYBOARD$ CB @KEYBRD,@H03 PAST SPLIT?( JNE BINCCT NO, SO CONTINUE B @INPTRT*"BINCCT CB @KEYBRD,@H01 PLAYER 1?џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџў&їїџџџџџџџџџџџћ6 BL @CHKBND CHECK THE BOUNDS ON THE SHIPS4 BL @COINC1 DID SHIP 1 HIT AN ASTEROID?4 BL @COINC2 DID SHIP 2 HIT AN ASTEROID?2 BL @COINC3 DID SHIPS HIT EACH OTHER?џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџў&їїџџџџџџџџџџџћ).HE^^^^^^^^^^^^^^^^^^^^^^^^^BEYOND SPACE $.FO^^^^^^^^^^^^^^^^^^^^^^^^^^^PAGE %;.FO^^^^^^^^COPYRIGHT 1984 VIDEO MAGIC, ALL RIGHTS RESERVED .IF DSK2.DATA.IF DSK2.INITS .IF DSK2.MAIN.IF DSK2.COINC.IF DSK2.COMUTL€†€е‹•ŸЉГНЧеееееее分џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџў&їїџџџџџџџџџџџћ BL @WRTVCL. DATA SAL,4,MYWS+2 PUTS OUT SPRITE 1* MOV @SPINI2,R13 MOV @SPINI2+2,R2 GETS SPRITE 2 INITIAL LOCSATTCK2 BL @RANDNO SRL R10,12 CI R10,5 PAST 5? JH ATTCK2џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџў&їїџџџџџџџџџџџћ0 JNE SETTWO NO, SO SET FOR PLAYER 2'SETONE LI R0,SAL SHIP 1 SAL POS' LI R1,SVT SHIP 1 SVT POS! LI R2,SAL+4 OPPONENT! LI R3,SVT+4 OPPONENT JMP SETEM'SETTWO LI R0,SAL+4 SHIP 2 SAL POSџїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџў&їїџџџџџџџџџџџћ. BL @COINC4 DID SHIPS HIT GROUND?' JMP MAINL1 AND KEEP GOING'***************************************'* ROUTINE TO GET INPUT AND REACT TO IT*'***************************************$INPUT MOV R11,R14 SAVE RETURNџїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџў'їїџџџџџџџџџџџћ" MOV R3,@OPSVT SAME HERE& BL @SCANKY GET THE INPUT# CLR R3 PREPARE R3( MOVB @KEY,R3 MOVE KEY TO MSB) CI R3,>FF00 ANY KEY PRESSED?. JEQ CHKJOY NO, SO CHECK JOYSTICKџїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџў'їїџџџџџџџџџџџћ+RIGHT LI R7,>0018 RIGHTWARD VELOCITY B @RIGLFT&PAUSE BL @PAUSES PAUSE ROUTINE B @BRDINC,FIRE CB @KEYBRD,@H01 IS PLAYER 1 FIRING? JNE F2 NOP(F1 MOVB @STPFL1,R3 IS SHIP MOVING?џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџў'їїџџџџџџџџџџџћ& JEQ FIRE YES, SO DO IT) B @BRDINC NO, SO SCAN NEXT&**************************************&* THE FOLLOWING ROUTINES MOVE MY SHIP*&* AND ALSO CHECK TO SEE IF IT HAS *&* VIOLATED THE BOUNDARIES. *џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџў'їїџџџџџџџџџџџћ JEQ CHKJ1'**===> WRONG KEY DETECTED AT THIS POINT JMP BRDINC(CHKJOY MOV @JOYY,@JOYY JOYSTICK MOVED?) JEQ BRDINC NO, SO SCAN NEXT'CHKJ1 MOVB @H01,@JOYFLG JOYSTICK USED?( MOVB @JOYY,R3 COMPARE TO ZERO JGT UPџїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџў'їїџџџџџџџџџџџћ'***************************************'* DETERMINES WHAT KEY AND BRANCHES *'***************************************/WATKEY MOVB @H00,@JOYFLG JOYSTICK NOT USED HERE CI R3,>0B00 P OR T JEQ PAUSE CI R3,>0500 E OR Iџїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџў'їїџџџџџџџџџџџћ5 JEQ GOFIRE NO, SO DON'T RESET STOP FLAG MOVB @H01,@STPFL1 JMP GOFIRE(F2 MOVB @STPFL2,R3 IS SHIP MOVING?5 JEQ GOFIRE NO, SO DON'T RESET STOP FLAG, MOVB @H01,@STPFL2 YES, SO KEEP MOVINGGOFIRE B @FIRESџїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџў'їїџџџџџџџџџџџћ&**************************************(UP LI R7,>E000 UPWARD VELOCITY B @UPDOWN*DOWN LI R7,>2000 DOWNWARD VELOCITY B @UPDOWN*LEFT LI R7,>00E8 LEFTWARD VELOCITY B @RIGLFTџїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџў'їїџџџџџџџџџџџћ JLT DOWN MOVB @JOYX,R3 JGT RIGHT JLT LEFT1CHKJB BL @SCANKY SEE IF JOY WANTS TO MOVE' MOVB @KEY,R3 PUT KEY IN LSB SRL R3,8 NOW MSB CI R3,>0012 FIRE?џїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџў'їїџџџџџџџџџџџћ JEQ UP CI R3,>0000 X OR M JEQ DOWN CI R3,>0200 S OR J JEQ LEFT CI R3,>0300 D OR L JEQ RIGHT CI R3,>0D00 . OR V JEQ FIRE) CI R3,>1200 Q OR Y OR BUTTONџїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўїїџџџџџџџџџџџћхххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххх