    5  REM By Emergent AI 31/07/2026 For 8BS by CJR
   10  REM RAVENWOOD MANOR ADVENTURE
   20  REM FOR THE BBC MICRO MODEL B
   30  REM ALL VARIABLES LOWERCASE SO
   40  REM NONE CLASH WITH KEYWORDS.
   50  MODE 7
   60  VDU 23,1,0;0;0;0;
   70  PROCsetup
   80  PROCtitle
   90  PROCintro
  100  REPEAT
  110   PROClook
  120   PROCprompt
  130   PROCparse
  140   PROCact
  150  UNTIL finish%
  160  PROCendmsg
  170  END
  180  :
  190  DEF PROCsetup
  200  DIM rdesc$(25),exit%(25,5)
  210  DIM iname$(10),ilong$(10)
  220  DIM iat%(10),icarry%(10)
  230  DIM flag%(10)
  240  PROCloadrooms
  250  PROCloaditems
  260  here%=1
  270  finish%=FALSE
  280  FOR i%=0 TO 10:flag%(i%)=FALSE:NEXT
  290  verb$="":obj$="":cmd$=""
  300  ENDPROC
  310  :
  320  DEF PROCloadrooms
  330  LOCAL r%,d%
  340  RESTORE 6000
  350  FOR r%=1 TO 25
  360   READ rdesc$(r%)
  370   FOR d%=0 TO 5:READ exit%(r%,d%):NEXT
  380  NEXT
  390  ENDPROC
  400  :
  410  DEF PROCloaditems
  420  LOCAL n%
  430  RESTORE 6500
  440  FOR n%=1 TO 10
  450   READ iname$(n%),ilong$(n%),iat%(n%)
  460   icarry%(n%)=FALSE
  470  NEXT
  480  ENDPROC
  490  :
  500  DEF PROCtitle
  510  CLS
  520  PRINT TAB(0,2);CHR$(141);CHR$(129);"  RAVENWOOD  MANOR"
  530  PRINT TAB(0,3);CHR$(141);CHR$(129);"  RAVENWOOD  MANOR"
  540  PRINT TAB(0,7);CHR$(134);"   a haunted adventure"
  550  PRINT TAB(0,9);CHR$(135);"    BBC Micro Model B"
  560  PRINT TAB(0,14);CHR$(131);"  press SPACE to begin"
  570  dum%=GET
  580  ENDPROC
  590  :
  600  DEF PROCintro
  610  CLS
  620  PRINT CHR$(131);"PROLOGUE"
  630  PRINT
  640  PROCprint("You have inherited RAVENWOOD MANOR from a distant relative you never even knew existed.")
  650  PRINT
  660  PROCprint("The lawyer's letter warned of an old family curse and a hidden treasure said to break it.")
  670  PRINT
  680  PROCprint("Dusk falls over the moor as you stand before the rusted iron gate...")
  690  PRINT
  700  PROCprint("Type HELP for a list of commands.")
  710  PRINT
  720  PRINT CHR$(135);"press any key to begin..."
  730  dum%=GET
  740  ENDPROC
  750  :
  760  DEF PROCprint(txt$)
  770  LOCAL bp%
  780  IF LEN(txt$)<40 THEN PRINT txt$:ENDPROC
  790  bp%=39
  800  IF MID$(txt$,bp%,1)<>" " AND bp%>1 THEN bp%=bp%-1:GOTO 800
  810  IF bp%<=1 THEN bp%=39
  820  PRINT LEFT$(txt$,bp%-1)
  830  PROCprint(MID$(txt$,bp%+1))
  840  ENDPROC
  850  :
  860  DEF PROCprompt
  870  PRINT
  880  PRINT CHR$(131);"What now?"
  890  INPUT "> ",cmd$
  900  cmd$=FNupper(cmd$)
  910  ENDPROC
  920  :
  930  DEF FNupper(s$)
  940  LOCAL k%,c%,r$
  950  r$=""
  960  FOR k%=1 TO LEN(s$)
  970   c%=ASC(MID$(s$,k%,1))
  980   IF c%>=97 AND c%<=122 THEN c%=c%-32
  990   r$=r$+CHR$(c%)
 1000  NEXT
 1010  =r$
 1020  :
 1030  DEF PROCparse
 1040  LOCAL sp%
 1050  verb$="":obj$=""
 1060  IF cmd$="" THEN ENDPROC
 1070  sp%=INSTR(cmd$," ")
 1080  IF sp%=0 THEN verb$=cmd$:ENDPROC
 1090  verb$=LEFT$(cmd$,sp%-1)
 1100  obj$=MID$(cmd$,sp%+1)
 1110  ENDPROC
 1120  :
 1130  DEF PROClook
 1140  CLS
 1150  IF here%=12 AND NOT flag%(2) THEN PROCdark:ENDPROC
 1160  PRINT CHR$(131);rdesc$(here%)
 1170  PRINT CHR$(134);STRING$(LEN(rdesc$(here%)),"=")
 1180  PROCdescribe
 1190  PROCshowspec
 1200  PROCshowitems
 1210  PROCshowexits
 1220  ENDPROC
 1230  :
 1240  DEF PROCdark
 1250  PRINT CHR$(129);"Dark Cellar"
 1260  PRINT CHR$(129);"==========="
 1270  PRINT
 1280  PROCprint("It is pitch black. You can see nothing at all.")
 1290  PROCprint("You may only return the way you came (SOUTH).")
 1300  ENDPROC
 1310  :
 1320  DEF PROCdescribe
 1330  PRINT
 1340  ON here% GOSUB 5010,5020,5030,5040,5050,5060,5070,5080,5090,5100,5110,5120,5130,5140,5150,5160,5170,5180,5190,5200,5210,5220,5230,5240,5250
 1350  ENDPROC
 1360  :
 1370  DEF PROCshowspec
 1380  IF here%=3 AND NOT flag%(1) THEN PROCprint("The heavy oak door is locked.")
 1390  IF here%=3 AND flag%(1) THEN PROCprint("The oak door hangs open to the north.")
 1400  IF here%=14 AND NOT flag%(4) THEN PROCprint("A stone slab seals the way north.")
 1410  IF here%=14 AND flag%(4) THEN PROCprint("The stone slab lies shattered aside.")
 1420  IF here%=15 AND NOT flag%(3) THEN PROCprint("A pale spectre guards a stone pedestal!")
 1430  IF here%=15 AND flag%(3) THEN PROCprint("Only cold mist remains of the ghost.")
 1440  IF here%=19 AND flag%(5) THEN PROCprint("A trap-door in the ceiling stands open.")
 1450  IF here%=25 THEN PROCprint("A rope should be your way out again.")
 1460  ENDPROC
 1470  :
 1480  DEF PROCshowitems
 1490  LOCAL k%,any%
 1500  any%=FALSE
 1510  FOR k%=1 TO 10
 1520   IF iat%(k%)=here% AND NOT icarry%(k%) THEN any%=TRUE
 1530  NEXT
 1540  IF NOT any% THEN ENDPROC
 1550  PRINT
 1560  PRINT CHR$(135);"You can see:"
 1570  FOR k%=1 TO 10
 1580   IF iat%(k%)=here% AND NOT icarry%(k%) THEN PRINT "  ";ilong$(k%)
 1590  NEXT
 1600  ENDPROC
 1610  :
 1620  DEF PROCshowexits
 1630  LOCAL d%,any%
 1640  PRINT
 1650  PRINT CHR$(134);"Exits: ";
 1660  any%=FALSE
 1670  IF FNcanexit(0) THEN PRINT "N ";:any%=TRUE
 1680  IF FNcanexit(1) THEN PRINT "S ";:any%=TRUE
 1690  IF FNcanexit(2) THEN PRINT "E ";:any%=TRUE
 1700  IF FNcanexit(3) THEN PRINT "W ";:any%=TRUE
 1710  IF FNcanexit(4) THEN PRINT "U ";:any%=TRUE
 1720  IF FNcanexit(5) THEN PRINT "D ";:any%=TRUE
 1730  IF NOT any% THEN PRINT "none";
 1740  PRINT
 1750  ENDPROC
 1760  :
 1770  DEF FNcanexit(d%)
 1780  IF exit%(here%,d%)=0 THEN =FALSE
 1790  IF here%=19 AND d%=4 AND NOT flag%(5) THEN =FALSE
 1800  =TRUE
 1810  :
 1820  DEF PROCact
 1830  IF verb$="" THEN ENDPROC
 1840  IF verb$="N" OR verb$="NORTH" THEN PROCmove(0):ENDPROC
 1850  IF verb$="S" OR verb$="SOUTH" THEN PROCmove(1):ENDPROC
 1860  IF verb$="E" OR verb$="EAST" THEN PROCmove(2):ENDPROC
 1870  IF verb$="W" OR verb$="WEST" THEN PROCmove(3):ENDPROC
 1880  IF verb$="U" OR verb$="UP" THEN PROCmove(4):ENDPROC
 1890  IF verb$="D" OR verb$="DOWN" THEN PROCmove(5):ENDPROC
 1900  IF verb$="GO" OR verb$="MOVE" OR verb$="WALK" THEN PROCgodir:ENDPROC
 1910  IF verb$="LOOK" OR verb$="L" THEN ENDPROC
 1920  IF verb$="INV" OR verb$="I" OR verb$="INVENTORY" THEN PROCshowinv:PROCwait:ENDPROC
 1930  IF verb$="TAKE" OR verb$="GET" THEN PROCtake:PROCwait:ENDPROC
 1940  IF verb$="DROP" THEN PROCdrop:PROCwait:ENDPROC
 1950  IF verb$="USE" THEN PROCuse:PROCwait:ENDPROC
 1960  IF verb$="LIGHT" THEN PROClight:PROCwait:ENDPROC
 1970  IF verb$="READ" THEN PROCread:PROCwait:ENDPROC
 1980  IF verb$="OPEN" THEN PROCopenit:PROCwait:ENDPROC
 1990  IF verb$="UNLOCK" THEN PROCunlock:PROCwait:ENDPROC
 2000  IF verb$="CLIMB" THEN PROCclimb:ENDPROC
 2010  IF verb$="KILL" OR verb$="ATTACK" OR verb$="FIGHT" OR verb$="SLAY" THEN PROCusedagger:PROCwait:ENDPROC
 2020  IF verb$="HELP" OR verb$="?" THEN PROChelp:ENDPROC
 2030  IF verb$="QUIT" OR verb$="EXIT" THEN finish%=TRUE:ENDPROC
 2040  PROCprint("I don't understand that.")
 2050  PROCwait
 2060  ENDPROC
 2070  :
 2080  DEF PROCmove(d%)
 2090  LOCAL nxt%
 2100  nxt%=exit%(here%,d%)
 2110  IF nxt%=0 THEN PROCprint("You cannot go that way."):PROCwait:ENDPROC
 2120  IF here%=3 AND d%=0 AND NOT flag%(1) THEN PROCprint("The oak door is locked."):PROCwait:ENDPROC
 2130  IF here%=14 AND d%=0 AND NOT flag%(4) THEN PROCprint("A stone slab bars the way."):PROCwait:ENDPROC
 2140  IF here%=19 AND d%=4 AND NOT flag%(5) THEN PROCprint("You see no way up."):PROCwait:ENDPROC
 2150  IF here%=12 AND d%=3 AND NOT flag%(2) THEN PROCprint("You are lost in the dark."):PROCwait:ENDPROC
 2160  IF here%=24 AND d%=5 AND NOT icarry%(6) THEN PROCprint("The well is very deep. You need a rope."):PROCwait:ENDPROC
 2170  IF here%=25 AND d%=4 AND NOT icarry%(6) THEN PROCprint("You need a rope to climb out."):PROCwait:ENDPROC
 2180  here%=nxt%
 2190  IF here%=1 AND icarry%(8) THEN finish%=TRUE:flag%(9)=TRUE
 2200  ENDPROC
 2210  :
 2220  DEF PROCgodir
 2230  IF obj$="N" OR obj$="NORTH" THEN PROCmove(0):ENDPROC
 2240  IF obj$="S" OR obj$="SOUTH" THEN PROCmove(1):ENDPROC
 2250  IF obj$="E" OR obj$="EAST" THEN PROCmove(2):ENDPROC
 2260  IF obj$="W" OR obj$="WEST" THEN PROCmove(3):ENDPROC
 2270  IF obj$="U" OR obj$="UP" THEN PROCmove(4):ENDPROC
 2280  IF obj$="D" OR obj$="DOWN" THEN PROCmove(5):ENDPROC
 2290  PROCprint("Go where?"):PROCwait
 2300  ENDPROC
 2310  :
 2320  DEF PROCtake
 2330  LOCAL k%,found%
 2340  found%=0
 2350  FOR k%=1 TO 10:IF obj$=iname$(k%) THEN found%=k%
 2360  NEXT
 2370  IF found%=0 THEN PROCprint("Take what?"):ENDPROC
 2380  IF icarry%(found%) THEN PROCprint("You already have it."):ENDPROC
 2390  IF iat%(found%)<>here% THEN PROCprint("You do not see that here."):ENDPROC
 2400  IF found%=8 AND NOT flag%(3) THEN PROCprint("The ghost drives you back!"):ENDPROC
 2410  icarry%(found%)=TRUE:iat%(found%)=0
 2420  PROCprint("Taken.")
 2430  ENDPROC
 2440  :
 2450  DEF PROCdrop
 2460  LOCAL k%,found%
 2470  found%=0
 2480  FOR k%=1 TO 10:IF obj$=iname$(k%) THEN found%=k%
 2490  NEXT
 2500  IF found%=0 THEN PROCprint("Drop what?"):ENDPROC
 2510  IF NOT icarry%(found%) THEN PROCprint("You are not carrying it."):ENDPROC
 2520  icarry%(found%)=FALSE:iat%(found%)=here%
 2530  PROCprint("Dropped.")
 2540  ENDPROC
 2550  :
 2560  DEF PROCshowinv
 2570  LOCAL k%,any%
 2580  any%=FALSE
 2590  FOR k%=1 TO 10:IF icarry%(k%) THEN any%=TRUE
 2600  NEXT
 2610  PRINT
 2620  IF NOT any% THEN PROCprint("You carry nothing."):ENDPROC
 2630  PROCprint("You are carrying:")
 2640  FOR k%=1 TO 10
 2650   IF icarry%(k%) THEN PRINT "  ";ilong$(k%)
 2660  NEXT
 2670  ENDPROC
 2680  :
 2690  DEF PROCuse
 2700  IF obj$="KEY" THEN PROCunlock:ENDPROC
 2710  IF obj$="MATCHES" OR obj$="MATCH" OR obj$="CANDLE" THEN PROClightcandle:ENDPROC
 2720  IF obj$="DAGGER" THEN PROCusedagger:ENDPROC
 2730  IF obj$="CROWBAR" THEN PROCusecrowbar:ENDPROC
 2740  IF obj$="BOOK" THEN PROCread:ENDPROC
 2750  IF obj$="ROPE" THEN PROCuserope:ENDPROC
 2760  IF obj$="STAFF" THEN PROCprint("You lean on the staff. It steadies you."):ENDPROC
 2770  IF obj$="GEM" THEN PROCprint("The gem glitters, nothing more."):ENDPROC
 2780  IF obj$="AMULET" THEN PROCprint("The amulet feels warm in your grasp."):ENDPROC
 2790  PROCprint("You cannot use that here.")
 2800  ENDPROC
 2810  :
 2820  DEF PROClight
 2830  IF obj$="CANDLE" OR obj$="MATCH" OR obj$="MATCHES" THEN PROClightcandle:ENDPROC
 2840  PROCprint("You cannot light that.")
 2850  ENDPROC
 2860  :
 2870  DEF PROClightcandle
 2880  IF NOT icarry%(3) THEN PROCprint("You have no candle to light."):ENDPROC
 2890  IF NOT icarry%(2) THEN PROCprint("You have no matches."):ENDPROC
 2900  IF flag%(2) THEN PROCprint("The candle already burns."):ENDPROC
 2910  flag%(2)=TRUE
 2920  PROCprint("The candle flickers to life.")
 2930  ENDPROC
 2940  :
 2950  DEF PROCread
 2960  IF NOT icarry%(7) AND iat%(7)<>here% THEN PROCprint("You see no book to read."):ENDPROC
 2970  PROCprint("The tome speaks of the old nursery,")
 2980  PROCprint("where a trap-door hides in the ceiling")
 2990  PROCprint("above the rocking horse - to the tower.")
 3000  flag%(5)=TRUE
 3010  ENDPROC
 3020  :
 3030  DEF PROCopenit
 3040  IF obj$="DOOR" OR obj$="GATE" THEN PROCunlock:ENDPROC
 3050  IF obj$="CRYPT" OR obj$="SLAB" OR obj$="TOMB" THEN PROCusecrowbar:ENDPROC
 3060  IF obj$="BOOK" THEN PROCread:ENDPROC
 3070  IF obj$="CHEST" OR obj$="WARDROBE" THEN PROCprint("It is already open."):ENDPROC
 3080  PROCprint("You cannot open that.")
 3090  ENDPROC
 3100  :
 3110  DEF PROCunlock
 3120  IF here%<>3 THEN PROCprint("Nothing here needs unlocking."):ENDPROC
 3130  IF NOT icarry%(1) THEN PROCprint("You have no key."):ENDPROC
 3140  IF flag%(1) THEN PROCprint("The door is already open."):ENDPROC
 3150  flag%(1)=TRUE
 3160  PROCprint("The rusty key turns with a groan.")
 3170  PROCprint("The oak door swings inward.")
 3180  ENDPROC
 3190  :
 3200  DEF PROCusedagger
 3210  IF here%<>15 THEN PROCprint("There is nothing to strike here."):ENDPROC
 3220  IF NOT icarry%(4) THEN PROCprint("You have no weapon of silver."):ENDPROC
 3230  IF flag%(3) THEN PROCprint("The ghost is already gone."):ENDPROC
 3240  flag%(3)=TRUE
 3250  PROCprint("You thrust the silver dagger deep.")
 3260  PROCprint("The spectre shrieks and dissolves into")
 3270  PROCprint("a cold, forgotten mist!")
 3280  ENDPROC
 3290  :
 3300  DEF PROCusecrowbar
 3310  IF here%<>14 THEN PROCprint("Nothing here to prise open."):ENDPROC
 3320  IF NOT icarry%(5) THEN PROCprint("You have nothing to prise it with."):ENDPROC
 3330  IF flag%(4) THEN PROCprint("The slab is already broken."):ENDPROC
 3340  flag%(4)=TRUE
 3350  PROCprint("You lever the stone slab aside with a")
 3360  PROCprint("great grinding crash!")
 3370  ENDPROC
 3380  :
 3390  DEF PROCuserope
 3400  IF here%<>24 AND here%<>25 THEN PROCprint("There is nothing here to tie it to."):ENDPROC
 3410  IF NOT icarry%(6) THEN PROCprint("You have no rope."):ENDPROC
 3420  PROCprint("You have secured the rope. Climb DOWN.")
 3430  ENDPROC
 3440  :
 3450  DEF PROCclimb
 3460  IF obj$="UP" OR obj$="" THEN PROCmove(4):ENDPROC
 3470  IF obj$="DOWN" THEN PROCmove(5):ENDPROC
 3480  PROCprint("Climb where?"):PROCwait
 3490  ENDPROC
 3500  :
 3510  DEF PROChelp
 3520  CLS
 3530  PRINT CHR$(131);"COMMANDS"
 3540  PRINT CHR$(131);"========"
 3550  PRINT
 3560  PROCprint("N S E W U D  - move that direction")
 3570  PROCprint("LOOK         - look around again")
 3580  PROCprint("INV          - list what you carry")
 3590  PROCprint("TAKE <item>  - pick something up")
 3600  PROCprint("DROP <item>  - drop an item")
 3610  PROCprint("USE <item>   - use an item")
 3620  PROCprint("LIGHT <item> - set alight")
 3630  PROCprint("READ <item>  - read a book")
 3640  PROCprint("OPEN <thing> - open a door etc")
 3650  PROCprint("UNLOCK <thg> - unlock with a key")
 3660  PROCprint("KILL <thing> - attack with weapon")
 3670  PROCprint("QUIT         - give up and leave")
 3680  PROCwait
 3690  ENDPROC
 3700  :
 3710  DEF PROCwait
 3720  PRINT
 3730  PRINT CHR$(135);"(press a key)"
 3740  dum%=GET
 3750  ENDPROC
 3760  :
 3770  DEF PROCendmsg
 3780  CLS
 3790  IF flag%(9) THEN PROCwinmsg:ENDPROC
 3800  PRINT
 3810  PROCprint("Farewell, brave soul. The manor keeps")
 3820  PROCprint("its secrets a while longer...")
 3830  PRINT
 3840  PROCprint("Thank you for playing.")
 3850  ENDPROC
 3860  :
 3870  DEF PROCwinmsg
 3880  PRINT TAB(0,2);CHR$(141);CHR$(131);"  *** V I C T O R Y ***"
 3890  PRINT TAB(0,3);CHR$(141);CHR$(131);"  *** V I C T O R Y ***"
 3900  PRINT
 3910  PROCprint("You step through the iron gate under a rising moon, the Amulet of Ravenwood warm at your throat.")
 3920  PRINT
 3930  PROCprint("The curse is lifted. The estate, and its long-buried treasure, are yours at last.")
 3940  PRINT
 3950  PROCprint("Thank you for playing.")
 3960  ENDPROC
 3970  :
 3980  REM --- ROOM DATA ---
 4995  :
 4996  REM --- ROOM DESCRIPTIONS ---
 5010  PROCprint("Rusted iron bars mark the edge of the estate. A twisted path leads north."):RETURN
 5020  PROCprint("Thorns and dead weeds crowd a broken path. Ravens wheel above."):RETURN
 5030  PROCprint("Ivy chokes the manor porch. A heavy oak door faces north."):RETURN
 5040  PROCprint("A grand hall of cobwebs and shadow. Doorways yawn on every side."):RETURN
 5050  PROCprint("Rows of mouldering books line high shelves. A lectern holds one great tome."):RETURN
 5060  PROCprint("A dusty study. Papers curl on a great desk beside a cold fireplace."):RETURN
 5070  PROCprint("A long dining table stretches under a dead chandelier. Places are set for a feast never eaten."):RETURN
 5080  PROCprint("Pots and pans dangle from the ceiling of this vast old kitchen. Stone steps go down."):RETURN
 5090  PROCprint("A cramped pantry. Empty jars and stale sacks fill the shelves."):RETURN
 5100  PROCprint("Worn stone steps spiral downward. A chill breeze rises from below."):RETURN
 5110  PROCprint("Bottles of ancient wine sleep on their sides. A shelf bears a stub of candle."):RETURN
 5120  PROCprint("Total darkness. The air smells of damp earth and something else..."):RETURN
 5130  PROCprint("A narrow, dripping passage carved from raw rock. It bends northward."):RETURN
 5140  PROCprint("Before you stands the family crypt. The name RAVEN is carved above."):RETURN
 5150  PROCprint("A small chamber. In its centre a pedestal of black marble."):RETURN
 5160  PROCprint("A wide landing lit by moonlight through a cracked window."):RETURN
 5170  PROCprint("A four-poster bed dominates the master's chamber. A wardrobe stands open."):RETURN
 5180  PROCprint("A modest guest room. Faded portraits watch from every wall."):RETURN
 5190  PROCprint("A nursery of dust and shadow. A rocking horse creaks by itself."):RETURN
 5200  PROCprint("A tight landing with a ladder rising into the darkness of an attic."):RETURN
 5210  PROCprint("A dusty attic of trunks and cobwebs. A small chest lies open."):RETURN
 5220  PROCprint("A spiral of narrow stairs climbs into the tower."):RETURN
 5230  PROCprint("The topmost tower room. Stars gleam through a broken roof."):RETURN
 5240  PROCprint("An overgrown garden of roses run wild. A weed-choked well gapes here."):RETURN
 5250  PROCprint("The clammy bottom of the well. Old bones and a glint of gold lie in the mud."):RETURN
 6000  DATA "Iron Gate",2,0,0,0,0,0
 6010  DATA "Overgrown Path",3,1,0,0,0,0
 6020  DATA "Manor Porch",4,2,24,0,0,0
 6030  DATA "Entrance Hall",7,3,6,5,16,0
 6040  DATA "Grand Library",0,0,4,0,0,0
 6050  DATA "Old Study",0,0,0,4,0,0
 6060  DATA "Dining Hall",8,4,0,0,0,0
 6070  DATA "Kitchen",0,7,0,9,0,10
 6080  DATA "Pantry",0,0,8,0,0,0
 6090  DATA "Cellar Stairs",0,0,0,0,8,11
 6100  DATA "Wine Cellar",12,0,0,0,10,0
 6110  DATA "Dark Cellar",0,11,0,13,0,0
 6120  DATA "Secret Passage",14,0,12,0,0,0
 6130  DATA "Crypt Door",15,13,0,0,0,0
 6140  DATA "Inner Tomb",0,14,0,0,0,0
 6150  DATA "Upper Landing",17,0,18,19,20,4
 6160  DATA "Master Bedroom",0,16,0,0,0,0
 6170  DATA "Guest Room",0,0,0,16,0,0
 6180  DATA "Nursery",0,0,16,0,22,0
 6190  DATA "Attic Ladder",0,0,0,0,21,16
 6200  DATA "Dusty Attic",0,0,0,0,0,20
 6210  DATA "Tower Stair",0,19,0,0,23,0
 6220  DATA "Tower Chamber",0,0,0,0,0,22
 6230  DATA "Overgrown Garden",0,0,0,3,0,25
 6240  DATA "Bottom of Well",0,0,0,0,24,0
 6495  :
 6496  REM --- ITEM DATA ---
 6500  DATA "KEY","a rusty iron key",24
 6510  DATA "MATCHES","a box of dry matches",7
 6520  DATA "CANDLE","a stub of wax candle",11
 6530  DATA "DAGGER","a slim silver dagger",21
 6540  DATA "CROWBAR","a heavy iron crowbar",9
 6550  DATA "ROPE","a long coil of rope",17
 6560  DATA "BOOK","an ancient leather tome",5
 6570  DATA "AMULET","the gold Amulet of Ravenwood",15
 6580  DATA "STAFF","a worn wooden staff",23
 6590  DATA "GEM","a bright ruby gem",25
