Home » Archimedes archive » Micro User » MU 1992-06.adf » PD » !NotSpInv?/!RunImage

!NotSpInv?/!RunImage

This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.

Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.

Tape/disk: Home » Archimedes archive » Micro User » MU 1992-06.adf » PD
Filename: !NotSpInv?/!RunImage
Read OK:
File size: 5A9D bytes
Load address: 0000
Exec address: 0000
File contents
   10REM >!RunImage
   20REMPaul Hallam's : Not Space Invaders Again?O
   30REM A 'Paul Hallam In A Shoebox' PD PRODUCTION
   40REM LENPaul Hallam (Very early 1990.)
   50REM WARNING!!! Program uses imaginary 'boxes' for collision detection.
   60 
   70REM This program is PD and so should not be sold for a profit.
   80REM If (during an attempt to wipe the program) your Archie explodes
   90REM then the programmer wishes to make it clear that you had been warned!
  100 
  110REM Risc OS upgrade 23/11/1990
  120REM The reason for the complex, near illegible code is that at this time
  130REM I had just got an A3000 after years on a trusty BBC B.
  140REM The idea I focused on (Mainly from Peter Scott's games programming
  150REM articles...) was that a program ,if in BASIC ,had to be as squashed
  160REM and illegible as possible to go fast and be efficient!
  170REM I have now seen the error of my ways (after trying to speed this $%%%@
  180REM program up shortly after I wrote it) and am now an advocate of the
  190REM '20% of the program contains 80% of the delay' viewpoint (so expect
  200REM easier code to follow in any new prog.)
  210 
  220REM Sprite compression upgrade 7/11/1991 (halves program length.)
  230 
  240ONERRORMODE MODE:ON:REPORT:PRINT" at line ";ERL:IFERR=25PRINT"Needs a whopping 320K in screen Memory":END:ELSE:OSCLI"RMENSURE Decompactor 1.00 QUIT":OSCLI"RMKILL Decompactor":END
  250MODE24:MODE9
  260 
  270MOUSE ON:PRINTTAB(0,15)"STracker-type tune now active?"'"(Y/N)";
  280REPEATMOUSEA%,B%,C%:UNTILC%=FALSE
  290SYS"OS_Confirm"TOyn%:PRINTCHR$yn%:music%=FALSE:IFyn%=121 music%=TRUE
  300 
  310ft%=3:maxdots%=299:m%=FALSE:spek%=TRUE
  320OSCLI"FX25":LEVELSTART%=1
  330CLS
  340PROCinitialise:REMPROCloadsc
  350g%=1:MODE15:ii=(2*PI)/32
  360PROCscreen:hib%=1:scroll%=FALSE:REPEATz=FALSE:cheat%=FALSE
  370SOUND OFF:sound%=TRUE:REPEAT
  380g%=g%EOR3:SYS"OS_Byte",112,g%:CLG:PROCstartprompt:CALLz%:WAIT:SYS"OS_Byte",113,g%::UNTILINKEY-99:REPEATUNTILNOTINKEY-99
  390IFcheat%:LEVELSTART%=cheat%:ELSELEVELSTART%=1
  400ONERROR:OSCLI"RMKILL Decompactor":MODE 0:ON:REPORT:PRINT" at line ";ERL:END
  410PROCsvars:COLOUR139:COLOURFALSE:SOUND ON
  420REPEATPROCresetvars:PROCON:PROCl(l%)
  430REPEATg%=g%EOR3:SYS"OS_Byte",112,g%:CLG
  440H%=D%:IFm%PROCm:ELSEPROCk
  450FORI%=0TOsmx%*4STEP4:sy%!I%+=syinc%:IFsy%!I%>ts%:sh%!I%=FALSE
  460NEXT:f%+=1:IFf%=ft%f%=FALSE:s%+=2:PROCs:IFs%+1=smx%:s%=FALSE
  470PROCsppr("1",X%,Y%,FALSE):PROCas(l%):CALLv%:PROCprntv
  480CALLz%:WAIT:SYS"OS_Byte",113,g%:IFINKEY-90:REPEATUNTILINKEY-106
  490IFINKEY-82 ANDmusic%=FALSE:SOUND ON:VOICES 2:sound%=TRUE:ELSEIFINKEY-17 ANDmusic%=FALSE:SOUND OFF:VOICES 2:sound%=FALSE
  500IFINKEY-82 ANDmusic%:VOICES 6:sound%=TRUE:ELSEIFINKEY-17 ANDmusic%:VOICES 4:sound%=FALSE
  510IFINKEY-61 ANDspek%spek%=FALSE:OSCLI"SPEAKER OFF":ELSEIFINKEY-61 ANDspek%=FALSE:spek%=TRUE:OSCLI"SPEAKER ON"
  520IFINKEY-102m%=TRUE:ELSEIFINKEY-71m%=FALSE
  530IFINKEY-117 ANDINKEY-119:D%=3
  540UNTILD%<>H%ORAH%=A%:SYS"OS_Byte",112,1:PROCprntv:SYS"OS_Byte",112,2:PROCprntv:SYS"OS_Byte",112,g%:IFAH%=A%ANDD%=H% THEN
  550l%=l%MOD9+1:SYS"OS_Byte",112,1:PROCprntv:SYS"OS_Byte",112,2:PROCprntv:SYS"OS_Byte",112,g%:IFl%=3ORl%=1PROCTHREAT:IFl%=1D%-=1:IFD%<FALSE:D%=FALSE
  560ELSE
  570PROCexplode
  580ENDIF:UNTILD%=3
  590PROChicheck:UNTILFALSE:END
  600DEFPROCprntv:COLOURFALSE:PRINTTAB(3,2)C$TAB(13-LEN(STR$SC%),2)STR$SC%TAB(20,1);:IFm%PRINT"�"ELSEPRINT"�"
  610PRINTTAB(40,2)STRING$(20," ")TAB(50-LEN(LEV$(l%))DIV2,2)LEV$(l%)TAB(30,2)STRING$(3-D%,"�")STRING$(D%,"�")TAB(30,1)D$TAB(35-LEN(STR$(l%+LEVADD%)),1)STR$(l%+LEVADD%)TAB(20,2);:IFsound%PRINT"�"ELSEPRINT"�"
  620IFSC%>HI%(1):COLOUR5+g%:PRINTTAB(66,2)C$TAB(76-LEN(STR$SC%),2)STR$SC%:ELSEPRINTTAB(66,2)C$TAB(76-LEN(STR$HI%(1)),2)STR$HI%(1)
  630COLOURFALSE:ENDPROC
  640DEFPROCk:IFINKEY-98 ANDX%>0X%-=S%ELSEIFINKEY-67 ANDX%<1152:X%+=S%
  650ENDPROC
  660DEFPROCm:MOUSEx%,y%,B%:IFx%<X%X%-=S%ELSEIFx%>X%X%+=S%
  670MOUSE TOX%,FALSE:ENDPROC
  680DEFPROCs:IFm%MOUSEx%,y%,B%:IFB%>0PROCSHOT
  690IFm%=FALSE:IFINKEY-74PROCSHOT
  700ENDPROC
  710DEFPROCSHOT:sx%!(s%*4)=X%:sy%!(s%*4)=128:sh%!(s%*4)=1:sy%!((s%+1)*4)=128:sx%!((s%+1)*4)=X%+116:sh%!((s%+1)*4)=1:PROCburp(3):ENDPROC
  720DEFPROCburp(SO%):IFSO%=1SOUNDm1%,-5,27,6
  730IFSO%=2SOUNDm2%,-10,255,8
  740IFSO%=3SOUNDm1%,-7,60,10
  750IFSO%=10SOUNDm1%,-5,RND(20)*5,2:SOUNDm2%,-5,RND(10)*15,2
  760ENDPROC
  770DEFPROCas(L%):ONL%PROCA1,PROCA1,PROCA3,PROCA4,PROCA5,PROCA6,PROCA4,PROCA8,PROCA9
  780ENDPROC
  790DEFPROCsppr(n$,xsp%,ysp%,gc%):SYS"OS_SpriteOp",308,sprvar,n$,xsp%,ysp%,gc%:ENDPROC
  800DEFPROCTHREAT:LOCALY%:Y%=900:REPEATTIME=FALSE:g%=g%MOD2+1:SYS"OS_Byte",112,g%:CLG:PROCsppr("9",380,Y%,FALSE):PROCsppr("10",700,Y%+250,FALSE):Y%-=20:PROClevright:CALLz%:REPEATUNTILTIME>12:WAIT:SYS"OS_Byte",113,g%
  810UNTILY%+340<FALSE:IFl%=1:LEVADD%+=9
  820ENDPROC
  830DEFPROClevright:IFl%=3ENDPROC
  840PROCcent("Oh No! Back to level:1 again!!!!",20):IFD%>0PROCcent("A bonus ship next mission!",24)
  850ENDPROC
  860DEFPROCsc(sc%):SC%+=sc%:ENDPROC
  870DEFPROCA1:!Aw2%=124:!Ah2%=92:CALLw%:IF!st2%>0FORI%=1TO!st2%:PROCsc(1):NEXT:AH%+=!st2%:PROCburp(2)
  880GIT%=FALSE:FORI%=0TOA%*4STEP4:ax%!I%+=Ainc%:IFah%!I%>0 THEN
  890IF(Ainc%=ABS(Ainc%)ANDax%!I%>1279-124-ABS(Ainc%))OR(Ainc%=-ABS(Ainc%)ANDax%!I%<ABS(Ainc%))Flag%=TRUE
  900ENDIF
  910NEXT:IFFlag%THEN
  920Flag%=FALSE:Ainc%=-Ainc%:FORI%=0TOA%*4STEP4:ay%!I%-=64:IFay%!I%<FALSE:GIT%=TRUE
  930NEXT
  940ENDIF:PROCdrop:IFAsptog%=FALSE:PROCpa(5,FALSE):Asptog%=TRUE:ELSEPROCpa(6,FALSE):Asptog%=FALSE
  950PROCbombs(4,8):!shipx%=X%:CALLj%:IF!col%>FALSE ORGIT%=TRUE:D%+=1
  960ENDPROC
  970DEFPROCA3:CALLw%:IF!st1%>0FORI%=1TO!st1%:PROCsc(1):NEXT:PROCburp(1)
  980IF!st2%>0FORI%=1TO!st2%:PROCsc(4):NEXT:AH%+=!st2%:PROCburp(2)
  990I%=FALSE:FORI=(mov%*(PI/16))/3TO2*PI+(mov%*(PI/16))/3STEP2*PI/31:ax%!I%=k%+COSI*K%:ay%!I%=(kk%+SINI*KK%-Asptog%)*-(Asptog%<=KK%):I%+=4:NEXT:PROCpa(7,FALSE):Asptog%+=3:mov%+=1:mov%=mov%MOD96
 1000!shipx%=X%:CALLj%:IF!col%>0:D%+=1
 1010ENDPROC
 1020DEFPROCA4:CALLw%:IF!st2%>0FORI%=1TO!st2%:PROCsc(5):NEXT:PROCburp(2)
 1030FORI%=0TOA%*4STEP4:IFah%!I%>FALSE:ay%!I%-=AFALL%:IFay%!I%<FALSE:ah%!I%=FALSE
 1040NEXT:Asptog%=TRUE:IFRND(4)=1 THEN
 1050FORI%=0TOA%*4STEP4:IFah%!I%=FALSE:Asptog%=I%
 1060NEXT:IFAsptog%>TRUE:ah%!Asptog%=1:ay%!Asptog%=1024:ax%!Asptog%=RND(1198):AH%+=1
 1070ENDIF:PROCpa(3,FALSE):!shipx%=X%:CALLj%:IF!col%>FALSE:D%+=1
 1080ENDPROC
 1090DEFPROCA5:CALLw%:J%=FNmova5:!shipx%=X%:CALLj%:IF!col%>FALSE:D%+=1
 1100ENDPROC
 1110DEFFNmova5:IFmov%=FALSE:PROCA51:=FALSE
 1120IFmov%=TRUE:PROCA52:=FALSE
 1130IFmov%=200:PROCA53:=FALSE
 1140PROCA54:=FALSE
 1150DEFPROCA51:IF!st1%>0FORI%=1TO!st1%:PROCsc(1):NEXT:PROCburp(1)
 1160ay%!0-=8:IF!ay%<570mov%=TRUE
 1170PROCpa(Asptog%,FALSE):ENDPROC
 1180DEFPROCA52:IF!st1%>0FORI%=1TO!st1%:PROCsc(1):NEXT:PROCburp(1):IF!ah%<76:Asptog%=19:IF!ah%<51:Asptog%=12:IF!ah%<26:Asptog%=13
 1190!ax%=COSrpos*550+550:!ay%=SINrpos*96+570:PROCdrop2(92):PROCbombs(15,FALSE)
 1200rpos+=rinc:IFrpos=rmax:SWAPrmax,rmin:rinc=-rinc
 1210PROCpa(Asptog%,FALSE):IF!st2%>0FORI%=1TO!st2%:PROCsc(100):NEXT:PROCburp(2):mov%=200:!ah%=51:!Aw2%=108:!alienw%=!Aw2%:!Ah2%=108:!alienh%=!Ah2%:!bombw%=48:!bombh%=50:FORI%=0TObom%*4STEP4:bh%!I%=FALSE:NEXT:bom%=bmx%
 1220ENDPROC
 1230DEFPROCA53:IF!st1%>0FORI%=1TO!st1%:PROCsc(2):NEXT:PROCburp(1)
 1240IF!st2%>0FORI%=1TO!st2%:PROCsc(5):NEXT:PROCburp(2):IF!ah%<1:PROCsc(95):AH%=A%:ENDPROC
 1250!ax%=COSrpos*550+598:!ay%=SINrpos*96+658
 1260rpos+=rinc:IFrpos=rmax:SWAPrmax,rmin:rinc=-rinc
 1270R%=TRUE:IFRND(9)=1 THEN
 1280FORI%=4TOA%*4STEP4:IFah%!I%=FALSE:R%=I%:I%=A%*4:NEXT:ELSENEXT
 1290IFR%>TRUE:ah%!R%=5:ax%!R%=!ax%:ay%!R%=!ay%-90
 1300ENDIF:FORI%=4TOA%*4STEP4:ay%!I%-=4:IFay%!I%<FALSE:ah%!I%=FALSE
 1310NEXT:PROCdrop3:PROCpa(14,8):PROCbombs(16,8):ENDPROC
 1320DEFPROCA6:CALLw%:IF!st2%>0FORI%=1TO!st2%:PROCsc(4):AH%+=1:NEXT:PROCburp(2)
 1330mov%+=(RND(8)-RND(8))*4:IFmov%<FALSE:mov%=FALSE
 1340IFmov%>1280-114:mov%=1280-114
 1350IFRND(2)=1THEN
 1360FORI%=0TOA%*4STEP4:IFah%!I%=FALSE:Asptog%=I%
 1370NEXT:IFAsptog%>TRUE:ah%!Asptog%=1:ay%!Asptog%=1024:ax%!Asptog%=mov%
 1380ENDIF:FORI%=0TOA%*4STEP4:ay%!I%-=64:IFay%!I%<FALSE:ah%!I%=FALSE
 1390NEXT:PROCpa(17,8):!shipx%=X%:CALLj%:IF!col%>FALSE:D%+=1
 1400ENDPROC
 1410DEFPROCA8:CALLw%:IF!st1%>0FORI%=1TO!st1%:PROCsc(1):NEXT:PROCburp(1)
 1420IF!st2%>0FORI%=1TO!st2%:PROCsc(5):NEXT:AH%+=!st2%:PROCburp(2)
 1430FORI%=0TOamx%*4STEP4:ax%!I%+=atlevnin%!I%:IFax%!I%<48ORax%!I%>1280-48:ay%!I%-=60:atlevnin%!I%=-atlevnin%!I%:ax%!I%+=atlevnin%!I%
 1440NEXT
 1450IFRND(2)<2PROCdrop9
 1460PROCpa(18,FALSE):PROCbombs(30,8):!shipx%=X%:CALLj%:IF!col%>FALSE:D%+=1
 1470ENDPROC
 1480DEFPROCA9:CALLw%:IF!st1%>0FORI%=1TO!st1%:PROCsc(1):AH%+=1:NEXT:PROCburp(1)
 1490IF!st2%>0FORI%=1TO!st2%:PROCsc(20):NEXT:PROCburp(2):AH%=A%:ENDPROC
 1500ay%!0-=4:PROCpa(31,FALSE):!shipx%=X%:CALLj%:IF!col%>FALSE:D%+=1
 1510IFay%!0<FALSE:D%+=1
 1520ENDPROC
 1530DEFPROCL1:PROCclear:!Aw1%=10:!Ah1%=74:A%=23:!Aamx%=(amx%+1)*4:FORI%=0TO3:FORJ%=0TO5:ax%!((J%+(I%*6))*4)=J%*164:ay%!((J%+(I%*6))*4)=490+I%*108:ah%!((J%+(I%*6))*4)=1:NEXT,:PROCpa(5,FALSE):AH%=TRUE:Asptog%=FALSE
 1540ft%=3
 1550Flag%=FALSE:Ainc%=16:bom%=3:bf%=16:!bombw%=8:!bombh%=72
 1560!Aw2%=84:!alienw%=!Aw2%:!Ah2%=80:!alienh%=!Ah2%:ENDPROC
 1570DEFPROCL2:PROCL1:Ainc%=32:bom%=7:bf%=32:ENDPROC
 1580DEFPROCL3:PROCclear:!Aw1%=10:!Ah1%=74:A%=amx%:!Aamx%=(amx%+1)*4:KK%=860:K%=860:k%=640:kk%=80:I%=FALSE:FORI=0TO2*PI STEP2*PI/31:ax%!I%=k%+COSI*K%:ay%!I%=SINI*KK%+kk%:ah%!I%=3:I%+=4:NEXT:PROCpa(7,FALSE):AH%=TRUE
 1590Asptog%=FALSE:mov%=FALSE
 1600!Aw2%=104:!alienw%=!Aw2%:!Ah2%=106:!alienh%=!Ah2%:ENDPROC
 1610DEFPROCL4:PROCclear:!Aw1%=10:!Ah1%=74:A%=amx%:!Aamx%=(amx%+1)*4
 1620AH%=A%-80:AFALL%=32:!Aw2%=82:!alienw%=!Aw2%:!Ah2%=82:!alienh%=!Ah2%:ENDPROC
 1630DEFPROCL7:PROCL4:AH%-=80:AFALL%=AFALL%*2:ENDPROC
 1640DEFPROCL5:PROCclear:!Aw1%=10:!Ah1%=74:A%=amx%:!Aamx%=(amx%+1)*4:!bombw%=6:!bombh%=60
 1650ah%!0=101:ax%!0=FALSE:ay%!0=900:mov%=FALSE:Asptog%=8:rinc=PI/128:rmin=PI:rmax=2*PI:rpos=rmin:bom%=9:bf%=16
 1660AH%=TRUE:!Aw2%=184:!alienw%=!Aw2%:!Ah2%=230:!alienh%=!Ah2%:ENDPROC
 1670DEFPROCL6:PROCclear:!Aw1%=10:!Ah1%=74:A%=amx%:!Aamx%=(amx%+1)*4
 1680mov%=640-(114/2)
 1690AH%=TRUE-80:!Aw2%=86:!alienw%=!Aw2%:!Ah2%=114:!alienh%=!Ah2%:ENDPROC
 1700DEFPROCL8:PROCclear:!Aw1%=10:!Ah1%=74:A%=amx%:!Aamx%=(amx%+1)*4
 1710makeit%=48:FORI%=0TO15*4 STEP4:atlevnin%!I%=48:ax%!I%=makeit%:makeit%+=48:ay%!I%=860:ah%!I%=3:NEXT
 1720makeit%=480:FORI%=16*4TOamx%*4 STEP4:atlevnin%!I%=-48:ax%!I%=makeit%:makeit%+=48:ay%!I%=800:ah%!I%=3:NEXT
 1730!bombw%=44:!bombh%=30:bom%=bmx%:bf%=30
 1740AH%=TRUE:!ah%=2:!Aw2%=44:!alienw%=!Aw2%:!Ah2%=30:!alienh%=!Ah2%:ENDPROC
 1750DEFPROCL9:PROCclear:!Aw1%=10:!Ah1%=74:A%=2:!Aamx%=(2+1)*4:!ax%=640-300:!ay%=900:AH%=-600:!ah%=186:!Aw2%=600:!alienw%=!Aw2%:!Ah2%=430:!alienh%=!Ah2%:ft%=2:ENDPROC
 1760DEFPROCclear:FORI%=0TObmx%*4STEP4:bh%!I%=FALSE:NEXT:FORI%=0TOsmx%*4STEP4:sh%!I%=FALSE:NEXT:FORI%=0TOamx%*4STEP4:ah%!I%=FALSE:NEXT:ENDPROC
 1770DEFPROCl(L%):ONL%PROCL1,PROCL2,PROCL3,PROCL4,PROCL5,PROCL6,PROCL7,PROCL8,PROCL9
 1780ENDPROC
 1790DEFPROCdrop:c1%=(RND(A%+1)-1)*4:c2%=(RND(bom%+1)-1)*4:IFah%!c1%>FALSE ANDbh%!c2%=FALSE:bh%!c2%=1:bx%!c2%=ax%!c1%:by%!c2%=ay%!c1%+bf%
 1800DEFPROCdrop9:c2%=(RND(bom%+1)-1)*4:IFbh%!c2%=FALSE:bh%!c2%=1:bx%!c2%=RND(1249):by%!c2%=896+bf%
 1810ENDPROC
 1820DEFPROCdrop2(c1%):c2%=(RND(bom%+1)-1)*4:IF!ah%>FALSE ANDbh%!c2%=FALSE:bh%!c2%=1:bx%!c2%=!ax%+c1%:by%!c2%=!ay%+bf%
 1830ENDPROC
 1840DEFPROCdrop3:c1%=RND(A%+1)*4+4:c2%=(RND(bom%+1)-1)*4:IFah%!c1%>FALSE ANDbh%!c2%=FALSE:bh%!c2%=1:bx%!c2%=ax%!c1%+50:by%!c2%=ay%!c1%+12+bf%
 1850ENDPROC
 1860DEFPROCbombs(c%,M%):CALLb%:IF!col%>FALSE:D%+=1:ENDPROC ELSE:FORI%=0TObom%*4STEP4:IFbh%!I%=1 THEN
 1870by%!I%-=bf%:IFby%!I%<bf%:bh%!I%=FALSE
 1880ENDIF
 1890NEXT:PROCpb(c%,M%):ENDPROC
 1900DEFPROCON:LOCAL X1%,X2%,Y%,WY%:X1%=-160:X2%=1280:REPEATTIME=FALSE:g%=g%MOD2+1:SYS"OS_Byte",112,g%:CLG
 1910X1%+=16:X2%-=16
 1920PROCsppr("203",X1%,FALSE,FALSE):SYS"OS_SpriteOp",303,sprvar,"203":PROCsppr("203",X2%,FALSE,FALSE):SYS"OS_SpriteOp",303,sprvar,"203"
 1930CALLz%:REPEATUNTILTIME>12:WAIT:SYS"OS_Byte",113,g%:UNTILX1%=0
 1940Y%=144:REPEATTIME=FALSE:g%=g%MOD2+1:SYS"OS_Byte",112,g%:CLG
 1950VDU24,Xstart%;Y%;Xstart%+128;148;
 1960PROCsppr("1",Xstart%,FALSE,FALSE)
 1970VDU24,FALSE;FALSE;1279;900;:Y%-=6
 1980PROCsppr("203",X1%,FALSE,FALSE):SYS"OS_SpriteOp",303,sprvar,"203":PROCsppr("203",X2%,FALSE,FALSE):SYS"OS_SpriteOp",303,sprvar,"203"
 1990GCOLRND(8):PROCburp(10)
 2000MOVE150,200:DRAWXstart%-4,Y%:MOVEX2%,200:DRAWXstart%+130,Y%
 2010CALLz%:REPEATUNTILTIME>12:WAIT:SYS"OS_Byte",113,g%:UNTILY%=FALSE
 2020REPEATTIME=FALSE:g%=g%MOD2+1:SYS"OS_Byte",112,g%:CLG:X1%-=16:X2%+=16:PROCsppr("203",X1%,FALSE,FALSE):SYS"OS_SpriteOp",303,sprvar,"203":PROCsppr("203",X2%,FALSE,FALSE):SYS"OS_SpriteOp",303,sprvar,"203"
 2030PROCsppr("1",Xstart%,Y%,FALSE)
 2040CALLz%:REPEATUNTILTIME>12:WAIT:SYS"OS_Byte",113,g%:UNTILX1%=-160
 2050ENDPROC
 2060DEFPROCexplode:FORI%=0TOmaxdots%*4STEP4:REPEATDX%!I%=RND(64)*2+X%:DY%!I%=RND(36)*4:DC%!I%=POINT(DX%!I%,DY%!I%):UNTILDC%!I%>FALSE:DIX%!I%=(RND(20)-10)*4:DIY%!I%=RND(10)*4:NEXT
 2070G%=FALSE:REPEATTIME=FALSE:g%=g%EOR3:SYS"OS_Byte",112,g%:CLG
 2080CALLZ%:CALLz%:WAIT:SYS"OS_Byte",113,g%:G%+=1:SOUNDm2%,-15+G%,255,8:SOUNDm1%,-15+G%,255,8:UNTILG%=14
 2090ENDPROC
 2100DEFPROCpa(!coli%,!Miy%):!coli%=!coli%*4:CALLpal:ENDPROC
 2110DEFPROCpb(!coli%,!Miy%):!coli%=!coli%*4:CALLd%:ENDPROC
 2120DEFPROCsvars:l%=LEVELSTART%:SC%=FALSE:D%=FALSE:LEVADD%=FALSE
 2130ENDPROC
 2140DEFPROCresetvars:s%=FALSE
 2150f%=FALSE:Asptog%=FALSE:Xstart%=576:X%=Xstart%:Y%=FALSE:MOUSE TO X%,Y%:MOUSE RECTANGLE0,0,1280-128,0:ENDPROC
 2160DEFPROChicheck:Asptog%=1:FORI%=100TO1STEP-1:IFHI%(I%)<SC%:HI%(I%+1)=HI%(I%):HI$(I%+1)=HI$(I%)
 2170IFHI%(I%)>=SC%:Asptog%=I%+1:I%=1
 2180NEXT:IFAsptog%<101 THEN
 2190HI%(Asptog%)=SC%:IFcheat%HI$(Asptog%)="Cheater !"ELSEHI$(Asptog%)=FNhisc
 2200PROCsavesc
 2210ENDIF
 2220IFAsptog%<101:hib%=Asptog%ELSEhib%=1
 2230ENDPROC
 2240DEFFNhisc:PROCcent("CONGRATULATIONS!",20):PROCcent("You killed enough aliens, you scum,to be awarded the 'Genocide' cross",21):PROCcent("Please enter your name for the hall of fame:",22)
 2250PROCcent(STRING$(20," "),23):OSCLI"FX15"
 2260a$=STRING$(20," "):a$="":REPEAT
 2270REPEATG%=GET:UNTILG%>31ORG%=13
 2280IFG%=127 ANDLENa$>FALSE:a$=LEFT$(a$,LENa$-1)
 2290IFG%<>127 ANDG%<>13 ANDLENa$<20:a$+=CHR$G%
 2300PROCcent(STRING$(20," "),23):PROCcent(a$,23):UNTILG%=13
 2310=a$
 2320DEFPROCstartprompt:GCOL32:VDU5:x=z:ORIGIN432,700:FORI%=1TOLENaa$:jj=SINx*64:MOVEI%*16,jj+128:PRINTMID$(aa$,I%,1):MOVEI%*16,64+jj:PRINTMID$(ba$,I%,1):MOVEI%*16,jj:PRINTMID$(ca$,I%,1):x+=ii:NEXT:z+=ii
 2330ORIGIN0,0:MOVE96,700:PRINT"S = Sound On":MOVE96,632:PRINT"Q = Sound Off":MOVE1024,700:PRINT"K = Keyboard":MOVE1024,632:PRINT"M = Mouse"
 2340MOVE16,866:PRINT"DELETE = Pause On":MOVE16,798:PRINT"COPY   = Pause Off"
 2350MOVE1024,866:PRINT"f8 and":MOVE1024,832:PRINT"f5 together,":MOVE1024,798:PRINT"Self Destruct"
 2360MOVE392,600:PRINTda$:MOVE132,568:PRINTea$
 2370VDU4:OFF:COLOUR127
 2380FORI%=hib%TOhib%+5:COLOUR129+I%MOD14:PROCcent(STRING$(7-LENSTR$I%," ")+STR$I%+" ... "+STRING$(20," ")+" ... "+STRING$(10-LENSTR$HI%(I%),"0")+STR$HI%(I%)+"0   ",16+(I%-hib%)*2):PROCcent(HI$(I%),16+(I%-hib%)*2)
 2390PROCcent(STRING$(51," "),17+(I%-hib%)*2):NEXT
 2400COLOURscrollc%:COLOUR240:FORI%=0TO3:scroll$=FNscroll:NEXT:PROCcent(scroll$,28)
 2410COLOUR139:COLOUR0TINT0
 2420IF(INKEY-56 ANDINKEY-87 ANDINKEY-54 ANDINKEY-66):SYS"OS_Byte",113,g%:PRINTTAB(30,10)"Release keys.       ":kt%=TIME:REPEATUNTILTIME-kt%>150:OSCLI"FX15":PRINTTAB(30,10)"Which Level (1-9) ";:cheat%=GET:PRINTCHR$GET:cheat%-=48
 2430IFcheat%<1ORcheat%>9:cheat%=FALSE
 2440IFINKEY-58hib%-=1
 2450IFINKEY-1 ANDINKEY-58hib%-=5
 2460IFINKEY-42hib%+=1
 2470IFINKEY-1 ANDINKEY-42hib%+=5
 2480PROChibbib
 2490PROCcent("Press  > SPACE < to start.",30)
 2500ENDPROC
 2510DEFPROChibbib:IFhib%<1hib%=1:ELSEIFhib%>95hib%=95
 2520PRINTTAB(2,20)"�"TAB(75,20)"�"TAB(2,22)"�"TAB(75,22)"�"
 2530ENDPROC
 2540DEFPROCcent(a$,ty%):PRINTTAB(40-(LENa$DIV2),ty%);a$:ENDPROC
 2550DEFPROCsavesc:F%=OPENOUT"<NotSpInv?$Dir>.ScoreIAIf":FORI%=1TO100:PRINT#F%,HI$(I%):PRINT#F%,HI%(I%):NEXT:CLOSE#F%:ENDPROC
 2560DEFPROCloadsc:F%=OPENIN"<NotSpInv?$Dir>.ScoreIAIf":FORI%=1TO100:INPUT#F%,HI$(I%):INPUT#F%,HI%(I%):NEXT:CLOSE#F%:ENDPROC
 2570DEFPROCinitialise:DIMHI%(100+1),HI$(100+1):HI$()="    Vacant     ":HI%()=0
 2580RESTORE2590:DIM LEV$(9):FORI%=1TO9:READLEV$(I%):NEXT
 2590DATA"Easy","Still Easy","The  Noose","Target Practice","Goliath","Traffic","Sunday Drivers","Lilliputans?","Shoot the artist"
 2600REM Collision detection is set up with your missile being 10,74
 2610aa$="NOT Space Invaders Again??":ba$="        PD by :":ca$="    Paul    Hallam �1990":da$="RETURN...or Mouse Button...Fire":ea$="Z.....or Move Mouse.....Left        X.....or Move Mouse....Right"
 2620C$=STRING$(11,"0"):D$=STRING$(5,"0")
 2630amx%=32-1:bmx%=32-1:smx%=12-1
 2640ts%=900
 2650S%=18:syinc%=5*S%
 2660DIMfx%amx%*4,fy%amx%*4,fh%amx%*4,ax%amx%*4,ay%amx%*4,ah%amx%*4,atlevnin%amx%*4,sx%smx%*4,sy%smx%*4,sh%smx%*4,bx%bmx%*4,by%bmx%*4,bh%bmx%*4,Sx%90*4,Sy%90*4,DC%maxdots%*4,DX%maxdots%*4,DY%maxdots%*4,DIX%maxdots%*4,DIY%maxdots%*4
 2670FORI%=0TO360STEP4:Sx%!I%=RND(1280)-1:Sy%!I%=RND(1024)-1:NEXT
 2680IFmusic%=FALSE:m1%=1:m2%=2:VOICES 2:ELSEm1%=5:m2%=6:VOICES 6
 2690OSCLI"CHANNELVOICE "+STR$m1%+" Percussion-Snare"
 2700OSCLI"CHANNELVOICE "+STR$m2%+" Percussion-Noise"
 2710DIM sprvar 130328:!sprvar=130328
 2720OFF:SYS"Hourglass_On"
 2730OSCLI"<NotSpInv?$Dir>.PHmodDeCom"
 2740OSCLI"AddWater <NotSpInv?$Dir>.SpaceSps2 "+STR$~(sprvar+4)
 2750DIMscrollmem% 4000:READscrollnum%:FORI%=0TOscrollnum%:READ$(scrollmem%+I%*228):NEXT:scrollc%=67
 2760DATA15
 2770DATA" ����������������INSTRUCTIONS : Controlls above. S / Q sound ON / OFF ,this turns off sound fx, if you are running a 4-channel interrupt tune then this has the effect of changing from 6 channels being used (2 sound fx and 4 tune"
 2780DATA") to the 4 voices used by the tune - a slight increase in speed (of course if you have not loaded in a tune it goes faster anyway) ... 'ENTER' toggles off/on the speaker ... up down cursor on the title page runs through the vari"
 2790DATA"ous scores (when someone gets a hiscore the program attempts to save all scores to disk and overwrite the score file presently in place).SHIFT speeds up score movement.��������������������� Level technique ... Levels 1 & 2 ; Sho"
 2800DATA"ot all the aliens ... Level 3 ; Shoot all the aliens 6 times to stop any of them colliding with you or going so far down that they cannot appear again -in either case the program kills you off ... Level 4 ; Dodge the aliens till"
 2810DATA" a certain number have appeared.. Level 5 ; Shoot the ship ,dodging through holes in it's rain of missiles-then defend yourself against the clones whilst shooting the main escape pod ... Level 6 ; Must shoot a certain number of "
 2820DATA"the 'coffins' ,making sure they do not fall into you ... Level 7 ; More dodging ... Level 8 ; Shoot the 'Worming' aliens whilst dodging the falling -spacemines? ... Level 9 ; A 'bonus' level - shoot the easy end_of_level_nasty ("
 2830DATA"and I mean SHOOT) ,and if you have lost a ship you get a replacement next level.�������������������� Now we come to the bit people always put into these messages 'cause they feel like it..............................  : Hey...wa"
 2840DATA"sn't that Harvey Smith on his 30MB Hard Disk? People like that shouldn't be allowed out! He'd nearly reformatted me! Me with my ancient 200K 5 1/4'' drive.. I continued down the road with my disks chlunking away in protest -and "
 2850DATA"we were only going 10blocks per second due to being in a tedious BGET loop. Having had enough of Harvey Smiths in general and this loop in particular I turned up a CLOSE# and on to a star bypass, this was more like it! I was goi"
 2860DATA"ng at top speed and nothing could stop me! Or so I assumed till I found myself swerving to keep on the road -this star was loaded! I realised I should get off it before I had an accident, then had one.�������The next thing I kne"
 2870DATA"w I was lying on a hospital bed. A doctor was checking me out -I saw him nod that I was O.K. but when I tried to ask him I found it was no good trying to interrupt him as I did not have the correct priority and he left. Then A l"
 2880DATA"awyer appeared looking annoyed 'There's nothing wrong with you but The Company has decided to pay you too keep your mouth shut about that bypass having had one too many ..... no-one wants a scandal. If you continue to make noise"
 2890DATA" after our generosity The Company might issue a SOUND OFF command... I shuddered ,and ,feeling somewhat light headed I agreed. I was told that since my 200K was totalled they would provide me with a replacement. I just knew it w"
 2900DATA"as going to be a tapestreamer! With heart pumping I walked to The Company's sub-office to collect it. The bored receptionist gave me directions and I went round the back to pick it up. When I saw it I shouted in suprised delight"
 2910DATA" for there in front of me was a gleaming new 550MB CD-Rom! I'm not going to say a thing ,I thought (as the Security Guard gave me the deeds and plug to it -and I got in and turned on my new transport). Then I fogot all about tha"
 2920DATA"t as I shot down the road!!!!!!!!!!! Yaaiiiieeeeee!!!! ������������"
 2930SYS"Hourglass_Smash"
 2940PROCass
 2950ENDPROC
 2960DEFFNscroll
 2970scroll%+=1:char%=?(scrollmem%+scroll%)
 2980IFchar%=251scrollc%=15:IFchar%=252scrollc%=16:ELSEIFchar%=253scrollc%=50:ELSEIFchar%=254scrollc%=67
 2990IFchar%>31 ANDchar%<123:scroll$=RIGHT$(scroll$,50):scroll$+=CHR$char%:=scroll$
 3000IFchar%=255scroll%=FALSE
 3010IFchar%=250:REM Pause
 3020IFchar%=249:scroll$=STRING$(51," ")
 3030IFchar%=128:scroll$=STRING$(15," ")+"Salutations, Freind!"+STRING$(16," ")
 3040=scroll$
 3050DEFPROCscreen:*FX112,1
 3060MODE15:COLOUR139:COLOUR0TINT0:DIMscale 16:!scale=1276DIV2:scale!4=1:scale!8=1:scale!12=1
 3070OFF:CLG:PROCtop:*FX112,2
 3080CLG:PROCtop:VDU24,FALSE;FALSE;1279;900;:ENDPROC
 3090DEFPROCtop:PROCsppr("98",FALSE,904,FALSE):PROCsppr("98",1278,904,FALSE):SYS"OS_SpriteOp",308,sprvar,"99",2,904,FALSE,scale
 3100PROCscreen2:ENDPROC
 3110DEFPROCscreen2:PRINTTAB(2,1)" �  SCORE  � ";TAB(2,2)" "C$" ";TAB(65,1)" � HISCORE � "TAB(65,2)" "C$" ";TAB(76-LEN(STR$HI%(1)),2);STR$HI%(1);TAB(18,1)"M:�"TAB(18,2)"S:�"TAB(24,2)"SHIPS:���"TAB(24,1)"LEVEL:00001"
 3120PRINTTAB(44,1)"Level Name :"TAB(40,2)STRING$(20," ")TAB(50-LEN(LEV$(LEVELSTART%))DIV2,2);LEV$(LEVELSTART%):ENDPROC
 3130DEFPROCass:use=&700
 3140DIM words 64*4:i%=FALSE:FORI%=words TOwords+64*4 STEP4:$I%=STR$i%:i%+=1:NEXT
 3150DIMspace use:FORpass=0TO1:P%=space:[OPT pass*2
 3160.pal:LDR R8,coli%:LDR R10,Aax%:LDR R11,Aay%:LDR R9,Aah%:MOV R6,#0:LDR R7,Aamx%:.loop:LDR R12,[R9,R6]:CMP R12,#1:BLT test:MOV R12,R6:LDR R0,printsprite:LDR R1,sppos:ADR R2,words:ADD R2,R2,R8:LDR R3,[R10,R6]:LDR R4,[R11,R6]:LDR R5,Miy%
 3170SWI "OS_SpriteOp":MOV R6,R12:.test:ADD R6,R6,#4:CMP R6,R7:BNE loop:MOV PC,R14
 3180.coli%:EQUD0:.Miy%:EQUD0
 3190.Aamx%:EQUD0:.Aax%:EQUD0:.Aay%:EQUD0:.Aah%:EQUD0
 3200.v%:LDR R10,Asx%:LDR R11,Asy%:LDR R9,Ash%:MOV R6,#0:LDR R7,Asmx%:.loop2:LDR R12,[R9,R6]:CMP R12,#1:BLO test2:MOV R12,R6:LDR R0,printsprite:LDR R1,sppos:ADR R2,words:ADD R2,R2,#8:LDR R3,[R10,R6]:LDR R4,[R11,R6]:MOV R5,#8
 3210SWI "OS_SpriteOp":MOV R6,R12:.test2:ADD R6,R6,#4:CMP R6,R7:BNE loop2:MOV PC,R14
 3220.d%:LDR R8,coli%:LDR R10,Abx%:LDR R11,Aby%:LDR R9,Abh%:MOV R6,#0:LDR R7,Abmx%:.loop2b:LDR R12,[R9,R6]:CMP R12,#1:BLT test2b:MOV R12,R6:LDR R0,printsprite:LDR R1,sppos:ADR R2,words:ADD R2,R2,R8:LDR R3,[R10,R6]:LDR R4,[R11,R6]
 3230LDR R5,Miy%:SWI "OS_SpriteOp":MOV R6,R12:.test2b:ADD R6,R6,#4:CMP R6,R7:BNE loop2b:MOV PC,R14
 3240.Asmx%:EQUD0:.Asx%:EQUD0:.Asy%:EQUD0:.Ash%:EQUD0
 3250.w%:MOV R0,#0:STR R0,st1%:STR R0,st2%:LDR R0,Aah%:LDR R1,Ash%:LDR R11,Asmx%:LDR R12,Aamx%:MOV R8,#0:.toop1:LDR R2,[R0,R8]:CMP R2,#1:BLT endloop1:MOV R7,#0:.toop2:LDR R2,[R1,R7]:CMP R2,#1:BLO endloop2:.checkx:LDR R6,Asx%
 3260LDR R9,[R6,R7]:LDR R5,Aax%:LDR R10,[R5,R8]:CMP R9,R10:BHI checkx2:.checkx1:LDR R3,Aw1%:ADD R9,R9,R3:CMP R9,R10:BLO endloop2:BAL checky:.checkx2:LDR R3,Aw2%:ADD R10,R10,R3:CMP R9,R10:BHI endloop2:.checky:LDR R6,Asy%:LDR R9,[R6,R7]
 3270LDR R5,Aay%:LDR R10,[R5,R8]:CMP R9,R10:BHI checky2:.checky1:LDR R3,Ah1%:ADD R9,R9,R3:CMP R9,R10:BLO endloop2:BAL hit:.checky2:LDR R3,Ah2%:ADD R10,R10,R3:CMP R9,R10:BHI endloop2:.hit:MOV R2,#0:STR R2,[R1,R7]
 3280LDR R2,[R0,R8]:SUBS R2,R2,#1:STR R2,[R0,R8]:BNE hit2:LDR R2,st2%:ADD R2,R2,#1:STR R2,st2%:BAL endloop2:.hit2:LDR R2,st1%:ADD R2,R2,#1:STR R2,st1%:.endloop2:ADD R7,R7,#4:CMP R7,R11:BNE toop2:.endloop1:ADD R8,R8,#4:CMP R8,R12:BNE toop1
 3290MOV PC,R14
 3300.Aw1%:EQUD0:.Ah1%:EQUD0:.Aw2%:EQUD0:.Ah2%:EQUD0:.st1%:EQUD0:.st2%:EQUD0
 3310.j%:MOV R0,#0:STR R0,col%:LDR R0,Aah%:LDR R8,Aamx%:SUB R8,R8,#4:.shiploop:LDR R2,[R0,R8]:CMP R2,#1:BLT endshiploop:.chkx:LDR R9,shipx%:LDR R5,Aax%:LDR R10,[R5,R8]:CMP R9,R10:BGT chkx2:.chkx1:LDR R3,shipw%:ADD R9,R9,R3:CMP R9,R10
 3320BLT endshiploop:B chky:.chkx2:LDR R3,alienw%:ADD R10,R10,R3:CMP R9,R10:BGT endshiploop:.chky:LDR R9,shipy%:LDR R5,Aay%:LDR R10,[R5,R8]:CMP R9,R10:BGT chky2:.chky1:LDR R3,shiph%:ADD R9,R9,R3:CMP R9,R10:BLT endshiploop:B hitship
 3330.chky2:LDR R3,alienh%:ADD R10,R10,R3:CMP R9,R10:BGT endshiploop:.hitship:MOV R2,#8:STR R2,col%:.endshiploop:SUBS R8,R8,#4:BNE shiploop:MOV PC,R14
 3340.col%:EQUD0:.shipx%:EQUD0:.shipy%:EQUD0:.alienw%:EQUD0:.alienh%:EQUD0:.shipw%:EQUD0:.shiph%:EQUD0
 3350.b%:MOV R0,#0:STR R0,col%:LDR R0,Abh%:LDR R12,Abmx%:MOV R8,#0:.bombloop:LDR R2,[R0,R8]:CMP R2,#1:BLO endbombloop:.chxb:LDR R9,shipx%:LDR R5,Abx%:LDR R10,[R5,R8]:CMP R9,R10:BHI chxb2:.chxb1:LDR R3,shipw%:ADD R9,R9,R3:CMP R9,R10
 3360BLO endbombloop:B chyb:.chxb2:LDR R3,bombw%:ADD R10,R10,R3:CMP R9,R10:BHI endbombloop:.chyb:LDR R9,shipy%:LDR R5,Aby%:LDR R10,[R5,R8]:CMP R9,R10:BHI chyb2:.chyb1:LDR R3,shiph%:ADD R9,R9,R3:CMP R9,R10:BLO endbombloop:B hitshipb
 3370.chyb2:LDR R3,bombh%:ADD R10,R10,R3:CMP R9,R10:BHI endbombloop:.hitshipb:MOV R2,#8:STR R2,col%:.endbombloop:ADD R8,R8,#4:CMP R8,R12:BNE bombloop:MOV PC,R14
 3380.bombw%:EQUD0:.bombh%:EQUD0:.Abmx%:EQUD0:.Abx%:EQUD0:.Aby%:EQUD0:.Abh%:EQUD0
 3390.z%:LDR R11,starx%:LDR R12,stary%:MOV R9,#0:MOV R10,#2:MOV R8,#100:MOV R7,#21:MOV R0,#18:SWI "OS_WriteC":MOV R0,#0:SWI "OS_WriteC":MOV R0,R7:SWI "OS_WriteC":.loopST:LDR R5,[R12,R9]:SUB R5,R5,R10:CMP R5,#0:ADDLT R5,R5,#1024
 3400.ntb:STR R5,[R12,R9]:LDR R0,[R11,R9]:LDR R1,[R12,R9]:SWI "OS_ReadPoint":CMP R2,#0:BNE el:MOV R0,#69:LDR R1,[R11,R9]:LDR R2,[R12,R9]:SWI "OS_Plot":.el:ADD R9,R9,#4:CMP R9,R8:BNE loopST:ADD R7,R7,#21:MOV R0,#18:SWI "OS_WriteC":MOV R0,#0
 3410SWI "OS_WriteC":MOV R0,R7:SWI "OS_WriteC":MOV R10,R10,ASL #2:ADD R8,R8,#120:CMP R8,#460:BNE loopST:MOV PC,R14
 3420.starx%:EQUD0:.stary%:EQUD0
 3430.Z%:LDR R11,BDX%:LDR R12,BDY%:LDR R9,BDIX%:LDR R10,BDIY%:LDR R8,BDC%:MOV R7,#0:LDR R6,Adotsm%:.dotloop:MOV R0,#18:SWI "OS_WriteC":MOV R0,#0:SWI "OS_WriteC":LDR R0,[R8,R7]:SWI "OS_WriteC":MOV R0,#69:LDR R1,[R11,R7]:LDR R2,[R12,R7]
 3440SWI "OS_Plot":LDR R3,[R11,R7]:LDR R4,[R9,R7]:ADD R3,R3,R4:STR R3,[R11,R7]:LDR R3,[R12,R7]:LDR R4,[R10,R7]:ADD R3,R3,R4:STR R3,[R12,R7]:ADD R7,R7,#4:CMP R7,R6:BNE dotloop:MOV PC,R14
 3450.Adotsm%:EQUD0:.BDX%:EQUD0:.BDY%:EQUD0:.BDIX%:EQUD0:.BDIY%:EQUD0:.BDC%:EQUD0
 3460.sppos:EQUDsprvar:.printsprite:EQUD 290
 3470]NEXT
 3480!Aamx%=(amx%+1)*4:!Aax%=ax%:!Aay%=ay%:!Aah%=ah%
 3490!Asmx%=(smx%+1)*4:!Asx%=sx%:!Asy%=sy%:!Ash%=sh%
 3500!Abmx%=(bmx%+1)*4:!Abx%=bx%:!Aby%=by%:!Abh%=bh%
 3510!Adotsm%=(maxdots%+1)*4:!BDX%=DX%:!BDY%=DY%:!BDIX%=DIX%:!BDIY%=DIY%:!BDC%=DC%
 3520!shipw%=126:!shiph%=144:!shipy%=FALSE
 3530!starx%=Sx%:!stary%=Sy%
 3540ENDPROC

