Home » Personal collection » Acorn tapes » Commercial_Releases » box05_tape06b_acorn_pipeline.wav » MISSION

MISSION

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 » Personal collection » Acorn tapes » Commercial_Releases » box05_tape06b_acorn_pipeline.wav
Filename: MISSION
Read OK:
File size: 13FC bytes
Load address: 1900
Exec address: 8023
File contents
   10REM"      �PIPELINE�
   20REM MISSION GENERATOR
   30REM   BY IAN HOLMES
   40REM" �Hello to all my friends!���H)U
�ph)�JpHJhj���`
   50:
   60ONERRORPROCerr:IFERR<>17GOTO100
   70REM Sorry about the GOTO
   80CLEAR
   90MODE7:PROCinit
  100ONERRORPROCerr
  110REPEAT
  120CLS
  130RESTORE350
  140PRINT"Press:";
  150FORN%=1TOopts
  160READA$
  170PRINTTAB(9);N%" to "A$
  180NEXT
  190PRINTTAB(5)"ESCAPE to leave this program"
  200REPEAT:K%=GET
  210I%=0:IFK%=105ORK%=104PROClock
  220K%=(K%OR16)-48
  230UNTILK%>0ANDK%<opts+1
  240PRINTTAB(7,K%-1)">"TAB(0,opts+2);
  250IFK%=1PROCmiss
  260IFK%=2PROCattrs
  270IFK%=3PROCloadgrf(FNname)
  280IFK%=4PROCsavegrf
  290IFK%=5PROCloadlev
  300IFK%=6PROCsavelev
  310IFK%=7PROCloadmss
  320IFK%=8PROCsavemss
  330UNTIL0
  340:
  350DATAchange name,change features,load graphics,save graphics,load a level,save a level,load a mission,save a mission
  360:
  370DEFPROCinit
  380*FX4 1
  390numlev=4
  400size=&91F
  410grfs=&8C0
  420attrs=5
  430miss=30
  440names=&FC
  450data=size-&800
  460puznms=320
  470opts=8
  480DIM F% (names+miss+attrs+numlev*size+grfs+&200)
  490DIM osc 40,B% size+puznms
  500L%=F%+names+miss+attrs
  510G%=L%+numlev*size
  520addr=&52C0-numlev*size-grfs-attrs-miss-names
  530PROCtitle
  540PRINT''TAB(15)FNinv("PLEASE WAIT:")
  550FORN%=0TOnames+miss+4STEP4
  560N%!F%=&20202020:NEXT
  570FORN%=numlev*4TOnumlev*data-4STEP4
  580L%!N%=-1:NEXT
  590L%!(numlev*data-4)=-1
  600FORN%=(numlev*data)TO(numlev*size)STEP4
  610L%!N%=0:NEXT
  620X%=L%+numlev*3
  630FORN%=0TOnumlev-1
  640X%!(N%*4)=1319473
  650NEXT:F%?(names+miss)=15
  660F%!(names+miss+1)=393730
  670ENDPROC
  680DEFPROCcursor(N%)
  690VDU23,1,N%;0;0;0;
  700ENDPROC
  710DEFPROCtitle
  720PROCcursor(0)
  730VDU26:COLOUR128:CLS
  740PRINTTAB(7,1)FNinv("PIPELINE Mission Generator")
  750PROCw:ENDPROC
  760DEFFNinv(A$):COLOUR129:COLOUR0:PRINTA$;:COLOUR128:COLOUR1:=""
  770DEFPROCw:VDU28,0,23,39,3:ENDPROC
  780:
  790DEFPROCosc($osc)
  800X%=osc MOD256:Y%=osc DIV256
  810CALL&FFF7:ENDPROC
  820DEFFNinput(A$,N%,min,max)
  830PRINTA$FNinv(STRING$(N%+2," "))STRING$(N%+1,CHR$8);:PROCcursor(1)
  840COLOUR129:COLOUR0
  850A$="":REPEAT
  860REPEAT:A%=GET
  870IFA%>min ANDA%<max ANDLEN(A$)=N% VDU7
  880UNTIL(A%=127ANDLEN(A$)>0)ORA%=13OR(A%>min ANDA%<max ANDLEN(A$)<N%)
  890VDUA%:IFA%=13COLOUR128:COLOUR1:PRINT
  900IFA%>min ANDA%<max A$=A$+CHR$(A%)
  910IFA%=127 A$=LEFT$(A$,LEN(A$)-1)
  920UNTILA%=13:PROCcursor(0):=A$
  930DEFFNname=FNinput("Enter filename: ",10,32,127)
  940DEFFNlevel=(VAL(FNinput("Which level number ? ",1,48,49+numlev))-1)AND3
  950DEFFNn
  960E%=EVAL("&0"+FNinput("Enter editing code: ",6,47,58)):CALLPAGE+126:=E%
  970DEFFNattr(N%)
  980RESTORE1750:FORA%=0TON%
  990READA$:NEXT:A%=F%?(names+miss+N%)
 1000IFN%=0A%=A%-6ELSEIFN%=2A%=A%+1
 1010=A$+": "+STR$(A%)+STRING$(8," ")
 1020DEFPROCname(A$)
 1030FORA%=1TO8
 1040B%?(N%*8+A%-9)=ASC(MID$(A$,A%,1))
 1050NEXT:FORA%=9TO10
 1060B%?(N%*2+A%+245)=ASC(MID$(A$,A%,1))
 1070NEXT:ENDPROC
 1080DEFPROClock:I%=K%*2-209
 1090K%=opts+48:ENDPROC
 1100:
 1110REM Hello, Soni!
 1120:
 1130DEFPROCloadgrf(A$)
 1140PROCosc("LOAD "+CHR$(34)+A$+CHR$(34)+" "+STR$~G%)
 1150X%=G%+grfs
 1160FORA%=0TOnames-4STEP4
 1170A%!F%=A%!X%:NEXT
 1180ENDPROC
 1190:
 1200DEFPROCsavegrf
 1210X%=G%+grfs
 1220FORA%=0TOnames-4STEP4
 1230A%!X%=A%!F%:NEXT
 1240PROCosc("SAVE "+CHR$(34)+FNname+CHR$(34)+" "+STR$~G%+"+"+STR$~(grfs+names)+" 4000 4000")
 1250ENDPROC
 1260:
 1270DEFPROCloadlev
 1280S%=FNlevel:PRINT
 1290PROCosc("LOAD "+CHR$(34)+FNname+CHR$(34)+" "+STR$~B%)
 1300PRINT'"Please wait..."
 1310X%=L%+S%*&800+numlev*data
 1320Y%=B%+puznms+data
 1330FORZ%=0TO&7FC STEP4
 1340Z%!X%=Z%!Y%
 1350NEXT:pnt=0:RESTORE1730
 1360FORN%=1TO11:READext
 1370X%=L%+numlev*pnt+S%*ext
 1380Y%=B%+puznms+pnt
 1390FORD%=0TOext-1
 1400D%?X%=D%?Y%
 1410NEXT:pnt=pnt+ext:NEXT
 1420ENDPROC
 1430:
 1440DEFPROCsavelev
 1450S%=FNlevel
 1460IFL%?-1PRINT:IFFNn<>L%?S%*65536+L%?(S%+4)*256+L%?(S%+8)ENDPROC
 1470PRINT'"Please wait..."'
 1480X%=B%+puznms+data
 1490Y%=L%+S%*&800+numlev*data
 1500FORZ%=0TO&7FC STEP4
 1510Z%!X%=Z%!Y%
 1520NEXT:pnt=0:RESTORE1730
 1530FORN%=1TO11:READext
 1540X%=B%+puznms+pnt
 1550Y%=L%+numlev*pnt+S%*ext
 1560FORD%=0TOext-1
 1570D%?X%=D%?Y%
 1580NEXT:pnt=pnt+ext:NEXT
 1590FORN%=1TO32
 1600PROCname("Puzzle "+STR$N%+"  ")
 1610NEXT:PROCosc("SAVE "+CHR$(34)+FNname+CHR$(34)+" "+STR$~B%+"+"+STR$~(size+puznms)+STRING$(2," "+STR$~(&3000-size-puznms)))
 1620ENDPROC
 1630:
 1640DEFPROCloadmss
 1650PROCosc("LOAD "+CHR$(34)+FNname+CHR$(34)+" "+STR$~F%)
 1660ENDPROC
 1670:
 1680DEFPROCsavemss
 1690IFL%?-1>0ENDPROC ELSEL%?-1=I%
 1700PROCosc("SAVE "+CHR$(34)+FNname+CHR$(34)+" "+STR$~F%+"+"+STR$~(names+miss+attrs+numlev*size+grfs)+" "+STR$~addr+" "+STR$~addr)
 1710ENDPROC
 1720:
 1730DATA1,1,1,4,8,32,16,32,64,64,64
 1740:
 1750DATA Time consumption,Mapping ability,Backpack size,Throwing distance
 1760DATA 2,47,58,1,47,53,1,49,53,2,47,58,1,48,52
 1770DEFPROCattrs
 1780PRINT"Select feature to change:"'
 1790V%=VPOS:PRINT">";
 1800FORN%=0TO3
 1810PRINTTAB(3)FNattr(N%)
 1820NEXT
 1830PRINTTAB(3)"Return to main menu"
 1840N%=0:REPEAT:*FX15
 1850K%=GET:IFK%=138ORK%=139PROCarrow
 1860IFK%=13ANDN%<4PROCchangeattr
 1870UNTILK%=13ANDN%=4:ENDPROC
 1880DEFPROCarrow
 1890PRINTTAB(0,N%+V%)" "
 1900IFK%=138N%=(N%+1)MOD5
 1910IFK%=139N%=N%-1:IFN%<0N%=4
 1920PRINTTAB(0,N%+V%)">"
 1930ENDPROC
 1940DEFPROCchangeattr
 1950REPEAT:RESTORE1750
 1960FORH%=0TON%
 1970READA$:NEXT
 1980RESTORE1760
 1990FORH%=0TON%
 2000READA%,X%,Y%:NEXT
 2010PRINTTAB(3,N%+V%);
 2020A%=VAL(FNinput(A$+": ",A%,X%,Y%))
 2030UNTIL(A%<17AND(A%>0ORN%=1))OR(A%<64ANDN%=3)
 2040IFN%=0A%=A%+6ELSEIFN%=2A%=A%-1
 2050F%?(names+miss+N%)=A%
 2060PRINTTAB(3,N%+V%)FNattr(N%)
 2070ENDPROC
 2080:
 2090DEFPROCmiss:VDU34
 2100FORN%=0TOmiss-1:X%=F%?(names+N%)
 2110IFX%=123X%=33ELSEIFX%=124X%=58
 2120IFX%>31ANDX%<127ORX%=9VDUX%
 2130NEXT:PRINTCHR$34'
 2140A$=FNinput("Name:",miss,31,127):IFA$=""ENDPROC
 2150FORN%=0TOmiss-1:X%=ASC(MID$(A$,N%+1,1))
 2160IFX%=33X%=123ELSEIFX%=58X%=124
 2170F%?(names+N%)=X%:NEXT:ENDPROC
 2180:
 2190DEFPROCerr
 2200IFERR=17 PROCquit:ENDPROC
 2210PROCreport
 2220ENDPROC
 2230DEFPROCquit
 2240PROCtitle:REPEAT:CLS
 2250A$=LEFT$(FNinput("Are you sure (Y/N) ? ",3,68,90),1)
 2260UNTILA$="Y"ORA$="N"
 2270IFA$="N" ENDPROC
 2280*FX 4
 2290PROCcursor(1)
 2300CALL!-4
 2310END
 2320:
 2330REM This subroutine was written by              William Reeve (mainly)
 2340REM So don't lay the blame on Ian
 2350:
 2360DEFPROCreport
 2370COLOUR129:COLOUR0
 2380VDU26:FORN%=1TO6
 2390Y%=20-(N% AND1)*N% DIV2+(N% AND1EOR1)*N% DIV2:*FX19
 2400PRINTTAB(2,Y%)SPC(36)
 2410NEXT:VDU28,5,23,34,18
 2420PRINT"Error ";ERR;" has occurred."
 2430REPORT:PRINT
 2440PRINT'FNinv("Press a key - or ")"ESCAPE"
 2450COLOUR128:COLOUR1
 2460N%=GET:PROCtitle:ENDPROC

�"      �PIPELINE�
� MISSION GENERATOR
�   BY IAN HOLMES
(F�" �Hello to all my friends!���H)U
�ph)�JpHJhj���`
2:
<��err:�<>17�Dd@
F� Sorry about the GOTO
P�
Z�7:�init
d
��err
n�
x�
�	��D^A
��"Press:";
��N%=1�opts
��A$
��9);N%" to "A$
��
�&�5)"ESCAPE to leave this program"
�
�:K%=�
�I%=0:�K%=105�K%=104�lock
�K%=(K%�16)-48
��K%>0�K%<opts+1
��7,K%-1)">"�0,opts+2);
��K%=1�miss
�K%=2�attrs
�K%=3�loadgrf(�name)
�K%=4�savegrf
"�K%=5�loadlev
,�K%=6�savelev
6�K%=7�loadmss
@�K%=8�savemss
J�0
T:
^t�change name,change features,load graphics,save graphics,load a level,save a level,load a mission,save a mission
h:
r
��init
|
*FX4 1
�numlev=4
�
size=&91F
�
grfs=&8C0
�attrs=5
�miss=30
�
names=&FC
�data=size-&800
�puznms=320
�
opts=8
�1� F% (names+miss+attrs+numlev*size+grfs+&200)
�� osc 40,B% size+puznms
�L%=F%+names+miss+attrs
�G%=L%+numlev*size
0addr=&52C0-numlev*size-grfs-attrs-miss-names

