Classic Computer Magazine Archive A.N.A.L.O.G. ISSUE 66 / NOVEMBER 1988 / PAGE 16

SLAVE II
Nimral's Grace

by Clayton Walnum



As promised last month, here's the sequel to The Slave Cellars of Golgoloth, and if you thought just rescuing the princess was tough, wait until you try to find out who's trying to put her six feet under. Yep, Slave II: Nimral's Grace is a mystery, and in order to be successful in your attempt to bring the would-be assassin to justice, you're going to have to search high and low for ten vital clues. Only when you've gathered all the evidence, will you be able to put the culprit behind bars.

    If you thought rescuing the princes was tough, wait until you try to find out who's trying to put her six feet under.

Typing it in
    To make your copy of Slave II, follow exactly the instructions shown below:
    1) Type in Listing l, using BASIC Editor II to verify your work. Once you have the listing accurately typed, save it to disk.
    2) With a disk in Drive 1, run the program you typed from Listing l. A file named LINES.LST will be written to your disk.
    3) Type in Listing 2, using BASIC Editor II to verify your work. Once you have the listing accurately typed, save it to disk.
    4) With the program you typed from Listing 2 still in memory, type ENTER "D:LINES.LST" and press Return. The file created in Step 2 will be merged with the program lines already in memory.
    5) Type SAVE "D:SLAVE2.BAS" and press Return to save the complete program to disk. Slave II is now ready to run.

Playing a text adventure game
    Like most simple text adventure games, you communicate with Slave II by typing two-word commands in a verb/noun format (for example, OPEN DOOR). There are a few exceptions to this format, however. All directional commands should be abbreviated to one letter (N, S, E, W, U or D). To move north, for instance, you would simply type N and press Return. There are also times when Slave II will accept one-word responses. You'll discover these as you play.
    One command that you'll want to use before trying anything "dangerous" is SAVE GAME. Saving your position in the game allows you to continue where you left off should your character be killed. You should also save your game when you're finished with a session, so you can pick up where you left off when you're ready to play again. To resume a saved game from within Slave II, simply type the command LOAD GAME.
    Sometimes, a response to a command will contain more text than will fit in the text window. When this happens you will see the first few lines and the computer will beep. When you've finished reading the text on the screen, press Return, and the next few lines will be shown.

Hint department II
    The following adventure hints have been encoded by a forward cycling of the alphabet. That is, the letter A has been changed to B, the letter B has been changed to C and so on. To use the hints, find the question that applies to your problem, and decode the first hint in the list following the question. If, after decoding the first hint you're still stuck, decode the next. The last hint in the list is the solution.

How do I get past the fire?
    1) Uifsft b mblf ofbscz.
    2) Xbufs lffgt zpv dppm.
    3) Kvnq jo uif mblf boe hfu xfu.

How can I get to Nimral's Grace?
    1) Ju't upp gbs up xbml.
    2) Zpv dpvme vtf b ipstf.
    3) Qsbz bu uif tubuvf.

How do I get past the guard?
    1) Zpv dbo'u ep ju bmpof.
    2) Zpv offe tpnfpof gspn uif djuz xjui zpv.
    3) Tibmb nvtu bddpnqboz zpv.

How do I read books?
    1) Gjstu zpv nvtu pqfo uifn.
    2) Tpnfujnft zpv dbo uvso qbhft.

How can I get from night to day or day to night quickly?
    1) Tmffqjoh jt b hppe xbz up qbtt uif ujnf.
     2) Zpv nvtu cf jo zpvs sppn up tmffq.
    3) Kvtu uzqf HP CFE.

How can I get out of jail?
    1) Zpv dbo'u.
How can I get the priest to talk?
    1) Uzqf UBML QSJFTU.
    2) Zpv ibwf up cf b nfncfs.
    3) Sfbe uif cppl jo uif mjcsbsz.
    4) Zpv'mm offe tpnf cmbdl qbjou.
    5) Qbjou b cmbdl epu po zpvs gpsfifbe.

Where can I get the password?
    1) Ibwf zpv gpvoe b xbsespcf zfu?
    2) Uifsft tpnfuijoh cfijoe uif xbsespcf.
    3) Npwf uif xbsespcf.
    4) Mppl bu uif bmubs.

How can I get into the king's quarters without getting arrested?
    1) Zpv dbo'u mfu ijn tff zpv.
    2) Xbju voujm ift tmffgjoh.
    3) Hp bu ojhiu.

What's with the throne?
    1) Uifsft tpnfuijoh cfijoe ju.
    2) Npwf uif uispof.

How do I get past the steel door?
    1) Zpv offe b lfz.
    2) Hfu uif lfz gspn tpnfpof.
    3) Uif gsjftu ibt uif lfz.

What about registering animals?
    1) Zpv ibwf up sfhjtufs zpvs ipstf.
    2) Hp up uif tnbmm pggjdf.
    3) Ufmm uif nbo up SFHJTUFS XIJUR

How can I survive being stabbed?
    1) Xfbs tpnfuijoh gspufdujwf.
    2) Ibwf zpv gpvoe uif dibjo nbjm?
    3) Zpv nvtu ibwf uif dibjo nbjm.

How do I turn in the culprit?
    1) Gjstu zpv nvtu ibwf fopvhi fwjefodf.
    2) Hp up uif gfbdflffgfs.
    3) Uzqf BDDVTF gpmmpxfe cz uif qfstpo't obnf.

What are the ten pieces of evidence?
    1) Cfgpsf zpv sjef up Ojnsbm't Hsbdf, gjoe uif ejsu boe mppl bu ju. Uifo mppl bu uif gppugsjout.
    2) Gjoe uif bnvmfu boe mppl bu ju.
    3) Hp joup uif tipfnblfs't tipq boe sfbe ijt cppl. Epo'u gpshfu up uvso uif gbhf.
    4) Sfnfncfs uif cspxo ipstf zpv tbx sjejoh bxbz? Hp joup uif tubcmft boe mppl bu uif cspxo ipstf. Uifo mppl bu uif tbeemf.
    5) Gjoe tpnf bmf boe hjwf ju up uif nbo jo uif tnbmm pggjdf. Xifo if tfut epxo uif tjmwfs cppl, gjdl ju vq boe sfbe ju.
    6) Gjoe uif kfxfmsz cpy boe mppl bu ju.
    7) Qpvs uif qpjtpofe xjof gspn uif ubolbse. Gjoe uif gjohfsgsjou lju boe gjohfsgsjou uif fnquz ubolbse.
    8) Npwf uif xbsespcf boe mppl bu uif bmubs.
    9) Gjoe uif opufcppl boe mppl bu uif dpwfs.
    10) Pqfo uif opufcppl boe sfbe xibu't jotjef.

Listing 1: BASIC

TH 10 DIM L$(120)
ES 20 OPEN #1,8,0,"D:LINES.LST"
CR 30 L$="5820 CC$=":L$(10)=CHR$(34)
PZ 40 FOR X=1 TO 77:READ A:L$(10+X)=CHR$(
   A):NEXT X
KM 50 L$(10+X)=CHR$(34):? L$:? #1;L$
FF 60 L$="5840 D$=":L$(9)=CHR$(34)
DH 70 FOR X=1 TO 37:READ A:L$(9+X)=CHRS(A
   ):NEXT X
YE 80 L$(9+X)=CHR$(34):? L$:? #1;L$
GP 90 L$="5860 E$=":L$(9)=CHR$(34)
KF 100 FOR X=1 TO 78:READ A:L$(9+X]=CHR$(
   A) :NEXT X
MP 110 L$(9+X)=CHR$(34]:? L$:? #1;L$
VZ 120 L$="5880 L$=":L$(9)=CHR$(34)
GA 130 FOR X=1 TO 35:READ A:L$(9+X)=CHR$(
   A) :NEXT X
MV 140 L$(9+X]=CHR$(34):? L$:? #1;L$
IH 150 CLOSE #1:END
QO 999 REM ********* CC$ DATA *********
SS 1000 DATA 104,104,133,204,104,133,203,
   104,133,266,104,133,205,104,104,133,20
   7,169,0,141,255,6,170,133,213
ZT 1010 DATA 232,160,0,177,203,209,205,20
   8,8,200,192,4,208,245,134,212,96,173,2
   55,6,24,105,4 197,207
