Home » Archimedes archive » Archimedes World » AW-1991-10.adf » October91 » !AWOct91/Goodies/SideWind/!SideWind/!Runimage

!AWOct91/Goodies/SideWind/!SideWind/!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 » Archimedes World » AW-1991-10.adf » October91
Filename: !AWOct91/Goodies/SideWind/!SideWind/!Runimage
Read OK:
File size: 25A0 bytes
Load address: 0000
Exec address: 0000
File contents
   10REM>!Runimage
   20REM !SideWinder main Runimage
   30REM Another spiffing Arcade game from the makers of faux pas.
   40REM Entirely coded in BASIC
   50REM Version 1.4 By Aaron 8/7/91
   60REM New fire control / alien speed patterns
   70REM Plus smart bombs
   80REM And auto ARM3 detect for more nasties/etc
   85REM Copyright Archimedes World October 1991
   90:
  100ONERROR OSCLI("*FX114,1"):MODE0:END
  110ver$="1.4":MODE13:PROCinit:PROCcontrol:END
  120:
  130DEFPROCstars
  140GCOL21:FORT%=1TOns%:X%(T%)-=Z%(T%)
  150IFX%(T%)<0 X%(T%)=1279:Y%(T%)=RND(831)+128
  160PLOT69,X%(T%),Y%(T%):NEXT:ENDPROC
  170:
  180DEFPROCship
  190IF dead%=TRUE ENDPROC
  200IF INKEY(-98) sx%-=28 ELSE IF INKEY(-67) sx%+=28
  210IF INKEY(-105) sy%-=28 ELSE IF INKEY(-80) sy%+=28
  220IF sx%<12 sx%=12 ELSE IF sx%>500 sx%=500
  230IF sy%<160 sy%=160 ELSE IF sy%>872 sy%=872
  240IFINKEY(-74) AND fireok%=TRUE AND fire%=FALSE THEN
  250fire%=TRUE:lx%=sx%-256:ly%=sy%+24:SOUND1,-8,4000,10
  260ENDIF:IFfire%=TRUE THEN
  270lx%+=256:GCOL3:LINElx%,ly%,lx%+256,ly%:IFlx%>1260 fire%=FALSE
  280ENDIF:SYS"OS_SpriteOp",290,sp,"ship",sx%,sy%:ENDPROC
  290:
  300DEFPROCaliens(end%)
  310allgone%=0:FORT%=0TOalien%:IF dead%(T%)=-2 allgone%+=1:NEXT:ENDPROC
  320IF dead%(T%)>0 THEN PROCexplos:NEXT:ENDPROC
  330AX%(T%)-=ZX%(T%):IF AX%(T%)<0 PROCnewalien:NEXT:ENDPROC
  340C%=AX%(T%)-(?(XT%+(AX%(T%)/4)+(SP%(T%)*350))-126)
  350D%=AY%(T%)-(?(YT%+(AX%(T%)/4)+(SP%(T%)*350))-126)
  360IF(C%>sx%-92 AND C%<sx%+120)AND(D%>sy%-56 AND D%<sy%+60) dead%=TRUE
  370IF(C%>lx%-92ANDC%<lx%+348)AND(D%>ly%-56 AND D%<ly%)AND fire%=TRUE THEN
  380score%+=10+(5*SP%(T%)):SOUND2,-15,1,20:dead%(T%)=1
  390ENDIF:SYS"OS_SpriteOp",290,sp,("AL"+STR$(SP%(T%))),C%,D%,8:NEXT
  400ENDPROC
  410:
  420DEFPROCnewalien
  430dead%(T%)=0:AX%(T%)=1279:AY%(T%)=RND(528)+254
  440ZX%(T%)=12+(RND(wave%)):SP%(T%)=INT(1500*wave%-(wavetime%-TIME))/1000
  450IFwave%>4 AND RND(wave%)>4 SP%(T%)=RND(wave%)
  460IFchal%=1 SP%(T%)=(wave%-1):ZX%(T%)=12+(RND(wave%)*2)
  470IFSP%(T%)>mx% SP%(T%)=RND(mx%)
  480IF end%=TRUE dead%(T%)=-2
  490ENDPROC
  500:
  510DEFPROCexplos
  520IF dead%(T%)=4 PROCnewalien:ENDPROC
  530SP$="expo"+STR$(dead%(T%)):IF dead%(T%)=1 THEN
  540E%(T%)=AX%(T%)-(?(XT%+(AX%(T%)/4)+(SP%(T%)*350))-126)
  550F%(T%)=AY%(T%)-(?(YT%+(AX%(T%)/4)+(SP%(T%)*350))-126)
  560ENDIF
  570SYS"OS_SpriteOp",290,sp,SP$,E%(T%)-(dead%(T%)*20),F%(T%)-(dead%(T%)*20),8
  580dead%(T%)+=1:ENDPROC
  590:
  600DEFPROCwave(wave%)
  610PROCtext("PREPARE FOR WAVE "+wave$,268):PROCstartwave
  620REPEAT:PROCstars:PROCship:PROCaliens(wavedone%):PROCswapscreens
  630IF TIME>wavetime% wavedone%=TRUE
  640UNTIL dead%=TRUE OR (wavedone%=TRUE AND allgone%=alien%+1)
  650fire%=FALSE:ENDPROC
  660:
  670DEFPROCcoridoor
  680PROCtext("STAY IN CORIDOR",268):PROCstartdoor:cordone%=1
  690REPEAT:PROCstars:FORK%=0TO19:?(YD%+K%)=?(YD%+(K%+1)):NEXT
  700C%=(20+(wave%*4)):A%=?(YD%+19):IF cordone%=0 A%+=(RND(C%))-(C%/2)
  710PROCship:IF A%<0 A%=0 ELSE IF A%>255 A%=255
  720?(YD%+20)=A%:PROCdoorline(132,48):PROCdoorline(400,51):c%=sx%/64
  730IF(sy%>(?(YD%+c%)*2)+340 OR sy%<(?(YD%+c%)*2)+132) THEN
  740IF sx%>st% AND sx%<st%+1280 dead%=TRUE
  750ENDIF:PROCswapscreens:IF cordone%<>0 st%-=128
  760IF st%=0 AND cordone%=1 THEN cordone%=FALSE:cortime%=TIME+(500*wave%)
  770IF TIME>cortime% AND cordone%=FALSE cordone%=TRUE
  780UNTIL dead%=TRUE OR st%<-1280:fire%=FALSE:ENDPROC
  790:
  800DEFPROCdoorline(Y%,col%)
  810GCOL0,col%:MOVEst%,(?(YD%)*2)+Y%
  820FORT%=1TO20:PLOT5,st%+(T%*64),(?(YD%+T%)*2)+Y%:NEXT:ENDPROC
  830:
  840DEFPROCchallenge
  850PROCtext("BONUS CHALLENGE STAGE",268):PROCstartchallenge
  860REPEAT:PROCstars:PROCship:PROCaliens(chal%):PROCswapscreens
  870IF TIME>chaltime% chal%=TRUE
  880UNTIL dead%=TRUE OR (chal%=TRUE AND allgone%=5)
  890fire%=FALSE:ENDPROC
  900:
  910DEFPROCswapscreens
  920IFgame%=TRUE THEN
  930IF INKEY(-1)ANDfireok%=TRUE ANDsmartok%=TRUE AND score%>1000 THEN
  940score%-=1000:FORT%=0TO alien%:dead%(T%)=1:NEXT:SOUND1,-15,50000,30
  950GCOL3,63:RECTANGLE FILL 0,0,1279,1024:smartok%=FALSE
  960ENDIF:score$=RIGHT$("000000"+STR$(score%),6):VDU28,13,31,26,30
  970PRINTwave$;"  ";score$;"  ";lives$;:VDU28,0,27,39,2
  980IF INKEY(-56) A%=TIME:REPEAT UNTIL INKEY(-55):TIME=A%
  990IF INKEY(-17) SOUND OFF ELSE IF INKEY(-82) SOUND ON
 1000ENDIF:IF TIME<time+3 REPEAT UNTIL TIME>=time+3
 1010WAIT:SYS 6,113,B%:B%=B% EOR 2+1:SYS 6,112,B%:CLS:time=TIME:ENDPROC
 1020:
 1030DEFPROCdead
 1040st%=1:SOUND2,-15,1,80:REPEAT:PROCstars:SPR$="expo"+STR$(st%):st%+=1
 1050SYS"OS_SpriteOp",290,sp,SPR$,sx%-(st%*20),sy%-(st%*20)
 1060PROCswapscreens:UNTIL st%=7:lives%-=1:lives$=RIGHT$("00"+STR$(lives%),2)
 1070IFlives%>0 PROCtext("SHIP DESTROYED",760):PROCstartship
 1080energy%=1260:dead%=FALSE:ENDPROC
 1090:
 1100DEFPROCcontrol
 1110REPEAT:PROCtitlepage:PROCstartgame:PROCendgame:UNTIL0
 1120ENDPROC
 1130:
 1140DEFPROCstartgame
 1150LOCAL ERROR:ON ERROR LOCAL lives%=0:ENDPROC
 1160PROCgamevars:PROCstartship:REPEAT
 1170IFwavedone%<>TRUE PROCwave(wave%)
 1180IFcordone%<>TRUE AND dead%=FALSE PROCcoridoor
 1190IF(wave%/2)=INT(wave%/2) AND chal%<>TRUE AND dead%=FALSE PROCchallenge
 1200IFdead%=TRUE PROCdead ELSE PROCbonus
 1210UNTIL lives%=0:ENDPROC
 1220:
 1230DEFPROCbonus
 1240PROCtext("WAVE COMPLETED  BONUS SCORE "+STR$(wave%*250),500)
 1250fireok%=FALSE:FORH%=10TOwave%*250STEP10:PROCstars:PROCship:score%+=10
 1260PROCswapscreens:SOUND2,-10,1,1:NEXT:IF(wave%/3)=INT(wave%/3) THEN
 1270PROCtext("BONUS SHIP",500):lives%+=1
 1280lives$=RIGHT$("00"+STR$(lives%),2):SOUND2,-10,1,1
 1290ENDIF:wave%+=1:wave$=RIGHT$("00"+STR$(wave%),2)
 1300wavedone%=FALSE:cordone%=FALSE:chal%=FALSE:ENDPROC
 1310:
 1320DEFPROCendgame
 1330game%=FALSE:dead%=TRUE
 1340PROCtext("GAME OVER ON WAVE "+wave$,500):IFscore%>hiscore%(6) PROCtable
 1350ENDPROC
 1360:
 1370DEFPROCtitlepage
 1380COLOUR34:VDU26:VDU28,0,27,39,2:PROCscreens:z=0:sc%=1:game%=FALSE
 1390REPEAT:PROCstars:PROCscrolltext:z+=1:IFz>10 sc%+=1:z=0:IFsc%=6 sc%=1
 1400SYS"OS_SpriteOp",290,sp,"TITLE",100,712
 1410SYS"OS_SpriteOp",290,sp,"AARON",360,418
 1420FORT=sc%TOsc%+1:PRINTTAB(13,8+T);hiscore$(T);TAB(22,8+T);name$(T):NEXT
 1430PROCswapscreens:UNTIL INKEY(-99):PROCendlogo:ENDPROC
 1440PROCendlogo:ENDPROC
 1450:
 1460DEFPROCscreens
 1470D%=0:E%=40:P%=1
 1480PROCstartscreens:PROCstartlogo:ENDPROC
 1490:
 1500DEFPROCstartscreens
 1510FOR T=200 TO 0 STEP-8:PROCstars
 1520SYS"OS_SpriteOp",290,sp,"DISP2",0,960+T
 1530SYS"OS_SpriteOp",290,sp,"DISP1",0,0-T
 1540PROCswapscreens:NEXT
 1550FORT=1TO2:SYS"OS_SpriteOp",290,sp,"DISP2",0,960
 1560SYS"OS_SpriteOp",290,sp,"DISP1",0,0
 1570WAIT:SYS 6,113,B%:B%=B% EOR 2+1:SYS 6,112,B%:NEXT
 1580VDU28,0,27,39,2:ENDPROC
 1590:
 1600DEFPROCzipstars
 1610GCOL21:T=256:REPEAT:FORT%=1TOns%:PLOT69,X%(T%),Y%(T%)+((T-1)*Z%(T%)):NEXT
 1620VDU19,0,24,180-(T/1.43),180-(T/1.43),180-(T/1.43)
 1630SYS"OS_SpriteOp",290,sp,"LOGO",450,500
 1640PROCswapscreens:T-=(T/10):UNTIL T<=1
 1650FORT=0TO1STEP0.05:FORT%=1TOns%:X%(T%)-=(T*Z%(T%)):IF X%(T%)<0 X%(T%)=1279
 1660PLOT69,X%(T%),Y%(T%):NEXT:PROCswapscreens:NEXT:ENDPROC
 1670:
 1680DEFPROCstartlogo
 1690FORT=1008 TO0 STEP-16:PROCstars:SYS"OS_SpriteOp",290,sp,"TITLE",100-T,712
 1700SYS"OS_SpriteOp",290,sp,"AARON",360+(T*2),418:PROCswapscreens:NEXT:ENDPROC
 1710:
 1720DEFPROCendlogo
 1730FORT=0TO1280 STEP16:PROCstars:SYS"OS_SpriteOp",290,sp,"TITLE",100+T,712
 1740SYS"OS_SpriteOp",290,sp,"AARON",360-(T*2),418:PROCswapscreens:NEXT:ENDPROC
 1750:
 1760DEFPROCstartship
 1770T=1280:sx%=16:sy%=500
 1780REPEAT:PROCstars:SYS"OS_SpriteOp",290,sp,"SHIP",sx%+T,sy%
 1790T-=(T/10):IF T>10 SOUND1,-10,256+(T*10),10
 1800PROCswapscreens:UNTIL T<=1:ENDPROC
 1810:
 1820DEFPROCscrolltext
 1830D%-=E%:C%=(J%+P%):F%=D%:IF D%=-240 P%+=1:D%=0:IF P%=L% P%=1
 1840FORT%=C%TOC%+6:SYS"OS_SpriteOp",290,sp,CHR$(?(T%)),F%,268:F%+=240:NEXT
 1850ENDPROC
 1860:
 1870DEFPROCtext(tx$,Y%)
 1880tx$=t$+tx$+t$:FORcnt%=1TOLEN(tx$):A=ASC(MID$(tx$,cnt%,1)):IF A=32 A=255
 1890TXT%!cnt%=A:NEXT:P%=1:D%=0:fireok%=FALSE
 1900REPEAT:PROCstars:PROCship:D%-=40:C%=(TXT%+P%):F%=D%:IF D%=-240 P%+=1:D%=0
 1910FORT%=C%TOC%+6:SYS"OS_SpriteOp",290,sp,CHR$(?(T%)),F%,Y%:F%+=240:NEXT
 1920PROCswapscreens:UNTIL P%=cnt%-6:fireok%=TRUE:ENDPROC
 1930:
 1940DEFPROCinit
 1950PROCvars:SOUND ON:VOICES2:*CHANNELVOICE 1 5
 1960*CHANNELVOICE 2 9
 1970SYS"OS_UpdateMEMC",64,64:OFF:OSCLI("*FX12,2"):*FX114,0
 1980PROCstartstars:PROCstarttext:PROCstartsprites
 1990SYS"OS_SpriteOp",290,sp,"logo",450,500
 2000COLOUR51:PRINTTAB(12,8)"Sidewinder V ";ver$
 2010IFarm%=TRUE THEN
 2020PRINTTAB(10,10)"Playing in ARM3 mode"
 2030ELSE
 2040PRINTTAB(10,10)"Playing in ARM2 mode"
 2050ENDIF:PRINTTAB(10,19)"Please wait a moment"
 2060PROCdattable:VDU26:PROCzipstars:ENDPROC
 2070:
 2080DEFPROCvars
 2090D%=0:E%=40:P%=1:ns%=10:DIM X%(50),Y%(50),Z%(50)
 2100DIMhiscore%(6),name$(6),hiscore$(6):alien%=4
 2110B%=1:game%=FALSE:DIM XT% 4000, YT% 4000, TXT% 255:t$="       "
 2120RESTORE2800:FORT=1TO6:READname$(T),hiscore%(T)
 2130hiscore$(T)=RIGHT$("000000"+STR$(hiscore%(T)),6):NEXT:time=TIME+5
 2140DIM AX%(20),AY%(20),ZX%(20),ZY%(20),SP%(20),dead%(20),YD% 21,E%(20),F%(20)
 2150PROCarm3query:ENDPROC
 2160:
 2170DEFPROCarm3query
 2180LOCAL ERROR:ON ERROR LOCAL arm%=FALSE:ENDPROC
 2190OSCLI("STATUS CACHE")
 2200ns%=40:alien%=8:arm%=TRUE:ENDPROC
 2210:
 2220DEFPROCgamevars
 2230game%=TRUE:lives%=3:score%=0:wave%=1:sx%=16:sy%=500:dead%=FALSE
 2240score$="000000":lives$="03":wave$="01":energy%=1260:fireok%=TRUE
 2250VDU24,0;132;1279;956;:wavedone%=0:cordone%=0:lx%=0:ly%=0:chal%=FALSE
 2260fire%=FALSE:smartok%=TRUE:ENDPROC
 2270:
 2280DEFPROCstartwave
 2290done%=FALSE:PROCstartaliens:wavetime%=TIME+(wave%*1500)
 2300fireok%=TRUE:smartok%=TRUE:ENDPROC
 2310:
 2320DEFPROCstartaliens
 2330FORT%=0TO alien%:AX%(T%)=1200:AY%(T%)=RND(528)+254
 2340ZX%(T%)=12+(RND(wave%)):SP%(T%)=0:dead%(T%)=FALSE:NEXT:ENDPROC
 2350:
 2360DEFPROCstartchallenge
 2370chaltime%=TIME+(wave%*300):chal%=1:fireok%=TRUE:smartok%=TRUE
 2380FORT%=0TO alien%:AX%(T%)=1200:AY%(T%)=RND(528)+254
 2390ZX%(T%)=12+(RND(wave%)*2):SP%(T%)=(wave%-1):dead%(T%)=FALSE:NEXT:ENDPROC
 2400:
 2410DEFPROCstartstars
 2420FORT=0TOns%:X%(T)=RND(1279):Y%(T)=RND(831)+128
 2430Z%(T)=4+(INT(T/(ns%/3))*4):NEXT:ENDPROC
 2440:
 2450DEFPROCstartdoor
 2460FORT%=0TO21:?(YD%+T%)=128:NEXT:fireok%=FALSE
 2470st%=1280:done%=1:cortime%=0:ENDPROC
 2480:
 2490DEFPROCstartsprites
 2500DIM sp &16000:!sp=&16000:sp!4=0:sp!8=16:sp!8=16:sp!12=16
 2510OSCLI("LOAD SPRDAT "+STR$~sp):ENDPROC
 2520:
 2530DEFPROCstarttext
 2540file%=OPENIN("ScrollText"):DIM J% EXT#file%:pt%=1:REPEAT
 2550A%=BGET#file%:IF A%=32 A%=255
 2560J%!pt%=A%:pt%+=1:UNTIL EOF#file%:CLOSE#0:L%=pt%-8:ENDPROC
 2570:
 2580DEFPROCscores(X,Y)
 2590FORT=1TO6:PRINTTAB(X,Y+T);RIGHT$("000000"+STR$(hiscore%(T)),6)
 2600PRINTTAB(X+9,Y+T);name$(T):NEXT:ENDPROC
 2610:
 2620DEFPROCtable
 2630PROCtext("HIGH SCORE",500):table1%=6
 2640REPEAT:table1%-=1:UNTIL hiscore%(table1%)>score% OR table1%=0
 2650FORT=5TOtable1%+1 STEP-1:hiscore%(T+1)=hiscore%(T):name$(T+1)=name$(T)
 2660NEXT:table1%+=1:hiscore%(table1%)=score%:name$(table1%)="":*FX21,0
 2670hiscore$(table1%)=RIGHT$("000000"+STR$(hiscore%(table1%)),6)
 2680REPEAT:PROCstars:A=INKEY(0)
 2690IFA>32ANDA<123ANDLEN(name$(table1%))<5 name$(table1%)+=CHR$(A)
 2700IF A<>-1 AND A<>13 AND (A<32 OR A>127) VDU7
 2710IFLEN(name$(table1%))>0 AND A=127 THEN
 2720name$(table1%)=LEFT$(name$(table1%),LEN(name$(table1%))-1)
 2730ENDIF:COLOUR48:PRINTTAB(8,8)"HI-SCORE TABLE POSITION ";table1%
 2740COLOUR51:PROCscores(13,10):PROCswapscreens:UNTIL A=13:ENDPROC
 2750:
 2760DEFPROCdattable
 2770RESTORE 2860:FORnum=0TO9:READ Xequ$,Yequ$:FORT%=0TO350
 2780?(XT%+(num*350)+T%)=EVAL(Xequ$)+126
 2790?(YT%+(num*350)+T%)=EVAL(Yequ$)+126:NEXT:NEXT:mx%=num-1:ENDPROC
 2800:
 2810DATA AARON,30000,AARON,20000,AARON,10000
 2820DATA AARON,5000,AARON,2500,AARON,1000
 2830:
 2840REM move equations
 2850:
 2860DATA "0","(COS(T%/30)*80)"
 2870DATA "(SIN(T%/18)*126)","(COS(T%/18)*126)"
 2880DATA "(SIN(T%/12)*80)","(COS(T%/24)*126)"
 2890DATA "(COS(T%/12)*126)","(COS(T%/20)*40)"
 2900DATA "(COS(T%/8)*126)","0"
 2910DATA "(SIN(T%/30)*126)","(SIN(T%/30)*126)"
 2920DATA "(SIN(T%/14)*100)","(COS(T%/12)*126)"
 2930DATA "0","(COS(T%/11)*126)"
 2940DATA "(SIN(T%/30)*126)","(SIN(T%/20)*126)"
 2950DATA "0","(COS(T%/24)*126)"
