Home » Archimedes archive » Archimedes World » AW-1991-05.adf » May91 » !AWMay91/Goodies/Tacticus/!Tacticus/!RunImage

!AWMay91/Goodies/Tacticus/!Tacticus/!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-05.adf » May91
Filename: !AWMay91/Goodies/Tacticus/!Tacticus/!RunImage
Read OK:
File size: 4A84 bytes
Load address: 0000
Exec address: 0000
File contents
   10REM>!RunImage
   20REM !Tacticus main game
   30REM Version 1.3 Febuary 1991
   40REM Turbo Version with new Move control + Random pathways
   50REM (c) Aaron
   60:
   70*FX225,1
   80ON ERROR PROCloadchars("Default"):MODE15:OSCLI("*FX21,0"):END
   90PROCcontrol:END
  100:
  110DEFPROCstarfield
  120GCOL21 TINT255:FORS%=0TO ns:sy%(S%)-=cg%(S%)
  130IF ES%<0 THEN
  140IFsy%(S%)<ES%THENsy%(S%)=512
  150ELSE
  160IFsy%(S%)>ES%THENsy%(S%)=-512
  170ENDIF
  180PLOT69,sx%(S%),sy%(S%):NEXT:ENDPROC
  190:
  200DEFPROCplot
  210nasties%=0:cnt%+=1:IF INT(cnt%/3)=cnt%/3 AND insurface%=TRUE THEN
  220IF anim%=0 anim%=100 ELSE anim%=0
  230ENDIF
  240FORL1%=0TONO%:IF shot%(L1%)=0 THEN Z(L1%)+=(Z(L1%)/speed%(L1%))
  250temp%=(VAL(SP$(L1%))-46)*200:ZT%=Z(L1%)*3
  260X%(L1%)=stx%(L1%)+(?(XT%+path%(L1%)+ZT%)-126)
  270Y%(L1%)=sty%(L1%)+(?(YT%+path%(L1%)+ZT%)-126)
  280IF Z(L1%)>45 OR shot%(L1%)>5 THEN
  290Z(L1%)=1:X%(L1%)=RND(100)-50:Y%(L1%)=RND(100)-50:shot%(L1%)=FALSE
  300stx%(L1%)=X%(L1%):sty%(L1%)=Y%(L1%)
  310IF insurface%=TRUE SP$(L1%)=STR$(50+INT((TIME-start%)/(ptime%/nwave%))):path%(L1%)=(4+RND(8))*200
  320IF SP$(L1%)="59" SP$(L1%)="50"
  330IF aliensover%=TRUE Z(L1%)=0
  340ENDIF:nasties%+=Z(L1%):NEXT
  350:
  360REM Sort into depth order
  370:
  380FORL1%=0 TO NO%-1:T%=Z(L1%):P%=L1%:FORL2%=L1%+1 TO NO%:IF Z(L2%)<T% T%=Z(L2%):P%=L2%
  390NEXT:SWAP Z(L1%),Z(P%):SWAP X%(L1%),X%(P%):SWAP speed%(L1%),speed%(P%):SWAP stx%(L1%),stx%(P%):SWAP sty%(L1%),sty%(P%):SWAP Y%(L1%),Y%(P%):SWAP SP$(L1%),SP$(P%):SWAP shot%(L1%),shot%(P%):SWAP path%(L1%),path%(P%):NEXT
  400:
  410REM Plot the aliens and colliosion/explosion detect
  420:
  430FORL%=0 TO NO%:!scale=Z(L%):scale!4=Z(L%):scale!8=6:scale!12=6:SP$=SP$(L%)
  440IF insurface%=TRUE SP$=STR$(VAL(SP$(L%))+anim%)
  450IFshot%(L%)>0 SP$="EXP"+STR$(shot%(L%)):shot%(L%)+=1:!scale=9:scale!4=9
  460SYS"OS_SpriteOp",308,sp,SP$,X%(L%)*(Z(L%)/2),Y%(L%)*(Z(L%)/2),8,scale
  470IF Z(L%)>30 AND game=TRUE AND shot%(L%)=0 THEN
  480IF XS%<(X%(L%)*(Z(L%)/2))+500 AND XS%+(48*4)>X%(L%)*(Z(L%)/2) AND YS%<(Y%(L%)*(Z(L%)/2))+500 AND YS%+(24*4)>Y%(L%)*(Z(L%)/2) AND dead=FALSE PROChit
  490ENDIF:NEXT:ENDPROC
  500:
  510DEFPROCship
  520IF INKEY(-67) XS%+=32 ELSE IF INKEY(-98) XS%-=32
  530IF INKEY(-80) YS%+=32 ELSE IF INKEY(-105) YS%-=32
  540IF XS%<-625 XS%=-625 ELSE IF XS%>450 XS%=450
  550IF YS%<-405 YS%=-405 ELSE IF YS%>350 YS%=350
  560fire%=FALSE:IFINKEY(-74) AND fireok%=TRUE THEN GCOL63:CIRCLE XS%+88,YS%+40,128:energy-=0.5:firetime%=TIME:SOUND1,-15,500,5:fire%=TRUE
  570SYS"OS_SpriteOp",290,sp,"30",XS%,YS%,8:ENDPROC
  580:
  590DEFPROChit
  600IF inhyper%=TRUE SOUND3,-15,300,40:energy-=25:shot%(L%)=1:SOUND2,-15,10,40:ENDPROC
  610IFfire%=FALSE dead=TRUE ELSE score%+=10+((VAL(SP$)-46-anim%)*10):shot%(L%)=1:SOUND2,-15,10,40
  620ENDPROC
  630:
  640DEFPROCswapscreens
  650IFgame=TRUE PROCdisplays
  660IF game=TRUE THEN IF TIME-time%<4 REPEAT UNTIL TIME-time%>=4
  670WAIT:SYS 6,113,bank%:bank%=bank% EOR 2+1:SYS 6,112,bank%:CLS:time%=TIME:ENDPROC
  680bank%=bank% EOR 2+1
  690SYS 6,112,bank%
  700CLS:time%=TIME:ENDPROC
  710:
  720DEFPROCdisplays
  730IFINKEY(-56) AND pause%=TRUE store=TIME:REPEAT UNTIL INKEY(-55):TIME=store
  740IFINKEY(-17) AND pause%=TRUE SOUND OFF
  750IFINKEY(-82) AND pause%=TRUE SOUND ON
  760COLOUR63:VDU28,12,30,28,30
  770PRINT;planet$;"   ";RIGHT$("000000"+STR$(score%),6);"   0";lives%;:VDU28,1,27,38,2
  780SYS"OS_SpriteOp",290,sp,"T4",-640,448,0:IF energy<0 dead=TRUE
  790IF energy>50 GCOL13 ELSE GCOL 3
  800RECTANGLE FILL -608,472,energy*4,4:ENDPROC
  810:
  820DEFPROCplaygame
  830LOCAL ERROR:ON ERROR LOCAL PROCerrorinternal:ENDPROC
  840PROCsetupgame:PROCsetupdisplays:PROClaunch:pause%=TRUE:REPEAT
  850IF dead=FALSE AND inhyper%<>2 inhyper%=TRUE:PROChyperspace
  860IF dead=FALSE AND inrocks%<>2 inrocks%=TRUE:PROCasteroids
  870IF dead=FALSE AND insurface%<>2 insurface%=TRUE:PROCplanet
  880IF dead=TRUE fire%=FALSE:PROClifelost:UNTIL lives%=0:ENDPROC
  890PROCcompleted:UNTIL lives%=0:ENDPROC
  900:
  910DEFPROChyperspace
  920unknown%=FALSE:aliensover%=FALSE:IF RND(30)=1 THEN
  930unknown%=TRUE:REPEAT:A%=RND(12):UNTIL A%<>planet%:planet%=A%:planet$=RIGHT$("00"+STR$(planet%),2)
  940ENDIF:xtemp=XC%:ytemp=YC%:XC%=0:YC%=0:planet$=RIGHT$("00"+STR$(planet%),2)
  950X%=-166:Y%=-166:x%=24:PROCsetupobjects(blbn%,2,48,hspd%):PROCzipoutstars
  960PROCshipzoomsin:start%=TIME:fireok%=FALSE:XC%=xtemp:YC%=ytemp
  970REPEAT:PROChyperplane:PROCplot:PROCship
  980IF XS%>X%+180 OR XS%+50<X% OR YS%>Y%+300 OR YS%+50<Y% energy-=5:SOUND3,-8,500+(energy*10),2
  990SYS"OS_SpriteOp",308,sp,"HYP",-585,400,8
 1000IFunknown%=TRUE AND TIME>start%+500 SYS"OS_SpriteOp",308,sp,"ER1",-595,-320,8:SYS"OS_SpriteOp",308,sp,"ER2",-595,-380,8
 1010IF TIME>start%+(hyper%*1500) aliensover%=TRUE
 1020PROCswapscreens:UNTIL dead=TRUE OR nasties%=0
 1030IF dead=FALSE inhyper%=2:PROCzipinstars
 1040IF unknown%=TRUE THEN PROCreaddata(planet%)
 1050ENDPROC
 1060:
 1070DEFPROCplanet
 1080PROCreadplanetdata
 1090IF ziplanet%=FALSE PROCzoomintoplanet:ziplanet%=TRUE
 1100PROCsurfacewar
 1110ENDPROC
 1120:
 1130DEFPROCswapfield(fl%)
 1140IF fl%=TRUE AND cg%(1)<0 ENDPROC
 1150IF fl%=FALSE  AND cg%(1)>0 ENDPROC
 1160FORS%=0TO ns:cg%(S%)=-cg%(S%):NEXT:ES%=-ES%:ENDPROC
 1170:
 1180DEFPROCasteroids
 1190aliensover%=FALSE
 1200PROCsetupobjects(4,2,46,aspd%):PROCflash("AST",-525)
 1210PROCshipzoomsin:start%=TIME:fireok%=TRUE
 1220REPEAT:PROCstarfield:PROCplot:PROCship
 1230IF TIME>start%+(aster%*1500)-200 SYS"OS_SpriteOp",308,sp,"plt",-550,0,8
 1240IF TIME>start%+(aster%*1500) aliensover%=TRUE
 1250PROCswapscreens:UNTIL dead=TRUE OR nasties%=0
 1260IF dead=FALSE inrocks%=2
 1270ENDPROC
 1280:
 1290DEFPROCsurfacewar
 1300aliensover%=FALSE:COLOUR128+planetsky%
 1310PROCsetupobjects(3,1,50,alspeed%):PROCswapfield(TRUE)
 1320fireok%=TRUE:PROCshipzoomsin:start%=TIME
 1330REPEAT:PROCstarfield:PROCplanetground(-372):PROCplot
 1340PROCship:PROCswapscreens:IF TIME>start%+ptime% aliensover%=TRUE
 1350UNTIL dead=TRUE OR nasties%=0:PROCswapfield(FALSE)
 1360ENDPROC
 1370:
 1380DEFPROCleaveplanet
 1390FORL%=-372TO-500 STEP-8:PROCstarfield
 1400PROCplanetground(L%):PROCship:PROCswapscreens:NEXT:ENDPROC
 1410:
 1420DEFPROChyperplane
 1430PL%=x%:REPEAT:GCOL0
 1440LINE-640,PL%,640,PL%:LINE-640,-PL%,640,-PL%
 1450PL%=PL%*1.6:UNTIL PL%>480:x%+=8:IF x%>52 x%=24
 1460X%+=XC%:Y%+=YC%:GCOL0,15:FORT=1TO8
 1470RECTANGLE X%/T,Y%/T,1000/(T*3),1000/(T*3):NEXT
 1480LINE 0,0,X%,Y%:LINE 0,0,X%,Y%+333
 1490LINE0,0,X%+333,Y%:LINE0,0,X%+333,Y%+333
 1500IF X%<-600 OR X%>500 OR RND(20)=1 XC%=-XC%
 1510IF Y%<-300 OR Y%>300 OR RND(20)=1 YC%=-YC%
 1520ENDPROC
 1530:
 1540DEFPROCplanetground(y%):col%=planetcol%
 1550tnt%=0:FORyk%=y% TO y%-64 STEP-16:GCOLplanetcol% TINT tnt%
 1560xk%=36:IF yk%<-372 xk%+=RND(8)
 1570RECTANGLE FILL -608,yk%,1270,xk%:tnt%+=65:NEXT:ENDPROC
 1580:
 1590DEFPROCsetupdisplays
 1600FORL%=1TO2
 1610SYS"OS_SpriteOp",290,sp,"T6",-640,-512,0
 1620SYS"OS_SpriteOp",290,sp,"T6",608,-512,0
 1630SYS"OS_SpriteOp",290,sp,"T4",-640,448,0
 1640SYS"OS_SpriteOp",290,sp,"T5",-640,-512,0
 1650VDU28,1,27,38,2:PROCswapscreens:NEXT
 1660VDU24,-608;-383;604;508;:ENDPROC
 1670:
 1680DEFPROCflash(txt$,x)
 1690FORL%=1TO50:PROCstarfield
 1700SYS "OS_SpriteOp",308,sp,txt$,x,-16,8
 1710PROCswapscreens:NEXT:ENDPROC
 1720:
 1730DEFPROCtitlescreen
 1740COLOUR128:CLS:COLOUR13 TINT 255
 1750E%=60:STP%=1:D%=-640
 1760game=FALSE:PROCsetupobjects(1,2,46,6):VDU26:ORIGIN640,512
 1770REPEAT:PROCstarfield:GCOL48:RECTANGLE-300,-380,600,860
 1780SYS "OS_SpriteOp",290,sp,"T0",-500,0,0
 1790SYS "OS_SpriteOp",308,sp,"T1",-208,-96
 1800SYS "OS_SpriteOp",308,sp,"LOGO",-180,-280
 1810PROCscores(14,3):PROCscrolltext:PROCswapscreens:UNTIL INKEY(-99)
 1820ENDPROC
 1830:
 1840DEFPROCscores(X,Y)
 1850FORT=1TO5:PRINTTAB(X,Y+T);hiscore%(T):PRINTTAB(X+8,Y+T);name$(T):NEXT
 1860ENDPROC
 1870:
 1880DEFPROCwindup
 1890PROCgameover:ES%=-512
 1900ENDPROC
 1910:
 1920DEFPROCtactical
 1930*FX15,0
 1940PROCswapscreens:MOUSE ON:MOUSE RECTANGLE -640,-512,1279,1024:MOUSE TO 0,0
 1950PROCdrawhyperroutes:PROCdrawtactical:PROCswapscreens:REPEAT:REPEAT
 1960MOUSE X,Y,Z:UNTIL Z<>0:xp%=((X+700)/350)+1
 1970yp%=(3-((Y+512)/341)):UNTIL FNcheckmap(planet%,xp%+(yp%*4))=TRUE
 1980planet%=xp%+(yp%*4):MOUSE OFF:ENDPROC
 1990:
 2000DEFPROCdrawhyperroutes
 2010GCOL3:LINE-530,331,50,331:LINE-435,236,-435,0
 2020LINE-500,0,-500,180:LINE-500,180,500,180:LINE500,180,500,240
 2030LINE435,236,435,50:LINE145,236,145,50:LINE50,30,340,30
 2040LINE145,-65,145,-300:LINE80,-65,80,-125:LINE80,-125,-435,-125
 2050LINE-435,-125,-435,-250:LINE-500,0,-500,-250:LINE-145,0,-145,-250
 2060LINE-100,30,0,30:LINE0,30,0,-225:LINE0,-225,100,-225
 2070LINE-530,30,-290,30:LINE-290,30,-290,-275:LINE-290,-275,-100,-275
 2080LINE-100,-275,340,-275:ENDPROC
 2090:
 2100DEFPROCdrawtactical
 2110PROCdrawplan(-530,236,3,1,"SOMBAR")
 2120PROCdrawplan(-240,236,2,2,"TALIS")
 2130PROCdrawplan(50,236,1,3,"PRUDIS")
 2140PROCdrawplan(340,236,3,4,"STONAR")
 2150PROCdrawplan(-530,-65,2,5,"DUNI")
 2160PROCdrawplan(-240,-65,4,6,"PORTA")
 2170PROCdrawplan(50,-65,3,7,"DV125G")
 2180PROCdrawplan(340,-65,2,8,"SUNST")
 2190PROCdrawplan(-530,-370,2,9,"LOKIT")
 2200PROCdrawplan(-240,-370,1,10,"STOTK")
 2210PROCdrawplan(50,-370,2,11,"MAGNU")
 2220PROCdrawplan(340,-370,3,12,"EARTH")
 2230ENDPROC
 2240:
 2250DEFPROCdrawplan(X%,Y%,size,s,nm$):bong%=FALSE
 2260!scale=1:scale!4=1:scale!8=size:scale!12=size:spr$="pl"+STR$(s)
 2270GCOL0 TINT 0:RECTANGLE FILL X%-4,Y%-4,194,194
 2280X=X%+((95/size)*INT(size-1)):Y=Y%+((95/size)*INT(size-1))
 2290SYS "OS_SpriteOp",308,sp,spr$,X,Y,0,scale
 2300IF s=planet% GCOL 60 ELSE GCOL3
 2310IF FNcheckmap(planet%,s)=TRUE GCOL0,12
 2320RECTANGLE X%-4,Y%-4,194,194:VDU5
 2330GCOL7 TINT 255:MOVE(X%+95)-(LEN(nm$)*16),Y%+95:PRINTnm$
 2340IF PD%(s)=TRUE SYS"OS_SpriteOp",308,sp,"ydta",X%+12,Y%+12
 2350bong%=TRUE:VDU4:ENDPROC
 2360:
 2370DEFFNcheckmap(loc%,dest%):RESTORE 4810
 2380IF dest%<1 OR dest%>12 SOUND3,-15,500,5:=FALSE
 2390FORT=1TOloc%:READ ne:FORL%=1TOne:READ ex%(L%),hyp%(L%):NEXT:NEXT
 2400res=FALSE:FORL%=1TOne:IF ex%(L%)=dest% THEN res=TRUE:hyper%=hyp%(L%)
 2410NEXT:IF (res=TRUE AND bong%=TRUE) SOUND1,-15,3000,50 ELSE IF bong%=TRUE SOUND3,-15,500,5
 2420PROCreaddata(dest%):=res
 2430:
 2440DEFPROCinformation
 2450mes%=1:CLS:dud1=-800:IF planet%=12 AND info%=11 THEN mes%=3:done%=TRUE
 2460IF PD%(planet%)=TRUE PD%(planet%)=FALSE:info%+=1:mes%=2
 2470PROCtextinfo:IF RND(8)=1 AND done%=FALSE PROCnewdata
 2480IF RND(20)=1 AND done%=FALSE inf$(2)="No fuel here" ELSE energy=302
 2490IFscore%>extra% AND lives%<10 THEN lives%+=1:extra%+=5000:inf$(2)="Extra ship !!!"
 2500REPEAT:SYS"OS_SpriteOp",308,sp,"DCK",-607,146
 2510SYS"OS_SpriteOp",308,sp,"SHP",dud1,200,8
 2520COLOUR3:PRINTTAB(3,11);"GENETIC INFO",TAB(6,22);"DATA=";info%
 2530SYS"OS_SpriteOp",308,sp,"T2",-428,-220:PRINTTAB(3,24);"11  REQUIRED"
 2540PRINTTAB(20,13);"MESSAGE WINDOW":GCOL63:RECTANGLE0,-348,514,436
 2550COLOUR13:FORT=1TO4:PRINTTAB(20,15+T);inf$(T):NEXT
 2560COLOUR3:PRINTTAB(20,22)"PRESS SPACEBAR"
 2570PROCswapscreens:IF dud1<-100 dud1-=(dud1/20)
 2580UNTIL INKEY(-99):ENDPROC
 2590:
 2600DEFPROCtextinfo
 2610RESTORE5550:FORT=1TOmes%:FORJ=1TO4:READinf$(J):NEXT:NEXT
 2620ENDPROC
 2630:
 2640DEFPROCnewdata
 2650REPEAT:A%=RND(11):UNTIL A%<>planet%:IF PD%(A%)=FALSE info%-=1
 2660PD%(A%)=TRUE:inf$(3)="New data on "+STR$(A%):ENDPROC
 2670:
 2680DEFPROCcompleted:fireok%=FALSE
 2690PROCleaveplanet:PROCdock:COLOUR128:PROCinformation
 2700IF done%=TRUE PROCdonejob:lives%=0:ENDPROC
 2710CLS:PROCtactical:PROClaunch
 2720inhyper%=FALSE:inrocks%=FALSE:insurface%=FALSE:fireok%=FALSE
 2730ziplanet%=FALSE:ENDPROC
 2740:
 2750DEFPROCcontrol
 2760MODE13:OFF:PROCinit:ORIGIN 640,512:REPEAT:pause%=FALSE
 2770PROCtitlescreen
 2780PROCsetupgame
 2790PROCplaygame:PROCwindup
 2800UNTIL FALSE
 2810:
 2820DEFPROCshipzoomsin
 2830PROCsetupship:Z=120:REPEAT:Z-=(Z/6)
 2840IF inhyper%=TRUE PROChyperplane ELSE PROCstarfield
 2850IFinsurface%=TRUE PROCplanetground(-372)
 2860!scale=Z:scale!4=Z:scale!8=3:scale!12=3:xmod=INT(((Z-3)*6)/6)*31
 2870SYS "OS_SpriteOp",308,sp,"30",XS%-xmod,YS%,8,scale
 2880PROCswapscreens:UNTIL Z<4:ENDPROC
 2890:
 2900DEFPROCblankfield
 2910FORL%=1TO20:PROCstarfield:PROCswapscreens:NEXT:ENDPROC
 2920:
 2930DEFPROCinit
 2940SYS"OS_UpdateMEMC",64,64
 2950PROCstartsprites:PROCloadchars("Chars")
 2960OSCLI("*POINTER 1"):MOUSE OFF
 2970PROCsetupvars:PROCstarttext:PROCloadmovetable
 2980ENDPROC
 2990:
 3000DEFPROCsetupvars
 3010DIM X%(50),Y%(50),Z(50),SP$(50),shot%(50),scale 16,hiscore%(6),name$(6)
 3020DIMsx%(40),sy%(40),cg%(40),txt$(10),ex%(5),hyp%(5),speed%(50),PD%(12)
 3030DIMstx%(50),sty%(50),xtext$(30),ytext$(30),inf$(5),path%(50)
 3040NO%=50:ns=10:ES%=-512:bank%=1:time%=0:score%=0:COLOUR128:insurface%=FALSE
 3050RESTORE5180:FORT=1TO5:READ hiscore%(T),name$(T):NEXT
 3060aliensover%=FALSE:FORL%=0TO40:sx%(L%)=RND(1279)-640
 3070sy%(L%)=RND(1023)-512:cg%(L%)=4+(INT(L%/3)*4)
 3080VOICES3:*CHANNELVOICE 1 5
 3090OSCLI("CHANNELVOICE 2 9"):OSCLI("CHANNELVOICE 3 3")
 3100NEXT:MOUSE RECTANGLE -640,-512,640,512:ENDPROC
 3110:
 3120DEFPROCsetupgame
 3130lives%=3:score%=0:dead=FALSE:game=TRUE:wave%=1:snd%=1:ES%=-383:done%=FALSE
 3140energy=302:planet%=1:inhyper%=FALSE:inrocks%=FALSE:planet$=RIGHT$("00"+STR$(planet%),2):PROCsetupship
 3150hyper%=1:insurface%=FALSE:fireok%=FALSE:ziplanet%=FALSE:cnt%=1
 3160FORT%=1TO11:PD%(T%)=TRUE:NEXT:PD%(12)=FALSE:info%=0:extra%=5000:nwave%=3
 3170aspd%=6:hspd%=6:aster%=1:blbn%=1:XC%=4:YC%=4:ptime%=3000:anim%=0
 3180planetsky%=36:planetcol%=8:alspeed%=12:ENDPROC
 3190:
 3200DEFPROCsetupship
 3210XS%=-24*4:YS%=-12*4:ZS%=5:firetime%=TIME-50:ENDPROC
 3220:
 3230DEFPROCsetupobjects(num,rnd,base,speed):NO%=num
 3240FORL%=0TO NO%:X%(L%)=RND(100)-50:Y%(L%)=RND(100)-50
 3250stx%(L%)=X%(L%):sty%(L%)=Y%(L%):speed%(L%)=speed
 3260Z(L%)=RND(5):SP$(L%)=STR$(base):IFrnd>1 THEN
 3270SP$(L%)=STR$(INT(RND(rnd)+base-1)):shot%(L%)=FALSE
 3280ENDIF:anim%=0
 3290IF insurface%=FALSE path%(L%)=(VAL(SP$(L%))-46)*200 ELSE path%(L%)=(4+RND(8))*200
 3300NEXT:ENDPROC
 3310:
 3320DEFPROCstartsprites
 3330DIM sp &3F000:!sp=&3F000
 3340sp!4=0:sp!8=16:sp!12=16
 3350REMSYS"OS_SpriteOp",266,sp,"SPRITES"
 3355OSCLI("LOAD PACKSPR "+STR$~(sp))
 3360ENDPROC
 3370:
 3380DEFPROCzoomintoplanet
 3390CLS:FORL%=1TO80
 3400!scale=L%:scale!4=L%:scale!8=5:scale!12=5:PROCstarfield
 3410SP$="pl"+STR$(planet%):SYS"OS_SpriteOp",308,sp,SP$,-L%*21,-L%*21,8,scale
 3420PROCship:PROCplanetdata:PROCswapscreens:NEXT:ENDPROC
 3430:
 3440DEFPROClifelost
 3450IF insurface%=TRUE PROCswapfield(TRUE)
 3460SOUND2,-15,5,200:EX%=1:FORdud=1TO40:S$="EXP"+STR$(EX%)
 3470IF inhyper%=TRUE PROChyperplane ELSE PROCstarfield
 3480IF insurface%=TRUE PROCplanetground(-372)
 3490IF inrocks%=-1 OR inhyper%=-1 OR insurface%=-1 PROCplot
 3500IF EX%<7 SYS"OS_SpriteOp",308,sp,S$,XS%-(EX%*20),YS%-(EX%*20),8
 3510IF dud<26 SYS"OS_SpriteOp",308,sp,"ded",-540,-16,8
 3520PROCswapscreens:EX%+=1:NEXT
 3530lives%-=1:energy=304:dead=FALSE:PROCswapfield(FALSE):ENDPROC
 3540:
 3550DEFPROCgameover
 3560pause%=FALSE:FORdud=1TO50
 3570IF insurface%=TRUE PROCswapfield(TRUE)
 3580IF inhyper%=TRUE PROChyperplane ELSE PROCstarfield
 3590IF insurface%=TRUE PROCplanetground(-372)
 3600IF inrocks%=-1 OR inhyper%=-1 OR insurface%=-1 PROCplot
 3610IF dud<30 SYS"OS_SpriteOp",308,sp,"GVR",-288,-16,8
 3620IF score%>hiscore%(5) SYS"OS_SpriteOp",308,sp,"HIS",-559,-600+(dud*20),8
 3630PROCswapscreens:NEXT:IF score%>hiscore%(5) PROContotable
 3640PROCswapfield(FALSE):ENDPROC
 3650:
 3660DEFPROContotable
 3670insurface%=FALSE:COLOUR128
 3680table1%=6:REPEAT:table1%-=1:UNTIL hiscore%(table1%)>score% OR table1%=0
 3690FORT=5TOtable1%+1 STEP-1:hiscore%(T+1)=hiscore%(T):name$(T+1)=name$(T)
 3700NEXT:table1%+=1:hiscore%(table1%)=score%:*FX21,0
 3710CLS:name$(table1%)="":PROCsetupobjects(2,2,48,3):REPEAT
 3720PROCstarfield:PROCplot:COLOUR60:PROCscores(12,8):COLOUR3
 3730SYS"OS_SpriteOp",308,sp,"HIS",-559,400,8:A=INKEY(0)
 3740IFA>32AND A<123AND LEN(name$(table1%))<5 name$(table1%)+=CHR$(A)
 3750IF A<>-1 AND A<>13 AND (A<32 OR A>127) VDU7
 3760IF LEN(name$(table1%))>0 AND A=127 name$(table1%)=LEFT$(name$(table1%),LEN(name$(table1%))-1)
 3770PRINTTAB(5,21)"ENTER NAME FOR HI-SCORE TABLE":PRINTTAB(16,23)">";name$(table1%)
 3780PROCswapscreens:UNTIL A=13:ENDPROC
 3790:
 3800DEFPROCzipoutstars
 3810COLOUR128:PROCswapscreens
 3820PROCflash("jmp",-490):FORXE%=0 TO 800 STEP48
 3830PROCstarfield:GCOL7 TINT0:CIRCLE FILL 0,0,XE%
 3840PROChyperplane:GCOL11:CIRCLE 0,0,XE%:PROCswapscreens:NEXT
 3850COLOUR128+7:CLS:ENDPROC
 3860:
 3870DEFPROCzipinstars
 3880Z=4:REPEAT:PROChyperplane
 3890!scale=Z:scale!4=Z:scale!8=3:scale!12=3:xmod=INT(((Z-3)*6)/6)*31
 3900SYS "OS_SpriteOp",308,sp,"30",XS%-xmod,YS%,8,scale
 3910Z+=(Z/6):PROCswapscreens:UNTIL Z>120:GCOL21 TINT255
 3920FORXE%=0 TO 640 STEP48:PROCswapscreens:PROChyperplane
 3930GCOL0 TINT 0:CIRCLE FILL 0,0,XE%:PROCstarfield
 3940NEXT:COLOUR128:ENDPROC
 3950:
 3960DEFPROClaunch
 3970L=150:COLOUR128:REPEAT
 3980!scale=L:scale!4=L:scale!8=3:scale!12=3:PROCstarfield
 3990SYS"OS_SpriteOp",308,sp,"STATION",-(L*32.5),-(L*32),8,scale
 4000SYS"OS_SpriteOp",308,sp,"RVW",-568,-16,8:PROCswapscreens
 4010L=INT(L-(L/6)):UNTIL L<1:ENDPROC
 4020:
 4030DEFPROCdock
 4040L%=6:REPEAT
 4050!scale=L%:scale!4=L%:scale!8=12:scale!12=12:PROCstarfield
 4060SYS "OS_SpriteOp",308,sp,"STATION",-(L%*8),-(L%*8),8,scale
 4070PROCship:PROCswapscreens:L%=INT(L%+(L%/6)):UNTIL L%>700:ENDPROC
 4080:
 4090DEFPROCdonejob
 4100FORT=400TO-600 STEP-12:PROCstarfield
 4110SYS "OS_SpriteOp",308,sp,"T0",-500,100+T,0
 4120SYS"OS_SpriteOp",308,sp,"T2",-100,-700-T
 4130SYS"OS_SpriteOp",308,sp,"GVR",-288,-16,8
 4140PROCswapscreens:NEXT
 4150FORT=600 TO -3000 STEP-12:PROCstarfield:FORY=1TO12
 4160SYS"OS_SpriteOp",308,sp,"pl"+STR$(Y),(COS(T+Y)/8)*(40*Y)-80,T+(Y*200)
 4170NEXT:SYS"OS_SpriteOp",308,sp,"T2",-100,-100
 4180SYS"OS_SpriteOp",308,sp,"GVR",-288,-16,8
 4190PROCswapscreens:NEXT
 4200FORT=-100TO600 STEP12:PROCstarfield
 4210SYS"OS_SpriteOp",308,sp,"T2",-100,T
 4220SYS"OS_SpriteOp",308,sp,"GVR",-288,-16,8
 4230PROCswapscreens:NEXT:ENDPROC
 4240:
 4250DEFPROCplanetdata
 4260VDU5:IFplanet%=1 OR planet%=6 OR planet%>7 GCOL3 ELSE GCOL60
 4270FORT=0TO7:pos=LEN(txt$(T))*32
 4280MOVE-pos/2,200-(T*50):PRINTtxt$(T)
 4290NEXT:VDU4:ENDPROC
 4300:
 4310REM DATA FOR PLANET INFORMATION SCREENS
 4320DATA "SOMBAR",""
 4330DATA"A small and relatively unimportant","Earth type world."
 4340DATA"It has few rescources for the","Invaders,yet it would"
 4350DATA"provide a perfect base","of operations."
 4360DATA "TALIS",""
 4370DATA"A desert world with thin habitable","bands at the poles."
 4380DATA"However it is rich in mineral","wealth.A planet which"
 4390DATA"the Invaders will try and keep","at all costs."
 4400DATA"PRUDIS",""
 4410DATA"The water world.The vast","sea contains many trace"
 4420DATA"elements, as well as being","an ideal location for"
 4430DATA"food production.A large and","very useful planet."
 4440DATA"STONAR",""
 4450DATA"An old dead planet,yet","it provides a perfect"
 4460DATA"base for expansion into","the heavily inhabited"
 4470DATA"inner worlds of the","human federation."
 4480DATA"DUNI",""
 4490DATA"A gas giant whoose atmosphere","contains many chemicals"
 4500DATA"vital to both us and","the Invaders.The single moon is"
 4510DATA"of very little interest","being just rock and ice."
 4520DATA"PORTA",""
 4530DATA"An ice world,however deep","below the ice lie vast"
 4540DATA"deposits of minerals vital to both","sides,it's recapture"
 4550DATA"will render a severe blow","to the Invaders plans."
 4560DATA"DV125G",""
 4570DATA"Little more than a giant rock","in space.With no sun"
 4580DATA"to light it's surface.","It's only value is as"
 4590DATA" a staging post to final conquest","of human space."
 4600DATA"SUNST",""
 4610DATA"The little desert world with","one single sea about"
 4620DATA"which is located all of","the colonisation and"
 4630DATA"agriculture of this beautifull","holiday world."
 4640DATA"LOKIT",""
 4650DATA"A colony world with a very","high human population"
 4660DATA"as well as a great deal","of heavy industry and"
 4670DATA"agriculture,the first of the","heavily populated inner worlds."
 4680DATA"STOTK",""
 4690DATA"An agricultural world,the grain","basket of the federation."
 4700DATA"A gigantic version of Earth","without the shattered"
 4710DATA"ecology of the original world.","This world must be saved!"
 4720DATA"MAGNU",""
 4730DATA"The first of the federations","Terraformed planets,designed"
 4740DATA"to be a replacement Earth.","The planet has little in the way"
 4750DATA"of rescources,importing what","it needs from other planets."
 4760DATA"EARTH",""
 4770DATA"The home of man,now a tired","shell of a planet.Housing"
 4780DATA"the offices of the federation.","The loss of this to"
 4790DATA"the Invaders was the final","blow to the federation."
 4800:
 4810REM DATA FOR TACTICAL LOOK UP TABLE
 4820:
 4830REM FORMAT NoExits,Exit1,Dist1,Exit2,Dist2 .....
 4840:
 4850DATA2,2,1,5,1
 4860DATA2,1,1,3,1
 4870DATA2,2,1,7,4
 4880DATA2,5,5,8,1
 4890DATA4,4,5,1,1,9,1,10,2
 4900DATA2,10,1,11,2
 4910DATA4,3,1,8,1,9,3,11,1
 4920DATA2,7,1,4,1
 4930DATA2,5,1,7,3
 4940DATA3,5,2,6,1,11,1
 4950DATA4,10,1,7,1,6,2,12,1
 4960DATA1,11,1
 4970:
 4980REM Data for Hyper speed(hspd%),number of blobs+1 (blbn%)
 4990REM asteroid speed(aspd%) and length of asteroid field (aster%)
 5000REM also XC% and YC% controlling vectors of tunnel movement
 5010REM and (bckcol%) and (planetcol%) planet time alienspeed nuber of waves
 5020:
 5030DATA 8,1,8,1,4,4,36,8,3000,14,3
 5040DATA 10,1,6,2,8,4,32,11,3000,12,4
 5050DATA 8,2,4,3,8,8,56,16,4500,10,5
 5060DATA 10,1,3,1,4,16,23,2,7500,8,5
 5070DATA 8,1,9,5,8,16,18,55,3000,12,6
 5080DATA 10,3,2,1,12,8,63,42,9000,14,4
 5090DATA 6,1,3,4,16,16,0,42,7500,8,6
 5100DATA 6,3,4,5,4,16,32,11,6000,14,4
 5110DATA 8,1,6,8,4,4,36,13,6000,12,6
 5120DATA 8,2,2,3,8,4,41,12,4500,10,6
 5130DATA 6,1,4,4,20,20,48,9,13500,8,7
 5140DATA 4,3,3,6,24,24,20,4,18000,6,8
 5150:
 5160REM High Score Table Data
 5170:
 5180DATA5000,AARON,4000,AARON,3000,AARON,2000,AARON,1000,AARON
 5190:
 5200DEFPROCloadchars(chr$)
 5210X=OPENIN(chr$):FOR T%=32 TO 255:VDU 23,T%:FOR I%=1 TO 8
 5220VDU BGET#X:NEXTI%:NEXTT%:ENDPROC
 5230:
 5240DEFPROCreaddata(dest%)
 5250RESTORE5030:FORT=1TO dest%
 5260READhspd%,blbn%,aspd%,aster%,XC%,YC%,planetsky%,planetcol%,ptime%,alspeed%,nwave%
 5270NEXT:ENDPROC
 5280:
 5290DEFPROCloadmovetable
 5300A=OPENIN("Equations"):FORT=0TO30:INPUT#A,xtext$(T),ytext$(T):NEXT
 5310CLOSE#0:PROCmovetable:ENDPROC
 5320:
 5330DEFPROCreadplanetdata
 5340RESTORE4310
 5350FORT=1TOplanet%:FORL%=0TO7:READ txt$(L%):NEXT:NEXT:ENDPROC
 5360:
 5370DEFPROCmovetable
 5380DIM XT% 10500, YT% 10500
 5390FORT=0TO29:L1%=1:FORK=0 TO 150:Z(L1%)=(K/3)
 5400!(XT%+(T*200)+K)=INT(EVAL(xtext$(T)))+126
 5410!(YT%+(T*200)+K)=INT(EVAL(ytext$(T)))+126
 5420REM PRINTT,K,?(XT%+(T*200)+Z(L1%)),?(YT%+(T*200)+Z(L1%))
 5430NEXT:NEXT:ENDPROC
 5440:
 5450DEFPROCscrolltext
 5460D%-=E%:C%=(J%+STP%):F%=D%:IF D%=-820 STP%+=1:D%=-640:IF STP%=LS% STP%=1
 5470FORT%=C%TOC%+9:SYS"OS_SpriteOp",290,sp,CHR$(?(T%)),F%,-500:F%+=180:NEXT
 5480ENDPROC
 5490:
 5500DEFPROCstarttext
 5510file%=OPENIN("ScrollText"):DIM J% EXT#file%:pt%=1:REPEAT
 5520A%=BGET#file%:IF A%=32 A%=255
 5530J%!pt%=A%:pt%+=1:UNTIL EOF#file%:CLOSE#0:LS%=pt%-10:ENDPROC
 5540:
 5550DATA "No data here","Ship refuelled","Tactical next","Message ends."
 5560DATA "Data collected","Ship refuelled","Tactical next","Message ends."
 5570DATA "Data delivered","Mission over","Well done you","saved Humanity"
 5580:
 5590DEFPROCerrorinternal
 5600IF ERR=17 ENDPROC
 5610PROCloadchars("Default"):MODE15:OSCLI("*FX21,0")
 5620REPORT:PRINT" at line ";ERL:END