BQ 1020 DATA 240,20,141,255,6,165,205,24,
   105,4,133,205,165,206,105,0,133,206,24
   0,211,208,209
DD 1099 REM ********* D$ DATA *********

PG 1100 DATA 216,104,104,133,204,104,133,
   203,104,104,133,205,160,0,177,203,201,
   61,246,11,56,233,1,145,203
KU 1110 DATA 200,196,205,208,240,96,169,3
   3,240,244,208,242
DZ 1199 REM ********* E$ DATA *********
HZ 1200 DATA 104,104,104,141,254,6,104,10
   4,141,255,6,165,88,133,203,165,89,133,
   204,162,0,236,255,6,240
NC 1210 DATA 18,165,203,24,105,40,133,203
   ,165,204,105,0,133,204,232,240,235,208
   ,233,169,0,170,160,39,145
HW 1220 DATA 203,136,16,251,232,236,254,6
   ,240,17,165,203,24,105,40,133,203,165,
   204,105,6,133 204,169,0,240,226,96
JL 1299 REM ********* L$ DATA *********
YL 1300 DATA 104,104,104,141,255,6,104,13
   3,204,104,133,203,160,0,177,203,201,32
   ,240,8,200,204,255,6,208
QM 1310 DATA 244,160,0,132,212,169,0,133,
   213,96


Listing 2: Basic
Blue indicates inverse video

JI 0 REM * BY CLAYTON WALNUM *

         * REVISED 7/22/88   *
OZ 1 N11=11:N12=12:N13=13:N14=14:N15=15:N
   16=16:N17=17:N18=18:N19=19:N20=20:N100
   0=1000:N6760=6760
WY 2 N1=1:N2=2:N3=3:N4=4:N5=5:N6=6:N7=7:N
   8=8:N9=9:N10=10:NV=26:NN=59:SZ=19:GOTO
    5200
SQ 3 A=USR(ADR(D$),ADR(A$),LEN(A$)):RETUR
   N
JV 4 GOSUB N3:? A$:GOSUB N11:AS="":RETURN
JY 5 CL=N0:FOR X=N1 TO N10:CL=CL+CL(X):NE
   XT X:RETURN
HN 8 FOR X=255 TO N0 STEP -0.5:SOUND N0,X
   ,N10,N8:NEXT X:FOR X=N16 TO N0 STEP -0
   .1:SOUND N0,100,N8,X:NEXT X:RETURN
QY 9 FOR X=N1 TO 1500:NEXT X:RETURN
JI 10 A=USR(ADR(E$),N5,C):POSITION N2,C:R
   ETURN
ZD 11 CLOSE #1:OPEN #N1,N4,N0,"K:":GET #N
   1,A:CLOSE #N1:RETURN
EY 12 ? "I don't understand.":GOTO 1000
BY 40 A=USR(ADR(E$),N1,N1):POSITION N2,N1
OX 45 N=N0:S=N0:E=N0:W=N0:U=N0:D=N0:GOSUB
    R*N10:POSITION N2,N1:GOSUB N3:? #6;A$
   :A$="":RETURN
VO 50 A$="Po!b!cfbdi":I(41)=-N5:RETURN
EU 51 A$="Uif!tmbwfst!bsf!bggspbdijoh!gbt
   u!!!!!!gspn!uif!xftu=↓":E=N7:RETURN
ZD 70 A$="Jo!uif!gpsftu":E=N8:N=N12:I(41)
   =-R:I(24)=-R:RETURN
BN 80 A$="Cfhjoojoh!pg!b!spbe":N=N9:E=N13
   :W=N7:RETURN
DE 90 A$="Jo!uif!gpsftu":N=80:S=N8:W=N12:
   1(24)=-R:RETURN
NZ 120 A$="Jo!b!dmfbsjoh":E=N9:S=N7:N=79:
   RETURN
MR 130 A$="Po!b!mpoh!spbe":W=N8:E=N15:RET
   URN
EC 131 A$="Jo!uif!ejtubodf!zpv!tff!tpnfpo
   f!hbm.!!mpgjoh!bxbz!po!b!cspxo!ipstf/
   ":GOSUB N4:RETURN
ZU 150 A$="Ojnsbm(t!Hsbdft(!gspou!hbuf":W
   =N13:RETURN
IW 160 A$="Jo!b!dpvsuzbse":N=21:E=25:S=N1
   7:CY=N1:RETURN