� >!RunImage
:�Paul Hallam's : Not Space Invaders Again?O
0� A 'Paul Hallam In A Shoebox' PD PRODUCTION
(%� �Paul Hallam (Very early 1990.)
2H� WARNING!!! Program uses imaginary 'boxes' for collision detection.
< 
F@� This program is PD and so should not be sold for a profit.
PE� If (during an attempt to wipe the program) your Archie explodes
ZK� then the programmer wishes to make it clear that you had been warned!
d 
n � Risc OS upgrade 23/11/1990
xJ� The reason for the complex, near illegible code is that at this time
�<� I had just got an A3000 after years on a trusty BBC B.
�H� The idea I focused on (Mainly from Peter Scott's games programming
�I� articles...) was that a program ,if in BASIC ,had to be as squashed
�<� and illegible as possible to go fast and be efficient!
�L� I have now seen the error of my ways (after trying to speed this $%%%@
�H� program up shortly after I wrote it) and am now an advocate of the
�I� '20% of the program contains 80% of the delay' viewpoint (so expect
�-� easier code to follow in any new prog.)
� 
�C� Sprite compression upgrade 7/11/1991 (halves program length.)
� 
��� �:�:�:�" at line ";�:�=25�"Needs a whopping 320K in screen Memory":�:�:�"RMENSURE Decompactor 1.00 QUIT":�"RMKILL Decompactor":�
�
�24:�9
 
9ȗ �:�0,15)"STracker-type tune now active?"'"(Y/N)";
�ȗA%,B%,C%:�C%=�
"7ș"OS_Confirm"�yn%:�yn%:music%=�:�yn%=121 music%=�
, 
6#ft%=3:maxdots%=299:m%=�:spek%=�
@�"FX25":LEVELSTART%=1
J�
T�initialise:�PROCloadsc
^g%=1:�15:ii=(2*�)/32
h*�screen:hib%=1:scroll%=�:�z=�:cheat%=�
r� �:sound%=�:�
|Vg%=g%�3:ș"OS_Byte",112,g%:�:�startprompt:�z%:Ȗ:ș"OS_Byte",113,g%::��-99:����-99
�-�cheat%:LEVELSTART%=cheat%:�LEVELSTART%=1
�5�:�"RMKILL Decompactor":� 0:�:�:�" at line ";�:�
��svars:�139:��:� �
���resetvars:�ON:�l(l%)
�!�g%=g%�3:ș"OS_Byte",112,g%:�
�H%=D%:�m%�m:��k
�6�I%=0�smx%*4�4:sy%!I%+=syinc%:�sy%!I%>ts%:sh%!I%=�
�0�:f%+=1:�f%=ft%f%=�:s%+=2:�s:�s%+1=smx%:s%=�
�)�sppr("1",X%,Y%,�):�as(l%):�v%:�prntv
�+�z%:Ȗ:ș"OS_Byte",113,g%:�-90:���-106
�H�-82 �music%=�:� �:Ƞ 2:sound%=�:��-17 �music%=�:� �:Ƞ 2:sound%=�
�<�-82 �music%:Ƞ 6:sound%=�:��-17 �music%:Ƞ 4:sound%=�
�L�-61 �spek%spek%=�:�"SPEAKER OFF":��-61 �spek%=�:spek%=�:�"SPEAKER ON"
�-102m%=�:��-71m%=�
�-117 ��-119:D%=3
g�D%<>H%�AH%=A%:ș"OS_Byte",112,1:�prntv:ș"OS_Byte",112,2:�prntv:ș"OS_Byte",112,g%:�AH%=A%�D%=H% �
&zl%=l%�9+1:ș"OS_Byte",112,1:�prntv:ș"OS_Byte",112,2:�prntv:ș"OS_Byte",112,g%:�l%=3�l%=1�THREAT:�l%=1D%-=1:�D%<�:D%=�
0�
:�explode
D�:�D%=3
N�hicheck:��:�
X=��prntv:��:�3,2)C$�13-�(�SC%),2)�SC%�20,1);:�m%�"�"��"�"
b��40,2)�20," ")�50-�(LEV$(l%))�2,2)LEV$(l%)�30,2)�3-D%,"�")�D%,"�")�30,1)D$�35-�(�(l%+LEVADD%)),1)�(l%+LEVADD%)�20,2);:�sound%�"�"��"�"
lT�SC%>HI%(1):�5+g%:�66,2)C$�76-�(�SC%),2)�SC%:��66,2)C$�76-�(�HI%(1)),2)�HI%(1)
v��:�
�/��k:�-98 �X%>0X%-=S%��-67 �X%<1152:X%+=S%
��
�,��m:ȗx%,y%,B%:�x%<X%X%-=S%��x%>X%X%+=S%
�ȗ �X%,�:�
� ��s:�m%ȗx%,y%,B%:�B%>0�SHOT
��m%=�:�-74�SHOT
��
�y��SHOT:sx%!(s%*4)=X%:sy%!(s%*4)=128:sh%!(s%*4)=1:sy%!((s%+1)*4)=128:sx%!((s%+1)*4)=X%+116:sh%!((s%+1)*4)=1:�burp(3):�
�"��burp(SO%):�SO%=1�m1%,-5,27,6
��SO%=2�m2%,-10,255,8
��SO%=3�m1%,-7,60,10
�/�SO%=10�m1%,-5,�(20)*5,2:�m2%,-5,�(10)*15,2
��
3��as(L%):�L%�A1,�A1,�A3,�A4,�A5,�A6,�A4,�A8,�A9
�
J��sppr(n$,xsp%,ysp%,gc%):ș"OS_SpriteOp",308,sprvar,n$,xsp%,ysp%,gc%:�
 ���THREAT:�Y%:Y%=900:��=�:g%=g%�2+1:ș"OS_Byte",112,g%:�:�sppr("9",380,Y%,�):�sppr("10",700,Y%+250,�):Y%-=20:�levright:�z%:���>12:Ȗ:ș"OS_Byte",113,g%
*�Y%+340<�:�l%=1:LEVADD%+=9
4�
>��levright:�l%=3�
H\�cent("Oh No! Back to level:1 again!!!!",20):�D%>0�cent("A bonus ship next mission!",24)
R�
\��sc(sc%):SC%+=sc%:�
fP��A1:!Aw2%=124:!Ah2%=92:�w%:�!st2%>0�I%=1�!st2%:�sc(1):�:AH%+=!st2%:�burp(2)
p1GIT%=�:�I%=0�A%*4�4:ax%!I%+=Ainc%:�ah%!I%>0 �
zW�(Ainc%=�(Ainc%)�ax%!I%>1279-124-�(Ainc%))�(Ainc%=-�(Ainc%)�ax%!I%<�(Ainc%))Flag%=�
��
�
�:�Flag%�
�AFlag%=�:Ainc%=-Ainc%:�I%=0�A%*4�4:ay%!I%-=64:�ay%!I%<�:GIT%=�
��
�=�:�drop:�Asptog%=�:�pa(5,�):Asptog%=�:��pa(6,�):Asptog%=�
�5�bombs(4,8):!shipx%=X%:�j%:�!col%>� �GIT%=�:D%+=1
��
�2��A3:�w%:�!st1%>0�I%=1�!st1%:�sc(1):�:�burp(1)
�4�!st2%>0�I%=1�!st2%:�sc(4):�:AH%+=!st2%:�burp(2)
ޣI%=�:�I=(mov%*(�/16))/3�2*�+(mov%*(�/16))/3�2*�/31:ax%!I%=k%+�I*K%:ay%!I%=(kk%+�I*KK%-Asptog%)*-(Asptog%<=KK%):I%+=4:�:�pa(7,�):Asptog%+=3:mov%+=1:mov%=mov%�96
�!!shipx%=X%:�j%:�!col%>0:D%+=1
��
�2��A4:�w%:�!st2%>0�I%=1�!st2%:�sc(5):�:�burp(2)
<�I%=0�A%*4�4:�ah%!I%>�:ay%!I%-=AFALL%:�ay%!I%<�:ah%!I%=�
�:Asptog%=�:�(4)=1 �
%�I%=0�A%*4�4:�ah%!I%=�:Asptog%=I%
$J�:�Asptog%>�:ah%!Asptog%=1:ay%!Asptog%=1024:ax%!Asptog%=�(1198):AH%+=1
.,�:�pa(3,�):!shipx%=X%:�j%:�!col%>�:D%+=1
8�
B4��A5:�w%:J%=�mova5:!shipx%=X%:�j%:�!col%>�:D%+=1
L�
Vݤmova5:�mov%=�:�A51:=�
`�mov%=�:�A52:=�
j�mov%=200:�A53:=�
t�A54:=�
~/��A51:�!st1%>0�I%=1�!st1%:�sc(1):�:�burp(1)
�ay%!0-=8:�!ay%<570mov%=�
��pa(Asptog%,�):�
�k��A52:�!st1%>0�I%=1�!st1%:�sc(1):�:�burp(1):�!ah%<76:Asptog%=19:�!ah%<51:Asptog%=12:�!ah%<26:Asptog%=13
�@!ax%=�rpos*550+550:!ay%=�rpos*96+570:�drop2(92):�bombs(15,�)
�0rpos+=rinc:�rpos=rmax:Ȕrmax,rmin:rinc=-rinc
���pa(Asptog%,�):�!st2%>0�I%=1�!st2%:�sc(100):�:�burp(2):mov%=200:!ah%=51:!Aw2%=108:!alienw%=!Aw2%:!Ah2%=108:!alienh%=!Ah2%:!bombw%=48:!bombh%=50:�I%=0�bom%*4�4:bh%!I%=�:�:bom%=bmx%
��
�/��A53:�!st1%>0�I%=1�!st1%:�sc(2):�:�burp(1)
�B�!st2%>0�I%=1�!st2%:�sc(5):�:�burp(2):�!ah%<1:�sc(95):AH%=A%:�
�(!ax%=�rpos*550+598:!ay%=�rpos*96+658
�0rpos+=rinc:�rpos=rmax:Ȕrmax,rmin:rinc=-rinc
�R%=�:�(9)=1 �
-�I%=4�A%*4�4:�ah%!I%=�:R%=I%:I%=A%*4:�:��

-�R%>�:ah%!R%=5:ax%!R%=!ax%:ay%!R%=!ay%-90
/�:�I%=4�A%*4�4:ay%!I%-=4:�ay%!I%<�:ah%!I%=�
%�:�drop3:�pa(14,8):�bombs(16,8):�
(9��A6:�w%:�!st2%>0�I%=1�!st2%:�sc(4):AH%+=1:�:�burp(2)
2&mov%+=(�(8)-�(8))*4:�mov%<�:mov%=�
< �mov%>1280-114:mov%=1280-114
F�(2)=1�
P%�I%=0�A%*4�4:�ah%!I%=�:Asptog%=I%
Z@�:�Asptog%>�:ah%!Asptog%=1:ay%!Asptog%=1024:ax%!Asptog%=mov%
d0�:�I%=0�A%*4�4:ay%!I%-=64:�ay%!I%<�:ah%!I%=�
n-�:�pa(17,8):!shipx%=X%:�j%:�!col%>�:D%+=1
x�
�2��A8:�w%:�!st1%>0�I%=1�!st1%:�sc(1):�:�burp(1)
�4�!st2%>0�I%=1�!st2%:�sc(5):�:AH%+=!st2%:�burp(2)
�|�I%=0�amx%*4�4:ax%!I%+=atlevnin%!I%:�ax%!I%<48�ax%!I%>1280-48:ay%!I%-=60:atlevnin%!I%=-atlevnin%!I%:ax%!I%+=atlevnin%!I%
��
��(2)<2�drop9
�8�pa(18,�):�bombs(30,8):!shipx%=X%:�j%:�!col%>�:D%+=1
��
�9��A9:�w%:�!st1%>0�I%=1�!st1%:�sc(1):AH%+=1:�:�burp(1)
�3�!st2%>0�I%=1�!st2%:�sc(20):�:�burp(2):AH%=A%:�
�4ay%!0-=4:�pa(31,�):!shipx%=X%:�j%:�!col%>�:D%+=1
��ay%!0<�:D%+=1
��
����L1:�clear:!Aw1%=10:!Ah1%=74:A%=23:!Aamx%=(amx%+1)*4:�I%=0�3:�J%=0�5:ax%!((J%+(I%*6))*4)=J%*164:ay%!((J%+(I%*6))*4)=490+I%*108:ah%!((J%+(I%*6))*4)=1:�,:�pa(5,�):AH%=�:Asptog%=�
	ft%=3
7Flag%=�:Ainc%=16:bom%=3:bf%=16:!bombw%=8:!bombh%=72
5!Aw2%=84:!alienw%=!Aw2%:!Ah2%=80:!alienh%=!Ah2%:�
"%��L2:�L1:Ainc%=32:bom%=7:bf%=32:�
,���L3:�clear:!Aw1%=10:!Ah1%=74:A%=amx%:!Aamx%=(amx%+1)*4:KK%=860:K%=860:k%=640:kk%=80:I%=�:�I=0�2*� �2*�/31:ax%!I%=k%+�I*K%:ay%!I%=�I*KK%+kk%:ah%!I%=3:I%+=4:�:�pa(7,�):AH%=�
6Asptog%=�:mov%=�
@7!Aw2%=104:!alienw%=!Aw2%:!Ah2%=106:!alienh%=!Ah2%:�
J;��L4:�clear:!Aw1%=10:!Ah1%=74:A%=amx%:!Aamx%=(amx%+1)*4
TIAH%=A%-80:AFALL%=32:!Aw2%=82:!alienw%=!Aw2%:!Ah2%=82:!alienh%=!Ah2%:�
^&��L7:�L4:AH%-=80:AFALL%=AFALL%*2:�
hP��L5:�clear:!Aw1%=10:!Ah1%=74:A%=amx%:!Aamx%=(amx%+1)*4:!bombw%=6:!bombh%=60
rcah%!0=101:ax%!0=�:ay%!0=900:mov%=�:Asptog%=8:rinc=�/128:rmin=�:rmax=2*�:rpos=rmin:bom%=9:bf%=16
|=AH%=�:!Aw2%=184:!alienw%=!Aw2%:!Ah2%=230:!alienh%=!Ah2%:�
�;��L6:�clear:!Aw1%=10:!Ah1%=74:A%=amx%:!Aamx%=(amx%+1)*4
�mov%=640-(114/2)
�?AH%=�-80:!Aw2%=86:!alienw%=!Aw2%:!Ah2%=114:!alienh%=!Ah2%:�
�;��L8:�clear:!Aw1%=10:!Ah1%=74:A%=amx%:!Aamx%=(amx%+1)*4
�]makeit%=48:�I%=0�15*4 �4:atlevnin%!I%=48:ax%!I%=makeit%:makeit%+=48:ay%!I%=860:ah%!I%=3:�
�dmakeit%=480:�I%=16*4�amx%*4 �4:atlevnin%!I%=-48:ax%!I%=makeit%:makeit%+=48:ay%!I%=800:ah%!I%=3:�
�*!bombw%=44:!bombh%=30:bom%=bmx%:bf%=30
�BAH%=�:!ah%=2:!Aw2%=44:!alienw%=!Aw2%:!Ah2%=30:!alienh%=!Ah2%:�
֗��L9:�clear:!Aw1%=10:!Ah1%=74:A%=2:!Aamx%=(2+1)*4:!ax%=640-300:!ay%=900:AH%=-600:!ah%=186:!Aw2%=600:!alienw%=!Aw2%:!Ah2%=430:!alienh%=!Ah2%:ft%=2:�
�[��clear:�I%=0�bmx%*4�4:bh%!I%=�:�:�I%=0�smx%*4�4:sh%!I%=�:�:�I%=0�amx%*4�4:ah%!I%=�:�:�
�2��l(L%):�L%�L1,�L2,�L3,�L4,�L5,�L6,�L7,�L8,�L9
��
�t��drop:c1%=(�(A%+1)-1)*4:c2%=(�(bom%+1)-1)*4:�ah%!c1%>� �bh%!c2%=�:bh%!c2%=1:bx%!c2%=ax%!c1%:by%!c2%=ay%!c1%+bf%
T��drop9:c2%=(�(bom%+1)-1)*4:�bh%!c2%=�:bh%!c2%=1:bx%!c2%=�(1249):by%!c2%=896+bf%
�
c��drop2(c1%):c2%=(�(bom%+1)-1)*4:�!ah%>� �bh%!c2%=�:bh%!c2%=1:bx%!c2%=!ax%+c1%:by%!c2%=!ay%+bf%
&�
0y��drop3:c1%=�(A%+1)*4+4:c2%=(�(bom%+1)-1)*4:�ah%!c1%>� �bh%!c2%=�:bh%!c2%=1:bx%!c2%=ax%!c1%+50:by%!c2%=ay%!c1%+12+bf%
:�
DD��bombs(c%,M%):�b%:�!col%>�:D%+=1:� �:�I%=0�bom%*4�4:�bh%!I%=1 �
N$by%!I%-=bf%:�by%!I%<bf%:bh%!I%=�
X�
b�:�pb(c%,M%):�
lO��ON:� X1%,X2%,Y%,WY%:X1%=-160:X2%=1280:��=�:g%=g%�2+1:ș"OS_Byte",112,g%:�
vX1%+=16:X2%-=16
�o�sppr("203",X1%,�,�):ș"OS_SpriteOp",303,sprvar,"203":�sppr("203",X2%,�,�):ș"OS_SpriteOp",303,sprvar,"203"
�+�z%:���>12:Ȗ:ș"OS_Byte",113,g%:�X1%=0
�.Y%=144:��=�:g%=g%�2+1:ș"OS_Byte",112,g%:�
�#�24,Xstart%;Y%;Xstart%+128;148;
��sppr("1",Xstart%,�,�)
��24,�;�;1279;900;:Y%-=6
�o�sppr("203",X1%,�,�):ș"OS_SpriteOp",303,sprvar,"203":�sppr("203",X2%,�,�):ș"OS_SpriteOp",303,sprvar,"203"
��(8):�burp(10)
�3�150,200:�Xstart%-4,Y%:�X2%,200:�Xstart%+130,Y%
�*�z%:���>12:Ȗ:ș"OS_Byte",113,g%:�Y%=�
��=�:g%=g%�2+1:ș"OS_Byte",112,g%:�:X1%-=16:X2%+=16:�sppr("203",X1%,�,�):ș"OS_SpriteOp",303,sprvar,"203":�sppr("203",X2%,�,�):ș"OS_SpriteOp",303,sprvar,"203"
��sppr("1",Xstart%,Y%,�)
�.�z%:���>12:Ȗ:ș"OS_Byte",113,g%:�X1%=-160
�
���explode:�I%=0�maxdots%*4�4:�DX%!I%=�(64)*2+X%:DY%!I%=�(36)*4:DC%!I%=�DX%!I%,DY%!I%):�DC%!I%>�:DIX%!I%=(�(20)-10)*4:DIY%!I%=�(10)*4:�
*G%=�:��=�:g%=g%�3:ș"OS_Byte",112,g%:�
 R�Z%:�z%:Ȗ:ș"OS_Byte",113,g%:G%+=1:�m2%,-15+G%,255,8:�m1%,-15+G%,255,8:�G%=14
*�
4-��pa(!coli%,!Miy%):!coli%=!coli%*4:�pal:�
>,��pb(!coli%,!Miy%):!coli%=!coli%*4:�d%:�
H/��svars:l%=LEVELSTART%:SC%=�:D%=�:LEVADD%=�
R�
\��resetvars:s%=�
fOf%=�:Asptog%=�:Xstart%=576:X%=Xstart%:Y%=�:ȗ � X%,Y%:ȗ ȓ0,0,1280-128,0:�
pU��hicheck:Asptog%=1:�I%=100�1�-1:�HI%(I%)<SC%:HI%(I%+1)=HI%(I%):HI$(I%+1)=HI$(I%)
z#�HI%(I%)>=SC%:Asptog%=I%+1:I%=1
��:�Asptog%<101 �
�GHI%(Asptog%)=SC%:�cheat%HI$(Asptog%)="Cheater !"�HI$(Asptog%)=�hisc
��savesc
��
�$�Asptog%<101:hib%=Asptog%�hib%=1
��
��ݤhisc:�cent("CONGRATULATIONS!",20):�cent("You killed enough aliens, you scum,to be awarded the 'Genocide' cross",21):�cent("Please enter your name for the hall of fame:",22)
��cent(�20," "),23):�"FX15"
�a$=�20," "):a$="":�
��G%=�:�G%>31�G%=13
� �G%=127 ��a$>�:a$=�a$,�a$-1)
�$�G%<>127 �G%<>13 ��a$<20:a$+=�G%
�*�cent(�20," "),23):�cent(a$,23):�G%=13
	=a$
	���startprompt:�32:�5:x=z:ȑ432,700:�I%=1��aa$:jj=�x*64:�I%*16,jj+128:�aa$,I%,1):�I%*16,64+jj:�ba$,I%,1):�I%*16,jj:�ca$,I%,1):x+=ii:�:z+=ii
	kȑ0,0:�96,700:�"S = Sound On":�96,632:�"Q = Sound Off":�1024,700:�"K = Keyboard":�1024,632:�"M = Mouse"
	$>�16,866:�"DELETE = Pause On":�16,798:�"COPY   = Pause Off"
	.L�1024,866:�"f8 and":�1024,832:�"f5 together,":�1024,798:�"Self Destruct"
	8�392,600:�da$:�132,568:�ea$
	B
�4:�:�127
	L��I%=hib%�hib%+5:�129+I%�14:�cent(�7-��I%," ")+�I%+" ... "+�20," ")+" ... "+�10-��HI%(I%),"0")+�HI%(I%)+"0   ",16+(I%-hib%)*2):�cent(HI$(I%),16+(I%-hib%)*2)
	V$�cent(�51," "),17+(I%-hib%)*2):�
	`>�scrollc%:�240:�I%=0�3:scroll$=�scroll:�:�cent(scroll$,28)
	j�139:�0Ȝ0
	t��(�-56 ��-87 ��-54 ��-66):ș"OS_Byte",113,g%:�30,10)"Release keys.       ":kt%=�:���-kt%>150:�"FX15":�30,10)"Which Level (1-9) ";:cheat%=�:�:cheat%-=48
	~�cheat%<1�cheat%>9:cheat%=�
	��-58hib%-=1
	��-1 ��-58hib%-=5
	��-42hib%+=1
	��-1 ��-42hib%+=5
	��hibbib
	�*�cent("Press  > SPACE < to start.",30)
	��
	�+��hibbib:�hib%<1hib%=1:��hib%>95hib%=95
	�+�2,20)"�"�75,20)"�"�2,22)"�"�75,22)"�"
	��
	�)��cent(a$,ty%):�40-(�a$�2),ty%);a$:�
	�Y��savesc:F%=�"<NotSpInv?$Dir>.ScoreIAIf":�I%=1�100:�#F%,HI$(I%):�#F%,HI%(I%):�:�#F%:�
Y��loadsc:F%=�"<NotSpInv?$Dir>.ScoreIAIf":�I%=1�100:�#F%,HI$(I%):�#F%,HI%(I%):�:�#F%:�

G��initialise:�HI%(100+1),HI$(100+1):HI$()="    Vacant     ":HI%()=0
'��T^J:� LEV$(9):�I%=1�9:�LEV$(I%):�
~�"Easy","Still Easy","The  Noose","Target Practice","Goliath","Traffic","Sunday Drivers","Lilliputans?","Shoot the artist"
(A� Collision detection is set up with your missile being 10,74
2�aa$="NOT Space Invaders Again??":ba$="        PD by :":ca$="    Paul    Hallam �1990":da$="RETURN...or Mouse Button...Fire":ea$="Z.....or Move Mouse.....Left        X.....or Move Mouse....Right"
<C$=�11,"0"):D$=�5,"0")
F!amx%=32-1:bmx%=32-1:smx%=12-1
Pts%=900
ZS%=18:syinc%=5*S%
d��fx%amx%*4,fy%amx%*4,fh%amx%*4,ax%amx%*4,ay%amx%*4,ah%amx%*4,atlevnin%amx%*4,sx%smx%*4,sy%smx%*4,sh%smx%*4,bx%bmx%*4,by%bmx%*4,bh%bmx%*4,Sx%90*4,Sy%90*4,DC%maxdots%*4,DX%maxdots%*4,DY%maxdots%*4,DIX%maxdots%*4,DIY%maxdots%*4
n3�I%=0�360�4:Sx%!I%=�(1280)-1:Sy%!I%=�(1024)-1:�
x0�music%=�:m1%=1:m2%=2:Ƞ 2:�m1%=5:m2%=6:Ƞ 6
�-�"CHANNELVOICE "+�m1%+" Percussion-Snare"
�-�"CHANNELVOICE "+�m2%+" Percussion-Noise"
�"� sprvar 130328:!sprvar=130328
��:ș"Hourglass_On"
�!�"<NotSpInv?$Dir>.PHmodDeCom"
�7�"AddWater <NotSpInv?$Dir>.SpaceSps2 "+�~(sprvar+4)
�U�scrollmem% 4000:�scrollnum%:�I%=0�scrollnum%:�$(scrollmem%+I%*228):�:scrollc%=67
��15
���" ����������������INSTRUCTIONS : Controlls above. S / Q sound ON / OFF ,this turns off sound fx, if you are running a 4-channel interrupt tune then this has the effect of changing from 6 channels being used (2 sound fx and 4 tune"
���") to the 4 voices used by the tune - a slight increase in speed (of course if you have not loaded in a tune it goes faster anyway) ... 'ENTER' toggles off/on the speaker ... up down cursor on the title page runs through the vari"
���"ous scores (when someone gets a hiscore the program attempts to save all scores to disk and overwrite the score file presently in place).SHIFT speeds up score movement.��������������������� Level technique ... Levels 1 & 2 ; Sho"
���"ot all the aliens ... Level 3 ; Shoot all the aliens 6 times to stop any of them colliding with you or going so far down that they cannot appear again -in either case the program kills you off ... Level 4 ; Dodge the aliens till"
���" a certain number have appeared.. Level 5 ; Shoot the ship ,dodging through holes in it's rain of missiles-then defend yourself against the clones whilst shooting the main escape pod ... Level 6 ; Must shoot a certain number of "
��"the 'coffins' ,making sure they do not fall into you ... Level 7 ; More dodging ... Level 8 ; Shoot the 'Worming' aliens whilst dodging the falling -spacemines? ... Level 9 ; A 'bonus' level - shoot the easy end_of_level_nasty ("
��"and I mean SHOOT) ,and if you have lost a ship you get a replacement next level.�������������������� Now we come to the bit people always put into these messages 'cause they feel like it..............................  : Hey...wa"
��"sn't that Harvey Smith on his 30MB Hard Disk? People like that shouldn't be allowed out! He'd nearly reformatted me! Me with my ancient 200K 5 1/4'' drive.. I continued down the road with my disks chlunking away in protest -and "
"��"we were only going 10blocks per second due to being in a tedious BGET loop. Having had enough of Harvey Smiths in general and this loop in particular I turned up a CLOSE# and on to a star bypass, this was more like it! I was goi"
,��"ng at top speed and nothing could stop me! Or so I assumed till I found myself swerving to keep on the road -this star was loaded! I realised I should get off it before I had an accident, then had one.�������The next thing I kne"
6��"w I was lying on a hospital bed. A doctor was checking me out -I saw him nod that I was O.K. but when I tried to ask him I found it was no good trying to interrupt him as I did not have the correct priority and he left. Then A l"
@��"awyer appeared looking annoyed 'There's nothing wrong with you but The Company has decided to pay you too keep your mouth shut about that bypass having had one too many ..... no-one wants a scandal. If you continue to make noise"
J��" after our generosity The Company might issue a SOUND OFF command... I shuddered ,and ,feeling somewhat light headed I agreed. I was told that since my 200K was totalled they would provide me with a replacement. I just knew it w"
T��"as going to be a tapestreamer! With heart pumping I walked to The Company's sub-office to collect it. The bored receptionist gave me directions and I went round the back to pick it up. When I saw it I shouted in suprised delight"
^��" for there in front of me was a gleaming new 550MB CD-Rom! I'm not going to say a thing ,I thought (as the Security Guard gave me the deeds and plug to it -and I got in and turned on my new transport). Then I fogot all about tha"
hJ�"t as I shot down the road!!!!!!!!!!! Yaaiiiieeeeee!!!! ������������"
rș"Hourglass_Smash"
|�ass
��
�ݤscroll
�*scroll%+=1:char%=?(scrollmem%+scroll%)
�]�char%=251scrollc%=15:�char%=252scrollc%=16:��char%=253scrollc%=50:��char%=254scrollc%=67
�F�char%>31 �char%<123:scroll$=�scroll$,50):scroll$+=�char%:=scroll$
��char%=255scroll%=�
��char%=250:� Pause
��char%=249:scroll$=�51," ")
�?�char%=128:scroll$=�15," ")+"Salutations, Freind!"+�16," ")
�=scroll$
���screen:*FX112,1
�I�15:�139:�0Ȝ0:�scale 16:!scale=1276�2:scale!4=1:scale!8=1:scale!12=1
��:�:�top:*FX112,2
�:�top:�24,�;�;1279;900;:�
b��top:�sppr("98",�,904,�):�sppr("98",1278,904,�):ș"OS_SpriteOp",308,sprvar,"99",2,904,�,scale
�screen2:�
&���screen2:�2,1)" �  SCORE  � ";�2,2)" "C$" ";�65,1)" � HISCORE � "�65,2)" "C$" ";�76-�(�HI%(1)),2);�HI%(1);�18,1)"M:�"�18,2)"S:�"�24,2)"SHIPS:���"�24,1)"LEVEL:00001"
0X�44,1)"Level Name :"�40,2)�20," ")�50-�(LEV$(LEVELSTART%))�2,2);LEV$(LEVELSTART%):�
:��ass:use=&700
D>� words 64*4:i%=�:�I%=words �words+64*4 �4:$I%=�i%:i%+=1:�
N-�space use:�pass=0�1:P%=space:[OPT pass*2
X�.pal:LDR R8,coli%:LDR R10,Aax%:LDR R11,Aay%:LDR R9,Aah%:MOV R6,#0:LDR R7,Aamx%:.loop:LDR R12,[R9,R6]:CMP R12,#1:BLT test:MOV R12,R6:LDR R0,printsprite:LDR R1,sppos:ADR R2,words:ADD R2,R2,R8:LDR R3,[R10,R6]:LDR R4,[R11,R6]:LDR R5,Miy%
bQSWI "OS_SpriteOp":MOV R6,R12:.test:ADD R6,R6,#4:CMP R6,R7:BNE loop:MOV PC,R14
l.coli%:EQUD0:.Miy%:EQUD0
v4.Aamx%:EQUD0:.Aax%:EQUD0:.Aay%:EQUD0:.Aah%:EQUD0
��.v%:LDR R10,Asx%:LDR R11,Asy%:LDR R9,Ash%:MOV R6,#0:LDR R7,Asmx%:.loop2:LDR R12,[R9,R6]:CMP R12,#1:BLO test2:MOV R12,R6:LDR R0,printsprite:LDR R1,sppos:ADR R2,words:ADD R2,R2,#8:LDR R3,[R10,R6]:LDR R4,[R11,R6]:MOV R5,#8
�SSWI "OS_SpriteOp":MOV R6,R12:.test2:ADD R6,R6,#4:CMP R6,R7:BNE loop2:MOV PC,R14
��.d%:LDR R8,coli%:LDR R10,Abx%:LDR R11,Aby%:LDR R9,Abh%:MOV R6,#0:LDR R7,Abmx%:.loop2b:LDR R12,[R9,R6]:CMP R12,#1:BLT test2b:MOV R12,R6:LDR R0,printsprite:LDR R1,sppos:ADR R2,words:ADD R2,R2,R8:LDR R3,[R10,R6]:LDR R4,[R11,R6]
�aLDR R5,Miy%:SWI "OS_SpriteOp":MOV R6,R12:.test2b:ADD R6,R6,#4:CMP R6,R7:BNE loop2b:MOV PC,R14
�4.Asmx%:EQUD0:.Asx%:EQUD0:.Asy%:EQUD0:.Ash%:EQUD0
��.w%:MOV R0,#0:STR R0,st1%:STR R0,st2%:LDR R0,Aah%:LDR R1,Ash%:LDR R11,Asmx%:LDR R12,Aamx%:MOV R8,#0:.toop1:LDR R2,[R0,R8]:CMP R2,#1:BLT endloop1:MOV R7,#0:.toop2:LDR R2,[R1,R7]:CMP R2,#1:BLO endloop2:.checkx:LDR R6,Asx%
��LDR R9,[R6,R7]:LDR R5,Aax%:LDR R10,[R5,R8]:CMP R9,R10:BHI checkx2:.checkx1:LDR R3,Aw1%:ADD R9,R9,R3:CMP R9,R10:BLO endloop2:BAL checky:.checkx2:LDR R3,Aw2%:ADD R10,R10,R3:CMP R9,R10:BHI endloop2:.checky:LDR R6,Asy%:LDR R9,[R6,R7]
��LDR R5,Aay%:LDR R10,[R5,R8]:CMP R9,R10:BHI checky2:.checky1:LDR R3,Ah1%:ADD R9,R9,R3:CMP R9,R10:BLO endloop2:BAL hit:.checky2:LDR R3,Ah2%:ADD R10,R10,R3:CMP R9,R10:BHI endloop2:.hit:MOV R2,#0:STR R2,[R1,R7]
��LDR R2,[R0,R8]:SUBS R2,R2,#1:STR R2,[R0,R8]:BNE hit2:LDR R2,st2%:ADD R2,R2,#1:STR R2,st2%:BAL endloop2:.hit2:LDR R2,st1%:ADD R2,R2,#1:STR R2,st1%:.endloop2:ADD R7,R7,#4:CMP R7,R11:BNE toop2:.endloop1:ADD R8,R8,#4:CMP R8,R12:BNE toop1
�MOV PC,R14
�K.Aw1%:EQUD0:.Ah1%:EQUD0:.Aw2%:EQUD0:.Ah2%:EQUD0:.st1%:EQUD0:.st2%:EQUD0
��.j%:MOV R0,#0:STR R0,col%:LDR R0,Aah%:LDR R8,Aamx%:SUB R8,R8,#4:.shiploop:LDR R2,[R0,R8]:CMP R2,#1:BLT endshiploop:.chkx:LDR R9,shipx%:LDR R5,Aax%:LDR R10,[R5,R8]:CMP R9,R10:BGT chkx2:.chkx1:LDR R3,shipw%:ADD R9,R9,R3:CMP R9,R10
��BLT endshiploop:B chky:.chkx2:LDR R3,alienw%:ADD R10,R10,R3:CMP R9,R10:BGT endshiploop:.chky:LDR R9,shipy%:LDR R5,Aay%:LDR R10,[R5,R8]:CMP R9,R10:BGT chky2:.chky1:LDR R3,shiph%:ADD R9,R9,R3:CMP R9,R10:BLT endshiploop:B hitship

�.chky2:LDR R3,alienh%:ADD R10,R10,R3:CMP R9,R10:BGT endshiploop:.hitship:MOV R2,#8:STR R2,col%:.endshiploop:SUBS R8,R8,#4:BNE shiploop:MOV PC,R14

e.col%:EQUD0:.shipx%:EQUD0:.shipy%:EQUD0:.alienw%:EQUD0:.alienh%:EQUD0:.shipw%:EQUD0:.shiph%:EQUD0

�.b%:MOV R0,#0:STR R0,col%:LDR R0,Abh%:LDR R12,Abmx%:MOV R8,#0:.bombloop:LDR R2,[R0,R8]:CMP R2,#1:BLO endbombloop:.chxb:LDR R9,shipx%:LDR R5,Abx%:LDR R10,[R5,R8]:CMP R9,R10:BHI chxb2:.chxb1:LDR R3,shipw%:ADD R9,R9,R3:CMP R9,R10

 �BLO endbombloop:B chyb:.chxb2:LDR R3,bombw%:ADD R10,R10,R3:CMP R9,R10:BHI endbombloop:.chyb:LDR R9,shipy%:LDR R5,Aby%:LDR R10,[R5,R8]:CMP R9,R10:BHI chyb2:.chyb1:LDR R3,shiph%:ADD R9,R9,R3:CMP R9,R10:BLO endbombloop:B hitshipb

*�.chyb2:LDR R3,bombh%:ADD R10,R10,R3:CMP R9,R10:BHI endbombloop:.hitshipb:MOV R2,#8:STR R2,col%:.endbombloop:ADD R8,R8,#4:CMP R8,R12:BNE bombloop:MOV PC,R14

4P.bombw%:EQUD0:.bombh%:EQUD0:.Abmx%:EQUD0:.Abx%:EQUD0:.Aby%:EQUD0:.Abh%:EQUD0

>�.z%:LDR R11,starx%:LDR R12,stary%:MOV R9,#0:MOV R10,#2:MOV R8,#100:MOV R7,#21:MOV R0,#18:SWI "OS_WriteC":MOV R0,#0:SWI "OS_WriteC":MOV R0,R7:SWI "OS_WriteC":.loopST:LDR R5,[R12,R9]:SUB R5,R5,R10:CMP R5,#0:ADDLT R5,R5,#1024

H�.ntb:STR R5,[R12,R9]:LDR R0,[R11,R9]:LDR R1,[R12,R9]:SWI "OS_ReadPoint":CMP R2,#0:BNE el:MOV R0,#69:LDR R1,[R11,R9]:LDR R2,[R12,R9]:SWI "OS_Plot":.el:ADD R9,R9,#4:CMP R9,R8:BNE loopST:ADD R7,R7,#21:MOV R0,#18:SWI "OS_WriteC":MOV R0,#0

RqSWI "OS_WriteC":MOV R0,R7:SWI "OS_WriteC":MOV R10,R10,ASL #2:ADD R8,R8,#120:CMP R8,#460:BNE loopST:MOV PC,R14

\.starx%:EQUD0:.stary%:EQUD0

f�.Z%:LDR R11,BDX%:LDR R12,BDY%:LDR R9,BDIX%:LDR R10,BDIY%:LDR R8,BDC%:MOV R7,#0:LDR R6,Adotsm%:.dotloop:MOV R0,#18:SWI "OS_WriteC":MOV R0,#0:SWI "OS_WriteC":LDR R0,[R8,R7]:SWI "OS_WriteC":MOV R0,#69:LDR R1,[R11,R7]:LDR R2,[R12,R7]

p�SWI "OS_Plot":LDR R3,[R11,R7]:LDR R4,[R9,R7]:ADD R3,R3,R4:STR R3,[R11,R7]:LDR R3,[R12,R7]:LDR R4,[R10,R7]:ADD R3,R3,R4:STR R3,[R12,R7]:ADD R7,R7,#4:CMP R7,R6:BNE dotloop:MOV PC,R14

zP.Adotsm%:EQUD0:.BDX%:EQUD0:.BDY%:EQUD0:.BDIX%:EQUD0:.BDIY%:EQUD0:.BDC%:EQUD0

�+.sppos:EQUDsprvar:.printsprite:EQUD 290

�]�

�3!Aamx%=(amx%+1)*4:!Aax%=ax%:!Aay%=ay%:!Aah%=ah%

�3!Asmx%=(smx%+1)*4:!Asx%=sx%:!Asy%=sy%:!Ash%=sh%

�3!Abmx%=(bmx%+1)*4:!Abx%=bx%:!Aby%=by%:!Abh%=bh%

�Q!Adotsm%=(maxdots%+1)*4:!BDX%=DX%:!BDY%=DY%:!BDIX%=DIX%:!BDIY%=DIY%:!BDC%=DC%

�%!shipw%=126:!shiph%=144:!shipy%=�

�!starx%=Sx%:!stary%=Sy%