�>!RunImage
� !Tacticus main game
� Version 1.3 Febuary 1991
(;� Turbo Version with new Move control + Random pathways
2� (c) Aaron
<:
F*FX225,1
P0� � �loadchars("Default"):�15:�("*FX21,0"):�
Z�control:�
d:
n��starfield
x(�21 Ȝ255:�S%=0� ns:sy%(S%)-=cg%(S%)
�
� ES%<0 �
��sy%(S%)<ES%�sy%(S%)=512
��
��sy%(S%)>ES%�sy%(S%)=-512
��
��69,sx%(S%),sy%(S%):�:�
�:
�
��plot
�:nasties%=0:cnt%+=1:� �(cnt%/3)=cnt%/3 � insurface%=� �
�!� anim%=0 anim%=100 � anim%=0
��
�<�L1%=0�NO%:� shot%(L1%)=0 � Z(L1%)+=(Z(L1%)/speed%(L1%))
�+temp%=(�(SP$(L1%))-46)*200:ZT%=Z(L1%)*3
1X%(L1%)=stx%(L1%)+(?(XT%+path%(L1%)+ZT%)-126)
1Y%(L1%)=sty%(L1%)+(?(YT%+path%(L1%)+ZT%)-126)
 � Z(L1%)>45 � shot%(L1%)>5 �
"=Z(L1%)=1:X%(L1%)=�(100)-50:Y%(L1%)=�(100)-50:shot%(L1%)=�
,'stx%(L1%)=X%(L1%):sty%(L1%)=Y%(L1%)
6W� insurface%=� SP$(L1%)=�(50+�((�-start%)/(ptime%/nwave%))):path%(L1%)=(4+�(8))*200
@!� SP$(L1%)="59" SP$(L1%)="50"
J� aliensover%=� Z(L1%)=0
T�:nasties%+=Z(L1%):�
^:
h� Sort into depth order
r:
|Q�L1%=0 � NO%-1:T%=Z(L1%):P%=L1%:�L2%=L1%+1 � NO%:� Z(L2%)<T% T%=Z(L2%):P%=L2%
���:Ȕ Z(L1%),Z(P%):Ȕ X%(L1%),X%(P%):Ȕ speed%(L1%),speed%(P%):Ȕ stx%(L1%),stx%(P%):Ȕ sty%(L1%),sty%(P%):Ȕ Y%(L1%),Y%(P%):Ȕ SP$(L1%),SP$(P%):Ȕ shot%(L1%),shot%(P%):Ȕ path%(L1%),path%(P%):�
�:
�5� Plot the aliens and colliosion/explosion detect
�:
�K�L%=0 � NO%:!scale=Z(L%):scale!4=Z(L%):scale!8=6:scale!12=6:SP$=SP$(L%)
�*� insurface%=� SP$=�(�(SP$(L%))+anim%)
�G�shot%(L%)>0 SP$="EXP"+�(shot%(L%)):shot%(L%)+=1:!scale=9:scale!4=9
�Hș"OS_SpriteOp",308,sp,SP$,X%(L%)*(Z(L%)/2),Y%(L%)*(Z(L%)/2),8,scale
�'� Z(L%)>30 � game=� � shot%(L%)=0 �
�� XS%<(X%(L%)*(Z(L%)/2))+500 � XS%+(48*4)>X%(L%)*(Z(L%)/2) � YS%<(Y%(L%)*(Z(L%)/2))+500 � YS%+(24*4)>Y%(L%)*(Z(L%)/2) � dead=� �hit
�	�:�:�
�:
�
��ship
'� �(-67) XS%+=32 � � �(-98) XS%-=32
(� �(-80) YS%+=32 � � �(-105) YS%-=32
+� XS%<-625 XS%=-625 � � XS%>450 XS%=450
&+� YS%<-405 YS%=-405 � � YS%>350 YS%=350
0gfire%=�:�(-74) � fireok%=� � �63:ȏ XS%+88,YS%+40,128:energy-=0.5:firetime%=�:�1,-15,500,5:fire%=�
:+ș"OS_SpriteOp",290,sp,"30",XS%,YS%,8:�
D:
N	��hit
XD� inhyper%=� �3,-15,300,40:energy-=25:shot%(L%)=1:�2,-15,10,40:�
bP�fire%=� dead=� � score%+=10+((�(SP$)-46-anim%)*10):shot%(L%)=1:�2,-15,10,40
l�
v:
���swapscreens
��game=� �displays
�)� game=� � � �-time%<4 � � �-time%>=4
�BȖ:ș 6,113,bank%:bank%=bank% � 2+1:ș 6,112,bank%:�:time%=�:�
�bank%=bank% � 2+1
�ș 6,112,bank%
��:time%=�:�
�:
���displays
�1�(-56) � pause%=� store=�:� � �(-55):�=store
��(-17) � pause%=� � �
��(-82) � pause%=� � �
��63:�28,12,30,28,30
G�;planet$;"   ";�"000000"+�(score%),6);"   0";lives%;:�28,1,27,38,2
<ș"OS_SpriteOp",290,sp,"T4",-640,448,0:� energy<0 dead=�
� energy>50 �13 � � 3
 ȓ Ȑ -608,472,energy*4,4:�
*:
4��playgame
>� �:� � � �errorinternal:�
H0�setupgame:�setupdisplays:�launch:pause%=�:�
R1� dead=� � inhyper%<>2 inhyper%=�:�hyperspace
\0� dead=� � inrocks%<>2 inrocks%=�:�asteroids
f1� dead=� � insurface%<>2 insurface%=�:�planet
p+� dead=� fire%=�:�lifelost:� lives%=0:�
z�completed:� lives%=0:�
�:
���hyperspace
�(unknown%=�:aliensover%=�:� �(30)=1 �
�Nunknown%=�:�:A%=�(12):� A%<>planet%:planet%=A%:planet$=�"00"+�(planet%),2)
�A�:xtemp=XC%:ytemp=YC%:XC%=0:YC%=0:planet$=�"00"+�(planet%),2)
�FX%=-166:Y%=-166:x%=24:�setupobjects(blbn%,2,48,hspd%):�zipoutstars
�7�shipzoomsin:start%=�:fireok%=�:XC%=xtemp:YC%=ytemp
��:�hyperplane:�plot:�ship
�W� XS%>X%+180 � XS%+50<X% � YS%>Y%+300 � YS%+50<Y% energy-=5:�3,-8,500+(energy*10),2
�+ș"OS_SpriteOp",308,sp,"HYP",-585,400,8
�p�unknown%=� � �>start%+500 ș"OS_SpriteOp",308,sp,"ER1",-595,-320,8:ș"OS_SpriteOp",308,sp,"ER2",-595,-380,8
�*� �>start%+(hyper%*1500) aliensover%=�
�&�swapscreens:� dead=� � nasties%=0
#� dead=� inhyper%=2:�zipinstars
%� unknown%=� � �readdata(planet%)
�
$:
.��planet
8�readplanetdata
B-� ziplanet%=� �zoomintoplanet:ziplanet%=�
L�surfacewar
V�
`:
j��swapfield(fl%)
t� fl%=� � cg%(1)<0 �
~� fl%=�  � cg%(1)>0 �
�+�S%=0� ns:cg%(S%)=-cg%(S%):�:ES%=-ES%:�
�:
���asteroids
�aliensover%=�
�2�setupobjects(4,2,46,aspd%):�flash("AST",-525)
�#�shipzoomsin:start%=�:fireok%=�
��:�starfield:�plot:�ship
�F� �>start%+(aster%*1500)-200 ș"OS_SpriteOp",308,sp,"plt",-550,0,8
�*� �>start%+(aster%*1500) aliensover%=�
�&�swapscreens:� dead=� � nasties%=0
�� dead=� inrocks%=2
��
:

��surfacewar
!aliensover%=�:�128+planetsky%
0�setupobjects(3,1,50,alspeed%):�swapfield(�)
(#fireok%=�:�shipzoomsin:start%=�
2*�:�starfield:�planetground(-372):�plot
<6�ship:�swapscreens:� �>start%+ptime% aliensover%=�
F'� dead=� � nasties%=0:�swapfield(�)
P�
Z:
d��leaveplanet
n �L%=-372�-500 �-8:�starfield
x,�planetground(L%):�ship:�swapscreens:�:�
�:
���hyperplane
�PL%=x%:�:�0
�)�-640,PL%,640,PL%:�-640,-PL%,640,-PL%
�-PL%=PL%*1.6:� PL%>480:x%+=8:� x%>52 x%=24
� X%+=XC%:Y%+=YC%:�0,15:�T=1�8
�(ȓ X%/T,Y%/T,1000/(T*3),1000/(T*3):�
�� 0,0,X%,Y%:� 0,0,X%,Y%+333
�%�0,0,X%+333,Y%:�0,0,X%+333,Y%+333
�)� X%<-600 � X%>500 � �(20)=1 XC%=-XC%
�)� Y%<-300 � Y%>300 � �(20)=1 YC%=-YC%
��
�:
&��planetground(y%):col%=planetcol%
3tnt%=0:�yk%=y% � y%-64 �-16:�planetcol% Ȝ tnt%
xk%=36:� yk%<-372 xk%+=�(8)
"(ȓ Ȑ -608,yk%,1270,xk%:tnt%+=65:�:�
,:
6��setupdisplays
@�L%=1�2
J+ș"OS_SpriteOp",290,sp,"T6",-640,-512,0
T*ș"OS_SpriteOp",290,sp,"T6",608,-512,0
^*ș"OS_SpriteOp",290,sp,"T4",-640,448,0
h+ș"OS_SpriteOp",290,sp,"T5",-640,-512,0
r �28,1,27,38,2:�swapscreens:�
|�24,-608;-383;604;508;:�
�:
���flash(txt$,x)
��L%=1�50:�starfield
�(ș "OS_SpriteOp",308,sp,txt$,x,-16,8
��swapscreens:�:�
�:
���titlescreen
��128:�:�13 Ȝ 255
�E%=60:STP%=1:D%=-640
�0game=�:�setupobjects(1,2,46,6):�26:ȑ640,512
�(�:�starfield:�48:ȓ-300,-380,600,860
�)ș "OS_SpriteOp",290,sp,"T0",-500,0,0
�)ș "OS_SpriteOp",308,sp,"T1",-208,-96
,ș "OS_SpriteOp",308,sp,"LOGO",-180,-280
3�scores(14,3):�scrolltext:�swapscreens:� �(-99)
�
&:
0��scores(X,Y)
:5�T=1�5:�X,Y+T);hiscore%(T):�X+8,Y+T);name$(T):�
D�
N:
X��windup
b�gameover:ES%=-512
l�
v:
���tactical
�*FX15,0
�8�swapscreens:ȗ �:ȗ ȓ -640,-512,1279,1024:ȗ � 0,0
�3�drawhyperroutes:�drawtactical:�swapscreens:�:�
�'ȗ X,Y,Z:� Z<>0:xp%=((X+700)/350)+1
�<yp%=(3-((Y+512)/341)):� �checkmap(planet%,xp%+(yp%*4))=�
�planet%=xp%+(yp%*4):ȗ �:�
�:
���drawhyperroutes
�(�3:�-530,331,50,331:�-435,236,-435,0
�7�-500,0,-500,180:�-500,180,500,180:�500,180,500,240
�1�435,236,435,50:�145,236,145,50:�50,30,340,30
�8�145,-65,145,-300:�80,-65,80,-125:�80,-125,-435,-125
<�-435,-125,-435,-250:�-500,0,-500,-250:�-145,0,-145,-250
/�-100,30,0,30:�0,30,0,-225:�0,-225,100,-225
<�-530,30,-290,30:�-290,30,-290,-275:�-290,-275,-100,-275
 �-100,-275,340,-275:�
*:
4��drawtactical
>$�drawplan(-530,236,3,1,"SOMBAR")
H#�drawplan(-240,236,2,2,"TALIS")
R"�drawplan(50,236,1,3,"PRUDIS")
\#�drawplan(340,236,3,4,"STONAR")
f"�drawplan(-530,-65,2,5,"DUNI")
p#�drawplan(-240,-65,4,6,"PORTA")
z"�drawplan(50,-65,3,7,"DV125G")
�"�drawplan(340,-65,2,8,"SUNST")
�$�drawplan(-530,-370,2,9,"LOKIT")
�%�drawplan(-240,-370,1,10,"STOTK")
�#�drawplan(50,-370,2,11,"MAGNU")
�$�drawplan(340,-370,3,12,"EARTH")
��
�:
�(��drawplan(X%,Y%,size,s,nm$):bong%=�
�@!scale=1:scale!4=1:scale!8=size:scale!12=size:spr$="pl"+�(s)
�#�0 Ȝ 0:ȓ Ȑ X%-4,Y%-4,194,194
�9X=X%+((95/size)*�(size-1)):Y=Y%+((95/size)*�(size-1))
�,ș "OS_SpriteOp",308,sp,spr$,X,Y,0,scale
�� s=planet% � 60 � �3
	"� �checkmap(planet%,s)=� �0,12
	ȓ X%-4,Y%-4,194,194:�5
	-�7 Ȝ 255:�(X%+95)-(�(nm$)*16),Y%+95:�nm$
	$8� PD%(s)=� ș"OS_SpriteOp",308,sp,"ydta",X%+12,Y%+12
	.bong%=�:�4:�
	8:
	B!ݤcheckmap(loc%,dest%):� �dJR
	L(� dest%<1 � dest%>12 �3,-15,500,5:=�
	V2�T=1�loc%:� ne:�L%=1�ne:� ex%(L%),hyp%(L%):�:�
	`:res=�:�L%=1�ne:� ex%(L%)=dest% � res=�:hyper%=hyp%(L%)
	jA�:� (res=� � bong%=�) �1,-15,3000,50 � � bong%=� �3,-15,500,5
	t�readdata(dest%):=res
	~:
	���information
	�?mes%=1:�:dud1=-800:� planet%=12 � info%=11 � mes%=3:done%=�
	�3� PD%(planet%)=� PD%(planet%)=�:info%+=1:mes%=2
	�)�textinfo:� �(8)=1 � done%=� �newdata
	�;� �(20)=1 � done%=� inf$(2)="No fuel here" � energy=302
	�P�score%>extra% � lives%<10 � lives%+=1:extra%+=5000:inf$(2)="Extra ship !!!"
	�+�:ș"OS_SpriteOp",308,sp,"DCK",-607,146
	�+ș"OS_SpriteOp",308,sp,"SHP",dud1,200,8
	�2�3:�3,11);"GENETIC INFO",�6,22);"DATA=";info%
	�@ș"OS_SpriteOp",308,sp,"T2",-428,-220:�3,24);"11  REQUIRED"
	�2�20,13);"MESSAGE WINDOW":�63:ȓ0,-348,514,436
	�#�13:�T=1�4:�20,15+T);inf$(T):�
�3:�20,22)"PRESS SPACEBAR"

,�swapscreens:� dud1<-100 dud1-=(dud1/20)
� �(-99):�
:
(��textinfo
2'��tnU:�T=1�mes%:�J=1�4:�inf$(J):�:�
<�
F:
P
��newdata
Z1�:A%=�(11):� A%<>planet%:� PD%(A%)=� info%-=1
d,PD%(A%)=�:inf$(3)="New data on "+�(A%):�
n:
x��completed:fireok%=�
�(�leaveplanet:�dock:�128:�information
�!� done%=� �donejob:lives%=0:�
��:�tactical:�launch
�0inhyper%=�:inrocks%=�:insurface%=�:fireok%=�
�ziplanet%=�:�
�:
�
��control
�%�13:�:�init:ȑ 640,512:�:pause%=�
��titlescreen
��setupgame
��playgame:�windup
�� �
�:
��shipzoomsin
�setupship:Z=120:�:Z-=(Z/6)
)� inhyper%=� �hyperplane � �starfield
"%�insurface%=� �planetground(-372)
,B!scale=Z:scale!4=Z:scale!8=3:scale!12=3:xmod=�(((Z-3)*6)/6)*31
65ș "OS_SpriteOp",308,sp,"30",XS%-xmod,YS%,8,scale
@�swapscreens:� Z<4:�
J:
T��blankfield
^(�L%=1�20:�starfield:�swapscreens:�:�
h:
r
��init
|ș"OS_UpdateMEMC",64,64
�%�startsprites:�loadchars("Chars")
��("*POINTER 1"):ȗ �
�(�setupvars:�starttext:�loadmovetable
��
�:
���setupvars
�I� X%(50),Y%(50),Z(50),SP$(50),shot%(50),scale 16,hiscore%(6),name$(6)
�G�sx%(40),sy%(40),cg%(40),txt$(10),ex%(5),hyp%(5),speed%(50),PD%(12)
�>�stx%(50),sty%(50),xtext$(30),ytext$(30),inf$(5),path%(50)
�DNO%=50:ns=10:ES%=-512:bank%=1:time%=0:score%=0:�128:insurface%=�
�)��T|T:�T=1�5:� hiscore%(T),name$(T):�
�.aliensover%=�:�L%=0�40:sx%(L%)=�(1279)-640
�-sy%(L%)=�(1023)-512:cg%(L%)=4+(�(L%/3)*4)
Ƞ3:*CHANNELVOICE 1 5
/�("CHANNELVOICE 2 9"):�("CHANNELVOICE 3 3")
�:ȗ ȓ -640,-512,640,512:�
&:
0��setupgame
:Clives%=3:score%=0:dead=�:game=�:wave%=1:snd%=1:ES%=-383:done%=�
DUenergy=302:planet%=1:inhyper%=�:inrocks%=�:planet$=�"00"+�(planet%),2):�setupship
N6hyper%=1:insurface%=�:fireok%=�:ziplanet%=�:cnt%=1
X?�T%=1�11:PD%(T%)=�:�:PD%(12)=�:info%=0:extra%=5000:nwave%=3
bDaspd%=6:hspd%=6:aster%=1:blbn%=1:XC%=4:YC%=4:ptime%=3000:anim%=0
l,planetsky%=36:planetcol%=8:alspeed%=12:�
v:
���setupship
�.XS%=-24*4:YS%=-12*4:ZS%=5:firetime%=�-50:�
�:
�.��setupobjects(num,rnd,base,speed):NO%=num
�0�L%=0� NO%:X%(L%)=�(100)-50:Y%(L%)=�(100)-50
�4stx%(L%)=X%(L%):sty%(L%)=Y%(L%):speed%(L%)=speed
�'Z(L%)=�(5):SP$(L%)=�(base):�rnd>1 �
�+SP$(L%)=�(�(�(rnd)+base-1)):shot%(L%)=�
�
�:anim%=0
�I� insurface%=� path%(L%)=(�(SP$(L%))-46)*200 � path%(L%)=(4+�(8))*200
��:�
�:
���startsprites

� sp &3F000:!sp=&3F000

sp!4=0:sp!8=16:sp!12=16

&�SYS"OS_SpriteOp",266,sp,"SPRITES"

�("LOAD PACKSPR "+�~(sp))

 �

*:

4��zoomintoplanet

>�:�L%=1�80

H8!scale=L%:scale!4=L%:scale!8=5:scale!12=5:�starfield

RHSP$="pl"+�(planet%):ș"OS_SpriteOp",308,sp,SP$,-L%*21,-L%*21,8,scale

\&�ship:�planetdata:�swapscreens:�:�

f:

p��lifelost

z � insurface%=� �swapfield(�)

�0�2,-15,5,200:EX%=1:�dud=1�40:S$="EXP"+�(EX%)

�)� inhyper%=� �hyperplane � �starfield