�title
�''�15)�inv("PLEASE WAIT:")
&�N%=0�names+miss+4�4
0N%!F%=&20202020:�
: �N%=numlev*4�numlev*data-4�4
DL%!N%=-1:�
NL%!(numlev*data-4)=-1
X%�N%=(numlev*data)�(numlev*size)�4
b
L%!N%=0:�
lX%=L%+numlev*3
v�N%=0�numlev-1
�X%!(N%*4)=1319473
��:F%?(names+miss)=15
�F%!(names+miss+1)=393730
��
���cursor(N%)
��23,1,N%;0;0;0;
��
���title
��cursor(0)
��26:�128:�
�,�7,1)�inv("PIPELINE Mission Generator")
��w:�
�&ݤinv(A$):�129:�0:�A$;:�128:�1:=""
��w:�28,0,23,39,3:�
:
��osc($osc)
 X%=osc �256:Y%=osc �256
*�&FFF7:�
4ݤinput(A$,N%,min,max)
>,�A$�inv(�N%+2," "))�N%+1,�8);:�cursor(1)
H�129:�0
RA$="":�
\
�:A%=�
f �A%>min �A%<max ��(A$)=N% �7
p6�(A%=127��(A$)>0)�A%=13�(A%>min �A%<max ��(A$)<N%)
z�A%:�A%=13�128:�1:�
��A%>min �A%<max A$=A$+�(A%)
��A%=127 A$=�A$,�(A$)-1)
��A%=13:�cursor(0):=A$
�/ݤname=�input("Enter filename: ",10,32,127)
�Cݤlevel=(�(�input("Which level number ? ",1,48,49+numlev))-1)�3
�ݤn
�@E%=�("&0"+�input("Enter editing code: ",6,47,58)):֐+126:=E%
�ݤattr(N%)
���dVF:�A%=0�N%
��A$:�:A%=F%?(names+miss+N%)
��N%=0A%=A%-6��N%=2A%=A%+1
�=A$+": "+�(A%)+�8," ")
���name(A$)
�A%=1�8
B%?(N%*8+A%-9)=�(�A$,A%,1))
�:�A%=9�10
$!B%?(N%*2+A%+245)=�(�A$,A%,1))
.�:�
8��lock:I%=K%*2-209
BK%=opts+48:�
L:
V� Hello, Soni!
`:
j��loadgrf(A$)
t)�osc("LOAD "+�(34)+A$+�(34)+" "+�~G%)
~X%=G%+grfs
��A%=0�names-4�4
�A%!F%=A%!X%:�
��
�:
�
��savegrf
�X%=G%+grfs
��A%=0�names-4�4
�A%!X%=A%!F%:�
�L�osc("SAVE "+�(34)+�name+�(34)+" "+�~G%+"+"+�~(grfs+names)+" 4000 4000")
��
�:
�
��loadlev
S%=�level:�

,�osc("LOAD "+�(34)+�name+�(34)+" "+�~B%)
�'"Please wait..."
X%=L%+S%*&800+numlev*data
(Y%=B%+puznms+data
2�Z%=0�&7FC �4
<Z%!X%=Z%!Y%
F�:pnt=0:��dBF
P�N%=1�11:�ext
ZX%=L%+numlev*pnt+S%*ext
dY%=B%+puznms+pnt
n�D%=0�ext-1
xD%?X%=D%?Y%
��:pnt=pnt+ext:�
��
�:
�
��savelev
�
S%=�level
�5�L%?-1�:�n<>L%?S%*65536+L%?(S%+4)*256+L%?(S%+8)�
��'"Please wait..."'
�X%=B%+puznms+data
�Y%=L%+S%*&800+numlev*data
��Z%=0�&7FC �4
�Z%!X%=Z%!Y%
��:pnt=0:��dBF
��N%=1�11:�ext
X%=B%+puznms+pnt
Y%=L%+numlev*pnt+S%*ext
�D%=0�ext-1
"D%?X%=D%?Y%
,�:pnt=pnt+ext:�
6�N%=1�32
@�name("Puzzle "+�N%+"  ")
J`�:�osc("SAVE "+�(34)+�name+�(34)+" "+�~B%+"+"+�~(size+puznms)+�2," "+�~(&3000-size-puznms)))
T�
^:
h
��loadmss
r,�osc("LOAD "+�(34)+�name+�(34)+" "+�~F%)
|�
�:
�
��savemss
��L%?-1>0� �L%?-1=I%
�l�osc("SAVE "+�(34)+�name+�(34)+" "+�~F%+"+"+�~(names+miss+attrs+numlev*size+grfs)+" "+�~addr+" "+�~addr)
��
�:
� �1,1,1,4,8,32,16,32,64,64,64
�:
�F� Time consumption,Mapping ability,Backpack size,Throwing distance
�-� 2,47,58,1,47,53,1,49,53,2,47,58,1,48,52
���attrs
�!�"Select feature to change:"'
�V%=�:�">";
�N%=0�3
�3)�attr(N%)
�
&�3)"Return to main menu"
0N%=0:�:*FX15
:K%=�:�K%=138�K%=139�arrow
D�K%=13�N%<4�changeattr
N�K%=13�N%=4:�
X��arrow
b�0,N%+V%)" "
l�K%=138N%=(N%+1)�5
v�K%=139N%=N%-1:�N%<0N%=4
��0,N%+V%)">"
��
���changeattr
��:��dVF
��H%=0�N%
�	�A$:�
�	��d`F
��H%=0�N%
��A%,X%,Y%:�
��3,N%+V%);
�"A%=�(�input(A$+": ",A%,X%,Y%))
�%�(A%<17�(A%>0�N%=1))�(A%<64�N%=3)
��N%=0A%=A%+6��N%=2A%=A%-1
F%?(names+miss+N%)=A%
�3,N%+V%)�attr(N%)
�
 :
*��miss:�34
4!�N%=0�miss-1:X%=F%?(names+N%)
>�X%=123X%=33��X%=124X%=58
H�X%>31�X%<127�X%=9�X%
R�:�34'
\*A$=�input("Name:",miss,31,127):�A$=""�
f"�N%=0�miss-1:X%=�(�A$,N%+1,1))
p�X%=33X%=123��X%=58X%=124
zF%?(names+N%)=X%:�:�
�:
�	��err
��=17 �quit:�
��report
��
�
��quit
��title:�:�
�2A$=��input("Are you sure (Y/N) ? ",3,68,90),1)
��A$="Y"�A$="N"
�
�A$="N" �
�	*FX 4
��cursor(1)
��!-4
	�
	:
	H� This subroutine was written by              William Reeve (mainly)
	$#� So don't lay the blame on Ian
	.:
	8��report
	B�129:�0
	L�26:�N%=1�6
	V-Y%=20-(N% �1)*N% �2+(N% �1�1)*N% �2:*FX19
	`�2,Y%)�(36)
	j�:�28,5,23,34,18
	t �"Error ";�;" has occurred."
	~�:�
	�'�'�inv("Press a key - or ")"ESCAPE"
	��128:�1
	�N%=�:�title:�
�
00000000  0d 00 0a 1d f4 22 7f 20  20 20 20 20 20 11 81 11  |.....".      ...|
00000010  00 50 49 50 45 4c 49 4e  45 11 80 11 01 0d 00 14  |.PIPELINE.......|
00000020  17 f4 20 4d 49 53 53 49  4f 4e 20 47 45 4e 45 52  |.. MISSION GENER|
00000030  41 54 4f 52 0d 00 1e 15  f4 20 20 20 42 59 20 49  |ATOR.....   BY I|
00000040  41 4e 20 48 4f 4c 4d 45  53 0d 00 28 46 f4 22 7f  |AN HOLMES..(F.".|
00000050  20 11 81 11 00 48 65 6c  6c 6f 20 74 6f 20 61 6c  | ....Hello to al|
00000060  6c 20 6d 79 20 66 72 69  65 6e 64 73 21 11 80 11  |l my friends!...|
00000070  01 15 a2 02 bd 14 04 48  29 55 0a 85 70 68 29 aa  |.......H)U..ph).|
00000080  4a 05 70 48 4a 68 6a 9d  14 04 ca 10 e7 60 06 0d  |J.pHJhj......`..|
00000090  00 32 05 3a 0d 00 3c 16  ee 85 f2 65 72 72 3a e7  |.2.:..<....err:.|
000000a0  9f 3c 3e 31 37 e5 8d 44  64 40 0d 00 46 1a f4 20  |.<>17..Dd@..F.. |
000000b0  53 6f 72 72 79 20 61 62  6f 75 74 20 74 68 65 20  |Sorry about the |
000000c0  47 4f 54 4f 0d 00 50 05  d8 0d 00 5a 0c eb 37 3a  |GOTO..P....Z..7:|
000000d0  f2 69 6e 69 74 0d 00 64  0a ee 85 f2 65 72 72 0d  |.init..d....err.|
000000e0  00 6e 05 f5 0d 00 78 05  db 0d 00 82 09 f7 8d 44  |.n....x........D|
000000f0  5e 41 0d 00 8c 0e f1 22  50 72 65 73 73 3a 22 3b  |^A....."Press:";|
00000100  0d 00 96 0e e3 4e 25 3d  31 b8 6f 70 74 73 0d 00  |.....N%=1.opts..|
00000110  a0 07 f3 41 24 0d 00 aa  13 f1 8a 39 29 3b 4e 25  |...A$......9);N%|
00000120  22 20 74 6f 20 22 41 24  0d 00 b4 05 ed 0d 00 be  |" to "A$........|
00000130  26 f1 8a 35 29 22 45 53  43 41 50 45 20 74 6f 20  |&..5)"ESCAPE to |
00000140  6c 65 61 76 65 20 74 68  69 73 20 70 72 6f 67 72  |leave this progr|
00000150  61 6d 22 0d 00 c8 0a f5  3a 4b 25 3d a5 0d 00 d2  |am".....:K%=....|
00000160  1c 49 25 3d 30 3a e7 4b  25 3d 31 30 35 84 4b 25  |.I%=0:.K%=105.K%|
00000170  3d 31 30 34 f2 6c 6f 63  6b 0d 00 dc 11 4b 25 3d  |=104.lock....K%=|
00000180  28 4b 25 84 31 36 29 2d  34 38 0d 00 e6 13 fd 4b  |(K%.16)-48.....K|
00000190  25 3e 30 80 4b 25 3c 6f  70 74 73 2b 31 0d 00 f0  |%>0.K%<opts+1...|
000001a0  1b f1 8a 37 2c 4b 25 2d  31 29 22 3e 22 8a 30 2c  |...7,K%-1)">".0,|
000001b0  6f 70 74 73 2b 32 29 3b  0d 00 fa 0e e7 4b 25 3d  |opts+2);.....K%=|
000001c0  31 f2 6d 69 73 73 0d 01  04 0f e7 4b 25 3d 32 f2  |1.miss.....K%=2.|
000001d0  61 74 74 72 73 0d 01 0e  18 e7 4b 25 3d 33 f2 6c  |attrs.....K%=3.l|
000001e0  6f 61 64 67 72 66 28 a4  6e 61 6d 65 29 0d 01 18  |oadgrf(.name)...|
000001f0  11 e7 4b 25 3d 34 f2 73  61 76 65 67 72 66 0d 01  |..K%=4.savegrf..|
00000200  22 11 e7 4b 25 3d 35 f2  6c 6f 61 64 6c 65 76 0d  |"..K%=5.loadlev.|
00000210  01 2c 11 e7 4b 25 3d 36  f2 73 61 76 65 6c 65 76  |.,..K%=6.savelev|
00000220  0d 01 36 11 e7 4b 25 3d  37 f2 6c 6f 61 64 6d 73  |..6..K%=7.loadms|
00000230  73 0d 01 40 11 e7 4b 25  3d 38 f2 73 61 76 65 6d  |s..@..K%=8.savem|
00000240  73 73 0d 01 4a 06 fd 30  0d 01 54 05 3a 0d 01 5e  |ss..J..0..T.:..^|
00000250  74 dc 63 68 61 6e 67 65  20 6e 61 6d 65 2c 63 68  |t.change name,ch|
00000260  61 6e 67 65 20 66 65 61  74 75 72 65 73 2c 6c 6f  |ange features,lo|
00000270  61 64 20 67 72 61 70 68  69 63 73 2c 73 61 76 65  |ad graphics,save|
00000280  20 67 72 61 70 68 69 63  73 2c 6c 6f 61 64 20 61  | graphics,load a|
00000290  20 6c 65 76 65 6c 2c 73  61 76 65 20 61 20 6c 65  | level,save a le|
000002a0  76 65 6c 2c 6c 6f 61 64  20 61 20 6d 69 73 73 69  |vel,load a missi|
000002b0  6f 6e 2c 73 61 76 65 20  61 20 6d 69 73 73 69 6f  |on,save a missio|
000002c0  6e 0d 01 68 05 3a 0d 01  72 0a dd f2 69 6e 69 74  |n..h.:..r...init|
000002d0  0d 01 7c 0a 2a 46 58 34  20 31 0d 01 86 0c 6e 75  |..|.*FX4 1....nu|
000002e0  6d 6c 65 76 3d 34 0d 01  90 0d 73 69 7a 65 3d 26  |mlev=4....size=&|
000002f0  39 31 46 0d 01 9a 0d 67  72 66 73 3d 26 38 43 30  |91F....grfs=&8C0|
00000300  0d 01 a4 0b 61 74 74 72  73 3d 35 0d 01 ae 0b 6d  |....attrs=5....m|
00000310  69 73 73 3d 33 30 0d 01  b8 0d 6e 61 6d 65 73 3d  |iss=30....names=|
00000320  26 46 43 0d 01 c2 12 64  61 74 61 3d 73 69 7a 65  |&FC....data=size|
00000330  2d 26 38 30 30 0d 01 cc  0e 70 75 7a 6e 6d 73 3d  |-&800....puznms=|
00000340  33 32 30 0d 01 d6 0a 6f  70 74 73 3d 38 0d 01 e0  |320....opts=8...|
00000350  31 de 20 46 25 20 28 6e  61 6d 65 73 2b 6d 69 73  |1. F% (names+mis|
00000360  73 2b 61 74 74 72 73 2b  6e 75 6d 6c 65 76 2a 73  |s+attrs+numlev*s|
00000370  69 7a 65 2b 67 72 66 73  2b 26 32 30 30 29 0d 01  |ize+grfs+&200)..|
00000380  ea 1b de 20 6f 73 63 20  34 30 2c 42 25 20 73 69  |... osc 40,B% si|
00000390  7a 65 2b 70 75 7a 6e 6d  73 0d 01 f4 1a 4c 25 3d  |ze+puznms....L%=|
000003a0  46 25 2b 6e 61 6d 65 73  2b 6d 69 73 73 2b 61 74  |F%+names+miss+at|
000003b0  74 72 73 0d 01 fe 15 47  25 3d 4c 25 2b 6e 75 6d  |trs....G%=L%+num|
000003c0  6c 65 76 2a 73 69 7a 65  0d 02 08 30 61 64 64 72  |lev*size...0addr|
000003d0  3d 26 35 32 43 30 2d 6e  75 6d 6c 65 76 2a 73 69  |=&52C0-numlev*si|
000003e0  7a 65 2d 67 72 66 73 2d  61 74 74 72 73 2d 6d 69  |ze-grfs-attrs-mi|
000003f0  73 73 2d 6e 61 6d 65 73  0d 02 12 0a f2 74 69 74  |ss-names.....tit|
00000400  6c 65 0d 02 1c 1f f1 27  27 8a 31 35 29 a4 69 6e  |le.....''.15).in|
00000410  76 28 22 50 4c 45 41 53  45 20 57 41 49 54 3a 22  |v("PLEASE WAIT:"|
00000420  29 0d 02 26 18 e3 4e 25  3d 30 b8 6e 61 6d 65 73  |)..&..N%=0.names|
00000430  2b 6d 69 73 73 2b 34 88  34 0d 02 30 15 4e 25 21  |+miss+4.4..0.N%!|
00000440  46 25 3d 26 32 30 32 30  32 30 32 30 3a ed 0d 02  |F%=&20202020:...|
00000450  3a 20 e3 4e 25 3d 6e 75  6d 6c 65 76 2a 34 b8 6e  |: .N%=numlev*4.n|
00000460  75 6d 6c 65 76 2a 64 61  74 61 2d 34 88 34 0d 02  |umlev*data-4.4..|
00000470  44 0e 4c 25 21 4e 25 3d  2d 31 3a ed 0d 02 4e 19  |D.L%!N%=-1:...N.|
00000480  4c 25 21 28 6e 75 6d 6c  65 76 2a 64 61 74 61 2d  |L%!(numlev*data-|
00000490  34 29 3d 2d 31 0d 02 58  25 e3 4e 25 3d 28 6e 75  |4)=-1..X%.N%=(nu|
000004a0  6d 6c 65 76 2a 64 61 74  61 29 b8 28 6e 75 6d 6c  |mlev*data).(numl|
000004b0  65 76 2a 73 69 7a 65 29  88 34 0d 02 62 0d 4c 25  |ev*size).4..b.L%|
000004c0  21 4e 25 3d 30 3a ed 0d  02 6c 12 58 25 3d 4c 25  |!N%=0:...l.X%=L%|
000004d0  2b 6e 75 6d 6c 65 76 2a  33 0d 02 76 12 e3 4e 25  |+numlev*3..v..N%|
000004e0  3d 30 b8 6e 75 6d 6c 65  76 2d 31 0d 02 80 15 58  |=0.numlev-1....X|
000004f0  25 21 28 4e 25 2a 34 29  3d 31 33 31 39 34 37 33  |%!(N%*4)=1319473|
00000500  0d 02 8a 18 ed 3a 46 25  3f 28 6e 61 6d 65 73 2b  |.....:F%?(names+|
00000510  6d 69 73 73 29 3d 31 35  0d 02 94 1c 46 25 21 28  |miss)=15....F%!(|
00000520  6e 61 6d 65 73 2b 6d 69  73 73 2b 31 29 3d 33 39  |names+miss+1)=39|
00000530  33 37 33 30 0d 02 9e 05  e1 0d 02 a8 10 dd f2 63  |3730...........c|
00000540  75 72 73 6f 72 28 4e 25  29 0d 02 b2 13 ef 32 33  |ursor(N%).....23|
00000550  2c 31 2c 4e 25 3b 30 3b  30 3b 30 3b 0d 02 bc 05  |,1,N%;0;0;0;....|
00000560  e1 0d 02 c6 0b dd f2 74  69 74 6c 65 0d 02 d0 0e  |.......title....|
00000570  f2 63 75 72 73 6f 72 28  30 29 0d 02 da 0e ef 32  |.cursor(0).....2|
00000580  36 3a fb 31 32 38 3a db  0d 02 e4 2c f1 8a 37 2c  |6:.128:....,..7,|
00000590  31 29 a4 69 6e 76 28 22  50 49 50 45 4c 49 4e 45  |1).inv("PIPELINE|
000005a0  20 4d 69 73 73 69 6f 6e  20 47 65 6e 65 72 61 74  | Mission Generat|
000005b0  6f 72 22 29 0d 02 ee 08  f2 77 3a e1 0d 02 f8 26  |or").....w:....&|
000005c0  dd a4 69 6e 76 28 41 24  29 3a fb 31 32 39 3a fb  |..inv(A$):.129:.|
000005d0  30 3a f1 41 24 3b 3a fb  31 32 38 3a fb 31 3a 3d  |0:.A$;:.128:.1:=|
000005e0  22 22 0d 03 02 17 dd f2  77 3a ef 32 38 2c 30 2c  |""......w:.28,0,|
000005f0  32 33 2c 33 39 2c 33 3a  e1 0d 03 0c 05 3a 0d 03  |23,39,3:.....:..|
00000600  16 0f dd f2 6f 73 63 28  24 6f 73 63 29 0d 03 20  |....osc($osc).. |
00000610  1b 58 25 3d 6f 73 63 20  83 32 35 36 3a 59 25 3d  |.X%=osc .256:Y%=|
00000620  6f 73 63 20 81 32 35 36  0d 03 2a 0c d6 26 46 46  |osc .256..*..&FF|
00000630  46 37 3a e1 0d 03 34 1a  dd a4 69 6e 70 75 74 28  |F7:...4...input(|
00000640  41 24 2c 4e 25 2c 6d 69  6e 2c 6d 61 78 29 0d 03  |A$,N%,min,max)..|
00000650  3e 2c f1 41 24 a4 69 6e  76 28 c4 4e 25 2b 32 2c  |>,.A$.inv(.N%+2,|
00000660  22 20 22 29 29 c4 4e 25  2b 31 2c bd 38 29 3b 3a  |" ")).N%+1,.8);:|
00000670  f2 63 75 72 73 6f 72 28  31 29 0d 03 48 0b fb 31  |.cursor(1)..H..1|
00000680  32 39 3a fb 30 0d 03 52  0b 41 24 3d 22 22 3a f5  |29:.0..R.A$="":.|
00000690  0d 03 5c 0a f5 3a 41 25  3d a5 0d 03 66 20 e7 41  |..\..:A%=...f .A|
000006a0  25 3e 6d 69 6e 20 80 41  25 3c 6d 61 78 20 80 a9  |%>min .A%<max ..|
000006b0  28 41 24 29 3d 4e 25 20  ef 37 0d 03 70 36 fd 28  |(A$)=N% .7..p6.(|
000006c0  41 25 3d 31 32 37 80 a9  28 41 24 29 3e 30 29 84  |A%=127..(A$)>0).|
000006d0  41 25 3d 31 33 84 28 41  25 3e 6d 69 6e 20 80 41  |A%=13.(A%>min .A|
000006e0  25 3c 6d 61 78 20 80 a9  28 41 24 29 3c 4e 25 29  |%<max ..(A$)<N%)|
000006f0  0d 03 7a 17 ef 41 25 3a  e7 41 25 3d 31 33 fb 31  |..z..A%:.A%=13.1|
00000700  32 38 3a fb 31 3a f1 0d  03 84 1f e7 41 25 3e 6d  |28:.1:......A%>m|
00000710  69 6e 20 80 41 25 3c 6d  61 78 20 41 24 3d 41 24  |in .A%<max A$=A$|
00000720  2b bd 28 41 25 29 0d 03  8e 1b e7 41 25 3d 31 32  |+.(A%).....A%=12|
00000730  37 20 41 24 3d c0 41 24  2c a9 28 41 24 29 2d 31  |7 A$=.A$,.(A$)-1|
00000740  29 0d 03 98 19 fd 41 25  3d 31 33 3a f2 63 75 72  |).....A%=13:.cur|
00000750  73 6f 72 28 30 29 3a 3d  41 24 0d 03 a2 2f dd a4  |sor(0):=A$.../..|
00000760  6e 61 6d 65 3d a4 69 6e  70 75 74 28 22 45 6e 74  |name=.input("Ent|
00000770  65 72 20 66 69 6c 65 6e  61 6d 65 3a 20 22 2c 31  |er filename: ",1|
00000780  30 2c 33 32 2c 31 32 37  29 0d 03 ac 43 dd a4 6c  |0,32,127)...C..l|
00000790  65 76 65 6c 3d 28 bb 28  a4 69 6e 70 75 74 28 22  |evel=(.(.input("|
000007a0  57 68 69 63 68 20 6c 65  76 65 6c 20 6e 75 6d 62  |Which level numb|
000007b0  65 72 20 3f 20 22 2c 31  2c 34 38 2c 34 39 2b 6e  |er ? ",1,48,49+n|
000007c0  75 6d 6c 65 76 29 29 2d  31 29 80 33 0d 03 b6 07  |umlev))-1).3....|
000007d0  dd a4 6e 0d 03 c0 40 45  25 3d a0 28 22 26 30 22  |..n...@E%=.("&0"|
000007e0  2b a4 69 6e 70 75 74 28  22 45 6e 74 65 72 20 65  |+.input("Enter e|
000007f0  64 69 74 69 6e 67 20 63  6f 64 65 3a 20 22 2c 36  |diting code: ",6|
00000800  2c 34 37 2c 35 38 29 29  3a d6 90 2b 31 32 36 3a  |,47,58)):..+126:|
00000810  3d 45 25 0d 03 ca 0e dd  a4 61 74 74 72 28 4e 25  |=E%......attr(N%|
00000820  29 0d 03 d4 12 f7 8d 64  56 46 3a e3 41 25 3d 30  |)......dVF:.A%=0|
00000830  b8 4e 25 0d 03 de 1f f3  41 24 3a ed 3a 41 25 3d  |.N%.....A$:.:A%=|
00000840  46 25 3f 28 6e 61 6d 65  73 2b 6d 69 73 73 2b 4e  |F%?(names+miss+N|
00000850  25 29 0d 03 e8 1d e7 4e  25 3d 30 41 25 3d 41 25  |%).....N%=0A%=A%|
00000860  2d 36 8b e7 4e 25 3d 32  41 25 3d 41 25 2b 31 0d  |-6..N%=2A%=A%+1.|
00000870  03 f2 1a 3d 41 24 2b 22  3a 20 22 2b c3 28 41 25  |...=A$+": "+.(A%|
00000880  29 2b c4 38 2c 22 20 22  29 0d 03 fc 0e dd f2 6e  |)+.8," ")......n|
00000890  61 6d 65 28 41 24 29 0d  04 06 0b e3 41 25 3d 31  |ame(A$).....A%=1|
000008a0  b8 38 0d 04 10 1f 42 25  3f 28 4e 25 2a 38 2b 41  |.8....B%?(N%*8+A|
000008b0  25 2d 39 29 3d 97 28 c1  41 24 2c 41 25 2c 31 29  |%-9)=.(.A$,A%,1)|
000008c0  29 0d 04 1a 0e ed 3a e3  41 25 3d 39 b8 31 30 0d  |).....:.A%=9.10.|
000008d0  04 24 21 42 25 3f 28 4e  25 2a 32 2b 41 25 2b 32  |.$!B%?(N%*2+A%+2|
000008e0  34 35 29 3d 97 28 c1 41  24 2c 41 25 2c 31 29 29  |45)=.(.A$,A%,1))|
000008f0  0d 04 2e 07 ed 3a e1 0d  04 38 16 dd f2 6c 6f 63  |.....:...8...loc|
00000900  6b 3a 49 25 3d 4b 25 2a  32 2d 32 30 39 0d 04 42  |k:I%=K%*2-209..B|
00000910  10 4b 25 3d 6f 70 74 73  2b 34 38 3a e1 0d 04 4c  |.K%=opts+48:...L|
00000920  05 3a 0d 04 56 12 f4 20  48 65 6c 6c 6f 2c 20 53  |.:..V.. Hello, S|
00000930  6f 6e 69 21 0d 04 60 05  3a 0d 04 6a 11 dd f2 6c  |oni!..`.:..j...l|
00000940  6f 61 64 67 72 66 28 41  24 29 0d 04 74 29 f2 6f  |oadgrf(A$)..t).o|
00000950  73 63 28 22 4c 4f 41 44  20 22 2b bd 28 33 34 29  |sc("LOAD "+.(34)|
00000960  2b 41 24 2b bd 28 33 34  29 2b 22 20 22 2b c3 7e  |+A$+.(34)+" "+.~|
00000970  47 25 29 0d 04 7e 0e 58  25 3d 47 25 2b 67 72 66  |G%)..~.X%=G%+grf|
00000980  73 0d 04 88 13 e3 41 25  3d 30 b8 6e 61 6d 65 73  |s.....A%=0.names|
00000990  2d 34 88 34 0d 04 92 11  41 25 21 46 25 3d 41 25  |-4.4....A%!F%=A%|
000009a0  21 58 25 3a ed 0d 04 9c  05 e1 0d 04 a6 05 3a 0d  |!X%:..........:.|
000009b0  04 b0 0d dd f2 73 61 76  65 67 72 66 0d 04 ba 0e  |.....savegrf....|
000009c0  58 25 3d 47 25 2b 67 72  66 73 0d 04 c4 13 e3 41  |X%=G%+grfs.....A|
000009d0  25 3d 30 b8 6e 61 6d 65  73 2d 34 88 34 0d 04 ce  |%=0.names-4.4...|
000009e0  11 41 25 21 58 25 3d 41  25 21 46 25 3a ed 0d 04  |.A%!X%=A%!F%:...|
000009f0  d8 4c f2 6f 73 63 28 22  53 41 56 45 20 22 2b bd  |.L.osc("SAVE "+.|
00000a00  28 33 34 29 2b a4 6e 61  6d 65 2b bd 28 33 34 29  |(34)+.name+.(34)|
00000a10  2b 22 20 22 2b c3 7e 47  25 2b 22 2b 22 2b c3 7e  |+" "+.~G%+"+"+.~|
00000a20  28 67 72 66 73 2b 6e 61  6d 65 73 29 2b 22 20 34  |(grfs+names)+" 4|
00000a30  30 30 30 20 34 30 30 30  22 29 0d 04 e2 05 e1 0d  |000 4000")......|
00000a40  04 ec 05 3a 0d 04 f6 0d  dd f2 6c 6f 61 64 6c 65  |...:......loadle|
00000a50  76 0d 05 00 0f 53 25 3d  a4 6c 65 76 65 6c 3a f1  |v....S%=.level:.|
00000a60  0d 05 0a 2c f2 6f 73 63  28 22 4c 4f 41 44 20 22  |...,.osc("LOAD "|
00000a70  2b bd 28 33 34 29 2b a4  6e 61 6d 65 2b bd 28 33  |+.(34)+.name+.(3|
00000a80  34 29 2b 22 20 22 2b c3  7e 42 25 29 0d 05 14 16  |4)+" "+.~B%)....|
00000a90  f1 27 22 50 6c 65 61 73  65 20 77 61 69 74 2e 2e  |.'"Please wait..|
00000aa0  2e 22 0d 05 1e 1d 58 25  3d 4c 25 2b 53 25 2a 26  |."....X%=L%+S%*&|
00000ab0  38 30 30 2b 6e 75 6d 6c  65 76 2a 64 61 74 61 0d  |800+numlev*data.|
00000ac0  05 28 15 59 25 3d 42 25  2b 70 75 7a 6e 6d 73 2b  |.(.Y%=B%+puznms+|
00000ad0  64 61 74 61 0d 05 32 11  e3 5a 25 3d 30 b8 26 37  |data..2..Z%=0.&7|
00000ae0  46 43 20 88 34 0d 05 3c  0f 5a 25 21 58 25 3d 5a  |FC .4..<.Z%!X%=Z|
00000af0  25 21 59 25 0d 05 46 11  ed 3a 70 6e 74 3d 30 3a  |%!Y%..F..:pnt=0:|
00000b00  f7 8d 64 42 46 0d 05 50  11 e3 4e 25 3d 31 b8 31  |..dBF..P..N%=1.1|
00000b10  31 3a f3 65 78 74 0d 05  5a 1b 58 25 3d 4c 25 2b  |1:.ext..Z.X%=L%+|
00000b20  6e 75 6d 6c 65 76 2a 70  6e 74 2b 53 25 2a 65 78  |numlev*pnt+S%*ex|
00000b30  74 0d 05 64 14 59 25 3d  42 25 2b 70 75 7a 6e 6d  |t..d.Y%=B%+puznm|
00000b40  73 2b 70 6e 74 0d 05 6e  0f e3 44 25 3d 30 b8 65  |s+pnt..n..D%=0.e|
00000b50  78 74 2d 31 0d 05 78 0f  44 25 3f 58 25 3d 44 25  |xt-1..x.D%?X%=D%|
00000b60  3f 59 25 0d 05 82 13 ed  3a 70 6e 74 3d 70 6e 74  |?Y%.....:pnt=pnt|
00000b70  2b 65 78 74 3a ed 0d 05  8c 05 e1 0d 05 96 05 3a  |+ext:..........:|
00000b80  0d 05 a0 0d dd f2 73 61  76 65 6c 65 76 0d 05 aa  |......savelev...|
00000b90  0d 53 25 3d a4 6c 65 76  65 6c 0d 05 b4 35 e7 4c  |.S%=.level...5.L|
00000ba0  25 3f 2d 31 f1 3a e7 a4  6e 3c 3e 4c 25 3f 53 25  |%?-1.:..n<>L%?S%|
00000bb0  2a 36 35 35 33 36 2b 4c  25 3f 28 53 25 2b 34 29  |*65536+L%?(S%+4)|
00000bc0  2a 32 35 36 2b 4c 25 3f  28 53 25 2b 38 29 e1 0d  |*256+L%?(S%+8)..|
00000bd0  05 be 17 f1 27 22 50 6c  65 61 73 65 20 77 61 69  |....'"Please wai|
00000be0  74 2e 2e 2e 22 27 0d 05  c8 15 58 25 3d 42 25 2b  |t..."'....X%=B%+|
00000bf0  70 75 7a 6e 6d 73 2b 64  61 74 61 0d 05 d2 1d 59  |puznms+data....Y|
00000c00  25 3d 4c 25 2b 53 25 2a  26 38 30 30 2b 6e 75 6d  |%=L%+S%*&800+num|
00000c10  6c 65 76 2a 64 61 74 61  0d 05 dc 11 e3 5a 25 3d  |lev*data.....Z%=|
00000c20  30 b8 26 37 46 43 20 88  34 0d 05 e6 0f 5a 25 21  |0.&7FC .4....Z%!|
00000c30  58 25 3d 5a 25 21 59 25  0d 05 f0 11 ed 3a 70 6e  |X%=Z%!Y%.....:pn|
00000c40  74 3d 30 3a f7 8d 64 42  46 0d 05 fa 11 e3 4e 25  |t=0:..dBF.....N%|
00000c50  3d 31 b8 31 31 3a f3 65  78 74 0d 06 04 14 58 25  |=1.11:.ext....X%|
00000c60  3d 42 25 2b 70 75 7a 6e  6d 73 2b 70 6e 74 0d 06  |=B%+puznms+pnt..|
00000c70  0e 1b 59 25 3d 4c 25 2b  6e 75 6d 6c 65 76 2a 70  |..Y%=L%+numlev*p|
00000c80  6e 74 2b 53 25 2a 65 78  74 0d 06 18 0f e3 44 25  |nt+S%*ext.....D%|
00000c90  3d 30 b8 65 78 74 2d 31  0d 06 22 0f 44 25 3f 58  |=0.ext-1..".D%?X|
00000ca0  25 3d 44 25 3f 59 25 0d  06 2c 13 ed 3a 70 6e 74  |%=D%?Y%..,..:pnt|
00000cb0  3d 70 6e 74 2b 65 78 74  3a ed 0d 06 36 0c e3 4e  |=pnt+ext:...6..N|
00000cc0  25 3d 31 b8 33 32 0d 06  40 1d f2 6e 61 6d 65 28  |%=1.32..@..name(|
00000cd0  22 50 75 7a 7a 6c 65 20  22 2b c3 4e 25 2b 22 20  |"Puzzle "+.N%+" |
00000ce0  20 22 29 0d 06 4a 60 ed  3a f2 6f 73 63 28 22 53  | ")..J`.:.osc("S|
00000cf0  41 56 45 20 22 2b bd 28  33 34 29 2b a4 6e 61 6d  |AVE "+.(34)+.nam|
00000d00  65 2b bd 28 33 34 29 2b  22 20 22 2b c3 7e 42 25  |e+.(34)+" "+.~B%|
00000d10  2b 22 2b 22 2b c3 7e 28  73 69 7a 65 2b 70 75 7a  |+"+"+.~(size+puz|
00000d20  6e 6d 73 29 2b c4 32 2c  22 20 22 2b c3 7e 28 26  |nms)+.2," "+.~(&|
00000d30  33 30 30 30 2d 73 69 7a  65 2d 70 75 7a 6e 6d 73  |3000-size-puznms|
00000d40  29 29 29 0d 06 54 05 e1  0d 06 5e 05 3a 0d 06 68  |)))..T....^.:..h|
00000d50  0d dd f2 6c 6f 61 64 6d  73 73 0d 06 72 2c f2 6f  |...loadmss..r,.o|
00000d60  73 63 28 22 4c 4f 41 44  20 22 2b bd 28 33 34 29  |sc("LOAD "+.(34)|
00000d70  2b a4 6e 61 6d 65 2b bd  28 33 34 29 2b 22 20 22  |+.name+.(34)+" "|
00000d80  2b c3 7e 46 25 29 0d 06  7c 05 e1 0d 06 86 05 3a  |+.~F%)..|......:|
00000d90  0d 06 90 0d dd f2 73 61  76 65 6d 73 73 0d 06 9a  |......savemss...|
00000da0  17 e7 4c 25 3f 2d 31 3e  30 e1 20 8b 4c 25 3f 2d  |..L%?-1>0. .L%?-|
00000db0  31 3d 49 25 0d 06 a4 6c  f2 6f 73 63 28 22 53 41  |1=I%...l.osc("SA|
00000dc0  56 45 20 22 2b bd 28 33  34 29 2b a4 6e 61 6d 65  |VE "+.(34)+.name|
00000dd0  2b bd 28 33 34 29 2b 22  20 22 2b c3 7e 46 25 2b  |+.(34)+" "+.~F%+|
00000de0  22 2b 22 2b c3 7e 28 6e  61 6d 65 73 2b 6d 69 73  |"+"+.~(names+mis|
00000df0  73 2b 61 74 74 72 73 2b  6e 75 6d 6c 65 76 2a 73  |s+attrs+numlev*s|
00000e00  69 7a 65 2b 67 72 66 73  29 2b 22 20 22 2b c3 7e  |ize+grfs)+" "+.~|
00000e10  61 64 64 72 2b 22 20 22  2b c3 7e 61 64 64 72 29  |addr+" "+.~addr)|
00000e20  0d 06 ae 05 e1 0d 06 b8  05 3a 0d 06 c2 20 dc 31  |.........:... .1|
00000e30  2c 31 2c 31 2c 34 2c 38  2c 33 32 2c 31 36 2c 33  |,1,1,4,8,32,16,3|
00000e40  32 2c 36 34 2c 36 34 2c  36 34 0d 06 cc 05 3a 0d  |2,64,64,64....:.|
00000e50  06 d6 46 dc 20 54 69 6d  65 20 63 6f 6e 73 75 6d  |..F. Time consum|
00000e60  70 74 69 6f 6e 2c 4d 61  70 70 69 6e 67 20 61 62  |ption,Mapping ab|
00000e70  69 6c 69 74 79 2c 42 61  63 6b 70 61 63 6b 20 73  |ility,Backpack s|
00000e80  69 7a 65 2c 54 68 72 6f  77 69 6e 67 20 64 69 73  |ize,Throwing dis|
00000e90  74 61 6e 63 65 0d 06 e0  2d dc 20 32 2c 34 37 2c  |tance...-. 2,47,|
00000ea0  35 38 2c 31 2c 34 37 2c  35 33 2c 31 2c 34 39 2c  |58,1,47,53,1,49,|
00000eb0  35 33 2c 32 2c 34 37 2c  35 38 2c 31 2c 34 38 2c  |53,2,47,58,1,48,|
00000ec0  35 32 0d 06 ea 0b dd f2  61 74 74 72 73 0d 06 f4  |52......attrs...|
00000ed0  21 f1 22 53 65 6c 65 63  74 20 66 65 61 74 75 72  |!."Select featur|
00000ee0  65 20 74 6f 20 63 68 61  6e 67 65 3a 22 27 0d 06  |e to change:"'..|
00000ef0  fe 0e 56 25 3d bc 3a f1  22 3e 22 3b 0d 07 08 0b  |..V%=.:.">";....|
00000f00  e3 4e 25 3d 30 b8 33 0d  07 12 11 f1 8a 33 29 a4  |.N%=0.3......3).|
00000f10  61 74 74 72 28 4e 25 29  0d 07 1c 05 ed 0d 07 26  |attr(N%).......&|
00000f20  1d f1 8a 33 29 22 52 65  74 75 72 6e 20 74 6f 20  |...3)"Return to |
00000f30  6d 61 69 6e 20 6d 65 6e  75 22 0d 07 30 10 4e 25  |main menu"..0.N%|
00000f40  3d 30 3a f5 3a 2a 46 58  31 35 0d 07 3a 1d 4b 25  |=0:.:*FX15..:.K%|
00000f50  3d a5 3a e7 4b 25 3d 31  33 38 84 4b 25 3d 31 33  |=.:.K%=138.K%=13|
00000f60  39 f2 61 72 72 6f 77 0d  07 44 1a e7 4b 25 3d 31  |9.arrow..D..K%=1|
00000f70  33 80 4e 25 3c 34 f2 63  68 61 6e 67 65 61 74 74  |3.N%<4.changeatt|
00000f80  72 0d 07 4e 11 fd 4b 25  3d 31 33 80 4e 25 3d 34  |r..N..K%=13.N%=4|
00000f90  3a e1 0d 07 58 0b dd f2  61 72 72 6f 77 0d 07 62  |:...X...arrow..b|
00000fa0  11 f1 8a 30 2c 4e 25 2b  56 25 29 22 20 22 0d 07  |...0,N%+V%)" "..|
00000fb0  6c 16 e7 4b 25 3d 31 33  38 4e 25 3d 28 4e 25 2b  |l..K%=138N%=(N%+|
00000fc0  31 29 83 35 0d 07 76 1c  e7 4b 25 3d 31 33 39 4e  |1).5..v..K%=139N|
00000fd0  25 3d 4e 25 2d 31 3a e7  4e 25 3c 30 4e 25 3d 34  |%=N%-1:.N%<0N%=4|
00000fe0  0d 07 80 11 f1 8a 30 2c  4e 25 2b 56 25 29 22 3e  |......0,N%+V%)">|
00000ff0  22 0d 07 8a 05 e1 0d 07  94 10 dd f2 63 68 61 6e  |"...........chan|
00001000  67 65 61 74 74 72 0d 07  9e 0b f5 3a f7 8d 64 56  |geattr.....:..dV|
00001010  46 0d 07 a8 0c e3 48 25  3d 30 b8 4e 25 0d 07 b2  |F.....H%=0.N%...|
00001020  09 f3 41 24 3a ed 0d 07  bc 09 f7 8d 64 60 46 0d  |..A$:.......d`F.|
00001030  07 c6 0c e3 48 25 3d 30  b8 4e 25 0d 07 d0 0f f3  |....H%=0.N%.....|
00001040  41 25 2c 58 25 2c 59 25  3a ed 0d 07 da 0f f1 8a  |A%,X%,Y%:.......|
00001050  33 2c 4e 25 2b 56 25 29  3b 0d 07 e4 22 41 25 3d  |3,N%+V%);..."A%=|
00001060  bb 28 a4 69 6e 70 75 74  28 41 24 2b 22 3a 20 22  |.(.input(A$+": "|
00001070  2c 41 25 2c 58 25 2c 59  25 29 29 0d 07 ee 25 fd  |,A%,X%,Y%))...%.|
00001080  28 41 25 3c 31 37 80 28  41 25 3e 30 84 4e 25 3d  |(A%<17.(A%>0.N%=|
00001090  31 29 29 84 28 41 25 3c  36 34 80 4e 25 3d 33 29  |1)).(A%<64.N%=3)|
000010a0  0d 07 f8 1d e7 4e 25 3d  30 41 25 3d 41 25 2b 36  |.....N%=0A%=A%+6|
000010b0  8b e7 4e 25 3d 32 41 25  3d 41 25 2d 31 0d 08 02  |..N%=2A%=A%-1...|
000010c0  19 46 25 3f 28 6e 61 6d  65 73 2b 6d 69 73 73 2b  |.F%?(names+miss+|
000010d0  4e 25 29 3d 41 25 0d 08  0c 17 f1 8a 33 2c 4e 25  |N%)=A%......3,N%|
000010e0  2b 56 25 29 a4 61 74 74  72 28 4e 25 29 0d 08 16  |+V%).attr(N%)...|
000010f0  05 e1 0d 08 20 05 3a 0d  08 2a 0e dd f2 6d 69 73  |.... .:..*...mis|
00001100  73 3a ef 33 34 0d 08 34  21 e3 4e 25 3d 30 b8 6d  |s:.34..4!.N%=0.m|
00001110  69 73 73 2d 31 3a 58 25  3d 46 25 3f 28 6e 61 6d  |iss-1:X%=F%?(nam|
00001120  65 73 2b 4e 25 29 0d 08  3e 1d e7 58 25 3d 31 32  |es+N%)..>..X%=12|
00001130  33 58 25 3d 33 33 8b e7  58 25 3d 31 32 34 58 25  |3X%=33..X%=124X%|
00001140  3d 35 38 0d 08 48 19 e7  58 25 3e 33 31 80 58 25  |=58..H..X%>31.X%|
00001150  3c 31 32 37 84 58 25 3d  39 ef 58 25 0d 08 52 0b  |<127.X%=9.X%..R.|
00001160  ed 3a f1 bd 33 34 27 0d  08 5c 2a 41 24 3d a4 69  |.:..34'..\*A$=.i|
00001170  6e 70 75 74 28 22 4e 61  6d 65 3a 22 2c 6d 69 73  |nput("Name:",mis|
00001180  73 2c 33 31 2c 31 32 37  29 3a e7 41 24 3d 22 22  |s,31,127):.A$=""|
00001190  e1 0d 08 66 22 e3 4e 25  3d 30 b8 6d 69 73 73 2d  |...f".N%=0.miss-|
000011a0  31 3a 58 25 3d 97 28 c1  41 24 2c 4e 25 2b 31 2c  |1:X%=.(.A$,N%+1,|
000011b0  31 29 29 0d 08 70 1d e7  58 25 3d 33 33 58 25 3d  |1))..p..X%=33X%=|
000011c0  31 32 33 8b e7 58 25 3d  35 38 58 25 3d 31 32 34  |123..X%=58X%=124|
000011d0  0d 08 7a 18 46 25 3f 28  6e 61 6d 65 73 2b 4e 25  |..z.F%?(names+N%|
000011e0  29 3d 58 25 3a ed 3a e1  0d 08 84 05 3a 0d 08 8e  |)=X%:.:.....:...|
000011f0  09 dd f2 65 72 72 0d 08  98 11 e7 9f 3d 31 37 20  |...err......=17 |
00001200  f2 71 75 69 74 3a e1 0d  08 a2 0b f2 72 65 70 6f  |.quit:......repo|
00001210  72 74 0d 08 ac 05 e1 0d  08 b6 0a dd f2 71 75 69  |rt...........qui|
00001220  74 0d 08 c0 0e f2 74 69  74 6c 65 3a f5 3a db 0d  |t.....title:.:..|
00001230  08 ca 32 41 24 3d c0 a4  69 6e 70 75 74 28 22 41  |..2A$=..input("A|
00001240  72 65 20 79 6f 75 20 73  75 72 65 20 28 59 2f 4e  |re you sure (Y/N|
00001250  29 20 3f 20 22 2c 33 2c  36 38 2c 39 30 29 2c 31  |) ? ",3,68,90),1|
00001260  29 0d 08 d4 12 fd 41 24  3d 22 59 22 84 41 24 3d  |).....A$="Y".A$=|
00001270  22 4e 22 0d 08 de 0d e7  41 24 3d 22 4e 22 20 e1  |"N".....A$="N" .|
00001280  0d 08 e8 09 2a 46 58 20  34 0d 08 f2 0e f2 63 75  |....*FX 4.....cu|
00001290  72 73 6f 72 28 31 29 0d  08 fc 08 d6 21 2d 34 0d  |rsor(1).....!-4.|
000012a0  09 06 05 e0 0d 09 10 05  3a 0d 09 1a 48 f4 20 54  |........:...H. T|
000012b0  68 69 73 20 73 75 62 72  6f 75 74 69 6e 65 20 77  |his subroutine w|
000012c0  61 73 20 77 72 69 74 74  65 6e 20 62 79 20 20 20  |as written by   |
000012d0  20 20 20 20 20 20 20 20  20 20 20 57 69 6c 6c 69  |           Willi|
000012e0  61 6d 20 52 65 65 76 65  20 28 6d 61 69 6e 6c 79  |am Reeve (mainly|
000012f0  29 0d 09 24 23 f4 20 53  6f 20 64 6f 6e 27 74 20  |)..$#. So don't |
00001300  6c 61 79 20 74 68 65 20  62 6c 61 6d 65 20 6f 6e  |lay the blame on|
00001310  20 49 61 6e 0d 09 2e 05  3a 0d 09 38 0c dd f2 72  | Ian....:..8...r|
00001320  65 70 6f 72 74 0d 09 42  0b fb 31 32 39 3a fb 30  |eport..B..129:.0|
00001330  0d 09 4c 0f ef 32 36 3a  e3 4e 25 3d 31 b8 36 0d  |..L..26:.N%=1.6.|
00001340  09 56 2d 59 25 3d 32 30  2d 28 4e 25 20 80 31 29  |.V-Y%=20-(N% .1)|
00001350  2a 4e 25 20 81 32 2b 28  4e 25 20 80 31 82 31 29  |*N% .2+(N% .1.1)|
00001360  2a 4e 25 20 81 32 3a 2a  46 58 31 39 0d 09 60 10  |*N% .2:*FX19..`.|
00001370  f1 8a 32 2c 59 25 29 89  28 33 36 29 0d 09 6a 14  |..2,Y%).(36)..j.|
00001380  ed 3a ef 32 38 2c 35 2c  32 33 2c 33 34 2c 31 38  |.:.28,5,23,34,18|
00001390  0d 09 74 20 f1 22 45 72  72 6f 72 20 22 3b 9f 3b  |..t ."Error ";.;|
000013a0  22 20 68 61 73 20 6f 63  63 75 72 72 65 64 2e 22  |" has occurred."|
000013b0  0d 09 7e 07 f6 3a f1 0d  09 88 27 f1 27 a4 69 6e  |..~..:....'.'.in|
000013c0  76 28 22 50 72 65 73 73  20 61 20 6b 65 79 20 2d  |v("Press a key -|
000013d0  20 6f 72 20 22 29 22 45  53 43 41 50 45 22 0d 09  | or ")"ESCAPE"..|
000013e0  92 0b fb 31 32 38 3a fb  31 0d 09 9c 11 4e 25 3d  |...128:.1....N%=|
000013f0  a5 3a f2 74 69 74 6c 65  3a e1 0d ff              |.:.title:...|
000013fc
MISSION.m0
MISSION.m1
MISSION.m2
MISSION.m4
MISSION.m5