��
�
00000000  0d 00 0a 10 f4 20 3e 21  52 75 6e 49 6d 61 67 65  |..... >!RunImage|
00000010  0d 00 14 3a f4 16 0e 0e  11 01 50 61 75 6c 20 48  |...:......Paul H|
00000020  61 6c 6c 61 6d 27 73 20  3a 20 4e 6f 74 20 53 70  |allam's : Not Sp|
00000030  61 63 65 20 49 6e 76 61  64 65 72 73 20 41 67 61  |ace Invaders Aga|
00000040  69 6e 3f 1c 00 18 4f 02  11 07 0d 00 1e 30 f4 20  |in?...O......0. |
00000050  41 20 27 50 61 75 6c 20  48 61 6c 6c 61 6d 20 49  |A 'Paul Hallam I|
00000060  6e 20 41 20 53 68 6f 65  62 6f 78 27 20 50 44 20  |n A Shoebox' PD |
00000070  50 52 4f 44 55 43 54 49  4f 4e 0d 00 28 25 f4 20  |PRODUCTION..(%. |
00000080  a9 50 61 75 6c 20 48 61  6c 6c 61 6d 20 28 56 65  |.Paul Hallam (Ve|
00000090  72 79 20 65 61 72 6c 79  20 31 39 39 30 2e 29 0d  |ry early 1990.).|
000000a0  00 32 48 f4 20 57 41 52  4e 49 4e 47 21 21 21 20  |.2H. WARNING!!! |
000000b0  50 72 6f 67 72 61 6d 20  75 73 65 73 20 69 6d 61  |Program uses ima|
000000c0  67 69 6e 61 72 79 20 27  62 6f 78 65 73 27 20 66  |ginary 'boxes' f|
000000d0  6f 72 20 63 6f 6c 6c 69  73 69 6f 6e 20 64 65 74  |or collision det|
000000e0  65 63 74 69 6f 6e 2e 0d  00 3c 05 20 0d 00 46 40  |ection...<. ..F@|
000000f0  f4 20 54 68 69 73 20 70  72 6f 67 72 61 6d 20 69  |. This program i|
00000100  73 20 50 44 20 61 6e 64  20 73 6f 20 73 68 6f 75  |s PD and so shou|
00000110  6c 64 20 6e 6f 74 20 62  65 20 73 6f 6c 64 20 66  |ld not be sold f|
00000120  6f 72 20 61 20 70 72 6f  66 69 74 2e 0d 00 50 45  |or a profit...PE|
00000130  f4 20 49 66 20 28 64 75  72 69 6e 67 20 61 6e 20  |. If (during an |
00000140  61 74 74 65 6d 70 74 20  74 6f 20 77 69 70 65 20  |attempt to wipe |
00000150  74 68 65 20 70 72 6f 67  72 61 6d 29 20 79 6f 75  |the program) you|
00000160  72 20 41 72 63 68 69 65  20 65 78 70 6c 6f 64 65  |r Archie explode|
00000170  73 0d 00 5a 4b f4 20 74  68 65 6e 20 74 68 65 20  |s..ZK. then the |
00000180  70 72 6f 67 72 61 6d 6d  65 72 20 77 69 73 68 65  |programmer wishe|
00000190  73 20 74 6f 20 6d 61 6b  65 20 69 74 20 63 6c 65  |s to make it cle|
000001a0  61 72 20 74 68 61 74 20  79 6f 75 20 68 61 64 20  |ar that you had |
000001b0  62 65 65 6e 20 77 61 72  6e 65 64 21 0d 00 64 05  |been warned!..d.|
000001c0  20 0d 00 6e 20 f4 20 52  69 73 63 20 4f 53 20 75  | ..n . Risc OS u|
000001d0  70 67 72 61 64 65 20 32  33 2f 31 31 2f 31 39 39  |pgrade 23/11/199|
000001e0  30 0d 00 78 4a f4 20 54  68 65 20 72 65 61 73 6f  |0..xJ. The reaso|
000001f0  6e 20 66 6f 72 20 74 68  65 20 63 6f 6d 70 6c 65  |n for the comple|
00000200  78 2c 20 6e 65 61 72 20  69 6c 6c 65 67 69 62 6c  |x, near illegibl|
00000210  65 20 63 6f 64 65 20 69  73 20 74 68 61 74 20 61  |e code is that a|
00000220  74 20 74 68 69 73 20 74  69 6d 65 0d 00 82 3c f4  |t this time...<.|
00000230  20 49 20 68 61 64 20 6a  75 73 74 20 67 6f 74 20  | I had just got |
00000240  61 6e 20 41 33 30 30 30  20 61 66 74 65 72 20 79  |an A3000 after y|
00000250  65 61 72 73 20 6f 6e 20  61 20 74 72 75 73 74 79  |ears on a trusty|
00000260  20 42 42 43 20 42 2e 0d  00 8c 48 f4 20 54 68 65  | BBC B....H. The|
00000270  20 69 64 65 61 20 49 20  66 6f 63 75 73 65 64 20  | idea I focused |
00000280  6f 6e 20 28 4d 61 69 6e  6c 79 20 66 72 6f 6d 20  |on (Mainly from |
00000290  50 65 74 65 72 20 53 63  6f 74 74 27 73 20 67 61  |Peter Scott's ga|
000002a0  6d 65 73 20 70 72 6f 67  72 61 6d 6d 69 6e 67 0d  |mes programming.|
000002b0  00 96 49 f4 20 61 72 74  69 63 6c 65 73 2e 2e 2e  |..I. articles...|
000002c0  29 20 77 61 73 20 74 68  61 74 20 61 20 70 72 6f  |) was that a pro|
000002d0  67 72 61 6d 20 2c 69 66  20 69 6e 20 42 41 53 49  |gram ,if in BASI|
000002e0  43 20 2c 68 61 64 20 74  6f 20 62 65 20 61 73 20  |C ,had to be as |
000002f0  73 71 75 61 73 68 65 64  0d 00 a0 3c f4 20 61 6e  |squashed...<. an|
00000300  64 20 69 6c 6c 65 67 69  62 6c 65 20 61 73 20 70  |d illegible as p|
00000310  6f 73 73 69 62 6c 65 20  74 6f 20 67 6f 20 66 61  |ossible to go fa|
00000320  73 74 20 61 6e 64 20 62  65 20 65 66 66 69 63 69  |st and be effici|
00000330  65 6e 74 21 0d 00 aa 4c  f4 20 49 20 68 61 76 65  |ent!...L. I have|
00000340  20 6e 6f 77 20 73 65 65  6e 20 74 68 65 20 65 72  | now seen the er|
00000350  72 6f 72 20 6f 66 20 6d  79 20 77 61 79 73 20 28  |ror of my ways (|
00000360  61 66 74 65 72 20 74 72  79 69 6e 67 20 74 6f 20  |after trying to |
00000370  73 70 65 65 64 20 74 68  69 73 20 24 25 25 25 40  |speed this $%%%@|
00000380  0d 00 b4 48 f4 20 70 72  6f 67 72 61 6d 20 75 70  |...H. program up|
00000390  20 73 68 6f 72 74 6c 79  20 61 66 74 65 72 20 49  | shortly after I|
000003a0  20 77 72 6f 74 65 20 69  74 29 20 61 6e 64 20 61  | wrote it) and a|
000003b0  6d 20 6e 6f 77 20 61 6e  20 61 64 76 6f 63 61 74  |m now an advocat|
000003c0  65 20 6f 66 20 74 68 65  0d 00 be 49 f4 20 27 32  |e of the...I. '2|
000003d0  30 25 20 6f 66 20 74 68  65 20 70 72 6f 67 72 61  |0% of the progra|
000003e0  6d 20 63 6f 6e 74 61 69  6e 73 20 38 30 25 20 6f  |m contains 80% o|
000003f0  66 20 74 68 65 20 64 65  6c 61 79 27 20 76 69 65  |f the delay' vie|
00000400  77 70 6f 69 6e 74 20 28  73 6f 20 65 78 70 65 63  |wpoint (so expec|
00000410  74 0d 00 c8 2d f4 20 65  61 73 69 65 72 20 63 6f  |t...-. easier co|
00000420  64 65 20 74 6f 20 66 6f  6c 6c 6f 77 20 69 6e 20  |de to follow in |
00000430  61 6e 79 20 6e 65 77 20  70 72 6f 67 2e 29 0d 00  |any new prog.)..|
00000440  d2 05 20 0d 00 dc 43 f4  20 53 70 72 69 74 65 20  |.. ...C. Sprite |
00000450  63 6f 6d 70 72 65 73 73  69 6f 6e 20 75 70 67 72  |compression upgr|
00000460  61 64 65 20 37 2f 31 31  2f 31 39 39 31 20 28 68  |ade 7/11/1991 (h|
00000470  61 6c 76 65 73 20 70 72  6f 67 72 61 6d 20 6c 65  |alves program le|
00000480  6e 67 74 68 2e 29 0d 00  e6 05 20 0d 00 f0 89 ee  |ngth.).... .....|
00000490  85 eb 20 eb 3a ee 3a f6  3a f1 22 20 61 74 20 6c  |.. .:.:.:." at l|
000004a0  69 6e 65 20 22 3b 9e 3a  e7 9f 3d 32 35 f1 22 4e  |ine ";.:..=25."N|
000004b0  65 65 64 73 20 61 20 77  68 6f 70 70 69 6e 67 20  |eeds a whopping |
000004c0  33 32 30 4b 20 69 6e 20  73 63 72 65 65 6e 20 4d  |320K in screen M|
000004d0  65 6d 6f 72 79 22 3a e0  3a 8b 3a ff 22 52 4d 45  |emory":.:.:."RME|
000004e0  4e 53 55 52 45 20 44 65  63 6f 6d 70 61 63 74 6f  |NSURE Decompacto|
000004f0  72 20 31 2e 30 30 20 51  55 49 54 22 3a ff 22 52  |r 1.00 QUIT":."R|
00000500  4d 4b 49 4c 4c 20 44 65  63 6f 6d 70 61 63 74 6f  |MKILL Decompacto|
00000510  72 22 3a e0 0d 00 fa 0a  eb 32 34 3a eb 39 0d 01  |r":......24:.9..|
00000520  04 05 20 0d 01 0e 39 c8  97 20 ee 3a f1 8a 30 2c  |.. ...9.. .:..0,|
00000530  31 35 29 22 53 54 72 61  63 6b 65 72 2d 74 79 70  |15)"STracker-typ|
00000540  65 20 74 75 6e 65 20 6e  6f 77 20 61 63 74 69 76  |e tune now activ|
00000550  65 3f 22 27 22 28 59 2f  4e 29 22 3b 0d 01 18 15  |e?"'"(Y/N)";....|
00000560  f5 c8 97 41 25 2c 42 25  2c 43 25 3a fd 43 25 3d  |...A%,B%,C%:.C%=|
00000570  a3 0d 01 22 37 c8 99 22  4f 53 5f 43 6f 6e 66 69  |..."7.."OS_Confi|
00000580  72 6d 22 b8 79 6e 25 3a  f1 bd 79 6e 25 3a 6d 75  |rm".yn%:..yn%:mu|
00000590  73 69 63 25 3d a3 3a e7  79 6e 25 3d 31 32 31 20  |sic%=.:.yn%=121 |
000005a0  6d 75 73 69 63 25 3d b9  0d 01 2c 05 20 0d 01 36  |music%=...,. ..6|
000005b0  23 66 74 25 3d 33 3a 6d  61 78 64 6f 74 73 25 3d  |#ft%=3:maxdots%=|
000005c0  32 39 39 3a 6d 25 3d a3  3a 73 70 65 6b 25 3d b9  |299:m%=.:spek%=.|
000005d0  0d 01 40 19 ff 22 46 58  32 35 22 3a 4c 45 56 45  |..@.."FX25":LEVE|
000005e0  4c 53 54 41 52 54 25 3d  31 0d 01 4a 05 db 0d 01  |LSTART%=1..J....|
000005f0  54 1b f2 69 6e 69 74 69  61 6c 69 73 65 3a f4 50  |T..initialise:.P|
00000600  52 4f 43 6c 6f 61 64 73  63 0d 01 5e 18 67 25 3d  |ROCloadsc..^.g%=|
00000610  31 3a eb 31 35 3a 69 69  3d 28 32 2a af 29 2f 33  |1:.15:ii=(2*.)/3|
00000620  32 0d 01 68 2a f2 73 63  72 65 65 6e 3a 68 69 62  |2..h*.screen:hib|
00000630  25 3d 31 3a 73 63 72 6f  6c 6c 25 3d a3 3a f5 7a  |%=1:scroll%=.:.z|
00000640  3d a3 3a 63 68 65 61 74  25 3d a3 0d 01 72 12 d4  |=.:cheat%=...r..|
00000650  20 87 3a 73 6f 75 6e 64  25 3d b9 3a f5 0d 01 7c  | .:sound%=.:...||
00000660  56 67 25 3d 67 25 82 33  3a c8 99 22 4f 53 5f 42  |Vg%=g%.3:.."OS_B|
00000670  79 74 65 22 2c 31 31 32  2c 67 25 3a da 3a f2 73  |yte",112,g%:.:.s|
00000680  74 61 72 74 70 72 6f 6d  70 74 3a d6 7a 25 3a c8  |tartprompt:.z%:.|
00000690  96 3a c8 99 22 4f 53 5f  42 79 74 65 22 2c 31 31  |.:.."OS_Byte",11|
000006a0  33 2c 67 25 3a 3a fd a6  2d 39 39 3a f5 fd ac a6  |3,g%::..-99:....|
000006b0  2d 39 39 0d 01 86 2d e7  63 68 65 61 74 25 3a 4c  |-99...-.cheat%:L|
000006c0  45 56 45 4c 53 54 41 52  54 25 3d 63 68 65 61 74  |EVELSTART%=cheat|
000006d0  25 3a 8b 4c 45 56 45 4c  53 54 41 52 54 25 3d 31  |%:.LEVELSTART%=1|
000006e0  0d 01 90 35 ee 85 3a ff  22 52 4d 4b 49 4c 4c 20  |...5..:."RMKILL |
000006f0  44 65 63 6f 6d 70 61 63  74 6f 72 22 3a eb 20 30  |Decompactor":. 0|
00000700  3a ee 3a f6 3a f1 22 20  61 74 20 6c 69 6e 65 20  |:.:.:." at line |
00000710  22 3b 9e 3a e0 0d 01 9a  16 f2 73 76 61 72 73 3a  |";.:......svars:|
00000720  fb 31 33 39 3a fb a3 3a  d4 20 ee 0d 01 a4 1a f5  |.139:..:. ......|
00000730  f2 72 65 73 65 74 76 61  72 73 3a f2 4f 4e 3a f2  |.resetvars:.ON:.|
00000740  6c 28 6c 25 29 0d 01 ae  21 f5 67 25 3d 67 25 82  |l(l%)...!.g%=g%.|
00000750  33 3a c8 99 22 4f 53 5f  42 79 74 65 22 2c 31 31  |3:.."OS_Byte",11|
00000760  32 2c 67 25 3a da 0d 01  b8 13 48 25 3d 44 25 3a  |2,g%:.....H%=D%:|
00000770  e7 6d 25 f2 6d 3a 8b f2  6b 0d 01 c2 36 e3 49 25  |.m%.m:..k...6.I%|
00000780  3d 30 b8 73 6d 78 25 2a  34 88 34 3a 73 79 25 21  |=0.smx%*4.4:sy%!|
00000790  49 25 2b 3d 73 79 69 6e  63 25 3a e7 73 79 25 21  |I%+=syinc%:.sy%!|
000007a0  49 25 3e 74 73 25 3a 73  68 25 21 49 25 3d a3 0d  |I%>ts%:sh%!I%=..|
000007b0  01 cc 30 ed 3a 66 25 2b  3d 31 3a e7 66 25 3d 66  |..0.:f%+=1:.f%=f|
000007c0  74 25 66 25 3d a3 3a 73  25 2b 3d 32 3a f2 73 3a  |t%f%=.:s%+=2:.s:|
000007d0  e7 73 25 2b 31 3d 73 6d  78 25 3a 73 25 3d a3 0d  |.s%+1=smx%:s%=..|
000007e0  01 d6 29 f2 73 70 70 72  28 22 31 22 2c 58 25 2c  |..).sppr("1",X%,|
000007f0  59 25 2c a3 29 3a f2 61  73 28 6c 25 29 3a d6 76  |Y%,.):.as(l%):.v|
00000800  25 3a f2 70 72 6e 74 76  0d 01 e0 2b d6 7a 25 3a  |%:.prntv...+.z%:|
00000810  c8 96 3a c8 99 22 4f 53  5f 42 79 74 65 22 2c 31  |..:.."OS_Byte",1|
00000820  31 33 2c 67 25 3a e7 a6  2d 39 30 3a f5 fd a6 2d  |13,g%:..-90:...-|
00000830  31 30 36 0d 01 ea 48 e7  a6 2d 38 32 20 80 6d 75  |106...H..-82 .mu|
00000840  73 69 63 25 3d a3 3a d4  20 ee 3a c8 a0 20 32 3a  |sic%=.:. .:.. 2:|
00000850  73 6f 75 6e 64 25 3d b9  3a 8b e7 a6 2d 31 37 20  |sound%=.:...-17 |
00000860  80 6d 75 73 69 63 25 3d  a3 3a d4 20 87 3a c8 a0  |.music%=.:. .:..|
00000870  20 32 3a 73 6f 75 6e 64  25 3d a3 0d 01 f4 3c e7  | 2:sound%=....<.|
00000880  a6 2d 38 32 20 80 6d 75  73 69 63 25 3a c8 a0 20  |.-82 .music%:.. |
00000890  36 3a 73 6f 75 6e 64 25  3d b9 3a 8b e7 a6 2d 31  |6:sound%=.:...-1|
000008a0  37 20 80 6d 75 73 69 63  25 3a c8 a0 20 34 3a 73  |7 .music%:.. 4:s|
000008b0  6f 75 6e 64 25 3d a3 0d  01 fe 4c e7 a6 2d 36 31  |ound%=....L..-61|
000008c0  20 80 73 70 65 6b 25 73  70 65 6b 25 3d a3 3a ff  | .spek%spek%=.:.|
000008d0  22 53 50 45 41 4b 45 52  20 4f 46 46 22 3a 8b e7  |"SPEAKER OFF":..|
000008e0  a6 2d 36 31 20 80 73 70  65 6b 25 3d a3 3a 73 70  |.-61 .spek%=.:sp|
000008f0  65 6b 25 3d b9 3a ff 22  53 50 45 41 4b 45 52 20  |ek%=.:."SPEAKER |
00000900  4f 4e 22 0d 02 08 19 e7  a6 2d 31 30 32 6d 25 3d  |ON"......-102m%=|
00000910  b9 3a 8b e7 a6 2d 37 31  6d 25 3d a3 0d 02 12 16  |.:...-71m%=.....|
00000920  e7 a6 2d 31 31 37 20 80  a6 2d 31 31 39 3a 44 25  |..-117 ..-119:D%|
00000930  3d 33 0d 02 1c 67 fd 44  25 3c 3e 48 25 84 41 48  |=3...g.D%<>H%.AH|
00000940  25 3d 41 25 3a c8 99 22  4f 53 5f 42 79 74 65 22  |%=A%:.."OS_Byte"|
00000950  2c 31 31 32 2c 31 3a f2  70 72 6e 74 76 3a c8 99  |,112,1:.prntv:..|
00000960  22 4f 53 5f 42 79 74 65  22 2c 31 31 32 2c 32 3a  |"OS_Byte",112,2:|
00000970  f2 70 72 6e 74 76 3a c8  99 22 4f 53 5f 42 79 74  |.prntv:.."OS_Byt|
00000980  65 22 2c 31 31 32 2c 67  25 3a e7 41 48 25 3d 41  |e",112,g%:.AH%=A|
00000990  25 80 44 25 3d 48 25 20  8c 0d 02 26 7a 6c 25 3d  |%.D%=H% ...&zl%=|
000009a0  6c 25 83 39 2b 31 3a c8  99 22 4f 53 5f 42 79 74  |l%.9+1:.."OS_Byt|
000009b0  65 22 2c 31 31 32 2c 31  3a f2 70 72 6e 74 76 3a  |e",112,1:.prntv:|
000009c0  c8 99 22 4f 53 5f 42 79  74 65 22 2c 31 31 32 2c  |.."OS_Byte",112,|
000009d0  32 3a f2 70 72 6e 74 76  3a c8 99 22 4f 53 5f 42  |2:.prntv:.."OS_B|
000009e0  79 74 65 22 2c 31 31 32  2c 67 25 3a e7 6c 25 3d  |yte",112,g%:.l%=|
000009f0  33 84 6c 25 3d 31 f2 54  48 52 45 41 54 3a e7 6c  |3.l%=1.THREAT:.l|
00000a00  25 3d 31 44 25 2d 3d 31  3a e7 44 25 3c a3 3a 44  |%=1D%-=1:.D%<.:D|
00000a10  25 3d a3 0d 02 30 05 cc  0d 02 3a 0c f2 65 78 70  |%=...0....:..exp|
00000a20  6c 6f 64 65 0d 02 44 0b  cd 3a fd 44 25 3d 33 0d  |lode..D..:.D%=3.|
00000a30  02 4e 11 f2 68 69 63 68  65 63 6b 3a fd a3 3a e0  |.N..hicheck:..:.|
00000a40  0d 02 58 3d dd f2 70 72  6e 74 76 3a fb a3 3a f1  |..X=..prntv:..:.|
00000a50  8a 33 2c 32 29 43 24 8a  31 33 2d a9 28 c3 53 43  |.3,2)C$.13-.(.SC|
00000a60  25 29 2c 32 29 c3 53 43  25 8a 32 30 2c 31 29 3b  |%),2).SC%.20,1);|
00000a70  3a e7 6d 25 f1 22 80 22  8b f1 22 84 22 0d 02 62  |:.m%.".".."."..b|
00000a80  8b f1 8a 34 30 2c 32 29  c4 32 30 2c 22 20 22 29  |...40,2).20," ")|
00000a90  8a 35 30 2d a9 28 4c 45  56 24 28 6c 25 29 29 81  |.50-.(LEV$(l%)).|
00000aa0  32 2c 32 29 4c 45 56 24  28 6c 25 29 8a 33 30 2c  |2,2)LEV$(l%).30,|
00000ab0  32 29 c4 33 2d 44 25 2c  22 80 22 29 c4 44 25 2c  |2).3-D%,".").D%,|
00000ac0  22 84 22 29 8a 33 30 2c  31 29 44 24 8a 33 35 2d  |".").30,1)D$.35-|
00000ad0  a9 28 c3 28 6c 25 2b 4c  45 56 41 44 44 25 29 29  |.(.(l%+LEVADD%))|
00000ae0  2c 31 29 c3 28 6c 25 2b  4c 45 56 41 44 44 25 29  |,1).(l%+LEVADD%)|
00000af0  8a 32 30 2c 32 29 3b 3a  e7 73 6f 75 6e 64 25 f1  |.20,2);:.sound%.|
00000b00  22 80 22 8b f1 22 84 22  0d 02 6c 54 e7 53 43 25  |".".."."..lT.SC%|
00000b10  3e 48 49 25 28 31 29 3a  fb 35 2b 67 25 3a f1 8a  |>HI%(1):.5+g%:..|
00000b20  36 36 2c 32 29 43 24 8a  37 36 2d a9 28 c3 53 43  |66,2)C$.76-.(.SC|
00000b30  25 29 2c 32 29 c3 53 43  25 3a 8b f1 8a 36 36 2c  |%),2).SC%:...66,|
00000b40  32 29 43 24 8a 37 36 2d  a9 28 c3 48 49 25 28 31  |2)C$.76-.(.HI%(1|
00000b50  29 29 2c 32 29 c3 48 49  25 28 31 29 0d 02 76 08  |)),2).HI%(1)..v.|
00000b60  fb a3 3a e1 0d 02 80 2f  dd f2 6b 3a e7 a6 2d 39  |..:..../..k:..-9|
00000b70  38 20 80 58 25 3e 30 58  25 2d 3d 53 25 8b e7 a6  |8 .X%>0X%-=S%...|
00000b80  2d 36 37 20 80 58 25 3c  31 31 35 32 3a 58 25 2b  |-67 .X%<1152:X%+|
00000b90  3d 53 25 0d 02 8a 05 e1  0d 02 94 2c dd f2 6d 3a  |=S%........,..m:|
00000ba0  c8 97 78 25 2c 79 25 2c  42 25 3a e7 78 25 3c 58  |..x%,y%,B%:.x%<X|
00000bb0  25 58 25 2d 3d 53 25 8b  e7 78 25 3e 58 25 58 25  |%X%-=S%..x%>X%X%|
00000bc0  2b 3d 53 25 0d 02 9e 0e  c8 97 20 b8 58 25 2c a3  |+=S%...... .X%,.|
00000bd0  3a e1 0d 02 a8 20 dd f2  73 3a e7 6d 25 c8 97 78  |:.... ..s:.m%..x|
00000be0  25 2c 79 25 2c 42 25 3a  e7 42 25 3e 30 f2 53 48  |%,y%,B%:.B%>0.SH|
00000bf0  4f 54 0d 02 b2 14 e7 6d  25 3d a3 3a e7 a6 2d 37  |OT.....m%=.:..-7|
00000c00  34 f2 53 48 4f 54 0d 02  bc 05 e1 0d 02 c6 79 dd  |4.SHOT........y.|
00000c10  f2 53 48 4f 54 3a 73 78  25 21 28 73 25 2a 34 29  |.SHOT:sx%!(s%*4)|
00000c20  3d 58 25 3a 73 79 25 21  28 73 25 2a 34 29 3d 31  |=X%:sy%!(s%*4)=1|
00000c30  32 38 3a 73 68 25 21 28  73 25 2a 34 29 3d 31 3a  |28:sh%!(s%*4)=1:|
00000c40  73 79 25 21 28 28 73 25  2b 31 29 2a 34 29 3d 31  |sy%!((s%+1)*4)=1|
00000c50  32 38 3a 73 78 25 21 28  28 73 25 2b 31 29 2a 34  |28:sx%!((s%+1)*4|
00000c60  29 3d 58 25 2b 31 31 36  3a 73 68 25 21 28 28 73  |)=X%+116:sh%!((s|
00000c70  25 2b 31 29 2a 34 29 3d  31 3a f2 62 75 72 70 28  |%+1)*4)=1:.burp(|
00000c80  33 29 3a e1 0d 02 d0 22  dd f2 62 75 72 70 28 53  |3):...."..burp(S|
00000c90  4f 25 29 3a e7 53 4f 25  3d 31 d4 6d 31 25 2c 2d  |O%):.SO%=1.m1%,-|
00000ca0  35 2c 32 37 2c 36 0d 02  da 18 e7 53 4f 25 3d 32  |5,27,6.....SO%=2|
00000cb0  d4 6d 32 25 2c 2d 31 30  2c 32 35 35 2c 38 0d 02  |.m2%,-10,255,8..|
00000cc0  e4 17 e7 53 4f 25 3d 33  d4 6d 31 25 2c 2d 37 2c  |...SO%=3.m1%,-7,|
00000cd0  36 30 2c 31 30 0d 02 ee  2f e7 53 4f 25 3d 31 30  |60,10.../.SO%=10|
00000ce0  d4 6d 31 25 2c 2d 35 2c  b3 28 32 30 29 2a 35 2c  |.m1%,-5,.(20)*5,|
00000cf0  32 3a d4 6d 32 25 2c 2d  35 2c b3 28 31 30 29 2a  |2:.m2%,-5,.(10)*|
00000d00  31 35 2c 32 0d 02 f8 05  e1 0d 03 02 33 dd f2 61  |15,2........3..a|
00000d10  73 28 4c 25 29 3a ee 4c  25 f2 41 31 2c f2 41 31  |s(L%):.L%.A1,.A1|
00000d20  2c f2 41 33 2c f2 41 34  2c f2 41 35 2c f2 41 36  |,.A3,.A4,.A5,.A6|
00000d30  2c f2 41 34 2c f2 41 38  2c f2 41 39 0d 03 0c 05  |,.A4,.A8,.A9....|
00000d40  e1 0d 03 16 4a dd f2 73  70 70 72 28 6e 24 2c 78  |....J..sppr(n$,x|
00000d50  73 70 25 2c 79 73 70 25  2c 67 63 25 29 3a c8 99  |sp%,ysp%,gc%):..|
00000d60  22 4f 53 5f 53 70 72 69  74 65 4f 70 22 2c 33 30  |"OS_SpriteOp",30|
00000d70  38 2c 73 70 72 76 61 72  2c 6e 24 2c 78 73 70 25  |8,sprvar,n$,xsp%|
00000d80  2c 79 73 70 25 2c 67 63  25 3a e1 0d 03 20 9a dd  |,ysp%,gc%:... ..|
00000d90  f2 54 48 52 45 41 54 3a  ea 59 25 3a 59 25 3d 39  |.THREAT:.Y%:Y%=9|
00000da0  30 30 3a f5 d1 3d a3 3a  67 25 3d 67 25 83 32 2b  |00:..=.:g%=g%.2+|
00000db0  31 3a c8 99 22 4f 53 5f  42 79 74 65 22 2c 31 31  |1:.."OS_Byte",11|
00000dc0  32 2c 67 25 3a da 3a f2  73 70 70 72 28 22 39 22  |2,g%:.:.sppr("9"|
00000dd0  2c 33 38 30 2c 59 25 2c  a3 29 3a f2 73 70 70 72  |,380,Y%,.):.sppr|
00000de0  28 22 31 30 22 2c 37 30  30 2c 59 25 2b 32 35 30  |("10",700,Y%+250|
00000df0  2c a3 29 3a 59 25 2d 3d  32 30 3a f2 6c 65 76 72  |,.):Y%-=20:.levr|
00000e00  69 67 68 74 3a d6 7a 25  3a f5 fd 91 3e 31 32 3a  |ight:.z%:...>12:|
00000e10  c8 96 3a c8 99 22 4f 53  5f 42 79 74 65 22 2c 31  |..:.."OS_Byte",1|
00000e20  31 33 2c 67 25 0d 03 2a  1e fd 59 25 2b 33 34 30  |13,g%..*..Y%+340|
00000e30  3c a3 3a e7 6c 25 3d 31  3a 4c 45 56 41 44 44 25  |<.:.l%=1:LEVADD%|
00000e40  2b 3d 39 0d 03 34 05 e1  0d 03 3e 15 dd f2 6c 65  |+=9..4....>...le|
00000e50  76 72 69 67 68 74 3a e7  6c 25 3d 33 e1 0d 03 48  |vright:.l%=3...H|
00000e60  5c f2 63 65 6e 74 28 22  4f 68 20 4e 6f 21 20 42  |\.cent("Oh No! B|
00000e70  61 63 6b 20 74 6f 20 6c  65 76 65 6c 3a 31 20 61  |ack to level:1 a|
00000e80  67 61 69 6e 21 21 21 21  22 2c 32 30 29 3a e7 44  |gain!!!!",20):.D|
00000e90  25 3e 30 f2 63 65 6e 74  28 22 41 20 62 6f 6e 75  |%>0.cent("A bonu|
00000ea0  73 20 73 68 69 70 20 6e  65 78 74 20 6d 69 73 73  |s ship next miss|
00000eb0  69 6f 6e 21 22 2c 32 34  29 0d 03 52 05 e1 0d 03  |ion!",24)..R....|
00000ec0  5c 18 dd f2 73 63 28 73  63 25 29 3a 53 43 25 2b  |\...sc(sc%):SC%+|
00000ed0  3d 73 63 25 3a e1 0d 03  66 50 dd f2 41 31 3a 21  |=sc%:...fP..A1:!|
00000ee0  41 77 32 25 3d 31 32 34  3a 21 41 68 32 25 3d 39  |Aw2%=124:!Ah2%=9|
00000ef0  32 3a d6 77 25 3a e7 21  73 74 32 25 3e 30 e3 49  |2:.w%:.!st2%>0.I|
00000f00  25 3d 31 b8 21 73 74 32  25 3a f2 73 63 28 31 29  |%=1.!st2%:.sc(1)|
00000f10  3a ed 3a 41 48 25 2b 3d  21 73 74 32 25 3a f2 62  |:.:AH%+=!st2%:.b|
00000f20  75 72 70 28 32 29 0d 03  70 31 47 49 54 25 3d a3  |urp(2)..p1GIT%=.|
00000f30  3a e3 49 25 3d 30 b8 41  25 2a 34 88 34 3a 61 78  |:.I%=0.A%*4.4:ax|
00000f40  25 21 49 25 2b 3d 41 69  6e 63 25 3a e7 61 68 25  |%!I%+=Ainc%:.ah%|
00000f50  21 49 25 3e 30 20 8c 0d  03 7a 57 e7 28 41 69 6e  |!I%>0 ...zW.(Ain|
00000f60  63 25 3d 94 28 41 69 6e  63 25 29 80 61 78 25 21  |c%=.(Ainc%).ax%!|
00000f70  49 25 3e 31 32 37 39 2d  31 32 34 2d 94 28 41 69  |I%>1279-124-.(Ai|
00000f80  6e 63 25 29 29 84 28 41  69 6e 63 25 3d 2d 94 28  |nc%)).(Ainc%=-.(|
00000f90  41 69 6e 63 25 29 80 61  78 25 21 49 25 3c 94 28  |Ainc%).ax%!I%<.(|
00000fa0  41 69 6e 63 25 29 29 46  6c 61 67 25 3d b9 0d 03  |Ainc%))Flag%=...|
00000fb0  84 05 cd 0d 03 8e 0d ed  3a e7 46 6c 61 67 25 8c  |........:.Flag%.|
00000fc0  0d 03 98 41 46 6c 61 67  25 3d a3 3a 41 69 6e 63  |...AFlag%=.:Ainc|
00000fd0  25 3d 2d 41 69 6e 63 25  3a e3 49 25 3d 30 b8 41  |%=-Ainc%:.I%=0.A|
00000fe0  25 2a 34 88 34 3a 61 79  25 21 49 25 2d 3d 36 34  |%*4.4:ay%!I%-=64|
00000ff0  3a e7 61 79 25 21 49 25  3c a3 3a 47 49 54 25 3d  |:.ay%!I%<.:GIT%=|
00001000  b9 0d 03 a2 05 ed 0d 03  ac 3d cd 3a f2 64 72 6f  |.........=.:.dro|
00001010  70 3a e7 41 73 70 74 6f  67 25 3d a3 3a f2 70 61  |p:.Asptog%=.:.pa|
00001020  28 35 2c a3 29 3a 41 73  70 74 6f 67 25 3d b9 3a  |(5,.):Asptog%=.:|
00001030  8b f2 70 61 28 36 2c a3  29 3a 41 73 70 74 6f 67  |..pa(6,.):Asptog|
00001040  25 3d a3 0d 03 b6 35 f2  62 6f 6d 62 73 28 34 2c  |%=....5.bombs(4,|
00001050  38 29 3a 21 73 68 69 70  78 25 3d 58 25 3a d6 6a  |8):!shipx%=X%:.j|
00001060  25 3a e7 21 63 6f 6c 25  3e a3 20 84 47 49 54 25  |%:.!col%>. .GIT%|
00001070  3d b9 3a 44 25 2b 3d 31  0d 03 c0 05 e1 0d 03 ca  |=.:D%+=1........|
00001080  32 dd f2 41 33 3a d6 77  25 3a e7 21 73 74 31 25  |2..A3:.w%:.!st1%|
00001090  3e 30 e3 49 25 3d 31 b8  21 73 74 31 25 3a f2 73  |>0.I%=1.!st1%:.s|
000010a0  63 28 31 29 3a ed 3a f2  62 75 72 70 28 31 29 0d  |c(1):.:.burp(1).|
000010b0  03 d4 34 e7 21 73 74 32  25 3e 30 e3 49 25 3d 31  |..4.!st2%>0.I%=1|
000010c0  b8 21 73 74 32 25 3a f2  73 63 28 34 29 3a ed 3a  |.!st2%:.sc(4):.:|
000010d0  41 48 25 2b 3d 21 73 74  32 25 3a f2 62 75 72 70  |AH%+=!st2%:.burp|
000010e0  28 32 29 0d 03 de a3 49  25 3d a3 3a e3 49 3d 28  |(2)....I%=.:.I=(|
000010f0  6d 6f 76 25 2a 28 af 2f  31 36 29 29 2f 33 b8 32  |mov%*(./16))/3.2|
00001100  2a af 2b 28 6d 6f 76 25  2a 28 af 2f 31 36 29 29  |*.+(mov%*(./16))|
00001110  2f 33 88 32 2a af 2f 33  31 3a 61 78 25 21 49 25  |/3.2*./31:ax%!I%|
00001120  3d 6b 25 2b 9b 49 2a 4b  25 3a 61 79 25 21 49 25  |=k%+.I*K%:ay%!I%|
00001130  3d 28 6b 6b 25 2b b5 49  2a 4b 4b 25 2d 41 73 70  |=(kk%+.I*KK%-Asp|
00001140  74 6f 67 25 29 2a 2d 28  41 73 70 74 6f 67 25 3c  |tog%)*-(Asptog%<|
00001150  3d 4b 4b 25 29 3a 49 25  2b 3d 34 3a ed 3a f2 70  |=KK%):I%+=4:.:.p|
00001160  61 28 37 2c a3 29 3a 41  73 70 74 6f 67 25 2b 3d  |a(7,.):Asptog%+=|
00001170  33 3a 6d 6f 76 25 2b 3d  31 3a 6d 6f 76 25 3d 6d  |3:mov%+=1:mov%=m|
00001180  6f 76 25 83 39 36 0d 03  e8 21 21 73 68 69 70 78  |ov%.96...!!shipx|
00001190  25 3d 58 25 3a d6 6a 25  3a e7 21 63 6f 6c 25 3e  |%=X%:.j%:.!col%>|
000011a0  30 3a 44 25 2b 3d 31 0d  03 f2 05 e1 0d 03 fc 32  |0:D%+=1........2|
000011b0  dd f2 41 34 3a d6 77 25  3a e7 21 73 74 32 25 3e  |..A4:.w%:.!st2%>|
000011c0  30 e3 49 25 3d 31 b8 21  73 74 32 25 3a f2 73 63  |0.I%=1.!st2%:.sc|
000011d0  28 35 29 3a ed 3a f2 62  75 72 70 28 32 29 0d 04  |(5):.:.burp(2)..|
000011e0  06 3c e3 49 25 3d 30 b8  41 25 2a 34 88 34 3a e7  |.<.I%=0.A%*4.4:.|
000011f0  61 68 25 21 49 25 3e a3  3a 61 79 25 21 49 25 2d  |ah%!I%>.:ay%!I%-|
00001200  3d 41 46 41 4c 4c 25 3a  e7 61 79 25 21 49 25 3c  |=AFALL%:.ay%!I%<|
00001210  a3 3a 61 68 25 21 49 25  3d a3 0d 04 10 19 ed 3a  |.:ah%!I%=......:|
00001220  41 73 70 74 6f 67 25 3d  b9 3a e7 b3 28 34 29 3d  |Asptog%=.:..(4)=|
00001230  31 20 8c 0d 04 1a 25 e3  49 25 3d 30 b8 41 25 2a  |1 ....%.I%=0.A%*|
00001240  34 88 34 3a e7 61 68 25  21 49 25 3d a3 3a 41 73  |4.4:.ah%!I%=.:As|
00001250  70 74 6f 67 25 3d 49 25  0d 04 24 4a ed 3a e7 41  |ptog%=I%..$J.:.A|
00001260  73 70 74 6f 67 25 3e b9  3a 61 68 25 21 41 73 70  |sptog%>.:ah%!Asp|
00001270  74 6f 67 25 3d 31 3a 61  79 25 21 41 73 70 74 6f  |tog%=1:ay%!Aspto|
00001280  67 25 3d 31 30 32 34 3a  61 78 25 21 41 73 70 74  |g%=1024:ax%!Aspt|
00001290  6f 67 25 3d b3 28 31 31  39 38 29 3a 41 48 25 2b  |og%=.(1198):AH%+|
000012a0  3d 31 0d 04 2e 2c cd 3a  f2 70 61 28 33 2c a3 29  |=1...,.:.pa(3,.)|
000012b0  3a 21 73 68 69 70 78 25  3d 58 25 3a d6 6a 25 3a  |:!shipx%=X%:.j%:|
000012c0  e7 21 63 6f 6c 25 3e a3  3a 44 25 2b 3d 31 0d 04  |.!col%>.:D%+=1..|
000012d0  38 05 e1 0d 04 42 34 dd  f2 41 35 3a d6 77 25 3a  |8....B4..A5:.w%:|
000012e0  4a 25 3d a4 6d 6f 76 61  35 3a 21 73 68 69 70 78  |J%=.mova5:!shipx|
000012f0  25 3d 58 25 3a d6 6a 25  3a e7 21 63 6f 6c 25 3e  |%=X%:.j%:.!col%>|
00001300  a3 3a 44 25 2b 3d 31 0d  04 4c 05 e1 0d 04 56 1b  |.:D%+=1..L....V.|
00001310  dd a4 6d 6f 76 61 35 3a  e7 6d 6f 76 25 3d a3 3a  |..mova5:.mov%=.:|
00001320  f2 41 35 31 3a 3d a3 0d  04 60 13 e7 6d 6f 76 25  |.A51:=...`..mov%|
00001330  3d b9 3a f2 41 35 32 3a  3d a3 0d 04 6a 15 e7 6d  |=.:.A52:=...j..m|
00001340  6f 76 25 3d 32 30 30 3a  f2 41 35 33 3a 3d a3 0d  |ov%=200:.A53:=..|
00001350  04 74 0b f2 41 35 34 3a  3d a3 0d 04 7e 2f dd f2  |.t..A54:=...~/..|
00001360  41 35 31 3a e7 21 73 74  31 25 3e 30 e3 49 25 3d  |A51:.!st1%>0.I%=|
00001370  31 b8 21 73 74 31 25 3a  f2 73 63 28 31 29 3a ed  |1.!st1%:.sc(1):.|
00001380  3a f2 62 75 72 70 28 31  29 0d 04 88 1c 61 79 25  |:.burp(1)....ay%|
00001390  21 30 2d 3d 38 3a e7 21  61 79 25 3c 35 37 30 6d  |!0-=8:.!ay%<570m|
000013a0  6f 76 25 3d b9 0d 04 92  14 f2 70 61 28 41 73 70  |ov%=......pa(Asp|
000013b0  74 6f 67 25 2c a3 29 3a  e1 0d 04 9c 6b dd f2 41  |tog%,.):....k..A|
000013c0  35 32 3a e7 21 73 74 31  25 3e 30 e3 49 25 3d 31  |52:.!st1%>0.I%=1|
000013d0  b8 21 73 74 31 25 3a f2  73 63 28 31 29 3a ed 3a  |.!st1%:.sc(1):.:|
000013e0  f2 62 75 72 70 28 31 29  3a e7 21 61 68 25 3c 37  |.burp(1):.!ah%<7|
000013f0  36 3a 41 73 70 74 6f 67  25 3d 31 39 3a e7 21 61  |6:Asptog%=19:.!a|
00001400  68 25 3c 35 31 3a 41 73  70 74 6f 67 25 3d 31 32  |h%<51:Asptog%=12|
00001410  3a e7 21 61 68 25 3c 32  36 3a 41 73 70 74 6f 67  |:.!ah%<26:Asptog|
00001420  25 3d 31 33 0d 04 a6 40  21 61 78 25 3d 9b 72 70  |%=13...@!ax%=.rp|
00001430  6f 73 2a 35 35 30 2b 35  35 30 3a 21 61 79 25 3d  |os*550+550:!ay%=|
00001440  b5 72 70 6f 73 2a 39 36  2b 35 37 30 3a f2 64 72  |.rpos*96+570:.dr|
00001450  6f 70 32 28 39 32 29 3a  f2 62 6f 6d 62 73 28 31  |op2(92):.bombs(1|
00001460  35 2c a3 29 0d 04 b0 30  72 70 6f 73 2b 3d 72 69  |5,.)...0rpos+=ri|
00001470  6e 63 3a e7 72 70 6f 73  3d 72 6d 61 78 3a c8 94  |nc:.rpos=rmax:..|
00001480  72 6d 61 78 2c 72 6d 69  6e 3a 72 69 6e 63 3d 2d  |rmax,rmin:rinc=-|
00001490  72 69 6e 63 0d 04 ba b7  f2 70 61 28 41 73 70 74  |rinc.....pa(Aspt|
000014a0  6f 67 25 2c a3 29 3a e7  21 73 74 32 25 3e 30 e3  |og%,.):.!st2%>0.|
000014b0  49 25 3d 31 b8 21 73 74  32 25 3a f2 73 63 28 31  |I%=1.!st2%:.sc(1|
000014c0  30 30 29 3a ed 3a f2 62  75 72 70 28 32 29 3a 6d  |00):.:.burp(2):m|
000014d0  6f 76 25 3d 32 30 30 3a  21 61 68 25 3d 35 31 3a  |ov%=200:!ah%=51:|
000014e0  21 41 77 32 25 3d 31 30  38 3a 21 61 6c 69 65 6e  |!Aw2%=108:!alien|
000014f0  77 25 3d 21 41 77 32 25  3a 21 41 68 32 25 3d 31  |w%=!Aw2%:!Ah2%=1|
00001500  30 38 3a 21 61 6c 69 65  6e 68 25 3d 21 41 68 32  |08:!alienh%=!Ah2|
00001510  25 3a 21 62 6f 6d 62 77  25 3d 34 38 3a 21 62 6f  |%:!bombw%=48:!bo|
00001520  6d 62 68 25 3d 35 30 3a  e3 49 25 3d 30 b8 62 6f  |mbh%=50:.I%=0.bo|
00001530  6d 25 2a 34 88 34 3a 62  68 25 21 49 25 3d a3 3a  |m%*4.4:bh%!I%=.:|
00001540  ed 3a 62 6f 6d 25 3d 62  6d 78 25 0d 04 c4 05 e1  |.:bom%=bmx%.....|
00001550  0d 04 ce 2f dd f2 41 35  33 3a e7 21 73 74 31 25  |.../..A53:.!st1%|
00001560  3e 30 e3 49 25 3d 31 b8  21 73 74 31 25 3a f2 73  |>0.I%=1.!st1%:.s|
00001570  63 28 32 29 3a ed 3a f2  62 75 72 70 28 31 29 0d  |c(2):.:.burp(1).|
00001580  04 d8 42 e7 21 73 74 32  25 3e 30 e3 49 25 3d 31  |..B.!st2%>0.I%=1|
00001590  b8 21 73 74 32 25 3a f2  73 63 28 35 29 3a ed 3a  |.!st2%:.sc(5):.:|
000015a0  f2 62 75 72 70 28 32 29  3a e7 21 61 68 25 3c 31  |.burp(2):.!ah%<1|
000015b0  3a f2 73 63 28 39 35 29  3a 41 48 25 3d 41 25 3a  |:.sc(95):AH%=A%:|
000015c0  e1 0d 04 e2 28 21 61 78  25 3d 9b 72 70 6f 73 2a  |....(!ax%=.rpos*|
000015d0  35 35 30 2b 35 39 38 3a  21 61 79 25 3d b5 72 70  |550+598:!ay%=.rp|
000015e0  6f 73 2a 39 36 2b 36 35  38 0d 04 ec 30 72 70 6f  |os*96+658...0rpo|
000015f0  73 2b 3d 72 69 6e 63 3a  e7 72 70 6f 73 3d 72 6d  |s+=rinc:.rpos=rm|
00001600  61 78 3a c8 94 72 6d 61  78 2c 72 6d 69 6e 3a 72  |ax:..rmax,rmin:r|
00001610  69 6e 63 3d 2d 72 69 6e  63 0d 04 f6 12 52 25 3d  |inc=-rinc....R%=|
00001620  b9 3a e7 b3 28 39 29 3d  31 20 8c 0d 05 00 2d e3  |.:..(9)=1 ....-.|
00001630  49 25 3d 34 b8 41 25 2a  34 88 34 3a e7 61 68 25  |I%=4.A%*4.4:.ah%|
00001640  21 49 25 3d a3 3a 52 25  3d 49 25 3a 49 25 3d 41  |!I%=.:R%=I%:I%=A|
00001650  25 2a 34 3a ed 3a 8b ed  0d 05 0a 2d e7 52 25 3e  |%*4:.:.....-.R%>|
00001660  b9 3a 61 68 25 21 52 25  3d 35 3a 61 78 25 21 52  |.:ah%!R%=5:ax%!R|
00001670  25 3d 21 61 78 25 3a 61  79 25 21 52 25 3d 21 61  |%=!ax%:ay%!R%=!a|
00001680  79 25 2d 39 30 0d 05 14  2f cd 3a e3 49 25 3d 34  |y%-90.../.:.I%=4|
00001690  b8 41 25 2a 34 88 34 3a  61 79 25 21 49 25 2d 3d  |.A%*4.4:ay%!I%-=|
000016a0  34 3a e7 61 79 25 21 49  25 3c a3 3a 61 68 25 21  |4:.ay%!I%<.:ah%!|
000016b0  49 25 3d a3 0d 05 1e 25  ed 3a f2 64 72 6f 70 33  |I%=....%.:.drop3|
000016c0  3a f2 70 61 28 31 34 2c  38 29 3a f2 62 6f 6d 62  |:.pa(14,8):.bomb|
000016d0  73 28 31 36 2c 38 29 3a  e1 0d 05 28 39 dd f2 41  |s(16,8):...(9..A|
000016e0  36 3a d6 77 25 3a e7 21  73 74 32 25 3e 30 e3 49  |6:.w%:.!st2%>0.I|
000016f0  25 3d 31 b8 21 73 74 32  25 3a f2 73 63 28 34 29  |%=1.!st2%:.sc(4)|
00001700  3a 41 48 25 2b 3d 31 3a  ed 3a f2 62 75 72 70 28  |:AH%+=1:.:.burp(|
00001710  32 29 0d 05 32 26 6d 6f  76 25 2b 3d 28 b3 28 38  |2)..2&mov%+=(.(8|
00001720  29 2d b3 28 38 29 29 2a  34 3a e7 6d 6f 76 25 3c  |)-.(8))*4:.mov%<|
00001730  a3 3a 6d 6f 76 25 3d a3  0d 05 3c 20 e7 6d 6f 76  |.:mov%=...< .mov|
00001740  25 3e 31 32 38 30 2d 31  31 34 3a 6d 6f 76 25 3d  |%>1280-114:mov%=|
00001750  31 32 38 30 2d 31 31 34  0d 05 46 0c e7 b3 28 32  |1280-114..F...(2|
00001760  29 3d 31 8c 0d 05 50 25  e3 49 25 3d 30 b8 41 25  |)=1...P%.I%=0.A%|
00001770  2a 34 88 34 3a e7 61 68  25 21 49 25 3d a3 3a 41  |*4.4:.ah%!I%=.:A|
00001780  73 70 74 6f 67 25 3d 49  25 0d 05 5a 40 ed 3a e7  |sptog%=I%..Z@.:.|
00001790  41 73 70 74 6f 67 25 3e  b9 3a 61 68 25 21 41 73  |Asptog%>.:ah%!As|
000017a0  70 74 6f 67 25 3d 31 3a  61 79 25 21 41 73 70 74  |ptog%=1:ay%!Aspt|
000017b0  6f 67 25 3d 31 30 32 34  3a 61 78 25 21 41 73 70  |og%=1024:ax%!Asp|
000017c0  74 6f 67 25 3d 6d 6f 76  25 0d 05 64 30 cd 3a e3  |tog%=mov%..d0.:.|
000017d0  49 25 3d 30 b8 41 25 2a  34 88 34 3a 61 79 25 21  |I%=0.A%*4.4:ay%!|
000017e0  49 25 2d 3d 36 34 3a e7  61 79 25 21 49 25 3c a3  |I%-=64:.ay%!I%<.|
000017f0  3a 61 68 25 21 49 25 3d  a3 0d 05 6e 2d ed 3a f2  |:ah%!I%=...n-.:.|
00001800  70 61 28 31 37 2c 38 29  3a 21 73 68 69 70 78 25  |pa(17,8):!shipx%|
00001810  3d 58 25 3a d6 6a 25 3a  e7 21 63 6f 6c 25 3e a3  |=X%:.j%:.!col%>.|
00001820  3a 44 25 2b 3d 31 0d 05  78 05 e1 0d 05 82 32 dd  |:D%+=1..x.....2.|
00001830  f2 41 38 3a d6 77 25 3a  e7 21 73 74 31 25 3e 30  |.A8:.w%:.!st1%>0|
00001840  e3 49 25 3d 31 b8 21 73  74 31 25 3a f2 73 63 28  |.I%=1.!st1%:.sc(|
00001850  31 29 3a ed 3a f2 62 75  72 70 28 31 29 0d 05 8c  |1):.:.burp(1)...|
00001860  34 e7 21 73 74 32 25 3e  30 e3 49 25 3d 31 b8 21  |4.!st2%>0.I%=1.!|
00001870  73 74 32 25 3a f2 73 63  28 35 29 3a ed 3a 41 48  |st2%:.sc(5):.:AH|
00001880  25 2b 3d 21 73 74 32 25  3a f2 62 75 72 70 28 32  |%+=!st2%:.burp(2|
00001890  29 0d 05 96 7c e3 49 25  3d 30 b8 61 6d 78 25 2a  |)...|.I%=0.amx%*|
000018a0  34 88 34 3a 61 78 25 21  49 25 2b 3d 61 74 6c 65  |4.4:ax%!I%+=atle|
000018b0  76 6e 69 6e 25 21 49 25  3a e7 61 78 25 21 49 25  |vnin%!I%:.ax%!I%|
000018c0  3c 34 38 84 61 78 25 21  49 25 3e 31 32 38 30 2d  |<48.ax%!I%>1280-|
000018d0  34 38 3a 61 79 25 21 49  25 2d 3d 36 30 3a 61 74  |48:ay%!I%-=60:at|
000018e0  6c 65 76 6e 69 6e 25 21  49 25 3d 2d 61 74 6c 65  |levnin%!I%=-atle|
000018f0  76 6e 69 6e 25 21 49 25  3a 61 78 25 21 49 25 2b  |vnin%!I%:ax%!I%+|
00001900  3d 61 74 6c 65 76 6e 69  6e 25 21 49 25 0d 05 a0  |=atlevnin%!I%...|
00001910  05 ed 0d 05 aa 11 e7 b3  28 32 29 3c 32 f2 64 72  |........(2)<2.dr|
00001920  6f 70 39 0d 05 b4 38 f2  70 61 28 31 38 2c a3 29  |op9...8.pa(18,.)|
00001930  3a f2 62 6f 6d 62 73 28  33 30 2c 38 29 3a 21 73  |:.bombs(30,8):!s|
00001940  68 69 70 78 25 3d 58 25  3a d6 6a 25 3a e7 21 63  |hipx%=X%:.j%:.!c|
00001950  6f 6c 25 3e a3 3a 44 25  2b 3d 31 0d 05 be 05 e1  |ol%>.:D%+=1.....|
00001960  0d 05 c8 39 dd f2 41 39  3a d6 77 25 3a e7 21 73  |...9..A9:.w%:.!s|
00001970  74 31 25 3e 30 e3 49 25  3d 31 b8 21 73 74 31 25  |t1%>0.I%=1.!st1%|
00001980  3a f2 73 63 28 31 29 3a  41 48 25 2b 3d 31 3a ed  |:.sc(1):AH%+=1:.|
00001990  3a f2 62 75 72 70 28 31  29 0d 05 d2 33 e7 21 73  |:.burp(1)...3.!s|
000019a0  74 32 25 3e 30 e3 49 25  3d 31 b8 21 73 74 32 25  |t2%>0.I%=1.!st2%|
000019b0  3a f2 73 63 28 32 30 29  3a ed 3a f2 62 75 72 70  |:.sc(20):.:.burp|
000019c0  28 32 29 3a 41 48 25 3d  41 25 3a e1 0d 05 dc 34  |(2):AH%=A%:....4|
000019d0  61 79 25 21 30 2d 3d 34  3a f2 70 61 28 33 31 2c  |ay%!0-=4:.pa(31,|
000019e0  a3 29 3a 21 73 68 69 70  78 25 3d 58 25 3a d6 6a  |.):!shipx%=X%:.j|
000019f0  25 3a e7 21 63 6f 6c 25  3e a3 3a 44 25 2b 3d 31  |%:.!col%>.:D%+=1|
00001a00  0d 05 e6 12 e7 61 79 25  21 30 3c a3 3a 44 25 2b  |.....ay%!0<.:D%+|
00001a10  3d 31 0d 05 f0 05 e1 0d  05 fa b5 dd f2 4c 31 3a  |=1...........L1:|
00001a20  f2 63 6c 65 61 72 3a 21  41 77 31 25 3d 31 30 3a  |.clear:!Aw1%=10:|
00001a30  21 41 68 31 25 3d 37 34  3a 41 25 3d 32 33 3a 21  |!Ah1%=74:A%=23:!|
00001a40  41 61 6d 78 25 3d 28 61  6d 78 25 2b 31 29 2a 34  |Aamx%=(amx%+1)*4|
00001a50  3a e3 49 25 3d 30 b8 33  3a e3 4a 25 3d 30 b8 35  |:.I%=0.3:.J%=0.5|
00001a60  3a 61 78 25 21 28 28 4a  25 2b 28 49 25 2a 36 29  |:ax%!((J%+(I%*6)|
00001a70  29 2a 34 29 3d 4a 25 2a  31 36 34 3a 61 79 25 21  |)*4)=J%*164:ay%!|
00001a80  28 28 4a 25 2b 28 49 25  2a 36 29 29 2a 34 29 3d  |((J%+(I%*6))*4)=|
00001a90  34 39 30 2b 49 25 2a 31  30 38 3a 61 68 25 21 28  |490+I%*108:ah%!(|
00001aa0  28 4a 25 2b 28 49 25 2a  36 29 29 2a 34 29 3d 31  |(J%+(I%*6))*4)=1|
00001ab0  3a ed 2c 3a f2 70 61 28  35 2c a3 29 3a 41 48 25  |:.,:.pa(5,.):AH%|
00001ac0  3d b9 3a 41 73 70 74 6f  67 25 3d a3 0d 06 04 09  |=.:Asptog%=.....|
00001ad0  66 74 25 3d 33 0d 06 0e  37 46 6c 61 67 25 3d a3  |ft%=3...7Flag%=.|
00001ae0  3a 41 69 6e 63 25 3d 31  36 3a 62 6f 6d 25 3d 33  |:Ainc%=16:bom%=3|
00001af0  3a 62 66 25 3d 31 36 3a  21 62 6f 6d 62 77 25 3d  |:bf%=16:!bombw%=|
00001b00  38 3a 21 62 6f 6d 62 68  25 3d 37 32 0d 06 18 35  |8:!bombh%=72...5|
00001b10  21 41 77 32 25 3d 38 34  3a 21 61 6c 69 65 6e 77  |!Aw2%=84:!alienw|
00001b20  25 3d 21 41 77 32 25 3a  21 41 68 32 25 3d 38 30  |%=!Aw2%:!Ah2%=80|
00001b30  3a 21 61 6c 69 65 6e 68  25 3d 21 41 68 32 25 3a  |:!alienh%=!Ah2%:|
00001b40  e1 0d 06 22 25 dd f2 4c  32 3a f2 4c 31 3a 41 69  |..."%..L2:.L1:Ai|
00001b50  6e 63 25 3d 33 32 3a 62  6f 6d 25 3d 37 3a 62 66  |nc%=32:bom%=7:bf|
00001b60  25 3d 33 32 3a e1 0d 06  2c b0 dd f2 4c 33 3a f2  |%=32:...,...L3:.|
00001b70  63 6c 65 61 72 3a 21 41  77 31 25 3d 31 30 3a 21  |clear:!Aw1%=10:!|
00001b80  41 68 31 25 3d 37 34 3a  41 25 3d 61 6d 78 25 3a  |Ah1%=74:A%=amx%:|
00001b90  21 41 61 6d 78 25 3d 28  61 6d 78 25 2b 31 29 2a  |!Aamx%=(amx%+1)*|
00001ba0  34 3a 4b 4b 25 3d 38 36  30 3a 4b 25 3d 38 36 30  |4:KK%=860:K%=860|
00001bb0  3a 6b 25 3d 36 34 30 3a  6b 6b 25 3d 38 30 3a 49  |:k%=640:kk%=80:I|
00001bc0  25 3d a3 3a e3 49 3d 30  b8 32 2a af 20 88 32 2a  |%=.:.I=0.2*. .2*|
00001bd0  af 2f 33 31 3a 61 78 25  21 49 25 3d 6b 25 2b 9b  |./31:ax%!I%=k%+.|
00001be0  49 2a 4b 25 3a 61 79 25  21 49 25 3d b5 49 2a 4b  |I*K%:ay%!I%=.I*K|
00001bf0  4b 25 2b 6b 6b 25 3a 61  68 25 21 49 25 3d 33 3a  |K%+kk%:ah%!I%=3:|
00001c00  49 25 2b 3d 34 3a ed 3a  f2 70 61 28 37 2c a3 29  |I%+=4:.:.pa(7,.)|
00001c10  3a 41 48 25 3d b9 0d 06  36 14 41 73 70 74 6f 67  |:AH%=...6.Asptog|
00001c20  25 3d a3 3a 6d 6f 76 25  3d a3 0d 06 40 37 21 41  |%=.:mov%=...@7!A|
00001c30  77 32 25 3d 31 30 34 3a  21 61 6c 69 65 6e 77 25  |w2%=104:!alienw%|
00001c40  3d 21 41 77 32 25 3a 21  41 68 32 25 3d 31 30 36  |=!Aw2%:!Ah2%=106|
00001c50  3a 21 61 6c 69 65 6e 68  25 3d 21 41 68 32 25 3a  |:!alienh%=!Ah2%:|
00001c60  e1 0d 06 4a 3b dd f2 4c  34 3a f2 63 6c 65 61 72  |...J;..L4:.clear|
00001c70  3a 21 41 77 31 25 3d 31  30 3a 21 41 68 31 25 3d  |:!Aw1%=10:!Ah1%=|
00001c80  37 34 3a 41 25 3d 61 6d  78 25 3a 21 41 61 6d 78  |74:A%=amx%:!Aamx|
00001c90  25 3d 28 61 6d 78 25 2b  31 29 2a 34 0d 06 54 49  |%=(amx%+1)*4..TI|
00001ca0  41 48 25 3d 41 25 2d 38  30 3a 41 46 41 4c 4c 25  |AH%=A%-80:AFALL%|
00001cb0  3d 33 32 3a 21 41 77 32  25 3d 38 32 3a 21 61 6c  |=32:!Aw2%=82:!al|
00001cc0  69 65 6e 77 25 3d 21 41  77 32 25 3a 21 41 68 32  |ienw%=!Aw2%:!Ah2|
00001cd0  25 3d 38 32 3a 21 61 6c  69 65 6e 68 25 3d 21 41  |%=82:!alienh%=!A|
00001ce0  68 32 25 3a e1 0d 06 5e  26 dd f2 4c 37 3a f2 4c  |h2%:...^&..L7:.L|
00001cf0  34 3a 41 48 25 2d 3d 38  30 3a 41 46 41 4c 4c 25  |4:AH%-=80:AFALL%|
00001d00  3d 41 46 41 4c 4c 25 2a  32 3a e1 0d 06 68 50 dd  |=AFALL%*2:...hP.|
00001d10  f2 4c 35 3a f2 63 6c 65  61 72 3a 21 41 77 31 25  |.L5:.clear:!Aw1%|
00001d20  3d 31 30 3a 21 41 68 31  25 3d 37 34 3a 41 25 3d  |=10:!Ah1%=74:A%=|
00001d30  61 6d 78 25 3a 21 41 61  6d 78 25 3d 28 61 6d 78  |amx%:!Aamx%=(amx|
00001d40  25 2b 31 29 2a 34 3a 21  62 6f 6d 62 77 25 3d 36  |%+1)*4:!bombw%=6|
00001d50  3a 21 62 6f 6d 62 68 25  3d 36 30 0d 06 72 63 61  |:!bombh%=60..rca|
00001d60  68 25 21 30 3d 31 30 31  3a 61 78 25 21 30 3d a3  |h%!0=101:ax%!0=.|
00001d70  3a 61 79 25 21 30 3d 39  30 30 3a 6d 6f 76 25 3d  |:ay%!0=900:mov%=|
00001d80  a3 3a 41 73 70 74 6f 67  25 3d 38 3a 72 69 6e 63  |.:Asptog%=8:rinc|
00001d90  3d af 2f 31 32 38 3a 72  6d 69 6e 3d af 3a 72 6d  |=./128:rmin=.:rm|
00001da0  61 78 3d 32 2a af 3a 72  70 6f 73 3d 72 6d 69 6e  |ax=2*.:rpos=rmin|
00001db0  3a 62 6f 6d 25 3d 39 3a  62 66 25 3d 31 36 0d 06  |:bom%=9:bf%=16..|
00001dc0  7c 3d 41 48 25 3d b9 3a  21 41 77 32 25 3d 31 38  ||=AH%=.:!Aw2%=18|
00001dd0  34 3a 21 61 6c 69 65 6e  77 25 3d 21 41 77 32 25  |4:!alienw%=!Aw2%|
00001de0  3a 21 41 68 32 25 3d 32  33 30 3a 21 61 6c 69 65  |:!Ah2%=230:!alie|
00001df0  6e 68 25 3d 21 41 68 32  25 3a e1 0d 06 86 3b dd  |nh%=!Ah2%:....;.|
00001e00  f2 4c 36 3a f2 63 6c 65  61 72 3a 21 41 77 31 25  |.L6:.clear:!Aw1%|
00001e10  3d 31 30 3a 21 41 68 31  25 3d 37 34 3a 41 25 3d  |=10:!Ah1%=74:A%=|
00001e20  61 6d 78 25 3a 21 41 61  6d 78 25 3d 28 61 6d 78  |amx%:!Aamx%=(amx|
00001e30  25 2b 31 29 2a 34 0d 06  90 14 6d 6f 76 25 3d 36  |%+1)*4....mov%=6|
00001e40  34 30 2d 28 31 31 34 2f  32 29 0d 06 9a 3f 41 48  |40-(114/2)...?AH|
00001e50  25 3d b9 2d 38 30 3a 21  41 77 32 25 3d 38 36 3a  |%=.-80:!Aw2%=86:|
00001e60  21 61 6c 69 65 6e 77 25  3d 21 41 77 32 25 3a 21  |!alienw%=!Aw2%:!|
00001e70  41 68 32 25 3d 31 31 34  3a 21 61 6c 69 65 6e 68  |Ah2%=114:!alienh|
00001e80  25 3d 21 41 68 32 25 3a  e1 0d 06 a4 3b dd f2 4c  |%=!Ah2%:....;..L|
00001e90  38 3a f2 63 6c 65 61 72  3a 21 41 77 31 25 3d 31  |8:.clear:!Aw1%=1|
00001ea0  30 3a 21 41 68 31 25 3d  37 34 3a 41 25 3d 61 6d  |0:!Ah1%=74:A%=am|
00001eb0  78 25 3a 21 41 61 6d 78  25 3d 28 61 6d 78 25 2b  |x%:!Aamx%=(amx%+|
00001ec0  31 29 2a 34 0d 06 ae 5d  6d 61 6b 65 69 74 25 3d  |1)*4...]makeit%=|
00001ed0  34 38 3a e3 49 25 3d 30  b8 31 35 2a 34 20 88 34  |48:.I%=0.15*4 .4|
00001ee0  3a 61 74 6c 65 76 6e 69  6e 25 21 49 25 3d 34 38  |:atlevnin%!I%=48|
00001ef0  3a 61 78 25 21 49 25 3d  6d 61 6b 65 69 74 25 3a  |:ax%!I%=makeit%:|
00001f00  6d 61 6b 65 69 74 25 2b  3d 34 38 3a 61 79 25 21  |makeit%+=48:ay%!|
00001f10  49 25 3d 38 36 30 3a 61  68 25 21 49 25 3d 33 3a  |I%=860:ah%!I%=3:|
00001f20  ed 0d 06 b8 64 6d 61 6b  65 69 74 25 3d 34 38 30  |....dmakeit%=480|
00001f30  3a e3 49 25 3d 31 36 2a  34 b8 61 6d 78 25 2a 34  |:.I%=16*4.amx%*4|
00001f40  20 88 34 3a 61 74 6c 65  76 6e 69 6e 25 21 49 25  | .4:atlevnin%!I%|
00001f50  3d 2d 34 38 3a 61 78 25  21 49 25 3d 6d 61 6b 65  |=-48:ax%!I%=make|
00001f60  69 74 25 3a 6d 61 6b 65  69 74 25 2b 3d 34 38 3a  |it%:makeit%+=48:|
00001f70  61 79 25 21 49 25 3d 38  30 30 3a 61 68 25 21 49  |ay%!I%=800:ah%!I|
00001f80  25 3d 33 3a ed 0d 06 c2  2a 21 62 6f 6d 62 77 25  |%=3:....*!bombw%|
00001f90  3d 34 34 3a 21 62 6f 6d  62 68 25 3d 33 30 3a 62  |=44:!bombh%=30:b|
00001fa0  6f 6d 25 3d 62 6d 78 25  3a 62 66 25 3d 33 30 0d  |om%=bmx%:bf%=30.|
00001fb0  06 cc 42 41 48 25 3d b9  3a 21 61 68 25 3d 32 3a  |..BAH%=.:!ah%=2:|
00001fc0  21 41 77 32 25 3d 34 34  3a 21 61 6c 69 65 6e 77  |!Aw2%=44:!alienw|
00001fd0  25 3d 21 41 77 32 25 3a  21 41 68 32 25 3d 33 30  |%=!Aw2%:!Ah2%=30|
00001fe0  3a 21 61 6c 69 65 6e 68  25 3d 21 41 68 32 25 3a  |:!alienh%=!Ah2%:|
00001ff0  e1 0d 06 d6 97 dd f2 4c  39 3a f2 63 6c 65 61 72  |.......L9:.clear|
00002000  3a 21 41 77 31 25 3d 31  30 3a 21 41 68 31 25 3d  |:!Aw1%=10:!Ah1%=|
00002010  37 34 3a 41 25 3d 32 3a  21 41 61 6d 78 25 3d 28  |74:A%=2:!Aamx%=(|
00002020  32 2b 31 29 2a 34 3a 21  61 78 25 3d 36 34 30 2d  |2+1)*4:!ax%=640-|
00002030  33 30 30 3a 21 61 79 25  3d 39 30 30 3a 41 48 25  |300:!ay%=900:AH%|
00002040  3d 2d 36 30 30 3a 21 61  68 25 3d 31 38 36 3a 21  |=-600:!ah%=186:!|
00002050  41 77 32 25 3d 36 30 30  3a 21 61 6c 69 65 6e 77  |Aw2%=600:!alienw|
00002060  25 3d 21 41 77 32 25 3a  21 41 68 32 25 3d 34 33  |%=!Aw2%:!Ah2%=43|
00002070  30 3a 21 61 6c 69 65 6e  68 25 3d 21 41 68 32 25  |0:!alienh%=!Ah2%|
00002080  3a 66 74 25 3d 32 3a e1  0d 06 e0 5b dd f2 63 6c  |:ft%=2:....[..cl|
00002090  65 61 72 3a e3 49 25 3d  30 b8 62 6d 78 25 2a 34  |ear:.I%=0.bmx%*4|
000020a0  88 34 3a 62 68 25 21 49  25 3d a3 3a ed 3a e3 49  |.4:bh%!I%=.:.:.I|
000020b0  25 3d 30 b8 73 6d 78 25  2a 34 88 34 3a 73 68 25  |%=0.smx%*4.4:sh%|
000020c0  21 49 25 3d a3 3a ed 3a  e3 49 25 3d 30 b8 61 6d  |!I%=.:.:.I%=0.am|
000020d0  78 25 2a 34 88 34 3a 61  68 25 21 49 25 3d a3 3a  |x%*4.4:ah%!I%=.:|
000020e0  ed 3a e1 0d 06 ea 32 dd  f2 6c 28 4c 25 29 3a ee  |.:....2..l(L%):.|
000020f0  4c 25 f2 4c 31 2c f2 4c  32 2c f2 4c 33 2c f2 4c  |L%.L1,.L2,.L3,.L|
00002100  34 2c f2 4c 35 2c f2 4c  36 2c f2 4c 37 2c f2 4c  |4,.L5,.L6,.L7,.L|
00002110  38 2c f2 4c 39 0d 06 f4  05 e1 0d 06 fe 74 dd f2  |8,.L9........t..|
00002120  64 72 6f 70 3a 63 31 25  3d 28 b3 28 41 25 2b 31  |drop:c1%=(.(A%+1|
00002130  29 2d 31 29 2a 34 3a 63  32 25 3d 28 b3 28 62 6f  |)-1)*4:c2%=(.(bo|
00002140  6d 25 2b 31 29 2d 31 29  2a 34 3a e7 61 68 25 21  |m%+1)-1)*4:.ah%!|
00002150  63 31 25 3e a3 20 80 62  68 25 21 63 32 25 3d a3  |c1%>. .bh%!c2%=.|
00002160  3a 62 68 25 21 63 32 25  3d 31 3a 62 78 25 21 63  |:bh%!c2%=1:bx%!c|
00002170  32 25 3d 61 78 25 21 63  31 25 3a 62 79 25 21 63  |2%=ax%!c1%:by%!c|
00002180  32 25 3d 61 79 25 21 63  31 25 2b 62 66 25 0d 07  |2%=ay%!c1%+bf%..|
00002190  08 54 dd f2 64 72 6f 70  39 3a 63 32 25 3d 28 b3  |.T..drop9:c2%=(.|
000021a0  28 62 6f 6d 25 2b 31 29  2d 31 29 2a 34 3a e7 62  |(bom%+1)-1)*4:.b|
000021b0  68 25 21 63 32 25 3d a3  3a 62 68 25 21 63 32 25  |h%!c2%=.:bh%!c2%|
000021c0  3d 31 3a 62 78 25 21 63  32 25 3d b3 28 31 32 34  |=1:bx%!c2%=.(124|
000021d0  39 29 3a 62 79 25 21 63  32 25 3d 38 39 36 2b 62  |9):by%!c2%=896+b|
000021e0  66 25 0d 07 12 05 e1 0d  07 1c 63 dd f2 64 72 6f  |f%........c..dro|
000021f0  70 32 28 63 31 25 29 3a  63 32 25 3d 28 b3 28 62  |p2(c1%):c2%=(.(b|
00002200  6f 6d 25 2b 31 29 2d 31  29 2a 34 3a e7 21 61 68  |om%+1)-1)*4:.!ah|
00002210  25 3e a3 20 80 62 68 25  21 63 32 25 3d a3 3a 62  |%>. .bh%!c2%=.:b|
00002220  68 25 21 63 32 25 3d 31  3a 62 78 25 21 63 32 25  |h%!c2%=1:bx%!c2%|
00002230  3d 21 61 78 25 2b 63 31  25 3a 62 79 25 21 63 32  |=!ax%+c1%:by%!c2|
00002240  25 3d 21 61 79 25 2b 62  66 25 0d 07 26 05 e1 0d  |%=!ay%+bf%..&...|
00002250  07 30 79 dd f2 64 72 6f  70 33 3a 63 31 25 3d b3  |.0y..drop3:c1%=.|
00002260  28 41 25 2b 31 29 2a 34  2b 34 3a 63 32 25 3d 28  |(A%+1)*4+4:c2%=(|
00002270  b3 28 62 6f 6d 25 2b 31  29 2d 31 29 2a 34 3a e7  |.(bom%+1)-1)*4:.|
00002280  61 68 25 21 63 31 25 3e  a3 20 80 62 68 25 21 63  |ah%!c1%>. .bh%!c|
00002290  32 25 3d a3 3a 62 68 25  21 63 32 25 3d 31 3a 62  |2%=.:bh%!c2%=1:b|
000022a0  78 25 21 63 32 25 3d 61  78 25 21 63 31 25 2b 35  |x%!c2%=ax%!c1%+5|
000022b0  30 3a 62 79 25 21 63 32  25 3d 61 79 25 21 63 31  |0:by%!c2%=ay%!c1|
000022c0  25 2b 31 32 2b 62 66 25  0d 07 3a 05 e1 0d 07 44  |%+12+bf%..:....D|
000022d0  44 dd f2 62 6f 6d 62 73  28 63 25 2c 4d 25 29 3a  |D..bombs(c%,M%):|
000022e0  d6 62 25 3a e7 21 63 6f  6c 25 3e a3 3a 44 25 2b  |.b%:.!col%>.:D%+|
000022f0  3d 31 3a e1 20 8b 3a e3  49 25 3d 30 b8 62 6f 6d  |=1:. .:.I%=0.bom|
00002300  25 2a 34 88 34 3a e7 62  68 25 21 49 25 3d 31 20  |%*4.4:.bh%!I%=1 |
00002310  8c 0d 07 4e 24 62 79 25  21 49 25 2d 3d 62 66 25  |...N$by%!I%-=bf%|
00002320  3a e7 62 79 25 21 49 25  3c 62 66 25 3a 62 68 25  |:.by%!I%<bf%:bh%|
00002330  21 49 25 3d a3 0d 07 58  05 cd 0d 07 62 12 ed 3a  |!I%=...X....b..:|
00002340  f2 70 62 28 63 25 2c 4d  25 29 3a e1 0d 07 6c 4f  |.pb(c%,M%):...lO|
00002350  dd f2 4f 4e 3a ea 20 58  31 25 2c 58 32 25 2c 59  |..ON:. X1%,X2%,Y|
00002360  25 2c 57 59 25 3a 58 31  25 3d 2d 31 36 30 3a 58  |%,WY%:X1%=-160:X|
00002370  32 25 3d 31 32 38 30 3a  f5 d1 3d a3 3a 67 25 3d  |2%=1280:..=.:g%=|
00002380  67 25 83 32 2b 31 3a c8  99 22 4f 53 5f 42 79 74  |g%.2+1:.."OS_Byt|
00002390  65 22 2c 31 31 32 2c 67  25 3a da 0d 07 76 13 58  |e",112,g%:...v.X|
000023a0  31 25 2b 3d 31 36 3a 58  32 25 2d 3d 31 36 0d 07  |1%+=16:X2%-=16..|
000023b0  80 6f f2 73 70 70 72 28  22 32 30 33 22 2c 58 31  |.o.sppr("203",X1|
000023c0  25 2c a3 2c a3 29 3a c8  99 22 4f 53 5f 53 70 72  |%,.,.):.."OS_Spr|
000023d0  69 74 65 4f 70 22 2c 33  30 33 2c 73 70 72 76 61  |iteOp",303,sprva|
000023e0  72 2c 22 32 30 33 22 3a  f2 73 70 70 72 28 22 32  |r,"203":.sppr("2|
000023f0  30 33 22 2c 58 32 25 2c  a3 2c a3 29 3a c8 99 22  |03",X2%,.,.):.."|
00002400  4f 53 5f 53 70 72 69 74  65 4f 70 22 2c 33 30 33  |OS_SpriteOp",303|
00002410  2c 73 70 72 76 61 72 2c  22 32 30 33 22 0d 07 8a  |,sprvar,"203"...|
00002420  2b d6 7a 25 3a f5 fd 91  3e 31 32 3a c8 96 3a c8  |+.z%:...>12:..:.|
00002430  99 22 4f 53 5f 42 79 74  65 22 2c 31 31 33 2c 67  |."OS_Byte",113,g|
00002440  25 3a fd 58 31 25 3d 30  0d 07 94 2e 59 25 3d 31  |%:.X1%=0....Y%=1|
00002450  34 34 3a f5 d1 3d a3 3a  67 25 3d 67 25 83 32 2b  |44:..=.:g%=g%.2+|
00002460  31 3a c8 99 22 4f 53 5f  42 79 74 65 22 2c 31 31  |1:.."OS_Byte",11|
00002470  32 2c 67 25 3a da 0d 07  9e 23 ef 32 34 2c 58 73  |2,g%:....#.24,Xs|
00002480  74 61 72 74 25 3b 59 25  3b 58 73 74 61 72 74 25  |tart%;Y%;Xstart%|
00002490  2b 31 32 38 3b 31 34 38  3b 0d 07 a8 1a f2 73 70  |+128;148;.....sp|
000024a0  70 72 28 22 31 22 2c 58  73 74 61 72 74 25 2c a3  |pr("1",Xstart%,.|
000024b0  2c a3 29 0d 07 b2 1b ef  32 34 2c a3 3b a3 3b 31  |,.).....24,.;.;1|
000024c0  32 37 39 3b 39 30 30 3b  3a 59 25 2d 3d 36 0d 07  |279;900;:Y%-=6..|
000024d0  bc 6f f2 73 70 70 72 28  22 32 30 33 22 2c 58 31  |.o.sppr("203",X1|
000024e0  25 2c a3 2c a3 29 3a c8  99 22 4f 53 5f 53 70 72  |%,.,.):.."OS_Spr|
000024f0  69 74 65 4f 70 22 2c 33  30 33 2c 73 70 72 76 61  |iteOp",303,sprva|
00002500  72 2c 22 32 30 33 22 3a  f2 73 70 70 72 28 22 32  |r,"203":.sppr("2|
00002510  30 33 22 2c 58 32 25 2c  a3 2c a3 29 3a c8 99 22  |03",X2%,.,.):.."|
00002520  4f 53 5f 53 70 72 69 74  65 4f 70 22 2c 33 30 33  |OS_SpriteOp",303|
00002530  2c 73 70 72 76 61 72 2c  22 32 30 33 22 0d 07 c6  |,sprvar,"203"...|
00002540  13 e6 b3 28 38 29 3a f2  62 75 72 70 28 31 30 29  |...(8):.burp(10)|
00002550  0d 07 d0 33 ec 31 35 30  2c 32 30 30 3a df 58 73  |...3.150,200:.Xs|
00002560  74 61 72 74 25 2d 34 2c  59 25 3a ec 58 32 25 2c  |tart%-4,Y%:.X2%,|
00002570  32 30 30 3a df 58 73 74  61 72 74 25 2b 31 33 30  |200:.Xstart%+130|
00002580  2c 59 25 0d 07 da 2a d6  7a 25 3a f5 fd 91 3e 31  |,Y%...*.z%:...>1|
00002590  32 3a c8 96 3a c8 99 22  4f 53 5f 42 79 74 65 22  |2:..:.."OS_Byte"|
000025a0  2c 31 31 33 2c 67 25 3a  fd 59 25 3d a3 0d 07 e4  |,113,g%:.Y%=....|
000025b0  a3 f5 d1 3d a3 3a 67 25  3d 67 25 83 32 2b 31 3a  |...=.:g%=g%.2+1:|
000025c0  c8 99 22 4f 53 5f 42 79  74 65 22 2c 31 31 32 2c  |.."OS_Byte",112,|
000025d0  67 25 3a da 3a 58 31 25  2d 3d 31 36 3a 58 32 25  |g%:.:X1%-=16:X2%|
000025e0  2b 3d 31 36 3a f2 73 70  70 72 28 22 32 30 33 22  |+=16:.sppr("203"|
000025f0  2c 58 31 25 2c a3 2c a3  29 3a c8 99 22 4f 53 5f  |,X1%,.,.):.."OS_|
00002600  53 70 72 69 74 65 4f 70  22 2c 33 30 33 2c 73 70  |SpriteOp",303,sp|
00002610  72 76 61 72 2c 22 32 30  33 22 3a f2 73 70 70 72  |rvar,"203":.sppr|
00002620  28 22 32 30 33 22 2c 58  32 25 2c a3 2c a3 29 3a  |("203",X2%,.,.):|
00002630  c8 99 22 4f 53 5f 53 70  72 69 74 65 4f 70 22 2c  |.."OS_SpriteOp",|
00002640  33 30 33 2c 73 70 72 76  61 72 2c 22 32 30 33 22  |303,sprvar,"203"|
00002650  0d 07 ee 1b f2 73 70 70  72 28 22 31 22 2c 58 73  |.....sppr("1",Xs|
00002660  74 61 72 74 25 2c 59 25  2c a3 29 0d 07 f8 2e d6  |tart%,Y%,.).....|
00002670  7a 25 3a f5 fd 91 3e 31  32 3a c8 96 3a c8 99 22  |z%:...>12:..:.."|
00002680  4f 53 5f 42 79 74 65 22  2c 31 31 33 2c 67 25 3a  |OS_Byte",113,g%:|
00002690  fd 58 31 25 3d 2d 31 36  30 0d 08 02 05 e1 0d 08  |.X1%=-160.......|
000026a0  0c 8a dd f2 65 78 70 6c  6f 64 65 3a e3 49 25 3d  |....explode:.I%=|
000026b0  30 b8 6d 61 78 64 6f 74  73 25 2a 34 88 34 3a f5  |0.maxdots%*4.4:.|
000026c0  44 58 25 21 49 25 3d b3  28 36 34 29 2a 32 2b 58  |DX%!I%=.(64)*2+X|
000026d0  25 3a 44 59 25 21 49 25  3d b3 28 33 36 29 2a 34  |%:DY%!I%=.(36)*4|
000026e0  3a 44 43 25 21 49 25 3d  b0 44 58 25 21 49 25 2c  |:DC%!I%=.DX%!I%,|
000026f0  44 59 25 21 49 25 29 3a  fd 44 43 25 21 49 25 3e  |DY%!I%):.DC%!I%>|
00002700  a3 3a 44 49 58 25 21 49  25 3d 28 b3 28 32 30 29  |.:DIX%!I%=(.(20)|
00002710  2d 31 30 29 2a 34 3a 44  49 59 25 21 49 25 3d b3  |-10)*4:DIY%!I%=.|
00002720  28 31 30 29 2a 34 3a ed  0d 08 16 2a 47 25 3d a3  |(10)*4:....*G%=.|
00002730  3a f5 d1 3d a3 3a 67 25  3d 67 25 82 33 3a c8 99  |:..=.:g%=g%.3:..|
00002740  22 4f 53 5f 42 79 74 65  22 2c 31 31 32 2c 67 25  |"OS_Byte",112,g%|
00002750  3a da 0d 08 20 52 d6 5a  25 3a d6 7a 25 3a c8 96  |:... R.Z%:.z%:..|
00002760  3a c8 99 22 4f 53 5f 42  79 74 65 22 2c 31 31 33  |:.."OS_Byte",113|
00002770  2c 67 25 3a 47 25 2b 3d  31 3a d4 6d 32 25 2c 2d  |,g%:G%+=1:.m2%,-|
00002780  31 35 2b 47 25 2c 32 35  35 2c 38 3a d4 6d 31 25  |15+G%,255,8:.m1%|
00002790  2c 2d 31 35 2b 47 25 2c  32 35 35 2c 38 3a fd 47  |,-15+G%,255,8:.G|
000027a0  25 3d 31 34 0d 08 2a 05  e1 0d 08 34 2d dd f2 70  |%=14..*....4-..p|
000027b0  61 28 21 63 6f 6c 69 25  2c 21 4d 69 79 25 29 3a  |a(!coli%,!Miy%):|
000027c0  21 63 6f 6c 69 25 3d 21  63 6f 6c 69 25 2a 34 3a  |!coli%=!coli%*4:|
000027d0  d6 70 61 6c 3a e1 0d 08  3e 2c dd f2 70 62 28 21  |.pal:...>,..pb(!|
000027e0  63 6f 6c 69 25 2c 21 4d  69 79 25 29 3a 21 63 6f  |coli%,!Miy%):!co|
000027f0  6c 69 25 3d 21 63 6f 6c  69 25 2a 34 3a d6 64 25  |li%=!coli%*4:.d%|
00002800  3a e1 0d 08 48 2f dd f2  73 76 61 72 73 3a 6c 25  |:...H/..svars:l%|
00002810  3d 4c 45 56 45 4c 53 54  41 52 54 25 3a 53 43 25  |=LEVELSTART%:SC%|
00002820  3d a3 3a 44 25 3d a3 3a  4c 45 56 41 44 44 25 3d  |=.:D%=.:LEVADD%=|
00002830  a3 0d 08 52 05 e1 0d 08  5c 14 dd f2 72 65 73 65  |...R....\...rese|
00002840  74 76 61 72 73 3a 73 25  3d a3 0d 08 66 4f 66 25  |tvars:s%=...fOf%|
00002850  3d a3 3a 41 73 70 74 6f  67 25 3d a3 3a 58 73 74  |=.:Asptog%=.:Xst|
00002860  61 72 74 25 3d 35 37 36  3a 58 25 3d 58 73 74 61  |art%=576:X%=Xsta|
00002870  72 74 25 3a 59 25 3d a3  3a c8 97 20 b8 20 58 25  |rt%:Y%=.:.. . X%|
00002880  2c 59 25 3a c8 97 20 c8  93 30 2c 30 2c 31 32 38  |,Y%:.. ..0,0,128|
00002890  30 2d 31 32 38 2c 30 3a  e1 0d 08 70 55 dd f2 68  |0-128,0:...pU..h|
000028a0  69 63 68 65 63 6b 3a 41  73 70 74 6f 67 25 3d 31  |icheck:Asptog%=1|
000028b0  3a e3 49 25 3d 31 30 30  b8 31 88 2d 31 3a e7 48  |:.I%=100.1.-1:.H|
000028c0  49 25 28 49 25 29 3c 53  43 25 3a 48 49 25 28 49  |I%(I%)<SC%:HI%(I|
000028d0  25 2b 31 29 3d 48 49 25  28 49 25 29 3a 48 49 24  |%+1)=HI%(I%):HI$|
000028e0  28 49 25 2b 31 29 3d 48  49 24 28 49 25 29 0d 08  |(I%+1)=HI$(I%)..|
000028f0  7a 23 e7 48 49 25 28 49  25 29 3e 3d 53 43 25 3a  |z#.HI%(I%)>=SC%:|
00002900  41 73 70 74 6f 67 25 3d  49 25 2b 31 3a 49 25 3d  |Asptog%=I%+1:I%=|
00002910  31 0d 08 84 14 ed 3a e7  41 73 70 74 6f 67 25 3c  |1.....:.Asptog%<|
00002920  31 30 31 20 8c 0d 08 8e  47 48 49 25 28 41 73 70  |101 ....GHI%(Asp|
00002930  74 6f 67 25 29 3d 53 43  25 3a e7 63 68 65 61 74  |tog%)=SC%:.cheat|
00002940  25 48 49 24 28 41 73 70  74 6f 67 25 29 3d 22 43  |%HI$(Asptog%)="C|
00002950  68 65 61 74 65 72 20 21  22 8b 48 49 24 28 41 73  |heater !".HI$(As|
00002960  70 74 6f 67 25 29 3d a4  68 69 73 63 0d 08 98 0b  |ptog%)=.hisc....|
00002970  f2 73 61 76 65 73 63 0d  08 a2 05 cd 0d 08 ac 24  |.savesc........$|
00002980  e7 41 73 70 74 6f 67 25  3c 31 30 31 3a 68 69 62  |.Asptog%<101:hib|
00002990  25 3d 41 73 70 74 6f 67  25 8b 68 69 62 25 3d 31  |%=Asptog%.hib%=1|
000029a0  0d 08 b6 05 e1 0d 08 c0  b2 dd a4 68 69 73 63 3a  |...........hisc:|
000029b0  f2 63 65 6e 74 28 22 43  4f 4e 47 52 41 54 55 4c  |.cent("CONGRATUL|
000029c0  41 54 49 4f 4e 53 21 22  2c 32 30 29 3a f2 63 65  |ATIONS!",20):.ce|
000029d0  6e 74 28 22 59 6f 75 20  6b 69 6c 6c 65 64 20 65  |nt("You killed e|
000029e0  6e 6f 75 67 68 20 61 6c  69 65 6e 73 2c 20 79 6f  |nough aliens, yo|
000029f0  75 20 73 63 75 6d 2c 74  6f 20 62 65 20 61 77 61  |u scum,to be awa|
00002a00  72 64 65 64 20 74 68 65  20 27 47 65 6e 6f 63 69  |rded the 'Genoci|
00002a10  64 65 27 20 63 72 6f 73  73 22 2c 32 31 29 3a f2  |de' cross",21):.|
00002a20  63 65 6e 74 28 22 50 6c  65 61 73 65 20 65 6e 74  |cent("Please ent|
00002a30  65 72 20 79 6f 75 72 20  6e 61 6d 65 20 66 6f 72  |er your name for|
00002a40  20 74 68 65 20 68 61 6c  6c 20 6f 66 20 66 61 6d  | the hall of fam|
00002a50  65 3a 22 2c 32 32 29 0d  08 ca 1e f2 63 65 6e 74  |e:",22).....cent|
00002a60  28 c4 32 30 2c 22 20 22  29 2c 32 33 29 3a ff 22  |(.20," "),23):."|
00002a70  46 58 31 35 22 0d 08 d4  17 61 24 3d c4 32 30 2c  |FX15"....a$=.20,|
00002a80  22 20 22 29 3a 61 24 3d  22 22 3a f5 0d 08 de 16  |" "):a$="":.....|
00002a90  f5 47 25 3d a5 3a fd 47  25 3e 33 31 84 47 25 3d  |.G%=.:.G%>31.G%=|
00002aa0  31 33 0d 08 e8 20 e7 47  25 3d 31 32 37 20 80 a9  |13... .G%=127 ..|
00002ab0  61 24 3e a3 3a 61 24 3d  c0 61 24 2c a9 61 24 2d  |a$>.:a$=.a$,.a$-|
00002ac0  31 29 0d 08 f2 24 e7 47  25 3c 3e 31 32 37 20 80  |1)...$.G%<>127 .|
00002ad0  47 25 3c 3e 31 33 20 80  a9 61 24 3c 32 30 3a 61  |G%<>13 ..a$<20:a|
00002ae0  24 2b 3d bd 47 25 0d 08  fc 2a f2 63 65 6e 74 28  |$+=.G%...*.cent(|
00002af0  c4 32 30 2c 22 20 22 29  2c 32 33 29 3a f2 63 65  |.20," "),23):.ce|
00002b00  6e 74 28 61 24 2c 32 33  29 3a fd 47 25 3d 31 33  |nt(a$,23):.G%=13|
00002b10  0d 09 06 07 3d 61 24 0d  09 10 91 dd f2 73 74 61  |....=a$......sta|
00002b20  72 74 70 72 6f 6d 70 74  3a e6 33 32 3a ef 35 3a  |rtprompt:.32:.5:|
00002b30  78 3d 7a 3a c8 91 34 33  32 2c 37 30 30 3a e3 49  |x=z:..432,700:.I|
00002b40  25 3d 31 b8 a9 61 61 24  3a 6a 6a 3d b5 78 2a 36  |%=1..aa$:jj=.x*6|
00002b50  34 3a ec 49 25 2a 31 36  2c 6a 6a 2b 31 32 38 3a  |4:.I%*16,jj+128:|
00002b60  f1 c1 61 61 24 2c 49 25  2c 31 29 3a ec 49 25 2a  |..aa$,I%,1):.I%*|
00002b70  31 36 2c 36 34 2b 6a 6a  3a f1 c1 62 61 24 2c 49  |16,64+jj:..ba$,I|
00002b80  25 2c 31 29 3a ec 49 25  2a 31 36 2c 6a 6a 3a f1  |%,1):.I%*16,jj:.|
00002b90  c1 63 61 24 2c 49 25 2c  31 29 3a 78 2b 3d 69 69  |.ca$,I%,1):x+=ii|
00002ba0  3a ed 3a 7a 2b 3d 69 69  0d 09 1a 6b c8 91 30 2c  |:.:z+=ii...k..0,|
00002bb0  30 3a ec 39 36 2c 37 30  30 3a f1 22 53 20 3d 20  |0:.96,700:."S = |
00002bc0  53 6f 75 6e 64 20 4f 6e  22 3a ec 39 36 2c 36 33  |Sound On":.96,63|
00002bd0  32 3a f1 22 51 20 3d 20  53 6f 75 6e 64 20 4f 66  |2:."Q = Sound Of|
00002be0  66 22 3a ec 31 30 32 34  2c 37 30 30 3a f1 22 4b  |f":.1024,700:."K|
00002bf0  20 3d 20 4b 65 79 62 6f  61 72 64 22 3a ec 31 30  | = Keyboard":.10|
00002c00  32 34 2c 36 33 32 3a f1  22 4d 20 3d 20 4d 6f 75  |24,632:."M = Mou|
00002c10  73 65 22 0d 09 24 3e ec  31 36 2c 38 36 36 3a f1  |se"..$>.16,866:.|
00002c20  22 44 45 4c 45 54 45 20  3d 20 50 61 75 73 65 20  |"DELETE = Pause |
00002c30  4f 6e 22 3a ec 31 36 2c  37 39 38 3a f1 22 43 4f  |On":.16,798:."CO|
00002c40  50 59 20 20 20 3d 20 50  61 75 73 65 20 4f 66 66  |PY   = Pause Off|
00002c50  22 0d 09 2e 4c ec 31 30  32 34 2c 38 36 36 3a f1  |"...L.1024,866:.|
00002c60  22 66 38 20 61 6e 64 22  3a ec 31 30 32 34 2c 38  |"f8 and":.1024,8|
00002c70  33 32 3a f1 22 66 35 20  74 6f 67 65 74 68 65 72  |32:."f5 together|
00002c80  2c 22 3a ec 31 30 32 34  2c 37 39 38 3a f1 22 53  |,":.1024,798:."S|
00002c90  65 6c 66 20 44 65 73 74  72 75 63 74 22 0d 09 38  |elf Destruct"..8|
00002ca0  1f ec 33 39 32 2c 36 30  30 3a f1 64 61 24 3a ec  |..392,600:.da$:.|
00002cb0  31 33 32 2c 35 36 38 3a  f1 65 61 24 0d 09 42 0d  |132,568:.ea$..B.|
00002cc0  ef 34 3a 87 3a fb 31 32  37 0d 09 4c 9f e3 49 25  |.4:.:.127..L..I%|
00002cd0  3d 68 69 62 25 b8 68 69  62 25 2b 35 3a fb 31 32  |=hib%.hib%+5:.12|
00002ce0  39 2b 49 25 83 31 34 3a  f2 63 65 6e 74 28 c4 37  |9+I%.14:.cent(.7|
00002cf0  2d a9 c3 49 25 2c 22 20  22 29 2b c3 49 25 2b 22  |-..I%," ")+.I%+"|
00002d00  20 2e 2e 2e 20 22 2b c4  32 30 2c 22 20 22 29 2b  | ... "+.20," ")+|
00002d10  22 20 2e 2e 2e 20 22 2b  c4 31 30 2d a9 c3 48 49  |" ... "+.10-..HI|
00002d20  25 28 49 25 29 2c 22 30  22 29 2b c3 48 49 25 28  |%(I%),"0")+.HI%(|
00002d30  49 25 29 2b 22 30 20 20  20 22 2c 31 36 2b 28 49  |I%)+"0   ",16+(I|
00002d40  25 2d 68 69 62 25 29 2a  32 29 3a f2 63 65 6e 74  |%-hib%)*2):.cent|
00002d50  28 48 49 24 28 49 25 29  2c 31 36 2b 28 49 25 2d  |(HI$(I%),16+(I%-|
00002d60  68 69 62 25 29 2a 32 29  0d 09 56 24 f2 63 65 6e  |hib%)*2)..V$.cen|
00002d70  74 28 c4 35 31 2c 22 20  22 29 2c 31 37 2b 28 49  |t(.51," "),17+(I|
00002d80  25 2d 68 69 62 25 29 2a  32 29 3a ed 0d 09 60 3e  |%-hib%)*2):...`>|
00002d90  fb 73 63 72 6f 6c 6c 63  25 3a fb 32 34 30 3a e3  |.scrollc%:.240:.|
00002da0  49 25 3d 30 b8 33 3a 73  63 72 6f 6c 6c 24 3d a4  |I%=0.3:scroll$=.|
00002db0  73 63 72 6f 6c 6c 3a ed  3a f2 63 65 6e 74 28 73  |scroll:.:.cent(s|
00002dc0  63 72 6f 6c 6c 24 2c 32  38 29 0d 09 6a 0e fb 31  |croll$,28)..j..1|
00002dd0  33 39 3a fb 30 c8 9c 30  0d 09 74 9f e7 28 a6 2d  |39:.0..0..t..(.-|
00002de0  35 36 20 80 a6 2d 38 37  20 80 a6 2d 35 34 20 80  |56 ..-87 ..-54 .|
00002df0  a6 2d 36 36 29 3a c8 99  22 4f 53 5f 42 79 74 65  |.-66):.."OS_Byte|
00002e00  22 2c 31 31 33 2c 67 25  3a f1 8a 33 30 2c 31 30  |",113,g%:..30,10|
00002e10  29 22 52 65 6c 65 61 73  65 20 6b 65 79 73 2e 20  |)"Release keys. |
00002e20  20 20 20 20 20 20 22 3a  6b 74 25 3d 91 3a f5 fd  |      ":kt%=.:..|
00002e30  91 2d 6b 74 25 3e 31 35  30 3a ff 22 46 58 31 35  |.-kt%>150:."FX15|
00002e40  22 3a f1 8a 33 30 2c 31  30 29 22 57 68 69 63 68  |":..30,10)"Which|
00002e50  20 4c 65 76 65 6c 20 28  31 2d 39 29 20 22 3b 3a  | Level (1-9) ";:|
00002e60  63 68 65 61 74 25 3d a5  3a f1 bd a5 3a 63 68 65  |cheat%=.:...:che|
00002e70  61 74 25 2d 3d 34 38 0d  09 7e 1f e7 63 68 65 61  |at%-=48..~..chea|
00002e80  74 25 3c 31 84 63 68 65  61 74 25 3e 39 3a 63 68  |t%<1.cheat%>9:ch|
00002e90  65 61 74 25 3d a3 0d 09  88 10 e7 a6 2d 35 38 68  |eat%=.......-58h|
00002ea0  69 62 25 2d 3d 31 0d 09  92 15 e7 a6 2d 31 20 80  |ib%-=1......-1 .|
00002eb0  a6 2d 35 38 68 69 62 25  2d 3d 35 0d 09 9c 10 e7  |.-58hib%-=5.....|
00002ec0  a6 2d 34 32 68 69 62 25  2b 3d 31 0d 09 a6 15 e7  |.-42hib%+=1.....|
00002ed0  a6 2d 31 20 80 a6 2d 34  32 68 69 62 25 2b 3d 35  |.-1 ..-42hib%+=5|
00002ee0  0d 09 b0 0b f2 68 69 62  62 69 62 0d 09 ba 2a f2  |.....hibbib...*.|
00002ef0  63 65 6e 74 28 22 50 72  65 73 73 20 20 3e 20 53  |cent("Press  > S|
00002f00  50 41 43 45 20 3c 20 74  6f 20 73 74 61 72 74 2e  |PACE < to start.|
00002f10  22 2c 33 30 29 0d 09 c4  05 e1 0d 09 ce 2b dd f2  |",30)........+..|
00002f20  68 69 62 62 69 62 3a e7  68 69 62 25 3c 31 68 69  |hibbib:.hib%<1hi|
00002f30  62 25 3d 31 3a 8b e7 68  69 62 25 3e 39 35 68 69  |b%=1:..hib%>95hi|
00002f40  62 25 3d 39 35 0d 09 d8  2b f1 8a 32 2c 32 30 29  |b%=95...+..2,20)|
00002f50  22 8b 22 8a 37 35 2c 32  30 29 22 8b 22 8a 32 2c  |".".75,20)".".2,|
00002f60  32 32 29 22 8a 22 8a 37  35 2c 32 32 29 22 8a 22  |22)".".75,22)"."|
00002f70  0d 09 e2 05 e1 0d 09 ec  29 dd f2 63 65 6e 74 28  |........)..cent(|
00002f80  61 24 2c 74 79 25 29 3a  f1 8a 34 30 2d 28 a9 61  |a$,ty%):..40-(.a|
00002f90  24 81 32 29 2c 74 79 25  29 3b 61 24 3a e1 0d 09  |$.2),ty%);a$:...|
00002fa0  f6 59 dd f2 73 61 76 65  73 63 3a 46 25 3d ae 22  |.Y..savesc:F%=."|
00002fb0  3c 4e 6f 74 53 70 49 6e  76 3f 24 44 69 72 3e 2e  |<NotSpInv?$Dir>.|
00002fc0  53 63 6f 72 65 49 41 49  66 22 3a e3 49 25 3d 31  |ScoreIAIf":.I%=1|
00002fd0  b8 31 30 30 3a f1 23 46  25 2c 48 49 24 28 49 25  |.100:.#F%,HI$(I%|
00002fe0  29 3a f1 23 46 25 2c 48  49 25 28 49 25 29 3a ed  |):.#F%,HI%(I%):.|
00002ff0  3a d9 23 46 25 3a e1 0d  0a 00 59 dd f2 6c 6f 61  |:.#F%:....Y..loa|
00003000  64 73 63 3a 46 25 3d 8e  22 3c 4e 6f 74 53 70 49  |dsc:F%=."<NotSpI|
00003010  6e 76 3f 24 44 69 72 3e  2e 53 63 6f 72 65 49 41  |nv?$Dir>.ScoreIA|
00003020  49 66 22 3a e3 49 25 3d  31 b8 31 30 30 3a e8 23  |If":.I%=1.100:.#|
00003030  46 25 2c 48 49 24 28 49  25 29 3a e8 23 46 25 2c  |F%,HI$(I%):.#F%,|
00003040  48 49 25 28 49 25 29 3a  ed 3a d9 23 46 25 3a e1  |HI%(I%):.:.#F%:.|
00003050  0d 0a 0a 47 dd f2 69 6e  69 74 69 61 6c 69 73 65  |...G..initialise|
00003060  3a de 48 49 25 28 31 30  30 2b 31 29 2c 48 49 24  |:.HI%(100+1),HI$|
00003070  28 31 30 30 2b 31 29 3a  48 49 24 28 29 3d 22 20  |(100+1):HI$()=" |
00003080  20 20 20 56 61 63 61 6e  74 20 20 20 20 20 22 3a  |   Vacant     ":|
00003090  48 49 25 28 29 3d 30 0d  0a 14 27 f7 8d 54 5e 4a  |HI%()=0...'..T^J|
000030a0  3a de 20 4c 45 56 24 28  39 29 3a e3 49 25 3d 31  |:. LEV$(9):.I%=1|
000030b0  b8 39 3a f3 4c 45 56 24  28 49 25 29 3a ed 0d 0a  |.9:.LEV$(I%):...|
000030c0  1e 7e dc 22 45 61 73 79  22 2c 22 53 74 69 6c 6c  |.~."Easy","Still|
000030d0  20 45 61 73 79 22 2c 22  54 68 65 20 20 4e 6f 6f  | Easy","The  Noo|
000030e0  73 65 22 2c 22 54 61 72  67 65 74 20 50 72 61 63  |se","Target Prac|
000030f0  74 69 63 65 22 2c 22 47  6f 6c 69 61 74 68 22 2c  |tice","Goliath",|
00003100  22 54 72 61 66 66 69 63  22 2c 22 53 75 6e 64 61  |"Traffic","Sunda|
00003110  79 20 44 72 69 76 65 72  73 22 2c 22 4c 69 6c 6c  |y Drivers","Lill|
00003120  69 70 75 74 61 6e 73 3f  22 2c 22 53 68 6f 6f 74  |iputans?","Shoot|
00003130  20 74 68 65 20 61 72 74  69 73 74 22 0d 0a 28 41  | the artist"..(A|
00003140  f4 20 43 6f 6c 6c 69 73  69 6f 6e 20 64 65 74 65  |. Collision dete|
00003150  63 74 69 6f 6e 20 69 73  20 73 65 74 20 75 70 20  |ction is set up |
00003160  77 69 74 68 20 79 6f 75  72 20 6d 69 73 73 69 6c  |with your missil|
00003170  65 20 62 65 69 6e 67 20  31 30 2c 37 34 0d 0a 32  |e being 10,74..2|
00003180  c6 61 61 24 3d 22 4e 4f  54 20 53 70 61 63 65 20  |.aa$="NOT Space |
00003190  49 6e 76 61 64 65 72 73  20 41 67 61 69 6e 3f 3f  |Invaders Again??|
000031a0  22 3a 62 61 24 3d 22 20  20 20 20 20 20 20 20 50  |":ba$="        P|
000031b0  44 20 62 79 20 3a 22 3a  63 61 24 3d 22 20 20 20  |D by :":ca$="   |
000031c0  20 50 61 75 6c 20 20 20  20 48 61 6c 6c 61 6d 20  | Paul    Hallam |
000031d0  a9 31 39 39 30 22 3a 64  61 24 3d 22 52 45 54 55  |.1990":da$="RETU|
000031e0  52 4e 2e 2e 2e 6f 72 20  4d 6f 75 73 65 20 42 75  |RN...or Mouse Bu|
000031f0  74 74 6f 6e 2e 2e 2e 46  69 72 65 22 3a 65 61 24  |tton...Fire":ea$|
00003200  3d 22 5a 2e 2e 2e 2e 2e  6f 72 20 4d 6f 76 65 20  |="Z.....or Move |
00003210  4d 6f 75 73 65 2e 2e 2e  2e 2e 4c 65 66 74 20 20  |Mouse.....Left  |
00003220  20 20 20 20 20 20 58 2e  2e 2e 2e 2e 6f 72 20 4d  |      X.....or M|
00003230  6f 76 65 20 4d 6f 75 73  65 2e 2e 2e 2e 52 69 67  |ove Mouse....Rig|
00003240  68 74 22 0d 0a 3c 1a 43  24 3d c4 31 31 2c 22 30  |ht"..<.C$=.11,"0|
00003250  22 29 3a 44 24 3d c4 35  2c 22 30 22 29 0d 0a 46  |"):D$=.5,"0")..F|
00003260  21 61 6d 78 25 3d 33 32  2d 31 3a 62 6d 78 25 3d  |!amx%=32-1:bmx%=|
00003270  33 32 2d 31 3a 73 6d 78  25 3d 31 32 2d 31 0d 0a  |32-1:smx%=12-1..|
00003280  50 0b 74 73 25 3d 39 30  30 0d 0a 5a 15 53 25 3d  |P.ts%=900..Z.S%=|
00003290  31 38 3a 73 79 69 6e 63  25 3d 35 2a 53 25 0d 0a  |18:syinc%=5*S%..|
000032a0  64 e4 de 66 78 25 61 6d  78 25 2a 34 2c 66 79 25  |d..fx%amx%*4,fy%|
000032b0  61 6d 78 25 2a 34 2c 66  68 25 61 6d 78 25 2a 34  |amx%*4,fh%amx%*4|
000032c0  2c 61 78 25 61 6d 78 25  2a 34 2c 61 79 25 61 6d  |,ax%amx%*4,ay%am|
000032d0  78 25 2a 34 2c 61 68 25  61 6d 78 25 2a 34 2c 61  |x%*4,ah%amx%*4,a|
000032e0  74 6c 65 76 6e 69 6e 25  61 6d 78 25 2a 34 2c 73  |tlevnin%amx%*4,s|
000032f0  78 25 73 6d 78 25 2a 34  2c 73 79 25 73 6d 78 25  |x%smx%*4,sy%smx%|
00003300  2a 34 2c 73 68 25 73 6d  78 25 2a 34 2c 62 78 25  |*4,sh%smx%*4,bx%|
00003310  62 6d 78 25 2a 34 2c 62  79 25 62 6d 78 25 2a 34  |bmx%*4,by%bmx%*4|
00003320  2c 62 68 25 62 6d 78 25  2a 34 2c 53 78 25 39 30  |,bh%bmx%*4,Sx%90|
00003330  2a 34 2c 53 79 25 39 30  2a 34 2c 44 43 25 6d 61  |*4,Sy%90*4,DC%ma|
00003340  78 64 6f 74 73 25 2a 34  2c 44 58 25 6d 61 78 64  |xdots%*4,DX%maxd|
00003350  6f 74 73 25 2a 34 2c 44  59 25 6d 61 78 64 6f 74  |ots%*4,DY%maxdot|
00003360  73 25 2a 34 2c 44 49 58  25 6d 61 78 64 6f 74 73  |s%*4,DIX%maxdots|
00003370  25 2a 34 2c 44 49 59 25  6d 61 78 64 6f 74 73 25  |%*4,DIY%maxdots%|
00003380  2a 34 0d 0a 6e 33 e3 49  25 3d 30 b8 33 36 30 88  |*4..n3.I%=0.360.|
00003390  34 3a 53 78 25 21 49 25  3d b3 28 31 32 38 30 29  |4:Sx%!I%=.(1280)|
000033a0  2d 31 3a 53 79 25 21 49  25 3d b3 28 31 30 32 34  |-1:Sy%!I%=.(1024|
000033b0  29 2d 31 3a ed 0d 0a 78  30 e7 6d 75 73 69 63 25  |)-1:...x0.music%|
000033c0  3d a3 3a 6d 31 25 3d 31  3a 6d 32 25 3d 32 3a c8  |=.:m1%=1:m2%=2:.|
000033d0  a0 20 32 3a 8b 6d 31 25  3d 35 3a 6d 32 25 3d 36  |. 2:.m1%=5:m2%=6|
000033e0  3a c8 a0 20 36 0d 0a 82  2d ff 22 43 48 41 4e 4e  |:.. 6...-."CHANN|
000033f0  45 4c 56 4f 49 43 45 20  22 2b c3 6d 31 25 2b 22  |ELVOICE "+.m1%+"|
00003400  20 50 65 72 63 75 73 73  69 6f 6e 2d 53 6e 61 72  | Percussion-Snar|
00003410  65 22 0d 0a 8c 2d ff 22  43 48 41 4e 4e 45 4c 56  |e"...-."CHANNELV|
00003420  4f 49 43 45 20 22 2b c3  6d 32 25 2b 22 20 50 65  |OICE "+.m2%+" Pe|
00003430  72 63 75 73 73 69 6f 6e  2d 4e 6f 69 73 65 22 0d  |rcussion-Noise".|
00003440  0a 96 22 de 20 73 70 72  76 61 72 20 31 33 30 33  |..". sprvar 1303|
00003450  32 38 3a 21 73 70 72 76  61 72 3d 31 33 30 33 32  |28:!sprvar=13032|
00003460  38 0d 0a a0 16 87 3a c8  99 22 48 6f 75 72 67 6c  |8.....:.."Hourgl|
00003470  61 73 73 5f 4f 6e 22 0d  0a aa 21 ff 22 3c 4e 6f  |ass_On"...!."<No|
00003480  74 53 70 49 6e 76 3f 24  44 69 72 3e 2e 50 48 6d  |tSpInv?$Dir>.PHm|
00003490  6f 64 44 65 43 6f 6d 22  0d 0a b4 37 ff 22 41 64  |odDeCom"...7."Ad|
000034a0  64 57 61 74 65 72 20 3c  4e 6f 74 53 70 49 6e 76  |dWater <NotSpInv|
000034b0  3f 24 44 69 72 3e 2e 53  70 61 63 65 53 70 73 32  |?$Dir>.SpaceSps2|
000034c0  20 22 2b c3 7e 28 73 70  72 76 61 72 2b 34 29 0d  | "+.~(sprvar+4).|
000034d0  0a be 55 de 73 63 72 6f  6c 6c 6d 65 6d 25 20 34  |..U.scrollmem% 4|
000034e0  30 30 30 3a f3 73 63 72  6f 6c 6c 6e 75 6d 25 3a  |000:.scrollnum%:|
000034f0  e3 49 25 3d 30 b8 73 63  72 6f 6c 6c 6e 75 6d 25  |.I%=0.scrollnum%|
00003500  3a f3 24 28 73 63 72 6f  6c 6c 6d 65 6d 25 2b 49  |:.$(scrollmem%+I|
00003510  25 2a 32 32 38 29 3a ed  3a 73 63 72 6f 6c 6c 63  |%*228):.:scrollc|
00003520  25 3d 36 37 0d 0a c8 07  dc 31 35 0d 0a d2 eb dc  |%=67.....15.....|
00003530  22 20 fb 80 fa fa fa fa  fa fa fa fa fa fa fa fa  |" ..............|
00003540  f9 fc 49 4e 53 54 52 55  43 54 49 4f 4e 53 20 3a  |..INSTRUCTIONS :|
00003550  20 43 6f 6e 74 72 6f 6c  6c 73 20 61 62 6f 76 65  | Controlls above|
00003560  2e 20 53 20 2f 20 51 20  73 6f 75 6e 64 20 4f 4e  |. S / Q sound ON|
00003570  20 2f 20 4f 46 46 20 2c  74 68 69 73 20 74 75 72  | / OFF ,this tur|
00003580  6e 73 20 6f 66 66 20 73  6f 75 6e 64 20 66 78 2c  |ns off sound fx,|
00003590  20 69 66 20 79 6f 75 20  61 72 65 20 72 75 6e 6e  | if you are runn|
000035a0  69 6e 67 20 61 20 34 2d  63 68 61 6e 6e 65 6c 20  |ing a 4-channel |
000035b0  69 6e 74 65 72 72 75 70  74 20 74 75 6e 65 20 74  |interrupt tune t|
000035c0  68 65 6e 20 74 68 69 73  20 68 61 73 20 74 68 65  |hen this has the|
000035d0  20 65 66 66 65 63 74 20  6f 66 20 63 68 61 6e 67  | effect of chang|
000035e0  69 6e 67 20 66 72 6f 6d  20 36 20 63 68 61 6e 6e  |ing from 6 chann|
000035f0  65 6c 73 20 62 65 69 6e  67 20 75 73 65 64 20 28  |els being used (|
00003600  32 20 73 6f 75 6e 64 20  66 78 20 61 6e 64 20 34  |2 sound fx and 4|
00003610  20 74 75 6e 65 22 0d 0a  dc eb dc 22 29 20 74 6f  | tune".....") to|
00003620  20 74 68 65 20 34 20 76  6f 69 63 65 73 20 75 73  | the 4 voices us|
00003630  65 64 20 62 79 20 74 68  65 20 74 75 6e 65 20 2d  |ed by the tune -|
00003640  20 61 20 73 6c 69 67 68  74 20 69 6e 63 72 65 61  | a slight increa|
00003650  73 65 20 69 6e 20 73 70  65 65 64 20 28 6f 66 20  |se in speed (of |
00003660  63 6f 75 72 73 65 20 69  66 20 79 6f 75 20 68 61  |course if you ha|
00003670  76 65 20 6e 6f 74 20 6c  6f 61 64 65 64 20 69 6e  |ve not loaded in|
00003680  20 61 20 74 75 6e 65 20  69 74 20 67 6f 65 73 20  | a tune it goes |
00003690  66 61 73 74 65 72 20 61  6e 79 77 61 79 29 20 2e  |faster anyway) .|
000036a0  2e 2e 20 27 45 4e 54 45  52 27 20 74 6f 67 67 6c  |.. 'ENTER' toggl|
000036b0  65 73 20 6f 66 66 2f 6f  6e 20 74 68 65 20 73 70  |es off/on the sp|
000036c0  65 61 6b 65 72 20 2e 2e  2e 20 75 70 20 64 6f 77  |eaker ... up dow|
000036d0  6e 20 63 75 72 73 6f 72  20 6f 6e 20 74 68 65 20  |n cursor on the |
000036e0  74 69 74 6c 65 20 70 61  67 65 20 72 75 6e 73 20  |title page runs |
000036f0  74 68 72 6f 75 67 68 20  74 68 65 20 76 61 72 69  |through the vari|
00003700  22 0d 0a e6 eb dc 22 6f  75 73 20 73 63 6f 72 65  |"....."ous score|
00003710  73 20 28 77 68 65 6e 20  73 6f 6d 65 6f 6e 65 20  |s (when someone |
00003720  67 65 74 73 20 61 20 68  69 73 63 6f 72 65 20 74  |gets a hiscore t|
00003730  68 65 20 70 72 6f 67 72  61 6d 20 61 74 74 65 6d  |he program attem|
00003740  70 74 73 20 74 6f 20 73  61 76 65 20 61 6c 6c 20  |pts to save all |
00003750  73 63 6f 72 65 73 20 74  6f 20 64 69 73 6b 20 61  |scores to disk a|
00003760  6e 64 20 6f 76 65 72 77  72 69 74 65 20 74 68 65  |nd overwrite the|
00003770  20 73 63 6f 72 65 20 66  69 6c 65 20 70 72 65 73  | score file pres|
00003780  65 6e 74 6c 79 20 69 6e  20 70 6c 61 63 65 29 2e  |ently in place).|
00003790  53 48 49 46 54 20 73 70  65 65 64 73 20 75 70 20  |SHIFT speeds up |
000037a0  73 63 6f 72 65 20 6d 6f  76 65 6d 65 6e 74 2e fa  |score movement..|
000037b0  fa fa fa fa fa fa fa fa  fa fa fa fa fa fa fa fa  |................|
000037c0  fa fa f9 fd 20 4c 65 76  65 6c 20 74 65 63 68 6e  |.... Level techn|
000037d0  69 71 75 65 20 2e 2e 2e  20 4c 65 76 65 6c 73 20  |ique ... Levels |
000037e0  31 20 26 20 32 20 3b 20  53 68 6f 22 0d 0a f0 eb  |1 & 2 ; Sho"....|
000037f0  dc 22 6f 74 20 61 6c 6c  20 74 68 65 20 61 6c 69  |."ot all the ali|
00003800  65 6e 73 20 2e 2e 2e 20  4c 65 76 65 6c 20 33 20  |ens ... Level 3 |
00003810  3b 20 53 68 6f 6f 74 20  61 6c 6c 20 74 68 65 20  |; Shoot all the |
00003820  61 6c 69 65 6e 73 20 36  20 74 69 6d 65 73 20 74  |aliens 6 times t|
00003830  6f 20 73 74 6f 70 20 61  6e 79 20 6f 66 20 74 68  |o stop any of th|
00003840  65 6d 20 63 6f 6c 6c 69  64 69 6e 67 20 77 69 74  |em colliding wit|
00003850  68 20 79 6f 75 20 6f 72  20 67 6f 69 6e 67 20 73  |h you or going s|
00003860  6f 20 66 61 72 20 64 6f  77 6e 20 74 68 61 74 20  |o far down that |
00003870  74 68 65 79 20 63 61 6e  6e 6f 74 20 61 70 70 65  |they cannot appe|
00003880  61 72 20 61 67 61 69 6e  20 2d 69 6e 20 65 69 74  |ar again -in eit|
00003890  68 65 72 20 63 61 73 65  20 74 68 65 20 70 72 6f  |her case the pro|
000038a0  67 72 61 6d 20 6b 69 6c  6c 73 20 79 6f 75 20 6f  |gram kills you o|
000038b0  66 66 20 2e 2e 2e 20 4c  65 76 65 6c 20 34 20 3b  |ff ... Level 4 ;|
000038c0  20 44 6f 64 67 65 20 74  68 65 20 61 6c 69 65 6e  | Dodge the alien|
000038d0  73 20 74 69 6c 6c 22 0d  0a fa eb dc 22 20 61 20  |s till"....." a |
000038e0  63 65 72 74 61 69 6e 20  6e 75 6d 62 65 72 20 68  |certain number h|
000038f0  61 76 65 20 61 70 70 65  61 72 65 64 2e 2e 20 4c  |ave appeared.. L|
00003900  65 76 65 6c 20 35 20 3b  20 53 68 6f 6f 74 20 74  |evel 5 ; Shoot t|
00003910  68 65 20 73 68 69 70 20  2c 64 6f 64 67 69 6e 67  |he ship ,dodging|
00003920  20 74 68 72 6f 75 67 68  20 68 6f 6c 65 73 20 69  | through holes i|
00003930  6e 20 69 74 27 73 20 72  61 69 6e 20 6f 66 20 6d  |n it's rain of m|
00003940  69 73 73 69 6c 65 73 2d  74 68 65 6e 20 64 65 66  |issiles-then def|
00003950  65 6e 64 20 79 6f 75 72  73 65 6c 66 20 61 67 61  |end yourself aga|
00003960  69 6e 73 74 20 74 68 65  20 63 6c 6f 6e 65 73 20  |inst the clones |
00003970  77 68 69 6c 73 74 20 73  68 6f 6f 74 69 6e 67 20  |whilst shooting |
00003980  74 68 65 20 6d 61 69 6e  20 65 73 63 61 70 65 20  |the main escape |
00003990  70 6f 64 20 2e 2e 2e 20  4c 65 76 65 6c 20 36 20  |pod ... Level 6 |
000039a0  3b 20 4d 75 73 74 20 73  68 6f 6f 74 20 61 20 63  |; Must shoot a c|
000039b0  65 72 74 61 69 6e 20 6e  75 6d 62 65 72 20 6f 66  |ertain number of|
000039c0  20 22 0d 0b 04 eb dc 22  74 68 65 20 27 63 6f 66  | "....."the 'cof|
000039d0  66 69 6e 73 27 20 2c 6d  61 6b 69 6e 67 20 73 75  |fins' ,making su|
000039e0  72 65 20 74 68 65 79 20  64 6f 20 6e 6f 74 20 66  |re they do not f|
000039f0  61 6c 6c 20 69 6e 74 6f  20 79 6f 75 20 2e 2e 2e  |all into you ...|
00003a00  20 4c 65 76 65 6c 20 37  20 3b 20 4d 6f 72 65 20  | Level 7 ; More |
00003a10  64 6f 64 67 69 6e 67 20  2e 2e 2e 20 4c 65 76 65  |dodging ... Leve|
00003a20  6c 20 38 20 3b 20 53 68  6f 6f 74 20 74 68 65 20  |l 8 ; Shoot the |
00003a30  27 57 6f 72 6d 69 6e 67  27 20 61 6c 69 65 6e 73  |'Worming' aliens|
00003a40  20 77 68 69 6c 73 74 20  64 6f 64 67 69 6e 67 20  | whilst dodging |
00003a50  74 68 65 20 66 61 6c 6c  69 6e 67 20 2d 73 70 61  |the falling -spa|
00003a60  63 65 6d 69 6e 65 73 3f  20 2e 2e 2e 20 4c 65 76  |cemines? ... Lev|
00003a70  65 6c 20 39 20 3b 20 41  20 27 62 6f 6e 75 73 27  |el 9 ; A 'bonus'|
00003a80  20 6c 65 76 65 6c 20 2d  20 73 68 6f 6f 74 20 74  | level - shoot t|
00003a90  68 65 20 65 61 73 79 20  65 6e 64 5f 6f 66 5f 6c  |he easy end_of_l|
00003aa0  65 76 65 6c 5f 6e 61 73  74 79 20 28 22 0d 0b 0e  |evel_nasty ("...|
00003ab0  eb dc 22 61 6e 64 20 49  20 6d 65 61 6e 20 53 48  |.."and I mean SH|
00003ac0  4f 4f 54 29 20 2c 61 6e  64 20 69 66 20 79 6f 75  |OOT) ,and if you|
00003ad0  20 68 61 76 65 20 6c 6f  73 74 20 61 20 73 68 69  | have lost a shi|
00003ae0  70 20 79 6f 75 20 67 65  74 20 61 20 72 65 70 6c  |p you get a repl|
00003af0  61 63 65 6d 65 6e 74 20  6e 65 78 74 20 6c 65 76  |acement next lev|
00003b00  65 6c 2e fa fa fa fa fa  fa fa fa fa fa fa fa fa  |el..............|
00003b10  fa fa fa fa f9 fe 80 20  4e 6f 77 20 77 65 20 63  |....... Now we c|
00003b20  6f 6d 65 20 74 6f 20 74  68 65 20 62 69 74 20 70  |ome to the bit p|
00003b30  65 6f 70 6c 65 20 61 6c  77 61 79 73 20 70 75 74  |eople always put|
00003b40  20 69 6e 74 6f 20 74 68  65 73 65 20 6d 65 73 73  | into these mess|
00003b50  61 67 65 73 20 27 63 61  75 73 65 20 74 68 65 79  |ages 'cause they|
00003b60  20 66 65 65 6c 20 6c 69  6b 65 20 69 74 2e 2e 2e  | feel like it...|
00003b70  2e 2e 2e 2e 2e 2e 2e 2e  2e 2e 2e 2e 2e 2e 2e 2e  |................|
00003b80  2e 2e 2e 2e 2e 2e 2e 2e  2e 2e 2e 20 20 3a 20 48  |...........  : H|
00003b90  65 79 2e 2e 2e 77 61 22  0d 0b 18 eb dc 22 73 6e  |ey...wa"....."sn|
00003ba0  27 74 20 74 68 61 74 20  48 61 72 76 65 79 20 53  |'t that Harvey S|
00003bb0  6d 69 74 68 20 6f 6e 20  68 69 73 20 33 30 4d 42  |mith on his 30MB|
00003bc0  20 48 61 72 64 20 44 69  73 6b 3f 20 50 65 6f 70  | Hard Disk? Peop|
00003bd0  6c 65 20 6c 69 6b 65 20  74 68 61 74 20 73 68 6f  |le like that sho|
00003be0  75 6c 64 6e 27 74 20 62  65 20 61 6c 6c 6f 77 65  |uldn't be allowe|
00003bf0  64 20 6f 75 74 21 20 48  65 27 64 20 6e 65 61 72  |d out! He'd near|
00003c00  6c 79 20 72 65 66 6f 72  6d 61 74 74 65 64 20 6d  |ly reformatted m|
00003c10  65 21 20 4d 65 20 77 69  74 68 20 6d 79 20 61 6e  |e! Me with my an|
00003c20  63 69 65 6e 74 20 32 30  30 4b 20 35 20 31 2f 34  |cient 200K 5 1/4|
00003c30  27 27 20 64 72 69 76 65  2e 2e 20 49 20 63 6f 6e  |'' drive.. I con|
00003c40  74 69 6e 75 65 64 20 64  6f 77 6e 20 74 68 65 20  |tinued down the |
00003c50  72 6f 61 64 20 77 69 74  68 20 6d 79 20 64 69 73  |road with my dis|
00003c60  6b 73 20 63 68 6c 75 6e  6b 69 6e 67 20 61 77 61  |ks chlunking awa|
00003c70  79 20 69 6e 20 70 72 6f  74 65 73 74 20 2d 61 6e  |y in protest -an|
00003c80  64 20 22 0d 0b 22 eb dc  22 77 65 20 77 65 72 65  |d "..".."we were|
00003c90  20 6f 6e 6c 79 20 67 6f  69 6e 67 20 31 30 62 6c  | only going 10bl|
00003ca0  6f 63 6b 73 20 70 65 72  20 73 65 63 6f 6e 64 20  |ocks per second |
00003cb0  64 75 65 20 74 6f 20 62  65 69 6e 67 20 69 6e 20  |due to being in |
00003cc0  61 20 74 65 64 69 6f 75  73 20 42 47 45 54 20 6c  |a tedious BGET l|
00003cd0  6f 6f 70 2e 20 48 61 76  69 6e 67 20 68 61 64 20  |oop. Having had |
00003ce0  65 6e 6f 75 67 68 20 6f  66 20 48 61 72 76 65 79  |enough of Harvey|
00003cf0  20 53 6d 69 74 68 73 20  69 6e 20 67 65 6e 65 72  | Smiths in gener|
00003d00  61 6c 20 61 6e 64 20 74  68 69 73 20 6c 6f 6f 70  |al and this loop|
00003d10  20 69 6e 20 70 61 72 74  69 63 75 6c 61 72 20 49  | in particular I|
00003d20  20 74 75 72 6e 65 64 20  75 70 20 61 20 43 4c 4f  | turned up a CLO|
00003d30  53 45 23 20 61 6e 64 20  6f 6e 20 74 6f 20 61 20  |SE# and on to a |
00003d40  73 74 61 72 20 62 79 70  61 73 73 2c 20 74 68 69  |star bypass, thi|
00003d50  73 20 77 61 73 20 6d 6f  72 65 20 6c 69 6b 65 20  |s was more like |
00003d60  69 74 21 20 49 20 77 61  73 20 67 6f 69 22 0d 0b  |it! I was goi"..|
00003d70  2c eb dc 22 6e 67 20 61  74 20 74 6f 70 20 73 70  |,.."ng at top sp|
00003d80  65 65 64 20 61 6e 64 20  6e 6f 74 68 69 6e 67 20  |eed and nothing |
00003d90  63 6f 75 6c 64 20 73 74  6f 70 20 6d 65 21 20 4f  |could stop me! O|
00003da0  72 20 73 6f 20 49 20 61  73 73 75 6d 65 64 20 74  |r so I assumed t|
00003db0  69 6c 6c 20 49 20 66 6f  75 6e 64 20 6d 79 73 65  |ill I found myse|
00003dc0  6c 66 20 73 77 65 72 76  69 6e 67 20 74 6f 20 6b  |lf swerving to k|
00003dd0  65 65 70 20 6f 6e 20 74  68 65 20 72 6f 61 64 20  |eep on the road |
00003de0  2d 74 68 69 73 20 73 74  61 72 20 77 61 73 20 6c  |-this star was l|
00003df0  6f 61 64 65 64 21 20 49  20 72 65 61 6c 69 73 65  |oaded! I realise|
00003e00  64 20 49 20 73 68 6f 75  6c 64 20 67 65 74 20 6f  |d I should get o|
00003e10  66 66 20 69 74 20 62 65  66 6f 72 65 20 49 20 68  |ff it before I h|
00003e20  61 64 20 61 6e 20 61 63  63 69 64 65 6e 74 2c 20  |ad an accident, |
00003e30  74 68 65 6e 20 68 61 64  20 6f 6e 65 2e fa fa fa  |then had one....|
00003e40  fa fa f9 fb 54 68 65 20  6e 65 78 74 20 74 68 69  |....The next thi|
00003e50  6e 67 20 49 20 6b 6e 65  22 0d 0b 36 eb dc 22 77  |ng I kne"..6.."w|
00003e60  20 49 20 77 61 73 20 6c  79 69 6e 67 20 6f 6e 20  | I was lying on |
00003e70  61 20 68 6f 73 70 69 74  61 6c 20 62 65 64 2e 20  |a hospital bed. |
00003e80  41 20 64 6f 63 74 6f 72  20 77 61 73 20 63 68 65  |A doctor was che|
00003e90  63 6b 69 6e 67 20 6d 65  20 6f 75 74 20 2d 49 20  |cking me out -I |
00003ea0  73 61 77 20 68 69 6d 20  6e 6f 64 20 74 68 61 74  |saw him nod that|
00003eb0  20 49 20 77 61 73 20 4f  2e 4b 2e 20 62 75 74 20  | I was O.K. but |
00003ec0  77 68 65 6e 20 49 20 74  72 69 65 64 20 74 6f 20  |when I tried to |
00003ed0  61 73 6b 20 68 69 6d 20  49 20 66 6f 75 6e 64 20  |ask him I found |
00003ee0  69 74 20 77 61 73 20 6e  6f 20 67 6f 6f 64 20 74  |it was no good t|
00003ef0  72 79 69 6e 67 20 74 6f  20 69 6e 74 65 72 72 75  |rying to interru|
00003f00  70 74 20 68 69 6d 20 61  73 20 49 20 64 69 64 20  |pt him as I did |
00003f10  6e 6f 74 20 68 61 76 65  20 74 68 65 20 63 6f 72  |not have the cor|
00003f20  72 65 63 74 20 70 72 69  6f 72 69 74 79 20 61 6e  |rect priority an|
00003f30  64 20 68 65 20 6c 65 66  74 2e 20 54 68 65 6e 20  |d he left. Then |
00003f40  41 20 6c 22 0d 0b 40 eb  dc 22 61 77 79 65 72 20  |A l"..@.."awyer |
00003f50  61 70 70 65 61 72 65 64  20 6c 6f 6f 6b 69 6e 67  |appeared looking|
00003f60  20 61 6e 6e 6f 79 65 64  20 27 54 68 65 72 65 27  | annoyed 'There'|
00003f70  73 20 6e 6f 74 68 69 6e  67 20 77 72 6f 6e 67 20  |s nothing wrong |
00003f80  77 69 74 68 20 79 6f 75  20 62 75 74 20 54 68 65  |with you but The|
00003f90  20 43 6f 6d 70 61 6e 79  20 68 61 73 20 64 65 63  | Company has dec|
00003fa0  69 64 65 64 20 74 6f 20  70 61 79 20 79 6f 75 20  |ided to pay you |
00003fb0  74 6f 6f 20 6b 65 65 70  20 79 6f 75 72 20 6d 6f  |too keep your mo|
00003fc0  75 74 68 20 73 68 75 74  20 61 62 6f 75 74 20 74  |uth shut about t|
00003fd0  68 61 74 20 62 79 70 61  73 73 20 68 61 76 69 6e  |hat bypass havin|
00003fe0  67 20 68 61 64 20 6f 6e  65 20 74 6f 6f 20 6d 61  |g had one too ma|
00003ff0  6e 79 20 2e 2e 2e 2e 2e  20 6e 6f 2d 6f 6e 65 20  |ny ..... no-one |
00004000  77 61 6e 74 73 20 61 20  73 63 61 6e 64 61 6c 2e  |wants a scandal.|
00004010  20 49 66 20 79 6f 75 20  63 6f 6e 74 69 6e 75 65  | If you continue|
00004020  20 74 6f 20 6d 61 6b 65  20 6e 6f 69 73 65 22 0d  | to make noise".|
00004030  0b 4a eb dc 22 20 61 66  74 65 72 20 6f 75 72 20  |.J.." after our |
00004040  67 65 6e 65 72 6f 73 69  74 79 20 54 68 65 20 43  |generosity The C|
00004050  6f 6d 70 61 6e 79 20 6d  69 67 68 74 20 69 73 73  |ompany might iss|
00004060  75 65 20 61 20 53 4f 55  4e 44 20 4f 46 46 20 63  |ue a SOUND OFF c|
00004070  6f 6d 6d 61 6e 64 2e 2e  2e 20 49 20 73 68 75 64  |ommand... I shud|
00004080  64 65 72 65 64 20 2c 61  6e 64 20 2c 66 65 65 6c  |dered ,and ,feel|
00004090  69 6e 67 20 73 6f 6d 65  77 68 61 74 20 6c 69 67  |ing somewhat lig|
000040a0  68 74 20 68 65 61 64 65  64 20 49 20 61 67 72 65  |ht headed I agre|
000040b0  65 64 2e 20 49 20 77 61  73 20 74 6f 6c 64 20 74  |ed. I was told t|
000040c0  68 61 74 20 73 69 6e 63  65 20 6d 79 20 32 30 30  |hat since my 200|
000040d0  4b 20 77 61 73 20 74 6f  74 61 6c 6c 65 64 20 74  |K was totalled t|
000040e0  68 65 79 20 77 6f 75 6c  64 20 70 72 6f 76 69 64  |hey would provid|
000040f0  65 20 6d 65 20 77 69 74  68 20 61 20 72 65 70 6c  |e me with a repl|
00004100  61 63 65 6d 65 6e 74 2e  20 49 20 6a 75 73 74 20  |acement. I just |
00004110  6b 6e 65 77 20 69 74 20  77 22 0d 0b 54 eb dc 22  |knew it w"..T.."|
00004120  61 73 20 67 6f 69 6e 67  20 74 6f 20 62 65 20 61  |as going to be a|
00004130  20 74 61 70 65 73 74 72  65 61 6d 65 72 21 20 57  | tapestreamer! W|
00004140  69 74 68 20 68 65 61 72  74 20 70 75 6d 70 69 6e  |ith heart pumpin|
00004150  67 20 49 20 77 61 6c 6b  65 64 20 74 6f 20 54 68  |g I walked to Th|
00004160  65 20 43 6f 6d 70 61 6e  79 27 73 20 73 75 62 2d  |e Company's sub-|
00004170  6f 66 66 69 63 65 20 74  6f 20 63 6f 6c 6c 65 63  |office to collec|
00004180  74 20 69 74 2e 20 54 68  65 20 62 6f 72 65 64 20  |t it. The bored |
00004190  72 65 63 65 70 74 69 6f  6e 69 73 74 20 67 61 76  |receptionist gav|
000041a0  65 20 6d 65 20 64 69 72  65 63 74 69 6f 6e 73 20  |e me directions |
000041b0  61 6e 64 20 49 20 77 65  6e 74 20 72 6f 75 6e 64  |and I went round|
000041c0  20 74 68 65 20 62 61 63  6b 20 74 6f 20 70 69 63  | the back to pic|
000041d0  6b 20 69 74 20 75 70 2e  20 57 68 65 6e 20 49 20  |k it up. When I |
000041e0  73 61 77 20 69 74 20 49  20 73 68 6f 75 74 65 64  |saw it I shouted|
000041f0  20 69 6e 20 73 75 70 72  69 73 65 64 20 64 65 6c  | in suprised del|
00004200  69 67 68 74 22 0d 0b 5e  eb dc 22 20 66 6f 72 20  |ight"..^.." for |
00004210  74 68 65 72 65 20 69 6e  20 66 72 6f 6e 74 20 6f  |there in front o|
00004220  66 20 6d 65 20 77 61 73  20 61 20 67 6c 65 61 6d  |f me was a gleam|
00004230  69 6e 67 20 6e 65 77 20  35 35 30 4d 42 20 43 44  |ing new 550MB CD|
00004240  2d 52 6f 6d 21 20 49 27  6d 20 6e 6f 74 20 67 6f  |-Rom! I'm not go|
00004250  69 6e 67 20 74 6f 20 73  61 79 20 61 20 74 68 69  |ing to say a thi|
00004260  6e 67 20 2c 49 20 74 68  6f 75 67 68 74 20 28 61  |ng ,I thought (a|
00004270  73 20 74 68 65 20 53 65  63 75 72 69 74 79 20 47  |s the Security G|
00004280  75 61 72 64 20 67 61 76  65 20 6d 65 20 74 68 65  |uard gave me the|
00004290  20 64 65 65 64 73 20 61  6e 64 20 70 6c 75 67 20  | deeds and plug |
000042a0  74 6f 20 69 74 20 2d 61  6e 64 20 49 20 67 6f 74  |to it -and I got|
000042b0  20 69 6e 20 61 6e 64 20  74 75 72 6e 65 64 20 6f  | in and turned o|
000042c0  6e 20 6d 79 20 6e 65 77  20 74 72 61 6e 73 70 6f  |n my new transpo|
000042d0  72 74 29 2e 20 54 68 65  6e 20 49 20 66 6f 67 6f  |rt). Then I fogo|
000042e0  74 20 61 6c 6c 20 61 62  6f 75 74 20 74 68 61 22  |t all about tha"|
000042f0  0d 0b 68 4a dc 22 74 20  61 73 20 49 20 73 68 6f  |..hJ."t as I sho|
00004300  74 20 64 6f 77 6e 20 74  68 65 20 72 6f 61 64 21  |t down the road!|
00004310  21 21 21 21 21 21 21 21  21 21 20 59 61 61 69 69  |!!!!!!!!!! Yaaii|
00004320  69 69 65 65 65 65 65 65  21 21 21 21 20 fa fa fa  |iieeeeee!!!! ...|
00004330  fa fa fa fa fa fa fa f9  ff 22 0d 0b 72 17 c8 99  |........."..r...|
00004340  22 48 6f 75 72 67 6c 61  73 73 5f 53 6d 61 73 68  |"Hourglass_Smash|
00004350  22 0d 0b 7c 08 f2 61 73  73 0d 0b 86 05 e1 0d 0b  |"..|..ass.......|
00004360  90 0c dd a4 73 63 72 6f  6c 6c 0d 0b 9a 2a 73 63  |....scroll...*sc|
00004370  72 6f 6c 6c 25 2b 3d 31  3a 63 68 61 72 25 3d 3f  |roll%+=1:char%=?|
00004380  28 73 63 72 6f 6c 6c 6d  65 6d 25 2b 73 63 72 6f  |(scrollmem%+scro|
00004390  6c 6c 25 29 0d 0b a4 5d  e7 63 68 61 72 25 3d 32  |ll%)...].char%=2|
000043a0  35 31 73 63 72 6f 6c 6c  63 25 3d 31 35 3a e7 63  |51scrollc%=15:.c|
000043b0  68 61 72 25 3d 32 35 32  73 63 72 6f 6c 6c 63 25  |har%=252scrollc%|
000043c0  3d 31 36 3a 8b e7 63 68  61 72 25 3d 32 35 33 73  |=16:..char%=253s|
000043d0  63 72 6f 6c 6c 63 25 3d  35 30 3a 8b e7 63 68 61  |crollc%=50:..cha|
000043e0  72 25 3d 32 35 34 73 63  72 6f 6c 6c 63 25 3d 36  |r%=254scrollc%=6|
000043f0  37 0d 0b ae 46 e7 63 68  61 72 25 3e 33 31 20 80  |7...F.char%>31 .|
00004400  63 68 61 72 25 3c 31 32  33 3a 73 63 72 6f 6c 6c  |char%<123:scroll|
00004410  24 3d c2 73 63 72 6f 6c  6c 24 2c 35 30 29 3a 73  |$=.scroll$,50):s|
00004420  63 72 6f 6c 6c 24 2b 3d  bd 63 68 61 72 25 3a 3d  |croll$+=.char%:=|
00004430  73 63 72 6f 6c 6c 24 0d  0b b8 17 e7 63 68 61 72  |scroll$.....char|
00004440  25 3d 32 35 35 73 63 72  6f 6c 6c 25 3d a3 0d 0b  |%=255scroll%=...|
00004450  c2 16 e7 63 68 61 72 25  3d 32 35 30 3a f4 20 50  |...char%=250:. P|
00004460  61 75 73 65 0d 0b cc 1f  e7 63 68 61 72 25 3d 32  |ause.....char%=2|
00004470  34 39 3a 73 63 72 6f 6c  6c 24 3d c4 35 31 2c 22  |49:scroll$=.51,"|
00004480  20 22 29 0d 0b d6 3f e7  63 68 61 72 25 3d 31 32  | ")...?.char%=12|
00004490  38 3a 73 63 72 6f 6c 6c  24 3d c4 31 35 2c 22 20  |8:scroll$=.15," |
000044a0  22 29 2b 22 53 61 6c 75  74 61 74 69 6f 6e 73 2c  |")+"Salutations,|
000044b0  20 46 72 65 69 6e 64 21  22 2b c4 31 36 2c 22 20  | Freind!"+.16," |
000044c0  22 29 0d 0b e0 0c 3d 73  63 72 6f 6c 6c 24 0d 0b  |")....=scroll$..|
000044d0  ea 15 dd f2 73 63 72 65  65 6e 3a 2a 46 58 31 31  |....screen:*FX11|
000044e0  32 2c 31 0d 0b f4 49 eb  31 35 3a fb 31 33 39 3a  |2,1...I.15:.139:|
000044f0  fb 30 c8 9c 30 3a de 73  63 61 6c 65 20 31 36 3a  |.0..0:.scale 16:|
00004500  21 73 63 61 6c 65 3d 31  32 37 36 81 32 3a 73 63  |!scale=1276.2:sc|
00004510  61 6c 65 21 34 3d 31 3a  73 63 61 6c 65 21 38 3d  |ale!4=1:scale!8=|
00004520  31 3a 73 63 61 6c 65 21  31 32 3d 31 0d 0b fe 15  |1:scale!12=1....|
00004530  87 3a da 3a f2 74 6f 70  3a 2a 46 58 31 31 32 2c  |.:.:.top:*FX112,|
00004540  32 0d 0c 08 1e da 3a f2  74 6f 70 3a ef 32 34 2c  |2.....:.top:.24,|
00004550  a3 3b a3 3b 31 32 37 39  3b 39 30 30 3b 3a e1 0d  |.;.;1279;900;:..|
00004560  0c 12 62 dd f2 74 6f 70  3a f2 73 70 70 72 28 22  |..b..top:.sppr("|
00004570  39 38 22 2c a3 2c 39 30  34 2c a3 29 3a f2 73 70  |98",.,904,.):.sp|
00004580  70 72 28 22 39 38 22 2c  31 32 37 38 2c 39 30 34  |pr("98",1278,904|
00004590  2c a3 29 3a c8 99 22 4f  53 5f 53 70 72 69 74 65  |,.):.."OS_Sprite|
000045a0  4f 70 22 2c 33 30 38 2c  73 70 72 76 61 72 2c 22  |Op",308,sprvar,"|
000045b0  39 39 22 2c 32 2c 39 30  34 2c a3 2c 73 63 61 6c  |99",2,904,.,scal|
000045c0  65 0d 0c 1c 0e f2 73 63  72 65 65 6e 32 3a e1 0d  |e.....screen2:..|
000045d0  0c 26 aa dd f2 73 63 72  65 65 6e 32 3a f1 8a 32  |.&...screen2:..2|
000045e0  2c 31 29 22 20 8a 20 20  53 43 4f 52 45 20 20 8a  |,1)" .  SCORE  .|
000045f0  20 22 3b 8a 32 2c 32 29  22 20 22 43 24 22 20 22  | ";.2,2)" "C$" "|
00004600  3b 8a 36 35 2c 31 29 22  20 8a 20 48 49 53 43 4f  |;.65,1)" . HISCO|
00004610  52 45 20 8a 20 22 8a 36  35 2c 32 29 22 20 22 43  |RE . ".65,2)" "C|
00004620  24 22 20 22 3b 8a 37 36  2d a9 28 c3 48 49 25 28  |$" ";.76-.(.HI%(|
00004630  31 29 29 2c 32 29 3b c3  48 49 25 28 31 29 3b 8a  |1)),2);.HI%(1);.|
00004640  31 38 2c 31 29 22 4d 3a  84 22 8a 31 38 2c 32 29  |18,1)"M:.".18,2)|
00004650  22 53 3a 80 22 8a 32 34  2c 32 29 22 53 48 49 50  |"S:.".24,2)"SHIP|
00004660  53 3a 80 80 80 22 8a 32  34 2c 31 29 22 4c 45 56  |S:...".24,1)"LEV|
00004670  45 4c 3a 30 30 30 30 31  22 0d 0c 30 58 f1 8a 34  |EL:00001"..0X..4|
00004680  34 2c 31 29 22 4c 65 76  65 6c 20 4e 61 6d 65 20  |4,1)"Level Name |
00004690  3a 22 8a 34 30 2c 32 29  c4 32 30 2c 22 20 22 29  |:".40,2).20," ")|
000046a0  8a 35 30 2d a9 28 4c 45  56 24 28 4c 45 56 45 4c  |.50-.(LEV$(LEVEL|
000046b0  53 54 41 52 54 25 29 29  81 32 2c 32 29 3b 4c 45  |START%)).2,2);LE|
000046c0  56 24 28 4c 45 56 45 4c  53 54 41 52 54 25 29 3a  |V$(LEVELSTART%):|
000046d0  e1 0d 0c 3a 12 dd f2 61  73 73 3a 75 73 65 3d 26  |...:...ass:use=&|
000046e0  37 30 30 0d 0c 44 3e de  20 77 6f 72 64 73 20 36  |700..D>. words 6|
000046f0  34 2a 34 3a 69 25 3d a3  3a e3 49 25 3d 77 6f 72  |4*4:i%=.:.I%=wor|
00004700  64 73 20 b8 77 6f 72 64  73 2b 36 34 2a 34 20 88  |ds .words+64*4 .|
00004710  34 3a 24 49 25 3d c3 69  25 3a 69 25 2b 3d 31 3a  |4:$I%=.i%:i%+=1:|
00004720  ed 0d 0c 4e 2d de 73 70  61 63 65 20 75 73 65 3a  |...N-.space use:|
00004730  e3 70 61 73 73 3d 30 b8  31 3a 50 25 3d 73 70 61  |.pass=0.1:P%=spa|
00004740  63 65 3a 5b 4f 50 54 20  70 61 73 73 2a 32 0d 0c  |ce:[OPT pass*2..|
00004750  58 ed 2e 70 61 6c 3a 4c  44 52 20 52 38 2c 63 6f  |X..pal:LDR R8,co|
00004760  6c 69 25 3a 4c 44 52 20  52 31 30 2c 41 61 78 25  |li%:LDR R10,Aax%|
00004770  3a 4c 44 52 20 52 31 31  2c 41 61 79 25 3a 4c 44  |:LDR R11,Aay%:LD|
00004780  52 20 52 39 2c 41 61 68  25 3a 4d 4f 56 20 52 36  |R R9,Aah%:MOV R6|
00004790  2c 23 30 3a 4c 44 52 20  52 37 2c 41 61 6d 78 25  |,#0:LDR R7,Aamx%|
000047a0  3a 2e 6c 6f 6f 70 3a 4c  44 52 20 52 31 32 2c 5b  |:.loop:LDR R12,[|
000047b0  52 39 2c 52 36 5d 3a 43  4d 50 20 52 31 32 2c 23  |R9,R6]:CMP R12,#|
000047c0  31 3a 42 4c 54 20 74 65  73 74 3a 4d 4f 56 20 52  |1:BLT test:MOV R|
000047d0  31 32 2c 52 36 3a 4c 44  52 20 52 30 2c 70 72 69  |12,R6:LDR R0,pri|
000047e0  6e 74 73 70 72 69 74 65  3a 4c 44 52 20 52 31 2c  |ntsprite:LDR R1,|
000047f0  73 70 70 6f 73 3a 41 44  52 20 52 32 2c 77 6f 72  |sppos:ADR R2,wor|
00004800  64 73 3a 41 44 44 20 52  32 2c 52 32 2c 52 38 3a  |ds:ADD R2,R2,R8:|
00004810  4c 44 52 20 52 33 2c 5b  52 31 30 2c 52 36 5d 3a  |LDR R3,[R10,R6]:|
00004820  4c 44 52 20 52 34 2c 5b  52 31 31 2c 52 36 5d 3a  |LDR R4,[R11,R6]:|
00004830  4c 44 52 20 52 35 2c 4d  69 79 25 0d 0c 62 51 53  |LDR R5,Miy%..bQS|
00004840  57 49 20 22 4f 53 5f 53  70 72 69 74 65 4f 70 22  |WI "OS_SpriteOp"|
00004850  3a 4d 4f 56 20 52 36 2c  52 31 32 3a 2e 74 65 73  |:MOV R6,R12:.tes|
00004860  74 3a 41 44 44 20 52 36  2c 52 36 2c 23 34 3a 43  |t:ADD R6,R6,#4:C|
00004870  4d 50 20 52 36 2c 52 37  3a 42 4e 45 20 6c 6f 6f  |MP R6,R7:BNE loo|
00004880  70 3a 4d 4f 56 20 50 43  2c 52 31 34 0d 0c 6c 1c  |p:MOV PC,R14..l.|
00004890  2e 63 6f 6c 69 25 3a 45  51 55 44 30 3a 2e 4d 69  |.coli%:EQUD0:.Mi|
000048a0  79 25 3a 45 51 55 44 30  0d 0c 76 34 2e 41 61 6d  |y%:EQUD0..v4.Aam|
000048b0  78 25 3a 45 51 55 44 30  3a 2e 41 61 78 25 3a 45  |x%:EQUD0:.Aax%:E|
000048c0  51 55 44 30 3a 2e 41 61  79 25 3a 45 51 55 44 30  |QUD0:.Aay%:EQUD0|
000048d0  3a 2e 41 61 68 25 3a 45  51 55 44 30 0d 0c 80 df  |:.Aah%:EQUD0....|
000048e0  2e 76 25 3a 4c 44 52 20  52 31 30 2c 41 73 78 25  |.v%:LDR R10,Asx%|
000048f0  3a 4c 44 52 20 52 31 31  2c 41 73 79 25 3a 4c 44  |:LDR R11,Asy%:LD|
00004900  52 20 52 39 2c 41 73 68  25 3a 4d 4f 56 20 52 36  |R R9,Ash%:MOV R6|
00004910  2c 23 30 3a 4c 44 52 20  52 37 2c 41 73 6d 78 25  |,#0:LDR R7,Asmx%|
00004920  3a 2e 6c 6f 6f 70 32 3a  4c 44 52 20 52 31 32 2c  |:.loop2:LDR R12,|
00004930  5b 52 39 2c 52 36 5d 3a  43 4d 50 20 52 31 32 2c  |[R9,R6]:CMP R12,|
00004940  23 31 3a 42 4c 4f 20 74  65 73 74 32 3a 4d 4f 56  |#1:BLO test2:MOV|
00004950  20 52 31 32 2c 52 36 3a  4c 44 52 20 52 30 2c 70  | R12,R6:LDR R0,p|
00004960  72 69 6e 74 73 70 72 69  74 65 3a 4c 44 52 20 52  |rintsprite:LDR R|
00004970  31 2c 73 70 70 6f 73 3a  41 44 52 20 52 32 2c 77  |1,sppos:ADR R2,w|
00004980  6f 72 64 73 3a 41 44 44  20 52 32 2c 52 32 2c 23  |ords:ADD R2,R2,#|
00004990  38 3a 4c 44 52 20 52 33  2c 5b 52 31 30 2c 52 36  |8:LDR R3,[R10,R6|
000049a0  5d 3a 4c 44 52 20 52 34  2c 5b 52 31 31 2c 52 36  |]:LDR R4,[R11,R6|
000049b0  5d 3a 4d 4f 56 20 52 35  2c 23 38 0d 0c 8a 53 53  |]:MOV R5,#8...SS|
000049c0  57 49 20 22 4f 53 5f 53  70 72 69 74 65 4f 70 22  |WI "OS_SpriteOp"|
000049d0  3a 4d 4f 56 20 52 36 2c  52 31 32 3a 2e 74 65 73  |:MOV R6,R12:.tes|
000049e0  74 32 3a 41 44 44 20 52  36 2c 52 36 2c 23 34 3a  |t2:ADD R6,R6,#4:|
000049f0  43 4d 50 20 52 36 2c 52  37 3a 42 4e 45 20 6c 6f  |CMP R6,R7:BNE lo|
00004a00  6f 70 32 3a 4d 4f 56 20  50 43 2c 52 31 34 0d 0c  |op2:MOV PC,R14..|
00004a10  94 e4 2e 64 25 3a 4c 44  52 20 52 38 2c 63 6f 6c  |...d%:LDR R8,col|
00004a20  69 25 3a 4c 44 52 20 52  31 30 2c 41 62 78 25 3a  |i%:LDR R10,Abx%:|
00004a30  4c 44 52 20 52 31 31 2c  41 62 79 25 3a 4c 44 52  |LDR R11,Aby%:LDR|
00004a40  20 52 39 2c 41 62 68 25  3a 4d 4f 56 20 52 36 2c  | R9,Abh%:MOV R6,|
00004a50  23 30 3a 4c 44 52 20 52  37 2c 41 62 6d 78 25 3a  |#0:LDR R7,Abmx%:|
00004a60  2e 6c 6f 6f 70 32 62 3a  4c 44 52 20 52 31 32 2c  |.loop2b:LDR R12,|
00004a70  5b 52 39 2c 52 36 5d 3a  43 4d 50 20 52 31 32 2c  |[R9,R6]:CMP R12,|
00004a80  23 31 3a 42 4c 54 20 74  65 73 74 32 62 3a 4d 4f  |#1:BLT test2b:MO|
00004a90  56 20 52 31 32 2c 52 36  3a 4c 44 52 20 52 30 2c  |V R12,R6:LDR R0,|
00004aa0  70 72 69 6e 74 73 70 72  69 74 65 3a 4c 44 52 20  |printsprite:LDR |
00004ab0  52 31 2c 73 70 70 6f 73  3a 41 44 52 20 52 32 2c  |R1,sppos:ADR R2,|
00004ac0  77 6f 72 64 73 3a 41 44  44 20 52 32 2c 52 32 2c  |words:ADD R2,R2,|
00004ad0  52 38 3a 4c 44 52 20 52  33 2c 5b 52 31 30 2c 52  |R8:LDR R3,[R10,R|
00004ae0  36 5d 3a 4c 44 52 20 52  34 2c 5b 52 31 31 2c 52  |6]:LDR R4,[R11,R|
00004af0  36 5d 0d 0c 9e 61 4c 44  52 20 52 35 2c 4d 69 79  |6]...aLDR R5,Miy|
00004b00  25 3a 53 57 49 20 22 4f  53 5f 53 70 72 69 74 65  |%:SWI "OS_Sprite|
00004b10  4f 70 22 3a 4d 4f 56 20  52 36 2c 52 31 32 3a 2e  |Op":MOV R6,R12:.|
00004b20  74 65 73 74 32 62 3a 41  44 44 20 52 36 2c 52 36  |test2b:ADD R6,R6|
00004b30  2c 23 34 3a 43 4d 50 20  52 36 2c 52 37 3a 42 4e  |,#4:CMP R6,R7:BN|
00004b40  45 20 6c 6f 6f 70 32 62  3a 4d 4f 56 20 50 43 2c  |E loop2b:MOV PC,|
00004b50  52 31 34 0d 0c a8 34 2e  41 73 6d 78 25 3a 45 51  |R14...4.Asmx%:EQ|
00004b60  55 44 30 3a 2e 41 73 78  25 3a 45 51 55 44 30 3a  |UD0:.Asx%:EQUD0:|
00004b70  2e 41 73 79 25 3a 45 51  55 44 30 3a 2e 41 73 68  |.Asy%:EQUD0:.Ash|
00004b80  25 3a 45 51 55 44 30 0d  0c b2 df 2e 77 25 3a 4d  |%:EQUD0.....w%:M|
00004b90  4f 56 20 52 30 2c 23 30  3a 53 54 52 20 52 30 2c  |OV R0,#0:STR R0,|
00004ba0  73 74 31 25 3a 53 54 52  20 52 30 2c 73 74 32 25  |st1%:STR R0,st2%|
00004bb0  3a 4c 44 52 20 52 30 2c  41 61 68 25 3a 4c 44 52  |:LDR R0,Aah%:LDR|
00004bc0  20 52 31 2c 41 73 68 25  3a 4c 44 52 20 52 31 31  | R1,Ash%:LDR R11|
00004bd0  2c 41 73 6d 78 25 3a 4c  44 52 20 52 31 32 2c 41  |,Asmx%:LDR R12,A|
00004be0  61 6d 78 25 3a 4d 4f 56  20 52 38 2c 23 30 3a 2e  |amx%:MOV R8,#0:.|
00004bf0  74 6f 6f 70 31 3a 4c 44  52 20 52 32 2c 5b 52 30  |toop1:LDR R2,[R0|
00004c00  2c 52 38 5d 3a 43 4d 50  20 52 32 2c 23 31 3a 42  |,R8]:CMP R2,#1:B|
00004c10  4c 54 20 65 6e 64 6c 6f  6f 70 31 3a 4d 4f 56 20  |LT endloop1:MOV |
00004c20  52 37 2c 23 30 3a 2e 74  6f 6f 70 32 3a 4c 44 52  |R7,#0:.toop2:LDR|
00004c30  20 52 32 2c 5b 52 31 2c  52 37 5d 3a 43 4d 50 20  | R2,[R1,R7]:CMP |
00004c40  52 32 2c 23 31 3a 42 4c  4f 20 65 6e 64 6c 6f 6f  |R2,#1:BLO endloo|
00004c50  70 32 3a 2e 63 68 65 63  6b 78 3a 4c 44 52 20 52  |p2:.checkx:LDR R|
00004c60  36 2c 41 73 78 25 0d 0c  bc e9 4c 44 52 20 52 39  |6,Asx%....LDR R9|
00004c70  2c 5b 52 36 2c 52 37 5d  3a 4c 44 52 20 52 35 2c  |,[R6,R7]:LDR R5,|
00004c80  41 61 78 25 3a 4c 44 52  20 52 31 30 2c 5b 52 35  |Aax%:LDR R10,[R5|
00004c90  2c 52 38 5d 3a 43 4d 50  20 52 39 2c 52 31 30 3a  |,R8]:CMP R9,R10:|
00004ca0  42 48 49 20 63 68 65 63  6b 78 32 3a 2e 63 68 65  |BHI checkx2:.che|
00004cb0  63 6b 78 31 3a 4c 44 52  20 52 33 2c 41 77 31 25  |ckx1:LDR R3,Aw1%|
00004cc0  3a 41 44 44 20 52 39 2c  52 39 2c 52 33 3a 43 4d  |:ADD R9,R9,R3:CM|
00004cd0  50 20 52 39 2c 52 31 30  3a 42 4c 4f 20 65 6e 64  |P R9,R10:BLO end|
00004ce0  6c 6f 6f 70 32 3a 42 41  4c 20 63 68 65 63 6b 79  |loop2:BAL checky|
00004cf0  3a 2e 63 68 65 63 6b 78  32 3a 4c 44 52 20 52 33  |:.checkx2:LDR R3|
00004d00  2c 41 77 32 25 3a 41 44  44 20 52 31 30 2c 52 31  |,Aw2%:ADD R10,R1|
00004d10  30 2c 52 33 3a 43 4d 50  20 52 39 2c 52 31 30 3a  |0,R3:CMP R9,R10:|
00004d20  42 48 49 20 65 6e 64 6c  6f 6f 70 32 3a 2e 63 68  |BHI endloop2:.ch|
00004d30  65 63 6b 79 3a 4c 44 52  20 52 36 2c 41 73 79 25  |ecky:LDR R6,Asy%|
00004d40  3a 4c 44 52 20 52 39 2c  5b 52 36 2c 52 37 5d 0d  |:LDR R9,[R6,R7].|
00004d50  0c c6 d2 4c 44 52 20 52  35 2c 41 61 79 25 3a 4c  |...LDR R5,Aay%:L|
00004d60  44 52 20 52 31 30 2c 5b  52 35 2c 52 38 5d 3a 43  |DR R10,[R5,R8]:C|
00004d70  4d 50 20 52 39 2c 52 31  30 3a 42 48 49 20 63 68  |MP R9,R10:BHI ch|
00004d80  65 63 6b 79 32 3a 2e 63  68 65 63 6b 79 31 3a 4c  |ecky2:.checky1:L|
00004d90  44 52 20 52 33 2c 41 68  31 25 3a 41 44 44 20 52  |DR R3,Ah1%:ADD R|
00004da0  39 2c 52 39 2c 52 33 3a  43 4d 50 20 52 39 2c 52  |9,R9,R3:CMP R9,R|
00004db0  31 30 3a 42 4c 4f 20 65  6e 64 6c 6f 6f 70 32 3a  |10:BLO endloop2:|
00004dc0  42 41 4c 20 68 69 74 3a  2e 63 68 65 63 6b 79 32  |BAL hit:.checky2|
00004dd0  3a 4c 44 52 20 52 33 2c  41 68 32 25 3a 41 44 44  |:LDR R3,Ah2%:ADD|
00004de0  20 52 31 30 2c 52 31 30  2c 52 33 3a 43 4d 50 20  | R10,R10,R3:CMP |
00004df0  52 39 2c 52 31 30 3a 42  48 49 20 65 6e 64 6c 6f  |R9,R10:BHI endlo|
00004e00  6f 70 32 3a 2e 68 69 74  3a 4d 4f 56 20 52 32 2c  |op2:.hit:MOV R2,|
00004e10  23 30 3a 53 54 52 20 52  32 2c 5b 52 31 2c 52 37  |#0:STR R2,[R1,R7|
00004e20  5d 0d 0c d0 ed 4c 44 52  20 52 32 2c 5b 52 30 2c  |]....LDR R2,[R0,|
00004e30  52 38 5d 3a 53 55 42 53  20 52 32 2c 52 32 2c 23  |R8]:SUBS R2,R2,#|
00004e40  31 3a 53 54 52 20 52 32  2c 5b 52 30 2c 52 38 5d  |1:STR R2,[R0,R8]|
00004e50  3a 42 4e 45 20 68 69 74  32 3a 4c 44 52 20 52 32  |:BNE hit2:LDR R2|
00004e60  2c 73 74 32 25 3a 41 44  44 20 52 32 2c 52 32 2c  |,st2%:ADD R2,R2,|
00004e70  23 31 3a 53 54 52 20 52  32 2c 73 74 32 25 3a 42  |#1:STR R2,st2%:B|
00004e80  41 4c 20 65 6e 64 6c 6f  6f 70 32 3a 2e 68 69 74  |AL endloop2:.hit|
00004e90  32 3a 4c 44 52 20 52 32  2c 73 74 31 25 3a 41 44  |2:LDR R2,st1%:AD|
00004ea0  44 20 52 32 2c 52 32 2c  23 31 3a 53 54 52 20 52  |D R2,R2,#1:STR R|
00004eb0  32 2c 73 74 31 25 3a 2e  65 6e 64 6c 6f 6f 70 32  |2,st1%:.endloop2|
00004ec0  3a 41 44 44 20 52 37 2c  52 37 2c 23 34 3a 43 4d  |:ADD R7,R7,#4:CM|
00004ed0  50 20 52 37 2c 52 31 31  3a 42 4e 45 20 74 6f 6f  |P R7,R11:BNE too|
00004ee0  70 32 3a 2e 65 6e 64 6c  6f 6f 70 31 3a 41 44 44  |p2:.endloop1:ADD|
00004ef0  20 52 38 2c 52 38 2c 23  34 3a 43 4d 50 20 52 38  | R8,R8,#4:CMP R8|
00004f00  2c 52 31 32 3a 42 4e 45  20 74 6f 6f 70 31 0d 0c  |,R12:BNE toop1..|
00004f10  da 0e 4d 4f 56 20 50 43  2c 52 31 34 0d 0c e4 4b  |..MOV PC,R14...K|
00004f20  2e 41 77 31 25 3a 45 51  55 44 30 3a 2e 41 68 31  |.Aw1%:EQUD0:.Ah1|
00004f30  25 3a 45 51 55 44 30 3a  2e 41 77 32 25 3a 45 51  |%:EQUD0:.Aw2%:EQ|
00004f40  55 44 30 3a 2e 41 68 32  25 3a 45 51 55 44 30 3a  |UD0:.Ah2%:EQUD0:|
00004f50  2e 73 74 31 25 3a 45 51  55 44 30 3a 2e 73 74 32  |.st1%:EQUD0:.st2|
00004f60  25 3a 45 51 55 44 30 0d  0c ee e8 2e 6a 25 3a 4d  |%:EQUD0.....j%:M|
00004f70  4f 56 20 52 30 2c 23 30  3a 53 54 52 20 52 30 2c  |OV R0,#0:STR R0,|
00004f80  63 6f 6c 25 3a 4c 44 52  20 52 30 2c 41 61 68 25  |col%:LDR R0,Aah%|
00004f90  3a 4c 44 52 20 52 38 2c  41 61 6d 78 25 3a 53 55  |:LDR R8,Aamx%:SU|
00004fa0  42 20 52 38 2c 52 38 2c  23 34 3a 2e 73 68 69 70  |B R8,R8,#4:.ship|
00004fb0  6c 6f 6f 70 3a 4c 44 52  20 52 32 2c 5b 52 30 2c  |loop:LDR R2,[R0,|
00004fc0  52 38 5d 3a 43 4d 50 20  52 32 2c 23 31 3a 42 4c  |R8]:CMP R2,#1:BL|
00004fd0  54 20 65 6e 64 73 68 69  70 6c 6f 6f 70 3a 2e 63  |T endshiploop:.c|
00004fe0  68 6b 78 3a 4c 44 52 20  52 39 2c 73 68 69 70 78  |hkx:LDR R9,shipx|
00004ff0  25 3a 4c 44 52 20 52 35  2c 41 61 78 25 3a 4c 44  |%:LDR R5,Aax%:LD|
00005000  52 20 52 31 30 2c 5b 52  35 2c 52 38 5d 3a 43 4d  |R R10,[R5,R8]:CM|
00005010  50 20 52 39 2c 52 31 30  3a 42 47 54 20 63 68 6b  |P R9,R10:BGT chk|
00005020  78 32 3a 2e 63 68 6b 78  31 3a 4c 44 52 20 52 33  |x2:.chkx1:LDR R3|
00005030  2c 73 68 69 70 77 25 3a  41 44 44 20 52 39 2c 52  |,shipw%:ADD R9,R|
00005040  39 2c 52 33 3a 43 4d 50  20 52 39 2c 52 31 30 0d  |9,R3:CMP R9,R10.|
00005050  0c f8 e6 42 4c 54 20 65  6e 64 73 68 69 70 6c 6f  |...BLT endshiplo|
00005060  6f 70 3a 42 20 63 68 6b  79 3a 2e 63 68 6b 78 32  |op:B chky:.chkx2|
00005070  3a 4c 44 52 20 52 33 2c  61 6c 69 65 6e 77 25 3a  |:LDR R3,alienw%:|
00005080  41 44 44 20 52 31 30 2c  52 31 30 2c 52 33 3a 43  |ADD R10,R10,R3:C|
00005090  4d 50 20 52 39 2c 52 31  30 3a 42 47 54 20 65 6e  |MP R9,R10:BGT en|
000050a0  64 73 68 69 70 6c 6f 6f  70 3a 2e 63 68 6b 79 3a  |dshiploop:.chky:|
000050b0  4c 44 52 20 52 39 2c 73  68 69 70 79 25 3a 4c 44  |LDR R9,shipy%:LD|
000050c0  52 20 52 35 2c 41 61 79  25 3a 4c 44 52 20 52 31  |R R5,Aay%:LDR R1|
000050d0  30 2c 5b 52 35 2c 52 38  5d 3a 43 4d 50 20 52 39  |0,[R5,R8]:CMP R9|
000050e0  2c 52 31 30 3a 42 47 54  20 63 68 6b 79 32 3a 2e  |,R10:BGT chky2:.|
000050f0  63 68 6b 79 31 3a 4c 44  52 20 52 33 2c 73 68 69  |chky1:LDR R3,shi|
00005100  70 68 25 3a 41 44 44 20  52 39 2c 52 39 2c 52 33  |ph%:ADD R9,R9,R3|
00005110  3a 43 4d 50 20 52 39 2c  52 31 30 3a 42 4c 54 20  |:CMP R9,R10:BLT |
00005120  65 6e 64 73 68 69 70 6c  6f 6f 70 3a 42 20 68 69  |endshiploop:B hi|
00005130  74 73 68 69 70 0d 0d 02  95 2e 63 68 6b 79 32 3a  |tship.....chky2:|
00005140  4c 44 52 20 52 33 2c 61  6c 69 65 6e 68 25 3a 41  |LDR R3,alienh%:A|
00005150  44 44 20 52 31 30 2c 52  31 30 2c 52 33 3a 43 4d  |DD R10,R10,R3:CM|
00005160  50 20 52 39 2c 52 31 30  3a 42 47 54 20 65 6e 64  |P R9,R10:BGT end|
00005170  73 68 69 70 6c 6f 6f 70  3a 2e 68 69 74 73 68 69  |shiploop:.hitshi|
00005180  70 3a 4d 4f 56 20 52 32  2c 23 38 3a 53 54 52 20  |p:MOV R2,#8:STR |
00005190  52 32 2c 63 6f 6c 25 3a  2e 65 6e 64 73 68 69 70  |R2,col%:.endship|
000051a0  6c 6f 6f 70 3a 53 55 42  53 20 52 38 2c 52 38 2c  |loop:SUBS R8,R8,|
000051b0  23 34 3a 42 4e 45 20 73  68 69 70 6c 6f 6f 70 3a  |#4:BNE shiploop:|
000051c0  4d 4f 56 20 50 43 2c 52  31 34 0d 0d 0c 65 2e 63  |MOV PC,R14...e.c|
000051d0  6f 6c 25 3a 45 51 55 44  30 3a 2e 73 68 69 70 78  |ol%:EQUD0:.shipx|
000051e0  25 3a 45 51 55 44 30 3a  2e 73 68 69 70 79 25 3a  |%:EQUD0:.shipy%:|
000051f0  45 51 55 44 30 3a 2e 61  6c 69 65 6e 77 25 3a 45  |EQUD0:.alienw%:E|
00005200  51 55 44 30 3a 2e 61 6c  69 65 6e 68 25 3a 45 51  |QUD0:.alienh%:EQ|
00005210  55 44 30 3a 2e 73 68 69  70 77 25 3a 45 51 55 44  |UD0:.shipw%:EQUD|
00005220  30 3a 2e 73 68 69 70 68  25 3a 45 51 55 44 30 0d  |0:.shiph%:EQUD0.|
00005230  0d 16 e6 2e 62 25 3a 4d  4f 56 20 52 30 2c 23 30  |....b%:MOV R0,#0|
00005240  3a 53 54 52 20 52 30 2c  63 6f 6c 25 3a 4c 44 52  |:STR R0,col%:LDR|
00005250  20 52 30 2c 41 62 68 25  3a 4c 44 52 20 52 31 32  | R0,Abh%:LDR R12|
00005260  2c 41 62 6d 78 25 3a 4d  4f 56 20 52 38 2c 23 30  |,Abmx%:MOV R8,#0|
00005270  3a 2e 62 6f 6d 62 6c 6f  6f 70 3a 4c 44 52 20 52  |:.bombloop:LDR R|
00005280  32 2c 5b 52 30 2c 52 38  5d 3a 43 4d 50 20 52 32  |2,[R0,R8]:CMP R2|
00005290  2c 23 31 3a 42 4c 4f 20  65 6e 64 62 6f 6d 62 6c  |,#1:BLO endbombl|
000052a0  6f 6f 70 3a 2e 63 68 78  62 3a 4c 44 52 20 52 39  |oop:.chxb:LDR R9|
000052b0  2c 73 68 69 70 78 25 3a  4c 44 52 20 52 35 2c 41  |,shipx%:LDR R5,A|
000052c0  62 78 25 3a 4c 44 52 20  52 31 30 2c 5b 52 35 2c  |bx%:LDR R10,[R5,|
000052d0  52 38 5d 3a 43 4d 50 20  52 39 2c 52 31 30 3a 42  |R8]:CMP R9,R10:B|
000052e0  48 49 20 63 68 78 62 32  3a 2e 63 68 78 62 31 3a  |HI chxb2:.chxb1:|
000052f0  4c 44 52 20 52 33 2c 73  68 69 70 77 25 3a 41 44  |LDR R3,shipw%:AD|
00005300  44 20 52 39 2c 52 39 2c  52 33 3a 43 4d 50 20 52  |D R9,R9,R3:CMP R|
00005310  39 2c 52 31 30 0d 0d 20  e6 42 4c 4f 20 65 6e 64  |9,R10.. .BLO end|
00005320  62 6f 6d 62 6c 6f 6f 70  3a 42 20 63 68 79 62 3a  |bombloop:B chyb:|
00005330  2e 63 68 78 62 32 3a 4c  44 52 20 52 33 2c 62 6f  |.chxb2:LDR R3,bo|
00005340  6d 62 77 25 3a 41 44 44  20 52 31 30 2c 52 31 30  |mbw%:ADD R10,R10|
00005350  2c 52 33 3a 43 4d 50 20  52 39 2c 52 31 30 3a 42  |,R3:CMP R9,R10:B|
00005360  48 49 20 65 6e 64 62 6f  6d 62 6c 6f 6f 70 3a 2e  |HI endbombloop:.|
00005370  63 68 79 62 3a 4c 44 52  20 52 39 2c 73 68 69 70  |chyb:LDR R9,ship|
00005380  79 25 3a 4c 44 52 20 52  35 2c 41 62 79 25 3a 4c  |y%:LDR R5,Aby%:L|
00005390  44 52 20 52 31 30 2c 5b  52 35 2c 52 38 5d 3a 43  |DR R10,[R5,R8]:C|
000053a0  4d 50 20 52 39 2c 52 31  30 3a 42 48 49 20 63 68  |MP R9,R10:BHI ch|
000053b0  79 62 32 3a 2e 63 68 79  62 31 3a 4c 44 52 20 52  |yb2:.chyb1:LDR R|
000053c0  33 2c 73 68 69 70 68 25  3a 41 44 44 20 52 39 2c  |3,shiph%:ADD R9,|
000053d0  52 39 2c 52 33 3a 43 4d  50 20 52 39 2c 52 31 30  |R9,R3:CMP R9,R10|
000053e0  3a 42 4c 4f 20 65 6e 64  62 6f 6d 62 6c 6f 6f 70  |:BLO endbombloop|
000053f0  3a 42 20 68 69 74 73 68  69 70 62 0d 0d 2a 9f 2e  |:B hitshipb..*..|
00005400  63 68 79 62 32 3a 4c 44  52 20 52 33 2c 62 6f 6d  |chyb2:LDR R3,bom|
00005410  62 68 25 3a 41 44 44 20  52 31 30 2c 52 31 30 2c  |bh%:ADD R10,R10,|
00005420  52 33 3a 43 4d 50 20 52  39 2c 52 31 30 3a 42 48  |R3:CMP R9,R10:BH|
00005430  49 20 65 6e 64 62 6f 6d  62 6c 6f 6f 70 3a 2e 68  |I endbombloop:.h|
00005440  69 74 73 68 69 70 62 3a  4d 4f 56 20 52 32 2c 23  |itshipb:MOV R2,#|
00005450  38 3a 53 54 52 20 52 32  2c 63 6f 6c 25 3a 2e 65  |8:STR R2,col%:.e|
00005460  6e 64 62 6f 6d 62 6c 6f  6f 70 3a 41 44 44 20 52  |ndbombloop:ADD R|
00005470  38 2c 52 38 2c 23 34 3a  43 4d 50 20 52 38 2c 52  |8,R8,#4:CMP R8,R|
00005480  31 32 3a 42 4e 45 20 62  6f 6d 62 6c 6f 6f 70 3a  |12:BNE bombloop:|
00005490  4d 4f 56 20 50 43 2c 52  31 34 0d 0d 34 50 2e 62  |MOV PC,R14..4P.b|
000054a0  6f 6d 62 77 25 3a 45 51  55 44 30 3a 2e 62 6f 6d  |ombw%:EQUD0:.bom|
000054b0  62 68 25 3a 45 51 55 44  30 3a 2e 41 62 6d 78 25  |bh%:EQUD0:.Abmx%|
000054c0  3a 45 51 55 44 30 3a 2e  41 62 78 25 3a 45 51 55  |:EQUD0:.Abx%:EQU|
000054d0  44 30 3a 2e 41 62 79 25  3a 45 51 55 44 30 3a 2e  |D0:.Aby%:EQUD0:.|
000054e0  41 62 68 25 3a 45 51 55  44 30 0d 0d 3e e2 2e 7a  |Abh%:EQUD0..>..z|
000054f0  25 3a 4c 44 52 20 52 31  31 2c 73 74 61 72 78 25  |%:LDR R11,starx%|
00005500  3a 4c 44 52 20 52 31 32  2c 73 74 61 72 79 25 3a  |:LDR R12,stary%:|
00005510  4d 4f 56 20 52 39 2c 23  30 3a 4d 4f 56 20 52 31  |MOV R9,#0:MOV R1|
00005520  30 2c 23 32 3a 4d 4f 56  20 52 38 2c 23 31 30 30  |0,#2:MOV R8,#100|
00005530  3a 4d 4f 56 20 52 37 2c  23 32 31 3a 4d 4f 56 20  |:MOV R7,#21:MOV |
00005540  52 30 2c 23 31 38 3a 53  57 49 20 22 4f 53 5f 57  |R0,#18:SWI "OS_W|
00005550  72 69 74 65 43 22 3a 4d  4f 56 20 52 30 2c 23 30  |riteC":MOV R0,#0|
00005560  3a 53 57 49 20 22 4f 53  5f 57 72 69 74 65 43 22  |:SWI "OS_WriteC"|
00005570  3a 4d 4f 56 20 52 30 2c  52 37 3a 53 57 49 20 22  |:MOV R0,R7:SWI "|
00005580  4f 53 5f 57 72 69 74 65  43 22 3a 2e 6c 6f 6f 70  |OS_WriteC":.loop|
00005590  53 54 3a 4c 44 52 20 52  35 2c 5b 52 31 32 2c 52  |ST:LDR R5,[R12,R|
000055a0  39 5d 3a 53 55 42 20 52  35 2c 52 35 2c 52 31 30  |9]:SUB R5,R5,R10|
000055b0  3a 43 4d 50 20 52 35 2c  23 30 3a 41 44 44 4c 54  |:CMP R5,#0:ADDLT|
000055c0  20 52 35 2c 52 35 2c 23  31 30 32 34 0d 0d 48 ee  | R5,R5,#1024..H.|
000055d0  2e 6e 74 62 3a 53 54 52  20 52 35 2c 5b 52 31 32  |.ntb:STR R5,[R12|
000055e0  2c 52 39 5d 3a 4c 44 52  20 52 30 2c 5b 52 31 31  |,R9]:LDR R0,[R11|
000055f0  2c 52 39 5d 3a 4c 44 52  20 52 31 2c 5b 52 31 32  |,R9]:LDR R1,[R12|
00005600  2c 52 39 5d 3a 53 57 49  20 22 4f 53 5f 52 65 61  |,R9]:SWI "OS_Rea|
00005610  64 50 6f 69 6e 74 22 3a  43 4d 50 20 52 32 2c 23  |dPoint":CMP R2,#|
00005620  30 3a 42 4e 45 20 65 6c  3a 4d 4f 56 20 52 30 2c  |0:BNE el:MOV R0,|
00005630  23 36 39 3a 4c 44 52 20  52 31 2c 5b 52 31 31 2c  |#69:LDR R1,[R11,|
00005640  52 39 5d 3a 4c 44 52 20  52 32 2c 5b 52 31 32 2c  |R9]:LDR R2,[R12,|
00005650  52 39 5d 3a 53 57 49 20  22 4f 53 5f 50 6c 6f 74  |R9]:SWI "OS_Plot|
00005660  22 3a 2e 65 6c 3a 41 44  44 20 52 39 2c 52 39 2c  |":.el:ADD R9,R9,|
00005670  23 34 3a 43 4d 50 20 52  39 2c 52 38 3a 42 4e 45  |#4:CMP R9,R8:BNE|
00005680  20 6c 6f 6f 70 53 54 3a  41 44 44 20 52 37 2c 52  | loopST:ADD R7,R|
00005690  37 2c 23 32 31 3a 4d 4f  56 20 52 30 2c 23 31 38  |7,#21:MOV R0,#18|
000056a0  3a 53 57 49 20 22 4f 53  5f 57 72 69 74 65 43 22  |:SWI "OS_WriteC"|
000056b0  3a 4d 4f 56 20 52 30 2c  23 30 0d 0d 52 71 53 57  |:MOV R0,#0..RqSW|
000056c0  49 20 22 4f 53 5f 57 72  69 74 65 43 22 3a 4d 4f  |I "OS_WriteC":MO|
000056d0  56 20 52 30 2c 52 37 3a  53 57 49 20 22 4f 53 5f  |V R0,R7:SWI "OS_|
000056e0  57 72 69 74 65 43 22 3a  4d 4f 56 20 52 31 30 2c  |WriteC":MOV R10,|
000056f0  52 31 30 2c 41 53 4c 20  23 32 3a 41 44 44 20 52  |R10,ASL #2:ADD R|
00005700  38 2c 52 38 2c 23 31 32  30 3a 43 4d 50 20 52 38  |8,R8,#120:CMP R8|
00005710  2c 23 34 36 30 3a 42 4e  45 20 6c 6f 6f 70 53 54  |,#460:BNE loopST|
00005720  3a 4d 4f 56 20 50 43 2c  52 31 34 0d 0d 5c 1f 2e  |:MOV PC,R14..\..|
00005730  73 74 61 72 78 25 3a 45  51 55 44 30 3a 2e 73 74  |starx%:EQUD0:.st|
00005740  61 72 79 25 3a 45 51 55  44 30 0d 0d 66 e9 2e 5a  |ary%:EQUD0..f..Z|
00005750  25 3a 4c 44 52 20 52 31  31 2c 42 44 58 25 3a 4c  |%:LDR R11,BDX%:L|
00005760  44 52 20 52 31 32 2c 42  44 59 25 3a 4c 44 52 20  |DR R12,BDY%:LDR |
00005770  52 39 2c 42 44 49 58 25  3a 4c 44 52 20 52 31 30  |R9,BDIX%:LDR R10|
00005780  2c 42 44 49 59 25 3a 4c  44 52 20 52 38 2c 42 44  |,BDIY%:LDR R8,BD|
00005790  43 25 3a 4d 4f 56 20 52  37 2c 23 30 3a 4c 44 52  |C%:MOV R7,#0:LDR|
000057a0  20 52 36 2c 41 64 6f 74  73 6d 25 3a 2e 64 6f 74  | R6,Adotsm%:.dot|
000057b0  6c 6f 6f 70 3a 4d 4f 56  20 52 30 2c 23 31 38 3a  |loop:MOV R0,#18:|
000057c0  53 57 49 20 22 4f 53 5f  57 72 69 74 65 43 22 3a  |SWI "OS_WriteC":|
000057d0  4d 4f 56 20 52 30 2c 23  30 3a 53 57 49 20 22 4f  |MOV R0,#0:SWI "O|
000057e0  53 5f 57 72 69 74 65 43  22 3a 4c 44 52 20 52 30  |S_WriteC":LDR R0|
000057f0  2c 5b 52 38 2c 52 37 5d  3a 53 57 49 20 22 4f 53  |,[R8,R7]:SWI "OS|
00005800  5f 57 72 69 74 65 43 22  3a 4d 4f 56 20 52 30 2c  |_WriteC":MOV R0,|
00005810  23 36 39 3a 4c 44 52 20  52 31 2c 5b 52 31 31 2c  |#69:LDR R1,[R11,|
00005820  52 37 5d 3a 4c 44 52 20  52 32 2c 5b 52 31 32 2c  |R7]:LDR R2,[R12,|
00005830  52 37 5d 0d 0d 70 b8 53  57 49 20 22 4f 53 5f 50  |R7]..p.SWI "OS_P|
00005840  6c 6f 74 22 3a 4c 44 52  20 52 33 2c 5b 52 31 31  |lot":LDR R3,[R11|
00005850  2c 52 37 5d 3a 4c 44 52  20 52 34 2c 5b 52 39 2c  |,R7]:LDR R4,[R9,|
00005860  52 37 5d 3a 41 44 44 20  52 33 2c 52 33 2c 52 34  |R7]:ADD R3,R3,R4|
00005870  3a 53 54 52 20 52 33 2c  5b 52 31 31 2c 52 37 5d  |:STR R3,[R11,R7]|
00005880  3a 4c 44 52 20 52 33 2c  5b 52 31 32 2c 52 37 5d  |:LDR R3,[R12,R7]|
00005890  3a 4c 44 52 20 52 34 2c  5b 52 31 30 2c 52 37 5d  |:LDR R4,[R10,R7]|
000058a0  3a 41 44 44 20 52 33 2c  52 33 2c 52 34 3a 53 54  |:ADD R3,R3,R4:ST|
000058b0  52 20 52 33 2c 5b 52 31  32 2c 52 37 5d 3a 41 44  |R R3,[R12,R7]:AD|
000058c0  44 20 52 37 2c 52 37 2c  23 34 3a 43 4d 50 20 52  |D R7,R7,#4:CMP R|
000058d0  37 2c 52 36 3a 42 4e 45  20 64 6f 74 6c 6f 6f 70  |7,R6:BNE dotloop|
000058e0  3a 4d 4f 56 20 50 43 2c  52 31 34 0d 0d 7a 50 2e  |:MOV PC,R14..zP.|
000058f0  41 64 6f 74 73 6d 25 3a  45 51 55 44 30 3a 2e 42  |Adotsm%:EQUD0:.B|
00005900  44 58 25 3a 45 51 55 44  30 3a 2e 42 44 59 25 3a  |DX%:EQUD0:.BDY%:|
00005910  45 51 55 44 30 3a 2e 42  44 49 58 25 3a 45 51 55  |EQUD0:.BDIX%:EQU|
00005920  44 30 3a 2e 42 44 49 59  25 3a 45 51 55 44 30 3a  |D0:.BDIY%:EQUD0:|
00005930  2e 42 44 43 25 3a 45 51  55 44 30 0d 0d 84 2b 2e  |.BDC%:EQUD0...+.|
00005940  73 70 70 6f 73 3a 45 51  55 44 73 70 72 76 61 72  |sppos:EQUDsprvar|
00005950  3a 2e 70 72 69 6e 74 73  70 72 69 74 65 3a 45 51  |:.printsprite:EQ|
00005960  55 44 20 32 39 30 0d 0d  8e 06 5d ed 0d 0d 98 33  |UD 290....]....3|
00005970  21 41 61 6d 78 25 3d 28  61 6d 78 25 2b 31 29 2a  |!Aamx%=(amx%+1)*|
00005980  34 3a 21 41 61 78 25 3d  61 78 25 3a 21 41 61 79  |4:!Aax%=ax%:!Aay|
00005990  25 3d 61 79 25 3a 21 41  61 68 25 3d 61 68 25 0d  |%=ay%:!Aah%=ah%.|
000059a0  0d a2 33 21 41 73 6d 78  25 3d 28 73 6d 78 25 2b  |..3!Asmx%=(smx%+|
000059b0  31 29 2a 34 3a 21 41 73  78 25 3d 73 78 25 3a 21  |1)*4:!Asx%=sx%:!|
000059c0  41 73 79 25 3d 73 79 25  3a 21 41 73 68 25 3d 73  |Asy%=sy%:!Ash%=s|
000059d0  68 25 0d 0d ac 33 21 41  62 6d 78 25 3d 28 62 6d  |h%...3!Abmx%=(bm|
000059e0  78 25 2b 31 29 2a 34 3a  21 41 62 78 25 3d 62 78  |x%+1)*4:!Abx%=bx|
000059f0  25 3a 21 41 62 79 25 3d  62 79 25 3a 21 41 62 68  |%:!Aby%=by%:!Abh|
00005a00  25 3d 62 68 25 0d 0d b6  51 21 41 64 6f 74 73 6d  |%=bh%...Q!Adotsm|
00005a10  25 3d 28 6d 61 78 64 6f  74 73 25 2b 31 29 2a 34  |%=(maxdots%+1)*4|
00005a20  3a 21 42 44 58 25 3d 44  58 25 3a 21 42 44 59 25  |:!BDX%=DX%:!BDY%|
00005a30  3d 44 59 25 3a 21 42 44  49 58 25 3d 44 49 58 25  |=DY%:!BDIX%=DIX%|
00005a40  3a 21 42 44 49 59 25 3d  44 49 59 25 3a 21 42 44  |:!BDIY%=DIY%:!BD|
00005a50  43 25 3d 44 43 25 0d 0d  c0 25 21 73 68 69 70 77  |C%=DC%...%!shipw|
00005a60  25 3d 31 32 36 3a 21 73  68 69 70 68 25 3d 31 34  |%=126:!shiph%=14|
00005a70  34 3a 21 73 68 69 70 79  25 3d a3 0d 0d ca 1b 21  |4:!shipy%=.....!|
00005a80  73 74 61 72 78 25 3d 53  78 25 3a 21 73 74 61 72  |starx%=Sx%:!star|
00005a90  79 25 3d 53 79 25 0d 0d  d4 05 e1 0d ff           |y%=Sy%.......|
00005a9d