�&� insurface%=� �planetground(-372)

�5� inrocks%=-1 � inhyper%=-1 � insurface%=-1 �plot

�A� EX%<7 ș"OS_SpriteOp",308,sp,S$,XS%-(EX%*20),YS%-(EX%*20),8

�4� dud<26 ș"OS_SpriteOp",308,sp,"ded",-540,-16,8

��swapscreens:EX%+=1:�

�/lives%-=1:energy=304:dead=�:�swapfield(�):�

�:

���gameover

�pause%=�:�dud=1�50

� � insurface%=� �swapfield(�)

�)� inhyper%=� �hyperplane � �starfield
&� insurface%=� �planetground(-372)
5� inrocks%=-1 � inhyper%=-1 � insurface%=-1 �plot
4� dud<30 ș"OS_SpriteOp",308,sp,"GVR",-288,-16,8
$J� score%>hiscore%(5) ș"OS_SpriteOp",308,sp,"HIS",-559,-600+(dud*20),8
.2�swapscreens:�:� score%>hiscore%(5) �ontotable
8�swapfield(�):�
B:
L��ontotable
Vinsurface%=�:�128
`Atable1%=6:�:table1%-=1:� hiscore%(table1%)>score% � table1%=0
jD�T=5�table1%+1 �-1:hiscore%(T+1)=hiscore%(T):name$(T+1)=name$(T)
t1�:table1%+=1:hiscore%(table1%)=score%:*FX21,0
~1�:name$(table1%)="":�setupobjects(2,2,48,3):�
�)�starfield:�plot:�60:�scores(12,8):�3
�2ș"OS_SpriteOp",308,sp,"HIS",-559,400,8:A=�(0)
�:�A>32� A<123� �(name$(table1%))<5 name$(table1%)+=�(A)
�'� A<>-1 � A<>13 � (A<32 � A>127) �7
�U� �(name$(table1%))>0 � A=127 name$(table1%)=�name$(table1%),�(name$(table1%))-1)
�E�5,21)"ENTER NAME FOR HI-SCORE TABLE":�16,23)">";name$(table1%)
��swapscreens:� A=13:�
�:
���zipoutstars
��128:�swapscreens
�'�flash("jmp",-490):�XE%=0 � 800 �48
�#�starfield:�7 Ȝ0:ȏ Ȑ 0,0,XE%
-�hyperplane:�11:ȏ 0,0,XE%:�swapscreens:�

�128+7:�:�
:
��zipinstars
(Z=4:�:�hyperplane
2B!scale=Z:scale!4=Z:scale!8=3:scale!12=3:xmod=�(((Z-3)*6)/6)*31
<5ș "OS_SpriteOp",308,sp,"30",XS%-xmod,YS%,8,scale
F+Z+=(Z/6):�swapscreens:� Z>120:�21 Ȝ255
P-�XE%=0 � 640 �48:�swapscreens:�hyperplane
Z$�0 Ȝ 0:ȏ Ȑ 0,0,XE%:�starfield
d�:�128:�
n:
x��launch
�L=150:�128:�
�6!scale=L:scale!4=L:scale!8=3:scale!12=3:�starfield
�>ș"OS_SpriteOp",308,sp,"STATION",-(L*32.5),-(L*32),8,scale
�8ș"OS_SpriteOp",308,sp,"RVW",-568,-16,8:�swapscreens
�L=�(L-(L/6)):� L<1:�
�:
�
��dock
�
L%=6:�
�:!scale=L%:scale!4=L%:scale!8=12:scale!12=12:�starfield
�=ș "OS_SpriteOp",308,sp,"STATION",-(L%*8),-(L%*8),8,scale
�1�ship:�swapscreens:L%=�(L%+(L%/6)):� L%>700:�
�:
�
��donejob
�T=400�-600 �-12:�starfield
-ș "OS_SpriteOp",308,sp,"T0",-500,100+T,0
+ș"OS_SpriteOp",308,sp,"T2",-100,-700-T
"+ș"OS_SpriteOp",308,sp,"GVR",-288,-16,8
,�swapscreens:�
6*�T=600 � -3000 �-12:�starfield:�Y=1�12
@Cș"OS_SpriteOp",308,sp,"pl"+�(Y),(�(T+Y)/8)*(40*Y)-80,T+(Y*200)
J+�:ș"OS_SpriteOp",308,sp,"T2",-100,-100
T+ș"OS_SpriteOp",308,sp,"GVR",-288,-16,8
^�swapscreens:�
h�T=-100�600 �12:�starfield
r&ș"OS_SpriteOp",308,sp,"T2",-100,T
|+ș"OS_SpriteOp",308,sp,"GVR",-288,-16,8
��swapscreens:�:�
�:
���planetdata
�2�5:�planet%=1 � planet%=6 � planet%>7 �3 � �60
��T=0�7:pos=�(txt$(T))*32
��-pos/2,200-(T*50):�txt$(T)
�
�:�4:�
�:
�)� DATA FOR PLANET INFORMATION SCREENS
�� "SOMBAR",""
�=�"A small and relatively unimportant","Earth type world."
�<�"It has few rescources for the","Invaders,yet it would"
�.�"provide a perfect base","of operations."
� "TALIS",""
?�"A desert world with thin habitable","bands at the poles."
<�"However it is rich in mineral","wealth.A planet which"
&5�"the Invaders will try and keep","at all costs."
0�"PRUDIS",""
:9�"The water world.The vast","sea contains many trace"
D9�"elements, as well as being","an ideal location for"
N8�"food production.A large and","very useful planet."
X�"STONAR",""
b5�"An old dead planet,yet","it provides a perfect"
l6�"base for expansion into","the heavily inhabited"
v.�"inner worlds of the","human federation."
��"DUNI",""
�>�"A gas giant whoose atmosphere","contains many chemicals"
�=�"vital to both us and","the Invaders.The single moon is"
�9�"of very little interest","being just rock and ice."
��"PORTA",""
�9�"An ice world,however deep","below the ice lie vast"
�@�"deposits of minerals vital to both","sides,it's recapture"
�9�"will render a severe blow","to the Invaders plans."
��"DV125G",""
�;�"Little more than a giant rock","in space.With no sun"
�5�"to light it's surface.","It's only value is as"
�:�" a staging post to final conquest","of human space."
��"SUNST",""
:�"The little desert world with","one single sea about"
5�"which is located all of","the colonisation and"
6�"agriculture of this beautifull","holiday world."
 �"LOKIT",""
*9�"A colony world with a very","high human population"
46�"as well as a great deal","of heavy industry and"
>E�"agriculture,the first of the","heavily populated inner worlds."
H�"STOTK",""
RB�"An agricultural world,the grain","basket of the federation."
\:�"A gigantic version of Earth","without the shattered"
fA�"ecology of the original world.","This world must be saved!"
p�"MAGNU",""
zB�"The first of the federations","Terraformed planets,designed"
�D�"to be a replacement Earth.","The planet has little in the way"
�B�"of rescources,importing what","it needs from other planets."
��"EARTH",""
�>�"The home of man,now a tired","shell of a planet.Housing"
�;�"the offices of the federation.","The loss of this to"
�;�"the Invaders was the final","blow to the federation."
�:
�%� DATA FOR TACTICAL LOOK UP TABLE
�:
�2� FORMAT NoExits,Exit1,Dist1,Exit2,Dist2 .....
�:
��2,2,1,5,1
��2,1,1,3,1
�2,2,1,7,4
�2,5,5,8,1
�4,4,5,1,1,9,1,10,2
$�2,10,1,11,2
.�4,3,1,8,1,9,3,11,1
8�2,7,1,4,1
B�2,5,1,7,3
L�3,5,2,6,1,11,1
V�4,10,1,7,1,6,2,12,1
`�1,11,1
j:
t;� Data for Hyper speed(hspd%),number of blobs+1 (blbn%)
~A� asteroid speed(aspd%) and length of asteroid field (aster%)
�=� also XC% and YC% controlling vectors of tunnel movement
�J� and (bckcol%) and (planetcol%) planet time alienspeed nuber of waves
�:
� � 8,1,8,1,4,4,36,8,3000,14,3
�"� 10,1,6,2,8,4,32,11,3000,12,4
�!� 8,2,4,3,8,8,56,16,4500,10,5
�!� 10,1,3,1,4,16,23,2,7500,8,5
�"� 8,1,9,5,8,16,18,55,3000,12,6
�#� 10,3,2,1,12,8,63,42,9000,14,4
�!� 6,1,3,4,16,16,0,42,7500,8,6
�"� 6,3,4,5,4,16,32,11,6000,14,4
�!� 8,1,6,8,4,4,36,13,6000,12,6
!� 8,2,2,3,8,4,41,12,4500,10,6

