8L2C)pJJJJ IH(ȱH:=IH[H`@HcH  $ +   I/H`JLNGȄBȄF aK  haaFF  mJm# KKJ UJ )J ۈ) ;J3ȱJFȱJGJKaȄM  aaNNJFLGJL L (O=====|====|====|====|====|====|====|====|====|====|====|====|====|====|====|===:"'ADVDOC' &ADVDOCEp+GRANDMASTERM c? &PRODOS `DaElH$?EGvѶK+`L HHLy XP LM ŠϠĠӠS)*+,+`F)) (*=GJFjJJA QE'+ '== `@ STSP8QSS8 m P o R(8R C -=ADVENTURE=-G Copyright 1985 By John RauschFreeport Station Software3119 N Waynesville RdOregonia, Ohio 45054(513) 932-3688C -=HISTORICAL BACKGROUND=-  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKtext will be A?displayed in upper-case and lower-case and formatted to fit an DB80-column line. If you answer "N", all text will be displayed in 3upper-case and formatted to fit a 40-column line.HFInstructions for ADVENTURE are an integral partame.C -=PLAYING INSTRUCTIONS=-G IGWhen you boot the OBJECT disk and the copyright is displayed, you will HFbe asked if your computer has an 80-column board. If you answer "Y", CAAn 80-column board is assumed to be in slot 3. All e programs. The FDsupplied two-sided disk is in the format requested when you ordered IGADVENTURE. In the remainder of this documentation MERLIN will be used GEto refer to the both the MERLIN and BIG MAC Assembler since they are basically the s' -=HARDWARE & SOFTWARE REQUIREMENTS=-G JHADVENTURE will run on any Apple II with 48K of memory. Two disk drives GEand the DOS Toolkit Assembler (1980 or 1984 version) or the MERLIN / GEBIG MAC Assembler are required to assemble the sourcy every computer known to man. The original Fortran version ran ECon a large PDP machine requiring about 300K bytes of memory. This IGversion contains all of the original ADVENTURE. Nothing has been left !out and nothing has been added.Cbeginning section of the cave. B@Don Woods was the individual who developed the final version of FADVENTURE. He used Will's idea to create the now classic ADVENTURE.FDIn the years that followed, ADVENTURE has been programmed to run on HFnearlrom the explorer-drawn GEsketches. During this same period, Will also conceived and produced GEthe first ADVENTURE. Not nearly as complex as the final version, it JHconsisted of getting into the cave and exploring around in what amounts (to the ely to be 0shiny and they certainly don't use batteries! DBWill Crowther wrote the Fortran programs to reduce the explorers' JHsurvey data. His programs produced line drawings of cave passages on a ECplotter. These were then enhanced by hand fuation you may soon experience! Similarities CAbetween the real Colossal Cave and the one you will be exploring JHabound. The real entrance is indeed locked. Explorers use brass lamps IGfor light but, because they are carbide lamps, they are unlik, New York. HFOne of the caves in Flint Ridge just happens to be Colossal Cave, and FDBedquilt, a name with which you will become familiar, is one of the GEentrances. It is easy to become "lost in the forest" trying to find CAthe entrance, a sitint/Mammoth Cave System 144.4 miles long. Many more miles have been IGexplored bringing the total to well over 300 miles. For an additional HFadventure read Roger Brucker's account of this effort in The Longest 0Cave published by Alfred A. Knopfl as other major caves in the United GEStates. In 1972 the activity in Mammoth Cave National Park centered HFaround connecting Mammoth Cave and the Flint Ridge Cave System. The @>two systems were connected on September 9th, 1972, making the IGFlG A?In 1957 Cave Research Foundation (CRF) incorporated to further HFscientific study and cartographic exploration of the caves in Mammoth GECave National Park. Since then, their work has extended to Carlsbad CACaverns National Park as wel of playing the game. JHYour goal is to achieve the "ADVENTURER GRANDMASTER" rating. It is not IGan easy task. It could take you days, weeks or even months. You just B@might never achieve it but you will certainly have fun trying. DBSeasoned adventurers may offer you hints about how to overcome an GEobstacle in the cave, but beware! They might not know any more than HFyou do. This occurs frequently among those who have spent many hours IGin Colossal Cave. You'd best explore on your owns stuff.HFOnce developed and tested, it was sold by Adventure International for ECapproximately two years. By the time it had reached the market in IG1981, there were four other versions of ADVENTURE. Apple had come out DBwith a version written This allowed IGtesting of the motion verbs. The action verbs were then developed one HFby one. Next came the DWF module to bring the dwarves and the pirate JHinto the picture, and finally, the MSC module which handles, what else, miscellaneouwere defined, most of the routines in the SUB module KIwere written. These routines exercised the tables and compressed text. FDIt was essential for these routines to function before proceeding. CANext the ADV, ANA, and MOT modules were developed.then converted by JHan Applesoft Basic program into an assembly language source file. This GEconversion program and the text file travel table is supplied on the ATEXT & UTILITIES disk to make changing the travel table easier.GEOnce the tables DVENTURE that cannot be kept in a single byte. This IGmakes processing tables a very simple matter for the 6502. The travel DBtable required the most work. It was created as a text file in a JHsimilar format to the mainframe travel table. It was own to 21K bytes.GESatisfied that the remaining memory would hold all of the tables and GEprogram code, I next converted the mainframe table formats into ones CAideally suited for the 6502 instruction set. There are very few ECvariables in As a result of this analysis. All of the ASCII CAcharacters above "Z" are reserved for token codes and all of the B@characters below a space (except zero and carriage return) are JHreserved for digram codes. The PAKTXT routine compresses the text dh.JHBecause the text for ADVENTURE is around 40K the first thing to be done IGwas develop a compression routine for the text. I wrote some routines KIto analyze the tokens and digrams (adjacent letter pairs) in the text. ECThe PAKTXT program iry to 64K, EChad not been on the market for long, so I decided to attempt a 48K HFversion of the original ADVENTURE. Assuming I would at least require JHthe RWTS routines from DOS for saving and restoring games, this left me with 44K to work witferent (especially for hints), and even a new room was added 4which was not even in the same vein as the others.IGIn 1980 few Apple II's had more than 48K of memory. In fact, many had IGonly 16K or 32K. The Language Card, which expanded the memos operated compared to the ECoriginal mainframe Fortran version. For example, they changed the ECnumber of significant characters recognized in a command from five JHcharacters to four, some of the text messages were altered, the scoring FDwas dif, but I was not satisfied with the implementation. Their version HFmaintained all of the text on disk and required access to the disk on FDevery command. I found this terribly slow. I also discovered that ECMicrosoft had changed the way some thingthat time, Microsoft was JHthe only software publisher on the market with the original ADVENTURE. FDTheir version was number one on the best seller list for months. I JHbought a copy of Microsoft's version because I was already an ADVENTURE GEfan ... and take notes. JHThe best advice for the novice explorer is to read the instructions and 4ask for all the help and information you can get. C -=HISTORY OF THIS SOFTWARE=-G JHThis software was developed in early 1980. At in Applesoft that was very faithful to the Goriginal, but still had the annoying disk access for every message. FDRainbow Computing also published an Applesoft version that may have HFpreceded mine by a few months. It not only required disk access, but CAwas unbelievably slow. Not long after my version made it to the HFdealers shelves, Frontier Computing also published a version that was completely memory resident.IGSeveral reviewers rated my version very highly. It typically recei the TEXT & FDUTILITIES disk. They are maintained with the DOS Toolkit or MERLIN IGEditor. For MERLIN, all text files are prefixed with "T." in order to ECuse the Executive Mode READ and WRITE commands. The files are all GEstored with the number side one SOURCE and the copy from side two IGTEXT & UTILITIES. The two disks are referred to by these names in the !remainder of the documentation.C -=TEXT COMPRESSION=-G ECThe text for all messages is contained in text files onious utilities used to compress the raw "text, and build the object disk.GEThe first thing you should do is make a working copy of both sides. IGUse COPYA or any other copy program to copy each side to an individual HFdisk. Label the copy fromes and the ECDUMP utility program. Side two contains the raw text for the long =;location descriptions, short location descriptions, object IGdescriptions, remarks, score related text, and miscellaneous text. It JHalso contains the source for varlittle slow when Dassembling such a large source file with the object going to disk.C -=DISKS=-G GEADVENTURE is supplied on a double-sided disk. Side one contains the JH6502 assembly language source for the ADVENTURE program moduleen removed to simplify building an executable IGprogram. The modules are all assembled at once. If you are using the JH1984 version of the DOS Toolkit Assembler, this won't take long. It is IGmuch, much faster than the 1980 version. MERLIN is a le IIc, HFwith Mockingboard installed. It's fun to play with the screen turned off.?=This version is basically the same as that sold by Adventure JHInternational. Support for 80-columns was added for this release. The DBjump vectors have boped a version of ADVENTURE for Sweet Microsystems. ECThis version has one additional feature ... it talks! It uses the @>Mockingboard speech capabilities. It is available from Sweet HFMicrosystems for $19.95 and runs only on 64K Apples or the AppPlainsboro, NJ 08536. A PRODOS version is also DBavailable. Also, the MERLIN PRO Assembler now contains a linking DBloader. It is available from Roger Wagner Publishing Inc., 10761 -Woodside Avenue, Suite E, Santee, CA 92071.FDIn 1984 I devel's in your GEmodules, then link these together into a BRUNable object module. If JHyou are a real assembly language fan, I suggest you take a serious look B@at this utility. It is available for $49.95 from KIWI Software JHCompany, P. O. Box 218, modules which can be linked together by a FDlinking loader. Only problem was ... none existed! There is now a JHlinking loader available for both the 1980 and 1984 versions of the DOS JHToolkit Assembler that allows you to define ENTRY's and EXTRNembled GEindependently. Each module filled in addresses in a jump table at a IGfixed location for all of the routines that might be accessed by other IGmodules. You may not be aware of the capability this assembler has to CAgenerate "relocatable"e only instructions are built into the game.ECWhen this version was first developed, the 1980 version of the DOS GEToolkit Assembler was used. As you may be aware, it is quite slow. CATherefore, the modules were developed so they could be assved HFthe highest ratings except for documentation. The only documentation ECsupplied with the game was the same as the first two pages of this GEdocumentation. I was trying to keep things as much as possible like GEthe mainframe version where th of the message on a single line preceded by a I"#" symbol. The text for the message then follows on subsequent lines.JHWhen displayed, the entire message is formatted to fit either 40-column @>or 80-column lines. The text is supplied containing about 40 B@characters per line so it can be maintained on machines without DB80-column support. Note that the Toolkit Editor sometimes leaves JHspaces at the end of lines. This occurs during input or edit mode when GEyou have typed past the end Bcalled from an Applesoft Basic program. The subroutine reads the DBASCII text files and compresses them into memory. The subroutine CAPAKTXT is driven by an Applesoft program BLDTXT. To run BLDTXT, B@put the TEXT disk in drive 1 and the OBJECT o-DOS, Diversi-DOS B@or David DOS II, ADVENTURE will boot much faster if you RUN the 3ADVINI program with one of these packages active.# 2. Compress the raw text files.HF The text files are compressed by an assembly language subroutine D The ADVINI program modifies DOS before doing the INIT so when the CAOBJECT disk is booted, the ADVENTURE.OBJ0 (ADVENTURE for MERLIN) CAbinary object file from the assembler will be BRUN. If you have CAone of the enhanced DOS packages such as Pronte an OBJECT disk RUN the ADVINI Applesoft program from DBthe TEXT & UTILITIES disk. You will be prompted to place a blank CAdisk in drive one. When you press RETURN, the disk in drive one 3will be initialized. (Are your disks backed up?)IG e B@certain to make a backup copy of both disks before starting the <assembly process! The following five steps are required:" 1. Initialize the OBJECT disk.CA The OBJECT disk for ADVENTURE is a normal DOS 3.3 disk. To B@initializ provided with GEa "+" followed by a single digit for the property on a single line. -One look at the file and all will be clear.C-=PREPARING AN OBJECT DISK=-G GEBefore you can play ADVENTURE, you must prepare an OBJECT disk. Ben it is empty, full of water, and full of oil. FDThere is also a description of the object that is displayed when an IGinventory is requested. This is indicated by a line with "++" on it. IGThe descriptions for each property of an object are thenon. It also IGhas the message number that corresponds to the object number, but this GEis then followed by multiple messages for descriptions of the object FDwhen it has different properties. For example, the bottle requires FDdescriptions for whr encountered. Because the short location CAdescription does not contain a description for the last possible DBlocation, a null message must be provided to fill out the pointer table.HFThe object description file contains a bit more informatiGmessage. This technique is used for the descriptions of the "maze all IGalike", for example. Note that a given file need not contain messages JHfor all numbers. The pointer tables will be created for message number GE0 through the highest numbethe first position of a message, the Bblank line normally printed before each message will be skipped.HFWhen a message is exactly the same as another, the message itself can HFconsist of the symbol "#" followed by the message number of the other I50 IGand $51 prior to calling the required output routine. A "%" indicates JHthat no carriage return is to follow the message. All text after a "%" B@in a message is ignored. Again, see the MSC.TEXT file for some ECexamples. When the "%" is in point in a message, type a "@" prior IGto the text you want on a new line. The "@" cannot be on the end of a GEline. See the MSC.TEXT file for an example. A "$" indicates that a HFnumber is to be inserted. The number must be placed in locations $of a line and then use the back-arrow to IGdelete characters. They get replaced with blanks. This messes up the HFformatting. They can be removed by editing the line and using CTRL-T to truncate the line.JHTo force a carriage return at some disk in drive 2 and ECtype RUN BLDTXT. The PAKTXT subroutine has already been assembled =;and is on the TEXT & UTILITIES disk. As the text is being @>compressed, a new PTR text file will be created on the OBJECT ECdisk. The compressed TEXT binary file will then be created on the ECOBJECT disk. It is a good idea to begin this process from a fresh B@boot since any nonstandard stuff in memory like GPLE can really get things mixed up.& 3. Assemble the ADVENTURE program.CA To as to read. To run it, type GEBRUN DUMP.OBJ0 (BRUN DUMP for MERLIN). You will be prompted for the HFoutput slot. The DUMP utility program will direct all output to this DBslot. The printed output contains 80-column lines, so specifying IGslot 0 wit too.DBOnce you reply to the prompt on the copyright page, the ADVENTURE begins.C-=DUMP UTILITY PROGRAM=-G HFThe DUMP utility program prints a listing of all important tables and GEtext in a format that is fairly convenienturce disks will be pirated. I don't like it, but there is little IGone can do about it. However, I have no objections if you make copies JHof the OBJECT disk providing you retain copyright message. If you make ,some extensions, give yourself credata sectors. JHThis is actually a very simple process. Note that except for RWTS, DOS DBis now gone, so a similar method is used for saving and restoring games. GENext the copyright page is displayed. Please do me a favor. I know JHthe so. The TEXT file is a standard binary file. GEHowever, it is too large to BLOAD since it would extend into the DOS JHbuffers and program code. So, the load is done by using RWTS to access JHthe VTOC, Directory, Track/Sector List, and finally, the dE.OBJ0 (BRUN ADVENTURE for MERLIN).C -=BOOT PROCESS=-G HFWhen the ADVENTURE object program is BRUN, the first thing it does is JHmove page zero variables down from the dynamic variables area. Next it HFloads the compressed textDBobject code is used during the initialization. A saved game file @>is basically the DYN module from the ADVENTURE program. Type 1EXEC BLDSAV to initialize the saved game files.JHAt this point you can boot the OBJECT disk or BRUN ADVENTURmeone were to try and restore a game that had not @>really been saved, he will end up dead right off the bat. To DBinitialize the saved game files, put the TEXT & UTILITIES disk in DBdrive 1 and the OBJECT disk in drive 2. Note that the ADVENTURE ram does not create these files. CAThey must be put in place before attempting to save or restore a A?game. There is an EXEC file on the TEXT & UTILITIES disk that CAwill do this for you. It will initialize all of the saved games A?so that if soE program but the listing is turned off 8except for the DMP module. It will be about 12 pages.' 5. Initialize the saved game files.IG Saved games are maintained on the OBJECT disk as nine files named FDS1 through S9. The ADVENTURE progty program. (Optional)JH To assemble the DUMP utility program, follow the same procedure as >written in 6502 assembly language using the Apple DOS Toolkit JHAssembler. They have been written so the olds.GE LCABB .... Contains a count for each location of how many times 1abbreviated location description has been used.EC DWLOC .... Contains the locations of the five dwarves and the pirate.I DWOLD .... Contains the prior loc, and the bottle =;(object 20) are all located in the building (location 3). B@Therefore LCOBJ (3) contains 1, LCLNK (1) contains 2, LCLNK (2) ?=contains 19, LCLNK (19) contains (20) and finally LCLNK (20) +contains zero indicating no more object: LCOBJ .... Contains the first object at a location.IG LCLNK .... When more than one object is at a location, this table CAcontains the link to that object. For example, the keys (object @>1), the lamp (object 2), the food (object 19)tion for two-placed objects like the grate.IG OBPRP .... Contains the property of an object. All objects start CAout with a property of zero except the treasures which start out @with -1. Once they are discovered, the -1 is changed to zero.value of -1 ($FF) means he (the adventurer) is carrying it.JH OBPL2 .... Starts out the same as OBPL1. It is used to tell if an object has moved. IG OBFX1 .... Contains -1 for objects that are fixed in place or the 8second locaat $0804 contain a JMP to INIT in the ADV module. The tables in this module are:HF OBPL1 .... Contains the locations of all 64 objects. A value of @>zero means it's not anywhere (Could have been destroyed or it ECdoesn't exist yet). A and restore game JHroutine simpler. Because they just read or write four sectors starting IGat $0800 and the first four bytes of a binary file are the address and EClength, the effect is to ignore these first four bytes. The first ECthree bytes follow the ADVENTURE module because the save and restore FDroutines always expect $0800 to $0BFF to contain the dynamic data. HFNote that the program is ORG'ed to location $0804 instead of the more DBcommon $0800 or $0803. This is to make the savedisk. You would have to GEchange this to write more. The first part of the module is moved to JHand from page zero by initialization, save game, and restore game. The A?position of this module in the assembly is important. It must GEimmediatelyURE program. When a game is saved, this is the stuff that must GEbe saved on disk. These are located starting at $0800 and extending FDnot further than $0BFF. Note that if you change anything, the save FDgame feature simply writes four sectors to and DSECT's (DUM for MERLIN). -There is no executable code in this module.TABLE MODULES ..... DBDYN ........ This is the dynamic variable and tables module. The B@variables and tables in this module are changed at times by the HFADVENT equated to a nonzero 4value, the DUMP utility program will be assembled.FDDUMP ....... This module is the root module for assembling the DUMP utulity program."VARIABLE DEFINITION MODULE .....IGVAR ........ This module contains EQU's . This is the root module for the ADVENTURE program. This ECmodule and the DUMP module are sumilar. Each contain an EQU for a HFsymbol labeled DUMP. When this symbol is equated to zero, the normal HFADVENTURE program will be assembled. When it is version of this assembler HFpublished in 1980 can be used. However, the new version published in HF1984 is much faster, so you might consider obtaining a copy. A short &description of the modules follows: ROOT MODULES .....HFADVENTURE .ation of the above troublemakers.3 DWSEE .... Tells when a dwarf has been seen.? DWTRV .... Used as work area during random dwarf travel.DB HIACC .... Tells when one of the six possible hints has been given.GE HINUML ... Contains a count that determines when a hint will be DBoffered. For example, when lost in the forest he has to be there =for a specified number of turns before the hint is offered.+ HINUMH ... Other byte for the above.HFSTA ........ HFbyte and the high byte of the address where the compressed text for a Ggiven entry begins. Each time the PAKTXT process is run, it creates FDthe source for this modules. Naturally, the ADVENTURE program must FDthen be assembled to make use entry in the TVXXX table.G TCXXX .... Contains additional information for condition travel.HFPTR ........ This module is created by the text compression process. IGIt contains tables, also pointed to by zero page addresses, of the lowl travel byte ?=indicates such. The third byte contains the vocabulary word 0number that will cause this entry to be tried.HF TVCND .... Contains conditional travel bytes for several entries DBin the TVTBL table. Often has a corresponding DBSecond, if the remaining bits are not zero, they contain an index B@into the TVCND table. The second byte contains the destination >technique is used throughout the program for nearly all table reference. JHTRV ........ This is the travel table module. It is the largest of the 0table modules. The tables in this mt zero page instructions can be used DBto refer to the table entries. For example, there are 64 objects ?=in the game. Each object has a number for which there is an CAequate in the ADVENTURE module. To find out the location of the DBbird, the f Contains the remark message number of the hint.DB SCVALL ... Contains the score cutoff value for the different levels of achievement.JH VEC ...... Address vector table. This table is moved to page zero CAby initialization so indirec HITRNH ... Other byte for the aboveHF HIPTS .... Contains the number of points to be deducted from the score if the hint is accepted.GE HIASK .... Contains the remark message number to be asked for a hint.A HIMSG ....ontains the condition at a given location (water here, light here, etc.). JH ACMSG .... Contains the default remark message number for the type 2 vocabulary words.C HITRNL ... Contains the number of turns required for a hint.*tains the number of a vocabulary word. Once the ECword is looked up in following table, this corresponding number is %retained for the rest of the tests.F VOTXT .... Contains the text (five bytes) of a vocabulary word.JH LCCND .... Cwords are motion words such as "IN" or "WEST", type DB1 words are objects, type 2 words are action words such as "TAKE" ECor "OPEN" and type 4 are special words like "HELP" or "SWIM" most $of which result in a snide remark.FD VONUM .... Con This is the static table module. All of the tables that JHdon't change in the game are here except the travel tables. The tables in this module are:JH VOTYP .... Contains the type of a vocabulary word. There are four ECtypes. Type 0 of the new pointer addresses. If you 0forget, some very strange messages can appear.PROGRAM MODULES ..... JHADV ........ This is the main "flow of control" module. The first part FDof the module contains initialization code. Most everything always GEcomes back here to one of three or four points when they've finished ECkilling, breaking, taking, or whatever. This module also gets the ECcommand from the player and tries to make sense out of what's been HFrequested. Assuming it does enclosed in brackets don't have to be entered. The word 4is implied and is provided for your understanding.ECNote that this is a fast way through the cave, not necessarily a fun way!H------------------------------------------------d. Usually, they will have wandered away by the time you return. IGDwarves, and the pirate (being part dwarf), will never cross the troll HFbridge. They also never wander into the maze all different, but they will follow you in.HFThe commandhrows the axe, take it and ECkeep it with you until you have killed five of the little devils. HFThere will never be more than five. If you are near an exit, you can IGrun from them instead of hanging around and taking the chance on being JHkilleLNOPQRSTUVWXYZ[\] GIGWhat follows is the fastest route known through Colossal Cave. Since HFdwarves move about at random, they must be delt with as you encounter JHthem. When you meet the first dwarf and he tR$O=================|=============================================================="module formats and prints the tables. It is not IGincluded in the assembly of the ADVENTURE program. It is assembled as ,the main part of the DUMP utility program. list), destroy an object, load a travel table IGentry, get a command (two five byte "words"), vocabulary lookup, get a GEyes/no response, determine liquid at a location, determine liquid in &bottle, and determine if it is dark.B@DMP ..... This n ADV.IGSUB ..... There are a ton of subroutines in this module. The routines IGfor text output are here. Other routines in this module are multiply, GEpercent probability, move an object, put an object, juggle an object FD(make it first on thebunch of miscellaneous stuff such as IGhints, figuring out the score, closing the cave, the "blinding flash", JHsaving and restoring games, deaths, low lamp conditions, and quitting. HThis is the only program module that requests disk I/O other thaSOUTH" "EAST" "WEST" business such 2as the troll bridge, the plover transport, etc. HFVB? ........ There are three modules that begin with VB. They handle 5all of the action verbs like TAKE, DROP, KILL, etc.GEMSC ..... This module handles a entered, it gives +control to the appropriate verb routine. IGMOT ........ This module handles all of the "motion" or travel through JHthe cave. There are several special travel situations that are handled HFin addition to the normal "NORTH" "s, it will then give control to the motion ><(MOT) module or the analyze verb and object (ANA) module if appropriate. HFANA ........ This module will analyze verbs. Once it thinks it knows IGthat a proper verb and object, if required, has been----------------------COMMAND LOCATION"IN Inside buildingPLUGH "Y2" (Dark)PLOVER Plover RoomTAKE [EMERALD] W Alcove (Dark)DROP EMERALDE Plover Room#DARK Dark Room (Dark)TAKE PYRAMIDOUT Plover RoomPLOVER "Y2" (Dark)"PLUGH Inside buildingDROP PYRAMID TAKE LAMP%XYZZY Debris Room (Dark) TAKE [ROD]E Cy CavernW AlcoveTAKE [EMERALD]NW Misty Cavern S Oriental Room TAKE VASE$SE Swiss Cheese RoomDROP TRIDENTE Soft Room TAKE PILLOW$W Swi E/W Corridor#W NE side of ChasmOVERRELEASE BEAR#OVER SW side of chasm#SW Sloping corridor!D Large low room SE Oriental RoomN Mistarren Room FEED BEARUNLOCK [CHAIN] DROP KEYS TAKE CHAIN CATCH BEARFORK Fork in path+NE Junction with warm walls&E Chamber of BouldersTAKE [SPICES]FORK Fork in pathW teep incline above a large room!D Large low room#SW Sloping corridor#U SW side of chasm TOSS EGGS#OVER NE side of chasm*BARREN In front of Barren RoomIN B West Pit"CLIMB Narrow corridorW Giant Room TAKE [EGGS]4N One end of an immense N/S passagePOUR DROP BOTTLE(N Cavern with WaterfallTAKE [TRIDENT]3W S West PitPOUR*U West end of Twopit Room*E East end of Twopit RoomD East PitFILL*U East end of Twopit Room*W West end of Twopit RoomD Secret N/S canyon above a large roomRESERVOIR ReservoirFILL S Mirror Canyon7S Secret N/S canyon above a large roomD Slab Room*S West end of Twopit RoomD Dirty passageBEDQUILT BedquiltSLAB Slab Room*S West end of Twopit RoomD West PitPOUR*U West end of Twopit RoomW Slab Room7U sage at hole in floorN "Y2"PLUGH DROP CHESTDROP DIAMONDS DROP NUGGET DROP COINSDROP JEWELRY TAKE KEYS TAKE FOOD TAKE BOTTLEPLUGH "Y2"3S Low N/S passage at hole in floor D RELEASE BIRD DROP CAGE$W West Side ChamberTAKE [COINS](E Hall of Mountain King%S South Side ChamberTAKE [JEWELRY](N Hall of Mountain King3N Low N/S pas pitD Bird Chamber TAKE [BIRD]#W Top of small pit D Hall of Mists&S Nugget of Gold RoomTAKE [NUGGET] N Hall of Mists(D Hall of Mountain King Maze all alikeJHIf the pirate has not yet stolen the diamonds, Repeatedly enter NOWHERE until he does, then procede.NW Dead end TAKE CHESTTAKE [DIAMONDS]!SE Maze all alikeN Brink of Maze all alike!E Maze all alike!S Maze all alike!S Maze all alike!S Maze all alike!N Maze all alikeE Brink of pit!E obble Crawl TAKE [CAGE]*PIT Top of small pit (Dark)ON D Hall of Mists'W East bank of fissure WAVE ROD DROP RODOVERTAKE DIAMONDS0W West end of the Hall of Mists!U ss Cheese RoomNE Bedquilt#E Complex Junction"U Dusty Rock Room E Dirty passage3U Low N/S passage at hole in floorN "Y2""PLUGH Inside building DROP CHAIN DROP SPICESDROP EMERALD DROP PILLOW DROP VASEPLUGH "Y2"3S Low N/S passage at hole in floor TAKE [BARS](S Hall of Mountain King7SW Secret E/W canyon aGAZINESNBRepeatedly go NORTH until you are transported to the repository.'SW SW End of Repository TAKE ROD'NE NE End of Repository DROP ROD'SW SW End of RepositoryBLAST.PLUGH3S Low N/S passage at hole in floor D Dirty passageBEDQUILT Bedquilt#E Complex JunctionE AnteroomTAKE [MAGAZINES]E Witt's EndDROP MA "Y2"JHAttempting to exit after the cave has closed shows that "panic" has set @in and shortens the time until you will be transported to the IGrepository. You have fifteen turns to get to Witt's End ... and prove you've been thereDROP TRIDENT DROP PEARL DROP EGGSPLUGH "Y2"3S Low N/S passage at hole in floorIGWait around here for the cave closing by repeatedly entering NOWHERE. -When the cave closing is announced procede.N Bedquilt#E Complex Junction"U Dusty Rock Room E Dirty passage3U Low N/S passage at hole in floorN "Y2""PLUGH Inside building DROP BARS DROP RUGant RoomFEEFIEFOEFOO TAKE [EGGS]4N One end of an immense N/S passage(N Cavern with waterfall3W Steep incline above a large room!D Large low roomBEDQUILT SHELL Shell Room#S Complex JunctionW BedquiltSLAB Slab Room*S West end of Twopit RoomD West Pit"CLIMB Narrow corridorW GilsD Cul-de-sacIGYou have just located the last treasure. You have thirty turns to get FDthe eggs back and get them out of the cave before closing. This is 3cutting things close, so don't make any mistakes.TAKE [PEARL] Tall E/W canyon with crawl to North$N Swiss Cheese RoomTAKE [TRIDENT]NE Bedquilt#E Complex JunctionN Shell Room OPEN [CLAM]4D Sloping corridor with sharp walbove tight canyonBW Secret canyon which exits to the North and EastKILL [DRAGON]YES TAKE RUG7E Secret E/W canyon above tight canyon6D Wide place in very tight N/S canyon6N