�>!Runimage
� !SideWinder main Runimage
?� Another spiffing Arcade game from the makers of faux pas.
(� Entirely coded in BASIC
2!� Version 1.4 By Aaron 8/7/91
<-� New fire control / alien speed patterns
F� Plus smart bombs
P/� And auto ARM3 detect for more nasties/etc
U-� Copyright Archimedes World October 1991
Z:
d� �("*FX114,1"):�0:�
n#ver$="1.4":�13:�init:�control:�
x:
���stars
� �21:�T%=1�ns%:X%(T%)-=Z%(T%)
�+�X%(T%)<0 X%(T%)=1279:Y%(T%)=�(831)+128
��69,X%(T%),Y%(T%):�:�
�:
�
��ship
�� dead%=� �
�'� �(-98) sx%-=28 � � �(-67) sx%+=28
�(� �(-105) sy%-=28 � � �(-80) sy%+=28
�'� sx%<12 sx%=12 � � sx%>500 sx%=500
�)� sy%<160 sy%=160 � � sy%>872 sy%=872
�#�(-74) � fireok%=� � fire%=� �
�0fire%=�:lx%=sx%-256:ly%=sy%+24:�1,-8,4000,10
�:�fire%=� �
6lx%+=256:�3:�lx%,ly%,lx%+256,ly%:�lx%>1260 fire%=�
-�:ș"OS_SpriteOp",290,sp,"ship",sx%,sy%:�
":
,��aliens(end%)
6:allgone%=0:�T%=0�alien%:� dead%(T%)=-2 allgone%+=1:�:�
@� dead%(T%)>0 � �explos:�:�
J.AX%(T%)-=ZX%(T%):� AX%(T%)<0 �newalien:�:�
T5C%=AX%(T%)-(?(XT%+(AX%(T%)/4)+(SP%(T%)*350))-126)
^5D%=AY%(T%)-(?(YT%+(AX%(T%)/4)+(SP%(T%)*350))-126)
h=�(C%>sx%-92 � C%<sx%+120)�(D%>sy%-56 � D%<sy%+60) dead%=�
r;�(C%>lx%-92�C%<lx%+348)�(D%>ly%-56 � D%<ly%)� fire%=� �
|2score%+=10+(5*SP%(T%)):�2,-15,1,20:dead%(T%)=1
�8�:ș"OS_SpriteOp",290,sp,("AL"+�(SP%(T%))),C%,D%,8:�
��
�:
���newalien
�/dead%(T%)=0:AX%(T%)=1279:AY%(T%)=�(528)+254
�BZX%(T%)=12+(�(wave%)):SP%(T%)=�(1500*wave%-(wavetime%-�))/1000
�*�wave%>4 � �(wave%)>4 SP%(T%)=�(wave%)
�6�chal%=1 SP%(T%)=(wave%-1):ZX%(T%)=12+(�(wave%)*2)
��SP%(T%)>mx% SP%(T%)=�(mx%)
�� end%=� dead%(T%)=-2
��
�:
���explos
� dead%(T%)=4 �newalien:�
+SP$="expo"+�(dead%(T%)):� dead%(T%)=1 �
9E%(T%)=AX%(T%)-(?(XT%+(AX%(T%)/4)+(SP%(T%)*350))-126)
&9F%(T%)=AY%(T%)-(?(YT%+(AX%(T%)/4)+(SP%(T%)*350))-126)
0�
:Lș"OS_SpriteOp",290,sp,SP$,E%(T%)-(dead%(T%)*20),F%(T%)-(dead%(T%)*20),8
Ddead%(T%)+=1:�
N:
X��wave(wave%)
b3�text("PREPARE FOR WAVE "+wave$,268):�startwave
l2�:�stars:�ship:�aliens(wavedone%):�swapscreens
v� �>wavetime% wavedone%=�
�1� dead%=� � (wavedone%=� � allgone%=alien%+1)
�
fire%=�:�
�:
���coridoor
�6�text("STAY IN CORIDOR",268):�startdoor:cordone%=1
�/�:�stars:�K%=0�19:?(YD%+K%)=?(YD%+(K%+1)):�
�BC%=(20+(wave%*4)):A%=?(YD%+19):� cordone%=0 A%+=(�(C%))-(C%/2)
�'�ship:� A%<0 A%=0 � � A%>255 A%=255
�>?(YD%+20)=A%:�doorline(132,48):�doorline(400,51):c%=sx%/64
�6�(sy%>(?(YD%+c%)*2)+340 � sy%<(?(YD%+c%)*2)+132) �
�$� sx%>st% � sx%<st%+1280 dead%=�
�)�:�swapscreens:� cordone%<>0 st%-=128
�<� st%=0 � cordone%=1 � cordone%=�:cortime%=�+(500*wave%)
(� �>cortime% � cordone%=� cordone%=�
#� dead%=� � st%<-1280:fire%=�:�
:
 ��doorline(Y%,col%)
*�0,col%:�st%,(?(YD%)*2)+Y%
40�T%=1�20:�5,st%+(T%*64),(?(YD%+T%)*2)+Y%:�:�
>:
H��challenge
R6�text("BONUS CHALLENGE STAGE",268):�startchallenge
\.�:�stars:�ship:�aliens(chal%):�swapscreens
f� �>chaltime% chal%=�
p&� dead%=� � (chal%=� � allgone%=5)
z
fire%=�:�
�:
���swapscreens
��game%=� �
�1� �(-1)�fireok%=� �smartok%=� � score%>1000 �
�<score%-=1000:�T%=0� alien%:dead%(T%)=1:�:�1,-15,50000,30
�(�3,63:ȓ Ȑ 0,0,1279,1024:smartok%=�
�3�:score$=�"000000"+�(score%),6):�28,13,31,26,30
�1�wave$;"  ";score$;"  ";lives$;:�28,0,27,39,2
�!� �(-56) A%=�:� � �(-55):�=A%
�� �(-17) � � � � �(-82) � �
��:� �<time+3 � � �>=time+3
�5Ȗ:ș 6,113,B%:B%=B% � 2+1:ș 6,112,B%:�:time=�:�
�:

��dead
8st%=1:�2,-15,1,80:�:�stars:SPR$="expo"+�(st%):st%+=1
9ș"OS_SpriteOp",290,sp,SPR$,sx%-(st%*20),sy%-(st%*20)
$<�swapscreens:� st%=7:lives%-=1:lives$=�"00"+�(lives%),2)
.4�lives%>0 �text("SHIP DESTROYED",760):�startship
8energy%=1260:dead%=�:�
B:
L
��control
V'�:�titlepage:�startgame:�endgame:�0
`�
j:
t��startgame
~� �:� � � lives%=0:�
��gamevars:�startship:�
��wavedone%<>� �wave(wave%)
�$�cordone%<>� � dead%=� �coridoor
�9�(wave%/2)=�(wave%/2) � chal%<>� � dead%=� �challenge
��dead%=� �dead � �bonus
�� lives%=0:�
�:
���bonus
�:�text("WAVE COMPLETED  BONUS SCORE "+�(wave%*250),500)
�9fireok%=�:�H%=10�wave%*250�10:�stars:�ship:score%+=10
�5�swapscreens:�2,-10,1,1:�:�(wave%/3)=�(wave%/3) �
�%�text("BONUS SHIP",500):lives%+=1
(lives$=�"00"+�(lives%),2):�2,-10,1,1

&�:wave%+=1:wave$=�"00"+�(wave%),2)
$wavedone%=�:cordone%=�:chal%=�:�
:
(
��endgame
2game%=�:dead%=�
<D�text("GAME OVER ON WAVE "+wave$,500):�score%>hiscore%(6) �table
F�
P:
Z��titlepage
d4�34:�26:�28,0,27,39,2:�screens:z=0:sc%=1:game%=�
n;�:�stars:�scrolltext:z+=1:�z>10 sc%+=1:z=0:�sc%=6 sc%=1
x*ș"OS_SpriteOp",290,sp,"TITLE",100,712
�*ș"OS_SpriteOp",290,sp,"AARON",360,418
�:�T=sc%�sc%+1:�13,8+T);hiscore$(T);�22,8+T);name$(T):�
�$�swapscreens:� �(-99):�endlogo:�
��endlogo:�
�:
�
��screens
�D%=0:E%=40:P%=1
��startscreens:�startlogo:�
�:
���startscreens
�� T=200 � 0 �-8:�stars
�*ș"OS_SpriteOp",290,sp,"DISP2",0,960+T
�(ș"OS_SpriteOp",290,sp,"DISP1",0,0-T
�swapscreens:�
/�T=1�2:ș"OS_SpriteOp",290,sp,"DISP2",0,960
&ș"OS_SpriteOp",290,sp,"DISP1",0,0
",Ȗ:ș 6,113,B%:B%=B% � 2+1:ș 6,112,B%:�
,�28,0,27,39,2:�
6:
@��zipstars
J<�21:T=256:�:�T%=1�ns%:�69,X%(T%),Y%(T%)+((T-1)*Z%(T%)):�
T3�19,0,24,180-(T/1.43),180-(T/1.43),180-(T/1.43)
^)ș"OS_SpriteOp",290,sp,"LOGO",450,500
h!�swapscreens:T-=(T/10):� T<=1
rC�T=0�1�0.05:�T%=1�ns%:X%(T%)-=(T*Z%(T%)):� X%(T%)<0 X%(T%)=1279
|(�69,X%(T%),Y%(T%):�:�swapscreens:�:�
�:
���startlogo
�C�T=1008 �0 �-16:�stars:ș"OS_SpriteOp",290,sp,"TITLE",100-T,712
�Aș"OS_SpriteOp",290,sp,"AARON",360+(T*2),418:�swapscreens:�:�
�:
�
��endlogo
�A�T=0�1280 �16:�stars:ș"OS_SpriteOp",290,sp,"TITLE",100+T,712
�Aș"OS_SpriteOp",290,sp,"AARON",360-(T*2),418:�swapscreens:�:�
�:
���startship
�T=1280:sx%=16:sy%=500
�4�:�stars:ș"OS_SpriteOp",290,sp,"SHIP",sx%+T,sy%
�)T-=(T/10):� T>10 �1,-10,256+(T*10),10
�swapscreens:� T<=1:�
:
��scrolltext
&=D%-=E%:C%=(J%+P%):F%=D%:� D%=-240 P%+=1:D%=0:� P%=L% P%=1
0@�T%=C%�C%+6:ș"OS_SpriteOp",290,sp,�(?(T%)),F%,268:F%+=240:�
:�
D:
N��text(tx$,Y%)
X?tx$=t$+tx$+t$:�cnt%=1��(tx$):A=�(�tx$,cnt%,1)):� A=32 A=255
b%TXT%!cnt%=A:�:P%=1:D%=0:fireok%=�
lA�:�stars:�ship:D%-=40:C%=(TXT%+P%):F%=D%:� D%=-240 P%+=1:D%=0
v?�T%=C%�C%+6:ș"OS_SpriteOp",290,sp,�(?(T%)),F%,Y%:F%+=240:�
�(�swapscreens:� P%=cnt%-6:fireok%=�:�
�:
�
��init
�#�vars:� �:Ƞ2:*CHANNELVOICE 1 5
�*CHANNELVOICE 2 9
�3ș"OS_UpdateMEMC",64,64:�:�("*FX12,2"):*FX114,0
�(�startstars:�starttext:�startsprites
�)ș"OS_SpriteOp",290,sp,"logo",450,500
�#�51:�12,8)"Sidewinder V ";ver$
�
�arm%=� �
�"�10,10)"Playing in ARM3 mode"
��
�"�10,10)"Playing in ARM2 mode"
$�:�10,19)"Please wait a moment"
�dattable:�26:�zipstars:�
:
 
��vars
*1D%=0:E%=40:P%=1:ns%=10:� X%(50),Y%(50),Z%(50)
4.�hiscore%(6),name$(6),hiscore$(6):alien%=4
><B%=1:game%=�:� XT% 4000, YT% 4000, TXT% 255:t$="       "
H&��dpJ:�T=1�6:�name$(T),hiscore%(T)
R6hiscore$(T)=�"000000"+�(hiscore%(T)),6):�:time=�+5
\L� AX%(20),AY%(20),ZX%(20),ZY%(20),SP%(20),dead%(20),YD% 21,E%(20),F%(20)
f�arm3query:�
p:
z��arm3query
�� �:� � � arm%=�:�
��("STATUS CACHE")
�ns%=40:alien%=8:arm%=�:�
�:
���gamevars
�<game%=�:lives%=3:score%=0:wave%=1:sx%=16:sy%=500:dead%=�
�Ascore$="000000":lives$="03":wave$="01":energy%=1260:fireok%=�
�B�24,0;132;1279;956;:wavedone%=0:cordone%=0:lx%=0:ly%=0:chal%=�
�fire%=�:smartok%=�:�
�:
���startwave
�1done%=�:�startaliens:wavetime%=�+(wave%*1500)
�fireok%=�:smartok%=�:�
	:
	��startaliens
	1�T%=0� alien%:AX%(T%)=1200:AY%(T%)=�(528)+254
	$3ZX%(T%)=12+(�(wave%)):SP%(T%)=0:dead%(T%)=�:�:�
	.:
	8��startchallenge
	B8chaltime%=�+(wave%*300):chal%=1:fireok%=�:smartok%=�
	L1�T%=0� alien%:AX%(T%)=1200:AY%(T%)=�(528)+254
	V=ZX%(T%)=12+(�(wave%)*2):SP%(T%)=(wave%-1):dead%(T%)=�:�:�
	`:
	j��startstars
	t+�T=0�ns%:X%(T)=�(1279):Y%(T)=�(831)+128
	~ Z%(T)=4+(�(T/(ns%/3))*4):�:�
	�:
	���startdoor
	�&�T%=0�21:?(YD%+T%)=128:�:fireok%=�
	�!st%=1280:done%=1:cortime%=0:�
	�:
	���startsprites
	�:� sp &16000:!sp=&16000:sp!4=0:sp!8=16:sp!8=16:sp!12=16
	��("LOAD SPRDAT "+�~sp):�
	�:
	���starttext
	�.file%=�("ScrollText"):� J% �#file%:pt%=1:�
	�A%=�#file%:� A%=32 A%=255
