Source:The Lair of the Minotaur

From Eamon Wiki
Jump to navigation Jump to search
◄ Previous This page is a verbatim reproduction of original source material. It should not be edited except for maintenance by administrators. Next ►
Description

The source code of the Eamon adventure The Lair of the Minotaur, written in Applesoft BASIC.

Source

http://eamonag.org/programs/Dos33/D3_002.DSK

Date

Originally written circa 1980; last updated 15 December 1984

Author

Donald Brown

License

The use of this item is permitted and constitutes fair use on the grounds that it's free or in the public domain.

EAMON ADVENTURE #2.BAS

0 A$ = "LAIR OF THE MINOTAUR":NUM = 2:A2$ = "DONALD BROWN"
5  ONERR  GOTO 9
6 D$ =  CHR$ (4): PRINT D$"VERIFY GAME.PTRS": PRINT D$"RUN MAIN PGM"
9  POKE 216,0
10  TEXT : HOME : INVERSE 
20  PRINT "*****************************************"; SPC( 38);"**"; SPC(  INT ((38 -  LEN (A$)) / 2));A$; SPC(  INT ((38 -  LEN (A$)) / 2) + ( LEN (A$) / 2 <  >  INT ( LEN (A$) / 2)));"**"; SPC( 38);"*****************************************": NORMAL 
30  PRINT  TAB( 12);"ADVENTURE #";NUM;" FOR": PRINT : PRINT  TAB( 7);"THE WONDERFUL WORLD OF EAMON": PRINT : PRINT "----------------------------------------"
40  PRINT "THE EAMON FANTASY GAMING SYSTEM WAS        DEVELOPED BY DONALD BROWN": PRINT A$;" WAS": PRINT "   DEVELOPED BY ";A2$
50  PRINT "NON-COMMERCIAL DISTRIBTION ENCOURAGED.": PRINT : PRINT "TO USE THIS DISKETTE REQUIRES AN EAMON  MASTER DISKETTE WHICH MUST BE BOOTED UP ON.": PRINT 
60  NEW

THE LAIR OF THE MINOTAUR.BAS

10  REM ///MINOTAUR'S LAIR
20  REM ///BY DONALD BROWN
30  REM ///
40  REM /// EAMON DUNGEON
50  REM ///     #2
55 DK$ =  CHR$ (4)
60  FOR P = 770 TO 788: READ A: POKE P,A: NEXT 
70  DATA  173,48,192,136,208,4,198,1,240,8,202,208,246,166,0,76,2,3,96
80  ONERR  GOTO 1000
100  TEXT : HOME 
140  PRINT : PRINT DK$;"OPEN FRESH MEAT": PRINT DK$;"READ FRESH MEAT": INPUT A$,NAME$: FOR A = 1 TO 14: INPUT A$: NEXT : PRINT DK$;"CLOSE"
170 SEX = 1 + (A$ = "F")
180 REL$ = "GIRLFRIEND":PLNM$ = "LARCENOUS LIL":S2$ = "SHE": IF SEX = 2 THEN REL$ = "BOYFRIEND":PLNM$ = "SLIPPERY SVEN":S2$ = "HE"
190  HOME : PRINT : PRINT NAME$;", YOU ARE IN BIG TROUBLE.": PRINT : PRINT : PRINT "YOU HAD ARRANGED TO MEET IN THE TOWN OF": PRINT : PRINT "DUNDERHAVEN WITH YOUR ";REL$;",": PRINT 
200  PRINT PLNM$;".  WHEN YOU ARRIVED, YOU": PRINT : PRINT "LEARNED THAT ";PLNM$;" HAD COME": PRINT : PRINT "INTO TOWN FLAT BROKE, AND HAD TRIED TO": PRINT 
210  PRINT "PICK UP SOME EASY CASH BY BURGLARIZING A": PRINT "NEARBY CASTLE.  ";S2$;" HASN'T BEEN SEEN": PRINT : PRINT "SINCE.": PRINT : PRINT 
330  VTAB 24: INVERSE : PRINT "     PRESS SPACE BAR TO CONTINUE       ";
340  GET A$: IF A$ <  > " " THEN 340
350  PRINT : NORMAL : HOME 
400  PRINT : PRINT "   MAKING YOUR OWN SUBTLE ENTRANCE INTO": PRINT : PRINT "THE CASTLE, ALL SEEMED TO BE GOING WELL": PRINT : PRINT "UNTIL SUDDENLY THE LIGHTS GO ON AND YOU": PRINT 
410  PRINT "SEE YOURSELF SURROUNDED BY BOWMEN AND A": PRINT : PRINT "FAT, UGLY MAN ON A THRONE.  HE SNEERS AT": PRINT "YOU AND SAYS 'WELL, BOYS, ANOTHER THIEF.": PRINT "I GUESS WE'LL SEND THE SCOUNDREL TO": PRINT 
420  PRINT "MEET THE FIRST.'  WITH THAT, HE PULLS": PRINT : PRINT "A LEVER, AND THE BOTTOM DROPS OUT OF THE": PRINT "FLOOR.": PRINT 
430  VTAB 24: PRINT "---------------------------------------";
450  FOR X = 1 TO 1000: IF  PEEK ( - 16374) <  > 155 THEN  NEXT X
455  POKE  - 16368,0
460  VTAB 24: HTAB 15: PRINT  SPC( 10): PRINT :A = 1:DR = 20:A1 = 14:A2 = 10:TN = 770: FOR Y = 30 TO 100
470  POKE Z,Y: POKE A,DR: PRINT  TAB( A1);"I"; SPC( A2);"I": CALL TN
480  NEXT Y
490  PRINT : PRINT  TAB( 18);"THUD"
500  PRINT DK$;"RUN MAIN PGM"
1000  ONERR  GOTO 1000
1010  HOME : VTAB 5: PRINT "(INSERT EAMON MASTER DISKETTE INTO SLOT": PRINT "   SIX, DRIVE ONE DISK DRIVE THEN HIT": PRINT "   ANY KEY)   ";: POKE  - 16368,0: GET A$: PRINT 
1020  PRINT DK$;"RUN THE WONDERFUL WORLD OF EAMON,S6,D1"

MAIN PGM.BAS

1  REM     EAMON ADVENTURE #2
2  REM -> THE MINOTAUR'S LAIR <-
3  REM 
4  REM     BY DONALD BROWN
5  REM 
6  REM  CONVERTED TO STD 10-8-84
7  REM 