"� 6,1,4,4,20,20,48,9,13500,8,7
"� 4,3,3,6,24,24,20,4,18000,6,8
:
(� High Score Table Data
2:
<;�5000,AARON,4000,AARON,3000,AARON,2000,AARON,1000,AARON
F:
P��loadchars(chr$)
Z.X=�(chr$):� T%=32 � 255:� 23,T%:� I%=1 � 8
d� �#X:�I%:�T%:�
n:
x��readdata(dest%)
���tfS:�T=1� dest%
�R�hspd%,blbn%,aspd%,aster%,XC%,YC%,planetsky%,planetcol%,ptime%,alspeed%,nwave%
��:�
�:
���loadmovetable
�6A=�("Equations"):�T=0�30:�#A,xtext$(T),ytext$(T):�
��#0:�movetable:�
�:
���readplanetdata
�	��dVP
�)�T=1�planet%:�L%=0�7:� txt$(L%):�:�:�
�:
���movetable
� XT% 10500, YT% 10500
)�T=0�29:L1%=1:�K=0 � 150:Z(L1%)=(K/3)
(!(XT%+(T*200)+K)=�(�(xtext$(T)))+126
"(!(YT%+(T*200)+K)=�(�(ytext$(T)))+126
,:� PRINTT,K,?(XT%+(T*200)+Z(L1%)),?(YT%+(T*200)+Z(L1%))
6	�:�:�
@:
J��scrolltext
TID%-=E%:C%=(J%+STP%):F%=D%:� D%=-820 STP%+=1:D%=-640:� STP%=LS% STP%=1
^A�T%=C%�C%+9:ș"OS_SpriteOp",290,sp,�(?(T%)),F%,-500:F%+=180:�
h�
r:
|��starttext
�.file%=�("ScrollText"):� J% �#file%:pt%=1:�
�A%=�#file%:� A%=32 A%=255
�/J%!pt%=A%:pt%+=1:� �#file%:�#0:LS%=pt%-10:�
�:
�E� "No data here","Ship refuelled","Tactical next","Message ends."
�G� "Data collected","Ship refuelled","Tactical next","Message ends."
�F� "Data delivered","Mission over","Well done you","saved Humanity"
�:
���errorinternal
�� �=17 �
�*�loadchars("Default"):�15:�("*FX21,0")
��:�" at line ";�:�
�
00000000  0d 00 0a 0f f4 3e 21 52  75 6e 49 6d 61 67 65 0d  |.....>!RunImage.|
00000010  00 14 19 f4 20 21 54 61  63 74 69 63 75 73 20 6d  |.... !Tacticus m|
00000020  61 69 6e 20 67 61 6d 65  0d 00 1e 1e f4 20 56 65  |ain game..... Ve|
00000030  72 73 69 6f 6e 20 31 2e  33 20 46 65 62 75 61 72  |rsion 1.3 Febuar|
00000040  79 20 31 39 39 31 0d 00  28 3b f4 20 54 75 72 62  |y 1991..(;. Turb|
00000050  6f 20 56 65 72 73 69 6f  6e 20 77 69 74 68 20 6e  |o Version with n|
00000060  65 77 20 4d 6f 76 65 20  63 6f 6e 74 72 6f 6c 20  |ew Move control |
00000070  2b 20 52 61 6e 64 6f 6d  20 70 61 74 68 77 61 79  |+ Random pathway|
00000080  73 0d 00 32 0f f4 20 28  63 29 20 41 61 72 6f 6e  |s..2.. (c) Aaron|
00000090  0d 00 3c 05 3a 0d 00 46  0c 2a 46 58 32 32 35 2c  |..<.:..F.*FX225,|
000000a0  31 0d 00 50 30 ee 20 85  20 f2 6c 6f 61 64 63 68  |1..P0. . .loadch|
000000b0  61 72 73 28 22 44 65 66  61 75 6c 74 22 29 3a eb  |ars("Default"):.|
000000c0  31 35 3a ff 28 22 2a 46  58 32 31 2c 30 22 29 3a  |15:.("*FX21,0"):|
000000d0  e0 0d 00 5a 0e f2 63 6f  6e 74 72 6f 6c 3a e0 0d  |...Z..control:..|
000000e0  00 64 05 3a 0d 00 6e 0f  dd f2 73 74 61 72 66 69  |.d.:..n...starfi|
000000f0  65 6c 64 0d 00 78 28 e6  32 31 20 c8 9c 32 35 35  |eld..x(.21 ..255|
00000100  3a e3 53 25 3d 30 b8 20  6e 73 3a 73 79 25 28 53  |:.S%=0. ns:sy%(S|
00000110  25 29 2d 3d 63 67 25 28  53 25 29 0d 00 82 0d e7  |%)-=cg%(S%).....|
00000120  20 45 53 25 3c 30 20 8c  0d 00 8c 1c e7 73 79 25  | ES%<0 ......sy%|
00000130  28 53 25 29 3c 45 53 25  8c 73 79 25 28 53 25 29  |(S%)<ES%.sy%(S%)|
00000140  3d 35 31 32 0d 00 96 05  cc 0d 00 a0 1d e7 73 79  |=512..........sy|
00000150  25 28 53 25 29 3e 45 53  25 8c 73 79 25 28 53 25  |%(S%)>ES%.sy%(S%|
00000160  29 3d 2d 35 31 32 0d 00  aa 05 cd 0d 00 b4 1b f0  |)=-512..........|
00000170  36 39 2c 73 78 25 28 53  25 29 2c 73 79 25 28 53  |69,sx%(S%),sy%(S|
00000180  25 29 3a ed 3a e1 0d 00  be 05 3a 0d 00 c8 0a dd  |%):.:.....:.....|
00000190  f2 70 6c 6f 74 0d 00 d2  3a 6e 61 73 74 69 65 73  |.plot...:nasties|
000001a0  25 3d 30 3a 63 6e 74 25  2b 3d 31 3a e7 20 a8 28  |%=0:cnt%+=1:. .(|
000001b0  63 6e 74 25 2f 33 29 3d  63 6e 74 25 2f 33 20 80  |cnt%/3)=cnt%/3 .|
000001c0  20 69 6e 73 75 72 66 61  63 65 25 3d b9 20 8c 0d  | insurface%=. ..|
000001d0  00 dc 21 e7 20 61 6e 69  6d 25 3d 30 20 61 6e 69  |..!. anim%=0 ani|
000001e0  6d 25 3d 31 30 30 20 8b  20 61 6e 69 6d 25 3d 30  |m%=100 . anim%=0|
000001f0  0d 00 e6 05 cd 0d 00 f0  3c e3 4c 31 25 3d 30 b8  |........<.L1%=0.|
00000200  4e 4f 25 3a e7 20 73 68  6f 74 25 28 4c 31 25 29  |NO%:. shot%(L1%)|
00000210  3d 30 20 8c 20 5a 28 4c  31 25 29 2b 3d 28 5a 28  |=0 . Z(L1%)+=(Z(|
00000220  4c 31 25 29 2f 73 70 65  65 64 25 28 4c 31 25 29  |L1%)/speed%(L1%)|
00000230  29 0d 00 fa 2b 74 65 6d  70 25 3d 28 bb 28 53 50  |)...+temp%=(.(SP|
00000240  24 28 4c 31 25 29 29 2d  34 36 29 2a 32 30 30 3a  |$(L1%))-46)*200:|
00000250  5a 54 25 3d 5a 28 4c 31  25 29 2a 33 0d 01 04 31  |ZT%=Z(L1%)*3...1|
00000260  58 25 28 4c 31 25 29 3d  73 74 78 25 28 4c 31 25  |X%(L1%)=stx%(L1%|
00000270  29 2b 28 3f 28 58 54 25  2b 70 61 74 68 25 28 4c  |)+(?(XT%+path%(L|
00000280  31 25 29 2b 5a 54 25 29  2d 31 32 36 29 0d 01 0e  |1%)+ZT%)-126)...|
00000290  31 59 25 28 4c 31 25 29  3d 73 74 79 25 28 4c 31  |1Y%(L1%)=sty%(L1|
000002a0  25 29 2b 28 3f 28 59 54  25 2b 70 61 74 68 25 28  |%)+(?(YT%+path%(|
000002b0  4c 31 25 29 2b 5a 54 25  29 2d 31 32 36 29 0d 01  |L1%)+ZT%)-126)..|
000002c0  18 20 e7 20 5a 28 4c 31  25 29 3e 34 35 20 84 20  |. . Z(L1%)>45 . |
000002d0  73 68 6f 74 25 28 4c 31  25 29 3e 35 20 8c 0d 01  |shot%(L1%)>5 ...|
000002e0  22 3d 5a 28 4c 31 25 29  3d 31 3a 58 25 28 4c 31  |"=Z(L1%)=1:X%(L1|
000002f0  25 29 3d b3 28 31 30 30  29 2d 35 30 3a 59 25 28  |%)=.(100)-50:Y%(|
00000300  4c 31 25 29 3d b3 28 31  30 30 29 2d 35 30 3a 73  |L1%)=.(100)-50:s|
00000310  68 6f 74 25 28 4c 31 25  29 3d a3 0d 01 2c 27 73  |hot%(L1%)=...,'s|
00000320  74 78 25 28 4c 31 25 29  3d 58 25 28 4c 31 25 29  |tx%(L1%)=X%(L1%)|
00000330  3a 73 74 79 25 28 4c 31  25 29 3d 59 25 28 4c 31  |:sty%(L1%)=Y%(L1|
00000340  25 29 0d 01 36 57 e7 20  69 6e 73 75 72 66 61 63  |%)..6W. insurfac|
00000350  65 25 3d b9 20 53 50 24  28 4c 31 25 29 3d c3 28  |e%=. SP$(L1%)=.(|
00000360  35 30 2b a8 28 28 91 2d  73 74 61 72 74 25 29 2f  |50+.((.-start%)/|
00000370  28 70 74 69 6d 65 25 2f  6e 77 61 76 65 25 29 29  |(ptime%/nwave%))|
00000380  29 3a 70 61 74 68 25 28  4c 31 25 29 3d 28 34 2b  |):path%(L1%)=(4+|
00000390  b3 28 38 29 29 2a 32 30  30 0d 01 40 21 e7 20 53  |.(8))*200..@!. S|
000003a0  50 24 28 4c 31 25 29 3d  22 35 39 22 20 53 50 24  |P$(L1%)="59" SP$|
000003b0  28 4c 31 25 29 3d 22 35  30 22 0d 01 4a 1c e7 20  |(L1%)="50"..J.. |
000003c0  61 6c 69 65 6e 73 6f 76  65 72 25 3d b9 20 5a 28  |aliensover%=. Z(|
000003d0  4c 31 25 29 3d 30 0d 01  54 18 cd 3a 6e 61 73 74  |L1%)=0..T..:nast|
000003e0  69 65 73 25 2b 3d 5a 28  4c 31 25 29 3a ed 0d 01  |ies%+=Z(L1%):...|
000003f0  5e 05 3a 0d 01 68 1b f4  20 53 6f 72 74 20 69 6e  |^.:..h.. Sort in|
00000400  74 6f 20 64 65 70 74 68  20 6f 72 64 65 72 0d 01  |to depth order..|
00000410  72 05 3a 0d 01 7c 51 e3  4c 31 25 3d 30 20 b8 20  |r.:..|Q.L1%=0 . |
00000420  4e 4f 25 2d 31 3a 54 25  3d 5a 28 4c 31 25 29 3a  |NO%-1:T%=Z(L1%):|
00000430  50 25 3d 4c 31 25 3a e3  4c 32 25 3d 4c 31 25 2b  |P%=L1%:.L2%=L1%+|
00000440  31 20 b8 20 4e 4f 25 3a  e7 20 5a 28 4c 32 25 29  |1 . NO%:. Z(L2%)|
00000450  3c 54 25 20 54 25 3d 5a  28 4c 32 25 29 3a 50 25  |<T% T%=Z(L2%):P%|
00000460  3d 4c 32 25 0d 01 86 c5  ed 3a c8 94 20 5a 28 4c  |=L2%.....:.. Z(L|
00000470  31 25 29 2c 5a 28 50 25  29 3a c8 94 20 58 25 28  |1%),Z(P%):.. X%(|
00000480  4c 31 25 29 2c 58 25 28  50 25 29 3a c8 94 20 73  |L1%),X%(P%):.. s|
00000490  70 65 65 64 25 28 4c 31  25 29 2c 73 70 65 65 64  |peed%(L1%),speed|
000004a0  25 28 50 25 29 3a c8 94  20 73 74 78 25 28 4c 31  |%(P%):.. stx%(L1|
000004b0  25 29 2c 73 74 78 25 28  50 25 29 3a c8 94 20 73  |%),stx%(P%):.. s|
000004c0  74 79 25 28 4c 31 25 29  2c 73 74 79 25 28 50 25  |ty%(L1%),sty%(P%|
000004d0  29 3a c8 94 20 59 25 28  4c 31 25 29 2c 59 25 28  |):.. Y%(L1%),Y%(|
000004e0  50 25 29 3a c8 94 20 53  50 24 28 4c 31 25 29 2c  |P%):.. SP$(L1%),|
000004f0  53 50 24 28 50 25 29 3a  c8 94 20 73 68 6f 74 25  |SP$(P%):.. shot%|
00000500  28 4c 31 25 29 2c 73 68  6f 74 25 28 50 25 29 3a  |(L1%),shot%(P%):|
00000510  c8 94 20 70 61 74 68 25  28 4c 31 25 29 2c 70 61  |.. path%(L1%),pa|
00000520  74 68 25 28 50 25 29 3a  ed 0d 01 90 05 3a 0d 01  |th%(P%):.....:..|
00000530  9a 35 f4 20 50 6c 6f 74  20 74 68 65 20 61 6c 69  |.5. Plot the ali|
00000540  65 6e 73 20 61 6e 64 20  63 6f 6c 6c 69 6f 73 69  |ens and colliosi|
00000550  6f 6e 2f 65 78 70 6c 6f  73 69 6f 6e 20 64 65 74  |on/explosion det|
00000560  65 63 74 0d 01 a4 05 3a  0d 01 ae 4b e3 4c 25 3d  |ect....:...K.L%=|
00000570  30 20 b8 20 4e 4f 25 3a  21 73 63 61 6c 65 3d 5a  |0 . NO%:!scale=Z|
00000580  28 4c 25 29 3a 73 63 61  6c 65 21 34 3d 5a 28 4c  |(L%):scale!4=Z(L|
00000590  25 29 3a 73 63 61 6c 65  21 38 3d 36 3a 73 63 61  |%):scale!8=6:sca|
000005a0  6c 65 21 31 32 3d 36 3a  53 50 24 3d 53 50 24 28  |le!12=6:SP$=SP$(|
000005b0  4c 25 29 0d 01 b8 2a e7  20 69 6e 73 75 72 66 61  |L%)...*. insurfa|
000005c0  63 65 25 3d b9 20 53 50  24 3d c3 28 bb 28 53 50  |ce%=. SP$=.(.(SP|
000005d0  24 28 4c 25 29 29 2b 61  6e 69 6d 25 29 0d 01 c2  |$(L%))+anim%)...|
000005e0  47 e7 73 68 6f 74 25 28  4c 25 29 3e 30 20 53 50  |G.shot%(L%)>0 SP|
000005f0  24 3d 22 45 58 50 22 2b  c3 28 73 68 6f 74 25 28  |$="EXP"+.(shot%(|
00000600  4c 25 29 29 3a 73 68 6f  74 25 28 4c 25 29 2b 3d  |L%)):shot%(L%)+=|
00000610  31 3a 21 73 63 61 6c 65  3d 39 3a 73 63 61 6c 65  |1:!scale=9:scale|
00000620  21 34 3d 39 0d 01 cc 48  c8 99 22 4f 53 5f 53 70  |!4=9...H.."OS_Sp|
00000630  72 69 74 65 4f 70 22 2c  33 30 38 2c 73 70 2c 53  |riteOp",308,sp,S|
00000640  50 24 2c 58 25 28 4c 25  29 2a 28 5a 28 4c 25 29  |P$,X%(L%)*(Z(L%)|
00000650  2f 32 29 2c 59 25 28 4c  25 29 2a 28 5a 28 4c 25  |/2),Y%(L%)*(Z(L%|
00000660  29 2f 32 29 2c 38 2c 73  63 61 6c 65 0d 01 d6 27  |)/2),8,scale...'|
00000670  e7 20 5a 28 4c 25 29 3e  33 30 20 80 20 67 61 6d  |. Z(L%)>30 . gam|
00000680  65 3d b9 20 80 20 73 68  6f 74 25 28 4c 25 29 3d  |e=. . shot%(L%)=|
00000690  30 20 8c 0d 01 e0 87 e7  20 58 53 25 3c 28 58 25  |0 ...... XS%<(X%|
000006a0  28 4c 25 29 2a 28 5a 28  4c 25 29 2f 32 29 29 2b  |(L%)*(Z(L%)/2))+|
000006b0  35 30 30 20 80 20 58 53  25 2b 28 34 38 2a 34 29  |500 . XS%+(48*4)|
000006c0  3e 58 25 28 4c 25 29 2a  28 5a 28 4c 25 29 2f 32  |>X%(L%)*(Z(L%)/2|
000006d0  29 20 80 20 59 53 25 3c  28 59 25 28 4c 25 29 2a  |) . YS%<(Y%(L%)*|
000006e0  28 5a 28 4c 25 29 2f 32  29 29 2b 35 30 30 20 80  |(Z(L%)/2))+500 .|
000006f0  20 59 53 25 2b 28 32 34  2a 34 29 3e 59 25 28 4c  | YS%+(24*4)>Y%(L|
00000700  25 29 2a 28 5a 28 4c 25  29 2f 32 29 20 80 20 64  |%)*(Z(L%)/2) . d|
00000710  65 61 64 3d a3 20 f2 68  69 74 0d 01 ea 09 cd 3a  |ead=. .hit.....:|
00000720  ed 3a e1 0d 01 f4 05 3a  0d 01 fe 0a dd f2 73 68  |.:.....:......sh|
00000730  69 70 0d 02 08 27 e7 20  a6 28 2d 36 37 29 20 58  |ip...'. .(-67) X|
00000740  53 25 2b 3d 33 32 20 8b  20 e7 20 a6 28 2d 39 38  |S%+=32 . . .(-98|
00000750  29 20 58 53 25 2d 3d 33  32 0d 02 12 28 e7 20 a6  |) XS%-=32...(. .|
00000760  28 2d 38 30 29 20 59 53  25 2b 3d 33 32 20 8b 20  |(-80) YS%+=32 . |
00000770  e7 20 a6 28 2d 31 30 35  29 20 59 53 25 2d 3d 33  |. .(-105) YS%-=3|
00000780  32 0d 02 1c 2b e7 20 58  53 25 3c 2d 36 32 35 20  |2...+. XS%<-625 |
00000790  58 53 25 3d 2d 36 32 35  20 8b 20 e7 20 58 53 25  |XS%=-625 . . XS%|
000007a0  3e 34 35 30 20 58 53 25  3d 34 35 30 0d 02 26 2b  |>450 XS%=450..&+|
000007b0  e7 20 59 53 25 3c 2d 34  30 35 20 59 53 25 3d 2d  |. YS%<-405 YS%=-|
000007c0  34 30 35 20 8b 20 e7 20  59 53 25 3e 33 35 30 20  |405 . . YS%>350 |
000007d0  59 53 25 3d 33 35 30 0d  02 30 67 66 69 72 65 25  |YS%=350..0gfire%|
000007e0  3d a3 3a e7 a6 28 2d 37  34 29 20 80 20 66 69 72  |=.:..(-74) . fir|
000007f0  65 6f 6b 25 3d b9 20 8c  20 e6 36 33 3a c8 8f 20  |eok%=. . .63:.. |
00000800  58 53 25 2b 38 38 2c 59  53 25 2b 34 30 2c 31 32  |XS%+88,YS%+40,12|
00000810  38 3a 65 6e 65 72 67 79  2d 3d 30 2e 35 3a 66 69  |8:energy-=0.5:fi|
00000820  72 65 74 69 6d 65 25 3d  91 3a d4 31 2c 2d 31 35  |retime%=.:.1,-15|
00000830  2c 35 30 30 2c 35 3a 66  69 72 65 25 3d b9 0d 02  |,500,5:fire%=...|
00000840  3a 2b c8 99 22 4f 53 5f  53 70 72 69 74 65 4f 70  |:+.."OS_SpriteOp|
00000850  22 2c 32 39 30 2c 73 70  2c 22 33 30 22 2c 58 53  |",290,sp,"30",XS|
00000860  25 2c 59 53 25 2c 38 3a  e1 0d 02 44 05 3a 0d 02  |%,YS%,8:...D.:..|
00000870  4e 09 dd f2 68 69 74 0d  02 58 44 e7 20 69 6e 68  |N...hit..XD. inh|
00000880  79 70 65 72 25 3d b9 20  d4 33 2c 2d 31 35 2c 33  |yper%=. .3,-15,3|
00000890  30 30 2c 34 30 3a 65 6e  65 72 67 79 2d 3d 32 35  |00,40:energy-=25|
000008a0  3a 73 68 6f 74 25 28 4c  25 29 3d 31 3a d4 32 2c  |:shot%(L%)=1:.2,|
000008b0  2d 31 35 2c 31 30 2c 34  30 3a e1 0d 02 62 50 e7  |-15,10,40:...bP.|
000008c0  66 69 72 65 25 3d a3 20  64 65 61 64 3d b9 20 8b  |fire%=. dead=. .|
000008d0  20 73 63 6f 72 65 25 2b  3d 31 30 2b 28 28 bb 28  | score%+=10+((.(|
000008e0  53 50 24 29 2d 34 36 2d  61 6e 69 6d 25 29 2a 31  |SP$)-46-anim%)*1|
000008f0  30 29 3a 73 68 6f 74 25  28 4c 25 29 3d 31 3a d4  |0):shot%(L%)=1:.|
00000900  32 2c 2d 31 35 2c 31 30  2c 34 30 0d 02 6c 05 e1  |2,-15,10,40..l..|
00000910  0d 02 76 05 3a 0d 02 80  11 dd f2 73 77 61 70 73  |..v.:......swaps|
00000920  63 72 65 65 6e 73 0d 02  8a 15 e7 67 61 6d 65 3d  |creens.....game=|
00000930  b9 20 f2 64 69 73 70 6c  61 79 73 0d 02 94 29 e7  |. .displays...).|
00000940  20 67 61 6d 65 3d b9 20  8c 20 e7 20 91 2d 74 69  | game=. . . .-ti|
00000950  6d 65 25 3c 34 20 f5 20  fd 20 91 2d 74 69 6d 65  |me%<4 . . .-time|
00000960  25 3e 3d 34 0d 02 9e 42  c8 96 3a c8 99 20 36 2c  |%>=4...B..:.. 6,|
00000970  31 31 33 2c 62 61 6e 6b  25 3a 62 61 6e 6b 25 3d  |113,bank%:bank%=|
00000980  62 61 6e 6b 25 20 82 20  32 2b 31 3a c8 99 20 36  |bank% . 2+1:.. 6|
00000990  2c 31 31 32 2c 62 61 6e  6b 25 3a db 3a 74 69 6d  |,112,bank%:.:tim|
000009a0  65 25 3d 91 3a e1 0d 02  a8 15 62 61 6e 6b 25 3d  |e%=.:.....bank%=|
000009b0  62 61 6e 6b 25 20 82 20  32 2b 31 0d 02 b2 12 c8  |bank% . 2+1.....|
000009c0  99 20 36 2c 31 31 32 2c  62 61 6e 6b 25 0d 02 bc  |. 6,112,bank%...|
000009d0  0f db 3a 74 69 6d 65 25  3d 91 3a e1 0d 02 c6 05  |..:time%=.:.....|
000009e0  3a 0d 02 d0 0e dd f2 64  69 73 70 6c 61 79 73 0d  |:......displays.|
000009f0  02 da 31 e7 a6 28 2d 35  36 29 20 80 20 70 61 75  |..1..(-56) . pau|
00000a00  73 65 25 3d b9 20 73 74  6f 72 65 3d 91 3a f5 20  |se%=. store=.:. |
00000a10  fd 20 a6 28 2d 35 35 29  3a d1 3d 73 74 6f 72 65  |. .(-55):.=store|
00000a20  0d 02 e4 1a e7 a6 28 2d  31 37 29 20 80 20 70 61  |......(-17) . pa|
00000a30  75 73 65 25 3d b9 20 d4  20 87 0d 02 ee 1a e7 a6  |use%=. . .......|
00000a40  28 2d 38 32 29 20 80 20  70 61 75 73 65 25 3d b9  |(-82) . pause%=.|
00000a50  20 d4 20 ee 0d 02 f8 17  fb 36 33 3a ef 32 38 2c  | . ......63:.28,|
00000a60  31 32 2c 33 30 2c 32 38  2c 33 30 0d 03 02 47 f1  |12,30,28,30...G.|
00000a70  3b 70 6c 61 6e 65 74 24  3b 22 20 20 20 22 3b c2  |;planet$;"   ";.|
00000a80  22 30 30 30 30 30 30 22  2b c3 28 73 63 6f 72 65  |"000000"+.(score|
00000a90  25 29 2c 36 29 3b 22 20  20 20 30 22 3b 6c 69 76  |%),6);"   0";liv|
00000aa0  65 73 25 3b 3a ef 32 38  2c 31 2c 32 37 2c 33 38  |es%;:.28,1,27,38|
00000ab0  2c 32 0d 03 0c 3c c8 99  22 4f 53 5f 53 70 72 69  |,2...<.."OS_Spri|
00000ac0  74 65 4f 70 22 2c 32 39  30 2c 73 70 2c 22 54 34  |teOp",290,sp,"T4|
00000ad0  22 2c 2d 36 34 30 2c 34  34 38 2c 30 3a e7 20 65  |",-640,448,0:. e|
00000ae0  6e 65 72 67 79 3c 30 20  64 65 61 64 3d b9 0d 03  |nergy<0 dead=...|
00000af0  16 19 e7 20 65 6e 65 72  67 79 3e 35 30 20 e6 31  |... energy>50 .1|
00000b00  33 20 8b 20 e6 20 33 0d  03 20 1f c8 93 20 c8 90  |3 . . 3.. ... ..|
00000b10  20 2d 36 30 38 2c 34 37  32 2c 65 6e 65 72 67 79  | -608,472,energy|
00000b20  2a 34 2c 34 3a e1 0d 03  2a 05 3a 0d 03 34 0e dd  |*4,4:...*.:..4..|
00000b30  f2 70 6c 61 79 67 61 6d  65 0d 03 3e 1e ea 20 85  |.playgame..>.. .|
00000b40  3a ee 20 85 20 ea 20 f2  65 72 72 6f 72 69 6e 74  |:. . . .errorint|
00000b50  65 72 6e 61 6c 3a e1 0d  03 48 30 f2 73 65 74 75  |ernal:...H0.setu|
00000b60  70 67 61 6d 65 3a f2 73  65 74 75 70 64 69 73 70  |pgame:.setupdisp|
00000b70  6c 61 79 73 3a f2 6c 61  75 6e 63 68 3a 70 61 75  |lays:.launch:pau|
00000b80  73 65 25 3d b9 3a f5 0d  03 52 31 e7 20 64 65 61  |se%=.:...R1. dea|
00000b90  64 3d a3 20 80 20 69 6e  68 79 70 65 72 25 3c 3e  |d=. . inhyper%<>|
00000ba0  32 20 69 6e 68 79 70 65  72 25 3d b9 3a f2 68 79  |2 inhyper%=.:.hy|
00000bb0  70 65 72 73 70 61 63 65  0d 03 5c 30 e7 20 64 65  |perspace..\0. de|
00000bc0  61 64 3d a3 20 80 20 69  6e 72 6f 63 6b 73 25 3c  |ad=. . inrocks%<|
00000bd0  3e 32 20 69 6e 72 6f 63  6b 73 25 3d b9 3a f2 61  |>2 inrocks%=.:.a|
00000be0  73 74 65 72 6f 69 64 73  0d 03 66 31 e7 20 64 65  |steroids..f1. de|
00000bf0  61 64 3d a3 20 80 20 69  6e 73 75 72 66 61 63 65  |ad=. . insurface|
00000c00  25 3c 3e 32 20 69 6e 73  75 72 66 61 63 65 25 3d  |%<>2 insurface%=|
00000c10  b9 3a f2 70 6c 61 6e 65  74 0d 03 70 2b e7 20 64  |.:.planet..p+. d|
00000c20  65 61 64 3d b9 20 66 69  72 65 25 3d a3 3a f2 6c  |ead=. fire%=.:.l|
00000c30  69 66 65 6c 6f 73 74 3a  fd 20 6c 69 76 65 73 25  |ifelost:. lives%|
00000c40  3d 30 3a e1 0d 03 7a 1b  f2 63 6f 6d 70 6c 65 74  |=0:...z..complet|
00000c50  65 64 3a fd 20 6c 69 76  65 73 25 3d 30 3a e1 0d  |ed:. lives%=0:..|
00000c60  03 84 05 3a 0d 03 8e 10  dd f2 68 79 70 65 72 73  |...:......hypers|
00000c70  70 61 63 65 0d 03 98 28  75 6e 6b 6e 6f 77 6e 25  |pace...(unknown%|
00000c80  3d a3 3a 61 6c 69 65 6e  73 6f 76 65 72 25 3d a3  |=.:aliensover%=.|
00000c90  3a e7 20 b3 28 33 30 29  3d 31 20 8c 0d 03 a2 4e  |:. .(30)=1 ....N|
00000ca0  75 6e 6b 6e 6f 77 6e 25  3d b9 3a f5 3a 41 25 3d  |unknown%=.:.:A%=|
00000cb0  b3 28 31 32 29 3a fd 20  41 25 3c 3e 70 6c 61 6e  |.(12):. A%<>plan|
00000cc0  65 74 25 3a 70 6c 61 6e  65 74 25 3d 41 25 3a 70  |et%:planet%=A%:p|
00000cd0  6c 61 6e 65 74 24 3d c2  22 30 30 22 2b c3 28 70  |lanet$=."00"+.(p|
00000ce0  6c 61 6e 65 74 25 29 2c  32 29 0d 03 ac 41 cd 3a  |lanet%),2)...A.:|
00000cf0  78 74 65 6d 70 3d 58 43  25 3a 79 74 65 6d 70 3d  |xtemp=XC%:ytemp=|
00000d00  59 43 25 3a 58 43 25 3d  30 3a 59 43 25 3d 30 3a  |YC%:XC%=0:YC%=0:|
00000d10  70 6c 61 6e 65 74 24 3d  c2 22 30 30 22 2b c3 28  |planet$=."00"+.(|
00000d20  70 6c 61 6e 65 74 25 29  2c 32 29 0d 03 b6 46 58  |planet%),2)...FX|
00000d30  25 3d 2d 31 36 36 3a 59  25 3d 2d 31 36 36 3a 78  |%=-166:Y%=-166:x|
00000d40  25 3d 32 34 3a f2 73 65  74 75 70 6f 62 6a 65 63  |%=24:.setupobjec|
00000d50  74 73 28 62 6c 62 6e 25  2c 32 2c 34 38 2c 68 73  |ts(blbn%,2,48,hs|
00000d60  70 64 25 29 3a f2 7a 69  70 6f 75 74 73 74 61 72  |pd%):.zipoutstar|
00000d70  73 0d 03 c0 37 f2 73 68  69 70 7a 6f 6f 6d 73 69  |s...7.shipzoomsi|
00000d80  6e 3a 73 74 61 72 74 25  3d 91 3a 66 69 72 65 6f  |n:start%=.:fireo|
00000d90  6b 25 3d a3 3a 58 43 25  3d 78 74 65 6d 70 3a 59  |k%=.:XC%=xtemp:Y|
00000da0  43 25 3d 79 74 65 6d 70  0d 03 ca 1d f5 3a f2 68  |C%=ytemp.....:.h|
00000db0  79 70 65 72 70 6c 61 6e  65 3a f2 70 6c 6f 74 3a  |yperplane:.plot:|
00000dc0  f2 73 68 69 70 0d 03 d4  57 e7 20 58 53 25 3e 58  |.ship...W. XS%>X|
00000dd0  25 2b 31 38 30 20 84 20  58 53 25 2b 35 30 3c 58  |%+180 . XS%+50<X|
00000de0  25 20 84 20 59 53 25 3e  59 25 2b 33 30 30 20 84  |% . YS%>Y%+300 .|
00000df0  20 59 53 25 2b 35 30 3c  59 25 20 65 6e 65 72 67  | YS%+50<Y% energ|
00000e00  79 2d 3d 35 3a d4 33 2c  2d 38 2c 35 30 30 2b 28  |y-=5:.3,-8,500+(|
00000e10  65 6e 65 72 67 79 2a 31  30 29 2c 32 0d 03 de 2b  |energy*10),2...+|
00000e20  c8 99 22 4f 53 5f 53 70  72 69 74 65 4f 70 22 2c  |.."OS_SpriteOp",|
00000e30  33 30 38 2c 73 70 2c 22  48 59 50 22 2c 2d 35 38  |308,sp,"HYP",-58|
00000e40  35 2c 34 30 30 2c 38 0d  03 e8 70 e7 75 6e 6b 6e  |5,400,8...p.unkn|
00000e50  6f 77 6e 25 3d b9 20 80  20 91 3e 73 74 61 72 74  |own%=. . .>start|
00000e60  25 2b 35 30 30 20 c8 99  22 4f 53 5f 53 70 72 69  |%+500 .."OS_Spri|
00000e70  74 65 4f 70 22 2c 33 30  38 2c 73 70 2c 22 45 52  |teOp",308,sp,"ER|
00000e80  31 22 2c 2d 35 39 35 2c  2d 33 32 30 2c 38 3a c8  |1",-595,-320,8:.|
00000e90  99 22 4f 53 5f 53 70 72  69 74 65 4f 70 22 2c 33  |."OS_SpriteOp",3|
00000ea0  30 38 2c 73 70 2c 22 45  52 32 22 2c 2d 35 39 35  |08,sp,"ER2",-595|
00000eb0  2c 2d 33 38 30 2c 38 0d  03 f2 2a e7 20 91 3e 73  |,-380,8...*. .>s|
00000ec0  74 61 72 74 25 2b 28 68  79 70 65 72 25 2a 31 35  |tart%+(hyper%*15|
00000ed0  30 30 29 20 61 6c 69 65  6e 73 6f 76 65 72 25 3d  |00) aliensover%=|
00000ee0  b9 0d 03 fc 26 f2 73 77  61 70 73 63 72 65 65 6e  |....&.swapscreen|
00000ef0  73 3a fd 20 64 65 61 64  3d b9 20 84 20 6e 61 73  |s:. dead=. . nas|
00000f00  74 69 65 73 25 3d 30 0d  04 06 23 e7 20 64 65 61  |ties%=0...#. dea|
00000f10  64 3d a3 20 69 6e 68 79  70 65 72 25 3d 32 3a f2  |d=. inhyper%=2:.|
00000f20  7a 69 70 69 6e 73 74 61  72 73 0d 04 10 25 e7 20  |zipinstars...%. |
00000f30  75 6e 6b 6e 6f 77 6e 25  3d b9 20 8c 20 f2 72 65  |unknown%=. . .re|
00000f40  61 64 64 61 74 61 28 70  6c 61 6e 65 74 25 29 0d  |addata(planet%).|
00000f50  04 1a 05 e1 0d 04 24 05  3a 0d 04 2e 0c dd f2 70  |......$.:......p|
00000f60  6c 61 6e 65 74 0d 04 38  13 f2 72 65 61 64 70 6c  |lanet..8..readpl|
00000f70  61 6e 65 74 64 61 74 61  0d 04 42 2d e7 20 7a 69  |anetdata..B-. zi|
00000f80  70 6c 61 6e 65 74 25 3d  a3 20 f2 7a 6f 6f 6d 69  |planet%=. .zoomi|
00000f90  6e 74 6f 70 6c 61 6e 65  74 3a 7a 69 70 6c 61 6e  |ntoplanet:ziplan|
00000fa0  65 74 25 3d b9 0d 04 4c  0f f2 73 75 72 66 61 63  |et%=...L..surfac|
00000fb0  65 77 61 72 0d 04 56 05  e1 0d 04 60 05 3a 0d 04  |ewar..V....`.:..|
00000fc0  6a 14 dd f2 73 77 61 70  66 69 65 6c 64 28 66 6c  |j...swapfield(fl|
00000fd0  25 29 0d 04 74 18 e7 20  66 6c 25 3d b9 20 80 20  |%)..t.. fl%=. . |
00000fe0  63 67 25 28 31 29 3c 30  20 e1 0d 04 7e 19 e7 20  |cg%(1)<0 ...~.. |
00000ff0  66 6c 25 3d a3 20 20 80  20 63 67 25 28 31 29 3e  |fl%=.  . cg%(1)>|
00001000  30 20 e1 0d 04 88 2b e3  53 25 3d 30 b8 20 6e 73  |0 ....+.S%=0. ns|
00001010  3a 63 67 25 28 53 25 29  3d 2d 63 67 25 28 53 25  |:cg%(S%)=-cg%(S%|
00001020  29 3a ed 3a 45 53 25 3d  2d 45 53 25 3a e1 0d 04  |):.:ES%=-ES%:...|
00001030  92 05 3a 0d 04 9c 0f dd  f2 61 73 74 65 72 6f 69  |..:......asteroi|
00001040  64 73 0d 04 a6 11 61 6c  69 65 6e 73 6f 76 65 72  |ds....aliensover|
00001050  25 3d a3 0d 04 b0 32 f2  73 65 74 75 70 6f 62 6a  |%=....2.setupobj|
00001060  65 63 74 73 28 34 2c 32  2c 34 36 2c 61 73 70 64  |ects(4,2,46,aspd|
00001070  25 29 3a f2 66 6c 61 73  68 28 22 41 53 54 22 2c  |%):.flash("AST",|
00001080  2d 35 32 35 29 0d 04 ba  23 f2 73 68 69 70 7a 6f  |-525)...#.shipzo|
00001090  6f 6d 73 69 6e 3a 73 74  61 72 74 25 3d 91 3a 66  |omsin:start%=.:f|
000010a0  69 72 65 6f 6b 25 3d b9  0d 04 c4 1c f5 3a f2 73  |ireok%=......:.s|
000010b0  74 61 72 66 69 65 6c 64  3a f2 70 6c 6f 74 3a f2  |tarfield:.plot:.|
000010c0  73 68 69 70 0d 04 ce 46  e7 20 91 3e 73 74 61 72  |ship...F. .>star|
000010d0  74 25 2b 28 61 73 74 65  72 25 2a 31 35 30 30 29  |t%+(aster%*1500)|
000010e0  2d 32 30 30 20 c8 99 22  4f 53 5f 53 70 72 69 74  |-200 .."OS_Sprit|
000010f0  65 4f 70 22 2c 33 30 38  2c 73 70 2c 22 70 6c 74  |eOp",308,sp,"plt|
00001100  22 2c 2d 35 35 30 2c 30  2c 38 0d 04 d8 2a e7 20  |",-550,0,8...*. |
00001110  91 3e 73 74 61 72 74 25  2b 28 61 73 74 65 72 25  |.>start%+(aster%|
00001120  2a 31 35 30 30 29 20 61  6c 69 65 6e 73 6f 76 65  |*1500) aliensove|
00001130  72 25 3d b9 0d 04 e2 26  f2 73 77 61 70 73 63 72  |r%=....&.swapscr|
00001140  65 65 6e 73 3a fd 20 64  65 61 64 3d b9 20 84 20  |eens:. dead=. . |
00001150  6e 61 73 74 69 65 73 25  3d 30 0d 04 ec 17 e7 20  |nasties%=0..... |
00001160  64 65 61 64 3d a3 20 69  6e 72 6f 63 6b 73 25 3d  |dead=. inrocks%=|
00001170  32 0d 04 f6 05 e1 0d 05  00 05 3a 0d 05 0a 10 dd  |2.........:.....|
00001180  f2 73 75 72 66 61 63 65  77 61 72 0d 05 14 21 61  |.surfacewar...!a|
00001190  6c 69 65 6e 73 6f 76 65  72 25 3d a3 3a fb 31 32  |liensover%=.:.12|
000011a0  38 2b 70 6c 61 6e 65 74  73 6b 79 25 0d 05 1e 30  |8+planetsky%...0|
000011b0  f2 73 65 74 75 70 6f 62  6a 65 63 74 73 28 33 2c  |.setupobjects(3,|
000011c0  31 2c 35 30 2c 61 6c 73  70 65 65 64 25 29 3a f2  |1,50,alspeed%):.|
000011d0  73 77 61 70 66 69 65 6c  64 28 b9 29 0d 05 28 23  |swapfield(.)..(#|
000011e0  66 69 72 65 6f 6b 25 3d  b9 3a f2 73 68 69 70 7a  |fireok%=.:.shipz|
000011f0  6f 6f 6d 73 69 6e 3a 73  74 61 72 74 25 3d 91 0d  |oomsin:start%=..|
00001200  05 32 2a f5 3a f2 73 74  61 72 66 69 65 6c 64 3a  |.2*.:.starfield:|
00001210  f2 70 6c 61 6e 65 74 67  72 6f 75 6e 64 28 2d 33  |.planetground(-3|
00001220  37 32 29 3a f2 70 6c 6f  74 0d 05 3c 36 f2 73 68  |72):.plot..<6.sh|
00001230  69 70 3a f2 73 77 61 70  73 63 72 65 65 6e 73 3a  |ip:.swapscreens:|
00001240  e7 20 91 3e 73 74 61 72  74 25 2b 70 74 69 6d 65  |. .>start%+ptime|
00001250  25 20 61 6c 69 65 6e 73  6f 76 65 72 25 3d b9 0d  |% aliensover%=..|
00001260  05 46 27 fd 20 64 65 61  64 3d b9 20 84 20 6e 61  |.F'. dead=. . na|
00001270  73 74 69 65 73 25 3d 30  3a f2 73 77 61 70 66 69  |sties%=0:.swapfi|
00001280  65 6c 64 28 a3 29 0d 05  50 05 e1 0d 05 5a 05 3a  |eld(.)..P....Z.:|
00001290  0d 05 64 11 dd f2 6c 65  61 76 65 70 6c 61 6e 65  |..d...leaveplane|
000012a0  74 0d 05 6e 20 e3 4c 25  3d 2d 33 37 32 b8 2d 35  |t..n .L%=-372.-5|
000012b0  30 30 20 88 2d 38 3a f2  73 74 61 72 66 69 65 6c  |00 .-8:.starfiel|
000012c0  64 0d 05 78 2c f2 70 6c  61 6e 65 74 67 72 6f 75  |d..x,.planetgrou|
000012d0  6e 64 28 4c 25 29 3a f2  73 68 69 70 3a f2 73 77  |nd(L%):.ship:.sw|
000012e0  61 70 73 63 72 65 65 6e  73 3a ed 3a e1 0d 05 82  |apscreens:.:....|
000012f0  05 3a 0d 05 8c 10 dd f2  68 79 70 65 72 70 6c 61  |.:......hyperpla|
00001300  6e 65 0d 05 96 0f 50 4c  25 3d 78 25 3a f5 3a e6  |ne....PL%=x%:.:.|
00001310  30 0d 05 a0 29 86 2d 36  34 30 2c 50 4c 25 2c 36  |0...).-640,PL%,6|
00001320  34 30 2c 50 4c 25 3a 86  2d 36 34 30 2c 2d 50 4c  |40,PL%:.-640,-PL|
00001330  25 2c 36 34 30 2c 2d 50  4c 25 0d 05 aa 2d 50 4c  |%,640,-PL%...-PL|
00001340  25 3d 50 4c 25 2a 31 2e  36 3a fd 20 50 4c 25 3e  |%=PL%*1.6:. PL%>|
00001350  34 38 30 3a 78 25 2b 3d  38 3a e7 20 78 25 3e 35  |480:x%+=8:. x%>5|
00001360  32 20 78 25 3d 32 34 0d  05 b4 20 58 25 2b 3d 58  |2 x%=24... X%+=X|
00001370  43 25 3a 59 25 2b 3d 59  43 25 3a e6 30 2c 31 35  |C%:Y%+=YC%:.0,15|
00001380  3a e3 54 3d 31 b8 38 0d  05 be 28 c8 93 20 58 25  |:.T=1.8...(.. X%|
00001390  2f 54 2c 59 25 2f 54 2c  31 30 30 30 2f 28 54 2a  |/T,Y%/T,1000/(T*|
000013a0  33 29 2c 31 30 30 30 2f  28 54 2a 33 29 3a ed 0d  |3),1000/(T*3):..|
000013b0  05 c8 1f 86 20 30 2c 30  2c 58 25 2c 59 25 3a 86  |.... 0,0,X%,Y%:.|
000013c0  20 30 2c 30 2c 58 25 2c  59 25 2b 33 33 33 0d 05  | 0,0,X%,Y%+333..|
000013d0  d2 25 86 30 2c 30 2c 58  25 2b 33 33 33 2c 59 25  |.%.0,0,X%+333,Y%|
000013e0  3a 86 30 2c 30 2c 58 25  2b 33 33 33 2c 59 25 2b  |:.0,0,X%+333,Y%+|
000013f0  33 33 33 0d 05 dc 29 e7  20 58 25 3c 2d 36 30 30  |333...). X%<-600|
00001400  20 84 20 58 25 3e 35 30  30 20 84 20 b3 28 32 30  | . X%>500 . .(20|
00001410  29 3d 31 20 58 43 25 3d  2d 58 43 25 0d 05 e6 29  |)=1 XC%=-XC%...)|
00001420  e7 20 59 25 3c 2d 33 30  30 20 84 20 59 25 3e 33  |. Y%<-300 . Y%>3|
00001430  30 30 20 84 20 b3 28 32  30 29 3d 31 20 59 43 25  |00 . .(20)=1 YC%|
00001440  3d 2d 59 43 25 0d 05 f0  05 e1 0d 05 fa 05 3a 0d  |=-YC%.........:.|
00001450  06 04 26 dd f2 70 6c 61  6e 65 74 67 72 6f 75 6e  |..&..planetgroun|
00001460  64 28 79 25 29 3a 63 6f  6c 25 3d 70 6c 61 6e 65  |d(y%):col%=plane|
00001470  74 63 6f 6c 25 0d 06 0e  33 74 6e 74 25 3d 30 3a  |tcol%...3tnt%=0:|
00001480  e3 79 6b 25 3d 79 25 20  b8 20 79 25 2d 36 34 20  |.yk%=y% . y%-64 |
00001490  88 2d 31 36 3a e6 70 6c  61 6e 65 74 63 6f 6c 25  |.-16:.planetcol%|
000014a0  20 c8 9c 20 74 6e 74 25  0d 06 18 1f 78 6b 25 3d  | .. tnt%....xk%=|
000014b0  33 36 3a e7 20 79 6b 25  3c 2d 33 37 32 20 78 6b  |36:. yk%<-372 xk|
000014c0  25 2b 3d b3 28 38 29 0d  06 22 28 c8 93 20 c8 90  |%+=.(8).."(.. ..|
000014d0  20 2d 36 30 38 2c 79 6b  25 2c 31 32 37 30 2c 78  | -608,yk%,1270,x|
000014e0  6b 25 3a 74 6e 74 25 2b  3d 36 35 3a ed 3a e1 0d  |k%:tnt%+=65:.:..|
000014f0  06 2c 05 3a 0d 06 36 13  dd f2 73 65 74 75 70 64  |.,.:..6...setupd|
00001500  69 73 70 6c 61 79 73 0d  06 40 0b e3 4c 25 3d 31  |isplays..@..L%=1|
00001510  b8 32 0d 06 4a 2b c8 99  22 4f 53 5f 53 70 72 69  |.2..J+.."OS_Spri|
00001520  74 65 4f 70 22 2c 32 39  30 2c 73 70 2c 22 54 36  |teOp",290,sp,"T6|
00001530  22 2c 2d 36 34 30 2c 2d  35 31 32 2c 30 0d 06 54  |",-640,-512,0..T|
00001540  2a c8 99 22 4f 53 5f 53  70 72 69 74 65 4f 70 22  |*.."OS_SpriteOp"|
00001550  2c 32 39 30 2c 73 70 2c  22 54 36 22 2c 36 30 38  |,290,sp,"T6",608|
00001560  2c 2d 35 31 32 2c 30 0d  06 5e 2a c8 99 22 4f 53  |,-512,0..^*.."OS|
00001570  5f 53 70 72 69 74 65 4f  70 22 2c 32 39 30 2c 73  |_SpriteOp",290,s|
00001580  70 2c 22 54 34 22 2c 2d  36 34 30 2c 34 34 38 2c  |p,"T4",-640,448,|
00001590  30 0d 06 68 2b c8 99 22  4f 53 5f 53 70 72 69 74  |0..h+.."OS_Sprit|
000015a0  65 4f 70 22 2c 32 39 30  2c 73 70 2c 22 54 35 22  |eOp",290,sp,"T5"|
000015b0  2c 2d 36 34 30 2c 2d 35  31 32 2c 30 0d 06 72 20  |,-640,-512,0..r |
000015c0  ef 32 38 2c 31 2c 32 37  2c 33 38 2c 32 3a f2 73  |.28,1,27,38,2:.s|
000015d0  77 61 70 73 63 72 65 65  6e 73 3a ed 0d 06 7c 1c  |wapscreens:...|.|
000015e0  ef 32 34 2c 2d 36 30 38  3b 2d 33 38 33 3b 36 30  |.24,-608;-383;60|
000015f0  34 3b 35 30 38 3b 3a e1  0d 06 86 05 3a 0d 06 90  |4;508;:.....:...|
00001600  13 dd f2 66 6c 61 73 68  28 74 78 74 24 2c 78 29  |...flash(txt$,x)|
00001610  0d 06 9a 17 e3 4c 25 3d  31 b8 35 30 3a f2 73 74  |.....L%=1.50:.st|
00001620  61 72 66 69 65 6c 64 0d  06 a4 28 c8 99 20 22 4f  |arfield...(.. "O|
00001630  53 5f 53 70 72 69 74 65  4f 70 22 2c 33 30 38 2c  |S_SpriteOp",308,|
00001640  73 70 2c 74 78 74 24 2c  78 2c 2d 31 36 2c 38 0d  |sp,txt$,x,-16,8.|
00001650  06 ae 14 f2 73 77 61 70  73 63 72 65 65 6e 73 3a  |....swapscreens:|
00001660  ed 3a e1 0d 06 b8 05 3a  0d 06 c2 11 dd f2 74 69  |.:.....:......ti|
00001670  74 6c 65 73 63 72 65 65  6e 0d 06 cc 15 fb 31 32  |tlescreen.....12|
00001680  38 3a db 3a fb 31 33 20  c8 9c 20 32 35 35 0d 06  |8:.:.13 .. 255..|
00001690  d6 18 45 25 3d 36 30 3a  53 54 50 25 3d 31 3a 44  |..E%=60:STP%=1:D|
000016a0  25 3d 2d 36 34 30 0d 06  e0 30 67 61 6d 65 3d a3  |%=-640...0game=.|
000016b0  3a f2 73 65 74 75 70 6f  62 6a 65 63 74 73 28 31  |:.setupobjects(1|
000016c0  2c 32 2c 34 36 2c 36 29  3a ef 32 36 3a c8 91 36  |,2,46,6):.26:..6|
000016d0  34 30 2c 35 31 32 0d 06  ea 28 f5 3a f2 73 74 61  |40,512...(.:.sta|
000016e0  72 66 69 65 6c 64 3a e6  34 38 3a c8 93 2d 33 30  |rfield:.48:..-30|
000016f0  30 2c 2d 33 38 30 2c 36  30 30 2c 38 36 30 0d 06  |0,-380,600,860..|
00001700  f4 29 c8 99 20 22 4f 53  5f 53 70 72 69 74 65 4f  |.).. "OS_SpriteO|
00001710  70 22 2c 32 39 30 2c 73  70 2c 22 54 30 22 2c 2d  |p",290,sp,"T0",-|
00001720  35 30 30 2c 30 2c 30 0d  06 fe 29 c8 99 20 22 4f  |500,0,0...).. "O|
00001730  53 5f 53 70 72 69 74 65  4f 70 22 2c 33 30 38 2c  |S_SpriteOp",308,|
00001740  73 70 2c 22 54 31 22 2c  2d 32 30 38 2c 2d 39 36  |sp,"T1",-208,-96|
00001750  0d 07 08 2c c8 99 20 22  4f 53 5f 53 70 72 69 74  |...,.. "OS_Sprit|
00001760  65 4f 70 22 2c 33 30 38  2c 73 70 2c 22 4c 4f 47  |eOp",308,sp,"LOG|
00001770  4f 22 2c 2d 31 38 30 2c  2d 32 38 30 0d 07 12 33  |O",-180,-280...3|
00001780  f2 73 63 6f 72 65 73 28  31 34 2c 33 29 3a f2 73  |.scores(14,3):.s|
00001790  63 72 6f 6c 6c 74 65 78  74 3a f2 73 77 61 70 73  |crolltext:.swaps|
000017a0  63 72 65 65 6e 73 3a fd  20 a6 28 2d 39 39 29 0d  |creens:. .(-99).|
000017b0  07 1c 05 e1 0d 07 26 05  3a 0d 07 30 11 dd f2 73  |......&.:..0...s|
000017c0  63 6f 72 65 73 28 58 2c  59 29 0d 07 3a 35 e3 54  |cores(X,Y)..:5.T|
000017d0  3d 31 b8 35 3a f1 8a 58  2c 59 2b 54 29 3b 68 69  |=1.5:..X,Y+T);hi|
000017e0  73 63 6f 72 65 25 28 54  29 3a f1 8a 58 2b 38 2c  |score%(T):..X+8,|
000017f0  59 2b 54 29 3b 6e 61 6d  65 24 28 54 29 3a ed 0d  |Y+T);name$(T):..|
00001800  07 44 05 e1 0d 07 4e 05  3a 0d 07 58 0c dd f2 77  |.D....N.:..X...w|
00001810  69 6e 64 75 70 0d 07 62  16 f2 67 61 6d 65 6f 76  |indup..b..gameov|
00001820  65 72 3a 45 53 25 3d 2d  35 31 32 0d 07 6c 05 e1  |er:ES%=-512..l..|
00001830  0d 07 76 05 3a 0d 07 80  0e dd f2 74 61 63 74 69  |..v.:......tacti|
00001840  63 61 6c 0d 07 8a 0b 2a  46 58 31 35 2c 30 0d 07  |cal....*FX15,0..|
00001850  94 38 f2 73 77 61 70 73  63 72 65 65 6e 73 3a c8  |.8.swapscreens:.|
00001860  97 20 ee 3a c8 97 20 c8  93 20 2d 36 34 30 2c 2d  |. .:.. .. -640,-|
00001870  35 31 32 2c 31 32 37 39  2c 31 30 32 34 3a c8 97  |512,1279,1024:..|
00001880  20 b8 20 30 2c 30 0d 07  9e 33 f2 64 72 61 77 68  | . 0,0...3.drawh|
00001890  79 70 65 72 72 6f 75 74  65 73 3a f2 64 72 61 77  |yperroutes:.draw|
000018a0  74 61 63 74 69 63 61 6c  3a f2 73 77 61 70 73 63  |tactical:.swapsc|
000018b0  72 65 65 6e 73 3a f5 3a  f5 0d 07 a8 27 c8 97 20  |reens:.:....'.. |
000018c0  58 2c 59 2c 5a 3a fd 20  5a 3c 3e 30 3a 78 70 25  |X,Y,Z:. Z<>0:xp%|
000018d0  3d 28 28 58 2b 37 30 30  29 2f 33 35 30 29 2b 31  |=((X+700)/350)+1|
000018e0  0d 07 b2 3c 79 70 25 3d  28 33 2d 28 28 59 2b 35  |...<yp%=(3-((Y+5|
000018f0  31 32 29 2f 33 34 31 29  29 3a fd 20 a4 63 68 65  |12)/341)):. .che|
00001900  63 6b 6d 61 70 28 70 6c  61 6e 65 74 25 2c 78 70  |ckmap(planet%,xp|
00001910  25 2b 28 79 70 25 2a 34  29 29 3d b9 0d 07 bc 1e  |%+(yp%*4))=.....|
00001920  70 6c 61 6e 65 74 25 3d  78 70 25 2b 28 79 70 25  |planet%=xp%+(yp%|
00001930  2a 34 29 3a c8 97 20 87  3a e1 0d 07 c6 05 3a 0d  |*4):.. .:.....:.|
00001940  07 d0 15 dd f2 64 72 61  77 68 79 70 65 72 72 6f  |.....drawhyperro|
00001950  75 74 65 73 0d 07 da 28  e6 33 3a 86 2d 35 33 30  |utes...(.3:.-530|
00001960  2c 33 33 31 2c 35 30 2c  33 33 31 3a 86 2d 34 33  |,331,50,331:.-43|
00001970  35 2c 32 33 36 2c 2d 34  33 35 2c 30 0d 07 e4 37  |5,236,-435,0...7|
00001980  86 2d 35 30 30 2c 30 2c  2d 35 30 30 2c 31 38 30  |.-500,0,-500,180|
00001990  3a 86 2d 35 30 30 2c 31  38 30 2c 35 30 30 2c 31  |:.-500,180,500,1|
000019a0  38 30 3a 86 35 30 30 2c  31 38 30 2c 35 30 30 2c  |80:.500,180,500,|
000019b0  32 34 30 0d 07 ee 31 86  34 33 35 2c 32 33 36 2c  |240...1.435,236,|
000019c0  34 33 35 2c 35 30 3a 86  31 34 35 2c 32 33 36 2c  |435,50:.145,236,|
000019d0  31 34 35 2c 35 30 3a 86  35 30 2c 33 30 2c 33 34  |145,50:.50,30,34|
000019e0  30 2c 33 30 0d 07 f8 38  86 31 34 35 2c 2d 36 35  |0,30...8.145,-65|
000019f0  2c 31 34 35 2c 2d 33 30  30 3a 86 38 30 2c 2d 36  |,145,-300:.80,-6|
00001a00  35 2c 38 30 2c 2d 31 32  35 3a 86 38 30 2c 2d 31  |5,80,-125:.80,-1|
00001a10  32 35 2c 2d 34 33 35 2c  2d 31 32 35 0d 08 02 3c  |25,-435,-125...<|
00001a20  86 2d 34 33 35 2c 2d 31  32 35 2c 2d 34 33 35 2c  |.-435,-125,-435,|
00001a30  2d 32 35 30 3a 86 2d 35  30 30 2c 30 2c 2d 35 30  |-250:.-500,0,-50|
00001a40  30 2c 2d 32 35 30 3a 86  2d 31 34 35 2c 30 2c 2d  |0,-250:.-145,0,-|
00001a50  31 34 35 2c 2d 32 35 30  0d 08 0c 2f 86 2d 31 30  |145,-250.../.-10|
00001a60  30 2c 33 30 2c 30 2c 33  30 3a 86 30 2c 33 30 2c  |0,30,0,30:.0,30,|
00001a70  30 2c 2d 32 32 35 3a 86  30 2c 2d 32 32 35 2c 31  |0,-225:.0,-225,1|
00001a80  30 30 2c 2d 32 32 35 0d  08 16 3c 86 2d 35 33 30  |00,-225...<.-530|
00001a90  2c 33 30 2c 2d 32 39 30  2c 33 30 3a 86 2d 32 39  |,30,-290,30:.-29|
00001aa0  30 2c 33 30 2c 2d 32 39  30 2c 2d 32 37 35 3a 86  |0,30,-290,-275:.|
00001ab0  2d 32 39 30 2c 2d 32 37  35 2c 2d 31 30 30 2c 2d  |-290,-275,-100,-|
00001ac0  32 37 35 0d 08 20 19 86  2d 31 30 30 2c 2d 32 37  |275.. ..-100,-27|
00001ad0  35 2c 33 34 30 2c 2d 32  37 35 3a e1 0d 08 2a 05  |5,340,-275:...*.|
00001ae0  3a 0d 08 34 12 dd f2 64  72 61 77 74 61 63 74 69  |:..4...drawtacti|
00001af0  63 61 6c 0d 08 3e 24 f2  64 72 61 77 70 6c 61 6e  |cal..>$.drawplan|
00001b00  28 2d 35 33 30 2c 32 33  36 2c 33 2c 31 2c 22 53  |(-530,236,3,1,"S|
00001b10  4f 4d 42 41 52 22 29 0d  08 48 23 f2 64 72 61 77  |OMBAR")..H#.draw|
00001b20  70 6c 61 6e 28 2d 32 34  30 2c 32 33 36 2c 32 2c  |plan(-240,236,2,|
00001b30  32 2c 22 54 41 4c 49 53  22 29 0d 08 52 22 f2 64  |2,"TALIS")..R".d|
00001b40  72 61 77 70 6c 61 6e 28  35 30 2c 32 33 36 2c 31  |rawplan(50,236,1|
00001b50  2c 33 2c 22 50 52 55 44  49 53 22 29 0d 08 5c 23  |,3,"PRUDIS")..\#|
00001b60  f2 64 72 61 77 70 6c 61  6e 28 33 34 30 2c 32 33  |.drawplan(340,23|
00001b70  36 2c 33 2c 34 2c 22 53  54 4f 4e 41 52 22 29 0d  |6,3,4,"STONAR").|
00001b80  08 66 22 f2 64 72 61 77  70 6c 61 6e 28 2d 35 33  |.f".drawplan(-53|
00001b90  30 2c 2d 36 35 2c 32 2c  35 2c 22 44 55 4e 49 22  |0,-65,2,5,"DUNI"|
00001ba0  29 0d 08 70 23 f2 64 72  61 77 70 6c 61 6e 28 2d  |)..p#.drawplan(-|
00001bb0  32 34 30 2c 2d 36 35 2c  34 2c 36 2c 22 50 4f 52  |240,-65,4,6,"POR|
00001bc0  54 41 22 29 0d 08 7a 22  f2 64 72 61 77 70 6c 61  |TA")..z".drawpla|
00001bd0  6e 28 35 30 2c 2d 36 35  2c 33 2c 37 2c 22 44 56  |n(50,-65,3,7,"DV|
00001be0  31 32 35 47 22 29 0d 08  84 22 f2 64 72 61 77 70  |125G")...".drawp|
00001bf0  6c 61 6e 28 33 34 30 2c  2d 36 35 2c 32 2c 38 2c  |lan(340,-65,2,8,|
00001c00  22 53 55 4e 53 54 22 29  0d 08 8e 24 f2 64 72 61  |"SUNST")...$.dra|
00001c10  77 70 6c 61 6e 28 2d 35  33 30 2c 2d 33 37 30 2c  |wplan(-530,-370,|
00001c20  32 2c 39 2c 22 4c 4f 4b  49 54 22 29 0d 08 98 25  |2,9,"LOKIT")...%|
00001c30  f2 64 72 61 77 70 6c 61  6e 28 2d 32 34 30 2c 2d  |.drawplan(-240,-|
00001c40  33 37 30 2c 31 2c 31 30  2c 22 53 54 4f 54 4b 22  |370,1,10,"STOTK"|
00001c50  29 0d 08 a2 23 f2 64 72  61 77 70 6c 61 6e 28 35  |)...#.drawplan(5|
00001c60  30 2c 2d 33 37 30 2c 32  2c 31 31 2c 22 4d 41 47  |0,-370,2,11,"MAG|
00001c70  4e 55 22 29 0d 08 ac 24  f2 64 72 61 77 70 6c 61  |NU")...$.drawpla|
00001c80  6e 28 33 34 30 2c 2d 33  37 30 2c 33 2c 31 32 2c  |n(340,-370,3,12,|
00001c90  22 45 41 52 54 48 22 29  0d 08 b6 05 e1 0d 08 c0  |"EARTH")........|
00001ca0  05 3a 0d 08 ca 28 dd f2  64 72 61 77 70 6c 61 6e  |.:...(..drawplan|
00001cb0  28 58 25 2c 59 25 2c 73  69 7a 65 2c 73 2c 6e 6d  |(X%,Y%,size,s,nm|
00001cc0  24 29 3a 62 6f 6e 67 25  3d a3 0d 08 d4 40 21 73  |$):bong%=....@!s|
00001cd0  63 61 6c 65 3d 31 3a 73  63 61 6c 65 21 34 3d 31  |cale=1:scale!4=1|
00001ce0  3a 73 63 61 6c 65 21 38  3d 73 69 7a 65 3a 73 63  |:scale!8=size:sc|
00001cf0  61 6c 65 21 31 32 3d 73  69 7a 65 3a 73 70 72 24  |ale!12=size:spr$|
00001d00  3d 22 70 6c 22 2b c3 28  73 29 0d 08 de 23 e6 30  |="pl"+.(s)...#.0|
00001d10  20 c8 9c 20 30 3a c8 93  20 c8 90 20 58 25 2d 34  | .. 0:.. .. X%-4|
00001d20  2c 59 25 2d 34 2c 31 39  34 2c 31 39 34 0d 08 e8  |,Y%-4,194,194...|
00001d30  39 58 3d 58 25 2b 28 28  39 35 2f 73 69 7a 65 29  |9X=X%+((95/size)|
00001d40  2a a8 28 73 69 7a 65 2d  31 29 29 3a 59 3d 59 25  |*.(size-1)):Y=Y%|
00001d50  2b 28 28 39 35 2f 73 69  7a 65 29 2a a8 28 73 69  |+((95/size)*.(si|
00001d60  7a 65 2d 31 29 29 0d 08  f2 2c c8 99 20 22 4f 53  |ze-1))...,.. "OS|
00001d70  5f 53 70 72 69 74 65 4f  70 22 2c 33 30 38 2c 73  |_SpriteOp",308,s|
00001d80  70 2c 73 70 72 24 2c 58  2c 59 2c 30 2c 73 63 61  |p,spr$,X,Y,0,sca|
00001d90  6c 65 0d 08 fc 19 e7 20  73 3d 70 6c 61 6e 65 74  |le..... s=planet|
00001da0  25 20 e6 20 36 30 20 8b  20 e6 33 0d 09 06 22 e7  |% . 60 . .3...".|
00001db0  20 a4 63 68 65 63 6b 6d  61 70 28 70 6c 61 6e 65  | .checkmap(plane|
00001dc0  74 25 2c 73 29 3d b9 20  e6 30 2c 31 32 0d 09 10  |t%,s)=. .0,12...|
00001dd0  1b c8 93 20 58 25 2d 34  2c 59 25 2d 34 2c 31 39  |... X%-4,Y%-4,19|
00001de0  34 2c 31 39 34 3a ef 35  0d 09 1a 2d e6 37 20 c8  |4,194:.5...-.7 .|
00001df0  9c 20 32 35 35 3a ec 28  58 25 2b 39 35 29 2d 28  |. 255:.(X%+95)-(|
00001e00  a9 28 6e 6d 24 29 2a 31  36 29 2c 59 25 2b 39 35  |.(nm$)*16),Y%+95|
00001e10  3a f1 6e 6d 24 0d 09 24  38 e7 20 50 44 25 28 73  |:.nm$..$8. PD%(s|
00001e20  29 3d b9 20 c8 99 22 4f  53 5f 53 70 72 69 74 65  |)=. .."OS_Sprite|
00001e30  4f 70 22 2c 33 30 38 2c  73 70 2c 22 79 64 74 61  |Op",308,sp,"ydta|
00001e40  22 2c 58 25 2b 31 32 2c  59 25 2b 31 32 0d 09 2e  |",X%+12,Y%+12...|
00001e50  10 62 6f 6e 67 25 3d b9  3a ef 34 3a e1 0d 09 38  |.bong%=.:.4:...8|
00001e60  05 3a 0d 09 42 21 dd a4  63 68 65 63 6b 6d 61 70  |.:..B!..checkmap|
00001e70  28 6c 6f 63 25 2c 64 65  73 74 25 29 3a f7 20 8d  |(loc%,dest%):. .|
00001e80  64 4a 52 0d 09 4c 28 e7  20 64 65 73 74 25 3c 31  |dJR..L(. dest%<1|
00001e90  20 84 20 64 65 73 74 25  3e 31 32 20 d4 33 2c 2d  | . dest%>12 .3,-|
00001ea0  31 35 2c 35 30 30 2c 35  3a 3d a3 0d 09 56 32 e3  |15,500,5:=...V2.|
00001eb0  54 3d 31 b8 6c 6f 63 25  3a f3 20 6e 65 3a e3 4c  |T=1.loc%:. ne:.L|
00001ec0  25 3d 31 b8 6e 65 3a f3  20 65 78 25 28 4c 25 29  |%=1.ne:. ex%(L%)|
00001ed0  2c 68 79 70 25 28 4c 25  29 3a ed 3a ed 0d 09 60  |,hyp%(L%):.:...`|
00001ee0  3a 72 65 73 3d a3 3a e3  4c 25 3d 31 b8 6e 65 3a  |:res=.:.L%=1.ne:|
00001ef0  e7 20 65 78 25 28 4c 25  29 3d 64 65 73 74 25 20  |. ex%(L%)=dest% |
00001f00  8c 20 72 65 73 3d b9 3a  68 79 70 65 72 25 3d 68  |. res=.:hyper%=h|
00001f10  79 70 25 28 4c 25 29 0d  09 6a 41 ed 3a e7 20 28  |yp%(L%)..jA.:. (|
00001f20  72 65 73 3d b9 20 80 20  62 6f 6e 67 25 3d b9 29  |res=. . bong%=.)|
00001f30  20 d4 31 2c 2d 31 35 2c  33 30 30 30 2c 35 30 20  | .1,-15,3000,50 |
00001f40  8b 20 e7 20 62 6f 6e 67  25 3d b9 20 d4 33 2c 2d  |. . bong%=. .3,-|
00001f50  31 35 2c 35 30 30 2c 35  0d 09 74 19 f2 72 65 61  |15,500,5..t..rea|
00001f60  64 64 61 74 61 28 64 65  73 74 25 29 3a 3d 72 65  |ddata(dest%):=re|
00001f70  73 0d 09 7e 05 3a 0d 09  88 11 dd f2 69 6e 66 6f  |s..~.:......info|
00001f80  72 6d 61 74 69 6f 6e 0d  09 92 3f 6d 65 73 25 3d  |rmation...?mes%=|
00001f90  31 3a db 3a 64 75 64 31  3d 2d 38 30 30 3a e7 20  |1:.:dud1=-800:. |
00001fa0  70 6c 61 6e 65 74 25 3d  31 32 20 80 20 69 6e 66  |planet%=12 . inf|
00001fb0  6f 25 3d 31 31 20 8c 20  6d 65 73 25 3d 33 3a 64  |o%=11 . mes%=3:d|
00001fc0  6f 6e 65 25 3d b9 0d 09  9c 33 e7 20 50 44 25 28  |one%=....3. PD%(|
00001fd0  70 6c 61 6e 65 74 25 29  3d b9 20 50 44 25 28 70  |planet%)=. PD%(p|
00001fe0  6c 61 6e 65 74 25 29 3d  a3 3a 69 6e 66 6f 25 2b  |lanet%)=.:info%+|
00001ff0  3d 31 3a 6d 65 73 25 3d  32 0d 09 a6 29 f2 74 65  |=1:mes%=2...).te|
00002000  78 74 69 6e 66 6f 3a e7  20 b3 28 38 29 3d 31 20  |xtinfo:. .(8)=1 |
00002010  80 20 64 6f 6e 65 25 3d  a3 20 f2 6e 65 77 64 61  |. done%=. .newda|
00002020  74 61 0d 09 b0 3b e7 20  b3 28 32 30 29 3d 31 20  |ta...;. .(20)=1 |
00002030  80 20 64 6f 6e 65 25 3d  a3 20 69 6e 66 24 28 32  |. done%=. inf$(2|
00002040  29 3d 22 4e 6f 20 66 75  65 6c 20 68 65 72 65 22  |)="No fuel here"|
00002050  20 8b 20 65 6e 65 72 67  79 3d 33 30 32 0d 09 ba  | . energy=302...|
00002060  50 e7 73 63 6f 72 65 25  3e 65 78 74 72 61 25 20  |P.score%>extra% |
00002070  80 20 6c 69 76 65 73 25  3c 31 30 20 8c 20 6c 69  |. lives%<10 . li|
00002080  76 65 73 25 2b 3d 31 3a  65 78 74 72 61 25 2b 3d  |ves%+=1:extra%+=|
00002090  35 30 30 30 3a 69 6e 66  24 28 32 29 3d 22 45 78  |5000:inf$(2)="Ex|
000020a0  74 72 61 20 73 68 69 70  20 21 21 21 22 0d 09 c4  |tra ship !!!"...|
000020b0  2b f5 3a c8 99 22 4f 53  5f 53 70 72 69 74 65 4f  |+.:.."OS_SpriteO|
000020c0  70 22 2c 33 30 38 2c 73  70 2c 22 44 43 4b 22 2c  |p",308,sp,"DCK",|
000020d0  2d 36 30 37 2c 31 34 36  0d 09 ce 2b c8 99 22 4f  |-607,146...+.."O|
000020e0  53 5f 53 70 72 69 74 65  4f 70 22 2c 33 30 38 2c  |S_SpriteOp",308,|
000020f0  73 70 2c 22 53 48 50 22  2c 64 75 64 31 2c 32 30  |sp,"SHP",dud1,20|
00002100  30 2c 38 0d 09 d8 32 fb  33 3a f1 8a 33 2c 31 31  |0,8...2.3:..3,11|
00002110  29 3b 22 47 45 4e 45 54  49 43 20 49 4e 46 4f 22  |);"GENETIC INFO"|
00002120  2c 8a 36 2c 32 32 29 3b  22 44 41 54 41 3d 22 3b  |,.6,22);"DATA=";|
00002130  69 6e 66 6f 25 0d 09 e2  40 c8 99 22 4f 53 5f 53  |info%...@.."OS_S|
00002140  70 72 69 74 65 4f 70 22  2c 33 30 38 2c 73 70 2c  |priteOp",308,sp,|
00002150  22 54 32 22 2c 2d 34 32  38 2c 2d 32 32 30 3a f1  |"T2",-428,-220:.|
00002160  8a 33 2c 32 34 29 3b 22  31 31 20 20 52 45 51 55  |.3,24);"11  REQU|
00002170  49 52 45 44 22 0d 09 ec  32 f1 8a 32 30 2c 31 33  |IRED"...2..20,13|
00002180  29 3b 22 4d 45 53 53 41  47 45 20 57 49 4e 44 4f  |);"MESSAGE WINDO|
00002190  57 22 3a e6 36 33 3a c8  93 30 2c 2d 33 34 38 2c  |W":.63:..0,-348,|
000021a0  35 31 34 2c 34 33 36 0d  09 f6 23 fb 31 33 3a e3  |514,436...#.13:.|
000021b0  54 3d 31 b8 34 3a f1 8a  32 30 2c 31 35 2b 54 29  |T=1.4:..20,15+T)|
000021c0  3b 69 6e 66 24 28 54 29  3a ed 0d 0a 00 1f fb 33  |;inf$(T):......3|
000021d0  3a f1 8a 32 30 2c 32 32  29 22 50 52 45 53 53 20  |:..20,22)"PRESS |
000021e0  53 50 41 43 45 42 41 52  22 0d 0a 0a 2c f2 73 77  |SPACEBAR"...,.sw|
000021f0  61 70 73 63 72 65 65 6e  73 3a e7 20 64 75 64 31  |apscreens:. dud1|
00002200  3c 2d 31 30 30 20 64 75  64 31 2d 3d 28 64 75 64  |<-100 dud1-=(dud|
00002210  31 2f 32 30 29 0d 0a 14  0e fd 20 a6 28 2d 39 39  |1/20)..... .(-99|
00002220  29 3a e1 0d 0a 1e 05 3a  0d 0a 28 0e dd f2 74 65  |):.....:..(...te|
00002230  78 74 69 6e 66 6f 0d 0a  32 27 f7 8d 74 6e 55 3a  |xtinfo..2'..tnU:|
00002240  e3 54 3d 31 b8 6d 65 73  25 3a e3 4a 3d 31 b8 34  |.T=1.mes%:.J=1.4|
00002250  3a f3 69 6e 66 24 28 4a  29 3a ed 3a ed 0d 0a 3c  |:.inf$(J):.:...<|
00002260  05 e1 0d 0a 46 05 3a 0d  0a 50 0d dd f2 6e 65 77  |....F.:..P...new|
00002270  64 61 74 61 0d 0a 5a 31  f5 3a 41 25 3d b3 28 31  |data..Z1.:A%=.(1|
00002280  31 29 3a fd 20 41 25 3c  3e 70 6c 61 6e 65 74 25  |1):. A%<>planet%|
00002290  3a e7 20 50 44 25 28 41  25 29 3d a3 20 69 6e 66  |:. PD%(A%)=. inf|
000022a0  6f 25 2d 3d 31 0d 0a 64  2c 50 44 25 28 41 25 29  |o%-=1..d,PD%(A%)|
000022b0  3d b9 3a 69 6e 66 24 28  33 29 3d 22 4e 65 77 20  |=.:inf$(3)="New |
000022c0  64 61 74 61 20 6f 6e 20  22 2b c3 28 41 25 29 3a  |data on "+.(A%):|
000022d0  e1 0d 0a 6e 05 3a 0d 0a  78 19 dd f2 63 6f 6d 70  |...n.:..x...comp|
000022e0  6c 65 74 65 64 3a 66 69  72 65 6f 6b 25 3d a3 0d  |leted:fireok%=..|
000022f0  0a 82 28 f2 6c 65 61 76  65 70 6c 61 6e 65 74 3a  |..(.leaveplanet:|
00002300  f2 64 6f 63 6b 3a fb 31  32 38 3a f2 69 6e 66 6f  |.dock:.128:.info|
00002310  72 6d 61 74 69 6f 6e 0d  0a 8c 21 e7 20 64 6f 6e  |rmation...!. don|
00002320  65 25 3d b9 20 f2 64 6f  6e 65 6a 6f 62 3a 6c 69  |e%=. .donejob:li|
00002330  76 65 73 25 3d 30 3a e1  0d 0a 96 17 db 3a f2 74  |ves%=0:......:.t|
00002340  61 63 74 69 63 61 6c 3a  f2 6c 61 75 6e 63 68 0d  |actical:.launch.|
00002350  0a a0 30 69 6e 68 79 70  65 72 25 3d a3 3a 69 6e  |..0inhyper%=.:in|
00002360  72 6f 63 6b 73 25 3d a3  3a 69 6e 73 75 72 66 61  |rocks%=.:insurfa|
00002370  63 65 25 3d a3 3a 66 69  72 65 6f 6b 25 3d a3 0d  |ce%=.:fireok%=..|
00002380  0a aa 11 7a 69 70 6c 61  6e 65 74 25 3d a3 3a e1  |...ziplanet%=.:.|
00002390  0d 0a b4 05 3a 0d 0a be  0d dd f2 63 6f 6e 74 72  |....:......contr|
000023a0  6f 6c 0d 0a c8 25 eb 31  33 3a 87 3a f2 69 6e 69  |ol...%.13:.:.ini|
000023b0  74 3a c8 91 20 36 34 30  2c 35 31 32 3a f5 3a 70  |t:.. 640,512:.:p|
000023c0  61 75 73 65 25 3d a3 0d  0a d2 10 f2 74 69 74 6c  |ause%=......titl|
000023d0  65 73 63 72 65 65 6e 0d  0a dc 0e f2 73 65 74 75  |escreen.....setu|
000023e0  70 67 61 6d 65 0d 0a e6  15 f2 70 6c 61 79 67 61  |pgame.....playga|
000023f0  6d 65 3a f2 77 69 6e 64  75 70 0d 0a f0 07 fd 20  |me:.windup..... |
00002400  a3 0d 0a fa 05 3a 0d 0b  04 11 dd f2 73 68 69 70  |.....:......ship|
00002410  7a 6f 6f 6d 73 69 6e 0d  0b 0e 1f f2 73 65 74 75  |zoomsin.....setu|
00002420  70 73 68 69 70 3a 5a 3d  31 32 30 3a f5 3a 5a 2d  |pship:Z=120:.:Z-|
00002430  3d 28 5a 2f 36 29 0d 0b  18 29 e7 20 69 6e 68 79  |=(Z/6)...). inhy|
00002440  70 65 72 25 3d b9 20 f2  68 79 70 65 72 70 6c 61  |per%=. .hyperpla|
00002450  6e 65 20 8b 20 f2 73 74  61 72 66 69 65 6c 64 0d  |ne . .starfield.|
00002460  0b 22 25 e7 69 6e 73 75  72 66 61 63 65 25 3d b9  |."%.insurface%=.|
00002470  20 f2 70 6c 61 6e 65 74  67 72 6f 75 6e 64 28 2d  | .planetground(-|
00002480  33 37 32 29 0d 0b 2c 42  21 73 63 61 6c 65 3d 5a  |372)..,B!scale=Z|
00002490  3a 73 63 61 6c 65 21 34  3d 5a 3a 73 63 61 6c 65  |:scale!4=Z:scale|
000024a0  21 38 3d 33 3a 73 63 61  6c 65 21 31 32 3d 33 3a  |!8=3:scale!12=3:|
000024b0  78 6d 6f 64 3d a8 28 28  28 5a 2d 33 29 2a 36 29  |xmod=.(((Z-3)*6)|
000024c0  2f 36 29 2a 33 31 0d 0b  36 35 c8 99 20 22 4f 53  |/6)*31..65.. "OS|
000024d0  5f 53 70 72 69 74 65 4f  70 22 2c 33 30 38 2c 73  |_SpriteOp",308,s|
000024e0  70 2c 22 33 30 22 2c 58  53 25 2d 78 6d 6f 64 2c  |p,"30",XS%-xmod,|
000024f0  59 53 25 2c 38 2c 73 63  61 6c 65 0d 0b 40 18 f2  |YS%,8,scale..@..|
00002500  73 77 61 70 73 63 72 65  65 6e 73 3a fd 20 5a 3c  |swapscreens:. Z<|
00002510  34 3a e1 0d 0b 4a 05 3a  0d 0b 54 10 dd f2 62 6c  |4:...J.:..T...bl|
00002520  61 6e 6b 66 69 65 6c 64  0d 0b 5e 28 e3 4c 25 3d  |ankfield..^(.L%=|
00002530  31 b8 32 30 3a f2 73 74  61 72 66 69 65 6c 64 3a  |1.20:.starfield:|
00002540  f2 73 77 61 70 73 63 72  65 65 6e 73 3a ed 3a e1  |.swapscreens:.:.|
00002550  0d 0b 68 05 3a 0d 0b 72  0a dd f2 69 6e 69 74 0d  |..h.:..r...init.|
00002560  0b 7c 1b c8 99 22 4f 53  5f 55 70 64 61 74 65 4d  |.|..."OS_UpdateM|
00002570  45 4d 43 22 2c 36 34 2c  36 34 0d 0b 86 25 f2 73  |EMC",64,64...%.s|
00002580  74 61 72 74 73 70 72 69  74 65 73 3a f2 6c 6f 61  |tartsprites:.loa|
00002590  64 63 68 61 72 73 28 22  43 68 61 72 73 22 29 0d  |dchars("Chars").|
000025a0  0b 90 18 ff 28 22 2a 50  4f 49 4e 54 45 52 20 31  |....("*POINTER 1|
000025b0  22 29 3a c8 97 20 87 0d  0b 9a 28 f2 73 65 74 75  |"):.. ....(.setu|
000025c0  70 76 61 72 73 3a f2 73  74 61 72 74 74 65 78 74  |pvars:.starttext|
000025d0  3a f2 6c 6f 61 64 6d 6f  76 65 74 61 62 6c 65 0d  |:.loadmovetable.|
000025e0  0b a4 05 e1 0d 0b ae 05  3a 0d 0b b8 0f dd f2 73  |........:......s|
000025f0  65 74 75 70 76 61 72 73  0d 0b c2 49 de 20 58 25  |etupvars...I. X%|
00002600  28 35 30 29 2c 59 25 28  35 30 29 2c 5a 28 35 30  |(50),Y%(50),Z(50|
00002610  29 2c 53 50 24 28 35 30  29 2c 73 68 6f 74 25 28  |),SP$(50),shot%(|
00002620  35 30 29 2c 73 63 61 6c  65 20 31 36 2c 68 69 73  |50),scale 16,his|
00002630  63 6f 72 65 25 28 36 29  2c 6e 61 6d 65 24 28 36  |core%(6),name$(6|
00002640  29 0d 0b cc 47 de 73 78  25 28 34 30 29 2c 73 79  |)...G.sx%(40),sy|
00002650  25 28 34 30 29 2c 63 67  25 28 34 30 29 2c 74 78  |%(40),cg%(40),tx|
00002660  74 24 28 31 30 29 2c 65  78 25 28 35 29 2c 68 79  |t$(10),ex%(5),hy|
00002670  70 25 28 35 29 2c 73 70  65 65 64 25 28 35 30 29  |p%(5),speed%(50)|
00002680  2c 50 44 25 28 31 32 29  0d 0b d6 3e de 73 74 78  |,PD%(12)...>.stx|
00002690  25 28 35 30 29 2c 73 74  79 25 28 35 30 29 2c 78  |%(50),sty%(50),x|
000026a0  74 65 78 74 24 28 33 30  29 2c 79 74 65 78 74 24  |text$(30),ytext$|
000026b0  28 33 30 29 2c 69 6e 66  24 28 35 29 2c 70 61 74  |(30),inf$(5),pat|
000026c0  68 25 28 35 30 29 0d 0b  e0 44 4e 4f 25 3d 35 30  |h%(50)...DNO%=50|
000026d0  3a 6e 73 3d 31 30 3a 45  53 25 3d 2d 35 31 32 3a  |:ns=10:ES%=-512:|
000026e0  62 61 6e 6b 25 3d 31 3a  74 69 6d 65 25 3d 30 3a  |bank%=1:time%=0:|
000026f0  73 63 6f 72 65 25 3d 30  3a fb 31 32 38 3a 69 6e  |score%=0:.128:in|
00002700  73 75 72 66 61 63 65 25  3d a3 0d 0b ea 29 f7 8d  |surface%=....)..|
00002710  54 7c 54 3a e3 54 3d 31  b8 35 3a f3 20 68 69 73  |T|T:.T=1.5:. his|
00002720  63 6f 72 65 25 28 54 29  2c 6e 61 6d 65 24 28 54  |core%(T),name$(T|
00002730  29 3a ed 0d 0b f4 2e 61  6c 69 65 6e 73 6f 76 65  |):.....aliensove|
00002740  72 25 3d a3 3a e3 4c 25  3d 30 b8 34 30 3a 73 78  |r%=.:.L%=0.40:sx|
00002750  25 28 4c 25 29 3d b3 28  31 32 37 39 29 2d 36 34  |%(L%)=.(1279)-64|
00002760  30 0d 0b fe 2d 73 79 25  28 4c 25 29 3d b3 28 31  |0...-sy%(L%)=.(1|
00002770  30 32 33 29 2d 35 31 32  3a 63 67 25 28 4c 25 29  |023)-512:cg%(L%)|
00002780  3d 34 2b 28 a8 28 4c 25  2f 33 29 2a 34 29 0d 0c  |=4+(.(L%/3)*4)..|
00002790  08 19 c8 a0 33 3a 2a 43  48 41 4e 4e 45 4c 56 4f  |....3:*CHANNELVO|
000027a0  49 43 45 20 31 20 35 0d  0c 12 2f ff 28 22 43 48  |ICE 1 5.../.("CH|
000027b0  41 4e 4e 45 4c 56 4f 49  43 45 20 32 20 39 22 29  |ANNELVOICE 2 9")|
000027c0  3a ff 28 22 43 48 41 4e  4e 45 4c 56 4f 49 43 45  |:.("CHANNELVOICE|
000027d0  20 33 20 33 22 29 0d 0c  1c 1f ed 3a c8 97 20 c8  | 3 3").....:.. .|
000027e0  93 20 2d 36 34 30 2c 2d  35 31 32 2c 36 34 30 2c  |. -640,-512,640,|
000027f0  35 31 32 3a e1 0d 0c 26  05 3a 0d 0c 30 0f dd f2  |512:...&.:..0...|
00002800  73 65 74 75 70 67 61 6d  65 0d 0c 3a 43 6c 69 76  |setupgame..:Cliv|
00002810  65 73 25 3d 33 3a 73 63  6f 72 65 25 3d 30 3a 64  |es%=3:score%=0:d|
00002820  65 61 64 3d a3 3a 67 61  6d 65 3d b9 3a 77 61 76  |ead=.:game=.:wav|
00002830  65 25 3d 31 3a 73 6e 64  25 3d 31 3a 45 53 25 3d  |e%=1:snd%=1:ES%=|
00002840  2d 33 38 33 3a 64 6f 6e  65 25 3d a3 0d 0c 44 55  |-383:done%=...DU|
00002850  65 6e 65 72 67 79 3d 33  30 32 3a 70 6c 61 6e 65  |energy=302:plane|
00002860  74 25 3d 31 3a 69 6e 68  79 70 65 72 25 3d a3 3a  |t%=1:inhyper%=.:|
00002870  69 6e 72 6f 63 6b 73 25  3d a3 3a 70 6c 61 6e 65  |inrocks%=.:plane|
00002880  74 24 3d c2 22 30 30 22  2b c3 28 70 6c 61 6e 65  |t$=."00"+.(plane|
00002890  74 25 29 2c 32 29 3a f2  73 65 74 75 70 73 68 69  |t%),2):.setupshi|
000028a0  70 0d 0c 4e 36 68 79 70  65 72 25 3d 31 3a 69 6e  |p..N6hyper%=1:in|
000028b0  73 75 72 66 61 63 65 25  3d a3 3a 66 69 72 65 6f  |surface%=.:fireo|
000028c0  6b 25 3d a3 3a 7a 69 70  6c 61 6e 65 74 25 3d a3  |k%=.:ziplanet%=.|
000028d0  3a 63 6e 74 25 3d 31 0d  0c 58 3f e3 54 25 3d 31  |:cnt%=1..X?.T%=1|
000028e0  b8 31 31 3a 50 44 25 28  54 25 29 3d b9 3a ed 3a  |.11:PD%(T%)=.:.:|
000028f0  50 44 25 28 31 32 29 3d  a3 3a 69 6e 66 6f 25 3d  |PD%(12)=.:info%=|
00002900  30 3a 65 78 74 72 61 25  3d 35 30 30 30 3a 6e 77  |0:extra%=5000:nw|
00002910  61 76 65 25 3d 33 0d 0c  62 44 61 73 70 64 25 3d  |ave%=3..bDaspd%=|
00002920  36 3a 68 73 70 64 25 3d  36 3a 61 73 74 65 72 25  |6:hspd%=6:aster%|
00002930  3d 31 3a 62 6c 62 6e 25  3d 31 3a 58 43 25 3d 34  |=1:blbn%=1:XC%=4|
00002940  3a 59 43 25 3d 34 3a 70  74 69 6d 65 25 3d 33 30  |:YC%=4:ptime%=30|
00002950  30 30 3a 61 6e 69 6d 25  3d 30 0d 0c 6c 2c 70 6c  |00:anim%=0..l,pl|
00002960  61 6e 65 74 73 6b 79 25  3d 33 36 3a 70 6c 61 6e  |anetsky%=36:plan|
00002970  65 74 63 6f 6c 25 3d 38  3a 61 6c 73 70 65 65 64  |etcol%=8:alspeed|
00002980  25 3d 31 32 3a e1 0d 0c  76 05 3a 0d 0c 80 0f dd  |%=12:...v.:.....|
00002990  f2 73 65 74 75 70 73 68  69 70 0d 0c 8a 2e 58 53  |.setupship....XS|
000029a0  25 3d 2d 32 34 2a 34 3a  59 53 25 3d 2d 31 32 2a  |%=-24*4:YS%=-12*|
000029b0  34 3a 5a 53 25 3d 35 3a  66 69 72 65 74 69 6d 65  |4:ZS%=5:firetime|
000029c0  25 3d 91 2d 35 30 3a e1  0d 0c 94 05 3a 0d 0c 9e  |%=.-50:.....:...|
000029d0  2e dd f2 73 65 74 75 70  6f 62 6a 65 63 74 73 28  |...setupobjects(|
000029e0  6e 75 6d 2c 72 6e 64 2c  62 61 73 65 2c 73 70 65  |num,rnd,base,spe|
000029f0  65 64 29 3a 4e 4f 25 3d  6e 75 6d 0d 0c a8 30 e3  |ed):NO%=num...0.|
00002a00  4c 25 3d 30 b8 20 4e 4f  25 3a 58 25 28 4c 25 29  |L%=0. NO%:X%(L%)|
00002a10  3d b3 28 31 30 30 29 2d  35 30 3a 59 25 28 4c 25  |=.(100)-50:Y%(L%|
00002a20  29 3d b3 28 31 30 30 29  2d 35 30 0d 0c b2 34 73  |)=.(100)-50...4s|
00002a30  74 78 25 28 4c 25 29 3d  58 25 28 4c 25 29 3a 73  |tx%(L%)=X%(L%):s|
00002a40  74 79 25 28 4c 25 29 3d  59 25 28 4c 25 29 3a 73  |ty%(L%)=Y%(L%):s|
00002a50  70 65 65 64 25 28 4c 25  29 3d 73 70 65 65 64 0d  |peed%(L%)=speed.|
00002a60  0c bc 27 5a 28 4c 25 29  3d b3 28 35 29 3a 53 50  |..'Z(L%)=.(5):SP|
00002a70  24 28 4c 25 29 3d c3 28  62 61 73 65 29 3a e7 72  |$(L%)=.(base):.r|
00002a80  6e 64 3e 31 20 8c 0d 0c  c6 2b 53 50 24 28 4c 25  |nd>1 ....+SP$(L%|
00002a90  29 3d c3 28 a8 28 b3 28  72 6e 64 29 2b 62 61 73  |)=.(.(.(rnd)+bas|
00002aa0  65 2d 31 29 29 3a 73 68  6f 74 25 28 4c 25 29 3d  |e-1)):shot%(L%)=|
00002ab0  a3 0d 0c d0 0d cd 3a 61  6e 69 6d 25 3d 30 0d 0c  |......:anim%=0..|
00002ac0  da 49 e7 20 69 6e 73 75  72 66 61 63 65 25 3d a3  |.I. insurface%=.|
00002ad0  20 70 61 74 68 25 28 4c  25 29 3d 28 bb 28 53 50  | path%(L%)=(.(SP|
00002ae0  24 28 4c 25 29 29 2d 34  36 29 2a 32 30 30 20 8b  |$(L%))-46)*200 .|
00002af0  20 70 61 74 68 25 28 4c  25 29 3d 28 34 2b b3 28  | path%(L%)=(4+.(|
00002b00  38 29 29 2a 32 30 30 0d  0c e4 07 ed 3a e1 0d 0c  |8))*200.....:...|
00002b10  ee 05 3a 0d 0c f8 12 dd  f2 73 74 61 72 74 73 70  |..:......startsp|
00002b20  72 69 74 65 73 0d 0d 02  1a de 20 73 70 20 26 33  |rites..... sp &3|
00002b30  46 30 30 30 3a 21 73 70  3d 26 33 46 30 30 30 0d  |F000:!sp=&3F000.|
00002b40  0d 0c 1b 73 70 21 34 3d  30 3a 73 70 21 38 3d 31  |...sp!4=0:sp!8=1|
00002b50  36 3a 73 70 21 31 32 3d  31 36 0d 0d 16 26 f4 53  |6:sp!12=16...&.S|
00002b60  59 53 22 4f 53 5f 53 70  72 69 74 65 4f 70 22 2c  |YS"OS_SpriteOp",|
00002b70  32 36 36 2c 73 70 2c 22  53 50 52 49 54 45 53 22  |266,sp,"SPRITES"|
00002b80  0d 0d 1b 1d ff 28 22 4c  4f 41 44 20 50 41 43 4b  |.....("LOAD PACK|
00002b90  53 50 52 20 22 2b c3 7e  28 73 70 29 29 0d 0d 20  |SPR "+.~(sp)).. |
00002ba0  05 e1 0d 0d 2a 05 3a 0d  0d 34 14 dd f2 7a 6f 6f  |....*.:..4...zoo|
00002bb0  6d 69 6e 74 6f 70 6c 61  6e 65 74 0d 0d 3e 0e db  |mintoplanet..>..|
00002bc0  3a e3 4c 25 3d 31 b8 38  30 0d 0d 48 38 21 73 63  |:.L%=1.80..H8!sc|
00002bd0  61 6c 65 3d 4c 25 3a 73  63 61 6c 65 21 34 3d 4c  |ale=L%:scale!4=L|
00002be0  25 3a 73 63 61 6c 65 21  38 3d 35 3a 73 63 61 6c  |%:scale!8=5:scal|
00002bf0  65 21 31 32 3d 35 3a f2  73 74 61 72 66 69 65 6c  |e!12=5:.starfiel|
00002c00  64 0d 0d 52 48 53 50 24  3d 22 70 6c 22 2b c3 28  |d..RHSP$="pl"+.(|
00002c10  70 6c 61 6e 65 74 25 29  3a c8 99 22 4f 53 5f 53  |planet%):.."OS_S|
00002c20  70 72 69 74 65 4f 70 22  2c 33 30 38 2c 73 70 2c  |priteOp",308,sp,|
00002c30  53 50 24 2c 2d 4c 25 2a  32 31 2c 2d 4c 25 2a 32  |SP$,-L%*21,-L%*2|
00002c40  31 2c 38 2c 73 63 61 6c  65 0d 0d 5c 26 f2 73 68  |1,8,scale..\&.sh|
00002c50  69 70 3a f2 70 6c 61 6e  65 74 64 61 74 61 3a f2  |ip:.planetdata:.|
00002c60  73 77 61 70 73 63 72 65  65 6e 73 3a ed 3a e1 0d  |swapscreens:.:..|
00002c70  0d 66 05 3a 0d 0d 70 0e  dd f2 6c 69 66 65 6c 6f  |.f.:..p...lifelo|
00002c80  73 74 0d 0d 7a 20 e7 20  69 6e 73 75 72 66 61 63  |st..z . insurfac|
00002c90  65 25 3d b9 20 f2 73 77  61 70 66 69 65 6c 64 28  |e%=. .swapfield(|
00002ca0  b9 29 0d 0d 84 30 d4 32  2c 2d 31 35 2c 35 2c 32  |.)...0.2,-15,5,2|
00002cb0  30 30 3a 45 58 25 3d 31  3a e3 64 75 64 3d 31 b8  |00:EX%=1:.dud=1.|
00002cc0  34 30 3a 53 24 3d 22 45  58 50 22 2b c3 28 45 58  |40:S$="EXP"+.(EX|
00002cd0  25 29 0d 0d 8e 29 e7 20  69 6e 68 79 70 65 72 25  |%)...). inhyper%|
00002ce0  3d b9 20 f2 68 79 70 65  72 70 6c 61 6e 65 20 8b  |=. .hyperplane .|
00002cf0  20 f2 73 74 61 72 66 69  65 6c 64 0d 0d 98 26 e7  | .starfield...&.|
00002d00  20 69 6e 73 75 72 66 61  63 65 25 3d b9 20 f2 70  | insurface%=. .p|
00002d10  6c 61 6e 65 74 67 72 6f  75 6e 64 28 2d 33 37 32  |lanetground(-372|
00002d20  29 0d 0d a2 35 e7 20 69  6e 72 6f 63 6b 73 25 3d  |)...5. inrocks%=|
00002d30  2d 31 20 84 20 69 6e 68  79 70 65 72 25 3d 2d 31  |-1 . inhyper%=-1|
00002d40  20 84 20 69 6e 73 75 72  66 61 63 65 25 3d 2d 31  | . insurface%=-1|
00002d50  20 f2 70 6c 6f 74 0d 0d  ac 41 e7 20 45 58 25 3c  | .plot...A. EX%<|
00002d60  37 20 c8 99 22 4f 53 5f  53 70 72 69 74 65 4f 70  |7 .."OS_SpriteOp|
00002d70  22 2c 33 30 38 2c 73 70  2c 53 24 2c 58 53 25 2d  |",308,sp,S$,XS%-|
00002d80  28 45 58 25 2a 32 30 29  2c 59 53 25 2d 28 45 58  |(EX%*20),YS%-(EX|
00002d90  25 2a 32 30 29 2c 38 0d  0d b6 34 e7 20 64 75 64  |%*20),8...4. dud|
00002da0  3c 32 36 20 c8 99 22 4f  53 5f 53 70 72 69 74 65  |<26 .."OS_Sprite|
00002db0  4f 70 22 2c 33 30 38 2c  73 70 2c 22 64 65 64 22  |Op",308,sp,"ded"|
00002dc0  2c 2d 35 34 30 2c 2d 31  36 2c 38 0d 0d c0 19 f2  |,-540,-16,8.....|
00002dd0  73 77 61 70 73 63 72 65  65 6e 73 3a 45 58 25 2b  |swapscreens:EX%+|
00002de0  3d 31 3a ed 0d 0d ca 2f  6c 69 76 65 73 25 2d 3d  |=1:..../lives%-=|
00002df0  31 3a 65 6e 65 72 67 79  3d 33 30 34 3a 64 65 61  |1:energy=304:dea|
00002e00  64 3d a3 3a f2 73 77 61  70 66 69 65 6c 64 28 a3  |d=.:.swapfield(.|
00002e10  29 3a e1 0d 0d d4 05 3a  0d 0d de 0e dd f2 67 61  |):.....:......ga|
00002e20  6d 65 6f 76 65 72 0d 0d  e8 16 70 61 75 73 65 25  |meover....pause%|
00002e30  3d a3 3a e3 64 75 64 3d  31 b8 35 30 0d 0d f2 20  |=.:.dud=1.50... |
00002e40  e7 20 69 6e 73 75 72 66  61 63 65 25 3d b9 20 f2  |. insurface%=. .|
00002e50  73 77 61 70 66 69 65 6c  64 28 b9 29 0d 0d fc 29  |swapfield(.)...)|
00002e60  e7 20 69 6e 68 79 70 65  72 25 3d b9 20 f2 68 79  |. inhyper%=. .hy|
00002e70  70 65 72 70 6c 61 6e 65  20 8b 20 f2 73 74 61 72  |perplane . .star|
00002e80  66 69 65 6c 64 0d 0e 06  26 e7 20 69 6e 73 75 72  |field...&. insur|
00002e90  66 61 63 65 25 3d b9 20  f2 70 6c 61 6e 65 74 67  |face%=. .planetg|
00002ea0  72 6f 75 6e 64 28 2d 33  37 32 29 0d 0e 10 35 e7  |round(-372)...5.|
00002eb0  20 69 6e 72 6f 63 6b 73  25 3d 2d 31 20 84 20 69  | inrocks%=-1 . i|
00002ec0  6e 68 79 70 65 72 25 3d  2d 31 20 84 20 69 6e 73  |nhyper%=-1 . ins|
00002ed0  75 72 66 61 63 65 25 3d  2d 31 20 f2 70 6c 6f 74  |urface%=-1 .plot|
00002ee0  0d 0e 1a 34 e7 20 64 75  64 3c 33 30 20 c8 99 22  |...4. dud<30 .."|
00002ef0  4f 53 5f 53 70 72 69 74  65 4f 70 22 2c 33 30 38  |OS_SpriteOp",308|
00002f00  2c 73 70 2c 22 47 56 52  22 2c 2d 32 38 38 2c 2d  |,sp,"GVR",-288,-|
00002f10  31 36 2c 38 0d 0e 24 4a  e7 20 73 63 6f 72 65 25  |16,8..$J. score%|
00002f20  3e 68 69 73 63 6f 72 65  25 28 35 29 20 c8 99 22  |>hiscore%(5) .."|
00002f30  4f 53 5f 53 70 72 69 74  65 4f 70 22 2c 33 30 38  |OS_SpriteOp",308|
00002f40  2c 73 70 2c 22 48 49 53  22 2c 2d 35 35 39 2c 2d  |,sp,"HIS",-559,-|
00002f50  36 30 30 2b 28 64 75 64  2a 32 30 29 2c 38 0d 0e  |600+(dud*20),8..|
00002f60  2e 32 f2 73 77 61 70 73  63 72 65 65 6e 73 3a ed  |.2.swapscreens:.|
00002f70  3a e7 20 73 63 6f 72 65  25 3e 68 69 73 63 6f 72  |:. score%>hiscor|
00002f80  65 25 28 35 29 20 f2 6f  6e 74 6f 74 61 62 6c 65  |e%(5) .ontotable|
00002f90  0d 0e 38 13 f2 73 77 61  70 66 69 65 6c 64 28 a3  |..8..swapfield(.|
00002fa0  29 3a e1 0d 0e 42 05 3a  0d 0e 4c 0f dd f2 6f 6e  |):...B.:..L...on|
00002fb0  74 6f 74 61 62 6c 65 0d  0e 56 15 69 6e 73 75 72  |totable..V.insur|
00002fc0  66 61 63 65 25 3d a3 3a  fb 31 32 38 0d 0e 60 41  |face%=.:.128..`A|
00002fd0  74 61 62 6c 65 31 25 3d  36 3a f5 3a 74 61 62 6c  |table1%=6:.:tabl|
00002fe0  65 31 25 2d 3d 31 3a fd  20 68 69 73 63 6f 72 65  |e1%-=1:. hiscore|
00002ff0  25 28 74 61 62 6c 65 31  25 29 3e 73 63 6f 72 65  |%(table1%)>score|
00003000  25 20 84 20 74 61 62 6c  65 31 25 3d 30 0d 0e 6a  |% . table1%=0..j|
00003010  44 e3 54 3d 35 b8 74 61  62 6c 65 31 25 2b 31 20  |D.T=5.table1%+1 |
00003020  88 2d 31 3a 68 69 73 63  6f 72 65 25 28 54 2b 31  |.-1:hiscore%(T+1|
00003030  29 3d 68 69 73 63 6f 72  65 25 28 54 29 3a 6e 61  |)=hiscore%(T):na|
00003040  6d 65 24 28 54 2b 31 29  3d 6e 61 6d 65 24 28 54  |me$(T+1)=name$(T|
00003050  29 0d 0e 74 31 ed 3a 74  61 62 6c 65 31 25 2b 3d  |)..t1.:table1%+=|
00003060  31 3a 68 69 73 63 6f 72  65 25 28 74 61 62 6c 65  |1:hiscore%(table|
00003070  31 25 29 3d 73 63 6f 72  65 25 3a 2a 46 58 32 31  |1%)=score%:*FX21|
00003080  2c 30 0d 0e 7e 31 db 3a  6e 61 6d 65 24 28 74 61  |,0..~1.:name$(ta|
00003090  62 6c 65 31 25 29 3d 22  22 3a f2 73 65 74 75 70  |ble1%)="":.setup|
000030a0  6f 62 6a 65 63 74 73 28  32 2c 32 2c 34 38 2c 33  |objects(2,2,48,3|
000030b0  29 3a f5 0d 0e 88 29 f2  73 74 61 72 66 69 65 6c  |):....).starfiel|
000030c0  64 3a f2 70 6c 6f 74 3a  fb 36 30 3a f2 73 63 6f  |d:.plot:.60:.sco|
000030d0  72 65 73 28 31 32 2c 38  29 3a fb 33 0d 0e 92 32  |res(12,8):.3...2|
000030e0  c8 99 22 4f 53 5f 53 70  72 69 74 65 4f 70 22 2c  |.."OS_SpriteOp",|
000030f0  33 30 38 2c 73 70 2c 22  48 49 53 22 2c 2d 35 35  |308,sp,"HIS",-55|
00003100  39 2c 34 30 30 2c 38 3a  41 3d a6 28 30 29 0d 0e  |9,400,8:A=.(0)..|
00003110  9c 3a e7 41 3e 33 32 80  20 41 3c 31 32 33 80 20  |.:.A>32. A<123. |
00003120  a9 28 6e 61 6d 65 24 28  74 61 62 6c 65 31 25 29  |.(name$(table1%)|
00003130  29 3c 35 20 6e 61 6d 65  24 28 74 61 62 6c 65 31  |)<5 name$(table1|
00003140  25 29 2b 3d bd 28 41 29  0d 0e a6 27 e7 20 41 3c  |%)+=.(A)...'. A<|
00003150  3e 2d 31 20 80 20 41 3c  3e 31 33 20 80 20 28 41  |>-1 . A<>13 . (A|
00003160  3c 33 32 20 84 20 41 3e  31 32 37 29 20 ef 37 0d  |<32 . A>127) .7.|
00003170  0e b0 55 e7 20 a9 28 6e  61 6d 65 24 28 74 61 62  |..U. .(name$(tab|
00003180  6c 65 31 25 29 29 3e 30  20 80 20 41 3d 31 32 37  |le1%))>0 . A=127|
00003190  20 6e 61 6d 65 24 28 74  61 62 6c 65 31 25 29 3d  | name$(table1%)=|
000031a0  c0 6e 61 6d 65 24 28 74  61 62 6c 65 31 25 29 2c  |.name$(table1%),|
000031b0  a9 28 6e 61 6d 65 24 28  74 61 62 6c 65 31 25 29  |.(name$(table1%)|
000031c0  29 2d 31 29 0d 0e ba 45  f1 8a 35 2c 32 31 29 22  |)-1)...E..5,21)"|
000031d0  45 4e 54 45 52 20 4e 41  4d 45 20 46 4f 52 20 48  |ENTER NAME FOR H|
000031e0  49 2d 53 43 4f 52 45 20  54 41 42 4c 45 22 3a f1  |I-SCORE TABLE":.|
000031f0  8a 31 36 2c 32 33 29 22  3e 22 3b 6e 61 6d 65 24  |.16,23)">";name$|
00003200  28 74 61 62 6c 65 31 25  29 0d 0e c4 19 f2 73 77  |(table1%).....sw|
00003210  61 70 73 63 72 65 65 6e  73 3a fd 20 41 3d 31 33  |apscreens:. A=13|
00003220  3a e1 0d 0e ce 05 3a 0d  0e d8 11 dd f2 7a 69 70  |:.....:......zip|
00003230  6f 75 74 73 74 61 72 73  0d 0e e2 15 fb 31 32 38  |outstars.....128|
00003240  3a f2 73 77 61 70 73 63  72 65 65 6e 73 0d 0e ec  |:.swapscreens...|
00003250  27 f2 66 6c 61 73 68 28  22 6a 6d 70 22 2c 2d 34  |'.flash("jmp",-4|
00003260  39 30 29 3a e3 58 45 25  3d 30 20 b8 20 38 30 30  |90):.XE%=0 . 800|
00003270  20 88 34 38 0d 0e f6 23  f2 73 74 61 72 66 69 65  | .48...#.starfie|
00003280  6c 64 3a e6 37 20 c8 9c  30 3a c8 8f 20 c8 90 20  |ld:.7 ..0:.. .. |
00003290  30 2c 30 2c 58 45 25 0d  0f 00 2d f2 68 79 70 65  |0,0,XE%...-.hype|
000032a0  72 70 6c 61 6e 65 3a e6  31 31 3a c8 8f 20 30 2c  |rplane:.11:.. 0,|
000032b0  30 2c 58 45 25 3a f2 73  77 61 70 73 63 72 65 65  |0,XE%:.swapscree|
000032c0  6e 73 3a ed 0d 0f 0a 0e  fb 31 32 38 2b 37 3a db  |ns:......128+7:.|
000032d0  3a e1 0d 0f 14 05 3a 0d  0f 1e 10 dd f2 7a 69 70  |:.....:......zip|
000032e0  69 6e 73 74 61 72 73 0d  0f 28 15 5a 3d 34 3a f5  |instars..(.Z=4:.|
000032f0  3a f2 68 79 70 65 72 70  6c 61 6e 65 0d 0f 32 42  |:.hyperplane..2B|
00003300  21 73 63 61 6c 65 3d 5a  3a 73 63 61 6c 65 21 34  |!scale=Z:scale!4|
00003310  3d 5a 3a 73 63 61 6c 65  21 38 3d 33 3a 73 63 61  |=Z:scale!8=3:sca|
00003320  6c 65 21 31 32 3d 33 3a  78 6d 6f 64 3d a8 28 28  |le!12=3:xmod=.((|
00003330  28 5a 2d 33 29 2a 36 29  2f 36 29 2a 33 31 0d 0f  |(Z-3)*6)/6)*31..|
00003340  3c 35 c8 99 20 22 4f 53  5f 53 70 72 69 74 65 4f  |<5.. "OS_SpriteO|
00003350  70 22 2c 33 30 38 2c 73  70 2c 22 33 30 22 2c 58  |p",308,sp,"30",X|
00003360  53 25 2d 78 6d 6f 64 2c  59 53 25 2c 38 2c 73 63  |S%-xmod,YS%,8,sc|
00003370  61 6c 65 0d 0f 46 2b 5a  2b 3d 28 5a 2f 36 29 3a  |ale..F+Z+=(Z/6):|
00003380  f2 73 77 61 70 73 63 72  65 65 6e 73 3a fd 20 5a  |.swapscreens:. Z|
00003390  3e 31 32 30 3a e6 32 31  20 c8 9c 32 35 35 0d 0f  |>120:.21 ..255..|
000033a0  50 2d e3 58 45 25 3d 30  20 b8 20 36 34 30 20 88  |P-.XE%=0 . 640 .|
000033b0  34 38 3a f2 73 77 61 70  73 63 72 65 65 6e 73 3a  |48:.swapscreens:|
000033c0  f2 68 79 70 65 72 70 6c  61 6e 65 0d 0f 5a 24 e6  |.hyperplane..Z$.|
000033d0  30 20 c8 9c 20 30 3a c8  8f 20 c8 90 20 30 2c 30  |0 .. 0:.. .. 0,0|
000033e0  2c 58 45 25 3a f2 73 74  61 72 66 69 65 6c 64 0d  |,XE%:.starfield.|
000033f0  0f 64 0c ed 3a fb 31 32  38 3a e1 0d 0f 6e 05 3a  |.d..:.128:...n.:|
00003400  0d 0f 78 0c dd f2 6c 61  75 6e 63 68 0d 0f 82 10  |..x...launch....|
00003410  4c 3d 31 35 30 3a fb 31  32 38 3a f5 0d 0f 8c 36  |L=150:.128:....6|
00003420  21 73 63 61 6c 65 3d 4c  3a 73 63 61 6c 65 21 34  |!scale=L:scale!4|
00003430  3d 4c 3a 73 63 61 6c 65  21 38 3d 33 3a 73 63 61  |=L:scale!8=3:sca|
00003440  6c 65 21 31 32 3d 33 3a  f2 73 74 61 72 66 69 65  |le!12=3:.starfie|
00003450  6c 64 0d 0f 96 3e c8 99  22 4f 53 5f 53 70 72 69  |ld...>.."OS_Spri|
00003460  74 65 4f 70 22 2c 33 30  38 2c 73 70 2c 22 53 54  |teOp",308,sp,"ST|
00003470  41 54 49 4f 4e 22 2c 2d  28 4c 2a 33 32 2e 35 29  |ATION",-(L*32.5)|
00003480  2c 2d 28 4c 2a 33 32 29  2c 38 2c 73 63 61 6c 65  |,-(L*32),8,scale|
00003490  0d 0f a0 38 c8 99 22 4f  53 5f 53 70 72 69 74 65  |...8.."OS_Sprite|
000034a0  4f 70 22 2c 33 30 38 2c  73 70 2c 22 52 56 57 22  |Op",308,sp,"RVW"|
000034b0  2c 2d 35 36 38 2c 2d 31  36 2c 38 3a f2 73 77 61  |,-568,-16,8:.swa|
000034c0  70 73 63 72 65 65 6e 73  0d 0f aa 18 4c 3d a8 28  |pscreens....L=.(|
000034d0  4c 2d 28 4c 2f 36 29 29  3a fd 20 4c 3c 31 3a e1  |L-(L/6)):. L<1:.|
000034e0  0d 0f b4 05 3a 0d 0f be  0a dd f2 64 6f 63 6b 0d  |....:......dock.|
000034f0  0f c8 0a 4c 25 3d 36 3a  f5 0d 0f d2 3a 21 73 63  |...L%=6:....:!sc|
00003500  61 6c 65 3d 4c 25 3a 73  63 61 6c 65 21 34 3d 4c  |ale=L%:scale!4=L|
00003510  25 3a 73 63 61 6c 65 21  38 3d 31 32 3a 73 63 61  |%:scale!8=12:sca|
00003520  6c 65 21 31 32 3d 31 32  3a f2 73 74 61 72 66 69  |le!12=12:.starfi|
00003530  65 6c 64 0d 0f dc 3d c8  99 20 22 4f 53 5f 53 70  |eld...=.. "OS_Sp|
00003540  72 69 74 65 4f 70 22 2c  33 30 38 2c 73 70 2c 22  |riteOp",308,sp,"|
00003550  53 54 41 54 49 4f 4e 22  2c 2d 28 4c 25 2a 38 29  |STATION",-(L%*8)|
00003560  2c 2d 28 4c 25 2a 38 29  2c 38 2c 73 63 61 6c 65  |,-(L%*8),8,scale|
00003570  0d 0f e6 31 f2 73 68 69  70 3a f2 73 77 61 70 73  |...1.ship:.swaps|
00003580  63 72 65 65 6e 73 3a 4c  25 3d a8 28 4c 25 2b 28  |creens:L%=.(L%+(|
00003590  4c 25 2f 36 29 29 3a fd  20 4c 25 3e 37 30 30 3a  |L%/6)):. L%>700:|
000035a0  e1 0d 0f f0 05 3a 0d 0f  fa 0d dd f2 64 6f 6e 65  |.....:......done|
000035b0  6a 6f 62 0d 10 04 1f e3  54 3d 34 30 30 b8 2d 36  |job.....T=400.-6|
000035c0  30 30 20 88 2d 31 32 3a  f2 73 74 61 72 66 69 65  |00 .-12:.starfie|
000035d0  6c 64 0d 10 0e 2d c8 99  20 22 4f 53 5f 53 70 72  |ld...-.. "OS_Spr|
000035e0  69 74 65 4f 70 22 2c 33  30 38 2c 73 70 2c 22 54  |iteOp",308,sp,"T|
000035f0  30 22 2c 2d 35 30 30 2c  31 30 30 2b 54 2c 30 0d  |0",-500,100+T,0.|
00003600  10 18 2b c8 99 22 4f 53  5f 53 70 72 69 74 65 4f  |..+.."OS_SpriteO|
00003610  70 22 2c 33 30 38 2c 73  70 2c 22 54 32 22 2c 2d  |p",308,sp,"T2",-|
00003620  31 30 30 2c 2d 37 30 30  2d 54 0d 10 22 2b c8 99  |100,-700-T.."+..|
00003630  22 4f 53 5f 53 70 72 69  74 65 4f 70 22 2c 33 30  |"OS_SpriteOp",30|
00003640  38 2c 73 70 2c 22 47 56  52 22 2c 2d 32 38 38 2c  |8,sp,"GVR",-288,|
00003650  2d 31 36 2c 38 0d 10 2c  12 f2 73 77 61 70 73 63  |-16,8..,..swapsc|
00003660  72 65 65 6e 73 3a ed 0d  10 36 2a e3 54 3d 36 30  |reens:...6*.T=60|
00003670  30 20 b8 20 2d 33 30 30  30 20 88 2d 31 32 3a f2  |0 . -3000 .-12:.|
00003680  73 74 61 72 66 69 65 6c  64 3a e3 59 3d 31 b8 31  |starfield:.Y=1.1|
00003690  32 0d 10 40 43 c8 99 22  4f 53 5f 53 70 72 69 74  |2..@C.."OS_Sprit|
000036a0  65 4f 70 22 2c 33 30 38  2c 73 70 2c 22 70 6c 22  |eOp",308,sp,"pl"|
000036b0  2b c3 28 59 29 2c 28 9b  28 54 2b 59 29 2f 38 29  |+.(Y),(.(T+Y)/8)|
000036c0  2a 28 34 30 2a 59 29 2d  38 30 2c 54 2b 28 59 2a  |*(40*Y)-80,T+(Y*|
000036d0  32 30 30 29 0d 10 4a 2b  ed 3a c8 99 22 4f 53 5f  |200)..J+.:.."OS_|
000036e0  53 70 72 69 74 65 4f 70  22 2c 33 30 38 2c 73 70  |SpriteOp",308,sp|
000036f0  2c 22 54 32 22 2c 2d 31  30 30 2c 2d 31 30 30 0d  |,"T2",-100,-100.|
00003700  10 54 2b c8 99 22 4f 53  5f 53 70 72 69 74 65 4f  |.T+.."OS_SpriteO|
00003710  70 22 2c 33 30 38 2c 73  70 2c 22 47 56 52 22 2c  |p",308,sp,"GVR",|
00003720  2d 32 38 38 2c 2d 31 36  2c 38 0d 10 5e 12 f2 73  |-288,-16,8..^..s|
00003730  77 61 70 73 63 72 65 65  6e 73 3a ed 0d 10 68 1e  |wapscreens:...h.|
00003740  e3 54 3d 2d 31 30 30 b8  36 30 30 20 88 31 32 3a  |.T=-100.600 .12:|
00003750  f2 73 74 61 72 66 69 65  6c 64 0d 10 72 26 c8 99  |.starfield..r&..|
00003760  22 4f 53 5f 53 70 72 69  74 65 4f 70 22 2c 33 30  |"OS_SpriteOp",30|
00003770  38 2c 73 70 2c 22 54 32  22 2c 2d 31 30 30 2c 54  |8,sp,"T2",-100,T|
00003780  0d 10 7c 2b c8 99 22 4f  53 5f 53 70 72 69 74 65  |..|+.."OS_Sprite|
00003790  4f 70 22 2c 33 30 38 2c  73 70 2c 22 47 56 52 22  |Op",308,sp,"GVR"|
000037a0  2c 2d 32 38 38 2c 2d 31  36 2c 38 0d 10 86 14 f2  |,-288,-16,8.....|
000037b0  73 77 61 70 73 63 72 65  65 6e 73 3a ed 3a e1 0d  |swapscreens:.:..|
000037c0  10 90 05 3a 0d 10 9a 10  dd f2 70 6c 61 6e 65 74  |...:......planet|
000037d0  64 61 74 61 0d 10 a4 32  ef 35 3a e7 70 6c 61 6e  |data...2.5:.plan|
000037e0  65 74 25 3d 31 20 84 20  70 6c 61 6e 65 74 25 3d  |et%=1 . planet%=|
000037f0  36 20 84 20 70 6c 61 6e  65 74 25 3e 37 20 e6 33  |6 . planet%>7 .3|
00003800  20 8b 20 e6 36 30 0d 10  ae 1c e3 54 3d 30 b8 37  | . .60.....T=0.7|
00003810  3a 70 6f 73 3d a9 28 74  78 74 24 28 54 29 29 2a  |:pos=.(txt$(T))*|
00003820  33 32 0d 10 b8 1f ec 2d  70 6f 73 2f 32 2c 32 30  |32.....-pos/2,20|
00003830  30 2d 28 54 2a 35 30 29  3a f1 74 78 74 24 28 54  |0-(T*50):.txt$(T|
00003840  29 0d 10 c2 0a ed 3a ef  34 3a e1 0d 10 cc 05 3a  |).....:.4:.....:|
00003850  0d 10 d6 29 f4 20 44 41  54 41 20 46 4f 52 20 50  |...). DATA FOR P|
00003860  4c 41 4e 45 54 20 49 4e  46 4f 52 4d 41 54 49 4f  |LANET INFORMATIO|
00003870  4e 20 53 43 52 45 45 4e  53 0d 10 e0 11 dc 20 22  |N SCREENS..... "|
00003880  53 4f 4d 42 41 52 22 2c  22 22 0d 10 ea 3d dc 22  |SOMBAR",""...=."|
00003890  41 20 73 6d 61 6c 6c 20  61 6e 64 20 72 65 6c 61  |A small and rela|
000038a0  74 69 76 65 6c 79 20 75  6e 69 6d 70 6f 72 74 61  |tively unimporta|
000038b0  6e 74 22 2c 22 45 61 72  74 68 20 74 79 70 65 20  |nt","Earth type |
000038c0  77 6f 72 6c 64 2e 22 0d  10 f4 3c dc 22 49 74 20  |world."...<."It |
000038d0  68 61 73 20 66 65 77 20  72 65 73 63 6f 75 72 63  |has few rescourc|
000038e0  65 73 20 66 6f 72 20 74  68 65 22 2c 22 49 6e 76  |es for the","Inv|
000038f0  61 64 65 72 73 2c 79 65  74 20 69 74 20 77 6f 75  |aders,yet it wou|
00003900  6c 64 22 0d 10 fe 2e dc  22 70 72 6f 76 69 64 65  |ld"....."provide|
00003910  20 61 20 70 65 72 66 65  63 74 20 62 61 73 65 22  | a perfect base"|
00003920  2c 22 6f 66 20 6f 70 65  72 61 74 69 6f 6e 73 2e  |,"of operations.|
00003930  22 0d 11 08 10 dc 20 22  54 41 4c 49 53 22 2c 22  |"..... "TALIS","|
00003940  22 0d 11 12 3f dc 22 41  20 64 65 73 65 72 74 20  |"...?."A desert |
00003950  77 6f 72 6c 64 20 77 69  74 68 20 74 68 69 6e 20  |world with thin |
00003960  68 61 62 69 74 61 62 6c  65 22 2c 22 62 61 6e 64  |habitable","band|
00003970  73 20 61 74 20 74 68 65  20 70 6f 6c 65 73 2e 22  |s at the poles."|
00003980  0d 11 1c 3c dc 22 48 6f  77 65 76 65 72 20 69 74  |...<."However it|
00003990  20 69 73 20 72 69 63 68  20 69 6e 20 6d 69 6e 65  | is rich in mine|
000039a0  72 61 6c 22 2c 22 77 65  61 6c 74 68 2e 41 20 70  |ral","wealth.A p|
000039b0  6c 61 6e 65 74 20 77 68  69 63 68 22 0d 11 26 35  |lanet which"..&5|
000039c0  dc 22 74 68 65 20 49 6e  76 61 64 65 72 73 20 77  |."the Invaders w|
000039d0  69 6c 6c 20 74 72 79 20  61 6e 64 20 6b 65 65 70  |ill try and keep|
000039e0  22 2c 22 61 74 20 61 6c  6c 20 63 6f 73 74 73 2e  |","at all costs.|
000039f0  22 0d 11 30 10 dc 22 50  52 55 44 49 53 22 2c 22  |"..0.."PRUDIS","|
00003a00  22 0d 11 3a 39 dc 22 54  68 65 20 77 61 74 65 72  |"..:9."The water|
00003a10  20 77 6f 72 6c 64 2e 54  68 65 20 76 61 73 74 22  | world.The vast"|
00003a20  2c 22 73 65 61 20 63 6f  6e 74 61 69 6e 73 20 6d  |,"sea contains m|
00003a30  61 6e 79 20 74 72 61 63  65 22 0d 11 44 39 dc 22  |any trace"..D9."|
00003a40  65 6c 65 6d 65 6e 74 73  2c 20 61 73 20 77 65 6c  |elements, as wel|
00003a50  6c 20 61 73 20 62 65 69  6e 67 22 2c 22 61 6e 20  |l as being","an |
00003a60  69 64 65 61 6c 20 6c 6f  63 61 74 69 6f 6e 20 66  |ideal location f|
00003a70  6f 72 22 0d 11 4e 38 dc  22 66 6f 6f 64 20 70 72  |or"..N8."food pr|
00003a80  6f 64 75 63 74 69 6f 6e  2e 41 20 6c 61 72 67 65  |oduction.A large|
00003a90  20 61 6e 64 22 2c 22 76  65 72 79 20 75 73 65 66  | and","very usef|
00003aa0  75 6c 20 70 6c 61 6e 65  74 2e 22 0d 11 58 10 dc  |ul planet."..X..|
00003ab0  22 53 54 4f 4e 41 52 22  2c 22 22 0d 11 62 35 dc  |"STONAR",""..b5.|
00003ac0  22 41 6e 20 6f 6c 64 20  64 65 61 64 20 70 6c 61  |"An old dead pla|
00003ad0  6e 65 74 2c 79 65 74 22  2c 22 69 74 20 70 72 6f  |net,yet","it pro|
00003ae0  76 69 64 65 73 20 61 20  70 65 72 66 65 63 74 22  |vides a perfect"|
00003af0  0d 11 6c 36 dc 22 62 61  73 65 20 66 6f 72 20 65  |..l6."base for e|
00003b00  78 70 61 6e 73 69 6f 6e  20 69 6e 74 6f 22 2c 22  |xpansion into","|
00003b10  74 68 65 20 68 65 61 76  69 6c 79 20 69 6e 68 61  |the heavily inha|
00003b20  62 69 74 65 64 22 0d 11  76 2e dc 22 69 6e 6e 65  |bited"..v.."inne|
00003b30  72 20 77 6f 72 6c 64 73  20 6f 66 20 74 68 65 22  |r worlds of the"|
00003b40  2c 22 68 75 6d 61 6e 20  66 65 64 65 72 61 74 69  |,"human federati|
00003b50  6f 6e 2e 22 0d 11 80 0e  dc 22 44 55 4e 49 22 2c  |on."....."DUNI",|
00003b60  22 22 0d 11 8a 3e dc 22  41 20 67 61 73 20 67 69  |""...>."A gas gi|
00003b70  61 6e 74 20 77 68 6f 6f  73 65 20 61 74 6d 6f 73  |ant whoose atmos|
00003b80  70 68 65 72 65 22 2c 22  63 6f 6e 74 61 69 6e 73  |phere","contains|
00003b90  20 6d 61 6e 79 20 63 68  65 6d 69 63 61 6c 73 22  | many chemicals"|
00003ba0  0d 11 94 3d dc 22 76 69  74 61 6c 20 74 6f 20 62  |...=."vital to b|
00003bb0  6f 74 68 20 75 73 20 61  6e 64 22 2c 22 74 68 65  |oth us and","the|
00003bc0  20 49 6e 76 61 64 65 72  73 2e 54 68 65 20 73 69  | Invaders.The si|
00003bd0  6e 67 6c 65 20 6d 6f 6f  6e 20 69 73 22 0d 11 9e  |ngle moon is"...|
00003be0  39 dc 22 6f 66 20 76 65  72 79 20 6c 69 74 74 6c  |9."of very littl|
00003bf0  65 20 69 6e 74 65 72 65  73 74 22 2c 22 62 65 69  |e interest","bei|
00003c00  6e 67 20 6a 75 73 74 20  72 6f 63 6b 20 61 6e 64  |ng just rock and|
00003c10  20 69 63 65 2e 22 0d 11  a8 0f dc 22 50 4f 52 54  | ice."....."PORT|
00003c20  41 22 2c 22 22 0d 11 b2  39 dc 22 41 6e 20 69 63  |A",""...9."An ic|
00003c30  65 20 77 6f 72 6c 64 2c  68 6f 77 65 76 65 72 20  |e world,however |
00003c40  64 65 65 70 22 2c 22 62  65 6c 6f 77 20 74 68 65  |deep","below the|
00003c50  20 69 63 65 20 6c 69 65  20 76 61 73 74 22 0d 11  | ice lie vast"..|
00003c60  bc 40 dc 22 64 65 70 6f  73 69 74 73 20 6f 66 20  |.@."deposits of |
00003c70  6d 69 6e 65 72 61 6c 73  20 76 69 74 61 6c 20 74  |minerals vital t|
00003c80  6f 20 62 6f 74 68 22 2c  22 73 69 64 65 73 2c 69  |o both","sides,i|
00003c90  74 27 73 20 72 65 63 61  70 74 75 72 65 22 0d 11  |t's recapture"..|
00003ca0  c6 39 dc 22 77 69 6c 6c  20 72 65 6e 64 65 72 20  |.9."will render |
00003cb0  61 20 73 65 76 65 72 65  20 62 6c 6f 77 22 2c 22  |a severe blow","|
00003cc0  74 6f 20 74 68 65 20 49  6e 76 61 64 65 72 73 20  |to the Invaders |
00003cd0  70 6c 61 6e 73 2e 22 0d  11 d0 10 dc 22 44 56 31  |plans."....."DV1|
00003ce0  32 35 47 22 2c 22 22 0d  11 da 3b dc 22 4c 69 74  |25G",""...;."Lit|
00003cf0  74 6c 65 20 6d 6f 72 65  20 74 68 61 6e 20 61 20  |tle more than a |
00003d00  67 69 61 6e 74 20 72 6f  63 6b 22 2c 22 69 6e 20  |giant rock","in |
00003d10  73 70 61 63 65 2e 57 69  74 68 20 6e 6f 20 73 75  |space.With no su|
00003d20  6e 22 0d 11 e4 35 dc 22  74 6f 20 6c 69 67 68 74  |n"...5."to light|
00003d30  20 69 74 27 73 20 73 75  72 66 61 63 65 2e 22 2c  | it's surface.",|
00003d40  22 49 74 27 73 20 6f 6e  6c 79 20 76 61 6c 75 65  |"It's only value|
00003d50  20 69 73 20 61 73 22 0d  11 ee 3a dc 22 20 61 20  | is as"...:." a |
00003d60  73 74 61 67 69 6e 67 20  70 6f 73 74 20 74 6f 20  |staging post to |
00003d70  66 69 6e 61 6c 20 63 6f  6e 71 75 65 73 74 22 2c  |final conquest",|
00003d80  22 6f 66 20 68 75 6d 61  6e 20 73 70 61 63 65 2e  |"of human space.|
00003d90  22 0d 11 f8 0f dc 22 53  55 4e 53 54 22 2c 22 22  |"....."SUNST",""|
00003da0  0d 12 02 3a dc 22 54 68  65 20 6c 69 74 74 6c 65  |...:."The little|
00003db0  20 64 65 73 65 72 74 20  77 6f 72 6c 64 20 77 69  | desert world wi|
00003dc0  74 68 22 2c 22 6f 6e 65  20 73 69 6e 67 6c 65 20  |th","one single |
00003dd0  73 65 61 20 61 62 6f 75  74 22 0d 12 0c 35 dc 22  |sea about"...5."|
00003de0  77 68 69 63 68 20 69 73  20 6c 6f 63 61 74 65 64  |which is located|
00003df0  20 61 6c 6c 20 6f 66 22  2c 22 74 68 65 20 63 6f  | all of","the co|
00003e00  6c 6f 6e 69 73 61 74 69  6f 6e 20 61 6e 64 22 0d  |lonisation and".|
00003e10  12 16 36 dc 22 61 67 72  69 63 75 6c 74 75 72 65  |..6."agriculture|
00003e20  20 6f 66 20 74 68 69 73  20 62 65 61 75 74 69 66  | of this beautif|
00003e30  75 6c 6c 22 2c 22 68 6f  6c 69 64 61 79 20 77 6f  |ull","holiday wo|
00003e40  72 6c 64 2e 22 0d 12 20  0f dc 22 4c 4f 4b 49 54  |rld.".. .."LOKIT|
00003e50  22 2c 22 22 0d 12 2a 39  dc 22 41 20 63 6f 6c 6f  |",""..*9."A colo|
00003e60  6e 79 20 77 6f 72 6c 64  20 77 69 74 68 20 61 20  |ny world with a |
00003e70  76 65 72 79 22 2c 22 68  69 67 68 20 68 75 6d 61  |very","high huma|
00003e80  6e 20 70 6f 70 75 6c 61  74 69 6f 6e 22 0d 12 34  |n population"..4|
00003e90  36 dc 22 61 73 20 77 65  6c 6c 20 61 73 20 61 20  |6."as well as a |
00003ea0  67 72 65 61 74 20 64 65  61 6c 22 2c 22 6f 66 20  |great deal","of |
00003eb0  68 65 61 76 79 20 69 6e  64 75 73 74 72 79 20 61  |heavy industry a|
00003ec0  6e 64 22 0d 12 3e 45 dc  22 61 67 72 69 63 75 6c  |nd"..>E."agricul|
00003ed0  74 75 72 65 2c 74 68 65  20 66 69 72 73 74 20 6f  |ture,the first o|
00003ee0  66 20 74 68 65 22 2c 22  68 65 61 76 69 6c 79 20  |f the","heavily |
00003ef0  70 6f 70 75 6c 61 74 65  64 20 69 6e 6e 65 72 20  |populated inner |
00003f00  77 6f 72 6c 64 73 2e 22  0d 12 48 0f dc 22 53 54  |worlds."..H.."ST|
00003f10  4f 54 4b 22 2c 22 22 0d  12 52 42 dc 22 41 6e 20  |OTK",""..RB."An |
00003f20  61 67 72 69 63 75 6c 74  75 72 61 6c 20 77 6f 72  |agricultural wor|
00003f30  6c 64 2c 74 68 65 20 67  72 61 69 6e 22 2c 22 62  |ld,the grain","b|
00003f40  61 73 6b 65 74 20 6f 66  20 74 68 65 20 66 65 64  |asket of the fed|
00003f50  65 72 61 74 69 6f 6e 2e  22 0d 12 5c 3a dc 22 41  |eration."..\:."A|
00003f60  20 67 69 67 61 6e 74 69  63 20 76 65 72 73 69 6f  | gigantic versio|
00003f70  6e 20 6f 66 20 45 61 72  74 68 22 2c 22 77 69 74  |n of Earth","wit|
00003f80  68 6f 75 74 20 74 68 65  20 73 68 61 74 74 65 72  |hout the shatter|
00003f90  65 64 22 0d 12 66 41 dc  22 65 63 6f 6c 6f 67 79  |ed"..fA."ecology|
00003fa0  20 6f 66 20 74 68 65 20  6f 72 69 67 69 6e 61 6c  | of the original|
00003fb0  20 77 6f 72 6c 64 2e 22  2c 22 54 68 69 73 20 77  | world.","This w|
00003fc0  6f 72 6c 64 20 6d 75 73  74 20 62 65 20 73 61 76  |orld must be sav|
00003fd0  65 64 21 22 0d 12 70 0f  dc 22 4d 41 47 4e 55 22  |ed!"..p.."MAGNU"|
00003fe0  2c 22 22 0d 12 7a 42 dc  22 54 68 65 20 66 69 72  |,""..zB."The fir|
00003ff0  73 74 20 6f 66 20 74 68  65 20 66 65 64 65 72 61  |st of the federa|
00004000  74 69 6f 6e 73 22 2c 22  54 65 72 72 61 66 6f 72  |tions","Terrafor|
00004010  6d 65 64 20 70 6c 61 6e  65 74 73 2c 64 65 73 69  |med planets,desi|
00004020  67 6e 65 64 22 0d 12 84  44 dc 22 74 6f 20 62 65  |gned"...D."to be|
00004030  20 61 20 72 65 70 6c 61  63 65 6d 65 6e 74 20 45  | a replacement E|
00004040  61 72 74 68 2e 22 2c 22  54 68 65 20 70 6c 61 6e  |arth.","The plan|
00004050  65 74 20 68 61 73 20 6c  69 74 74 6c 65 20 69 6e  |et has little in|
00004060  20 74 68 65 20 77 61 79  22 0d 12 8e 42 dc 22 6f  | the way"...B."o|
00004070  66 20 72 65 73 63 6f 75  72 63 65 73 2c 69 6d 70  |f rescources,imp|
00004080  6f 72 74 69 6e 67 20 77  68 61 74 22 2c 22 69 74  |orting what","it|
00004090  20 6e 65 65 64 73 20 66  72 6f 6d 20 6f 74 68 65  | needs from othe|
000040a0  72 20 70 6c 61 6e 65 74  73 2e 22 0d 12 98 0f dc  |r planets.".....|
000040b0  22 45 41 52 54 48 22 2c  22 22 0d 12 a2 3e dc 22  |"EARTH",""...>."|
000040c0  54 68 65 20 68 6f 6d 65  20 6f 66 20 6d 61 6e 2c  |The home of man,|
000040d0  6e 6f 77 20 61 20 74 69  72 65 64 22 2c 22 73 68  |now a tired","sh|
000040e0  65 6c 6c 20 6f 66 20 61  20 70 6c 61 6e 65 74 2e  |ell of a planet.|
000040f0  48 6f 75 73 69 6e 67 22  0d 12 ac 3b dc 22 74 68  |Housing"...;."th|
00004100  65 20 6f 66 66 69 63 65  73 20 6f 66 20 74 68 65  |e offices of the|
00004110  20 66 65 64 65 72 61 74  69 6f 6e 2e 22 2c 22 54  | federation.","T|
00004120  68 65 20 6c 6f 73 73 20  6f 66 20 74 68 69 73 20  |he loss of this |
00004130  74 6f 22 0d 12 b6 3b dc  22 74 68 65 20 49 6e 76  |to"...;."the Inv|
00004140  61 64 65 72 73 20 77 61  73 20 74 68 65 20 66 69  |aders was the fi|
00004150  6e 61 6c 22 2c 22 62 6c  6f 77 20 74 6f 20 74 68  |nal","blow to th|
00004160  65 20 66 65 64 65 72 61  74 69 6f 6e 2e 22 0d 12  |e federation."..|
00004170  c0 05 3a 0d 12 ca 25 f4  20 44 41 54 41 20 46 4f  |..:...%. DATA FO|
00004180  52 20 54 41 43 54 49 43  41 4c 20 4c 4f 4f 4b 20  |R TACTICAL LOOK |
00004190  55 50 20 54 41 42 4c 45  0d 12 d4 05 3a 0d 12 de  |UP TABLE....:...|
000041a0  32 f4 20 46 4f 52 4d 41  54 20 4e 6f 45 78 69 74  |2. FORMAT NoExit|
000041b0  73 2c 45 78 69 74 31 2c  44 69 73 74 31 2c 45 78  |s,Exit1,Dist1,Ex|
000041c0  69 74 32 2c 44 69 73 74  32 20 2e 2e 2e 2e 2e 0d  |it2,Dist2 ......|
000041d0  12 e8 05 3a 0d 12 f2 0e  dc 32 2c 32 2c 31 2c 35  |...:.....2,2,1,5|
000041e0  2c 31 0d 12 fc 0e dc 32  2c 31 2c 31 2c 33 2c 31  |,1.....2,1,1,3,1|
000041f0  0d 13 06 0e dc 32 2c 32  2c 31 2c 37 2c 34 0d 13  |.....2,2,1,7,4..|
00004200  10 0e dc 32 2c 35 2c 35  2c 38 2c 31 0d 13 1a 17  |...2,5,5,8,1....|
00004210  dc 34 2c 34 2c 35 2c 31  2c 31 2c 39 2c 31 2c 31  |.4,4,5,1,1,9,1,1|
00004220  30 2c 32 0d 13 24 10 dc  32 2c 31 30 2c 31 2c 31  |0,2..$..2,10,1,1|
00004230  31 2c 32 0d 13 2e 17 dc  34 2c 33 2c 31 2c 38 2c  |1,2.....4,3,1,8,|
00004240  31 2c 39 2c 33 2c 31 31  2c 31 0d 13 38 0e dc 32  |1,9,3,11,1..8..2|
00004250  2c 37 2c 31 2c 34 2c 31  0d 13 42 0e dc 32 2c 35  |,7,1,4,1..B..2,5|
00004260  2c 31 2c 37 2c 33 0d 13  4c 13 dc 33 2c 35 2c 32  |,1,7,3..L..3,5,2|
00004270  2c 36 2c 31 2c 31 31 2c  31 0d 13 56 18 dc 34 2c  |,6,1,11,1..V..4,|
00004280  31 30 2c 31 2c 37 2c 31  2c 36 2c 32 2c 31 32 2c  |10,1,7,1,6,2,12,|
00004290  31 0d 13 60 0b dc 31 2c  31 31 2c 31 0d 13 6a 05  |1..`..1,11,1..j.|
000042a0  3a 0d 13 74 3b f4 20 44  61 74 61 20 66 6f 72 20  |:..t;. Data for |
000042b0  48 79 70 65 72 20 73 70  65 65 64 28 68 73 70 64  |Hyper speed(hspd|
000042c0  25 29 2c 6e 75 6d 62 65  72 20 6f 66 20 62 6c 6f  |%),number of blo|
000042d0  62 73 2b 31 20 28 62 6c  62 6e 25 29 0d 13 7e 41  |bs+1 (blbn%)..~A|
000042e0  f4 20 61 73 74 65 72 6f  69 64 20 73 70 65 65 64  |. asteroid speed|
000042f0  28 61 73 70 64 25 29 20  61 6e 64 20 6c 65 6e 67  |(aspd%) and leng|
00004300  74 68 20 6f 66 20 61 73  74 65 72 6f 69 64 20 66  |th of asteroid f|
00004310  69 65 6c 64 20 28 61 73  74 65 72 25 29 0d 13 88  |ield (aster%)...|
00004320  3d f4 20 61 6c 73 6f 20  58 43 25 20 61 6e 64 20  |=. also XC% and |
00004330  59 43 25 20 63 6f 6e 74  72 6f 6c 6c 69 6e 67 20  |YC% controlling |
00004340  76 65 63 74 6f 72 73 20  6f 66 20 74 75 6e 6e 65  |vectors of tunne|
00004350  6c 20 6d 6f 76 65 6d 65  6e 74 0d 13 92 4a f4 20  |l movement...J. |
00004360  61 6e 64 20 28 62 63 6b  63 6f 6c 25 29 20 61 6e  |and (bckcol%) an|
00004370  64 20 28 70 6c 61 6e 65  74 63 6f 6c 25 29 20 70  |d (planetcol%) p|
00004380  6c 61 6e 65 74 20 74 69  6d 65 20 61 6c 69 65 6e  |lanet time alien|
00004390  73 70 65 65 64 20 6e 75  62 65 72 20 6f 66 20 77  |speed nuber of w|
000043a0  61 76 65 73 0d 13 9c 05  3a 0d 13 a6 20 dc 20 38  |aves....:... . 8|
000043b0  2c 31 2c 38 2c 31 2c 34  2c 34 2c 33 36 2c 38 2c  |,1,8,1,4,4,36,8,|
000043c0  33 30 30 30 2c 31 34 2c  33 0d 13 b0 22 dc 20 31  |3000,14,3...". 1|
000043d0  30 2c 31 2c 36 2c 32 2c  38 2c 34 2c 33 32 2c 31  |0,1,6,2,8,4,32,1|
000043e0  31 2c 33 30 30 30 2c 31  32 2c 34 0d 13 ba 21 dc  |1,3000,12,4...!.|
000043f0  20 38 2c 32 2c 34 2c 33  2c 38 2c 38 2c 35 36 2c  | 8,2,4,3,8,8,56,|
00004400  31 36 2c 34 35 30 30 2c  31 30 2c 35 0d 13 c4 21  |16,4500,10,5...!|
00004410  dc 20 31 30 2c 31 2c 33  2c 31 2c 34 2c 31 36 2c  |. 10,1,3,1,4,16,|
00004420  32 33 2c 32 2c 37 35 30  30 2c 38 2c 35 0d 13 ce  |23,2,7500,8,5...|
00004430  22 dc 20 38 2c 31 2c 39  2c 35 2c 38 2c 31 36 2c  |". 8,1,9,5,8,16,|
00004440  31 38 2c 35 35 2c 33 30  30 30 2c 31 32 2c 36 0d  |18,55,3000,12,6.|
00004450  13 d8 23 dc 20 31 30 2c  33 2c 32 2c 31 2c 31 32  |..#. 10,3,2,1,12|
00004460  2c 38 2c 36 33 2c 34 32  2c 39 30 30 30 2c 31 34  |,8,63,42,9000,14|
00004470  2c 34 0d 13 e2 21 dc 20  36 2c 31 2c 33 2c 34 2c  |,4...!. 6,1,3,4,|
00004480  31 36 2c 31 36 2c 30 2c  34 32 2c 37 35 30 30 2c  |16,16,0,42,7500,|
00004490  38 2c 36 0d 13 ec 22 dc  20 36 2c 33 2c 34 2c 35  |8,6...". 6,3,4,5|
000044a0  2c 34 2c 31 36 2c 33 32  2c 31 31 2c 36 30 30 30  |,4,16,32,11,6000|
000044b0  2c 31 34 2c 34 0d 13 f6  21 dc 20 38 2c 31 2c 36  |,14,4...!. 8,1,6|
000044c0  2c 38 2c 34 2c 34 2c 33  36 2c 31 33 2c 36 30 30  |,8,4,4,36,13,600|
000044d0  30 2c 31 32 2c 36 0d 14  00 21 dc 20 38 2c 32 2c  |0,12,6...!. 8,2,|
000044e0  32 2c 33 2c 38 2c 34 2c  34 31 2c 31 32 2c 34 35  |2,3,8,4,41,12,45|
000044f0  30 30 2c 31 30 2c 36 0d  14 0a 22 dc 20 36 2c 31  |00,10,6...". 6,1|
00004500  2c 34 2c 34 2c 32 30 2c  32 30 2c 34 38 2c 39 2c  |,4,4,20,20,48,9,|
00004510  31 33 35 30 30 2c 38 2c  37 0d 14 14 22 dc 20 34  |13500,8,7...". 4|
00004520  2c 33 2c 33 2c 36 2c 32  34 2c 32 34 2c 32 30 2c  |,3,3,6,24,24,20,|
00004530  34 2c 31 38 30 30 30 2c  36 2c 38 0d 14 1e 05 3a  |4,18000,6,8....:|
00004540  0d 14 28 1b f4 20 48 69  67 68 20 53 63 6f 72 65  |..(.. High Score|
00004550  20 54 61 62 6c 65 20 44  61 74 61 0d 14 32 05 3a  | Table Data..2.:|
00004560  0d 14 3c 3b dc 35 30 30  30 2c 41 41 52 4f 4e 2c  |..<;.5000,AARON,|
00004570  34 30 30 30 2c 41 41 52  4f 4e 2c 33 30 30 30 2c  |4000,AARON,3000,|
00004580  41 41 52 4f 4e 2c 32 30  30 30 2c 41 41 52 4f 4e  |AARON,2000,AARON|
00004590  2c 31 30 30 30 2c 41 41  52 4f 4e 0d 14 46 05 3a  |,1000,AARON..F.:|
000045a0  0d 14 50 15 dd f2 6c 6f  61 64 63 68 61 72 73 28  |..P...loadchars(|
000045b0  63 68 72 24 29 0d 14 5a  2e 58 3d 8e 28 63 68 72  |chr$)..Z.X=.(chr|
000045c0  24 29 3a e3 20 54 25 3d  33 32 20 b8 20 32 35 35  |$):. T%=32 . 255|
000045d0  3a ef 20 32 33 2c 54 25  3a e3 20 49 25 3d 31 20  |:. 23,T%:. I%=1 |
000045e0  b8 20 38 0d 14 64 13 ef  20 9a 23 58 3a ed 49 25  |. 8..d.. .#X:.I%|
000045f0  3a ed 54 25 3a e1 0d 14  6e 05 3a 0d 14 78 15 dd  |:.T%:...n.:..x..|
00004600  f2 72 65 61 64 64 61 74  61 28 64 65 73 74 25 29  |.readdata(dest%)|
00004610  0d 14 82 15 f7 8d 74 66  53 3a e3 54 3d 31 b8 20  |......tfS:.T=1. |
00004620  64 65 73 74 25 0d 14 8c  52 f3 68 73 70 64 25 2c  |dest%...R.hspd%,|
00004630  62 6c 62 6e 25 2c 61 73  70 64 25 2c 61 73 74 65  |blbn%,aspd%,aste|
00004640  72 25 2c 58 43 25 2c 59  43 25 2c 70 6c 61 6e 65  |r%,XC%,YC%,plane|
00004650  74 73 6b 79 25 2c 70 6c  61 6e 65 74 63 6f 6c 25  |tsky%,planetcol%|
00004660  2c 70 74 69 6d 65 25 2c  61 6c 73 70 65 65 64 25  |,ptime%,alspeed%|
00004670  2c 6e 77 61 76 65 25 0d  14 96 07 ed 3a e1 0d 14  |,nwave%.....:...|
00004680  a0 05 3a 0d 14 aa 13 dd  f2 6c 6f 61 64 6d 6f 76  |..:......loadmov|
00004690  65 74 61 62 6c 65 0d 14  b4 36 41 3d 8e 28 22 45  |etable...6A=.("E|
000046a0  71 75 61 74 69 6f 6e 73  22 29 3a e3 54 3d 30 b8  |quations"):.T=0.|
000046b0  33 30 3a e8 23 41 2c 78  74 65 78 74 24 28 54 29  |30:.#A,xtext$(T)|
000046c0  2c 79 74 65 78 74 24 28  54 29 3a ed 0d 14 be 14  |,ytext$(T):.....|
000046d0  d9 23 30 3a f2 6d 6f 76  65 74 61 62 6c 65 3a e1  |.#0:.movetable:.|
000046e0  0d 14 c8 05 3a 0d 14 d2  14 dd f2 72 65 61 64 70  |....:......readp|
000046f0  6c 61 6e 65 74 64 61 74  61 0d 14 dc 09 f7 8d 64  |lanetdata......d|
00004700  56 50 0d 14 e6 29 e3 54  3d 31 b8 70 6c 61 6e 65  |VP...).T=1.plane|
00004710  74 25 3a e3 4c 25 3d 30  b8 37 3a f3 20 74 78 74  |t%:.L%=0.7:. txt|
00004720  24 28 4c 25 29 3a ed 3a  ed 3a e1 0d 14 f0 05 3a  |$(L%):.:.:.....:|
00004730  0d 14 fa 0f dd f2 6d 6f  76 65 74 61 62 6c 65 0d  |......movetable.|
00004740  15 04 1a de 20 58 54 25  20 31 30 35 30 30 2c 20  |.... XT% 10500, |
00004750  59 54 25 20 31 30 35 30  30 0d 15 0e 29 e3 54 3d  |YT% 10500...).T=|
00004760  30 b8 32 39 3a 4c 31 25  3d 31 3a e3 4b 3d 30 20  |0.29:L1%=1:.K=0 |
00004770  b8 20 31 35 30 3a 5a 28  4c 31 25 29 3d 28 4b 2f  |. 150:Z(L1%)=(K/|
00004780  33 29 0d 15 18 28 21 28  58 54 25 2b 28 54 2a 32  |3)...(!(XT%+(T*2|
00004790  30 30 29 2b 4b 29 3d a8  28 a0 28 78 74 65 78 74  |00)+K)=.(.(xtext|
000047a0  24 28 54 29 29 29 2b 31  32 36 0d 15 22 28 21 28  |$(T)))+126.."(!(|
000047b0  59 54 25 2b 28 54 2a 32  30 30 29 2b 4b 29 3d a8  |YT%+(T*200)+K)=.|
000047c0  28 a0 28 79 74 65 78 74  24 28 54 29 29 29 2b 31  |(.(ytext$(T)))+1|
000047d0  32 36 0d 15 2c 3a f4 20  50 52 49 4e 54 54 2c 4b  |26..,:. PRINTT,K|
000047e0  2c 3f 28 58 54 25 2b 28  54 2a 32 30 30 29 2b 5a  |,?(XT%+(T*200)+Z|
000047f0  28 4c 31 25 29 29 2c 3f  28 59 54 25 2b 28 54 2a  |(L1%)),?(YT%+(T*|
00004800  32 30 30 29 2b 5a 28 4c  31 25 29 29 0d 15 36 09  |200)+Z(L1%))..6.|
00004810  ed 3a ed 3a e1 0d 15 40  05 3a 0d 15 4a 10 dd f2  |.:.:...@.:..J...|
00004820  73 63 72 6f 6c 6c 74 65  78 74 0d 15 54 49 44 25  |scrolltext..TID%|
00004830  2d 3d 45 25 3a 43 25 3d  28 4a 25 2b 53 54 50 25  |-=E%:C%=(J%+STP%|
00004840  29 3a 46 25 3d 44 25 3a  e7 20 44 25 3d 2d 38 32  |):F%=D%:. D%=-82|
00004850  30 20 53 54 50 25 2b 3d  31 3a 44 25 3d 2d 36 34  |0 STP%+=1:D%=-64|
00004860  30 3a e7 20 53 54 50 25  3d 4c 53 25 20 53 54 50  |0:. STP%=LS% STP|
00004870  25 3d 31 0d 15 5e 41 e3  54 25 3d 43 25 b8 43 25  |%=1..^A.T%=C%.C%|
00004880  2b 39 3a c8 99 22 4f 53  5f 53 70 72 69 74 65 4f  |+9:.."OS_SpriteO|
00004890  70 22 2c 32 39 30 2c 73  70 2c bd 28 3f 28 54 25  |p",290,sp,.(?(T%|
000048a0  29 29 2c 46 25 2c 2d 35  30 30 3a 46 25 2b 3d 31  |)),F%,-500:F%+=1|
000048b0  38 30 3a ed 0d 15 68 05  e1 0d 15 72 05 3a 0d 15  |80:...h....r.:..|
000048c0  7c 0f dd f2 73 74 61 72  74 74 65 78 74 0d 15 86  ||...starttext...|
000048d0  2e 66 69 6c 65 25 3d 8e  28 22 53 63 72 6f 6c 6c  |.file%=.("Scroll|
000048e0  54 65 78 74 22 29 3a de  20 4a 25 20 a2 23 66 69  |Text"):. J% .#fi|
000048f0  6c 65 25 3a 70 74 25 3d  31 3a f5 0d 15 90 1d 41  |le%:pt%=1:.....A|
00004900  25 3d 9a 23 66 69 6c 65  25 3a e7 20 41 25 3d 33  |%=.#file%:. A%=3|
00004910  32 20 41 25 3d 32 35 35  0d 15 9a 2f 4a 25 21 70  |2 A%=255.../J%!p|
00004920  74 25 3d 41 25 3a 70 74  25 2b 3d 31 3a fd 20 c5  |t%=A%:pt%+=1:. .|
00004930  23 66 69 6c 65 25 3a d9  23 30 3a 4c 53 25 3d 70  |#file%:.#0:LS%=p|
00004940  74 25 2d 31 30 3a e1 0d  15 a4 05 3a 0d 15 ae 45  |t%-10:.....:...E|
00004950  dc 20 22 4e 6f 20 64 61  74 61 20 68 65 72 65 22  |. "No data here"|
00004960  2c 22 53 68 69 70 20 72  65 66 75 65 6c 6c 65 64  |,"Ship refuelled|
00004970  22 2c 22 54 61 63 74 69  63 61 6c 20 6e 65 78 74  |","Tactical next|
00004980  22 2c 22 4d 65 73 73 61  67 65 20 65 6e 64 73 2e  |","Message ends.|
00004990  22 0d 15 b8 47 dc 20 22  44 61 74 61 20 63 6f 6c  |"...G. "Data col|
000049a0  6c 65 63 74 65 64 22 2c  22 53 68 69 70 20 72 65  |lected","Ship re|
000049b0  66 75 65 6c 6c 65 64 22  2c 22 54 61 63 74 69 63  |fuelled","Tactic|
000049c0  61 6c 20 6e 65 78 74 22  2c 22 4d 65 73 73 61 67  |al next","Messag|
000049d0  65 20 65 6e 64 73 2e 22  0d 15 c2 46 dc 20 22 44  |e ends."...F. "D|
000049e0  61 74 61 20 64 65 6c 69  76 65 72 65 64 22 2c 22  |ata delivered","|
000049f0  4d 69 73 73 69 6f 6e 20  6f 76 65 72 22 2c 22 57  |Mission over","W|
00004a00  65 6c 6c 20 64 6f 6e 65  20 79 6f 75 22 2c 22 73  |ell done you","s|
00004a10  61 76 65 64 20 48 75 6d  61 6e 69 74 79 22 0d 15  |aved Humanity"..|
00004a20  cc 05 3a 0d 15 d6 13 dd  f2 65 72 72 6f 72 69 6e  |..:......errorin|
00004a30  74 65 72 6e 61 6c 0d 15  e0 0c e7 20 9f 3d 31 37  |ternal..... .=17|
00004a40  20 e1 0d 15 ea 2a f2 6c  6f 61 64 63 68 61 72 73  | ....*.loadchars|
00004a50  28 22 44 65 66 61 75 6c  74 22 29 3a eb 31 35 3a  |("Default"):.15:|
00004a60  ff 28 22 2a 46 58 32 31  2c 30 22 29 0d 15 f4 16  |.("*FX21,0")....|
00004a70  f6 3a f1 22 20 61 74 20  6c 69 6e 65 20 22 3b 9e  |.:." at line ";.|
00004a80  3a e0 0d ff                                       |:...|
00004a84