*** NOTE: The ASCII characters listed here are not the correct PET ASCII. *** The machine language subroutines that are called here are not listed. They are created in the first part of the Telengard load process. 10 REM TELENGARD/64 V4.18 20 REM (C)COPYRIGHT 1981 BY 30 REM MICROCOMPUTER GAMES 40 REM ALL RIGHTS RESERVED 50 POKE56,150:POKE644,150:CLR 1000 SS=-1:SC=49151:CL=55296:I=RND(-TI*SC):SP=214:WW=52488:IB=198:TF=256:TH=255 1001 FZ=53270 1005 DEFFNUP(H)=HAND3:DEFFNLF(H)=INT(H/4)AND3:DEFFNR(H)=INT(RND(1)*H+1) 1009 DEFFNS(H)=INT(H/TF):DEFFNRD(I)=I-INT(I/10)*10 1015 S$="STRINTWISCONDEXCHR":CM$="WXADSHQPC82465"+CHR$(20)+"." 1020 MO$="GNOLL KOBOLD SKELETONHOBBIT ZOMBIE ORC FIGHTER MUMMY " 1025 MO$=MO$+"ELF GHOUL DWARF TROLL WRAITH OGRE MINOTAUR" 1030 MO$=MO$+"GIANT SPECTER VAMPIRE DEMON DRAGON " 1035 T$="REFUSESILVERGOLD GEMS JEWELS" 1100 DIMP(3,3),S(5),SF(11),MI$(10),MA$(10),I(10),SP$(36),B(4),EX%(100) 1102 DIMBW(23),PW(7),CL(5),NT%(59),F(2) 1103 DIMM%(20),L%(20),H%(20),Z$(9,2):XO=1.6915:YO=1.4278:ZO=1.2462:W0=4694 1105 MI$(1)="SWORD":MA$(1)=MI$(1):MI$(2)="ARMOR":MA$(2)=MI$(2) 1115 MI$(3)="SHIELD":MA$(3)=MI$(3):MI$(4)="ELVEN CLOAK":MA$(4)="ELVN CLK" 1125 MI$(5)="ELVEN BOOTS":MA$(5)="ELVN BTS" 1130 MI$(6)="RING OF REGENERATION":MA$(6)="RING REG" 1135 MI$(7)="RING OF PROTECTION":MA$(7)="RING PROT" 1140 MI$(8)="SCROLL OF RESCUE":MA$(8)="SCRL RESC" 1145 MI$(9)="POTION OF HEALING":MA$(9)="POT HEAL" 1150 MI$(10)="POTION OF STRENGTH":MA$(10)="POT STRG" 1155 B$="RED YELLOWGREEN BLUE" 1160 FORI=1TO36:READSP$(I):NEXT:FORI=1TO20:M%(I)=0:NEXT:FORI=0TO2:FORK=0TO9 1161 READZ$(K,I):NEXTK,I 1162 DATAMAGIC MISSLE,SLEEP,CURE LIGHT WOUNDS,LIGHT,TURN UNDEAD,PROT/EVIL,WEB 1164 DATALEVITATE,CAUSE LIGHT WNDS,DETECT TRAPS,CHARM,STRENGTH,LIGHTNING BOLT 1166 DATACURE SERIOUS WNDS,CONTINUAL LIGHT,INVISIBILITY,HOLD MONSTER 1168 DATAPHANTSML FORCES,PASS WALL,FIREBALL,CAUSE SERIOUS WND,FLESH TO STONE 1169 DATAFEAR,FINGER OF DEATH,TELEPORT,ASTRAL WALK,POWER WORD KILL,ICE STORM 1170 DATAWALL OF FIRE,PLAGUE,TIME STOP,RAISE DEAD,HOLY SYMBOL,WORD OF RECALL 1172 DATARESTORATION,PRISMATIC WALL 1173 DATA SALTY,BOLD,LOUD,OLD,GOODLY,WORTHY,LOFTY,FINE,ROCKY,AGED 1174 DATAROAD,EYE,TOOTH,DRAGON,MUG,DEMON,WHARF,BRIDGE,MEADE,ALE 1175 DATATAVERN,ALEHOUSE,CELLAR,CLUB,INN,HOUSE,INN,LODGE,MEADHALL,RESTHOUSE 1190 GOSUB32000:GOSUB33000:GOSUB33050:GOSUB50000:IFSSTHENGOSUB60000 1200 PRINT" WELCOME TO":PRINT"  1206 PRINT"   "; 1207 PRINT"  ߒ  ߒ  ߒ   ߩ 1208 PRINT"        1209 PRINT" ߢ  ߢ       1210 PRINT" ":PRINT"  1213 PRINT"WOULD YOU LIKE TO:":PRINT" START A NEW CHARACTER OR" 1214 PRINT" READ IN AN OLD ONE?"; 1215 GOSUB50200:GOSUB16000:POKEFZ,200:IFC$=""THEN1215 1216 IFC$<>"R"THENPRINT"START":GOSUB19000:GOTO1400 1220 PRINT"READ":IFSSTHENGOSUB60100 1225 INPUT"WHAT IS THE CHARACTER'S NAME";NM$ 1226 IFNM$=""THEN1225 1227 DN$="0:TLNGRD/"+NM$+",S,R":OPEN1,8,2,DN$ 1230 OPEN15,8,15:INPUT#15,E1$,E2$,E3$,E4$,E5$ 1232 IFVAL(E1$)=0THEN1245 1235 PRINT"ERR=";E1$;" ";E2$:PRINT"%CANNOT READ THIS CHARACTER FROM DISK" 1240 CLOSE15 1241 CLOSE1:OPEN15,8,15:INPUT#15,A$,B$,C$,D$,E$:PRINTA$,B$,C$,D$,E$:CLOSE15 1242 GOSUB19000:RUN 1245 PRINTNM$" FOUND":GOSUB50700:POKEF4,17:POKEF1+1,22 1250 GOSUB19500:GOSUB50750:INPUT#1,VS 1255 FORI=0TO5:INPUT#1,S(I):NEXT 1260 INPUT#1,LV:INPUT#1,GD:INPUT#1,TG:INPUT#1,EX:INPUT#1,CH:INPUT#1,HP 1265 INPUT#1,CX:INPUT#1,CY:INPUT#1,CZ:INPUT#1,SU:INPUT#1,CS 1270 FORI=1TO10:INPUT#1,I(I):INPUT#1,SF(I):NEXT:IFVS>4.13THENINPUT#1,SF(11) 1275 FORI=1TO20:INPUT#1,M%(I):INPUT#1,L%(I):INPUT#1,H%(I):NEXT 1280 GOSUB19000:FORQ=1TO4:INPUT#1,B(Q):NEXT 1282 FORI=0TO100:INPUT#1,EX%(I):NEXT 1285 IFCZ=0THENCZ=1 1290 IFCZ<0THENPRINT"%YOU'RE NOT IN TELENGARD":GOTO1240 1295 PRINT NM$;" READ":CLOSE1:CLOSE15 1298 IFSSTHENGOSUB60000 1300 GOSUB19000:PRINT"";:SYS39043:GOSUB20300:GOSUB30025:SY=1:GOTO2000 1400 PRINT" TO USE STATS" 1500 FORI=0TO5:Q=0:FORQ1=1TO3:Q=Q+INT(RND(1)*6+1):NEXTQ1:S(I)=Q 1510 PRINTMID$(S$,I*3+1,3);STR$(S(I));" ":NEXT 1515 GOSUB16000:IFC$<>CHR$(13)THEN1400 1520 HP=S(3):CH=HP:GD=0:TG=0:CZ=1:LV=1:FORI=1TO10:I(I)=0:SF(I)=0:NEXT:SF(11)=0 1600 GOSUB19800:CX=25:CY=13:EX=0:SU=1:CS=1:PRINT"YOUR NAME, NOBLE SIRE? "; 1602 GOSUB16200:IFD$=""THEND$="DEMO":PRINTD$; 1604 NM$=D$:PRINT 1610 PRINT"YOU ARE NOW DESCENDING INTO THE" 1620 PRINT"DEPTHS OF THE TELENGARD DUNGEON...":PRINT"BEWARE...."; 1630 GOSUB19000:GOSUB19000:PRINT"";:SYS39043:L=1:GOSUB20300:GOSUB15000:SY=1:GOTO3000 2000 FORI=1TO11:SF(I)=SF(I)-1:NEXT:L=CZ:GOSUB17000:IFSY=1THENGOSUB15000 2010 SY=1:IFI(6)=0ORCH=HPTHEN3000 2015 CH=CH+I(6):IFCH>HPTHENCH=HP 2020 GOSUB20300 3000 IFRND(1)>.3THEN4000 3001 IFSF(6)>0ANDRND(1)>.2THEN4000 3005 M=INT(RND(1)*20+1):IFSF(7)>0ANDM<5THEN3005 3006 IFINT(RND(1)*20+1)<=I(4)THEN20900 3007 ML=INT((RND(1)^1.5)*(CZ*2+2)+1):GOSUB20700 3008 IFSF(3)>0ANDUN=1ANDRND(1)>.8THEN3005 3009 IFM=20THENPOKECP+2,60:POKECP+3,120 3010 S1=M-1:S2=1:GOSUB33100:GOSUB16500:GOSUB19700:PRINT"YOU HAVE ENCOUNTERED A LVL"ML;M$ 3011 IFSF(9)>0ANDM<16ANDM<>11THENGOSUB17500:GOTO4000 3012 I=PEEK(SP):POKESP,18:PRINT 3013 PRINTTAB(23)"LVL"STR$(ML)" "M$:POKESP,I-1:PRINT 3015 POKESP,I-1:PRINT:MH=INT((RND(1)^.5)*ML*M+1):L=ML 3017 IFRND(1)>.95THENONINT(RND(1)*3+1)GOTO3030,3045,3072 3020 IFM<>9THEN3040 3025 IFRND(1)>.04*S(5)THEN3040 3030 PRINT"THE "M$" LIKES YOUR BODY":PRINT"HE HEALS YOU TO FULL STRENGTH":CH=HP 3037 GOSUB20300:GOSUB19000:GOSUB20600:GOTO4000 3040 IFM<>4ORRND(1)<.05*S(5)THEN3070 3045 PRINT"THE "M$" MAKES A QUICK MOVE":GOSUB19000 3050 FORI=1TO10:IFI(I)>0THEN3054 3052 NEXT:PRINT"YOU HAVE NOTHING HE WANTS TO STEAL!":GOTO3037 3054 I=INT(RND(1)*10+1):IFI(I)<1THEN3054 3056 PRINT"HE STEALS ";:IFI<8THENPRINT"YOUR "MI$(I):I(I)=0:GOTO3037 3060 PRINT"A "MI$(I):I(I)=I(I)-1:GOTO3037 3070 IFM<>20ORRND(1)*30>S(5)THEN3090 3072 I=INT(RND(1)*7+1):IFI(I)>=MLTHEN3090 3074 C=ML-I(I):C=INT(RND(1)*C+1):I(I)=I(I)+C 3076 PRINT"THE "M$" LIKES YOU!":GOSUB17500 3078 PRINT"HE GIVES YOU A "MI$(I)" +"I(I):GOSUB20300:GOSUB17500 3080 GOSUB20600:GOTO4000 3090 IFRND(1)>.5+S(4)*.02THEN3300 3100 PRINT"FIGHT, CAST, OR EVADE:";:GOSUB16000 3102 IFC$=""THENPRINT"WAIT" 3105 FORI=1TO7:IFMID$("FCE",I,1)=C$THEN3115 3110 NEXT:PRINT:PRINT"THE "M$" IS NOT AMUSED":GOSUB17500:GOTO3100 3115 ONIGOTO3200,3400,3700,3200,3400,3700,3300 3200 I=INT(RND(1)*20)+LV+I(1)+S(0)/2:PRINT"FIGHT" 3202 IFSF(1)>0THENI=I+4 3204 IFI<10THENPRINT"YOU MISSED...":GOTO3300 3205 I=INT(RND(1)*8+RND(1)*LV*2+I(1)+1):IFSF(1)>0THENI=I+5 3207 PRINT"YOU DO"I"POINTS DAMAGE" 3210 MH=MH-I:IFMH>0THEN3300 3220 PRINT"IT DIED...":POKESE,1 3223 E=ML*M*10:EX=EX+E:GOSUB19000 3225 GOSUB20600:PRINT"YOU GAIN"E"EXPERIENCE POINTS":GOSUB20300:GOSUB18000 3230 GOSUB17500:GOTO3900 3300 DB=1:PA=0:DR=0:MB=0:GOTO3330 3305 I=INT(RND(1)*20)+ML-I(2)-I(3)+MB 3306 IFM>16ANDM<20ANDSF(4)>0THENI=I-6 3310 IFI<10THENPRINT"IT MISSED...":GOSUB17500:GOTO3100 3315 I=INT((RND(1)*8+RND(1)*ML*2+1)*DB):PRINT"IT DOES"I"POINTS DAMAGE" 3320 CH=CH-I:GOSUB20260:IFCH<1THEN9000 3321 GOSUB19000:IFRND(1)>DRORSF(4)>0THEN3326 3322 GOSUB17000:PRINT"IT DRAINS A LEVEL!!!":EX=INT(EX/2) 3323 IFLV=1THENEX=-1 3324 GOSUB18000:GOSUB17500:GOTO3100 3326 IFRND(1)>PATHENGOSUB17500:GOTO3100 3327 GOSUB17000:PRINT"YOU'RE PARALYZED!!!!":GOSUB17500:GOTO3300 3330 IFM=13THENDR=.1:GOTO3305 3335 IFM=17THENDR=.2:GOTO3305 3340 IFM=18THENDR=.3:PA=.3:GOTO3305 3345 IFM=10THENPA=.5:GOTO3305 3350 IFM<>19THEN3365 3352 GOSUB17500 3355 IFRND(1)>.6THENPRINT"IT USES IT'S SWORD!!!":MB=4:DB=3:GOTO3305 3360 PRINT"IT USES IT'S WHIP!!":MB=2:DB=2:GOTO3305 3365 IFM<>20THEN3305 3370 IFRND(1)>.3THENMB=5:DB=2:GOTO3305 3375 PRINT"THE DRAGON BREATHS FIRE!!!";:GOSUB50700:POKEF1+1,20:POKEF2+1,30 3376 POKE+5,196:POKEF+12,196:POKEF+19,196:POKEF3+1,37:POKEF4,129:POKEF5,129 3378 POKEF6,129:POKECP+8,105:POKECP+9,120:S1=26:S2=4:GOSUB33100:POKEM2,2 3380 FORQ=1TO60:POKEXE,2:POKEXE,18:NEXT:POKEC9,2 3382 FORQ=1TO300:POKEXE,2:POKEXE,18:NEXT:POKESE,PEEK(SE)ANDNOT16:GOSUB50750 3394 I=INT(RND(1)*20*ML+1):IFRND(1)<.05*S(3)THEN3398 3396 GOSUB17000:PRINT"YOU PARTIALLY DODGE IT":I=INT(I/2+.5) 3398 PRINT"YOU BURN FOR"I"POINTS DAMAGE":GOSUB19000:POKEC9,11:GOTO3320 3400 D=1:GOTO21000 3700 Q=INT(RND(1)*18+1):PRINT"EVADE" 3705 IFQ0THENC=FNR(4):GOTO3795 3715 ONFNR(4)GOTO3720,3730,3740,3750 3720 C=1:IFFNUP(L%)<3THEN3795 3730 C=2:IFFNUP(P(2,1))<3THEN3795 3740 C=3:IFFNLF(L%)<3THEN3795 3750 C=4:IFFNLF(P(1,2))<3THEN3795 3760 C=1:IFFNUP(L%)<3THEN3795 3770 C=2:IFFNUP(P(2,1))<3THEN3795 3780 C=3:IFFNLF(L%)<3THEN3795 3790 GOTO3707 3795 GOSUB20600:GOSUB17000:GOTO8120 3900 POKECP+2,100:POKECP+3,100:IFRND(1)>.5THEN4002 4000 POKECP+2,100:POKECP+3,100:POKESE,1:IFRND(1)>.2THEN6000 4002 T=0:IFRND(1)>.85THENT=1 4005 GOSUB16500:C=0:IFRND(1)>.7THEN4100 4007 PRINT"YOU SEE SOME ";:I=INT(RND(1)*5):GOSUB33500 4010 PRINTMID$(T$,I*6+1,6):PRINT" TO PICK UP:"; 4011 IFT=1THENIFSF(2)>0ANDRND(1)>.1THENPRINT:PRINT"YOU DETECT TRAPS!"; 4012 GOSUB16000:AN=0:IFC$=CHR$(13)THEN4020 4015 PRINT"LEAVE IT":GOSUB17500:GOTO6000 4020 PRINT"SNARF IT":IFT=0THEN4040 4025 Q=INT(RND(1)*3*L+1):GOSUB17000 4030 PRINT"IT'S TRAPPED!":PRINT"YOU SUFFER"Q"POINTS DAMAGE" 4035 CH=CH-Q:GOSUB20260:IFCH<1THENGOSUB19000:GOTO9000 4040 J=INT(RND(1)*I*L*200+1):PRINT"IT'S WORTH"J"GOLD" 4045 GD=GD+J:IFI=0ANDRND(1)>.8THENGOSUB20300:GOSUB17000:GOTO4200 4050 GOSUB20300:GOTO4900 4100 IFRND(1)>.5THEN4200 4102 S1=29:S2=2:GOSUB33100 4105 PRINT"YOU HAVE FOUND A TREASURE CHEST!!" 4110 PRINT" TO OPEN IT:"; 4115 IFT=1THENIFSF(2)>0ANDRND(1)>.1THENPRINT:PRINT"YOU DETECT TRAPS!"; 4120 GOSUB16000:IFC$<>CHR$(13)THENPRINT"IGNORE IT":GOTO6000 4125 PRINT"OPEN IT":IFT=0THEN4140 4130 GOSUB17500:PRINT"CHEST EXPLODES!!!!!":I=INT(RND(1)*10*CZ+1):CH=CH-I 4135 PRINT"YOU SUFFER"I"POINTS DAMAGE":GOSUB20260:IFCH<1THEN9000 4140 GOSUB17500:I=INT(RND(1)*1000*L^2+1) 4145 IFRND(1)>.9THENPRINT"INSIDE, THERE IS ONLY COBWEBS...":GOTO4900 4150 PRINT"INSIDE IS"I"GOLD PIECES!":GD=GD+I:GOSUB20300:IFRND(1)>.5THEN4900 4155 C=1:GOSUB17500 4200 I=INT(RND(1)*10+1):PRINT"YOU SEE A "; 4205 J=INT(RND(1)^.5*(L+1)+1):IFI>7THENPRINTMI$(I):GOTO4215 4210 PRINTMI$(I)" +"J 4215 PRINT" TO PICK IT UP:";:GOSUB16000:IFC$=CHR$(13)THEN4225 4220 PRINT"LEAVE IT":GOTO4240 4225 IFI<>1ORT<>1THEN4235 4230 PRINT:PRINT"IT'S A HOSTILE SWORD!!":I=INT(RND(1)*I*5+1) 4232 PRINT"YOU SUFFER"I"DAMAGE POINTS":CH=CH-I:GOSUB20300:IFCH<1THEN9000 4234 GOTO4900 4235 PRINT"IT'S YOURS!":I(I)=I(I)+1:IFI<8THENI(I)=J 4237 GOSUB20300 4240 IFC=1ANDRND(1)>.5THENGOSUB17500:GOTO4200 4900 POKESE,1:GOSUB17500 4910 IFRND(1)>.5THENGOSUB30000:IFM<>0THEN3010 6000 X=CX:Y=CY:Z=CZ-1:GOSUB10010:J=FNS(H%):I=FNS(L%) 6005 IFCZ=1THENJ=0 6010 IFI>9THENI=I-9:GOTO6010 6012 IFJ>9THENJ=J-9:GOTO6012 6013 IFCZ=50ANDI=4THENI=0 6014 IFI=0ANDJ<>4THEN8000 6015 IFJ=4THEN6500 6020 ONIGOTO6100,6300,6400,6500,6600,6700,6800,6900,7100 6100 IFCZ<>1THEN6200 6102 J=4:GOTO6500 6103 POKESE,1:M$=Z$(FNRD(CX*CY),0)+" " 6104 M$=M$+Z$(FNRD(CX+CY),1)+" "+Z$(FNRD(CX*3+CY*7),2)+" " 6105 GOSUB17000:SYS39004:S1=20:S2=3:GOSUB33100:AR=8:AC=0:POKEBD,0 6106 PRINT"  "; 6107 PRINT"   ";:POKE49524,160:PRINT"":PRINT 6108 PRINT" "Z$(FNRD(CX*CY),0):PRINT" "Z$(FNRD(CX+CY),1) 6109 PRINT" "Z$(FNRD(CX*3+CY*7),2) 6110 AN=4:GOSUB16500:PRINT"YOU HAVE FOUND THE ";LEFT$(M$,20) 6111 PRINT"THEY CASH IN YOUR GOLD":EX=EX+GD:TG=TG+GD:GD=0:GOSUB20300 6115 GOSUB18000:GOSUB30200:GOSUB17000:CH=HP:PRINT"YOU HAVE"TG"IN THE SAFE" 6116 FORI=0TO11:SF(I)=0:NEXT 6119 CS=SU:PRINT"YOU SPEND THE NIGHT":GOSUB19000 6120 PRINT"YOU FEEL BETTER":GOSUB20300:GOSUB17000 6125 PRINT"PRESS TO RETURN TO DUNGEON," 6130 PRINT" SAVE CHARACTER ON DISK:"; 6135 GOSUB16000:IFC$=""THEN6135 6140 AN=0:IFC$=""THENPRINT:GOTO8600 6142 IFC$<>CHR$(13)THENAN=4:PRINT"???":GOSUB17500:GOTO6125 6145 PRINT"REENTER":GOSUB17500:CZ=1:GOTO2000 6200 POKECP+2,115:POKECP+3,120:S1=21:S2=1:GOSUB33100 6205 GOSUB16500:PRINT"YOU FEEL HEAVY FOR A MOMENT" 6210 GOSUB50700:POKEF4,33:FORQ=0TO80:J=120-Q/2:POKECP+1,J:POKECP+3,J:POKEF1+1,Q 6220 NEXT:GOSUB50750:POKESE,0:POKECP+1,120:CZ=CZ-1:POKECP+2,100:POKECP+3,100 6235 GOTO2000 6300 IFCZ=50THEN6200 6301 GOSUB16600:PRINT:PRINT"":FORI=1TO4:PRINTTAB(11);" ":NEXT:PRINT" 6303 GOSUB16500:PRINT"YOU SEE A PIT" 6304 IFSF(5)>0THENPRINT"YOU ARE HOVERING ABOVE A PIT":GOTO6310 6305 IFINT(RND(1)*20)>S(4)+I(5)THEN6330 6310 PRINT"DO YOU WANT TO DESCEND?";:GOSUB16000:IF C$="Y"ORC$="9"THEN6320 6315 PRINT"NO":GOSUB17500:GOTO8000 6320 PRINT"YES":GOTO6335 6330 PRINT"YOU FALL IN!!":L=3:GOSUB20000:GOSUB19000 6335 CZ=CZ+1:GOSUB50700:FORQ=1TO5:POKECP,120-Q:FORJ=1TO10:NEXT:NEXT:POKECP+27,TH 6340 POKEF4,17:FORQ=25TO0STEP-1:POKECP+1,165-Q*2:POKEF1+1,Q*10:FORJ=1TO10:NEXT 6345 NEXT:GOSUB50750:POKESE,0:POKECP+1,120:POKECP+27,0:GOTO2000 6400 GOSUB16500 6403 PRINT"ZZAP!! YOU'VE BEEN TELEPORTED...":GOSUB30200 6405 IF((CX+CY)AND1)=0THENCZ=CZ-1:IF((CX+CY)AND2)=2THENCZ=CZ+2 6410 CX=CX+CZ*8+CY*13:CY=CY+CZ*6+CX*17 6415 IFCX>200THENCX=CX-200:GOTO6415 6420 IFCY>200THENCY=CY-200:GOTO6420 6425 IFCZ=0THENCZ=1 6430 IFCZ>50THENCZ=50 6435 IFRND(1)>.8THEN6405 6440 FORJ=8TO23:POKEWW+J,0:NEXT 6442 GOSUB50700:POKEF4,17:POKEF5,129:Q1=25:Q2=193:Q=F1+1 6445 FORI=7TO0STEP-1:POKEFV,15-I*2:FORK=1TO3:Q1=Q1-1:POKEF2+1,Q1 6450 FORJ=0TO7:POKEQ,Q2:Q2=Q2-1 6455 POKEWW+J,BW(J)AND(RND(1)*PW(I)) 6460 POKEQ,TH-Q2:NEXT:NEXT:NEXT:POKEQ,0:GOSUB15000:Q=F1+1:Q1=1:Q2=1 6470 FORI=0TO7:POKEFV,15-I*2:FORK=1TO3:POKEF2+1,Q1:Q1=Q1+1:FORJ=0TO7:POKEQ,Q2 6475 Q2=Q2+1:POKEWW+J,BW(J)AND(RND(1)*PW(I)) 6480 POKEQ,TH-Q2:NEXT:NEXT:NEXT:GOSUB50750 6485 FORJ=0TO23:POKEWW+J,BW(J):NEXT:SY=0:GOTO2000 6500 S1=22:S2=2:GOSUB33100 6510 GOSUB17000:PRINT"YOU HAVE FOUND A STAIRWAY" 6512 IFJ=4ANDCZ=1THENPRINT"YOU SEE LIGHT ABOVE" 6515 PRINT"DO YOU WANT TO ";:IFJ=4THENPRINT"GO UP, "; 6525 IFI=4THENPRINT"GO DOWN, "; 6530 PRINT:PRINT"OR STAY ON THE SAME LEVEL?";:GOSUB16000 6532 IFC$=""THENC$="S" 6535 IF(I<>4AND(C$="D"ORC$="1"))OR(J<>4AND(C$="U"ORC$="7"))THEN6550 6540 IFC$="U"ORC$="7"THENPRINT"UP":CZ=CZ-1:IFCZ>0THEN2000 6542 IFCZ<=0THEN6103 6545 IFC$="D"ORC$="1"THENPRINT"DOWN":CZ=CZ+1:GOTO2000 6547 IFC$="S"ORC$="5"THENPRINT"STAY":GOSUB17000:GOTO8000 6550 PRINT"???":GOTO6510 6600 S1=25:S2=1:GOSUB33100:GOSUB17000:PRINT"YOU HAVE FOUND A HOLY ALTAR" 6605 PRINT"PRESS TO WORSHIP";:GOSUB16000:IFC$=CHR$(13)THEN6630 6610 IFRND(1)>.7THENGOTO8000 6615 PRINT:PRINT"DIRTY PAGAN TRASH!" 6620 M=INT(RND(1)*20+1):GOSUB20700:IFUN=0THEN6620 6625 GOSUB17500:GOTO3007 6630 PRINT:PRINT"PRESS TO DONATE MONEY";:GOSUB16000 6632 IFC$<>CHR$(13)THEN6610 6634 PRINT:PRINT"HOW MUCH GOLD?";:GOSUB20800:GOSUB17000 6636 IFC>GDTHENPRINT"YOU DON'T HAVE THAT MUCH!";:GOTO6615 6640 IFC<50*CZTHENPRINT"";:GOTO6615 6645 GD=GD-C:GOSUB20300:IFRND(1) TO DRINK SOME:";:GOSUB16000:IFC$=CHR$(13)THEN6715 6710 GOSUB17000:GOTO8000 6715 GOSUB17000:IFRND(1)>.6THEN6750 6717 IFRND(1)>1-C*.15THEN6730 6720 PRINT"YOU FEEL BETTER":GOSUB19000:I=INT(RND(1)*3*CZ+1) 6725 PRINT"YOU HEAL"I"POINTS":CH=CH+I:IFCH>HPTHENCH=HP 6727 GOSUB20260:GOSUB17500:GOTO8000 6730 IFRND(1)>.15*CTHEN6745 6735 PRINT"IT'S POISON!!!":I=INT(RND(1)*3*CZ+1):PRINT"YOU LOSE"I"HIT POINTS" 6740 CH=CH-I:GOSUB20260:IFCH<1THEN9000 6742 GOSUB17500:GOTO8000 6745 GOSUB20100:GOSUB20300:GOSUB17500:GOTO8000 6750 IFRND(1)>.4THENPRINT"YOU FEEL REFRESHED!":GOSUB17500:GOTO8000 6752 IFRND(1)>.5THEN6780 6755 IFRND(1)>.5THEN6770 6760 PRINT"MAGICAL POWER SURGES THROUGH YOUR BODY":CS=CS+INT(RND(1)*4*CZ+1) 6765 PRINT"YOU NOW HAVE"CS" SPELLS":GOSUB20250:GOSUB17500:GOTO8000 6770 PRINT"YOU HAVE BEEN DISPOSESSED!!":FORI=1TO10:I(I)=0:NEXT:GOSUB19000 6775 GOSUB17500:PRINT"":GOSUB20300:GOSUB15000:GOSUB30025:GOTO8000 6780 PRINT"YOU FEEL REFRESHED!":GOSUB17500:PRINT"ACTUALLY YOU'RE DRUNK!!" 6785 IFSF(11)<0THENSF(11)=0 6786 SF(11)=SF(11)+INT(RND(1)*16+1):GOSUB15000:GOSUB17000:GOTO8000 6800 GOSUB16600:PRINT"";:AN=1:AR=5 6802 GOSUB17000:PRINT"YOU SEE A LARGE GRAY MISTY CUBE" 6805 PRINT" TO WALK IN:";:GOSUB16000:AN=0:IFCHR$(13)<>C$THEN8000 6810 IFRND(1)>.2THEN6815 6812 CZ=INT(RND(1)*50+1):GOTO6820 6815 PRINT:PRINT"A NUMBER FROM 1 TO 50:";:GOSUB20800:IFC$=""THEN6812 6817 IFC<1ORC>50THENPRINT"NO YOU FOOL!!";:GOSUB17500:GOTO6810 6818 CZ=C 6820 SYS39004:PRINT"YOU FLOAT":POKESE,0 6825 PRINT" IN SPACE...."; 6830 GOSUB50700:POKEF4,17:FORQQ=1TO4:POKEF1,29:POKEF1+1,21:GOSUB19500 6835 POKEF1,92:POKEF1+1,22:GOSUB19500:POKEF1,29:POKEF1+1,21:GOSUB19500 6840 POKEF1,204:POKEF1+1,18:GOSUB19500:NEXT:GOSUB50750:GOTO2000 6900 S1=24:S2=1:GOSUB33100:AN=3:AR=10 6902 GOSUB17000:PRINT"YOU SEE A JEWEL ENCRUSTED THRONE" 6905 PRINT"DO YOU WANT TO PRY SOME JEWELS," 6910 PRINT"SIT DOWN, READ THE RUNES,":PRINT"OR IGNORE IT:"; 6915 GOSUB50600:GOSUB16000:AN=0:IFC$="I"ORC$=""THENPRINT"IGNORE":GOSUB17500:GOTO8000 6920 IFC$<>"P"THEN6950 6925 PRINT"PRY":GOSUB17500:IFRND(1)>.7THEN7030 6930 IFRND(1)>.4THEN7025 6935 PRINT"THEY POP INTO YOUR GREEDY HANDS!!":I=INT(RND(1)*1000*CZ+1) 6940 PRINT"THEY ARE WORTH"I"GOLD":GD=GD+I:GOSUB20300:GOSUB17500:GOTO8000 6950 IFC$<>"S"THEN6985 6955 PRINT"SIT";:GOSUB17500:IFRND(1)>.7THEN7030 6960 IFRND(1)>.6THEN7025 6965 IFRND(1)>.4THEN6403 6970 PRINT"A LOUD GONG SOUNDS!";:GOSUB17500:IFRND(1)<.5THEN6975 6973 EX=INT(EX/2):IFLV=1THENEX=-1 6974 GOSUB18000:GOTO8000 6975 IFLV>CZTHENPRINT"NOTHING HAPPENS...";:GOTO7010 6980 EX=1000*2^LV:GOSUB18000:GOTO8000 6985 IFC$<>"R"THEN7015 6990 PRINT"READ";:GOSUB17500 6992 IFRND(1)>.7THEN7030 6995 IFRND(1)"P"THENPRINT"IGNORE":GOSUB17500:GOTO8000 7120 PRINT"PUSH":GOSUB17500:CB=1 7125 PRINT"PUSH RED, GREEN, YELLOW, BLUE":PRINT"OR STOP:"; 7130 GOSUB16000:IFC$="S"ORC$=""THENPRINT"STOP";:GOSUB17500:GOTO8000 7135 FORC=1TO4:IFC$=MID$(B$,C*6-5,1)THENM$=MID$(B$,C*6-5,6):GOTO7145 7140 NEXT:PRINT"???":GOSUB17500:GOTO7125 7145 GOSUB19705:PRINTM$:IFB(CB)<>CTHEN7170 7150 CB=CB+1:IFCB<5THENGOSUB17500:GOTO7125 7155 PRINT"IT OPENS!!!! ";:GOSUB17500:PRINT"INSIDE YOU FIND JEWELS WORTH" 7160 GOSUB19800:I=INT(RND(1)*20000*CZ^2+1):PRINTI"IN GOLD!!":GD=GD+I:GOSUB20300 7165 GOSUB17000:GOTO8000 7170 I=INT(RND(1)*2*CZ+1):PRINT"AN ELECTRIC BOLT SHOOTS THROUGH YOU!!" 7172 GOSUB50700:POKEF4,129:FORQ=1TO120:POKEF1+1,Q:NEXT:GOSUB50750 7175 GOSUB17500:PRINT"YOU SUFFER"I"POINTS DAMAGE":CH=CH-I:GOSUB20260 7180 IFCH<1THEN9000 7185 GOSUB17500:GOTO8000 8000 M=0:GOSUB16500:GOSUB17000:PRINT"->";:GOSUB16000:IFC$=""THENC$="S" 8100 FORC=1TO22:IFMID$(CM$,C,1)=C$THEN8117 8110 NEXT 8115 PRINT"NO";:FORI=1TO200:NEXT:GOTO8000 8117 IFC>9THENC=C-9 8118 IFSF(11)>0ANDC<6THENPRINT"YOU'RE CONFUSED ->";:C=FNR(5) 8120 ONCGOTO8150,8200,8250,8300,8350,8800,8700,8900,8970,8600,8910,8925,8945 8150 IFFNUP(L%)>2ANDSF(8)<1ORCY=1THEN8115 8155 PRINT"NORTH";:CY=CY-1:GOSUB30100:GOTO2000 8200 IFFNUP(P(2,1))>2ANDSF(8)<1ORCY=200THEN8115 8205 PRINT"SOUTH";:CY=CY+1:GOSUB30100:GOTO2000 8250 IFFNLF(L%)>2ANDSF(8)<1ORCX=1THEN8115 8255 PRINT"WEST";:CX=CX-1:GOSUB30100:GOTO2000 8300 IFFNLF(P(1,2))>2ANDSF(8)<1ORCX=200THEN8115 8305 PRINT"EAST";:CX=CX+1:GOSUB30100:GOTO2000 8350 PRINT"STAY":FORQ=49483TO49485:POKEQ,32:NEXT:GOSUB30000:IFM<>0THEN3010 8355 SY=0:GOTO2000 8600 PRINT"STORE ";NM$", ";:IFNM$<>"DEMO"THEN8610 8605 PRINT:PRINT"%CANNOT STORE DEMONSTRATION CHARACTER!":GOTO8670 8610 IFSSTHENGOSUB60100 8611 PRINT:PRINT"INSERT DISK AND PRESS RETURN TO STORE." 8612 GETA$:IFA$=""THEN8612 8613 IFA$=CHR$(13)THEN8615 8614 GOTO8670 8615 PRINT:FL$="@0:TLNGRD/"+NM$+",S,W":OPEN1,8,2,FL$ 8618 OPEN15,8,15:INPUT#15,E1$,E2$,E3$,E4$,E5$:IFVAL(E1$)=0THEN8630 8620 PRINT" ERROR ";E1$;" ";E2$:CLOSE15:CLOSE1:GOTO8670 8630 Q$=CHR$(34):R$=CHR$(13) 8635 PRINT#1,4.18;R$;:FORI=0TO5:PRINT#1,S(I);R$;:NEXT 8640 PRINT#1,LV;R$;:PRINT#1,GD;R$;:PRINT#1,TG;R$;:PRINT#1,EX;R$;:PRINT#1,CH;R$; 8645 PRINT#1,HP;R$;:PRINT#1,CX;R$;:PRINT#1,CY;R$;:PRINT#1,CZ;R$;:PRINT#1,SU;R$; 8650 PRINT#1,CS;R$;:FORI=1TO10:PRINT#1,I(I);R$;:PRINT#1,SF(I);R$;:NEXT 8655 PRINT#1,SF(11);R$;:FORI=1TO20:PRINT#1,M%(I);R$;:PRINT#1,L%(I);R$; 8660 PRINT#1,H%(I);R$;:NEXT:FORI=1TO4:PRINT#1,B(I);R$;:NEXT 8663 FORI=0TO100:PRINT#1,EX%(I);R$;:NEXT 8665 CLOSE1:CLOSE15:OPEN15,8,15:INPUT#15,A$,B$,C$,D$,E$ 8667 PRINT"":PRINTA$,B$,C$,D$,E$:PRINTNM$;" STORED. HAVE A NICE DAY!":RUN 8670 GOSUB17500:IFCZ=0THENAN=4:GOTO6125 8675 GOTO8000 8700 PRINT"QUIT":PRINT"ARE YOU SURE?";:GOSUB16000 8702 IFC$<>"Y"ANDC$<>"9"THENPRINT"NO":GOSUB17500:GOTO8000 8710 PRINT"YES":PRINT"GOOD BYE CRUEL WORLD!!":GOSUB19000:GOTO9000 8800 SYS39004:POKESE,0:PRINT"COMMANDS ARE:" 8802 PRINT" NORTH" 8805 PRINT" " 8810 PRINT" WSTAY" 8815 PRINT" " 8820 PRINT" WESTASDEAST" 8825 PRINT" " 8830 PRINT" X" 8835 PRINT" " 8840 PRINT" SOUTH" 8842 PRINT" " 8845 PRINT"FIGHT F1SAVE CHAR" 8850 PRINT"CAST F3SCRL/RESCUE" 8855 PRINT"EVADE F5POT/HEALING" 8860 PRINT"REPLOTF7POT/STRENGTH" 8865 PRINT"QUIT ":PRINT"HELP" 8896 GOSUB17000:PRINT"HIT ANY KEY TO CONTINUE...";:GOSUB16000:GOSUB17500 8898 GOSUB15000:GOTO8000 8900 PRINT"RE-PLOT":GOSUB19000:PRINT"";:SYS39043:GOSUB20300:GOSUB15000 8905 GOSUB30025:GOTO8000 8910 PRINT"USE SCROLL OF RESCUE" 8915 IFI(8)<1THEN8920 8917 I(8)=I(8)-1:CX=25:CY=13:CZ=1:PRINT"***ZAP!!***":GOSUB19000:GOSUB30200 8918 GD=0:GOSUB20300:GOTO2000 8920 PRINT"YOU DON'T HAVE ONE!!" 8922 GOSUB17500:GOTO8000 8925 PRINT"DRINK HEALING POTION":IFI(9)<1THEN8920 8935 I(9)=I(9)-1:GOSUB20300:CH=CH+FNR(20):IFCH>HPTHENCH=HP 8940 PRINT"YOU FEEL BETTER!":GOSUB20300:GOTO8922 8945 PRINT"DRINK STRENGTH POTION":IFI(10)<1THEN8920 8950 IFSF(1)<0THENSF(1)=0 8955 SF(1)=SF(1)+10+INT(RND(1)*20):PRINT"STRENGTH FLOWS THROUGH YOUR BODY" 8960 I(10)=I(10)-1:GOSUB20300:GOTO8922 8970 D=0:GOTO21000 9000 POKESE,0:GOSUB17000:PRINT"YOU DIED!!":GOSUB17500:IFSF(10)>0THEN27205 9002 PRINT"ANOTHER ";:IFLV<4THENPRINT"NOT SO "; 9005 PRINT"MIGHTY ADVENTURER":PRINT"BITES THE DUST" 9006 I=LV:GOSUB50100 9010 PRINT"DO YOU WANT TO TRY AGAIN?"; 9012 GOSUB16000:IFC$="N"ORC$="3"THEN9020 9013 IFC$=""THEN9012 9015 PRINT"YES":CLR:GOTO1000 9020 PRINT"NO":PRINT"SO LONG.....":GOTO32767 10010 Q=X*XO+Y*YO+Z*ZO+(X+XO)*(Y+YO)*(Z+ZO) 10020 H%=(Q-INT(Q))*W0:IFFNS(H%)>5THENH%=H%ANDTH 10025 IFINT(H%/TF)>0THENH%=(INT((Q*10-INT(Q*10))*15+1)*TF)OR(H%ANDTH) 10030 IFX=1ORX=201THENH%=H%OR12 10035 IFY=1ORY=201THENH%=H%OR3 10040 RETURN 10050 IFW<2THENRETURN 10055 FORQ=0TO6:POKESC+L%+Q,161:NEXTQ:IFW>2THENRETURN 10060 FORQ=2TO4:POKESC+L%+Q,162:NEXTQ:RETURN 10075 IFW<2THENRETURN 10080 FORQ=0TO6:POKESC+L%+Q*40,161:NEXTQ:IFW>2THENRETURN 10085 FORQ=2TO4:POKESC+L%+Q*40,163:NEXTQ:RETURN 14889 END 15000 POKEC9,11:IFSF(6)>0THENPOKEC9,0 15004 Z=CZ:FORQ2=0TO3:Y=CY+Q2-1:FORQ1=0TO3:X=CX+Q1-1:GOSUB10010 15005 P(Q2,Q1)=H%:NEXT:NEXT:SYS39004:SYS39043:GOSUB16500:PRINT"":POKESE,1 15006 POKEBD,0:IFSF(9)>0THENPOKEBD,1 15007 SS=-1:POKECP,115:POKECP+1,120:FORI=1TO11:IFSF(I)<1THEN15011 15009 IFPOS(0)>19THENPRINT:PRINT""; 15010 PRINTMID$("STRGDTRPLGHTPROTLEVTINVSFEARASTWTMSTRSEDDRNK",I*4-3,4)":"; 15011 NEXT:PRINT"";:IFFNUP(P(1,1))>1ORFNLF(P(0,1))>1THEN15015 15012 L%=4:W=FNUP(P(0,0)):GOSUB10050 15015 IFFNUP(P(1,0))>1ORFNLF(P(1,1))>1THEN15025 15020 L%=4:W=FNLF(P(0,0)):GOSUB10075 15025 IFFNUP(P(1,1))>1THEN15040 15030 L%=10:W=FNUP(P(0,1)):GOSUB10050:W=FNLF(P(0,1)):GOSUB10075 15035 L%=16:W=FNLF(P(0,2)):GOSUB10075 15040 IFFNUP(P(1,1))>1ORFNLF(P(0,2))>1THEN15045 15042 L%=16:W=FNUP(P(0,2)):GOSUB10050 15045 IFFNLF(P(1,2))>1ORFNUP(P(1,2))>1THEN15055 15050 L%=22:W=FNLF(P(0,3)):GOSUB10075 15055 IFFNLF(P(1,2))>1THEN15080 15060 L%=256:W=FNUP(P(1,2)):GOSUB10050:L%=262:W=FNLF(P(1,3)):GOSUB10075 15070 L%=496:W=FNUP(P(2,2)):GOSUB10050 15080 IFFNUP(P(2,1))>1ORFNLF(P(2,2))>1THEN15085 15082 L%=736:W=FNUP(P(3,2)):GOSUB10050 15085 IFFNLF(P(1,2))>1ORFNUP(P(2,2))>1THEN15100 15090 L%=502:W=FNLF(P(2,3)):GOSUB10075 15100 IFFNUP(P(2,1))>1THEN15120 15105 L%=496:W=FNLF(P(2,2)):GOSUB10075 15110 L%=730:W=FNUP(P(3,1)):GOSUB10050:L%=490:W=FNLF(P(2,1)):GOSUB10075 15120 IFFNUP(P(2,1))>1ORFNLF(P(2,1))>1THEN15125 15122 L%=724:W=FNUP(P(3,0)):GOSUB10050 15125 IFFNLF(P(1,1))>1ORFNUP(P(2,0))>1THEN15140 15130 L%=484:W=FNLF(P(2,0)):GOSUB10075 15140 IFFNLF(P(1,1))>1THEN15155 15145 L%=484:W=FNUP(P(2,0)):GOSUB10050 15150 L%=244:W=FNLF(P(1,0)):GOSUB10075:W=FNUP(P(1,0)):GOSUB10050 15155 L%=250:W=FNLF(P(1,1)):GOSUB10075:W=FNUP(P(1,1)):GOSUB10050 15160 L%=256:W=FNLF(P(1,2)):GOSUB10075:L%=490:W=FNUP(P(2,1)):GOSUB10050 15200 L%=P(1,1):IFSF(3)<=0THENRETURN 15300 IFFNS(P(0,0))=0THEN15320 15305 IFFNUP(P(1,0))<2ANDFNLF(P(1,1))<2THEN15315 15310 IFFNUP(P(1,1))>1ORFNLF(P(0,1))>1THEN15320 15315 POKE49278,102 15320 IFFNS(P(0,1))<>0ANDFNUP(P(1,1))<2THENPOKE49284,102 15340 IFFNS(P(0,2))=0THEN15360 15345 IFFNUP(P(1,1))<2ANDFNLF(P(0,2))<2THEN15355 15350 IFFNUP(P(1,2))>1ORFNLF(P(1,2))>1THEN15360 15355 POKE49290,102 15360 IFFNS(P(1,2))<>0ANDFNLF(P(1,2))<2THENPOKE49530,102 15380 IFFNS(P(2,2))=0THEN15400 15385 IFFNUP(P(2,2))<2ANDFNLF(P(1,2))<2THEN15395 15390 IFFNUP(P(2,1))>1ORFNLF(P(2,2))>1THEN15400 15395 POKE49770,102 15400 IFFNS(P(2,1))<>0ANDFNUP(P(2,1))<2THENPOKE49764,102 15420 IFFNS(P(2,0))=0THEN15440 15425 IFFNUP(P(2,0))<2ANDFNLF(P(1,1))<2THEN15435 15430 IFFNUP(P(2,1))>1ORFNLF(P(2,1))>1THEN15440 15435 POKE49758,102 15440 IFFNS(P(1,0))<>0ANDFNLF(P(1,1))<2THENPOKE49518,102 15499 RETURN 16000 IFANTHEN40000 16002 FORQ=1TO400:GETC$:IFC$=""THEN16010 16005 IFC$<>CHR$(3)THENRETURN 16006 PRINT"NO R/S";:FORI7=1TO500:NEXT:PRINT" ";:GOTO16000 16010 NEXT:IFNM$="DEMO"THEN16000 16015 C$="":RETURN 16200 D$="" 16205 PRINT""; 16206 GETC$:IFC$=""THEN16206 16210 PRINT" ";:IFC$=CHR$(13)THENRETURN 16215 IFC$<>CHR$(20)THEN16235 16220 IFLEN(D$)=0THEN16205 16225 PRINT" ";:IFLEN(D$)<2THEN16200 16230 D$=LEFT$(D$,LEN(D$)-1):GOTO16205 16235 IFLEN(D$)>=30OR((C$<"0"ORC$>"9")AND(C$<"A"ORC$>"Z"))THEN16205 16240 D$=D$+C$:PRINTC$;:GOTO16205 16500 PRINT"";:RETURN 16600 PRINT"";:RETURN 17000 SYS38991:GOSUB16500:RETURN 17500 GOSUB19000:GOTO17000 18000 IFEX<1000*2^LVTHEN18040 18010 GOSUB17000:PRINT"YOU WENT UP A LEVEL!";:LV=LV+1:J=INT(RND(1)*S(3)+1) 18015 I=1:GOSUB50100:CH=CH+J:HP=HP+J:IFEX>1000*2^LVTHENEX=1000*2^LV-1 18017 CS=CS+LV:SU=SU+LV 18020 GOSUB20300:GOSUB17500:PRINT"YOU GAIN"J"HIT POINTS":RETURN 18040 IFLV=1ANDEX>=0THENRETURN 18050 IFEX>=1000*2^(LV-1)THENRETURN 18055 CS=CS-LV:SU=SU-LV:IFCS<0THENCS=0 18060 PRINT"YOU GO DOWN A LEVEL!";:LV=LV-1:J=INT(RND(1)*S(3)+1) 18070 CH=CH-J:HP=HP-J:GOSUB20300:GOSUB17500:PRINT"YOU LOSE"J"HIT POINTS" 18075 IFCH>0ANDLV>0THENRETURN 18080 GOSUB19000:GOTO9000 19000 TI$="000000":IFANTHEN19005 19002 IFTI<90THEN19002 19003 RETURN 19005 FORQ=1TOA2:QQ=QQ:GOSUB40050:NEXT:IFTI<90THEN19005 19010 RETURN 19500 FORQ=1TO100:NEXT:RETURN 19700 M$=MID$(MO$,M*8-7,8) 19705 IFRIGHT$(M$,1)=" "THENM$=LEFT$(M$,LEN(M$)-1):GOTO19705 19710 RETURN 19800 FORQ=1TO4:B(Q)=INT(RND(1)*4+1):NEXTQ:RETURN 19900 RETURN:PRINT"":FORQ=1TO5:PRINT" ":NEXT:RETURN 20000 D=INT(RND(1)*L*6+1):PRINT"YOU SUFFER"D"HIT POINTS":CH=CH-D 20005 IFCH>0THENGOSUB20260:RETURN 20010 PRINT"YOUR LIFE HAS BEEN TERMINATED":GOSUB20300:GOSUB17500:GOTO9000 20100 I=INT(RND(1)*500*CZ+1):PRINT"YOU JUST "; 20110 IFRND(1)>.5THENPRINT"LOST";:I=-I:GOTO20120 20115 PRINT"GAINED"; 20120 PRINTABS(I);"EXPERIENCE POINTS":EX=EX+I:GOSUB18000:RETURN 20200 I=INT(RND(1)*6):IFRND(1)>.5THEN20220 20210 IFS(I)=18THEN20200 20215 PRINT"YOUR ";MID$(S$,I*3+1,3);" GOES UP";:S(I)=S(I)+1:GOTO20240 20220 IFS(I)=3THEN20200 20225 PRINT"YOUR ";MID$(S$,I*3+1,3);" GOES DOWN";:S(I)=S(I)-1 20240 PRINT" BY 1":GOSUB20300:GOSUB19000:RETURN 20250 K=PEEK(SP):PRINT"":EN=2:GOTO20322 20260 K=PEEK(SP):PRINT"":EN=3:GOTO20320 20300 EN=1:K=PEEK(SP):PRINT"" 20301 PRINTTAB(23)""LEFT$(NM$,7);TAB(31)"LVL"STR$(LV)" " 20302 PRINTTAB(23)"STR"STR$(S(0));:GOSUB20400:PRINT"CON"STR$(S(3)) 20305 PRINTTAB(23)"INT"STR$(S(1));:GOSUB20400:PRINT"DEX"STR$(S(4)) 20310 PRINTTAB(23)"WIS"STR$(S(2));:GOSUB20400:PRINT"CHR"STR$(S(5)) 20320 PRINTTAB(23)"HP"STR$(CH)"/"MID$(STR$(HP),2)" " 20321 IFEN=3THEN20396 20322 PRINTTAB(23)"SU"STR$(CS)"/"MID$(STR$(SU),2)" " 20323 IFEN=2THEN20396 20325 C$=LEFT$(STR$(EX),14):PRINTTAB(23)"EX";C$;LEFT$(" ",14-LEN(C$)) 20330 C$=LEFT$(STR$(GD),14):PRINTTAB(23)"GD";C$;LEFT$(" ",14-LEN(C$)) 20335 FORI=1TO10:IFI<4THENIFI(I)>=0THEN20345 20340 IFI(I)<1THEN20380 20345 PRINTTAB(24);:IFI>7THEN20365 20350 PRINTMA$(I);:IFI(I)>0THENPRINT" +"MID$(STR$(I(I)),2);" ";:GOTO20355 20352 PRINT" "; 20355 PRINT:GOTO20380 20365 PRINTSTR$(I(I))" "MA$(I) 20380 NEXT 20390 PRINTTAB(23)" "; 20396 IFK<3THENK=3 20398 POKESP,K-1:PRINT:RETURN 20400 IFPOS(0)<31THENPRINT" ";:GOTO20400 20410 RETURN 20600 POKESP,18:PRINT:PRINTTAB(23);" " 20605 GOSUB17000:POKESE,PEEK(SE)AND(NOT2):RETURN 20700 UN=0:IFM=3ORM=5ORM=8ORM=10ORM=13ORM=17ORM=18THENUN=1 20705 RETURN 20800 D$="" 20805 GOSUB16000:IFC$<>CHR$(20)THEN20825 20810 IFD$=""THEN20805 20815 PRINT" ";:IFLEN(D$)=1THEN20800 20820 D$=LEFT$(D$,LEN(D$)-1):GOTO20805 20825 IFC$=CHR$(13)THENC=VAL(D$):PRINT:RETURN 20826 IFC$=""THENC=0:RETURN 20827 IFLEN(D$)>9THEN20805 20828 IFC$="-"ANDD$=""THEN20835 20830 IFC$<"0"ORC$>"9"THEN20805 20835 PRINTC$;:D$=D$+C$:GOTO20805 20900 GOSUB16500:PRINT"YOU HAVE NOT BEEN NOTICED...":POKE49483,63 20905 PRINT" TO APPROACH:";:GOSUB16000 20910 POKE49483,32:IFC$=CHR$(13)THENGOSUB17000:GOTO3007 20915 GOSUB17000:GOTO4000 21000 PRINT"CAST":PRINT"SPELL LEVEL:";:GOSUB16000:C=VAL(C$):PRINTC$ 21002 IFC>0ANDC<=INT(LV/3)+1ANDC<7THEN21010 21004 IFC=0THEN21910 21005 PRINT"YOU DON'T HAVE THAT LEVEL SPELLS!":GOSUB19000:GOTO21910 21010 IFC>CSTHENPRINT"YOU DON'T HAVE ENOUGH SPELL UNITS!":GOTO21900 21020 PRINT"SPELL( = TO LIST):";:GOSUB16000:IFC$=CHR$(13)ORC$=""THEN21910 21025 IFC$<"1"ORC$>"6"THENC$="=" 21030 IFC$="="THEN21040 21035 CS=CS-C:GOSUB20250:PRINTTAB(18);:GOTO21050 21040 GOSUB17000:PRINT"":FORI=1TO3:PRINTI;LEFT$(SP$(I+6*(C-1)),20); 21045 PRINTTAB(20);I+3;LEFT$(SP$(I+3+6*(C-1)),19):NEXT 21046 PRINT:PRINT"PRESS ANY KEY TO CONTINUE...";:GOSUB16000:GOSUB17000 21047 IFC$<"1"ORC$>"6"THEN21020 21048 GOTO21035 21050 S=VAL(C$):ONCGOTO22000,23000,24000,25000,26000,27000 21700 MH=MH-I:PRINT"IT SUFFERS"I"HIT POINTS":IFMH>0THEN21900 21705 GOTO3220 21750 PRINT"NOT IN MELEE!!":GOSUB17500:GOTO3300 21800 PRINT"YOU JUST WASTED A COMBAT SPELL!" 21900 GOSUB17500:IFD=1THEN3300 21905 GOTO8000 21910 GOSUB17000:IFD=1THEN3100 21915 GOTO8000 21920 GOSUB17500:GOSUB20600:GOTO4000 21930 PRINT"UNDEAD ARE ALREADY DEAD!!":GOTO21900 22000 ONSGOTO22100,22200,22300,22400,22500,22600 22100 PRINTSP$(1):GOSUB17500:IFD=0THEN21800 22105 POKEBK,2:GOSUB19500:POKEBK,0:I=INT(RND(1)*8+5):GOTO21700 22200 PRINTSP$(2):GOSUB17500:IFD=0THEN21800 22202 IFUN=1THENPRINT"UNDEAD DON'T SLEEP!":GOTO3300 22205 IFINT(RND(1)*20+1)>S(1)THENPRINT"THE "M$" ISN'T SLEEPY!":GOTO3300 22210 PRINT"THE "M$" IS SLEEPING":PRINT"PRESS TO KILL:";:GOSUB16000 22215 IFC$<>CHR$(13)THENGOSUB17000:GOTO3710 22220 IFRND(1)>.2THEN3220 22225 PRINT"IT WOKE UP!!":GOSUB19000:GOTO3300 22300 PRINTSP$(3):I=INT(RND(1)*8+1):PRINT"YOU FEEL BETTER":CH=CH+I 22305 IFCH>HPTHENCH=HP 22310 GOSUB20260:GOTO21900 22400 S=4:T=3:U=11 22402 PRINTSP$(S):IFSF(T)<0THENSF(T)=0 22405 SF(T)=SF(T)+INT(RND(1)*U+5):GOTO21900 22500 PRINTSP$(5):GOSUB17500:IFD=0THEN21800 22505 IFUN=1THEN22515 22510 PRINT"THE "M$" IS INSULTED":PRINT"AT BEING CALLED UNDEAD":GOTO21900 22515 IFRND(1)<.05*S(2)+.05*LV-.05*MLTHEN22525 22520 PRINT"THE "M$" LISTENS WITH DEAF EARS":GOTO21900 22525 ML=INT((ML/2)+.5):PRINT"IT RUNS IN FEAR!!":GOTO3223 22600 S=6:T=4:U=11:GOTO22402 23000 ONSGOTO23100,23200,23300,23400,23500,23600 23100 PRINTSP$(7):GOSUB17500:IFD=0THEN21800 23105 IFINT(RND(1)^2*20+ML)>S(1)THENPRINT"THE "M$" DODGES ASIDE!":GOTO3300 23107 POKEC9+1,1:POKEM1,1:POKEM2,1 23110 PRINT"THE "M$" IS WEBBED!":PRINT"PRESS TO KILL:";:GOSUB16000 23115 IFC$<>CHR$(13)THENGOSUB17000:GOTO3710 23120 IFRND(1)-ML/20>.2THEN3220 23125 PRINT"IT BROKE FREE!!":GOSUB19000:GOTO3300 23200 S=8:T=5:U=21:GOTO22402 23300 PRINTSP$(9):GOSUB17500:IFD=0THEN21800 23305 I=INT(RND(1)*12+3):GOTO21700 23400 S=10:T=2:U=21:GOTO22402 23500 PRINTSP$(11):GOSUB17000:IFD=0THEN21800 23502 IFUN=1THENPRINT"THE UNDEAD IGNORE YOUR WILES!":GOTO3300 23505 IFINT((RND(1)^2)*20+1)>S(5)THENPRINT"THE "M$" RESISTS YOU!":GOTO3300 23510 PRINT"THE "M$" IS CHARMED":PRINT"PRESS TO KILL:";:GOSUB16000 23515 GOTO23115 23600 S=12:T=1:U=21:GOTO22402 24000 ONSGOTO24100,24200,24300,24400,24500,24600 24100 PRINTSP$(13):GOSUB17000:PRINT"ZZZZAAAAPP!!!":IFD=0THEN21800 24102 POKEBK,1:GOSUB50700:POKEF4,129:FORQ=1TO55:POKEF1+1,Q:NEXT:GOSUB50750 24105 POKEBK,0:GOSUB19000:I=INT(RND(1)*6*LV+15):GOTO21700 24200 PRINTSP$(14):I=INT(RND(1)*24+1):PRINT"YOU FEEL BETTER":CH=CH+I 24205 IFCH>HPTHENCH=HP 24210 GOSUB20260:GOTO21900 24300 S=15:T=3:U=31:GOTO22402 24400 S=16:T=6:U=21:GOTO22402 24500 PRINTSP$(17):GOSUB17500:IFD=0THEN21800 24505 IFINT(RND(1)*20+ML)>S(1)THENPRINT"THE "M$" IGNORES YOU!":GOTO3300 24510 PRINT"THE "M$" IS HELD!":PRINT"PRESS TO KILL:";:GOSUB16000 24515 IFC$<>CHR$(13)THENGOSUB17000:GOTO3710 24520 IFRND(1)>.2+ML*.03THEN3220 24525 PRINT"IT BROKE FREE!!":GOSUB19000:GOTO3300 24600 PRINTSP$(18):GOSUB17500:IFD=0THEN21800 24605 IFINT(RND(1)*22+ML)";:GOSUB16000 25110 FORI=1TO9:IFMID$("WXAD8246",I,1)=C$THEN25117 25115 NEXT:PRINT"???":GOSUB17000:GOTO25105 25117 IFI>4THENI=I-4 25118 IFI=5THEN21900 25120 IF(I=1ANDCY>1)OR(I=2ANDCY<200)OR(I=3ANDCX>1)OR(I=4ANDCX<200)THEN25125 25122 PRINT"ONLY STONE THERE....":GOTO21900 25125 GOSUB30200:PRINT:PRINT"POOF":ONIGOTO25135,25145,25130,25140 25130 FORQ=115TO65STEP-1:POKECP,Q:NEXT:GOTO25190 25135 FORQ=120TO70STEP-1:POKECP+1,Q:NEXT:GOTO25190 25140 FORQ=115TO165:POKECP,Q:NEXT:GOTO25190 25145 FORQ=120TO170:POKECP+1,Q:NEXT:GOTO25190 25190 ONIGOTO8155,8205,8255,8305 25200 PRINTSP$(20):GOSUB17000:PRINT"WHOOOOOSHH!!!":IFD=0THEN21800 25205 PRINT"THE "M$" IS BURNING!":I=INT(RND(1)*12*LV+15):POKEM1,2:POKEM2,2 25210 POKEC9+1,2:FORQ=0TO255:POKEBK,Q:Q=Q:NEXT:POKEBK,0:GOTO21700 25300 PRINTSP$(21):GOSUB17500:IFD=0THEN21800 25305 I=INT(RND(1)*32+10):GOTO21700 25400 PRINTSP$(22):GOSUB17500:IFD=0THEN21800 25405 IFRND(1)>.6THENPRINT"THE "M$" ISN'T AFFECTED":GOTO3300 25410 POKEC9+1,12:POKEM1,12:POKEM2,12:PRINT"ONE STONE STATUE....":GOSUB19000:GOTO3220 25500 S=23:T=7:U=30:GOTO22402 25600 PRINTSP$(24):GOSUB17500:PRINT"DIE!!!!!!":IFD=0THEN21800 25603 IFUN=1THEN21930 25605 GOSUB19000:IFRND(1)>.3+ML*.04-LV*.03THEN3220 25610 PRINT"THE "M$" LAUGHS!":GOSUB17500:GOTO3300 26000 ONSGOTO26100,26200,26300,26400,26500,26600 26100 PRINTSP$(25):GOSUB17500:IFD=1THEN21750 26105 PRINT"+NORTH/-SOUTH:";:GOSUB20800:NY=C:PRINT"+EAST/-WEST:";:GOSUB20800 26110 NX=C:PRINT"+UP/-DOWN:";:GOSUB20800:NZ=C:I=SQR(NX^2+NY^2+(NZ*5)^2)-.1 26115 IFI>LV*5THENPRINT"TOO FAR...TRY AGAIN":GOSUB17500:GOTO26105 26120 NX=CX+NX:NY=CY-NY:NZ=CZ-NZ 26125 IFNX>0ANDNX<201ANDNY>0ANDNY<201ANDNZ<51THEN26135 26130 PRINT"ONLY STONE THERE....THE SPELL FAILS..":GOTO21900 26135 IFNZ<1THENPRINT"ONLY THIN AIR...THE SPELL FAILS":GOTO21900 26140 CX=NX:CY=NY:CZ=NZ:PRINT"POOF!":GOSUB30200:GOTO2000 26200 S=26:T=8:U=16:GOTO22402 26300 PRINTSP$(27):GOSUB17500:IFD=0THEN21800 26305 PRINT"QWERTY!!!!":GOSUB19000:IFUN=0ANDRND(1)<.8THEN3220 26307 IFUN=1THEN21930 26310 PRINT"THE "M$" DOESN'T HEAR...":GOTO21900 26400 PRINTSP$(28):GOSUB17500:IFD=0THEN21800 26405 PRINT"BRRRR!!!!":I=60:GOTO21700 26500 PRINTSP$(29):GOSUB17500:POKE49483,102:PRINT"WWHHOOOOOSSHHH!!!" 26505 PRINT"A WALL OF FIRE APPEARS ABOUT YOU":POKEBK,2:GOSUB19000:GOSUB17500 26507 POKEBK,0:IFD=0THEN21800 26510 POKE49483,32:IFRND(1)>.4THENPRINT"THE "M$" IS GONE":GOTO21920 26515 PRINT"THE "M$" WALKS THROUGH!!!":I=INT(RND(1)*12+8):GOTO21700 26600 PRINTSP$(30):GOSUB17500:IFD=0THEN21800 26605 IFUN=1THEN21930 26610 PRINT"BLACK DEATH FOR THE "M$ 26615 GOSUB17500:IFRND(1)>S(2)*.05THENPRINT"IT IS IMMUNE!":GOTO21900 26620 IFRND(1)*2S(3)*.06THEN27220 27210 PRINT"IT WORKS!!":CH=HP:GOSUB20300:POKESE,1:GOSUB20600:D=0:GOTO21900 27220 PRINT"IT DOESN'T WORK!":GOTO9000 27300 PRINTSP$(33):GOSUB17500:IFD=0THEN21800 27305 FORU=1TO9:PRINTTAB(16);MID$(".*Ѧ ",U,1);"":GOSUB19500:NEXT 27307 GOSUB19000:IFRND(1)<.9THEN3220 27310 PRINT"THE "M$" DOESN'T SEE...":GOTO21900 27400 PRINTSP$(34):GOSUB17500:IFD=1THEN21750 27405 FORI=0TO10:I(I)=0:NEXT:GD=0:PRINT"";:GOSUB20300:GOSUB30200 27410 CX=25:CY=13:CZ=1:PRINT"***ZAP!!***":GOSUB19000:GOTO2000 27500 PRINTSP$(35):GOSUB17500:PRINT"YOU FEEL BETTER!":CH=HP:GOSUB20260 27505 GOTO21900 27600 PRINTSP$(36):GOSUB17500:PRINT"A SHIFTING MULTI-COLORED WALL APPEARS" 27605 IFD=0THEN21800 27610 FORJ=1TO64:POKE49523,102:POKE49523,230 27612 POKE55667,((PEEK(55667)+1)AND15):NEXT 27615 POKE49523,32:POKESE,1:PRINT"THE "M$" IS GONE":GOTO21920 30000 M=0:IFM%(1)=0THEN30020 30010 M=M%(1):ML=L%(1):MH=H%(1):GOSUB20700 30020 FORI=1TO19:M%(I)=M%(I+1):L%(I)=L%(I+1):H%(I)=H%(I+1):NEXT 30022 M%(20)=0:L%(20)=0:H%(20)=0 30025 PRINT"":PRINTTAB(22)"";:FORQ=1TO20:IFM%(Q)=0THENPRINT" ";:GOTO30040 30030 PRINT""; 30040 NEXT:RETURN 30100 FORQ=19TO1STEP-1:M%(Q+1)=M%(Q):L%(Q+1)=L%(Q):H%(Q+1)=H%(Q):NEXT 30105 IFM=0THENM%(1)=0:L%(1)=0:H%(1)=0:GOTO30025 30110 M%(1)=M:L%(1)=ML:H%(1)=MH:GOTO30025 30200 FORQ=1TO20:M%(Q)=0:L%(Q)=0:H%(Q)=0:NEXT:GOTO30025 32000 RETURN:REMENABLE PROTECTION HERE 32767 GOSUB19000:SYS(PEEK(65532)+256*PEEK(65533)):END 33000 REM *INIT ALL SPRITE FUNCTIONS* 33005 B2=50176:SO=64:CP=53248:SL=50168:XX=CP+16:SE=CP+21:YE=CP+23:XE=CP+29 33010 MC=CP+28:M1=CP+37:M2=CP+38:C9=CP+39:B1=1024:B3=39872:BK=CP+33:BD=CP+32 33015 POKESE,0:POKEM1,7:POKEM2,9:POKEXX,0:POKEXE,0:POKEYE,0:POKEMC,0 33020 POKEF+27,TH:FORI=0TO7:PW(I)=2^I:READJ:POKECP+I,J:NEXT 33025 DATA115,120,100,100,110,95,90,75 33030 FORI=1TO5:READCL(I):NEXT 33035 DATA1,5,12,2,0 33040 POKESL,31:POKEC9,11:AN=0:AR=10:RETURN 33050 REM *INIT CHAR GRAPHIC CHANGES* 33055 FORI=0TO23:READBW(I):POKEWW+I,BW(I):NEXT:RETURN 33060 DATA0,247,247,247,0,127,127,127 33065 DATA0,0,0,255,255,0,0,0 33070 DATA24,24,24,24,24,24,24,24 33100 REM *COPY SPRITE S1 TO SLOT S2* 33103 POKEM1,7:POKEM2,9:IFS1>15THENS1=S1+1 33105 POKESE,PEEK(SE)ANDNOTPW(S2):Q=B3+S1*2:POKEC9+S2,PEEK(Q+1):Q=PEEK(Q) 33110 IF(QAND4)THENPOKEMC,PEEK(MC)ORPW(S2) 33115 IF(QAND4)=0THENPOKEMC,PEEK(MC)AND(NOTPW(S2)) 33120 IF(QAND2)THENPOKEXE,PEEK(XE)ORPW(S2) 33125 IF(QAND2)=0THENPOKEXE,PEEK(XE)AND(NOTPW(S2)) 33130 IF(QAND1)THENPOKEYE,PEEK(YE)ORPW(S2) 33135 IF(QAND1)=0THENPOKEYE,PEEK(YE)AND(NOTPW(S2)) 33150 IFS1>15THEN33160 33155 Q=B1+S1*SO:FORQI=0TO63:POKEB2+QI,PEEK(Q+QI):NEXT:S1=16 33160 POKESL+S2,S1:POKESE,PEEK(SE)ORPW(S2):RETURN 33500 REM *SETUP TREASURE* 33505 S2=2:IFI>2THENS1=28:GOSUB33100:AN=5:AR=1:RETURN 33510 S1=27:GOSUB33100:IFI=0THENPOKEC9+2,9:RETURN 33515 IFI=1THENPOKEC9+2,12:RETURN 33520 POKEC9+2,7:RETURN 40000 REM *INPUT ANIMATION ROUTINES* 40005 AQ=INT(400/AR):FORQ=1TOAQ:FORQQ=1TOAR:GETC$:IFC$<>""THEN16005 40010 NEXT 40015 GOSUB40050 40020 NEXT:IFNM$="DEMO"THEN40005 40025 GOTO16015 40050 ONANGOSUB40100,40200,40300,40400,40500 40055 RETURN 40100 POKE49483,(PEEK(49483)+128)AND255:RETURN 40200 AC=(AC+1)AND7:POKE55627,AC:POKEF1+1,20+AC*2:RETURN 40300 POKEM1,AC:AC=(AC+1)AND15:POKEC9+1,AC:RETURN 40400 AC=(AC+1)AND15:POKEC9+3,AC:POKECP+6,90+AC*2:RETURN 40500 POKEM1,RND(1)*15:POKEM2,RND(1)*15:POKEC9+2,RND(1)*15:RETURN 50000 REM *SETUP SOUND* 50005 F=54272:F1=F:F2=F+7:F3=F+14:FV=F+24:FT=38400:F4=F+4:F5=F+11:F6=F+18 50010 I=8098:R=61176/64814:FORK=59TO0STEP-1:NT%(K)=INT(I):I=I*R:NEXT 50015 FORQ=0TO24:POKEF+Q,0:NEXT:RETURN 50100 REM *CHIME I TIMES* 50102 IFPEEK(IB)THENRETURN 50105 POKEF1+1,11:POKEF1,0:POKEF+5,43:POKEF+6,0:POKEF3+1,5:POKEF3,0:POKEFV,15 50110 FORQ=1TOI:POKEF4,20:POKEF4,21:FORQQ=1TO10:POKEFZ,RND(1)*8+200:NEXT 50112 FORQQ=1TO600 50115 IFPEEK(IB)THENPOKEF4,0:POKEF5,0:POKEF6,0:POKEFV,0:POKEFZ,200:RETURN 50120 NEXT:NEXT:POKEF4,20:GOSUB19000:POKEFV,0:POKEFZ,200:RETURN 50200 REM *TITLE PAGE MUSIC* 50205 POKEF+5,144:POKEF+6,217:POKEF+12,251:POKEF+13,27:POKEF+19,251:POKEF+20,27 50210 POKEF3,70:POKEF3+1,6:POKEF5,0 50215 POKEFV,8:FORJ=1TO500:NEXT:POKEF6,129:TI$="000000" 50220 IFPEEK(IB)THEN50295 50225 POKEFZ,RND(1)*4+200:IFTI<480THEN50220 50230 POKEF2,251:POKEF2+1,9:POKEF5,129:TI$="000000" 50235 IFPEEK(IB)THEN50295 50240 POKEFZ,RND(1)*4+200:IFTI<540THEN50235 50245 POKEF6,0:POKEF+19,16:POKEF+20,215:F(0)=17:F(1)=129:F(2)=17:POKEFV,15 50247 POKESZ,200:POKEF+5,16:POKEF+6,215 50250 FF=FT:GOSUB50500:IFPEEK(IB)THEN50295 50255 I=5:GOSUB50100 50295 Q=AQ+1:POKEF4,0:POKEF5,0:POKEF6,0:FORQ=0TO24:POKEF+Q,0:NEXT:RETURN 50500 REM *MUSIC SEQUENCER* 50502 K=F1+1 50505 TI$="000000":FS=PEEK(FF)*3:IFFS=0THENRETURN 50515 FF=FF+1:FORI=0TO2:Q=PEEK(FF):IFQ=0THEN50520 50516 IFQ=255THENPOKEF4+I*7,0:GOTO50520 50517 POKEF1+I*7,NT%(Q)ANDTH:POKEK+I*7,NT%(Q)/TF:POKEF4+I*7,F(I) 50520 FF=FF+1:NEXTI:IFPEEK(IB)THENRETURN 50525 IFAN=3THENGOSUB40300 50530 IFPEEK(IB)THENRETURN 50535 IFTI