REV.12-15-84


8  REM 

EAMON ADVENTURER'S GUILD
7625 HAWKHAVEN DR.
CLEMMONS, NC 27012


10  ONERR  GOTO 50
20 DK$ =  CHR$ (4): PRINT DK$"VERIFY GAME.PTRS": GOTO 31000
50  POKE 216,0: GOTO 1000
100  REM ///MAIN LOOP. FIRST GIVE ROOM DESC, THEN GET COMMAND
110  PRINT 
115  IF SPD THEN SPD = SPD - 1: IF  NOT SPD THEN MD%(0,2) = MD%(0,2) / 2:MD%(0,10) = MD%(0,10) - 2 * MD%(0,2): IF  RND (1) > .8 THEN  PRINT "YOUR SPEED SPELL HAS JUST EXPIRED!": PRINT 
120  IF ROOM < 89 AND (AD%(1,4) <  > ROOM AND AD%(1,4) <  >  - 1) THEN  PRINT : PRINT "IT IS TOO DARK TO SEE ANYTHING.": GOTO 165
125  IF V%(ROOM) THEN  PRINT DK$;"READ EAMON.ROOM NAMES,R";ROOM: INPUT A$: PRINT DK$: PRINT "YOU ARE ": PRINT " ";A$: PRINT 
130  IF  NOT V%(ROOM) THEN  PRINT DK$;"READ EAMON.DESC,R";ROOM: INPUT A$: PRINT DK$: PRINT A$: PRINT :V%(ROOM) = 1: IF ROOM = 16 THEN DIE = 1: GOTO 2000
135  FOR M = 1 TO NM: IF MD%(M,5) = ROOM AND MD%(M,15) THEN  PRINT MN$(M);" IS HERE.": PRINT 
140  IF MD%(M,5) = ROOM AND  NOT MD%(M,15) THEN  PRINT DK$;"READ EAMON.DESC,R";M + 300: INPUT A$: PRINT DK$: PRINT A$:MD%(M,15) = 1: PRINT 
145  NEXT M: FOR A = 1 TO NA - WZ: IF AD%(A,4) = ROOM AND AD%(A,9) THEN  PRINT "YOU SEE ";AN$(A)
150  IF AD%(A,4) = ROOM AND  NOT AD%(A,9) THEN  PRINT DK$;"READ EAMON.DESC,R";A + 100: INPUT A$: PRINT DK$: PRINT A$:AD%(A,9) = 1: PRINT 
155  NEXT A: FOR A = A TO NA: IF AD%(A,4) = ROOM THEN  PRINT "YOUR ";AN$(A) + " IS HERE."
160  NEXT A:V%(ROOM) = 1: IF  NOT RZ AND ROOM = 52 THEN  PRINT : PRINT E1$: PRINT 
165  PRINT : INPUT "  YOUR COMMAND?";A$
170  IF  LEFT$ (A$,1) = " " THEN A$ =  MID$ (A$,2): GOTO 170
175  IF A$ = "" THEN A$ = CZ$: VTAB  PEEK (37): HTAB 17: PRINT A$
180 CZ$ = A$: FOR A = 2 TO  LEN (A$): IF  MID$ (A$,A,1) <  > " " THEN  NEXT 
185 V$ =  LEFT$ (A$,A - 1):S$ =  MID$ (A$,A + 1)
190  IF  LEFT$ (S$,1) = " " THEN S$ =  MID$ (S$,2): GOTO 190
193  FOR C = 1 TO NC: IF  LEFT$ (C$(C), LEN (V$)) = V$ THEN 200
196  NEXT : PRINT : PRINT "HUH? I ONLY UNDERSTAND THESE COMMANDS--    ": FOR C = 1 TO NC: PRINT C$(C); SPC( 20 -  LEN (C$(C)));: NEXT : PRINT : PRINT : GOTO 165
200 V$ = C$(C)
205  ON C GOTO 3000,3000,3000,3000,4000,4000,5000,6000,6000,7000,8000,9000,10000,11000,12000,13000,14000,15000,15000,16000,17000,18000,19000,20000,20000,20000,20000,21000,30000
300  REM ///COMMANDS RETURN TO HERE
310  IF  NOT NBTL THEN 500
320  FOR M = 1 TO NM: IF MD%(M,5) <  > ROOM THEN 490
330 M2 = MD%(M,14) - (MD%(M,14) = 2):MR = FD%(M2) / TD%(M2) * 100 +  INT (41 *  RND (1) - 20)
340  IF MD%(M,4) < MR THEN  PRINT : PRINT MN$(M);" FLEES OUT AN EXIT.": PRINT : GOSUB 8500:MD%(M,5) = R2:M2 = MD%(M,14):TD%(M2) = TD%(M2) - MD%(M,1):FD%(M2) = FD%(M2) - MD%(M,13): GOTO 490
345  IF MD%(M,14) = 2 THEN 490
350  IF MD%(M,14) = 3 THEN 390
360 OF = M: IF TD%(3) = MD%(0,1) THEN DF = 0: GOSUB 7500: GOTO 490
370  FOR M2 = 1 TO NM: IF MD%(M2,5) = ROOM AND MD%(M2,14) = 3 AND  RND (1) < .25 THEN DF = M2: GOSUB 7500:M2 = 200: NEXT M2: GOTO 490
380  NEXT M2:DF = 0: GOSUB 7500: GOTO 490
390 OF = M
400  FOR M2 = 1 TO NM: IF MD%(M2,5) = ROOM AND MD%(M2,14) = 1 THEN DF = M2: GOSUB 7500:M2 = 200: NEXT M2: GOTO 490
410  NEXT M2
490 NBTL = (FD%(1) < TD%(1)): IF NBTL THEN  NEXT M
500  REM 
900  GOTO 100
1000  REM ///INITIALIZE DATA
1005  PRINT : PRINT DK$;"OPEN EAMON.DESC,L256": PRINT DK$;"READ EAMON.DESC,R0": INPUT NR,NZ,NE,NM: PRINT DK$;"CLOSE":NA = NZ
1010  PRINT DK$;"OPEN EAMON.ARTIFACTS,L128": DIM AN$(NA + 4),AD%(NA + 4,9): FOR A = 1 TO NA: PRINT DK$;"READ EAMON.ARTIFACTS,R";A
1015  INPUT AN$(A): FOR A2 = 1 TO 4: INPUT AD%(A,A2): NEXT A2: IF AD%(A,2) > 1 THEN  FOR A2 = 5 TO 8: INPUT AD%(A,A2): NEXT A2
1020  NEXT A: PRINT DK$;"OPEN EAMON.MONSTERS,L128": DIM MN$(NM),MD%(NM,15): FOR A = 1 TO NM: PRINT DK$;"READ EAMON.MONSTERS,R";A: INPUT MN$(A): FOR A2 = 1 TO 12: INPUT MD%(A,A2): NEXT A2,A: PRINT DK$;"CLOSE"
1030  PRINT DK$;"OPEN FRESH MEAT": PRINT DK$;"READ FRESH MEAT": INPUT REC: INPUT MN$(0),MD%(0,1),MD%(0,2),CH: FOR A = 1 TO 4: INPUT SA%(A): NEXT : FOR A = 1 TO 5: INPUT WA%(A): NEXT : INPUT AE,SEX$,GOLD,BANK,AC
1040 NW = 15: DIM WN$(NW),WT%(NW),WO%(NW),WD%(NW),WP%(NW): FOR A = 1 TO 4: INPUT WN$(A),WT%(A),WO%(A),WD%(A),WS%(A): NEXT : PRINT DK$;"CLOSE"
1045  REM  PRINT DK$;"DELETE FRESH MEAT"
1050  IF SEX$ = "F" THEN MN$(9) = "SLIPPERY SVEN"
1060 E1$ = MN$(9) + " IS CHAINED TO THE ALTAR!"
1070  PRINT DK$;"OPEN EAMON.DESC,L256": PRINT DK$;"OPEN EAMON.ROOM NAMES,L64": PRINT DK$;"OPEN EAMON.ROOMS,L64"
1080  FOR W2 = 1 TO 4: IF WN$(W2) <  > "NONE" THEN NA = NA + 1:AN$(NA) = WN$(W2):AD%(NA,2) = 2:AD%(NA,3) = 2:AD%(NA,4) =  - 1:AD%(NA,5) = WO%(W2):AD%(NA,6) = WT%(W2):AD%(NA,7) = WD%(W2):AD%(NA,8) = WS%(W2): NEXT :W2 = 4
1090 WZ = W2:WT = W * WZ
1100  FOR W2 = 1 TO WZ: FOR A = 1 TO NA - WZ: IF AN$(A) = WN$(W2) THEN AN$(A) = AN$(A) + "#": FOR A = 0 TO 0: NEXT : GOTO 1100
1110  NEXT A,W2:EA = 0:MD%(0,8) = 0:A2 =  INT (AC / 2): IF A2 * 2 <  > AC THEN MD%(0,8) = 1:EA =  - 5
1120  IF A2 THEN MD%(0,8) = MD%(0,8) + A2:EA = EA - A2 * 10: IF A2 = 3 THEN MD%(0,8) = MD%(0,8) + 2:EA = EA - 30
1130  IF NA > 35 THEN MD%(0,10) = (EA + AE) * ( - EA > AE) + WO%(1) + WA%(WT%(1)) + 2 * MD%(0,2):MD%(0,7) = 0:MD%(0,9) = 36:MD%(0,11) = WD%(1):MD%(0,12) = WS%(1):MD%(0,14) = 3
1140  READ NC: DIM C$(NC): FOR C = 1 TO NC: READ C$(C): NEXT 
1150  FOR S = 1 TO 4:S2%(S) = SA%(S): NEXT : DIM V%(96):ROOM = 1
1900  GOTO 100
1910  DATA  29
1920  DATA   NORTH,SOUTH,EAST,WEST,GET,TAKE,DROP,LOOK,EXAMINE,ATTACK,FLEE,GIVE,INVENTORY,BLAST,HEAL,POWER,SPEED,SMILE,WAVE,SAY,READY,DRINK,ENTER,OPEN,UNLOCK,RELEASE
1930  DATA    FREE,DIG,SAVE
2000  REM ///DONE WITH GAME
2010  PRINT : PRINT "(HIT ANY KEY TO CONTINUE)   ";: POKE  - 16368,0: GET A$: PRINT 
2020  PRINT DK$"CLOSE": IF SPD THEN MD%(0,2) = MD%(0,2) / 2
2030  IF DIE THEN 2500
2040  FOR W = 1 TO 4:WN$(W) = "NONE": NEXT :W2 = 1: FOR A = 1 TO NA: IF AD%(A,2) > 1 AND AD%(A,4) =  - 1 THEN WN$(W2) = AN$(A):WP%(W2) = A:W2 = W2 + 1:AD%(A,4) = 0
2050  NEXT A: IF W2 < 6 THEN 2300
2060  HOME : VTAB 5: PRINT "AS YOU START TO ENTER THE MAIN HALL,": PRINT "LORD WILLIAM MISSLEFIRE APPEARS AND": PRINT "TELLS YOU, 'YOU HAVE TOO MANY WEAPONS": PRINT "TO KEEP THEM ALL--4 IS THE LEGAL LIMIT.": PRINT : PRINT "YOUR WEAPONS ARE--"
2070  FOR W = 1 TO W2 - 1: PRINT  SPC( 4);W;"--";WN$(W): NEXT : PRINT : PRINT "ENTER THE NUMBER OF THE WEAPON TO SELL     (1-";W2 - 1;") "
2080  VTAB  PEEK (37): HTAB 23: INPUT A$:W5 =  VAL (A$): IF W5 < 1 OR W5 > W2 - 1 OR W5 <  >  INT (W5) THEN 2080
2090 AD%(WP%(W5),4) =  - 1:WN$(W5) = WN$(W2 - 1):WP%(W5) = WP%(W2 - 1):W2 = W2 - 1: IF W2 > 5 THEN 2060
2300  FOR W = 1 TO 4: IF WP%(W) THEN WT%(W) = AD%(WP%(W),6):WO%(W) = AD%(WP%(W),5):WD%(W) = AD%(WP%(W),7):WS%(W) = AD%(WP%(W),8)
2310  NEXT W: HOME : VTAB 5: PRINT "AS YOU DELIVER YOUR TREASURES TO SAM": PRINT "SLICKER, THE LOCAL BUYER FOR SUCH": PRINT "THINGS, HE EXAMINES YOUR GOODS AND": PRINT "PAYS YOU ";
2320 TP = 0: FOR A = 1 TO NA: IF AD%(A,4) <  >  - 1 THEN 2350
2330  IF AD%(A,2) <  > 0 THEN AD%(A,1) = AD%(A,1) * CH / 10
2340 TP = TP + AD%(A,1)
2350  NEXT A: PRINT TP;" GOLD PIECES.": PRINT 
2360 GOLD = GOLD + TP: PRINT : PRINT "(HIT ANY KEY TO CONTINUE)  ";: GET A$: PRINT 
2500  ONERR  GOTO 2500
2510  HOME : VTAB 5: PRINT "(INSERT EAMON MASTER DISKETTE, THEN": PRINT "   HIT THE 'C' KEY)  ";: POKE  - 16368,0
2520  GET A$: IF A$ <  > "C" THEN 2520
2530  PRINT A$
2540  IF DIE THEN  PRINT DK$;"OPEN THE ADVENTURER,S6,D1": PRINT DK$;"DELETE THE ADVENTURER": GOTO 2900
2550  PRINT DK$;"OPEN CHARACTERS,L150,S6,D1": PRINT DK$;"WRITE CHARACTERS,R";REC: PRINT MN$(0): PRINT MD%(0,1): PRINT MD%(0,2): PRINT CH: FOR A = 1 TO 4: PRINT SA%(A): NEXT 
2560  FOR A = 1 TO 5: PRINT WA%(A): NEXT : PRINT AE: PRINT SEX$: PRINT GOLD: PRINT BANK: PRINT AC: FOR A = 1 TO 4: PRINT WN$(A): PRINT WT%(A): PRINT WO%(A): PRINT WD%(A): PRINT WS%(A): NEXT 
2570  PRINT DK$;"OPEN THE ADVENTURER": PRINT DK$;"WRITE THE ADVENTURER": PRINT MN$(0): PRINT REC: PRINT DK$;"CLOSE"
2900  PRINT DK$;"RUN MAIN HALL,S6,D1"
3000  REM ///MOVE COMMAND
3010  IF NBTL THEN  PRINT : PRINT "YOU CAN'T DO THAT WITH UNFRIENDLIES        ABOUT!": PRINT : GOTO 100
3020  FOR D = 1 TO 6: IF  LEFT$ (V$,1) <  >  MID$ ("NSEWUD",D,1) THEN  NEXT 
3030  PRINT DK$;"READ EAMON.ROOMS,R";ROOM: FOR D2 = 1 TO D: INPUT R2: NEXT : PRINT DK$
3040  IF R2 > 0 THEN 3500
3050  REM ///SPECIAL MOVES
3060  IF R2 =  - 99 THEN  PRINT : PRINT "YOU SUCCESSFULLY RIDE OFF INTO THE": PRINT "  SUNSET.": GOTO 2000
3070  IF  NOT R2 THEN 3490
3080  IF AD%(3,4) = ROOM THEN R2 =  - R2: GOTO 3500
3090  IF ROOM = 54 AND AD%(17,4) = 0 THEN R2 =  - R2: GOTO 3500
3490  PRINT : PRINT "YOU CAN'T GO THAT WAY!":V%(ROOM) = 0: GOTO 100
3500 R3 = ROOM:ROOM = R2: GOSUB 3600
3510  IF (R2 > 8 AND R2 < 17) OR (R3 > 8 AND R3 < 17) THEN AD%(3,4) = ROOM
3520  GOTO 100
3600  REM ///CHECK REACTIONS ON MONSTERS
3610 TD%(1) = 0:TD%(3) = MD%(0,1):FD%(1) = 0:FD%(3) = MD%(0,13)
3620  FOR M = 1 TO NM: IF MD%(M,5) = R3 THEN  IF MD%(M,14) = 3 OR (MD%(M,14) = 1 AND 200 *  RND (1) < MD%(M,4)) THEN MD%(M,5) = ROOM: GOTO 3650
3630  IF MD%(M,5) <  > ROOM THEN 3900
3632  IF MD%(M,14) THEN 3650
3635 FR = MD%(M,3): IF FR AND FR <  > 100 THEN FR = FR +  INT ((CH - 10) * 2)
3640 MD%(M,14) = 1: IF FR > (100 *  RND (1)) THEN MD%(M,14) = 2: IF FR > (100 *  RND (1)) THEN MD%(M,14) = 3
3650 A = MD%(M,14):FD%(A) = FD%(A) + MD%(M,13):TD%(A) = TD%(A) + MD%(M,1)
3900  NEXT M:NBTL = (TD%(1) > 0): RETURN 
4000  REM ///GET COMMAND
4010  GOSUB 4900
4020  IF S$ = "ALL" THEN 4100
4030  IF S$ = "GOLD" THEN S$ = AN$(5)
4040  IF S$ = "SILVER" THEN S$ = AN$(12)
4045  IF S$ = "WATER" AND ROOM > 5 AND ROOM < 28 THEN AD%(5,4) = ROOM
4050  FOR A = 1 TO NA: IF (AN$(A) <  > S$ AND  LEFT$ (AN$(A), LEN (S$)) <  > S$ AND  RIGHT$ (AN$(A), LEN (S$)) <  > S$) OR AD%(A,4) <  > ROOM THEN  NEXT : PRINT : PRINT "I SEE NO ";S$;" HERE!": PRINT : GOTO 100
4060  GOSUB 4200: IF WT + AD%(A,3) > 10 * MD%(0,1) THEN  PRINT : PRINT "IT IS TOO HEAVY FOR YOU.": PRINT : GOTO 100
4070  PRINT : PRINT "GOT IT.":AD%(A,4) =  - 1:WT = WT + AD%(A,3): PRINT : IF AD%(A,2) < 2 OR MD%(0,9) <  >  - 1 THEN 300
4080  GOTO 17000
4100  FOR A = 1 TO NA: IF AD%(A,4) <  > ROOM THEN 4140
4110  GOSUB 4200: IF WT + AD%(A,3) > 10 * MD%(0,1) THEN  PRINT AN$(A);" IS TOO HEAVY": GOTO 4140
4120  PRINT AN$(A) + " TAKEN.":AD%(A,4) =  - 1:WT = WT + AD%(A,3)
4140  NEXT : PRINT : GOTO 300
4200  IF A <  > 10 THEN  RETURN 
4210  PRINT : PRINT "AS YOU TOUCH THE JEWEL, AN ELECTRIC": PRINT "SHOCK RUNS UP YOUR ARM. YOU HEAR A VOICECHUCKLING AS IT SAY, 'I TOLD YOU NOT TO TOUCH IT!'": PRINT :MD%(0,13) = MD%(0,13) + MD%(0,1) / 2
4220 DF = 0: IF MD%(0,13) >  = MD%(0,1) THEN 7700
4230  GOTO 7650
4900  IF S$ = "" THEN  PRINT : PRINT C$(C);" WHAT";: INPUT S$: GOTO 4900
4910  RETURN 
5000  REM ///DROP COMMAND
5020  IF S$ = "ALL" THEN 5100
5030  FOR A = 1 TO NA: IF (AN$(A) <  > S$ AND  RIGHT$ (AN$(A), LEN (S$)) <  > S$ AND  LEFT$ (AN$(A), LEN (S$)) <  > S$) OR AD%(A,4) <  >  - 1 THEN  NEXT : PRINT : PRINT "YOU AREN'T CARRYING A ";S$;"!": PRINT : GOTO 100
5040 WT = WT - AD%(A,3):AD%(A,4) = ROOM: PRINT AN$(A);" DROPPED.": PRINT 
5050  IF WT > 10 * MD%(0,1) THEN  PRINT "YOU SUDDENLY FIND YOU CANNOT CARRY ALL  OF THE ITEMS YOU ARE CARRYING, AND THEY ALL FALL TO THE GROUND.": PRINT : GOTO 5100
5060  IF MD%(0,9) > 0 THEN  IF AD%(MD%(0,9),4) <  >  - 1 THEN MD%(0,9) =  - 1
5070  GOTO 300
5100  FOR A = 1 TO NA: IF AD%(A,4) =  - 1 THEN  PRINT AN$(A);" DROPPED.":AD%(A,4) = ROOM
5110  NEXT A:WT = 0: GOTO 5060
6000  REM ///LOOK COMMAND
6020 LK = 0: FOR A = 1 TO NA - WZ: IF AN$(A) = S$ AND (AD%(A,4) = ROOM OR AD%(A,4) =  - 1) THEN  PRINT DK$;"READ EAMON.DESC,R";A + 100: INPUT A$: PRINT DK$: PRINT : PRINT A$: PRINT :LK = 1
6030  NEXT A: IF LK THEN 300
6040  FOR A = 1 TO NM: IF MN$(A) = S$ AND MD%(A,5) = ROOM THEN  PRINT DK$;"READ EAMON.DESC,R";A + 300: INPUT A$: PRINT DK$: PRINT : PRINT A$: PRINT :LK = 1
6050  NEXT A: IF LK THEN 300
6060 V%(ROOM) = 0: GOTO 300
7000  REM ///ATTACK COMMAND
7010  GOSUB 4900: IF S$ = "KNIGHT" THEN S$ = MN$(4)
7020  IF S$ = "BUNNY" OR S$ = "RABBIT" THEN S$ = MN$(2)
7030  IF S$ = "EYE" THEN S$ = MN$(3)
7040  FOR M = 1 TO NM: IF (S$ <  > MN$(M) AND  LEFT$ (MN$(M), LEN (S$)) <  > S$ AND  RIGHT$ (MN$(M), LEN (S$)) <  > S$) OR MD%(M,5) <  > ROOM THEN  NEXT : PRINT : PRINT "ATTACK WHO?": PRINT : GOTO 100
7050  IF MD%(0,9) =  - 1 THEN  PRINT : PRINT "YOU HAVE NO WEAPON READY!": PRINT : GOTO 100
7060 OF = 0:DF = M: GOSUB 7500: IF  NOT HIT THEN 7130
7080  IF INC THEN W2 = AD%(MD%(0,9),6):WA%(W2) = WA%(W2) + 2
7090  IF  - EA <  = AE THEN 300
7100  IF  INT (100 *  RND (1) + 1) <  = MD%(0,10) THEN 7130
7110 A = 2: IF EA + AE =  - 1 THEN A = 1
7120 AE = AE + A:MD%(0,10) = MD%(0,10) + A
7130  IF MD%(DF,14) = 1 OR DF = 0 THEN 300
7140 MD%(DF,3) = MD%(DF,3) / 2: FOR M = 1 TO NM: IF MD%(M,5) = ROOM AND MD%(M,14) > 1 THEN MD%(M,14) = 0
7150  NEXT M:R3 = ROOM: GOSUB 3600: GOTO 300
7400  REM ///MONSTER TRIES TO PICK UP WEAPON
7410  IF MD%(OF,10) = 0 THEN  RETURN 
7420  FOR A = 1 TO NA: IF AD%(A,4) <  > ROOM OR AD%(A,2) < 2 THEN  NEXT : RETURN 
7430  PRINT MN$(OF);" PICKS UP ";AN$(A): PRINT :AD%(A,4) = 0:MD%(OF,9) = A:MD%(OF,10) = MD%(OF,10) + AD%(A,5):MD%(OF,4) = MD%(OF,4) * 2: RETURN 
7500 HIT = 0: IF MD%(OF,9) =  - 1 THEN  RETURN 
7505  PRINT MN$(OF);" ATTACKS ";MN$(DF): PRINT " --";:RL =  INT (100 *  RND (1) + 1):HIT = 0: IF (RL < 5 OR RL < MD%(OF,10)) AND RL < 96 THEN HIT = 1
7510  IF HIT THEN 7600
7520  IF RL < 97 THEN  PRINT "A MISS.": RETURN 
7525  PRINT "A FUMBLE!":FR =  INT (100 *  RND (1) + 1): IF FR <  = 35 + 40 * ( NOT MD%(OF,9)) THEN  PRINT "  FUMBLE RECOVERED.": PRINT : RETURN 
7530  IF FR < 76 THEN  PRINT "  WEAPON DROPPED!":AD%(MD%(OF,9),4) = ROOM:MD%(OF,10) = MD%(OF,10) - AD%(MD%(OF,9),5):MD%(OF,9) =  - 1:MD%(OF,4) = MD%(OF,4) / 2: PRINT : RETURN 
7535  IF FR > 95 THEN 7550
7540  PRINT "  WEAPON BROKEN!":AD%(MD%(OF,9),4) = 0:MD%(OF,10) = MD%(OF,10) - AD%(MD%(OF,9),5):MD%(OF,9) =  - 1:MD%(OF,4) = MD%(OF,4) / 2: IF  RND (1) > .5 THEN  PRINT : RETURN 
7545  PRINT "  BROKEN WEAPON HURTS USER!"
7550  IF FR = 100 THEN 7560
7555 D = MD%(OF,11):S = MD%(OF,12):DF = OF:A = 1: GOTO 7635
7560 D = MD%(OF,11) * 2:S = MD%(OF,12):DF = OF:A = 0: GOTO 7635
7600 INC = ( INT (100 *  RND (1) + 1) > MD%(OF,10)):MD%(OF,10) = MD%(OF,10) + 2 * INC
7605 D = MD%(OF,11):S = MD%(OF,12):A = 1: IF RL > 5 THEN  PRINT "A HIT!": GOTO 7635
7610  PRINT "A CRITICAL HIT!":R2 =  INT (100 *  RND (1) + 1): IF R2 < 51 THEN A = 0: GOTO 7635
7615  IF R2 < 86 THEN S = 1.5 * S: GOTO 7635
7620  IF R2 < 96 THEN D = 2 * D: GOTO 7635
7625  IF R2 < 100 THEN D = 3 * D: GOTO 7635
7630  GOTO 7700
7635 D2 = 0: FOR D3 = 1 TO D:D2 = D2 +  INT (S *  RND (1) + 1): NEXT :D2 = D2 - A * MD%(DF,8): IF D2 < 1 THEN  PRINT "   BLOW BOUNCES OFF ARMOUR": PRINT : RETURN 
7640 MD%(DF,13) = MD%(DF,13) + D2: IF MD%(DF,13) >  = MD%(DF,1) THEN 7700
7645 A = MD%(DF,14):FD%(A) = FD%(A) + D2
7650  PRINT : PRINT MN$(DF);: ON  INT (MD%(DF,13) * 5 / MD%(DF,1) + 1) GOTO 7655,7660,7665,7670,7675
7655  PRINT " IS STILL IN GOOD": PRINT "  SHAPE.": RETURN 
7660  PRINT " IS HURTING.": RETURN 
7665  PRINT " IS IN PAIN.": RETURN 
7670  PRINT " IS VERY BADLY INJURED.": RETURN 
7675  PRINT " IS AT DEATH'S DOOR,": PRINT "  KNOCKING LOUDLY.": RETURN 
7700  PRINT MN$(DF);" IS DEAD!": PRINT :A = MD%(DF,14):FD%(A) = FD%(A) + MD%(DF,1) - MD%(DF,13) + D2:MD%(DF,5) = 0:A2 = DF + 25:AD%(A2,4) = ROOM: IF MD%(DF,9) > 0 THEN AD%(MD%(DF,9),4) = ROOM:MD%(DF,10) = MD%(DF,10) - AD%(MD%(DF,9),5):MD%(DF,9) =  - 1:MD%(DF,4) = MD%(DF,4) / 2
7720  IF DF = 0 THEN DIE = 1: GOTO 2000
7730  IF (MN$(DF) = "SKELETON" OR MN$(DF) = "HIGH PRIEST") AND AD%(2,4) = 0 THEN  PRINT : PRINT "A SKELETON KEY DROPS FROM HIS CLUTCHES": PRINT :AD%(2,4) = ROOM
7900  PRINT : RETURN 
8000  REM ///FLEE COMMAND
8010  IF  NOT NBTL THEN  PRINT : PRINT "THERE'S NOTHING TO FLEE FROM!": PRINT : GOTO 100
8020  GOSUB 8500: GOTO 3500
8500  PRINT DK$;"READ EAMON.ROOMS,R";ROOM: FOR D = 1 TO 6: INPUT DR%(D): NEXT : PRINT DK$
8510 R2 = DR%(6 *  RND (1) + 1): IF R2 < 1 THEN 8510
8520  RETURN 
9000  REM ///GIVE COMMAND
9010 A2 = 1
9020  FOR M = 1 TO NM: IF  LEFT$ (S$, LEN (MN$(M))) = MN$(M) AND MD%(M,5) = ROOM THEN 9050
9030  NEXT : IF A2 = 1 THEN A2 = 2: PRINT : INPUT "WHO TO GIVE TO? ";S$: GOTO 9020
9040  PRINT : PRINT "NOBODY HERE BY THAT NAME!": PRINT : GOTO 100
9050 S$ =  MID$ (S$, LEN (MN$(M)) + 1)
9060  IF  LEFT$ (S$,1) = " " THEN S$ =  MID$ (S$,2): GOTO 9060
9065  IF  VAL (S$) > 0 THEN 9500
9070  FOR A = 1 TO NA: IF  LEFT$ (S$, LEN (AN$(A))) = AN$(A) AND AD%(A,4) =  - 1 THEN 9095
9080  NEXT : IF A2 = 2 THEN A2 = 3: PRINT : INPUT "WHAT TO GIVE? ";S$: GOTO 9065
9090  PRINT : PRINT "YOU AREN'T CARRYING A ";S$;"!": PRINT : GOTO 100
9095  IF A = MD%(0,9) THEN MD%(0,9) =  - 1
9100  PRINT : PRINT "OKAY.":AD%(A,4) = 0:MD%(M,14) = 0:MD%(M,3) = MD%(M,3) * (1 + AD%(A,1) / 100)
9110  IF MD%(M,10) <  > 0 AND MD%(M,9) =  - 1 THEN MD%(M,9) = A:MD%(M,10) = MD%(M,9) + AD%(A,5):MD%(M,4) = 2 * MD%(M,4)
9120 R3 = ROOM: GOSUB 3600: GOTO 5050
9500  IF  VAL (S$) > GOLD THEN  PRINT : PRINT "YOU AREN'T CARRYING THAT MUCH GOLD OF      YOUR OWN!": PRINT : GOTO 300
9510 GOLD =  INT (GOLD -  VAL (S$)):MD%(M,14) = 0:MD%(M,3) = MD%(M,3) * (1 +  VAL (S$) / 100): GOTO 9120
10000  REM ///INVENTORY COMMAND
10010  PRINT : PRINT "YOU ARE CARRYING THE FOLLOWING--":A0 = 0: FOR A = 1 TO NA: IF AD%(A,4) =  - 1 THEN  PRINT " ";AN$(A); LEFT$ (" (READY WEAPON)",1 + 20 * (A = MD%(0,9))):A0 = A0 + 1: IF A0 = 15 THEN  PRINT : PRINT "(HIT ANY KEY TO CONTINUE)";: GET A$: PRINT :A0 = 0
10020  NEXT : GOTO 300
11000  REM ///BLAST SPELL
11010  GOSUB 4900
11020  FOR M = 1 TO NM: IF S$ <  > MN$(M) OR MD%(M,5) <  > ROOM THEN  NEXT : PRINT : PRINT "YOU CAN'T BLAST ";S$;"!": PRINT : GOTO 100
11030 S = 1: GOSUB 11500: IF  NOT SUC THEN 300
11040  PRINT : PRINT "DIRECT HIT!": PRINT :S = 6:D = 1:DF = M:A = 0: GOSUB 7635: PRINT : GOTO 300
11500 SUC = 0: IF SA%(S) THEN RL =  INT (100 *  RND (1) + 1):SUC = (((RL < S2%(S)) OR (RL < 5)) AND (RL < 95)): IF RL = 100 THEN 11600
11510  IF  NOT SUC THEN  PRINT : PRINT "NOTHING HAPPENED.": RETURN 
11520 RL =  INT (100 *  RND (1) + 1): IF RL > S2%(S) THEN S2%(S) = S2%(S) + 2:SA%(S) = SA%(S) + 2
11530 S2%(S) = S2%(S) / 2
11540  RETURN 
11600  PRINT : PRINT "THE STRAIN OF ATTEMPTING TO CAST THIS      SPELL OVERLOADS YOUR BRAIN AND YOU      FORGET IT COMPLETELY.": PRINT :SA%(S) = 0: RETURN 
12000  REM ///HEAL SPELL
12010 S = 2: GOSUB 11500: IF  NOT SUC THEN 300
12020  PRINT : IF MD%(0,13) THEN  PRINT "SOME OF YOUR WOUNDS SEEM TO CLEAR UP.": PRINT 
12030 MD%(0,13) = MD%(0,13) -  INT (10 *  RND (1) + 1): IF MD%(0,13) < 0 THEN MD%(0,13) = 0
12040 DF = 0: GOSUB 7650: GOTO 300
13000  REM ///POWER SPELL
13010 S = 4: GOSUB 11500: IF  NOT SUC THEN 300
13020 RAISE = 0: FOR M = 1 TO NM:M2 = 25 + M: IF AD%(M2,4) = ROOM OR AD%(M2,4) =  - 1 THEN RAISE = 1: PRINT MN$(M);" COMES ALIVE!":AD%(M2,4) = 0:MD%(M,5) = ROOM:MD%(M,13) = 0:WT = WT - AD%(M2,3)
13030  NEXT M: IF RAISE THEN R3 = ROOM: GOSUB 3600: GOTO 300
13040  FOR A = 1 TO NA: IF AD%(A,4) = ROOM THEN RAISE = 1: PRINT AN$(A);" VANISHES!":AD%(A,4) = 0
13050  NEXT A: IF RAISE THEN  PRINT : GOTO 300
13060 RR =  INT (100 *  RND (1) + 1): IF RR < 11 THEN  PRINT : PRINT "THE SECTION OF TUNNEL YOU ARE IN ": PRINT "  COLLAPSES AND YOU DIE.":DIE = 1: GOTO 2000
13070  IF RR < 31 THEN  PRINT : PRINT "YOU ARE TELEPORTED SOMEWHERE IN THE": PRINT "  DUNGEON": PRINT :R2 =  INT (50 *  RND (1) + 28): GOTO 3500
13080  IF RR < 86 THEN  PRINT : PRINT "YOU HEAR A VERY LOUD SONIC BOOM": PRINT "   THAT ECHOES THROUGH THE TUNNELS.": PRINT : GOTO 300
13090  IF RR > 95 THEN  PRINT : PRINT "ALL OF YOUR HITS ARE HEALED.": PRINT :MD%(0,13) = 0: GOTO 300
13100  GOTO 14020
14000  REM ///SPEED SPELL
14010 S = 3: GOSUB 11500: IF  NOT SUC THEN 300
14020  IF  NOT SPD THEN MD%(0,10) = MD%(0,10) + 2 * MD%(0,2):MD%(0,2) = 2 * MD%(0,2)
14030 SPD = SPD +  INT (25 *  RND (1) + 10): PRINT : PRINT "YOU CAN FEEL THE NEW AGILITY FLOWING": PRINT "   THROUGH YOU!": PRINT : GOTO 300
15000  REM ///SMILE COMMAND
15010  PRINT : FOR M = 1 TO NM: IF MD%(M,5) <  > ROOM THEN 15100
15020  ON MD%(M,14) GOTO 15030,15040,15050
15030  PRINT MN$(M);" GROWLS AT YOU": GOTO 15100
15040  PRINT MN$(M);" IGNORES YOU": GOTO 15100
15050  PRINT MN$(M);" ";V$;"S BACK": GOTO 15100
15100  NEXT M: PRINT : GOTO 300
16000  REM ///SAY COMMAND
16010  GOSUB 4900
16020  IF S$ = "MAGIC" AND AD%(8,4) = 0 AND ROOM = AD%(25,4) THEN  PRINT : PRINT "AS YOU SAY THE WORD, THERE IS A SMALL   ERUPTION FROM THE CENTER OF THE STONE   AND AN EMERALD POPS OUT FROM IT.": PRINT :AD%(8,4) = ROOM: GOTO 300
16030  IF S$ = "BLAST" THEN V$ = S$:S$ = "": GOTO 11000
16040  IF S$ = "HEAL" THEN 12000
16050  IF S$ = "POWER" THEN 13000
16060  IF S$ = "SPEED" THEN 14000
16900  PRINT : PRINT "OKAY, '";S$;"'": PRINT : GOTO 300
17000  REM ///READY A WEAPON.
17010  GOSUB 4900
17020  FOR A = 1 TO NA: IF AN$(A) <  > S$ OR AD%(A,4) <  >  - 1 THEN  NEXT : PRINT : PRINT "YOU AREN'T CARRYING IT!": PRINT : GOTO 100
17030  IF AD%(A,2) < 2 THEN  PRINT : PRINT "THAT ISN'T A WEAPON!": PRINT : GOTO 100
17040 MD%(0,10) = (EA + AE) * ( - EA > AE) + AD%(A,5) + WA%(AD%(A,6)) + 2 * MD%(0,2):MD%(0,9) = A:MD%(0,11) = AD%(A,7):MD%(0,12) = AD%(A,8)
17050  PRINT : PRINT "READIED.": PRINT : GOTO 300
18000  REM ///DRINK COMMAND
18010  GOSUB 4900
18020  IF NBTL THEN 3010
18030  IF S$ <  > "WATER" OR  RIGHT$ (S$,3) <  > "SEA" THEN  PRINT : PRINT "A JOB SIMILAR TO GETTING BLOOD FROM A": PRINT "   TURNIP.": PRINT : GOTO 300
18040  IF MD%(5,4) <  >  - 1 AND MD%(5,4) <  > ROOM AND (ROOM < 6 OR ROOM > 27) THEN  PRINT : PRINT "THERE IS NO ";S$;" HERE!": PRINT : GOTO 300
18050  PRINT : PRINT "THE WATER TASTED SALTY, BUT IT DOESN'T     SEEM TO BE POISONOUS.": PRINT : IF AD%(5,4) THEN AD%(5,4) = 0
18060  GOTO 300
19000  REM ///ENTER COMMAND
19010  GOSUB 4900
19020  IF NBTL THEN 3010
19030  IF S$ <  > "WATER" AND S$ <  > "SEA" THEN 19050
19040  PRINT : PRINT "SORRY, BUT I'M AFRAID TO GO INTO THE": PRINT "   WATER WITHOUT MY LIFE PRESERVER!": PRINT : GOTO 300
19050  IF S$ = "BOAT" THEN  PRINT : PRINT "OKAY.": PRINT : GOTO 300
19060  PRINT : PRINT "I'M NOT SURE WHAT YOU MEAN BY THAT. TRY    GIVING A DIRECTION TO MOVE.": PRINT : GOTO 100
20000  REM ///OPEN COMMAND
20010  IF NBTL THEN 3010
20020  GOSUB 4900: IF  LEFT$ (S$,3) <  > "DOO" AND  LEFT$ (S$,3) <  > "GAT" AND  LEFT$ (S$,3) <  > "IRO" THEN 20060
20030  IF ROOM <  > AD%(17,4) THEN  PRINT : PRINT "IT ISN'T LOCKED!": PRINT : GOTO 300
20040  IF AD%(2,4) <  >  - 1 THEN  PRINT : PRINT "YOU AREN'T CARRYING A KEY TO UNLOCK IT  WITH!": PRINT : GOTO 100
20050  PRINT : PRINT "AS YOU UNLOCK THE IRON GRATE, IT FALLS  INTO DUST.": PRINT :AD%(17,4) = 0: GOTO 300
20060  FOR A = 0 TO 6: IF  LEFT$ (S$,3) <  >  MID$ ("CHAROPFRILILSVELARSLI",A * 3 + 1,3) THEN  NEXT : GOTO 20100
20070  IF RZ OR ROOM <  > 52 THEN  PRINT : PRINT "HUH? HOW CAN I ";CZ$: PRINT : GOTO 100
20080  IF AD%(2,4) <  >  - 1 THEN  PRINT : PRINT "YOU AREN'T CARRYING A KEY TO DO THAT!": PRINT : GOTO 100
20090 RZ = 1: PRINT : PRINT "YOU FREE ";MN$(9): PRINT :MD%(9,5) = ROOM:MD%(9,14) = 3: GOTO 300
20100  IF S$ <  > "COFFIN" OR ROOM <  > AD%(16,4) THEN 20200
20110  IF E1 THEN  PRINT : PRINT "YOU CAN'T OPEN IT.": PRINT : GOTO 300
20120 E1 = 1: PRINT : PRINT "AS YOU BEGIN TO OPEN THE LID, A SKELETONJUMPS OUT AND ATTACKS YOU AS THE LID    SLAMS BACK SHUT.": PRINT :MD%(1,5) = ROOM:R3 = ROOM: GOSUB 3600: GOTO 300
20200  PRINT : PRINT "MIND TELLING ME HOW?": PRINT : GOTO 100
21000  REM ///DIG COMMAND
21010  IF NBTL THEN 3010
21020  IF AD%(9,4) <  >  - 1 THEN  PRINT : PRINT "THE GROUND IS TOO HARD TO DIG WITH YOUR HANDS.": PRINT : GOTO 300
21030  IF ROOM <  > 27 OR AD%(6,4) THEN  PRINT : PRINT "YOU FIND NOTHING.": PRINT : GOTO 300
21040  PRINT : PRINT "YOU FIND A BAG OF GOLD COINS!": PRINT :AD%(6,4) = ROOM: GOTO 300
30000  REM   // SAVE GAME
30010  PRINT : PRINT "DO YOU WANT TO SAVE THIS GAME? ": PRINT "(Y/N) :";
30020  GET A$: IF A$ <  > "Y" AND A$ <  > "N" THEN 30020
30030  PRINT A$: IF A$ = "N" THEN 100
30040  PRINT DK$;"CLOSE":X =  FRE (0)
30050  PRINT DK$"BSAVE GAME.PTRS,A$69,L8"
30060  PRINT DK$"BSAVE GAME.SVAR,A"; PEEK (105) +  PEEK (106) * 256;",L"; PEEK (109) +  PEEK (110) * 256 -  PEEK (105) -  PEEK (106) * 256 + 1
30070  PRINT DK$"BSAVE GAME.STR,A"; PEEK (111) +  PEEK (112) * 256;",L"; PEEK (115) +  PEEK (116) * 256 -  PEEK (111) -  PEEK (112) * 256 + 1
30080  PRINT : PRINT "THE GAME IS NOW SAVED. BOOT ON THIS": PRINT "  DISKETTE TO RESTART THE GAME."
30090  END 
31000  REM   /// RESTART
31005  POKE 216,0
31010  PRINT : PRINT "DO YOU WANT TO RESTART THIS GAME?": PRINT "  Y OR N:";
31020  GET A$: IF A$ <  > "Y" AND A$ <  > "N" THEN 31020
31030  PRINT A$: IF A$ = "N" THEN  END 
31040  PRINT  CHR$ (4);"BLOAD GAME.PTRS": PRINT  CHR$ (4);"BLOAD GAME.SVAR": PRINT  CHR$ (4);"BLOAD GAME.STR"
31050  PRINT DK$;"DELETE GAME.PTRS": PRINT DK$;"DELETE GAME.SVAR": PRINT DK$;"DELETE GAME.STR"
31060  PRINT DK$;"OPEN EAMON.DESC,L256": PRINT DK$;"OPEN EAMON.ROOMS,L64": PRINT DK$;"OPEN EAMON.ROOM NAMES,L64"
31080  GOTO 100