KD 161 A$="B!nbo!tufgt!gpsxbse/!!Tibmb!tb
   zt-!!!!!(Epmops-!nz!cfuspuife-!xiz!bsf
   !zpv!!!!ifsf!jo!Ojnsbm(t!Hsbdfe@("
UC 162 GOSUB N4:A$="Epmops!ublft!Tibmb!jo
   !ijt!bsnt!boe!!!!tbzt-!(Tibmb-!nz!mpwf
   -!uibol!Ojnsbm!!!zpv!bsf!tbgf=("
KO 163 GOSUB N4:A$="(Xifo!J!ifbse!pg!zpvs
   !dbquvsf!J!dbnf!!up!pggfs!nz!tfswjdft!
   up!zpvs!gbuifs-!!uif!ljoh/("
VT 164 GOSUB N4:A$="(Dpnf-!Tibmb-lzpvslgb
   njmz!bxbjut!zpv/(Epnopsimpplt!bu!zpv/!
   (Xbssjps-!zpv!!!!xjmm!cf!sfxbsefe=("
HJ 165 GOSUB N4:A$="(Hvbset=!!Tipx!PVS!hv
   ftu!Up!ijt!!!!!!!!rvbsufst/("
MR 166 GOSUB N4:A$="":R=39:UL=N1:UI=N1:EN
   T=N1:I(N5)=-43:I(N7)=-76:GOTO N1000
LR 170 A$="Po!b!tusffu":N=N16:RETURN
VR 210 A$="Po!b!tusffu":W=22:N=23:S=N16:R
   ETURN
VL 220 A$="Cftjef!uif!djuz!xbmm":N=24:E=2
   1:I(49)=-R:RETURN
JA 230 A$="Po!b!tusffu":W=24:S=21:RETURN
SK 240 A$="Cftjef!uif!djuz!xbmm":E=23:S=2
   2:CY=N1:I(49)=-R:RETURN
RC 250 A$="BU!uif!gbmbdf!hbuf":W=N16:E=27
   :RETURN
KY 270 A$="Jo!b!ibmm":W=25:U=38:N=28:D=49
   :E=30:I(25)=-R:RETURN
BX 280 A$="Jo!uif!Qfbdflffgfst!pggjdf":S=
   27:RETURN
BM 290 A$="Jo!b!kbjm!dfmm":RETURN
JV 300 A$="Jo!b!ibnm":W=27:N=31:E=33:S=32
   :RETURN
OL 310 A$="Jo!uif!hvbse!sppn":S=30:RETURN
BB 320 A$="Jo!uif!spzbm!ejojoh!sppn":N=30
   :RETURN
NN 330 A$="Jo!b!ibmm":W=30:N=34:S=35:U=44
   :I(25)=-R:RETURN
NQ 340 A$="Jo!uif!uispof!sppn":S=33:RETUR
   N
DZ 350 A$="Jo!uif!tvggmz!sppn":N=33:RETUR
   N
AO 380 A$="Jo!b!ibmm":N=39:S=40:D=27:E=41
   :I(25)=-R:RETURN
JU 390 A$="Zpvs!rvbsufst":5=38:RETURN
JI 391 A$="B!tfswbou!foufst!uif!sppn!xjui
   !b!!!!!!ubolbse!pg!xjof/!!(Dpvsuftz!Pg
   !uif!!!!ljoh-!nz!Mpse/(":GOSUB N4
PX 392 RM=NI:RETURN
NB 400 4$="Jo!Ojlojl!uif!Kftups(t!rvbsufs
   t":N=38:RETURN
TE 410 A$="Jo!b!ibmm":W=38:N=42:E=44:S=43
   :RETURN
CO 420 A$="Jo!Epnops(t!rvbsufst":S=41:RET
   URN
ZW 430 A$="Jo!Tibmbtt!rvbsufst":N=41:SH=N
   1:RETURN
XW 440 A$="Jo!b!ibmm":W=41:N=45:D=33:S=46
   :I(25)=-R:RETURN
AQ 450 A$="JO!Epnojt!uif!Bewjtps(t!rvbsuf
   st":S=44:RETURN
FV 460 A$="JO!uif!ljoh(t!rvbsufst":N=44:R
   ETURN
PG 490 A$="Jo!b!ibmm":N=52:E=50:U=27:RETU
   RN
UE 500 A$="Jo!b!ibmm":W=49:N=53:E=54:RETU
   RN
IL 520 A$="Jo!uif!difnjtu(t!mbc":S=49:RET
   URN
QJ 530 A$="Jo!uif!rvffo(t!rvbsufst":S=50:
   RETURN
PM 540 A$="Jo!uif!mjcsbsz":W=50:RETURN
WR 650 A$="Jo!uif!dbubdpnct":W=34:N=65:E=
   66:S=65:RETURN
TS 660 A$="Jo!uif!dbubdpnct":W=66:S=65:E=
   65:N=71:RETURN
GP 710 A$="Jo!b!ebsl!ufngmf":N=72:S=66:RE
   TURN
BK 720 A$="Jo!b!tupsbhf!sppn":S=71:RETURN
HG 730 A$="Jo!uif!pggjdf!pg!bojnbm!sfhjtu
   sz":E=N17:RETURN
UC 740 A$="Bu!uif!tipfnblfs(t":W=23:RETUR
   N
VG 750 A$="Bu!uif!gbxo!tipq":W=21:RETURN
MI 760 A$="Bu!uif!tubcmft":W=N17:RETURN
WM 770 A$="Jo!b!tnbmm!dibgfm":S=23:RETURN
UR 780 A$="Jo!b!ebsl!uvoofm":E=24:CY=N0:R
   ETURN
IF 790 A$="Jo!b!nfbepx":S=N12:E=80:RETURN
QY 800 A$="Jo!b!nfbepx":W=79:S=N9:RETURN
IA 810 A$="Jo!b!ufou":W=N8:RETURN
KD 900 RESTORE 6120:FOR X=N1 TO NN:READ A
   $,A:Q=SZ-LEN(A$):I$(X*SZ-(SZ-N1),X*SZ-
   Q)=A$:I(X)=A:NEXT X
YN 905 RESTORE 6100:FOR X=N1 TO NV:READ A
   :V(X)=A:NEXT X
QT 925 GOTO 6280
TX 950 C=N5:GOSUB N10
SB 951 FOR X=N1 TO NN:IF ABS(I(X))=R THEN
    ? #N6;I$(X*SZ-SZ+N1,X*SZ):IT=N1
NQ 953 NEXT X:IF IT=N0 THEN ? #N6;"Nothin
   g"
AB 954 RETURN
HI 960 A=USR(ADR(E$),N1,N11):POSITION N2,
   N11:IF N+S+E+W+D+U=NB THEN ? #N6;"None
   ":RETURN
BF 962 IF N>N0 THEN ? #N6;"North ";
KU 963 IF S>N0 THEN ? #N6;"5outh ";
LA 964 IF E>N0 THEN ? #N6;"East ";
LZ 965 IF W>N0 THEN ? #N6;"West ";
YD 966 IF U>N0 THEN ? #N6;"Up ";
DY 967 IF D>N0 THEN ? #N6;"Down"
ZT 970 RETURN
JW 980 C=N14:GOSUB N10
UL 981 FOR X=N1 TO NN:IF I(X)=-N1 THEN ?
   #N6;I$(X*SZ-SZ+N1,X*SZ):INV=N1:NEXT X:
   RETURN
AN 982 NEXT X:IF INV=N0 THEN ? #N6;"Nothi
   ng"
AE 983 RETURN
MA 1000 IF LEN(A$)>N0 THEN A=USR(ADR(D$),
   ADR(A$),LEN(A$)):? A$:A$=""
KV 1020 IF UL THEN GOSUB 46:GOSUB 950:GOS
   UB 960
VF 1040 IF US THEN GOSUB 950
OP 1060 IF UD THEN GOSUB 960
UP 1080 IF UI THEN GOSUB 980
FI 1100 IT=N0:INV=N0:UL=N0:US=N0:UD=N0:UI
   =N0
QB 1120 IF R=N16 AND  NOT ENT THEN GOSUB
   N11:GOTO 161:A$=""
ET 1130 IF R=46 AND DY>N0 THEN A$="Hvbset
   =!Bssftu!uijt!nbo=":GOTO 6600
PY 1140 IF DD THEN GOSUB N9:GOTO 7240
JU 1160 IF R=39 AND NOT RM THEN GOSUB 39
   1:A$=""
BC 1165 IF R=N13 AND  NOT SE THEN GOSUB 1
   31:SE=N1
AE 1166 IF R=42 AND DY>N0 AND I(46)=-R TH
   EN GOTO 4606
ZD 1167 IF DY>N0 AND I(46)=-R THEN I(46)=
   N0
BN 1180 IF TURN/100=INT(TURN/100) THEN GO
   SUB 6500
EW 1200 IF R=43 AND DY>N0 THEN GOTO 6560
TK 1210 IF R=43 AND I(N18)=-40 THEN I(N18
   )=-41
OU 1211 IF R<>41 OR I(55)=-N1 OR I(N18)<>
   -R OR NK<>N0 THEN 1213
OW 1212 A$="Ojlojl!gmvohft!b!lojgf!jo!zpv
   s!diftu=":GOSUB N4:GOTO 7240
SM 1213 IF R=41 AND I(N18)=-R AND NK=N0 T
   HEN A$="Ojlojl!tubct!zpv-!cvu!uif!dibj
   o!nbjm!!tbwft!zpv=":NK=N1:GOTO N1000
PT 1214 IF SH AND I(36)<>-N2 AND DY>N0 TH
   EN X=RND(N0):IF X>0.9 THEN 6741
JE 1215 IF R<>41 AND NK THEN I(N18)=-40
ZI 1220 IF R=29 THEN CNT=CNT+N1:IF CNT=N5
    THEN 6640
HH 1230 IF R=N5 AND TURN=N8 THEN 6744
GM 1240 TRAP 1240:POSITION N1,N15:? :? "C
   ommand";:POKE 752,N0
JU 1260 SOUND N0,N20,N10,N8:FOR X=N1 TO N
   10:NEXT X:SOUND N0,N0,N0,N0:INPUT IN$:
   POKE 752,N1
HO 1280 TURN=TURN+N1:IF TURN>200 AND CY A
   ND NOT RG THEN RG=N1:GOTO 6720
IJ 1300 IF R=N8 AND IN$="E" AND I(N7)<>-N
   1 THEN A$="Ju(t!upp!gbs!up!xbml/":GOTO
    N1000
IP 1340 IF R=N12 AND IN$="PRAY" THEN 5060
SW 1360 IF I(N16)<>-N1 OR IN$<>"W" OR R<>
   74 THEN 1400
UR 1380 A$="Uif!tipfnblfs!tdsfbnt-!(Tupq-
   !uifjg=!!Uibu(t!nz!cppl=(":UI=N1:I(N1
   0)=N0:GOTO 6600
OJ 1400 IF 1(33)<>-N1 OR IN$<>"E" THEN 14
   60
VI 1420 A$="(Tupq-!uijfg=!!Uibu!cppl!jt!!
   !!!!!!!!!hpwfsonfou!gspgfsuz=(":I(33)
   =N0:UI=N1:GOTO 6600
SE 1460 L=LEN(IN$):IF L=N1 THEN V$=IN$:GO
   TO 1820
CV 1480 A=USR(ADR(L$),L,ADR(IN$)):IF A=N0
    THEN GOTO N12
ML 1500 V$=IN$(N1,A):N$=INS(A+N2,LEN(IN$)
   )
EM 1520 IF V$="SAVE" THEN 7060
YU 1540 IF V$="LOAD" THEN 6820
XB 1560 IF LEN(V$)<N2 OR LEN(N$)CN3 THEN
   GOTO N12
FI 1580 IF LEN(V$)=N2 THEN V$(N3)="  "
PD 1600 IF LEN(V$)=N3 THEN V$(N4)=" "
DO 1610 IF LEN(N$)=N3 THEN N$(N4)=" "
XA 1620 Y=USR(ADR(CC$),ADR(N$),ADR(NN$),L
   EN(NN$))
SS 1640 Z=USR(ADR(CC$),ADR(V$),ADR(VB$),L
   EN(VB$))
NP 1660 IF N$="PAGE" AND Z=25 THEN 1740
LE 1680 IF N$(N1,N4)="HORS" OR N$="BOOK"
   THEN ? "Refer to it by color.":GOTO N1
   000
BS 1685 IF N$="DOOR" THEN ? "Which one?":
   GOTO N1800
DE 1700 IF Z=N15 AND N$(N1,N4)="FORE" THE
   N 1740
HQ 1720 IF Y=N0 OR Z=N0 THEN GOTO N12
ZD 1740 Z=V(Z)
KY 1760 IF Z>N16 THEN Z=Z-N16:GOTO 1800
JM 1780 ON Z GOSUB 2020,2540,2730,2900,29
   61,3020,3080,3205,3245,3300,3380,3580,
   3700,3980,4160,4220
IM 1800 ON Z GOSUB 4601,4681,4740,4780,48
   40,4980
PD 1820 IF V$="N" AND N>N0 THEN R=N:GOTO
   1960
BW 1840 IF V$="S" AND S>N0 THEN R=S:GOTO
   1960
TC 1860 IF V$="E" AND E>N0 THEN R=E:GOTO
   1960
MI 1880 IF V$="W" AND W>N0 THEN R=W:GOTO
   1960
GM 1900 IF V$="U" AND U>N0 THEN R=U:GOTO
   1960
OF 1920 IF V$="D" AND D>N0 THEN R=D:GOTO
   1960
EL 1940 ? "NO SUCH DIRECTION!":GOTO N100
   0
NT 1960 UL=N1:GOTO N1000
FU 2020 IF R=N12 AND Y=N4 THEN A$="Uifsf(
   t!b!gmbrvf!po!ju/":I(43)=-R:US=N1:GOTO
   N1000
KK 2040 IF R=N12 AND Y=43 THEN A$="Uifsf(
   t!xsjujoh!po!ju/":GOTO 1000
LA 2060 IF R=N9 AND Y=29 THEN I(N3)=-R:US
   =N1:A$="Gppugsjout=":GOTO N1000
WB 2080 IF R=N9 AND Y=3 THEN A$="Uifz(sf!
   bcpvu!tjf!21/":CL(N8)=N1:GOTO N1000
BP 2100 IF R=24 AND N$(N1,N3)="GRO" AND I
   (35)=N0 THEN A$="Uif!hspvoe!mpplt!ejtu
   vscfe/":GOTO N1000
XA 2160 IF R=N5 AND Y=42 THEN A$="Uifz!mp
   pl!bxgvmmz!nfbo=":GOTO N1000
XL 2180 IF R=N5 AND Y=41 THEN A$="Zpv!tff
   !uif!gpsftu!uispvhi!uif!gmbnft":GOTO N
   1000
IF 2200 IF R=N5 AND Y=28 THEN AS="Uif!xbu
   fs!mpplt!dpme=":GOTO N1000
CP 2220 IF (I(Y)=R OR I(Y)=-N1) AND Y=N5
   THEN A$="Tif(t!cfbvujgvm=":GOTO N1000
SM 2240 IF R=43 AND Y=N5 THEN A$="Tif!mpp
   lt!ibggz!up!tff!zpv=":GOTO N1000
YS 2260 IF R=74 AND Y=N10 THEN A$="Uif!dp
   wfs!tbzt;!SPZBM!TJ[FT":GOTO N1800
ON 2280 IF R=76 AND Y=N7 THEN A$="Ju[t!zp
   vst-!evnnz=":GOTO N1000
UW 2300 IF R=76 AND Y=26 THEN A$="Ju(t!xf
   bsjoh!b!tbeemf/":I(37)=-R:US=N1:GOTO N
   1000
JN 2320 IF R=76 AND Y=37 AND I(Y)=-R THEN
    A$="Ju!ibt!uif!obnf!UPQQFS!po!ju/":CL
   (N5)=N1:GOTO N1000
VI 2340 IF (R<>22 AND R<>24) OR Y<>49 THE
   N 2400
PT 2360 AS="Mput!pg!gmpxfst!ifsf/":IF R=2
   4 AND I(35)=N0 THEN A$(LEN(A$)+N1)="!!
   Gvooz-!uif!!!!!ejsu!tffnt!ejtuvscfe/"
CE 2380 GOTO N1000
SM 2400 IF R=73 AND Y=38 AND I(33)=N0 THE
   N A$="If(t!ipmejoh!b!tjnwfs!cppl/":GOT
   O N1000
YH 2420 IF I(Y)=-N1 AND Y=33 AND SIL=N0 T
   HEN A$="Uif!dpwfs!tbzt;!Spzbm!Bojnbmt"
   :GOTO N1000
XY 2440 IF R=77 AND Y=44 THEN A$="If!mppl
   t!b!cju!tjojtufs/":GOTO N1000
LN 2460 IF R=42 AND DY>N0 AND (Y=N2 OR Y=
   21) THEN A$="(Uibu(t!gsjwbuf!qspqfsuz=
   !!Hvbset=(":GOTO 6600
PW 2480 IF R=42 AND Y=N19 AND DY>N0 THEN
   A$="If(t!xbudijoh!zpv!xbsjmz/":GOTO N1
   000
XU 2481 IF R<>42 OR Y<>46 OR I(Y)<>-R THE
   N 2483
DJ 2482 A$="Uifsf(t!uif!xpse!EBSLOFTT!cfm
   px!uif!!!gjhvsf!pg!Hpmhpmpui/":CL(N1)=
   N1:GOTO N1000
ZQ 2483 IF Y=22 AND I(Y)=-N1 THEN A$="Uif
   !dpwfs!tbzt;!QSJFTUT!PG!HPMHPMPUI":CL(
   N9)=N1:GOTO N1000
GB 2485 IF Y=N2 AND I(N2)=-N1 THEN A$="Ui
   fsf(t!b!tubs!tibgf!gsfttfe!joup!!!!!ui
   f!wfmwfu/":CL(N2)=N1:GOTO N1000
NG 2486 IF Y=N1 AND I(Y)=-N1 THEN A$="ju(
   t!jo!uif!tibgf!pg!b!tubs/":CL(N10)=N1:
   GOTO N1000
KL 2500 ? "You see nothing of interest.":
   GOTO N1000
LM 2540 IF I(Y)=-R THEN ? "YOU CAN'T GET
   THAT!":GOTO N1000
SN 2560 IF I(Y)=-N1 THEN ? "YOU ALREADY H
   AVE IT!":GOTO 1100
VI 2600 IF ABS(I(Y))<>R THEN ? "I DON'T S
   EE A(N) '";N$;"'":GOTO 1100
LC 2610 IF R=42 AND DY>N0 AND (Y=N2 OR Y=
   21) THEN A$="(Uibu(t!gsjwbuf!qspqfsuz=
   !!Hvbset=(":GOTO 6600
ZP 2620 LOCATE N2,N18,A:IF A<>32 THEN ? "
   YOU CAN'T CARRY ANYMORE!":GOTO N1000
RI 2660 ? "Okay↑":I(Y)=-N1:US=N1:UI=N1:GO
   TO 1000
LL 2680 GOTO N6760
JP 2730 IF R<>41 OR I(N18)<>-41 OR Y<>36
   OR I(36)<>-N1 THEN 2740
US 2731 A$="If!ublft!uif!hpme-!gspnjtft!o
   pu!up!!!!nfoujpo!zpv!xfsf!jo!Tibnb(t!s
   ppn/":I(36)=-N2:UI=N1:GOTO N1000
OP 2740 LOCATE N2,N8,A:IF A<>32 THEN ? "T
   HERE'S NO MORE ROOM HERE!":? :GOTO 110
   0
SX 2760 IF I(Y)<>-N1 THEN ? "YOU DON'T HA
   VE IT!":? :GOTO 1100
NJ 2780 IF R<>73 OR I(40)<>-N1 THEN 2840
SO 2800 A$="If!ublft!uif!cpuumf-!bctfounj
   oefemz!!!tfuujoh!epxo!uif!cppl/"
MN 2820 I(33)=R:I(40)=N0:US=N1:UI=N1:GOTO
   N1000
IL 2840 ? "Okay":I(Y)=R:US=N1:UI=N1:GOTO
   N1000
LJ 2860 GOTO M6760
SQ 2900 IF Y=N10 AND I(Y)=-N1 AND PG=N0 T
   HEN A$=O$:PG=N1:GOTO N1000
EU 2920 IF SIL=N0 AND Y=33 AND I(Y)=-N1 T
   HEN A$=O$:SIL=N1:GOTO N1000
PY 2921 IF Y=22 AND I(Y)=-N1 AND  NOT NB
   THEN A$=O$:NB=N1:GOTO N1000
DV 2924 IF Y=N14 AND I(Y)=-N1 AND  NOT DI
   A THEN A$=O$:DIA=N1:GOTO N1000
ZJ 2926 IF Y=39 AND I(Y)=-N1 AND  NOT GR
   THEN A$=O$:GR=N1:GOT0 N1000
LF 2940 GOTO N6760
RQ 2961 IF R=34 AND Y=53 AND I(N12)=-N1 A
   ND I(Y)=-R AND  NOT UNL THEN A$="Uif!l
   fz!vompdife!jU/":UNL=N1:GOTO N1000
LR 2980 GOTO N6760
VN 3020 IF Y=45 AND I(Y)=-N1 THEN A$="Tpn
   fuijoh!ubtuft!gvooz!ifsf=":GOTO N1000
KO 3040 GOTO N6760
XU 3080 IF R<>75 OR I(N117<>-N1 OR Y<>N11
    THEN GOTO N6760
CB 3100 A$="If!ublft!zpvs!txpse!boe!mbzt!
   b!hpme!!!gjfdf!po!uif!dpvoufs/"
CO 3120 I(36)=R:US=N1:UI=N1:I(N11)=N0:GOT
   O N1000
KW 3160 GOTO N6760
YW 3205 IF R<>28 THEN 3220
QI 3210 GOSUB N5:IF CL=N10 AND Y=N19 THEN
    GOTO 6780
SE 3215 A$="Zpv!epo(u!ibwf!fopvhi!fwjefod
   f=":GOTO N1000
KM 3220 GOTO N6760
IH 3245 IF Y=45 AND I(45)=-N1 THEN A$="Pv
   u!uif!xjoepx///":I(45)=N0:I(57)=-N1:UI
   =N1:GOTO N1000
KY 3260 GOTO N6760
XZ 3300 IF R=43 AND Y=N5 AND KS THEN A$="
   Tif!sfuvsot!zpvs!ljttft!xjui!hsfbufs!!
   gbttjpo/":GOTO N1000
UU 3320 IF R=43 AND Y=N5 THEN A$="Tif(t!b
   !mjuumf!tvsgsjtfe-!cvu!sfuvsot!zpvs!lj
   tt/":KS=N1:GOTO N1000
KU 3340 GOTO N6760
YY 3380 IF R<>31 OR (Y<>51 AND Y<>NS) THE
   N 3540
SI 3400 IF CT+N20>TURN OR GD=N4 THEN A$="
   Uifz!tbx!zpv!boe!tupgqfe!ubmljoh/":GOT
   O N1000
UZ 3415 GD=GD+N1:IF GD>N3 THEN GD=N1
EK 3420 CT=TURN:IF GD=N1 THEN A$="(Op!pof
   !xjmn!cf!hVbsejoh!Uif!gsjodftt(!rvbsuf
   st!upojhiu/("
AB 3440 IF GD=N2 THEN A$="(Uif!sfhjtusbs!
   sfbmmz!npwft!ijt!bnf/("
XO 3460 IF GD=N3 THEN A$="(J!ifbs!Ojlojl!
   sftgpoet!xfmm!up!uif!!!!gspnjtf!pg!hpn
   e/("
BL 3500 GOTO N1000
KY 3540 GOTO N6760
XN 3580 IF I(N13)<>-N1 OR N$(N1,N4)<>"FOR
   E" THEN 3620
UA 3600 AS="Zpv!gvu!b!cnbdl!epu!po!zpvs!g
   psfifbe/":PT=N1:GOTO N1000
KU 3620 GOTO N6760
EE 3700 IF R<>N12 OR Y<>43 THEN 3740
KT 3720 A$="Qsbzfs!boe!hppe!effet!bsf!uif
   !!!!!!!!!tjodfsftu!gpsn!p9!xpstijq/":G
   OTO N1000
DY 3740 IF R=N8 AND Y=N6 THEN A$="OJNSBM(
   T!HSBDF!..!31!MFBHVFT":GOTO N1000
SW 3760 IF I(N10)<>-N1 OR Y<>N10 THEN 382
   0
ZL 3780 IF PG=N1 THEN A$="LJOH!....... !tj
   f!23!!!!!!!!!!!!!!!!!!RVffo!...... !tj
   f!9":GOTO N1000
OM 3800 IF PG=N2 THEN A$="Epnops!..... !tj
   f!21!!!!!!!!!!!!!!!!!!Ojlojl!..... !tj
   f!21":CL(N3)=N1:GOTO N1000
JE 3820 IF R=N16 AND Y=47 THEN A$="Ju!tbz
   t;!Bmm!bojnbmt!nvtu!cf!!!!!!!!!!sfhjtu
   fsfe!jnnfejbufmz=":GOTO N1000
TC 3840 IF Y=23 AND I(23)=-N1 THEN A$="Xb
   udi!gps!TMBWF!JJJ;!UIF!HPET!!!!!!!!!UI
   FNTFMWFT/":GOTO N1000
KB 3860 IF Y<>33 OR I(Y)<>-N1 OR SIL=N0 T
   HEN 3920
ZH 3880 AS="Cpxxpx/////////////Ljoh(t!eph
   !!!!!!!!!Upgqfs/////////////Epnops(t!i
   pstf!!!!!":CL(N6)=N1
VP 3900 A$(LEN(A$)+N1)="DbUOjq///////////
   //Rvffo(t!gbsblffu":GOSUB N3:? A$:A$=
   "":GOSUB N11:GOTO N1000
EC 3920 IF Y=22 AND I(Y)=-N1 AND NB THEN
   A$="Hfgofu!!!!!!!Cpccfm!!!!!!!epmops":
   CL(N7)=N1:GOTO N1000
UD 3922 IF Y<>N14 OR I(Y)<>-N1 OR  NOT DI
   A THEN 3928
KR 3924 AS="J!uijol!uif!ljoh!ibt!nfbsofe!
   uibu!!!!!tibmb!jt!opu!usvnz!ijt!ebvhiu
   fs/!J!!!!gfbs!gps!ifs!njgf-"
HL 3925 A$(LEN(A$)+N1)="!bt!xfnn!bt!nz!px
   o/↓":GOTO N1000
BJ 3928 IF Y<>39 OR I(Y)<>-N1 OR  NOT GR
   THEN 3931
UW 3929 A$="B!cmbdl!epu!po!uif!gpsfifbe!j
   t!gsf.!!!rvfounz!vtfe!cz!uif!gpmnpxfst
   !pg!!!!!!Hpnhpmpui!up"
IS 3930 A$(LEN(A$)+N1)="!jefoujgz!fbdi!pu
   ifs/i":GOTO N1000
AM 3931 IF Y=N15 AND I(Y)=-N1 THEN A$="Ui
   f!rvffo!ibt!cfusbzfe!nf/!!J!xjmm!!!!ib
   wf!nz!sfwfohf=":GOTO N1000
LG 3940 GOTO N6760
IV 3980 IF R<>N5 OR Y<>28 THEN 4020
UJ 4000 A$="Uif!xbufs(t!tp!dpne!zpv!kvnq!
   sjhiu!!!!pvu=!!Zpv!boe!Tibmb!bsf!tpblf
   e=":WT=N1:GOTO N1000
AW 4020 IF R<>N5 OR Y<>41 OR  NOT WT THEN
    4060
AX 4040 A$="Uif!xbufs!ifngfe!zpv!hfu!uisp
   vhi=!)B!!mjuunf!tjohfe-!uipvhi/*":R=N7
   :UL=N1:GOTO 1000
GT 4060 IF (R=N7 AND Y=41) OR (R=N5 AND Y
   =41 AND  NOT WT) THEN A$="Zpv(wf!cffo!
   cbscfdvfe=":GOSUB N4:GOTO 7240
RU 4100 IF R=24 AND Y=35 AND I(Y)=-R THEN
    A$="Plbz=":R=78:UL=N1:GOTO N1000
KH 4102 IF R=34 AND Y=53 AND  NOT UNL THE
   N A$="Ju(t!mpdlfe/":GOTO N1000
VN 4104 IF R=34 AND Y=53 AND UNL THEN R=6
   5:UL=N1:GOTO N1000
PN 4105 IF (R=23 OR R=21) AND (Y=50 OR Y=
   N9 OR Y=30 OR Y=31) AND DY<N0 THEN A$=
   "Ju(t!dmptfe!gps!uif!ojhiu/":GOTO 1000
II 4106 IF R=N17 AND (Y=32 OR Y=52) AND D
   Y<N0 THEN A$="Ju(t!dmPtfe!9ps!uif!ojhi
   u/":GOTO N1000
BU 4110 IF R=23 AND Y=50 THEN R=77:UL=N1:
   GOTO N1000
ZY 4111 IF R=23 AND (Y=N9 OR Y=30) THEN R
   =74:UL=N1:GOTO N1000
YM 4112 IF R=21 AND (Y=30 OR Y=31) THEN R
   =75:UL=N1:GOTO N1000
VE 4113 IF R=N17 AND Y=32 THEN R=76:UL=N1
   :GOTO N1000
TG 4114 IF R=N17 AND Y=52 THEN R=73:UL=N1
   :GOTO N1000
NQ 4115 IF R=39 AND Y=54 THEN A$="Zpv!tnf
   fq!b!npoh!ujnf-!uifo!xblf/":GOSUB N4:
   GOSUB 6500:A$="":GOTO N1000
SH 4117 IF R=N8 AND Y=59 THEN R=81:UL=N1:
   GOTO N1000
KL 4120 GOTO N6760
FD 4160 IF Y=45 AND I(Y)=-N1 THEN A$="Xib
   u(t!uibu!bxgvm!ubtuf@!!Zpv(wf!cffo!gpj
   tpofe=":GOSUB N4:GOTO 7240
LD 4180 GOTO M6760
PZ 4220 IF R=N15 AND I(NS)<>-N1 AND Y=N8
   THEN A$="Hfu!nptu-!tusbohfs=":GOTO N10
   00
LG 4240 IF R=N15 AND I(N5)=-N1 AND Y=N8 T
   HEN A$="Zpv!ibwf!uif!gsjodftt=!!Dpnf!j
   o=":UL=N1:R=N16:GOTO N1000
OS 4260 IF (R=75 AND Y=48) OR (R=73 AND Y
   =38) OR (R=28 AND Y=27) OR (R=74 AND Y
   =N9) THEN A$="(Zft@(":GOTO N1000
BO 4280 IF R<>77 OR Y<>44 THEN 4420
EM 4300 IF I(N12)<>N0 THEN A$="(Zpv!nvtu!
   hp!opx-!cspuifs/(":GOTO N1000
XQ 4320 IF PT=N0 THEN A$="If!ufmmt!zpv!up
   !hfulnptu=":GOTO N1000
GA 4340 A$="(Xibu(t!uif!gbttxpse-!cspuifs
   @(":GOSUB N3:? A$:A$="":INPUT PW$
WG 4360 IF PW$="DARKNESS" THEN A$="(Ifsf(
   t!uif!lfz-!cspuifs/(":US=N1:I(N12)=R:G
   OTO N1000
BZ 4380 A$="If!hsbct!b!txpse!boe!svot!!!!
   !!!!!!!!!zpv!uispvhi=":GOSUB N4:GOTO
   7240
AQ 4420 IF R<>43 OR Y<>N5 THEN 4480
ZB 4440 IF KS THEN A$="(Tpnfuijoh!tffnt!u
   p!cf!cpuifsjoh!!!!!!Epmops/!!If(t!cffo
   lbwpjejoh!nf/(":CL(N3)=N1:GOTO N1000
OR 4460 A$="Tif!tbzt-!(J!bn!gnfbtfe!zpv!i
   bwf!dpnf!up!wjtju!nf!upojhiu/(":GOTO N
   1000
GX 4480 IF R=45 AND Y=N20 AND DY>N0 THEN
   A$="(Uif!ljoh!upme!nf!up!lffq!bo!fzf!p
   o!!!!zpv///(":GOTO N1000
FC 4482 IF R=41 AND Y=N18 AND I(Y)=-R THE
   N A$="(J!ifbse!b!opjtf!boe!dbnf!up!efg
   foe!!!uif!gsjodftt/(":GOTO N1000
MO 4484 IF (R=42 AND Y=N19 AND DY>N0) OR
   (R=40 AND Y=N18) THEN A$="If(t!hpu!opu
   ijoh!up!tbz/":GOTO N1000
KN 4500 GOTO N6760
TL 4601 IF R=34 AND Y=N16 AND I(53)=N0 TH
   EN A$="Uifsf(t!b!epps!cfijoe!ju=":1(53
   )=-R:US=N1:GOTO N1000
IQ 4604 IF R<>42 OR Y<>21 OR I(46)<>N0 TH
   EN 4620
EL 4605 IF DY<N0 THEN A$="Uifsf(t!tpnfuij
   oh!cfijoe!ju=":I(46)=-R:US=N1:GOTO N10
   00
FI 4606 A$="Epmops!zfmmt-!(Hvbset=!!Bssft
   u!!!!!!!!uijt!nbo=(":GOTO 6600
KV 4620 GOTO N6760
LM 4670 IF (R=40 AND Y=N18 AND I(Y)=-R) O
   R (R=46 AND Y=N17) OR (R=42 AND Y=N19)
    THEN A$="If!tbZt!opui oh/":GOTO N1000
OW 4681 IF Y<>57 OR I(Y)<>-N1 OR I(56)<>-
   N1 THEN GOTO N6760
SS
4682 A$="Tpnf!gsjout!nbudi!b!tfu!jo!ui
   f!lju/!!!!Uifz(sf!Epmops(t/":CL(N4)=N1
   :GOTO N1000
KR 4700 GOTO N6760
ZF 4740 IF (R=N6 OR R=N7) AND Y=24 THEN A
   $="Uif!usfft!bsf!upp!cvsofe/":GOTO N10
   00
LX 4745 GOTO N6760
JE 4780 IF I(35)=N0 AND R=24 AND Y=49 AND
    I(34)=-N1 THEN A$="Zpv!vodpwfsfe!b!us
   bq!epps=":I(35)=-R:US=N1:GOTO N1000
KT 4800 GOTO N6760
RR 4840 IF I(N18)<>-N1 OR N$<>"PAGE" THEN
    GOTO N6760
SP 4860 IF PG>N0 THEN A$="Plbz-!qbhf!jt!u
   vsofe/" PG=PG+N1:IF PG<N3 THEN GOTO N1

   000
EQ 4880 IF PG=N3 THEN PG=N0:A$(LEN(A$)+N1
   )="!Zpv!dmptfe!uif!!cppl/":GOTO N1000
LH 4940 GOTO N6760
UD 4980 IF R<>73 OR Y<>N7 THEN 5020
JR 5000 A$="Uif!nbo!btlt!uif!ipstflt!obnf
   !boe!!!!!Uifo!nbslt!ju!jo!b!cppl/":RG=
   N1:GOTO N1000
KK 5020 GOTO N6760
NK 5060 IF I(N7) THEN ? "Nothing happens.
   ":GOTO N1000
FR 5080 FOR X=N1 TO 175:SOUND N0,X,N8,N6:
   SOUND N1,X+N2,N8,N6:SETCOLOR N2,N0,14:
   SETCOLOR N2,N0,N0:NEXT X
RU 5100 SOUND N0,N0,N0,N0:SOUND N1,N0,N0,
   N0:POKE 710,N8
PF 5120 ? "A Voice says, ";CHR$(34);"Ask
   and receive";CHR$(34);"."
RY 5140 ? :? "ONE WORD:";:INPUT C$
NO 5160 IF C$="HORSE" THEN ? :? "Granted!
   ":I(N7)=R:U5=N1:GOT0 N1000
TK 5180 ? "You have no need for that!":GO
   TO N1000
PY 5200 GRAPHICS N18:POSITION N5,N2:POKE
   712,N14:? #N6;"SLAVE II":POSITION N3,
   N4:? #N6;"NIMRAL'S GRACE"
YN 5220 FOR Y=N1 TO N4:FOR X=N14 TO N0 ST
   EP -0.45:POKE 712,X:SOUND N0,N20,X,N8:
   NEXT X:NEXT Y
DH 5230 POSITION N1,N10:? #N6;"BY ClaYTon
    WAlnuM"
UT 5240 SOUND N0,N0,N0,N0:GOSUB 5740
FL 5260 GOSUB 5280:GOTO 5340
GF 5280 GRAPHICS N0:POKE 710,48:DL=PEEK(5
   60)+256*PEEK(561)+N4:POKE DL-N1,71:FOR
    X=2 TO 24 STEP N2:POKE DL+X,N6:NEXT X
JX 5300 POKE DL+N19,N6:POKE DL+21,N6:POKE
    DL+23,N6:POKE 82,N0:POKE 752,N1
EE 5320 POSITION N3,N0:? "NIMRAL'S GRACE"
   :POSITION N9,N13:RETURN
GA 5340 POSITION N4,N1:? "The alarms are
   ringing!":POSITION 24,N2:? "You've res
   cued Princess Shala from"
QJ 5360 POSITION 2,4:? "the Slavers of Go
   lgoloth, but you're":POSITION 22,N5:?
   "not safe yet! A host of savage war-"
EQ 5380 POSITION N2,N7:? "riors is crossi
   nq the lake in hot":POSITION 22,N8:? "
   pursuit!"
LE 5400 POSITION 4,10:? "As you drag Shal
   a toward the cover":POSITION 22,11:? "
   of the forest, a cloaked figure steps"
VP 5420 GOSUB 5720:GOSUB 5280
KK 5440 POSITION N2,N1:? "from the trees.
   A survivor from":POSITION 22,N2:? "S
   hala's ambushed caravan? You rush"
AR 5460 POSITION 2,N4:? "forward with joy
   not noticing the":POSITION 22,N5:? "
   odor of oil drifting on the air. The"
HQ 5480 POSITION N2,N7:? "dark figure str
   ikes a match and tos-":POSITION 22,N8:
   ? "ses it into the oil-soaked brush."
QE 5500 POSITION N2,N10:? "As a curtain o
   f flame leaps up, you":POSITION 22,N11
   :? "see the insignia of the city of"
VR 5520 GOSUB 5720:GOSUB 5280
KT 5540 POSITION N2,N1:? "Nimral's Grace
   on the figure's cloak."
UJ 5550 POSITION 22,N2:? "A traitor from
   Shala's home city? You"
WK 5560 POSITION N2,N4:? "realize that th
   e caravan's ambush was"
BD 5570 POSITION 22,N5:? "planned, that s
   omeone wants Shala out"
PG 5580 POSITION N2,N7:? "of the way.":PO
   SITION 24,N8:? "The slavers, worshippe
   rs of foul"
JX 5600 POSITION N2,N10:? "Golgoloth, are
   clamoring into their"
VD 5610 POSITION 22,N11:? "boats.  An inf
   erno blocks your path."
VT 5620 GOSUB 5720:GOSUB 5280
RH 5640 POSITION N4,N1:? "Great Nimral pr
   otect you!":POSITION 24,N2:? "How will
   you escape? Who is the"
BN 5660 POSITION N2,N4:? "cloaked assassi
   n?  Who wants to keep":POSITION 22,N5:
   ? "Shala from her wedding?  Can you"
EA 5680 POSITION N2,N7:? "solve the myste
   ry before the assassin":POSITION 22,N8
   :? "strikes a fatal blow? YOU Must!"
LY 5700 POSITION 23 N11:? " THE ADVENTURE
   'S ONLY JUST BEGUN ":GOSUB 5720:POKE 8
   2,N2:GOTO 5760
DV 5720 POSITION N3,N14:? "press any key"
   :OPEN #N1,N4,N0,"K:":GET #N1,A:CLOSE #
   N1:RETURN
FF 5740 FOR X=N1 TO 260:NEXT X:RETURN
TR 5760 POSITION N3,N14:? " one moment
    "
OM 5780 DIM VB$(NV*N4),I$(NN*SZ),A$(160),
   DT$(N8),H$(N12),IN$(N16),V$(N10),N$(N1
   0),C$(N5),U$(N19),CC$(77),D$(37)
HP 5800 DIM NN$(NN*N4),I(NN),E$(78),CL$(4
   2),V(NV),PW$(N8),L$(35)
DT 5810 DIM OS(N16),CL(N10)
JR 5815 FOR X=N1 TO N10:CL(X)=N0:NEXT X
HM 5900 O$="Plbz-!ju(t!pgfo/"
YW 5960 VB$(N1,80)="EXAMLOOKTAKEGET DROPG
   IVEOPENUNLOTASTPAWNACCUPOURKISSLISTPAI
   NREADGO ENTEDRINTALK"
YB 5980 VB$(81,104)="MOVEFINGCLIMDIG TURN
   REGI"
YI 6000 NN$(N1,92)="AMULBOX FOOTSTATSHALS
   IGNWHITGUARSHOEBLUESWORKEY PAINDIARPAP
   ETHROKINGNIKNDOLNDOMNWARDN0TELETT"
HL 6020 NN$(93,184)="TREESTAIBROWPEACLAKE
   DIRTSHOPPAWNSTABSILVSHOVTRAPGOLDSADDRE
   GIGRAYALE FIRESLAUPLAQPRIEWINEALTA"
DS 6040 NN$(185,236)="PROCATTEGARDCHAPGOS
   SOFFISTEEBED CHAIKIT TANKSOLDTENT"
DZ 6060 I$(N1)=" ":I$(NN*SZ)=" ":I$(N2)=I
   $:GOTO 900
AV 6100 DATA 1,1,2,2,3,3,4,5,6,7,8,9,10,1
   1,12,13,14,14,15,16,17,18,19,20,21,22
JF 6120 DATA AMULET,7,JEWEL BOX,42,FOOTPR
   INT5,0,STATUE OF NIMRAL,-12,PRINCESS S
   HALA,5,SIGN,-8,WHITE HORSE,0
EB 6140 DATA GUARD,-15,SHOEMAKER,-74,BLUE
    BOOK,74,SWORD,-1,KEY,0,BLACK PAINT,35
   ,DIARY,53
UN 6160 DATA PAPER,46,THRONE,-34,KING,-46
   ,NIKNIK THE JESTOR,-40,DOLNOR,-42,DOMN
   IS,-45
AV 6180 DATA WARDROBE,-42,NOTEBOOK,72,LET
   TER,78,TREES,0,STAIR5,0,BROWN HORSE,-7
   6,ROYAL PEACEKEEPER,-28,LAKE,-5
ER 6200 DATA DIRT,-9,SHOEMAKER'S SHOP,-23
   ,PAWN SHOP,-21,ROYAL STABLES,-17,SILVE
   R BOOK,0
YI 6220 DATA SHOVEL,76,TRAP DOOR,0,GOLD P
   IECE,0,SADDLE,0,REGISTRAR,-73,GRAY BOO
   K,54,BOTTLE OF ALE,32
AK 6240 DATA FIRE,0,SLAVERS,-5,PLAQUE,0,P
   RIEST,-77,TANKARD OF WINE,39,ALTAR IN
   WALL,0,PROCLAMATION,-16
PD 6260 DATA SHOP ATTENDANT,-75,GARDEN,0,
   SMALL CHAPEL,-23,GOSSIPING GUARDS,-31,
   SMALL OFFICE,-17,STEEL DOOR,0
JW 6270 DATA BED,-39,CHAIN MAIL,31,FINGER
   PRINT KIT,52,EMPTY TANKARD,0, DEAD 50L
   DIER,-80,TENT,-8
ZL 6280 GRAPHICS N0:POKE 559,N0:POKE 703,
   4:DL=PEEK(560)+256*PEEK(561)+N4:POKE D
   L+N20,130
LY 6300 RESTORE 6320:FOR X=N0 TO N19:READ
   A:POKE 1664+X,A:NEXT X
XJ 6320 DATA 72,138,72,169,192,162,10,141
   ,10,212,141,24,208,142,23,208,104,170,
   104,64
RG 6340 POKE 512,128:POKE 513,N6:POKE 542
   86,192:POKE 709,N0:POKE 710,N8:POKE 71
   2,112:POKE 752,N1
FI 6360 POSITION N1,N0:? #N6;"LOCATION:":
   POSITION N1,N4:? #N6;"YOU SEE:"
UX 6380 POSITION N1,N10:? #N6;"SOME EXITS
   :":POSITION N1,N13:? #N6;"INVENTORY:"
PE 6400 POKE 559,34:IF DY<N0 THEN POKE 70
   9,12:POKE 710,N0
MB 6420 IF FLAG THEN UL=N1:UI=N1:GOTO N10
   00
WK 6440 R=N5:WT=N0:ENT=N0:DD=N0:DY=N1:CNT
   =N0:PT=N0:UNL=N0:NB=N0:DIA=N0:GR=N0:NK
   =N0:SH=N0
HU 6445 CY=N0:SE=N0:RG=N0:PG=N0:SIL=N0:KS
   =N0:CT=N0:GD=N0
IC 6460 TURN=N1:UL=N1:UI=N1:A$=""
NZ 6480 GOTO 1000
FH 6500 DY=-DY:IF DY<N0 THEN POKE 709,N12
   :POKE 710,N0:I$(343,357)="SLEEPING DOL
   NOR":AS="0 hiu!ibt!gbmmfo/"
XH 6505 IF DY<N0 THEN I$(305,317)="SLEEPI
   NG KING":I$(362,376)="SLEEPING DOMNIS"
OL 6520 IF DY>N0 THEN POKE 709,N0:POKE 71
   0,N8:I$(343,357)="DOLNOR         ":A$=
   "Ebzmjhiu!ibt!sfuvsofe/"
ZI 6525 IF DY>N6 THEN I$(305,317)="KING 
          ":I$(362,376)="DOMNIS         "
UH 6540 GOSUB N3:? A$:A$="":RETURN
CO 6560 A$="Uif!hvbset!cvstu!jo=!!Zpv!!ib
   wf!!!!!!!dpngspnjtfe!uif!gsjodftt!cz!c
   fjoh!!!!!dbvhiu!jo!ifs!sppn="
LR 6600 GOSUB N4:A$="ZpvCsf!uispxo!jouplk
   bjm=":GOSUB N3:? A$:AS="":R=29:UL=N1:G
   OTO N1000
BK 6640 A$="Tveefomz-!zpv!tff!tpnfpof!uis
   pvhi!uif!(bst/!!If!uispxt!tpnfuijoh!bu
   !zpv-!boeju!ijut!zpv!jo!uif!ofdl="
HB 6660 GOSUB 6700:A$="Bt!uif!ebsu(t!gpjt
   po!xpslt!jut!xbz!!!!joup!zpvs!tztufn-!
   zpv!sfdphojf!!!!!!!zpvs!buubdlfs/"
KD 6680 GOSUB 6700:A$="(Zpv=(-!zpv!tdsfbn
   /!(Ju!dbo(U!cf!ZPV=(":GOSUB 6700:GOTO
    7240
BQ 6700 GOSUB N4:RETURN
XE 6720 IF R=29 THEN GOTO N1000
AJ 6730 A$="TveefoMz-!hvbset!bggfbs!boe!h
   sbq!zpv-!zfnmjoh!tpnfuijoh!bcpvu!opu!s
   fhjtufs.!joh!zpvs!ipstf=":GOTO 6600
XO 6741 IF R=29 THEN GOTO N1000
FW 6742 A$="Tveefomz!hvbset!bgqfbs!boe!hs
   bc!zpv=!!Tpnfpof!upme!uifn!bcpvu!zpvs!
   wjtju!!!!up!Tibmb(t!cfesppn="
TC 6743 GOTO 6600
HV 6744 A$="Zpv(sf!upp!mbuf=!Uif!tmbwfst!
   ibwf!!!!!sfbdife!zpv=":GOSUB N4:GOTO
   7240
PZ 6760 ? "YOU CAN'T DO THAT!":GOTO 1100
KS 6780 GRAPHICS N0:POKE 710,N0:POKE 709,
   N10:POKE 752,N1:POSITION N2,N2
XB 6781 ? "Based on the evidence you've d
   iscov-  ered the assassin has been app
   re-"
MT 6782 ? "hended.  Unfortunately he had
   a lot   of accomplices and they're eve
   n now"
TH 6783 ? "combing the city for you.  You
   have    to leave the city (and a broke
   n"
ZA 6784 ? "hearted Shala) and search out
   the     only being who can put an end
   to"
EZ 6785 ? "the activities of the follower
   s of    Golgoloth, the diety Himral hi
   mself."
RM 6786 ? "It will be a dangerous mission
   , but   you must succeed if Shala and
   the"
HK 6787 ? "rest of the world are ever to
   live    in peace.  The city gates clos
   e"
HD 6788 ? "behind you, and your next adve
   nture   is only a few steps down the r
   oad."
OE 6789 POSITION N14,20:? "Watch for":POS
   ITION N4,22:? "SLAVE III: THE GODS THE
   MSELVES"
YE 6790 GOTO 6790
OL 6820 TRAP 7040
FP 6840 ? "LOAD FROM TAPE OR DISK";:INPUT
   A$:IF A$="D" THEN 6900
YP 6860 IF A$<>"T" THEN ? :GOTO 6820
JK 6880 ? :? "CUE TAPE THEN PRESS RETURN
   TWICE.":INPUT A$:OPEN #N1,N4,N0,"C:":G
   OTO 6920
GY 6900 OPEN #N1,N4,N0,"D:SLAVE2.DAT":A$=
   ""
IR 6920 INPUT #N1,R,CY,PG,WT,TURN,ENT,DD,
   DY,RM
MB 6940 INPUT #N1,CNT,SIL,PT,KS,GD,CT,RG
RT 6950 INPUT #N1,UNL,NB,DIA,GR,SH,NK,SE
BK 6951 FOR X=N1 TO N10:INPUT UN1,A:CL(X)
   =A:NEXT X
NQ 6960 FOR X=N1 TO NN*SZ STEP SZ:INPUT #
   1,U$:I$(X,X+SZ-N1)=U$:NEXT X
EE 6980 FOR X=N1 TO NN:INPUT #N1,A:I(X)=A
   :NEXT X
XL 7000 IF DY<N0 THEN POKE 709,N12:POKE 7
   10,N0:GOTO 7020
DB 7010 POKE 709,NO:POKE 710,NB
FB 7020 CLOSE #N1:UL=N1:UI=N1:? :? :TRAP
   1260:GOTO N1000
GJ 7040 ? :? "NO GAME DATA SAVED!":END
LB 7060 ? "SAVE TO TAPE OR DISK";:INPUT A
   $:IF A$="D" THEN AS=",":GOTO 7120
NH 7080 IF A$<>"T" THEN 7060
NS 7100 ? :? "CUE TAPE THEN PRESS RETURN
   TWICE.":INPUT A$:A$=",":OPEN #N1,N0,N0
   ,"C:":
GOTO 7140
NH 7120 OPEN #N1,N8,N0,"D:SLAVE2.DAT"
KW 7140 ? #N1;R;A$;CY;A$;PG;A$;WT;A$;TURN
   ;A$;ENT;A$;DD;A$;DY;A$;RM
IW 7160 ? #N1;CNT;A$;SIL;A$;PT;A$;KS;A$;G
   D;AS;CT;A$;RG
RE 7170 ? #N1;UNL;A$;NB;A$;DIA;A$;GR;A$;S
   H;A$;NK;A$;SE
NJ 7171 FOR X=N1 TO N10:? #N1,CL(X):NEXT
   X
GM 7180 FOR X=N1 TO NN*SZ STEP SZ:U$=I$(X
   ,X+SZ-N1):PRINT #N1;U$:NEXT X
GR 7200 FOR X=N1 TO NN:PRINT #N1;I(X):NEX
   T X
FE 7220 CLOSE #N1:? :? :A$="":GOTO 1100
BA 7240 GRAPHICS N17:POSITION:N4,N4:? #N6

   ;"YOU'RE DEAD!":POSITION N3,N8:? #N6;"
   DO YOU WANT TO"
OU 7260 P05ITION N2,N10:? #N6;"PLAY AGAIN
   ? (y/n)"
YN 7280 GOSUB N11:IF A=ASC("Y") THEN RUN
EZ 7300 END