-J%!pt%=A%:pt%+=1:� �#file%:�#0:L%=pt%-8:�

:
��scores(X,Y)
/�T=1�6:�X,Y+T);�"000000"+�(hiscore%(T)),6)
(�X+9,Y+T);name$(T):�:�
2:
<��table
F%�text("HIGH SCORE",500):table1%=6
P7�:table1%-=1:� hiscore%(table1%)>score% � table1%=0
ZD�T=5�table1%+1 �-1:hiscore%(T+1)=hiscore%(T):name$(T+1)=name$(T)
dC�:table1%+=1:hiscore%(table1%)=score%:name$(table1%)="":*FX21,0
n7hiscore$(table1%)=�"000000"+�(hiscore%(table1%)),6)
x�:�stars:A=�(0)
�8�A>32�A<123��(name$(table1%))<5 name$(table1%)+=�(A)
�'� A<>-1 � A<>13 � (A<32 � A>127) �7
�"�(name$(table1%))>0 � A=127 �
�7name$(table1%)=�name$(table1%),�(name$(table1%))-1)
�2�:�48:�8,8)"HI-SCORE TABLE POSITION ";table1%
�,�51:�scores(13,10):�swapscreens:� A=13:�
�:
���dattable
�+� �TlK:�num=0�9:� Xequ$,Yequ$:�T%=0�350
�$?(XT%+(num*350)+T%)=�(Xequ$)+126
�4?(YT%+(num*350)+T%)=�(Yequ$)+126:�:�:mx%=num-1:�
�:
�)� AARON,30000,AARON,20000,AARON,10000
&� AARON,5000,AARON,2500,AARON,1000
:
� move equations
":
,� "0","(COS(T%/30)*80)"
6+� "(SIN(T%/18)*126)","(COS(T%/18)*126)"
@*� "(SIN(T%/12)*80)","(COS(T%/24)*126)"
J*� "(COS(T%/12)*126)","(COS(T%/20)*40)"
T� "(COS(T%/8)*126)","0"
^+� "(SIN(T%/30)*126)","(SIN(T%/30)*126)"
h+� "(SIN(T%/14)*100)","(COS(T%/12)*126)"
r� "0","(COS(T%/11)*126)"
|+� "(SIN(T%/30)*126)","(SIN(T%/20)*126)"
�� "0","(COS(T%/24)*126)"
�
00000000  0d 00 0a 0f f4 3e 21 52  75 6e 69 6d 61 67 65 0d  |.....>!Runimage.|
00000010  00 14 1f f4 20 21 53 69  64 65 57 69 6e 64 65 72  |.... !SideWinder|
00000020  20 6d 61 69 6e 20 52 75  6e 69 6d 61 67 65 0d 00  | main Runimage..|
00000030  1e 3f f4 20 41 6e 6f 74  68 65 72 20 73 70 69 66  |.?. Another spif|
00000040  66 69 6e 67 20 41 72 63  61 64 65 20 67 61 6d 65  |fing Arcade game|
00000050  20 66 72 6f 6d 20 74 68  65 20 6d 61 6b 65 72 73  | from the makers|
00000060  20 6f 66 20 66 61 75 78  20 70 61 73 2e 0d 00 28  | of faux pas...(|
00000070  1d f4 20 45 6e 74 69 72  65 6c 79 20 63 6f 64 65  |.. Entirely code|
00000080  64 20 69 6e 20 42 41 53  49 43 0d 00 32 21 f4 20  |d in BASIC..2!. |
00000090  56 65 72 73 69 6f 6e 20  31 2e 34 20 42 79 20 41  |Version 1.4 By A|
000000a0  61 72 6f 6e 20 38 2f 37  2f 39 31 0d 00 3c 2d f4  |aron 8/7/91..<-.|
000000b0  20 4e 65 77 20 66 69 72  65 20 63 6f 6e 74 72 6f  | New fire contro|
000000c0  6c 20 2f 20 61 6c 69 65  6e 20 73 70 65 65 64 20  |l / alien speed |
000000d0  70 61 74 74 65 72 6e 73  0d 00 46 16 f4 20 50 6c  |patterns..F.. Pl|
000000e0  75 73 20 73 6d 61 72 74  20 62 6f 6d 62 73 0d 00  |us smart bombs..|
000000f0  50 2f f4 20 41 6e 64 20  61 75 74 6f 20 41 52 4d  |P/. And auto ARM|
00000100  33 20 64 65 74 65 63 74  20 66 6f 72 20 6d 6f 72  |3 detect for mor|
00000110  65 20 6e 61 73 74 69 65  73 2f 65 74 63 0d 00 55  |e nasties/etc..U|
00000120  2d f4 20 43 6f 70 79 72  69 67 68 74 20 41 72 63  |-. Copyright Arc|
00000130  68 69 6d 65 64 65 73 20  57 6f 72 6c 64 20 4f 63  |himedes World Oc|
00000140  74 6f 62 65 72 20 31 39  39 31 0d 00 5a 05 3a 0d  |tober 1991..Z.:.|
00000150  00 64 19 ee 85 20 ff 28  22 2a 46 58 31 31 34 2c  |.d... .("*FX114,|
00000160  31 22 29 3a eb 30 3a e0  0d 00 6e 23 76 65 72 24  |1"):.0:...n#ver$|
00000170  3d 22 31 2e 34 22 3a eb  31 33 3a f2 69 6e 69 74  |="1.4":.13:.init|
00000180  3a f2 63 6f 6e 74 72 6f  6c 3a e0 0d 00 78 05 3a  |:.control:...x.:|
00000190  0d 00 82 0b dd f2 73 74  61 72 73 0d 00 8c 20 e6  |......stars... .|
000001a0  32 31 3a e3 54 25 3d 31  b8 6e 73 25 3a 58 25 28  |21:.T%=1.ns%:X%(|
000001b0  54 25 29 2d 3d 5a 25 28  54 25 29 0d 00 96 2b e7  |T%)-=Z%(T%)...+.|
000001c0  58 25 28 54 25 29 3c 30  20 58 25 28 54 25 29 3d  |X%(T%)<0 X%(T%)=|
000001d0  31 32 37 39 3a 59 25 28  54 25 29 3d b3 28 38 33  |1279:Y%(T%)=.(83|
000001e0  31 29 2b 31 32 38 0d 00  a0 19 f0 36 39 2c 58 25  |1)+128.....69,X%|
000001f0  28 54 25 29 2c 59 25 28  54 25 29 3a ed 3a e1 0d  |(T%),Y%(T%):.:..|
00000200  00 aa 05 3a 0d 00 b4 0a  dd f2 73 68 69 70 0d 00  |...:......ship..|
00000210  be 0f e7 20 64 65 61 64  25 3d b9 20 e1 0d 00 c8  |... dead%=. ....|
00000220  27 e7 20 a6 28 2d 39 38  29 20 73 78 25 2d 3d 32  |'. .(-98) sx%-=2|
00000230  38 20 8b 20 e7 20 a6 28  2d 36 37 29 20 73 78 25  |8 . . .(-67) sx%|
00000240  2b 3d 32 38 0d 00 d2 28  e7 20 a6 28 2d 31 30 35  |+=28...(. .(-105|
00000250  29 20 73 79 25 2d 3d 32  38 20 8b 20 e7 20 a6 28  |) sy%-=28 . . .(|
00000260  2d 38 30 29 20 73 79 25  2b 3d 32 38 0d 00 dc 27  |-80) sy%+=28...'|
00000270  e7 20 73 78 25 3c 31 32  20 73 78 25 3d 31 32 20  |. sx%<12 sx%=12 |
00000280  8b 20 e7 20 73 78 25 3e  35 30 30 20 73 78 25 3d  |. . sx%>500 sx%=|
00000290  35 30 30 0d 00 e6 29 e7  20 73 79 25 3c 31 36 30  |500...). sy%<160|
000002a0  20 73 79 25 3d 31 36 30  20 8b 20 e7 20 73 79 25  | sy%=160 . . sy%|
000002b0  3e 38 37 32 20 73 79 25  3d 38 37 32 0d 00 f0 23  |>872 sy%=872...#|
000002c0  e7 a6 28 2d 37 34 29 20  80 20 66 69 72 65 6f 6b  |..(-74) . fireok|
000002d0  25 3d b9 20 80 20 66 69  72 65 25 3d a3 20 8c 0d  |%=. . fire%=. ..|
000002e0  00 fa 30 66 69 72 65 25  3d b9 3a 6c 78 25 3d 73  |..0fire%=.:lx%=s|
000002f0  78 25 2d 32 35 36 3a 6c  79 25 3d 73 79 25 2b 32  |x%-256:ly%=sy%+2|
00000300  34 3a d4 31 2c 2d 38 2c  34 30 30 30 2c 31 30 0d  |4:.1,-8,4000,10.|
00000310  01 04 10 cd 3a e7 66 69  72 65 25 3d b9 20 8c 0d  |....:.fire%=. ..|
00000320  01 0e 36 6c 78 25 2b 3d  32 35 36 3a e6 33 3a 86  |..6lx%+=256:.3:.|
00000330  6c 78 25 2c 6c 79 25 2c  6c 78 25 2b 32 35 36 2c  |lx%,ly%,lx%+256,|
00000340  6c 79 25 3a e7 6c 78 25  3e 31 32 36 30 20 66 69  |ly%:.lx%>1260 fi|
00000350  72 65 25 3d a3 0d 01 18  2d cd 3a c8 99 22 4f 53  |re%=....-.:.."OS|
00000360  5f 53 70 72 69 74 65 4f  70 22 2c 32 39 30 2c 73  |_SpriteOp",290,s|
00000370  70 2c 22 73 68 69 70 22  2c 73 78 25 2c 73 79 25  |p,"ship",sx%,sy%|
00000380  3a e1 0d 01 22 05 3a 0d  01 2c 12 dd f2 61 6c 69  |:...".:..,...ali|
00000390  65 6e 73 28 65 6e 64 25  29 0d 01 36 3a 61 6c 6c  |ens(end%)..6:all|
000003a0  67 6f 6e 65 25 3d 30 3a  e3 54 25 3d 30 b8 61 6c  |gone%=0:.T%=0.al|
000003b0  69 65 6e 25 3a e7 20 64  65 61 64 25 28 54 25 29  |ien%:. dead%(T%)|
000003c0  3d 2d 32 20 61 6c 6c 67  6f 6e 65 25 2b 3d 31 3a  |=-2 allgone%+=1:|
000003d0  ed 3a e1 0d 01 40 1f e7  20 64 65 61 64 25 28 54  |.:...@.. dead%(T|
000003e0  25 29 3e 30 20 8c 20 f2  65 78 70 6c 6f 73 3a ed  |%)>0 . .explos:.|
000003f0  3a e1 0d 01 4a 2e 41 58  25 28 54 25 29 2d 3d 5a  |:...J.AX%(T%)-=Z|
00000400  58 25 28 54 25 29 3a e7  20 41 58 25 28 54 25 29  |X%(T%):. AX%(T%)|
00000410  3c 30 20 f2 6e 65 77 61  6c 69 65 6e 3a ed 3a e1  |<0 .newalien:.:.|
00000420  0d 01 54 35 43 25 3d 41  58 25 28 54 25 29 2d 28  |..T5C%=AX%(T%)-(|
00000430  3f 28 58 54 25 2b 28 41  58 25 28 54 25 29 2f 34  |?(XT%+(AX%(T%)/4|
00000440  29 2b 28 53 50 25 28 54  25 29 2a 33 35 30 29 29  |)+(SP%(T%)*350))|
00000450  2d 31 32 36 29 0d 01 5e  35 44 25 3d 41 59 25 28  |-126)..^5D%=AY%(|
00000460  54 25 29 2d 28 3f 28 59  54 25 2b 28 41 58 25 28  |T%)-(?(YT%+(AX%(|
00000470  54 25 29 2f 34 29 2b 28  53 50 25 28 54 25 29 2a  |T%)/4)+(SP%(T%)*|
00000480  33 35 30 29 29 2d 31 32  36 29 0d 01 68 3d e7 28  |350))-126)..h=.(|
00000490  43 25 3e 73 78 25 2d 39  32 20 80 20 43 25 3c 73  |C%>sx%-92 . C%<s|
000004a0  78 25 2b 31 32 30 29 80  28 44 25 3e 73 79 25 2d  |x%+120).(D%>sy%-|
000004b0  35 36 20 80 20 44 25 3c  73 79 25 2b 36 30 29 20  |56 . D%<sy%+60) |
000004c0  64 65 61 64 25 3d b9 0d  01 72 3b e7 28 43 25 3e  |dead%=...r;.(C%>|
000004d0  6c 78 25 2d 39 32 80 43  25 3c 6c 78 25 2b 33 34  |lx%-92.C%<lx%+34|
000004e0  38 29 80 28 44 25 3e 6c  79 25 2d 35 36 20 80 20  |8).(D%>ly%-56 . |
000004f0  44 25 3c 6c 79 25 29 80  20 66 69 72 65 25 3d b9  |D%<ly%). fire%=.|
00000500  20 8c 0d 01 7c 32 73 63  6f 72 65 25 2b 3d 31 30  | ...|2score%+=10|
00000510  2b 28 35 2a 53 50 25 28  54 25 29 29 3a d4 32 2c  |+(5*SP%(T%)):.2,|
00000520  2d 31 35 2c 31 2c 32 30  3a 64 65 61 64 25 28 54  |-15,1,20:dead%(T|
00000530  25 29 3d 31 0d 01 86 38  cd 3a c8 99 22 4f 53 5f  |%)=1...8.:.."OS_|
00000540  53 70 72 69 74 65 4f 70  22 2c 32 39 30 2c 73 70  |SpriteOp",290,sp|
00000550  2c 28 22 41 4c 22 2b c3  28 53 50 25 28 54 25 29  |,("AL"+.(SP%(T%)|
00000560  29 29 2c 43 25 2c 44 25  2c 38 3a ed 0d 01 90 05  |)),C%,D%,8:.....|
00000570  e1 0d 01 9a 05 3a 0d 01  a4 0e dd f2 6e 65 77 61  |.....:......newa|
00000580  6c 69 65 6e 0d 01 ae 2f  64 65 61 64 25 28 54 25  |lien.../dead%(T%|
00000590  29 3d 30 3a 41 58 25 28  54 25 29 3d 31 32 37 39  |)=0:AX%(T%)=1279|
000005a0  3a 41 59 25 28 54 25 29  3d b3 28 35 32 38 29 2b  |:AY%(T%)=.(528)+|
000005b0  32 35 34 0d 01 b8 42 5a  58 25 28 54 25 29 3d 31  |254...BZX%(T%)=1|
000005c0  32 2b 28 b3 28 77 61 76  65 25 29 29 3a 53 50 25  |2+(.(wave%)):SP%|
000005d0  28 54 25 29 3d a8 28 31  35 30 30 2a 77 61 76 65  |(T%)=.(1500*wave|
000005e0  25 2d 28 77 61 76 65 74  69 6d 65 25 2d 91 29 29  |%-(wavetime%-.))|
000005f0  2f 31 30 30 30 0d 01 c2  2a e7 77 61 76 65 25 3e  |/1000...*.wave%>|
00000600  34 20 80 20 b3 28 77 61  76 65 25 29 3e 34 20 53  |4 . .(wave%)>4 S|
00000610  50 25 28 54 25 29 3d b3  28 77 61 76 65 25 29 0d  |P%(T%)=.(wave%).|
00000620  01 cc 36 e7 63 68 61 6c  25 3d 31 20 53 50 25 28  |..6.chal%=1 SP%(|
00000630  54 25 29 3d 28 77 61 76  65 25 2d 31 29 3a 5a 58  |T%)=(wave%-1):ZX|
00000640  25 28 54 25 29 3d 31 32  2b 28 b3 28 77 61 76 65  |%(T%)=12+(.(wave|
00000650  25 29 2a 32 29 0d 01 d6  1f e7 53 50 25 28 54 25  |%)*2).....SP%(T%|
00000660  29 3e 6d 78 25 20 53 50  25 28 54 25 29 3d b3 28  |)>mx% SP%(T%)=.(|
00000670  6d 78 25 29 0d 01 e0 19  e7 20 65 6e 64 25 3d b9  |mx%)..... end%=.|
00000680  20 64 65 61 64 25 28 54  25 29 3d 2d 32 0d 01 ea  | dead%(T%)=-2...|
00000690  05 e1 0d 01 f4 05 3a 0d  01 fe 0c dd f2 65 78 70  |......:......exp|
000006a0  6c 6f 73 0d 02 08 1d e7  20 64 65 61 64 25 28 54  |los..... dead%(T|
000006b0  25 29 3d 34 20 f2 6e 65  77 61 6c 69 65 6e 3a e1  |%)=4 .newalien:.|
000006c0  0d 02 12 2b 53 50 24 3d  22 65 78 70 6f 22 2b c3  |...+SP$="expo"+.|
000006d0  28 64 65 61 64 25 28 54  25 29 29 3a e7 20 64 65  |(dead%(T%)):. de|
000006e0  61 64 25 28 54 25 29 3d  31 20 8c 0d 02 1c 39 45  |ad%(T%)=1 ....9E|
000006f0  25 28 54 25 29 3d 41 58  25 28 54 25 29 2d 28 3f  |%(T%)=AX%(T%)-(?|
00000700  28 58 54 25 2b 28 41 58  25 28 54 25 29 2f 34 29  |(XT%+(AX%(T%)/4)|
00000710  2b 28 53 50 25 28 54 25  29 2a 33 35 30 29 29 2d  |+(SP%(T%)*350))-|
00000720  31 32 36 29 0d 02 26 39  46 25 28 54 25 29 3d 41  |126)..&9F%(T%)=A|
00000730  59 25 28 54 25 29 2d 28  3f 28 59 54 25 2b 28 41  |Y%(T%)-(?(YT%+(A|
00000740  58 25 28 54 25 29 2f 34  29 2b 28 53 50 25 28 54  |X%(T%)/4)+(SP%(T|
00000750  25 29 2a 33 35 30 29 29  2d 31 32 36 29 0d 02 30  |%)*350))-126)..0|
00000760  05 cd 0d 02 3a 4c c8 99  22 4f 53 5f 53 70 72 69  |....:L.."OS_Spri|
00000770  74 65 4f 70 22 2c 32 39  30 2c 73 70 2c 53 50 24  |teOp",290,sp,SP$|
00000780  2c 45 25 28 54 25 29 2d  28 64 65 61 64 25 28 54  |,E%(T%)-(dead%(T|
00000790  25 29 2a 32 30 29 2c 46  25 28 54 25 29 2d 28 64  |%)*20),F%(T%)-(d|
000007a0  65 61 64 25 28 54 25 29  2a 32 30 29 2c 38 0d 02  |ead%(T%)*20),8..|
000007b0  44 12 64 65 61 64 25 28  54 25 29 2b 3d 31 3a e1  |D.dead%(T%)+=1:.|
000007c0  0d 02 4e 05 3a 0d 02 58  11 dd f2 77 61 76 65 28  |..N.:..X...wave(|
000007d0  77 61 76 65 25 29 0d 02  62 33 f2 74 65 78 74 28  |wave%)..b3.text(|
000007e0  22 50 52 45 50 41 52 45  20 46 4f 52 20 57 41 56  |"PREPARE FOR WAV|
000007f0  45 20 22 2b 77 61 76 65  24 2c 32 36 38 29 3a f2  |E "+wave$,268):.|
00000800  73 74 61 72 74 77 61 76  65 0d 02 6c 32 f5 3a f2  |startwave..l2.:.|
00000810  73 74 61 72 73 3a f2 73  68 69 70 3a f2 61 6c 69  |stars:.ship:.ali|
00000820  65 6e 73 28 77 61 76 65  64 6f 6e 65 25 29 3a f2  |ens(wavedone%):.|
00000830  73 77 61 70 73 63 72 65  65 6e 73 0d 02 76 1d e7  |swapscreens..v..|
00000840  20 91 3e 77 61 76 65 74  69 6d 65 25 20 77 61 76  | .>wavetime% wav|
00000850  65 64 6f 6e 65 25 3d b9  0d 02 80 31 fd 20 64 65  |edone%=....1. de|
00000860  61 64 25 3d b9 20 84 20  28 77 61 76 65 64 6f 6e  |ad%=. . (wavedon|
00000870  65 25 3d b9 20 80 20 61  6c 6c 67 6f 6e 65 25 3d  |e%=. . allgone%=|
00000880  61 6c 69 65 6e 25 2b 31  29 0d 02 8a 0d 66 69 72  |alien%+1)....fir|
00000890  65 25 3d a3 3a e1 0d 02  94 05 3a 0d 02 9e 0e dd  |e%=.:.....:.....|
000008a0  f2 63 6f 72 69 64 6f 6f  72 0d 02 a8 36 f2 74 65  |.coridoor...6.te|
000008b0  78 74 28 22 53 54 41 59  20 49 4e 20 43 4f 52 49  |xt("STAY IN CORI|
000008c0  44 4f 52 22 2c 32 36 38  29 3a f2 73 74 61 72 74  |DOR",268):.start|
000008d0  64 6f 6f 72 3a 63 6f 72  64 6f 6e 65 25 3d 31 0d  |door:cordone%=1.|
000008e0  02 b2 2f f5 3a f2 73 74  61 72 73 3a e3 4b 25 3d  |../.:.stars:.K%=|
000008f0  30 b8 31 39 3a 3f 28 59  44 25 2b 4b 25 29 3d 3f  |0.19:?(YD%+K%)=?|
00000900  28 59 44 25 2b 28 4b 25  2b 31 29 29 3a ed 0d 02  |(YD%+(K%+1)):...|
00000910  bc 42 43 25 3d 28 32 30  2b 28 77 61 76 65 25 2a  |.BC%=(20+(wave%*|
00000920  34 29 29 3a 41 25 3d 3f  28 59 44 25 2b 31 39 29  |4)):A%=?(YD%+19)|
00000930  3a e7 20 63 6f 72 64 6f  6e 65 25 3d 30 20 41 25  |:. cordone%=0 A%|
00000940  2b 3d 28 b3 28 43 25 29  29 2d 28 43 25 2f 32 29  |+=(.(C%))-(C%/2)|
00000950  0d 02 c6 27 f2 73 68 69  70 3a e7 20 41 25 3c 30  |...'.ship:. A%<0|
00000960  20 41 25 3d 30 20 8b 20  e7 20 41 25 3e 32 35 35  | A%=0 . . A%>255|
00000970  20 41 25 3d 32 35 35 0d  02 d0 3e 3f 28 59 44 25  | A%=255...>?(YD%|
00000980  2b 32 30 29 3d 41 25 3a  f2 64 6f 6f 72 6c 69 6e  |+20)=A%:.doorlin|
00000990  65 28 31 33 32 2c 34 38  29 3a f2 64 6f 6f 72 6c  |e(132,48):.doorl|
000009a0  69 6e 65 28 34 30 30 2c  35 31 29 3a 63 25 3d 73  |ine(400,51):c%=s|
000009b0  78 25 2f 36 34 0d 02 da  36 e7 28 73 79 25 3e 28  |x%/64...6.(sy%>(|
000009c0  3f 28 59 44 25 2b 63 25  29 2a 32 29 2b 33 34 30  |?(YD%+c%)*2)+340|
000009d0  20 84 20 73 79 25 3c 28  3f 28 59 44 25 2b 63 25  | . sy%<(?(YD%+c%|
000009e0  29 2a 32 29 2b 31 33 32  29 20 8c 0d 02 e4 24 e7  |)*2)+132) ....$.|
000009f0  20 73 78 25 3e 73 74 25  20 80 20 73 78 25 3c 73  | sx%>st% . sx%<s|
00000a00  74 25 2b 31 32 38 30 20  64 65 61 64 25 3d b9 0d  |t%+1280 dead%=..|
00000a10  02 ee 29 cd 3a f2 73 77  61 70 73 63 72 65 65 6e  |..).:.swapscreen|
00000a20  73 3a e7 20 63 6f 72 64  6f 6e 65 25 3c 3e 30 20  |s:. cordone%<>0 |
00000a30  73 74 25 2d 3d 31 32 38  0d 02 f8 3c e7 20 73 74  |st%-=128...<. st|
00000a40  25 3d 30 20 80 20 63 6f  72 64 6f 6e 65 25 3d 31  |%=0 . cordone%=1|
00000a50  20 8c 20 63 6f 72 64 6f  6e 65 25 3d a3 3a 63 6f  | . cordone%=.:co|
00000a60  72 74 69 6d 65 25 3d 91  2b 28 35 30 30 2a 77 61  |rtime%=.+(500*wa|
00000a70  76 65 25 29 0d 03 02 28  e7 20 91 3e 63 6f 72 74  |ve%)...(. .>cort|
00000a80  69 6d 65 25 20 80 20 63  6f 72 64 6f 6e 65 25 3d  |ime% . cordone%=|
00000a90  a3 20 63 6f 72 64 6f 6e  65 25 3d b9 0d 03 0c 23  |. cordone%=....#|
00000aa0  fd 20 64 65 61 64 25 3d  b9 20 84 20 73 74 25 3c  |. dead%=. . st%<|
00000ab0  2d 31 32 38 30 3a 66 69  72 65 25 3d a3 3a e1 0d  |-1280:fire%=.:..|
00000ac0  03 16 05 3a 0d 03 20 17  dd f2 64 6f 6f 72 6c 69  |...:.. ...doorli|
00000ad0  6e 65 28 59 25 2c 63 6f  6c 25 29 0d 03 2a 1e e6  |ne(Y%,col%)..*..|
00000ae0  30 2c 63 6f 6c 25 3a ec  73 74 25 2c 28 3f 28 59  |0,col%:.st%,(?(Y|
00000af0  44 25 29 2a 32 29 2b 59  25 0d 03 34 30 e3 54 25  |D%)*2)+Y%..40.T%|
00000b00  3d 31 b8 32 30 3a f0 35  2c 73 74 25 2b 28 54 25  |=1.20:.5,st%+(T%|
00000b10  2a 36 34 29 2c 28 3f 28  59 44 25 2b 54 25 29 2a  |*64),(?(YD%+T%)*|
00000b20  32 29 2b 59 25 3a ed 3a  e1 0d 03 3e 05 3a 0d 03  |2)+Y%:.:...>.:..|
00000b30  48 0f dd f2 63 68 61 6c  6c 65 6e 67 65 0d 03 52  |H...challenge..R|
00000b40  36 f2 74 65 78 74 28 22  42 4f 4e 55 53 20 43 48  |6.text("BONUS CH|
00000b50  41 4c 4c 45 4e 47 45 20  53 54 41 47 45 22 2c 32  |ALLENGE STAGE",2|
00000b60  36 38 29 3a f2 73 74 61  72 74 63 68 61 6c 6c 65  |68):.startchalle|
00000b70  6e 67 65 0d 03 5c 2e f5  3a f2 73 74 61 72 73 3a  |nge..\..:.stars:|
00000b80  f2 73 68 69 70 3a f2 61  6c 69 65 6e 73 28 63 68  |.ship:.aliens(ch|
00000b90  61 6c 25 29 3a f2 73 77  61 70 73 63 72 65 65 6e  |al%):.swapscreen|
00000ba0  73 0d 03 66 19 e7 20 91  3e 63 68 61 6c 74 69 6d  |s..f.. .>chaltim|
00000bb0  65 25 20 63 68 61 6c 25  3d b9 0d 03 70 26 fd 20  |e% chal%=...p&. |
00000bc0  64 65 61 64 25 3d b9 20  84 20 28 63 68 61 6c 25  |dead%=. . (chal%|
00000bd0  3d b9 20 80 20 61 6c 6c  67 6f 6e 65 25 3d 35 29  |=. . allgone%=5)|
00000be0  0d 03 7a 0d 66 69 72 65  25 3d a3 3a e1 0d 03 84  |..z.fire%=.:....|
00000bf0  05 3a 0d 03 8e 11 dd f2  73 77 61 70 73 63 72 65  |.:......swapscre|
00000c00  65 6e 73 0d 03 98 0e e7  67 61 6d 65 25 3d b9 20  |ens.....game%=. |
00000c10  8c 0d 03 a2 31 e7 20 a6  28 2d 31 29 80 66 69 72  |....1. .(-1).fir|
00000c20  65 6f 6b 25 3d b9 20 80  73 6d 61 72 74 6f 6b 25  |eok%=. .smartok%|
00000c30  3d b9 20 80 20 73 63 6f  72 65 25 3e 31 30 30 30  |=. . score%>1000|
00000c40  20 8c 0d 03 ac 3c 73 63  6f 72 65 25 2d 3d 31 30  | ....<score%-=10|
00000c50  30 30 3a e3 54 25 3d 30  b8 20 61 6c 69 65 6e 25  |00:.T%=0. alien%|
00000c60  3a 64 65 61 64 25 28 54  25 29 3d 31 3a ed 3a d4  |:dead%(T%)=1:.:.|
00000c70  31 2c 2d 31 35 2c 35 30  30 30 30 2c 33 30 0d 03  |1,-15,50000,30..|
00000c80  b6 28 e6 33 2c 36 33 3a  c8 93 20 c8 90 20 30 2c  |.(.3,63:.. .. 0,|
00000c90  30 2c 31 32 37 39 2c 31  30 32 34 3a 73 6d 61 72  |0,1279,1024:smar|
00000ca0  74 6f 6b 25 3d a3 0d 03  c0 33 cd 3a 73 63 6f 72  |tok%=....3.:scor|
00000cb0  65 24 3d c2 22 30 30 30  30 30 30 22 2b c3 28 73  |e$=."000000"+.(s|
00000cc0  63 6f 72 65 25 29 2c 36  29 3a ef 32 38 2c 31 33  |core%),6):.28,13|
00000cd0  2c 33 31 2c 32 36 2c 33  30 0d 03 ca 31 f1 77 61  |,31,26,30...1.wa|
00000ce0  76 65 24 3b 22 20 20 22  3b 73 63 6f 72 65 24 3b  |ve$;"  ";score$;|
00000cf0  22 20 20 22 3b 6c 69 76  65 73 24 3b 3a ef 32 38  |"  ";lives$;:.28|
00000d00  2c 30 2c 32 37 2c 33 39  2c 32 0d 03 d4 21 e7 20  |,0,27,39,2...!. |
00000d10  a6 28 2d 35 36 29 20 41  25 3d 91 3a f5 20 fd 20  |.(-56) A%=.:. . |
00000d20  a6 28 2d 35 35 29 3a d1  3d 41 25 0d 03 de 1f e7  |.(-55):.=A%.....|
00000d30  20 a6 28 2d 31 37 29 20  d4 20 87 20 8b 20 e7 20  | .(-17) . . . . |
00000d40  a6 28 2d 38 32 29 20 d4  20 ee 0d 03 e8 1e cd 3a  |.(-82) . ......:|
00000d50  e7 20 91 3c 74 69 6d 65  2b 33 20 f5 20 fd 20 91  |. .<time+3 . . .|
00000d60  3e 3d 74 69 6d 65 2b 33  0d 03 f2 35 c8 96 3a c8  |>=time+3...5..:.|
00000d70  99 20 36 2c 31 31 33 2c  42 25 3a 42 25 3d 42 25  |. 6,113,B%:B%=B%|
00000d80  20 82 20 32 2b 31 3a c8  99 20 36 2c 31 31 32 2c  | . 2+1:.. 6,112,|
00000d90  42 25 3a db 3a 74 69 6d  65 3d 91 3a e1 0d 03 fc  |B%:.:time=.:....|
00000da0  05 3a 0d 04 06 0a dd f2  64 65 61 64 0d 04 10 38  |.:......dead...8|
00000db0  73 74 25 3d 31 3a d4 32  2c 2d 31 35 2c 31 2c 38  |st%=1:.2,-15,1,8|
00000dc0  30 3a f5 3a f2 73 74 61  72 73 3a 53 50 52 24 3d  |0:.:.stars:SPR$=|
00000dd0  22 65 78 70 6f 22 2b c3  28 73 74 25 29 3a 73 74  |"expo"+.(st%):st|
00000de0  25 2b 3d 31 0d 04 1a 39  c8 99 22 4f 53 5f 53 70  |%+=1...9.."OS_Sp|
00000df0  72 69 74 65 4f 70 22 2c  32 39 30 2c 73 70 2c 53  |riteOp",290,sp,S|
00000e00  50 52 24 2c 73 78 25 2d  28 73 74 25 2a 32 30 29  |PR$,sx%-(st%*20)|
00000e10  2c 73 79 25 2d 28 73 74  25 2a 32 30 29 0d 04 24  |,sy%-(st%*20)..$|
00000e20  3c f2 73 77 61 70 73 63  72 65 65 6e 73 3a fd 20  |<.swapscreens:. |
00000e30  73 74 25 3d 37 3a 6c 69  76 65 73 25 2d 3d 31 3a  |st%=7:lives%-=1:|
00000e40  6c 69 76 65 73 24 3d c2  22 30 30 22 2b c3 28 6c  |lives$=."00"+.(l|
00000e50  69 76 65 73 25 29 2c 32  29 0d 04 2e 34 e7 6c 69  |ives%),2)...4.li|
00000e60  76 65 73 25 3e 30 20 f2  74 65 78 74 28 22 53 48  |ves%>0 .text("SH|
00000e70  49 50 20 44 45 53 54 52  4f 59 45 44 22 2c 37 36  |IP DESTROYED",76|
00000e80  30 29 3a f2 73 74 61 72  74 73 68 69 70 0d 04 38  |0):.startship..8|
00000e90  1a 65 6e 65 72 67 79 25  3d 31 32 36 30 3a 64 65  |.energy%=1260:de|
00000ea0  61 64 25 3d a3 3a e1 0d  04 42 05 3a 0d 04 4c 0d  |ad%=.:...B.:..L.|
00000eb0  dd f2 63 6f 6e 74 72 6f  6c 0d 04 56 27 f5 3a f2  |..control..V'.:.|
00000ec0  74 69 74 6c 65 70 61 67  65 3a f2 73 74 61 72 74  |titlepage:.start|
00000ed0  67 61 6d 65 3a f2 65 6e  64 67 61 6d 65 3a fd 30  |game:.endgame:.0|
00000ee0  0d 04 60 05 e1 0d 04 6a  05 3a 0d 04 74 0f dd f2  |..`....j.:..t...|
00000ef0  73 74 61 72 74 67 61 6d  65 0d 04 7e 18 ea 20 85  |startgame..~.. .|
00000f00  3a ee 20 85 20 ea 20 6c  69 76 65 73 25 3d 30 3a  |:. . . lives%=0:|
00000f10  e1 0d 04 88 1a f2 67 61  6d 65 76 61 72 73 3a f2  |......gamevars:.|
00000f20  73 74 61 72 74 73 68 69  70 3a f5 0d 04 92 1e e7  |startship:......|
00000f30  77 61 76 65 64 6f 6e 65  25 3c 3e b9 20 f2 77 61  |wavedone%<>. .wa|
00000f40  76 65 28 77 61 76 65 25  29 0d 04 9c 24 e7 63 6f  |ve(wave%)...$.co|
00000f50  72 64 6f 6e 65 25 3c 3e  b9 20 80 20 64 65 61 64  |rdone%<>. . dead|
00000f60  25 3d a3 20 f2 63 6f 72  69 64 6f 6f 72 0d 04 a6  |%=. .coridoor...|
00000f70  39 e7 28 77 61 76 65 25  2f 32 29 3d a8 28 77 61  |9.(wave%/2)=.(wa|
00000f80  76 65 25 2f 32 29 20 80  20 63 68 61 6c 25 3c 3e  |ve%/2) . chal%<>|
00000f90  b9 20 80 20 64 65 61 64  25 3d a3 20 f2 63 68 61  |. . dead%=. .cha|
00000fa0  6c 6c 65 6e 67 65 0d 04  b0 1b e7 64 65 61 64 25  |llenge.....dead%|
00000fb0  3d b9 20 f2 64 65 61 64  20 8b 20 f2 62 6f 6e 75  |=. .dead . .bonu|
00000fc0  73 0d 04 ba 10 fd 20 6c  69 76 65 73 25 3d 30 3a  |s..... lives%=0:|
00000fd0  e1 0d 04 c4 05 3a 0d 04  ce 0b dd f2 62 6f 6e 75  |.....:......bonu|
00000fe0  73 0d 04 d8 3a f2 74 65  78 74 28 22 57 41 56 45  |s...:.text("WAVE|
00000ff0  20 43 4f 4d 50 4c 45 54  45 44 20 20 42 4f 4e 55  | COMPLETED  BONU|
00001000  53 20 53 43 4f 52 45 20  22 2b c3 28 77 61 76 65  |S SCORE "+.(wave|
00001010  25 2a 32 35 30 29 2c 35  30 30 29 0d 04 e2 39 66  |%*250),500)...9f|
00001020  69 72 65 6f 6b 25 3d a3  3a e3 48 25 3d 31 30 b8  |ireok%=.:.H%=10.|
00001030  77 61 76 65 25 2a 32 35  30 88 31 30 3a f2 73 74  |wave%*250.10:.st|
00001040  61 72 73 3a f2 73 68 69  70 3a 73 63 6f 72 65 25  |ars:.ship:score%|
00001050  2b 3d 31 30 0d 04 ec 35  f2 73 77 61 70 73 63 72  |+=10...5.swapscr|
00001060  65 65 6e 73 3a d4 32 2c  2d 31 30 2c 31 2c 31 3a  |eens:.2,-10,1,1:|
00001070  ed 3a e7 28 77 61 76 65  25 2f 33 29 3d a8 28 77  |.:.(wave%/3)=.(w|
00001080  61 76 65 25 2f 33 29 20  8c 0d 04 f6 25 f2 74 65  |ave%/3) ....%.te|
00001090  78 74 28 22 42 4f 4e 55  53 20 53 48 49 50 22 2c  |xt("BONUS SHIP",|
000010a0  35 30 30 29 3a 6c 69 76  65 73 25 2b 3d 31 0d 05  |500):lives%+=1..|
000010b0  00 28 6c 69 76 65 73 24  3d c2 22 30 30 22 2b c3  |.(lives$=."00"+.|
000010c0  28 6c 69 76 65 73 25 29  2c 32 29 3a d4 32 2c 2d  |(lives%),2):.2,-|
000010d0  31 30 2c 31 2c 31 0d 05  0a 26 cd 3a 77 61 76 65  |10,1,1...&.:wave|
000010e0  25 2b 3d 31 3a 77 61 76  65 24 3d c2 22 30 30 22  |%+=1:wave$=."00"|
000010f0  2b c3 28 77 61 76 65 25  29 2c 32 29 0d 05 14 24  |+.(wave%),2)...$|
00001100  77 61 76 65 64 6f 6e 65  25 3d a3 3a 63 6f 72 64  |wavedone%=.:cord|
00001110  6f 6e 65 25 3d a3 3a 63  68 61 6c 25 3d a3 3a e1  |one%=.:chal%=.:.|
00001120  0d 05 1e 05 3a 0d 05 28  0d dd f2 65 6e 64 67 61  |....:..(...endga|
00001130  6d 65 0d 05 32 13 67 61  6d 65 25 3d a3 3a 64 65  |me..2.game%=.:de|
00001140  61 64 25 3d b9 0d 05 3c  44 f2 74 65 78 74 28 22  |ad%=...<D.text("|
00001150  47 41 4d 45 20 4f 56 45  52 20 4f 4e 20 57 41 56  |GAME OVER ON WAV|
00001160  45 20 22 2b 77 61 76 65  24 2c 35 30 30 29 3a e7  |E "+wave$,500):.|
00001170  73 63 6f 72 65 25 3e 68  69 73 63 6f 72 65 25 28  |score%>hiscore%(|
00001180  36 29 20 f2 74 61 62 6c  65 0d 05 46 05 e1 0d 05  |6) .table..F....|
00001190  50 05 3a 0d 05 5a 0f dd  f2 74 69 74 6c 65 70 61  |P.:..Z...titlepa|
000011a0  67 65 0d 05 64 34 fb 33  34 3a ef 32 36 3a ef 32  |ge..d4.34:.26:.2|
000011b0  38 2c 30 2c 32 37 2c 33  39 2c 32 3a f2 73 63 72  |8,0,27,39,2:.scr|
000011c0  65 65 6e 73 3a 7a 3d 30  3a 73 63 25 3d 31 3a 67  |eens:z=0:sc%=1:g|
000011d0  61 6d 65 25 3d a3 0d 05  6e 3b f5 3a f2 73 74 61  |ame%=...n;.:.sta|
000011e0  72 73 3a f2 73 63 72 6f  6c 6c 74 65 78 74 3a 7a  |rs:.scrolltext:z|
000011f0  2b 3d 31 3a e7 7a 3e 31  30 20 73 63 25 2b 3d 31  |+=1:.z>10 sc%+=1|
00001200  3a 7a 3d 30 3a e7 73 63  25 3d 36 20 73 63 25 3d  |:z=0:.sc%=6 sc%=|
00001210  31 0d 05 78 2a c8 99 22  4f 53 5f 53 70 72 69 74  |1..x*.."OS_Sprit|
00001220  65 4f 70 22 2c 32 39 30  2c 73 70 2c 22 54 49 54  |eOp",290,sp,"TIT|
00001230  4c 45 22 2c 31 30 30 2c  37 31 32 0d 05 82 2a c8  |LE",100,712...*.|
00001240  99 22 4f 53 5f 53 70 72  69 74 65 4f 70 22 2c 32  |."OS_SpriteOp",2|
00001250  39 30 2c 73 70 2c 22 41  41 52 4f 4e 22 2c 33 36  |90,sp,"AARON",36|
00001260  30 2c 34 31 38 0d 05 8c  3a e3 54 3d 73 63 25 b8  |0,418...:.T=sc%.|
00001270  73 63 25 2b 31 3a f1 8a  31 33 2c 38 2b 54 29 3b  |sc%+1:..13,8+T);|
00001280  68 69 73 63 6f 72 65 24  28 54 29 3b 8a 32 32 2c  |hiscore$(T);.22,|
00001290  38 2b 54 29 3b 6e 61 6d  65 24 28 54 29 3a ed 0d  |8+T);name$(T):..|
000012a0  05 96 24 f2 73 77 61 70  73 63 72 65 65 6e 73 3a  |..$.swapscreens:|
000012b0  fd 20 a6 28 2d 39 39 29  3a f2 65 6e 64 6c 6f 67  |. .(-99):.endlog|
000012c0  6f 3a e1 0d 05 a0 0e f2  65 6e 64 6c 6f 67 6f 3a  |o:......endlogo:|
000012d0  e1 0d 05 aa 05 3a 0d 05  b4 0d dd f2 73 63 72 65  |.....:......scre|
000012e0  65 6e 73 0d 05 be 13 44  25 3d 30 3a 45 25 3d 34  |ens....D%=0:E%=4|
000012f0  30 3a 50 25 3d 31 0d 05  c8 1e f2 73 74 61 72 74  |0:P%=1.....start|
00001300  73 63 72 65 65 6e 73 3a  f2 73 74 61 72 74 6c 6f  |screens:.startlo|
00001310  67 6f 3a e1 0d 05 d2 05  3a 0d 05 dc 12 dd f2 73  |go:.....:......s|
00001320  74 61 72 74 73 63 72 65  65 6e 73 0d 05 e6 1a e3  |tartscreens.....|
00001330  20 54 3d 32 30 30 20 b8  20 30 20 88 2d 38 3a f2  | T=200 . 0 .-8:.|
00001340  73 74 61 72 73 0d 05 f0  2a c8 99 22 4f 53 5f 53  |stars...*.."OS_S|
00001350  70 72 69 74 65 4f 70 22  2c 32 39 30 2c 73 70 2c  |priteOp",290,sp,|
00001360  22 44 49 53 50 32 22 2c  30 2c 39 36 30 2b 54 0d  |"DISP2",0,960+T.|
00001370  05 fa 28 c8 99 22 4f 53  5f 53 70 72 69 74 65 4f  |..(.."OS_SpriteO|
00001380  70 22 2c 32 39 30 2c 73  70 2c 22 44 49 53 50 31  |p",290,sp,"DISP1|
00001390  22 2c 30 2c 30 2d 54 0d  06 04 12 f2 73 77 61 70  |",0,0-T.....swap|
000013a0  73 63 72 65 65 6e 73 3a  ed 0d 06 0e 2f e3 54 3d  |screens:..../.T=|
000013b0  31 b8 32 3a c8 99 22 4f  53 5f 53 70 72 69 74 65  |1.2:.."OS_Sprite|
000013c0  4f 70 22 2c 32 39 30 2c  73 70 2c 22 44 49 53 50  |Op",290,sp,"DISP|
000013d0  32 22 2c 30 2c 39 36 30  0d 06 18 26 c8 99 22 4f  |2",0,960...&.."O|
000013e0  53 5f 53 70 72 69 74 65  4f 70 22 2c 32 39 30 2c  |S_SpriteOp",290,|
000013f0  73 70 2c 22 44 49 53 50  31 22 2c 30 2c 30 0d 06  |sp,"DISP1",0,0..|
00001400  22 2c c8 96 3a c8 99 20  36 2c 31 31 33 2c 42 25  |",..:.. 6,113,B%|
00001410  3a 42 25 3d 42 25 20 82  20 32 2b 31 3a c8 99 20  |:B%=B% . 2+1:.. |
00001420  36 2c 31 31 32 2c 42 25  3a ed 0d 06 2c 13 ef 32  |6,112,B%:...,..2|
00001430  38 2c 30 2c 32 37 2c 33  39 2c 32 3a e1 0d 06 36  |8,0,27,39,2:...6|
00001440  05 3a 0d 06 40 0e dd f2  7a 69 70 73 74 61 72 73  |.:..@...zipstars|
00001450  0d 06 4a 3c e6 32 31 3a  54 3d 32 35 36 3a f5 3a  |..J<.21:T=256:.:|
00001460  e3 54 25 3d 31 b8 6e 73  25 3a f0 36 39 2c 58 25  |.T%=1.ns%:.69,X%|
00001470  28 54 25 29 2c 59 25 28  54 25 29 2b 28 28 54 2d  |(T%),Y%(T%)+((T-|
00001480  31 29 2a 5a 25 28 54 25  29 29 3a ed 0d 06 54 33  |1)*Z%(T%)):...T3|
00001490  ef 31 39 2c 30 2c 32 34  2c 31 38 30 2d 28 54 2f  |.19,0,24,180-(T/|
000014a0  31 2e 34 33 29 2c 31 38  30 2d 28 54 2f 31 2e 34  |1.43),180-(T/1.4|
000014b0  33 29 2c 31 38 30 2d 28  54 2f 31 2e 34 33 29 0d  |3),180-(T/1.43).|
000014c0  06 5e 29 c8 99 22 4f 53  5f 53 70 72 69 74 65 4f  |.^).."OS_SpriteO|
000014d0  70 22 2c 32 39 30 2c 73  70 2c 22 4c 4f 47 4f 22  |p",290,sp,"LOGO"|
000014e0  2c 34 35 30 2c 35 30 30  0d 06 68 21 f2 73 77 61  |,450,500..h!.swa|
000014f0  70 73 63 72 65 65 6e 73  3a 54 2d 3d 28 54 2f 31  |pscreens:T-=(T/1|
00001500  30 29 3a fd 20 54 3c 3d  31 0d 06 72 43 e3 54 3d  |0):. T<=1..rC.T=|
00001510  30 b8 31 88 30 2e 30 35  3a e3 54 25 3d 31 b8 6e  |0.1.0.05:.T%=1.n|
00001520  73 25 3a 58 25 28 54 25  29 2d 3d 28 54 2a 5a 25  |s%:X%(T%)-=(T*Z%|
00001530  28 54 25 29 29 3a e7 20  58 25 28 54 25 29 3c 30  |(T%)):. X%(T%)<0|
00001540  20 58 25 28 54 25 29 3d  31 32 37 39 0d 06 7c 28  | X%(T%)=1279..|(|
00001550  f0 36 39 2c 58 25 28 54  25 29 2c 59 25 28 54 25  |.69,X%(T%),Y%(T%|
00001560  29 3a ed 3a f2 73 77 61  70 73 63 72 65 65 6e 73  |):.:.swapscreens|
00001570  3a ed 3a e1 0d 06 86 05  3a 0d 06 90 0f dd f2 73  |:.:.....:......s|
00001580  74 61 72 74 6c 6f 67 6f  0d 06 9a 43 e3 54 3d 31  |tartlogo...C.T=1|
00001590  30 30 38 20 b8 30 20 88  2d 31 36 3a f2 73 74 61  |008 .0 .-16:.sta|
000015a0  72 73 3a c8 99 22 4f 53  5f 53 70 72 69 74 65 4f  |rs:.."OS_SpriteO|
000015b0  70 22 2c 32 39 30 2c 73  70 2c 22 54 49 54 4c 45  |p",290,sp,"TITLE|
000015c0  22 2c 31 30 30 2d 54 2c  37 31 32 0d 06 a4 41 c8  |",100-T,712...A.|
000015d0  99 22 4f 53 5f 53 70 72  69 74 65 4f 70 22 2c 32  |."OS_SpriteOp",2|
000015e0  39 30 2c 73 70 2c 22 41  41 52 4f 4e 22 2c 33 36  |90,sp,"AARON",36|
000015f0  30 2b 28 54 2a 32 29 2c  34 31 38 3a f2 73 77 61  |0+(T*2),418:.swa|
00001600  70 73 63 72 65 65 6e 73  3a ed 3a e1 0d 06 ae 05  |pscreens:.:.....|
00001610  3a 0d 06 b8 0d dd f2 65  6e 64 6c 6f 67 6f 0d 06  |:......endlogo..|
00001620  c2 41 e3 54 3d 30 b8 31  32 38 30 20 88 31 36 3a  |.A.T=0.1280 .16:|
00001630  f2 73 74 61 72 73 3a c8  99 22 4f 53 5f 53 70 72  |.stars:.."OS_Spr|
00001640  69 74 65 4f 70 22 2c 32  39 30 2c 73 70 2c 22 54  |iteOp",290,sp,"T|
00001650  49 54 4c 45 22 2c 31 30  30 2b 54 2c 37 31 32 0d  |ITLE",100+T,712.|
00001660  06 cc 41 c8 99 22 4f 53  5f 53 70 72 69 74 65 4f  |..A.."OS_SpriteO|
00001670  70 22 2c 32 39 30 2c 73  70 2c 22 41 41 52 4f 4e  |p",290,sp,"AARON|
00001680  22 2c 33 36 30 2d 28 54  2a 32 29 2c 34 31 38 3a  |",360-(T*2),418:|
00001690  f2 73 77 61 70 73 63 72  65 65 6e 73 3a ed 3a e1  |.swapscreens:.:.|
000016a0  0d 06 d6 05 3a 0d 06 e0  0f dd f2 73 74 61 72 74  |....:......start|
000016b0  73 68 69 70 0d 06 ea 19  54 3d 31 32 38 30 3a 73  |ship....T=1280:s|
000016c0  78 25 3d 31 36 3a 73 79  25 3d 35 30 30 0d 06 f4  |x%=16:sy%=500...|
000016d0  34 f5 3a f2 73 74 61 72  73 3a c8 99 22 4f 53 5f  |4.:.stars:.."OS_|
000016e0  53 70 72 69 74 65 4f 70  22 2c 32 39 30 2c 73 70  |SpriteOp",290,sp|
000016f0  2c 22 53 48 49 50 22 2c  73 78 25 2b 54 2c 73 79  |,"SHIP",sx%+T,sy|
00001700  25 0d 06 fe 29 54 2d 3d  28 54 2f 31 30 29 3a e7  |%...)T-=(T/10):.|
00001710  20 54 3e 31 30 20 d4 31  2c 2d 31 30 2c 32 35 36  | T>10 .1,-10,256|
00001720  2b 28 54 2a 31 30 29 2c  31 30 0d 07 08 19 f2 73  |+(T*10),10.....s|
00001730  77 61 70 73 63 72 65 65  6e 73 3a fd 20 54 3c 3d  |wapscreens:. T<=|
00001740  31 3a e1 0d 07 12 05 3a  0d 07 1c 10 dd f2 73 63  |1:.....:......sc|
00001750  72 6f 6c 6c 74 65 78 74  0d 07 26 3d 44 25 2d 3d  |rolltext..&=D%-=|
00001760  45 25 3a 43 25 3d 28 4a  25 2b 50 25 29 3a 46 25  |E%:C%=(J%+P%):F%|
00001770  3d 44 25 3a e7 20 44 25  3d 2d 32 34 30 20 50 25  |=D%:. D%=-240 P%|
00001780  2b 3d 31 3a 44 25 3d 30  3a e7 20 50 25 3d 4c 25  |+=1:D%=0:. P%=L%|
00001790  20 50 25 3d 31 0d 07 30  40 e3 54 25 3d 43 25 b8  | P%=1..0@.T%=C%.|
000017a0  43 25 2b 36 3a c8 99 22  4f 53 5f 53 70 72 69 74  |C%+6:.."OS_Sprit|
000017b0  65 4f 70 22 2c 32 39 30  2c 73 70 2c bd 28 3f 28  |eOp",290,sp,.(?(|
000017c0  54 25 29 29 2c 46 25 2c  32 36 38 3a 46 25 2b 3d  |T%)),F%,268:F%+=|
000017d0  32 34 30 3a ed 0d 07 3a  05 e1 0d 07 44 05 3a 0d  |240:...:....D.:.|
000017e0  07 4e 12 dd f2 74 65 78  74 28 74 78 24 2c 59 25  |.N...text(tx$,Y%|
000017f0  29 0d 07 58 3f 74 78 24  3d 74 24 2b 74 78 24 2b  |)..X?tx$=t$+tx$+|
00001800  74 24 3a e3 63 6e 74 25  3d 31 b8 a9 28 74 78 24  |t$:.cnt%=1..(tx$|
00001810  29 3a 41 3d 97 28 c1 74  78 24 2c 63 6e 74 25 2c  |):A=.(.tx$,cnt%,|
00001820  31 29 29 3a e7 20 41 3d  33 32 20 41 3d 32 35 35  |1)):. A=32 A=255|
00001830  0d 07 62 25 54 58 54 25  21 63 6e 74 25 3d 41 3a  |..b%TXT%!cnt%=A:|
00001840  ed 3a 50 25 3d 31 3a 44  25 3d 30 3a 66 69 72 65  |.:P%=1:D%=0:fire|
00001850  6f 6b 25 3d a3 0d 07 6c  41 f5 3a f2 73 74 61 72  |ok%=...lA.:.star|
00001860  73 3a f2 73 68 69 70 3a  44 25 2d 3d 34 30 3a 43  |s:.ship:D%-=40:C|
00001870  25 3d 28 54 58 54 25 2b  50 25 29 3a 46 25 3d 44  |%=(TXT%+P%):F%=D|
00001880  25 3a e7 20 44 25 3d 2d  32 34 30 20 50 25 2b 3d  |%:. D%=-240 P%+=|
00001890  31 3a 44 25 3d 30 0d 07  76 3f e3 54 25 3d 43 25  |1:D%=0..v?.T%=C%|
000018a0  b8 43 25 2b 36 3a c8 99  22 4f 53 5f 53 70 72 69  |.C%+6:.."OS_Spri|
000018b0  74 65 4f 70 22 2c 32 39  30 2c 73 70 2c bd 28 3f  |teOp",290,sp,.(?|
000018c0  28 54 25 29 29 2c 46 25  2c 59 25 3a 46 25 2b 3d  |(T%)),F%,Y%:F%+=|
000018d0  32 34 30 3a ed 0d 07 80  28 f2 73 77 61 70 73 63  |240:....(.swapsc|
000018e0  72 65 65 6e 73 3a fd 20  50 25 3d 63 6e 74 25 2d  |reens:. P%=cnt%-|
000018f0  36 3a 66 69 72 65 6f 6b  25 3d b9 3a e1 0d 07 8a  |6:fireok%=.:....|
00001900  05 3a 0d 07 94 0a dd f2  69 6e 69 74 0d 07 9e 23  |.:......init...#|
00001910  f2 76 61 72 73 3a d4 20  ee 3a c8 a0 32 3a 2a 43  |.vars:. .:..2:*C|
00001920  48 41 4e 4e 45 4c 56 4f  49 43 45 20 31 20 35 0d  |HANNELVOICE 1 5.|
00001930  07 a8 15 2a 43 48 41 4e  4e 45 4c 56 4f 49 43 45  |...*CHANNELVOICE|
00001940  20 32 20 39 0d 07 b2 33  c8 99 22 4f 53 5f 55 70  | 2 9...3.."OS_Up|
00001950  64 61 74 65 4d 45 4d 43  22 2c 36 34 2c 36 34 3a  |dateMEMC",64,64:|
00001960  87 3a ff 28 22 2a 46 58  31 32 2c 32 22 29 3a 2a  |.:.("*FX12,2"):*|
00001970  46 58 31 31 34 2c 30 0d  07 bc 28 f2 73 74 61 72  |FX114,0...(.star|
00001980  74 73 74 61 72 73 3a f2  73 74 61 72 74 74 65 78  |tstars:.starttex|
00001990  74 3a f2 73 74 61 72 74  73 70 72 69 74 65 73 0d  |t:.startsprites.|
000019a0  07 c6 29 c8 99 22 4f 53  5f 53 70 72 69 74 65 4f  |..).."OS_SpriteO|
000019b0  70 22 2c 32 39 30 2c 73  70 2c 22 6c 6f 67 6f 22  |p",290,sp,"logo"|
000019c0  2c 34 35 30 2c 35 30 30  0d 07 d0 23 fb 35 31 3a  |,450,500...#.51:|
000019d0  f1 8a 31 32 2c 38 29 22  53 69 64 65 77 69 6e 64  |..12,8)"Sidewind|
000019e0  65 72 20 56 20 22 3b 76  65 72 24 0d 07 da 0d e7  |er V ";ver$.....|
000019f0  61 72 6d 25 3d b9 20 8c  0d 07 e4 22 f1 8a 31 30  |arm%=. ...."..10|
00001a00  2c 31 30 29 22 50 6c 61  79 69 6e 67 20 69 6e 20  |,10)"Playing in |
00001a10  41 52 4d 33 20 6d 6f 64  65 22 0d 07 ee 05 cc 0d  |ARM3 mode"......|
00001a20  07 f8 22 f1 8a 31 30 2c  31 30 29 22 50 6c 61 79  |.."..10,10)"Play|
00001a30  69 6e 67 20 69 6e 20 41  52 4d 32 20 6d 6f 64 65  |ing in ARM2 mode|
00001a40  22 0d 08 02 24 cd 3a f1  8a 31 30 2c 31 39 29 22  |"...$.:..10,19)"|
00001a50  50 6c 65 61 73 65 20 77  61 69 74 20 61 20 6d 6f  |Please wait a mo|
00001a60  6d 65 6e 74 22 0d 08 0c  1d f2 64 61 74 74 61 62  |ment".....dattab|
00001a70  6c 65 3a ef 32 36 3a f2  7a 69 70 73 74 61 72 73  |le:.26:.zipstars|
00001a80  3a e1 0d 08 16 05 3a 0d  08 20 0a dd f2 76 61 72  |:.....:.. ...var|
00001a90  73 0d 08 2a 31 44 25 3d  30 3a 45 25 3d 34 30 3a  |s..*1D%=0:E%=40:|
00001aa0  50 25 3d 31 3a 6e 73 25  3d 31 30 3a de 20 58 25  |P%=1:ns%=10:. X%|
00001ab0  28 35 30 29 2c 59 25 28  35 30 29 2c 5a 25 28 35  |(50),Y%(50),Z%(5|
00001ac0  30 29 0d 08 34 2e de 68  69 73 63 6f 72 65 25 28  |0)..4..hiscore%(|
00001ad0  36 29 2c 6e 61 6d 65 24  28 36 29 2c 68 69 73 63  |6),name$(6),hisc|
00001ae0  6f 72 65 24 28 36 29 3a  61 6c 69 65 6e 25 3d 34  |ore$(6):alien%=4|
00001af0  0d 08 3e 3c 42 25 3d 31  3a 67 61 6d 65 25 3d a3  |..><B%=1:game%=.|
00001b00  3a de 20 58 54 25 20 34  30 30 30 2c 20 59 54 25  |:. XT% 4000, YT%|
00001b10  20 34 30 30 30 2c 20 54  58 54 25 20 32 35 35 3a  | 4000, TXT% 255:|
00001b20  74 24 3d 22 20 20 20 20  20 20 20 22 0d 08 48 26  |t$="       "..H&|
00001b30  f7 8d 64 70 4a 3a e3 54  3d 31 b8 36 3a f3 6e 61  |..dpJ:.T=1.6:.na|
00001b40  6d 65 24 28 54 29 2c 68  69 73 63 6f 72 65 25 28  |me$(T),hiscore%(|
00001b50  54 29 0d 08 52 36 68 69  73 63 6f 72 65 24 28 54  |T)..R6hiscore$(T|
00001b60  29 3d c2 22 30 30 30 30  30 30 22 2b c3 28 68 69  |)=."000000"+.(hi|
00001b70  73 63 6f 72 65 25 28 54  29 29 2c 36 29 3a ed 3a  |score%(T)),6):.:|
00001b80  74 69 6d 65 3d 91 2b 35  0d 08 5c 4c de 20 41 58  |time=.+5..\L. AX|
00001b90  25 28 32 30 29 2c 41 59  25 28 32 30 29 2c 5a 58  |%(20),AY%(20),ZX|
00001ba0  25 28 32 30 29 2c 5a 59  25 28 32 30 29 2c 53 50  |%(20),ZY%(20),SP|
00001bb0  25 28 32 30 29 2c 64 65  61 64 25 28 32 30 29 2c  |%(20),dead%(20),|
00001bc0  59 44 25 20 32 31 2c 45  25 28 32 30 29 2c 46 25  |YD% 21,E%(20),F%|
00001bd0  28 32 30 29 0d 08 66 10  f2 61 72 6d 33 71 75 65  |(20)..f..arm3que|
00001be0  72 79 3a e1 0d 08 70 05  3a 0d 08 7a 0f dd f2 61  |ry:...p.:..z...a|
00001bf0  72 6d 33 71 75 65 72 79  0d 08 84 16 ea 20 85 3a  |rm3query..... .:|
00001c00  ee 20 85 20 ea 20 61 72  6d 25 3d a3 3a e1 0d 08  |. . . arm%=.:...|
00001c10  8e 15 ff 28 22 53 54 41  54 55 53 20 43 41 43 48  |...("STATUS CACH|
00001c20  45 22 29 0d 08 98 1c 6e  73 25 3d 34 30 3a 61 6c  |E")....ns%=40:al|
00001c30  69 65 6e 25 3d 38 3a 61  72 6d 25 3d b9 3a e1 0d  |ien%=8:arm%=.:..|
00001c40  08 a2 05 3a 0d 08 ac 0e  dd f2 67 61 6d 65 76 61  |...:......gameva|
00001c50  72 73 0d 08 b6 3c 67 61  6d 65 25 3d b9 3a 6c 69  |rs...<game%=.:li|
00001c60  76 65 73 25 3d 33 3a 73  63 6f 72 65 25 3d 30 3a  |ves%=3:score%=0:|
00001c70  77 61 76 65 25 3d 31 3a  73 78 25 3d 31 36 3a 73  |wave%=1:sx%=16:s|
00001c80  79 25 3d 35 30 30 3a 64  65 61 64 25 3d a3 0d 08  |y%=500:dead%=...|
00001c90  c0 41 73 63 6f 72 65 24  3d 22 30 30 30 30 30 30  |.Ascore$="000000|
00001ca0  22 3a 6c 69 76 65 73 24  3d 22 30 33 22 3a 77 61  |":lives$="03":wa|
00001cb0  76 65 24 3d 22 30 31 22  3a 65 6e 65 72 67 79 25  |ve$="01":energy%|
00001cc0  3d 31 32 36 30 3a 66 69  72 65 6f 6b 25 3d b9 0d  |=1260:fireok%=..|
00001cd0  08 ca 42 ef 32 34 2c 30  3b 31 33 32 3b 31 32 37  |..B.24,0;132;127|
00001ce0  39 3b 39 35 36 3b 3a 77  61 76 65 64 6f 6e 65 25  |9;956;:wavedone%|
00001cf0  3d 30 3a 63 6f 72 64 6f  6e 65 25 3d 30 3a 6c 78  |=0:cordone%=0:lx|
00001d00  25 3d 30 3a 6c 79 25 3d  30 3a 63 68 61 6c 25 3d  |%=0:ly%=0:chal%=|
00001d10  a3 0d 08 d4 18 66 69 72  65 25 3d a3 3a 73 6d 61  |.....fire%=.:sma|
00001d20  72 74 6f 6b 25 3d b9 3a  e1 0d 08 de 05 3a 0d 08  |rtok%=.:.....:..|
00001d30  e8 0f dd f2 73 74 61 72  74 77 61 76 65 0d 08 f2  |....startwave...|
00001d40  31 64 6f 6e 65 25 3d a3  3a f2 73 74 61 72 74 61  |1done%=.:.starta|
00001d50  6c 69 65 6e 73 3a 77 61  76 65 74 69 6d 65 25 3d  |liens:wavetime%=|
00001d60  91 2b 28 77 61 76 65 25  2a 31 35 30 30 29 0d 08  |.+(wave%*1500)..|
00001d70  fc 1a 66 69 72 65 6f 6b  25 3d b9 3a 73 6d 61 72  |..fireok%=.:smar|
00001d80  74 6f 6b 25 3d b9 3a e1  0d 09 06 05 3a 0d 09 10  |tok%=.:.....:...|
00001d90  11 dd f2 73 74 61 72 74  61 6c 69 65 6e 73 0d 09  |...startaliens..|
00001da0  1a 31 e3 54 25 3d 30 b8  20 61 6c 69 65 6e 25 3a  |.1.T%=0. alien%:|
00001db0  41 58 25 28 54 25 29 3d  31 32 30 30 3a 41 59 25  |AX%(T%)=1200:AY%|
00001dc0  28 54 25 29 3d b3 28 35  32 38 29 2b 32 35 34 0d  |(T%)=.(528)+254.|
00001dd0  09 24 33 5a 58 25 28 54  25 29 3d 31 32 2b 28 b3  |.$3ZX%(T%)=12+(.|
00001de0  28 77 61 76 65 25 29 29  3a 53 50 25 28 54 25 29  |(wave%)):SP%(T%)|
00001df0  3d 30 3a 64 65 61 64 25  28 54 25 29 3d a3 3a ed  |=0:dead%(T%)=.:.|
00001e00  3a e1 0d 09 2e 05 3a 0d  09 38 14 dd f2 73 74 61  |:.....:..8...sta|
00001e10  72 74 63 68 61 6c 6c 65  6e 67 65 0d 09 42 38 63  |rtchallenge..B8c|
00001e20  68 61 6c 74 69 6d 65 25  3d 91 2b 28 77 61 76 65  |haltime%=.+(wave|
00001e30  25 2a 33 30 30 29 3a 63  68 61 6c 25 3d 31 3a 66  |%*300):chal%=1:f|
00001e40  69 72 65 6f 6b 25 3d b9  3a 73 6d 61 72 74 6f 6b  |ireok%=.:smartok|
00001e50  25 3d b9 0d 09 4c 31 e3  54 25 3d 30 b8 20 61 6c  |%=...L1.T%=0. al|
00001e60  69 65 6e 25 3a 41 58 25  28 54 25 29 3d 31 32 30  |ien%:AX%(T%)=120|
00001e70  30 3a 41 59 25 28 54 25  29 3d b3 28 35 32 38 29  |0:AY%(T%)=.(528)|
00001e80  2b 32 35 34 0d 09 56 3d  5a 58 25 28 54 25 29 3d  |+254..V=ZX%(T%)=|
00001e90  31 32 2b 28 b3 28 77 61  76 65 25 29 2a 32 29 3a  |12+(.(wave%)*2):|
00001ea0  53 50 25 28 54 25 29 3d  28 77 61 76 65 25 2d 31  |SP%(T%)=(wave%-1|
00001eb0  29 3a 64 65 61 64 25 28  54 25 29 3d a3 3a ed 3a  |):dead%(T%)=.:.:|
00001ec0  e1 0d 09 60 05 3a 0d 09  6a 10 dd f2 73 74 61 72  |...`.:..j...star|
00001ed0  74 73 74 61 72 73 0d 09  74 2b e3 54 3d 30 b8 6e  |tstars..t+.T=0.n|
00001ee0  73 25 3a 58 25 28 54 29  3d b3 28 31 32 37 39 29  |s%:X%(T)=.(1279)|
00001ef0  3a 59 25 28 54 29 3d b3  28 38 33 31 29 2b 31 32  |:Y%(T)=.(831)+12|
00001f00  38 0d 09 7e 20 5a 25 28  54 29 3d 34 2b 28 a8 28  |8..~ Z%(T)=4+(.(|
00001f10  54 2f 28 6e 73 25 2f 33  29 29 2a 34 29 3a ed 3a  |T/(ns%/3))*4):.:|
00001f20  e1 0d 09 88 05 3a 0d 09  92 0f dd f2 73 74 61 72  |.....:......star|
00001f30  74 64 6f 6f 72 0d 09 9c  26 e3 54 25 3d 30 b8 32  |tdoor...&.T%=0.2|
00001f40  31 3a 3f 28 59 44 25 2b  54 25 29 3d 31 32 38 3a  |1:?(YD%+T%)=128:|
00001f50  ed 3a 66 69 72 65 6f 6b  25 3d a3 0d 09 a6 21 73  |.:fireok%=....!s|
00001f60  74 25 3d 31 32 38 30 3a  64 6f 6e 65 25 3d 31 3a  |t%=1280:done%=1:|
00001f70  63 6f 72 74 69 6d 65 25  3d 30 3a e1 0d 09 b0 05  |cortime%=0:.....|
00001f80  3a 0d 09 ba 12 dd f2 73  74 61 72 74 73 70 72 69  |:......startspri|
00001f90  74 65 73 0d 09 c4 3a de  20 73 70 20 26 31 36 30  |tes...:. sp &160|
00001fa0  30 30 3a 21 73 70 3d 26  31 36 30 30 30 3a 73 70  |00:!sp=&16000:sp|
00001fb0  21 34 3d 30 3a 73 70 21  38 3d 31 36 3a 73 70 21  |!4=0:sp!8=16:sp!|
00001fc0  38 3d 31 36 3a 73 70 21  31 32 3d 31 36 0d 09 ce  |8=16:sp!12=16...|
00001fd0  1c ff 28 22 4c 4f 41 44  20 53 50 52 44 41 54 20  |..("LOAD SPRDAT |
00001fe0  22 2b c3 7e 73 70 29 3a  e1 0d 09 d8 05 3a 0d 09  |"+.~sp):.....:..|
00001ff0  e2 0f dd f2 73 74 61 72  74 74 65 78 74 0d 09 ec  |....starttext...|
00002000  2e 66 69 6c 65 25 3d 8e  28 22 53 63 72 6f 6c 6c  |.file%=.("Scroll|
00002010  54 65 78 74 22 29 3a de  20 4a 25 20 a2 23 66 69  |Text"):. J% .#fi|
00002020  6c 65 25 3a 70 74 25 3d  31 3a f5 0d 09 f6 1d 41  |le%:pt%=1:.....A|
00002030  25 3d 9a 23 66 69 6c 65  25 3a e7 20 41 25 3d 33  |%=.#file%:. A%=3|
00002040  32 20 41 25 3d 32 35 35  0d 0a 00 2d 4a 25 21 70  |2 A%=255...-J%!p|
00002050  74 25 3d 41 25 3a 70 74  25 2b 3d 31 3a fd 20 c5  |t%=A%:pt%+=1:. .|
00002060  23 66 69 6c 65 25 3a d9  23 30 3a 4c 25 3d 70 74  |#file%:.#0:L%=pt|
00002070  25 2d 38 3a e1 0d 0a 0a  05 3a 0d 0a 14 11 dd f2  |%-8:.....:......|
00002080  73 63 6f 72 65 73 28 58  2c 59 29 0d 0a 1e 2f e3  |scores(X,Y).../.|
00002090  54 3d 31 b8 36 3a f1 8a  58 2c 59 2b 54 29 3b c2  |T=1.6:..X,Y+T);.|
000020a0  22 30 30 30 30 30 30 22  2b c3 28 68 69 73 63 6f  |"000000"+.(hisco|
000020b0  72 65 25 28 54 29 29 2c  36 29 0d 0a 28 1b f1 8a  |re%(T)),6)..(...|
000020c0  58 2b 39 2c 59 2b 54 29  3b 6e 61 6d 65 24 28 54  |X+9,Y+T);name$(T|
000020d0  29 3a ed 3a e1 0d 0a 32  05 3a 0d 0a 3c 0b dd f2  |):.:...2.:..<...|
000020e0  74 61 62 6c 65 0d 0a 46  25 f2 74 65 78 74 28 22  |table..F%.text("|
000020f0  48 49 47 48 20 53 43 4f  52 45 22 2c 35 30 30 29  |HIGH SCORE",500)|
00002100  3a 74 61 62 6c 65 31 25  3d 36 0d 0a 50 37 f5 3a  |:table1%=6..P7.:|
00002110  74 61 62 6c 65 31 25 2d  3d 31 3a fd 20 68 69 73  |table1%-=1:. his|
00002120  63 6f 72 65 25 28 74 61  62 6c 65 31 25 29 3e 73  |core%(table1%)>s|
00002130  63 6f 72 65 25 20 84 20  74 61 62 6c 65 31 25 3d  |core% . table1%=|
00002140  30 0d 0a 5a 44 e3 54 3d  35 b8 74 61 62 6c 65 31  |0..ZD.T=5.table1|
00002150  25 2b 31 20 88 2d 31 3a  68 69 73 63 6f 72 65 25  |%+1 .-1:hiscore%|
00002160  28 54 2b 31 29 3d 68 69  73 63 6f 72 65 25 28 54  |(T+1)=hiscore%(T|
00002170  29 3a 6e 61 6d 65 24 28  54 2b 31 29 3d 6e 61 6d  |):name$(T+1)=nam|
00002180  65 24 28 54 29 0d 0a 64  43 ed 3a 74 61 62 6c 65  |e$(T)..dC.:table|
00002190  31 25 2b 3d 31 3a 68 69  73 63 6f 72 65 25 28 74  |1%+=1:hiscore%(t|
000021a0  61 62 6c 65 31 25 29 3d  73 63 6f 72 65 25 3a 6e  |able1%)=score%:n|
000021b0  61 6d 65 24 28 74 61 62  6c 65 31 25 29 3d 22 22  |ame$(table1%)=""|
000021c0  3a 2a 46 58 32 31 2c 30  0d 0a 6e 37 68 69 73 63  |:*FX21,0..n7hisc|
000021d0  6f 72 65 24 28 74 61 62  6c 65 31 25 29 3d c2 22  |ore$(table1%)=."|
000021e0  30 30 30 30 30 30 22 2b  c3 28 68 69 73 63 6f 72  |000000"+.(hiscor|
000021f0  65 25 28 74 61 62 6c 65  31 25 29 29 2c 36 29 0d  |e%(table1%)),6).|
00002200  0a 78 13 f5 3a f2 73 74  61 72 73 3a 41 3d a6 28  |.x..:.stars:A=.(|
00002210  30 29 0d 0a 82 38 e7 41  3e 33 32 80 41 3c 31 32  |0)...8.A>32.A<12|
00002220  33 80 a9 28 6e 61 6d 65  24 28 74 61 62 6c 65 31  |3..(name$(table1|
00002230  25 29 29 3c 35 20 6e 61  6d 65 24 28 74 61 62 6c  |%))<5 name$(tabl|
00002240  65 31 25 29 2b 3d bd 28  41 29 0d 0a 8c 27 e7 20  |e1%)+=.(A)...'. |
00002250  41 3c 3e 2d 31 20 80 20  41 3c 3e 31 33 20 80 20  |A<>-1 . A<>13 . |
00002260  28 41 3c 33 32 20 84 20  41 3e 31 32 37 29 20 ef  |(A<32 . A>127) .|
00002270  37 0d 0a 96 22 e7 a9 28  6e 61 6d 65 24 28 74 61  |7..."..(name$(ta|
00002280  62 6c 65 31 25 29 29 3e  30 20 80 20 41 3d 31 32  |ble1%))>0 . A=12|
00002290  37 20 8c 0d 0a a0 37 6e  61 6d 65 24 28 74 61 62  |7 ....7name$(tab|
000022a0  6c 65 31 25 29 3d c0 6e  61 6d 65 24 28 74 61 62  |le1%)=.name$(tab|
000022b0  6c 65 31 25 29 2c a9 28  6e 61 6d 65 24 28 74 61  |le1%),.(name$(ta|
000022c0  62 6c 65 31 25 29 29 2d  31 29 0d 0a aa 32 cd 3a  |ble1%))-1)...2.:|
000022d0  fb 34 38 3a f1 8a 38 2c  38 29 22 48 49 2d 53 43  |.48:..8,8)"HI-SC|
000022e0  4f 52 45 20 54 41 42 4c  45 20 50 4f 53 49 54 49  |ORE TABLE POSITI|
000022f0  4f 4e 20 22 3b 74 61 62  6c 65 31 25 0d 0a b4 2c  |ON ";table1%...,|
00002300  fb 35 31 3a f2 73 63 6f  72 65 73 28 31 33 2c 31  |.51:.scores(13,1|
00002310  30 29 3a f2 73 77 61 70  73 63 72 65 65 6e 73 3a  |0):.swapscreens:|
00002320  fd 20 41 3d 31 33 3a e1  0d 0a be 05 3a 0d 0a c8  |. A=13:.....:...|
00002330  0e dd f2 64 61 74 74 61  62 6c 65 0d 0a d2 2b f7  |...dattable...+.|
00002340  20 8d 54 6c 4b 3a e3 6e  75 6d 3d 30 b8 39 3a f3  | .TlK:.num=0.9:.|
00002350  20 58 65 71 75 24 2c 59  65 71 75 24 3a e3 54 25  | Xequ$,Yequ$:.T%|
00002360  3d 30 b8 33 35 30 0d 0a  dc 24 3f 28 58 54 25 2b  |=0.350...$?(XT%+|
00002370  28 6e 75 6d 2a 33 35 30  29 2b 54 25 29 3d a0 28  |(num*350)+T%)=.(|
00002380  58 65 71 75 24 29 2b 31  32 36 0d 0a e6 34 3f 28  |Xequ$)+126...4?(|
00002390  59 54 25 2b 28 6e 75 6d  2a 33 35 30 29 2b 54 25  |YT%+(num*350)+T%|
000023a0  29 3d a0 28 59 65 71 75  24 29 2b 31 32 36 3a ed  |)=.(Yequ$)+126:.|
000023b0  3a ed 3a 6d 78 25 3d 6e  75 6d 2d 31 3a e1 0d 0a  |:.:mx%=num-1:...|
000023c0  f0 05 3a 0d 0a fa 29 dc  20 41 41 52 4f 4e 2c 33  |..:...). AARON,3|
000023d0  30 30 30 30 2c 41 41 52  4f 4e 2c 32 30 30 30 30  |0000,AARON,20000|
000023e0  2c 41 41 52 4f 4e 2c 31  30 30 30 30 0d 0b 04 26  |,AARON,10000...&|
000023f0  dc 20 41 41 52 4f 4e 2c  35 30 30 30 2c 41 41 52  |. AARON,5000,AAR|
00002400  4f 4e 2c 32 35 30 30 2c  41 41 52 4f 4e 2c 31 30  |ON,2500,AARON,10|
00002410  30 30 0d 0b 0e 05 3a 0d  0b 18 14 f4 20 6d 6f 76  |00....:..... mov|
00002420  65 20 65 71 75 61 74 69  6f 6e 73 0d 0b 22 05 3a  |e equations..".:|
00002430  0d 0b 2c 1b dc 20 22 30  22 2c 22 28 43 4f 53 28  |..,.. "0","(COS(|
00002440  54 25 2f 33 30 29 2a 38  30 29 22 0d 0b 36 2b dc  |T%/30)*80)"..6+.|
00002450  20 22 28 53 49 4e 28 54  25 2f 31 38 29 2a 31 32  | "(SIN(T%/18)*12|
00002460  36 29 22 2c 22 28 43 4f  53 28 54 25 2f 31 38 29  |6)","(COS(T%/18)|
00002470  2a 31 32 36 29 22 0d 0b  40 2a dc 20 22 28 53 49  |*126)"..@*. "(SI|
00002480  4e 28 54 25 2f 31 32 29  2a 38 30 29 22 2c 22 28  |N(T%/12)*80)","(|
00002490  43 4f 53 28 54 25 2f 32  34 29 2a 31 32 36 29 22  |COS(T%/24)*126)"|
000024a0  0d 0b 4a 2a dc 20 22 28  43 4f 53 28 54 25 2f 31  |..J*. "(COS(T%/1|
000024b0  32 29 2a 31 32 36 29 22  2c 22 28 43 4f 53 28 54  |2)*126)","(COS(T|
000024c0  25 2f 32 30 29 2a 34 30  29 22 0d 0b 54 1b dc 20  |%/20)*40)"..T.. |
000024d0  22 28 43 4f 53 28 54 25  2f 38 29 2a 31 32 36 29  |"(COS(T%/8)*126)|
000024e0  22 2c 22 30 22 0d 0b 5e  2b dc 20 22 28 53 49 4e  |","0"..^+. "(SIN|
000024f0  28 54 25 2f 33 30 29 2a  31 32 36 29 22 2c 22 28  |(T%/30)*126)","(|
00002500  53 49 4e 28 54 25 2f 33  30 29 2a 31 32 36 29 22  |SIN(T%/30)*126)"|
00002510  0d 0b 68 2b dc 20 22 28  53 49 4e 28 54 25 2f 31  |..h+. "(SIN(T%/1|
00002520  34 29 2a 31 30 30 29 22  2c 22 28 43 4f 53 28 54  |4)*100)","(COS(T|
00002530  25 2f 31 32 29 2a 31 32  36 29 22 0d 0b 72 1c dc  |%/12)*126)"..r..|
00002540  20 22 30 22 2c 22 28 43  4f 53 28 54 25 2f 31 31  | "0","(COS(T%/11|
00002550  29 2a 31 32 36 29 22 0d  0b 7c 2b dc 20 22 28 53  |)*126)"..|+. "(S|
00002560  49 4e 28 54 25 2f 33 30  29 2a 31 32 36 29 22 2c  |IN(T%/30)*126)",|
00002570  22 28 53 49 4e 28 54 25  2f 32 30 29 2a 31 32 36  |"(SIN(T%/20)*126|
00002580  29 22 0d 0b 86 1c dc 20  22 30 22 2c 22 28 43 4f  |)"..... "0","(CO|
00002590  53 28 54 25 2f 32 34 29  2a 31 32 36 29 22 0d ff  |S(T%/24)*126)"..|
000025a0