A large commit.
[pdp8.git] / sw / adventure / AMAIN.RA
diff --git a/sw/adventure/AMAIN.RA b/sw/adventure/AMAIN.RA
deleted file mode 100644 (file)
index 3b0d477..0000000
+++ /dev/null
@@ -1,6482 +0,0 @@
-       EXTERN  SAVEGM\r
-       EXTERN  RSTRGM\r
-       EXTERN  A5TOA1\r
-       SECT    AMAIN\r
-       EXTERN  BITSET\r
-       EXTERN  BUG\r
-       EXTERN  CARRY\r
-       EXTERN  DROP\r
-       EXTERN  DSTROY\r
-       EXTERN  GETIN\r
-       EXTERN  IABS\r
-       EXTERN  JUGGLE\r
-       EXTERN  MAX0\r
-       EXTERN  MIN0\r
-       EXTERN  MOD\r
-       EXTERN  MOVE\r
-       EXTERN  SPEAK\r
-       EXTERN  PSPEAK\r
-       EXTERN  PUT\r
-       EXTERN  RND\r
-       EXTERN  RSPEAK\r
-       EXTERN  SPEAK\r
-       EXTERN  VOCAB\r
-       EXTERN  YES\r
-       EXTERN  #FIX\r
-       EXTERN  #WRITO\r
-       EXTERN  #RENDO\r
-       EXTERN  #RSVO\r
-       EXTERN  #UE\r
-       EXTERN  #EQ\r
-       EXTERN  #NE\r
-       EXTERN  PCT\r
-       EXTERN  GETWRD\r
-       EXTERN  PUTWRD\r
-       EXTERN  SIXOUT\r
-       JA      #ST\r
-#XR,   ORG     .+10\r
-       TEXT    +AMAIN +\r
-#RET,  SETX    #XR\r
-       SETB    #BASE\r
-       JA      .+3\r
-#BASE, ORG     .+6\r
-ZERO,  F 0\r
-ONE,   F 1\r
-TWO,   F 2\r
-THREE, F 3\r
-MINUS1,        F -1\r
-IND,   0;0;0\r
-       ORG     #BASE+30\r
-       FNOP\r
-       JA      #RET\r
-       FNOP\r
-#GOBAK,        0;0\r
-HINT,  ORG     .+3\r
-KENT,  ORG     .+3\r
-KQ,    ORG     .+3\r
-K2,    ORG     .+3\r
-LL,    ORG     .+3\r
-N,     ORG     .+3\r
-PBOTL, ORG     .+3\r
-SPK,   ORG     .+3\r
-WD1,   ORG     .+3\r
-WD1X,  ORG     .+3\r
-WD2,   ORG     .+3\r
-WD2X,  ORG     .+3\r
-YEA,   ORG     .+3\r
-#TMP,  ORG     .+30\r
-\r
-#LIT,  F 4             / Literals. Too many cause ST overflow\r
-       F 5     /3\r
-       F 6     /6\r
-       F 8     /11\r
-       F 9     /14\r
-       F 10    /17\r
-       F 12    /22\r
-       F 15    /25\r
-       F 16    /30\r
-       F 17    /33\r
-       F 20    /36\r
-       F 22    /41\r
-       F 23    /44\r
-       F 24    /47\r
-       F 25    /52\r
-       F 26    /55\r
-       F 27    /60\r
-       F 30    /63\r
-       F 35    /66\r
-       F 37    /71\r
-       F 39    /74\r
-       F 40    /77\r
-       F 45    /102\r
-       F 49    /105\r
-       F 50    /110\r
-       F 54    /113\r
-       F 57    /116\r
-       F 58    /121\r
-       F 62    /124\r
-       F 65    /127\r
-       F 81    /132\r
-       F 29    /135\r
-       F 91    /140\r
-       F 92    /143\r
-       F 95    /146\r
-       F 99    /151\r
-       F 100   /154\r
-       F 105   /157\r
-       F 110   /162\r
-       F 115   /165\r
-       F 116   /170\r
-       F 117   /173\r
-       F 127   /176\r
-       F 128   /201\r
-       F 129   /204\r
-       F 130   /207\r
-       F 131   /212\r
-       F 132   /215\r
-       F 136   /220\r
-       F 140   /223\r
-       F 141   /226\r
-       F 143   /231\r
-       F 145   /234\r
-       F 162   /237\r
-       F 163   /242\r
-       F 165   /245\r
-       F 175   /250\r
-       F 184   /253\r
-       F 185   /256\r
-       F 186   /261\r
-       F 188   /264\r
-       F 192   /267\r
-       F 193   /272\r
-       F 197   /275\r
-       F 199   /300\r
-       F 201   /303\r
-       F 300   /306\r
-       F 500   /311\r
-       F 1000  /314\r
-       F 2500  /317\r
-       F 10000 /322\r
-       F 80    /325\r
-       F 60    /330\r
-       F 154   /333\r
-TENTE, TEXT +ENTE  +\r
-TPOUR, TEXT +POUR  +\r
-TWEST, TEXT +WEST  +\r
-TQUES, TEXT +?@    +\r
-TQDOT, TEXT +".@   +\r
-TYES,  TEXT +YES   +\r
-TYE,   TEXT +YE    +\r
-TY,    TEXT +Y     +\r
-\f      #LBL=.\r
-       COMMON  ABBCOM\r
-ABB,   ORG     .+702\r
-       COMMON  MISCOM\r
-LINUSE,        ORG     .+3\r
-TRVS,  ORG     .+3\r
-CLSSES,        ORG     .+3\r
-OLDLOC,        ORG     .+3\r
-LOC,   ORG     .+3\r
-CVAL,  ORG     .+44\r
-TK,    ORG     .+74\r
-NEWLOC,        ORG     .+3\r
-KEY,   ORG     .+702\r
-PLAC,  ORG     .+454\r
-FIXD,  ORG     .+454\r
-ACTSPK,        ORG     .+151\r
-COND,  ORG     .+702\r
-HINTS, ORG     .+360\r
-HNTMAX,        ORG     .+3\r
-PROP,  ORG     .+454\r
-TALLY, ORG     .+3\r
-TALLY2,        ORG     .+3\r
-HINTLC,        ORG     .+74\r
-CHLOC, ORG     .+3\r
-CHLOC2,        ORG     .+3\r
-DSEEN, ORG     .+22\r
-DFLAG, ORG     .+3\r
-DLOC,  ORG     .+22\r
-DALTLC,        ORG     .+3\r
-KEYS,  ORG     .+3\r
-LAMP,  ORG     .+3\r
-GRATE, ORG     .+3\r
-CAGE,  ORG     .+3\r
-ROD,   ORG     .+3\r
-ROD2,  ORG     .+3\r
-STEPS, ORG     .+3\r
-BIRD,  ORG     .+3\r
-DOOR,  ORG     .+3\r
-PILLOW,        ORG     .+3\r
-SNAKE, ORG     .+3\r
-FISSUR,        ORG     .+3\r
-TABLET,        ORG     .+3\r
-CLAM,  ORG     .+3\r
-OYSTER,        ORG     .+3\r
-MAGZIN,        ORG     .+3\r
-DWARF, ORG     .+3\r
-KNIFE, ORG     .+3\r
-FOOD,  ORG     .+3\r
-BOTTLE,        ORG     .+3\r
-WATER, ORG     .+3\r
-OIL,   ORG     .+3\r
-PLANT, ORG     .+3\r
-PLANT2,        ORG     .+3\r
-AXE,   ORG     .+3\r
-MIRROR,        ORG     .+3\r
-DRAGON,        ORG     .+3\r
-CHASM, ORG     .+3\r
-TROLL, ORG     .+3\r
-TROLL2,        ORG     .+3\r
-BEAR,  ORG     .+3\r
-MESSAG,        ORG     .+3\r
-VEND,  ORG     .+3\r
-BATTER,        ORG     .+3\r
-NUGGET,        ORG     .+3\r
-COINS, ORG     .+3\r
-CHEST, ORG     .+3\r
-EGGS,  ORG     .+3\r
-TRIDNT,        ORG     .+3\r
-VASE,  ORG     .+3\r
-EMRALD,        ORG     .+3\r
-PYRAM, ORG     .+3\r
-PEARL, ORG     .+3\r
-RUG,   ORG     .+3\r
-CHAIN, ORG     .+3\r
-BACK,  ORG     .+3\r
-LOOK,  ORG     .+3\r
-CAVE,  ORG     .+3\r
-NULL,  ORG     .+3\r
-ENTRNC,        ORG     .+3\r
-DPRSSN,        ORG     .+3\r
-SAY,   ORG     .+3\r
-LOCK,  ORG     .+3\r
-THROW, ORG     .+3\r
-FIND,  ORG     .+3\r
-INVENT,        ORG     .+3\r
-TURNS, ORG     .+3\r
-LMWARN,        ORG     .+3\r
-KNFLOC,        ORG     .+3\r
-DETAIL,        ORG     .+3\r
-ABBNUM,        ORG     .+3\r
-NUMDIE,        ORG     .+3\r
-MAXDIE,        ORG     .+3\r
-DKILL, ORG     .+3\r
-FOOBAR,        ORG     .+3\r
-BONUS, ORG     .+3\r
-CLOCK1,        ORG     .+3\r
-CLOCK2,        ORG     .+3\r
-CLOSNG,        ORG     .+3\r
-PANIC, ORG     .+3\r
-CLOSED,        ORG     .+3\r
-GAVEUP,        ORG     .+3\r
-SCORNG,        ORG     .+3\r
-ODLOC, ORG     .+22\r
-STREAM,        ORG     .+3\r
-SPICES,        ORG     .+3\r
-\r
-       COMMON  MISC2\r
-I,     ORG     .+3\r
-       ORG     .+3     /RTXSIZ\r
-       ORG     .+3     /CLSMAX\r
-       ORG     .+3     /LOCSIZ\r
-CTEXT, ORG     .+44\r
-STEXT, ORG     .+702\r
-LTEXT, ORG     .+702\r
-       ORG     .+3     /SECT\r
-TRAVEL, ORG    .+1356\r
-TRVCON, ORG    .+1356\r
-TRVLOC, ORG    .+1356\r
-TRVSIZ,        ORG     .+3\r
-       ORG     .+3     /TABNDX\r
-OBJ,   ORG     .+3\r
-J,     ORG     .+3\r
-K,     ORG     .+3\r
-VERB,  ORG     .+3\r
-HNTSIZ,        ORG     .+3\r
-MAXTRS,        ORG     .+3\r
-HINTED,        ORG     .+74\r
-       ORG     .+3     /HNTLOC\r
-KK,    ORG     .+3\r
-       COMMON  PLACOM\r
-ATLOC, ORG     .+702\r
-LINK,  ORG     .+1130\r
-PLACE, ORG     .+454\r
-FIXED, ORG     .+454\r
-HOLDNG,        ORG     .+3\r
-       COMMON  PTXCOM\r
-PTEXT, ORG     .+454\r
-       COMMON  TXTCOM\r
-RTEXT, ORG     .+1147\r
-       ORG     .+44    /LINES\r
-       ORG     .+3     /ASCVAR\r
-       ORG     .+3     /TXTLOC\r
-       ORG     .+234   /DATA\r
-       COMMON  MISC3\r
-ATTACK,        ORG     .+3\r
-DTOTAL,        ORG     .+3\r
-OLDLC2,        ORG     .+3\r
-LIMIT, ORG     .+3\r
-MXSCOR,        ORG     .+3\r
-SCORE, ORG     .+3\r
-STICK, ORG     .+3\r
-WZDARK,        ORG     .+3\r
-\f      ORG     #LBL\r
-#25000,\r
-#RTN,  BASE    #BASE\r
-       JA      #GOBAK\r
-#ST,   STARTD\r
-       0210\r
-       FSTA    #GOBAK,0\r
-       0200\r
-       SETX    #XR\r
-       SETB    #BASE\r
-       STARTF\r
-       JA      #STRT    /#G0001\r
-/\r
-/ Statement functions - called with JSA to save space\r
-/\r
-/      TOTING(OBJ)=PLACE(OBJ).EQ.-1\r
-TOTING,        0;0\r
-       ATX     3\r
-       FLDA    PLACE-3,3\r
-       FADD    ONE\r
-       JSA     #EQ\r
-       JA      TOTING\r
-\r
-/      AT(OBJ)=PLACE(OBJ).EQ.LOC.OR.FIXED(OBJ).EQ.LOC\r
-AT,    0;0\r
-       ATX     3\r
-       FLDA    PLACE-3,3\r
-       FSUB    LOC\r
-       JEQ     ISAT\r
-       FLDA    FIXED-3,3\r
-       FSUB    LOC\r
-ISAT,  JSA     #EQ\r
-       JA      AT\r
-\r
-/      FORCED(LOC)=COND(LOC).EQ.2\r
-FORCED,        0;0\r
-       ATX     3\r
-       FLDA    COND-3,3\r
-       FSUB    TWO\r
-       JSA     #EQ\r
-       JA      FORCED\r
-\r
-/      HERE(OBJ) = PLACE(OBJ).EQ.LOC .OR. TOTING(OBJ)\r
-HERE,  0;0\r
-       JSA     TOTING\r
-       JNE     ISHERE\r
-       FLDA    LOC\r
-       FSUB    PLACE-3,3\r
-       JEQ     ISHERE\r
-       FCLA\r
-       JA      HERE\r
-ISHERE,        FLDA    ONE\r
-       JA      HERE\r
-\r
-/ DARK(DUMMY)=MOD(COND(LOC),2).EQ.0.AND.(PROP(LAMP).EQ.0.OR.\r
-/ 1    .NOT.HERE(LAMP))\r
-\r
-DARK,  0;0\r
-/ .OR. .NOT. HERE(LAMP)\r
-       FLDA    LAMP\r
-       JSA     HERE\r
-       JEQ     NOTHR\r
-/ .OR. PROP(LAMP) EQ 0\r
-       FLDA    PROP-3,3\r
-       JNE     NOTDRK\r
-/ MOD(COND(LOC),2) .EQ. 0\r
-NOTHR, FLDA    LOC             / Either prop or not here\r
-       ATX     4\r
-       FLDA    COND-3,4        / COND(LOC)\r
-       FDIV    TWO             / Divided by two\r
-       JSA     #FIX\r
-       FMUL    TWO\r
-       FSTA    #TMP+14\r
-       FLDA    COND-3,4        / Get back COND(LOC)\r
-       FSUB    #TMP+14         / Now have mod\r
-       JNE     NOTDRK          / If not zero, not dark\r
-       FLDA    ONE\r
-       JA      DARK\r
-NOTDRK,        FCLA\r
-       JA      DARK\r
-\r
-/      LIQ2(PBOTL)=(1-PBOTL)*WATER+(PBOTL/2)*(WATER+OIL)\r
-LIQ2,  0;0\r
-       FLDA    ONE\r
-       FSUB    PBOTL           / 1 - PBOTL\r
-       FMUL    WATER           / (1-PBOTL)*WATER\r
-       FSTA    #TMP+14         / Store first term\r
-       FLDA    PBOTL\r
-       FDIV    TWO             / PBOTL/2\r
-       JSA     #FIX\r
-       FSTA    #TMP+6\r
-       FLDA    WATER\r
-       FADD    OIL             / WATER+OIL\r
-       FMUL    #TMP+6          / (PBOTL/2)*(WATER+OIL)\r
-       FADD    #TMP+14\r
-       JA      LIQ2            / Done\r
-\r
-/      LIQ(DUMMY)=LIQ2(MAX0(PROP(BOTTLE),-1-PROP(BOTTLE)))\r
-LIQ,   0;0\r
-/PROP(BOTTLE)\r
-       FLDA    BOTTLE\r
-       ATX     5\r
-       FLDA    PROP-3,5        / PROP(BOTTLE)\r
-       FSTA    PBOTL   \r
-       FLDA    MINUS1\r
-       FSUB    PBOTL           /-1-PROP(BOTTLE)\r
-       FSTA    #TMP+11\r
-       FLDA    PBOTL           / Find larger\r
-       FSUB    #TMP+11\r
-       JGT     .+4             / already larger, now PBOTL\r
-       FLDA    #TMP+11\r
-       FSTA    PBOTL           / This is PBOTL\r
-       JSA     LIQ2            / Call LIQ2 with this\r
-       JA      LIQ             / And return\r
-\r
-/      LIQLOC(LOC)=LIQ2((MOD(COND(LOC)/2*2,8)-5)*MOD(COND(LOC)/4,2)+1)\r
-LIQLOC,        0;0\r
-       FLDA    LOC             / Always called with LOC as arg\r
-       ATX     2\r
-       FLDA    COND-3,2        / COND(LOC)\r
-       FSTA    #TMP+11         / Save that\r
-       FDIV    TWO\r
-       JSA     #FIX            / COND(LOC)/2\r
-       FMUL    TWO             / COND(LOC)/2*2\r
-       FSTA    #TMP+17\r
-       FDIV    #LIT+11         / Modulo 8\r
-       JSA     #FIX\r
-       FMUL    #LIT+11\r
-       FSTA    #TMP+22\r
-       FLDA    #TMP+17\r
-       FSUB    #TMP+22         / MOD(...)\r
-       FSUB    #LIT+3          / -5.\r
-       FSTA    #TMP+25         / First Term\r
-       FLDA    #TMP+11         / COND(LOC)\r
-       FDIV    #LIT            / COND(LOC)/4\r
-       JSA     #FIX\r
-       FSTA    #TMP+17\r
-       FDIV    TWO             / Mod 2\r
-       JSA     #FIX\r
-       FMUL    TWO\r
-       FSTA    #TMP+22\r
-       FLDA    #TMP+17\r
-       FSUB    #TMP+22\r
-       FMUL    #TMP+25         / Multiply\r
-       FADD    ONE             / +1\r
-       FSTA    PBOTL           / Finally got the term\r
-       JSA     LIQ2            / Send to LIQ2\r
-       JA      LIQLOC\r
-/\r
-/ Read the property field - object passed in FAC\r
-/\r
-RDPROP,        0;0\r
-       ATX     7\r
-       FLDA    PROP-3,7\r
-       JA      RDPROP\r
-/\r
-/ Print a string\r
-/\r
-SPRINT,        0;0\r
-       LDX     0,1\r
-       STARTD\r
-       FLDA    SPRINT\r
-       FSTA    IND             /Indirect pointer\r
-       FLDA%   IND,1\r
-       FSTA    PTR\r
-       FLDA%   IND,1+\r
-       FSTA    CNT\r
-       FLDA    D4              /Add four to skip arguments\r
-       FADDM   SPRINT\r
-       STARTD\r
-       JSR     SIXOUT\r
-       JA      SPRINT\r
-PTR,   0;0\r
-       JA      ZERO\r
-CNT,   0;0\r
-D4,    0;4\r
-\f/\r
-/ Main routine entry point\r
-/\r
-#STRT, \r
-/1      I=RND(1)\r
-#1,    JSR     RND\r
-       JA      .+4\r
-       JA      ONE\r
-       FSTA    I\r
-/      HINTED(3)=YES(65,1,0)\r
-       JSR     YES\r
-       JA      .+10\r
-       JA      #LIT+127\r
-       JA      ONE\r
-       JA      ZERO\r
-       FSTA    HINTED+6                /HINTED(3)\r
-/      NEWLOC=1\r
-       FLDA    ONE\r
-       FSTA    NEWLOC\r
-/      LOC = NEWLOC\r
-       FSTA    LOC\r
-/      LIMIT=330\r
-       DECIMAL\r
-               LDX     330,0\r
-       OCTAL\r
-       XTA     0\r
-       FSTA    LIMIT\r
-/      IF(HINTED(3))LIMIT=1000\r
-       FLDA    HINTED+6                /HINTED(3)\r
-       JEQ     #2\r
-       FLDA    #LIT+314\r
-       FSTA    LIMIT\r
-/2      IF(NEWLOC.GE.9.OR.NEWLOC.EQ.0.OR..NOT.CLOSNG)GOTO 71\r
-#2,    FLDA    NEWLOC\r
-       FSUB    #LIT+14\r
-       JGE     #71\r
-       FLDA    NEWLOC\r
-       JEQ     #71\r
-       FLDA    CLOSNG\r
-       JEQ     #71\r
-/      CALL RSPEAK(130)\r
-       JSR     RSPEAK\r
-       JA      .+4\r
-       JA      #LIT+207\r
-/      NEWLOC=LOC\r
-       FLDA    LOC\r
-       FSTA    NEWLOC\r
-/      IF(.NOT.PANIC)CLOCK2=15\r
-       FLDA    PANIC\r
-       JNE     .+5\r
-       FLDA    #LIT+25\r
-       FSTA    CLOCK2\r
-/      PANIC=.TRUE.\r
-       FLDA    ONE\r
-       FSTA    PANIC\r
-/C\r
-/C SEE IF A DWARF HAS SEEN HIM AND HAS COME FROM WHERE HE WANTS TO GO. IF SO,\r
-/C THE DWARF'S BLOCKING HIS WAY. IF COMING FROM PLACE FORBIDDEN TO PIRATE\r
-/C (DWARVES ROOTED IN PLACE) LET HIM GET OUT (AND ATTACKED).\r
-/C\r
-/71     IF(NEWLOC.EQ.LOC.OR.FORCED(LOC).OR.BITSET(LOC,3))GOTO 74\r
-#71,   FLDA    NEWLOC\r
-       FSUB    LOC\r
-       JEQ     #74\r
-       FLDA    LOC\r
-       JSA     FORCED\r
-       JNE     #74\r
-       JSR     BITSET\r
-       JA      .+6\r
-       JA      LOC\r
-       JA      THREE\r
-       JNE     #74\r
-/      DO 73 I=1,5\r
-       FLDA    ONE\r
-       FSTA    I\r
-\r
-/      IF(ODLOC(I).NE.NEWLOC.OR..NOT.DSEEN(I))GOTO 73\r
-#G0047,        FLDA    I\r
-       ATX     7\r
-       FLDA    ODLOC-3,7\r
-       FSUB    NEWLOC\r
-       JNE     #73\r
-       FLDA    DSEEN-3,7\r
-       JEQ     #73\r
-/      NEWLOC=LOC\r
-       FLDA    LOC\r
-       FSTA    NEWLOC\r
-/      CALL RSPEAK(2)\r
-       JSR     RSPEAK\r
-       JA      .+4\r
-       JA      TWO\r
-/      GOTO 74\r
-       JA      #74\r
-/73     CONTINUE\r
-#73,   FLDA    I\r
-       FADD    ONE\r
-       FSTA    I\r
-       FSUB    #LIT+3\r
-       JLE     #G0047\r
-\r
-#74,   FLDA    NEWLOC\r
-       FSTA    LOC\r
-/C\r
-/C DWARF STUFF. SEE EARLIER COMMENTS FOR DESCRIPTION OF VARIABLES. REMEMBER\r
-/C SIXTH DWARF IS PIRATE AND IS THUS VERY DIFFERENT EXCEPT FOR MOTION RULES.\r
-/C\r
-/C FIRST OFF, DON'T LET THE DWARVES FOLLOW HIM INTO A PIT OR A WALL. ACTIVATE\r
-/C THE WHOLE MESS THE FIRST TIME HE GETS AS FAR AS THE HALL OF MISTS (LOC 15).\r
-/C IF NEWLOC IS FORBIDDEN TO PIRATE (IN PARTICULAR, IF IT'S BEYOND THE TROLL\r
-/C BRIDGE), BYPASS DWARF STUFF. THAT WAY PIRATE CAN'T STEAL RETURN TOLL, AND\r
-/C DWARVES CAN'T MEET THE BEAR. ALSO MEANS DWARVES WON'T FOLLOW HIM INTO DEAD\r
-/C END IN MAZE, BUT C'EST LA VIE. THEY'LL WAIT FOR HIM OUTSIDE THE DEAD END.\r
-/C\r
-/      IF(LOC.EQ.0.OR.FORCED(LOC).OR.BITSET(NEWLOC,3))GOTO 2000\r
-/      FLDA    LOC\r
-       JEQ     #2000\r
-/      FLDA    LOC\r
-       JSA     FORCED\r
-       JNE     #2000\r
-       JSR     BITSET\r
-       JA      .+6\r
-       JA      NEWLOC\r
-       JA      THREE\r
-       JNE     #2000\r
-/      IF(DFLAG.NE.0)GOTO 6000\r
-       FLDA    DFLAG\r
-       JNE     #6000\r
-/      IF(LOC.GE.15)DFLAG=1\r
-       FLDA    LOC\r
-       FSUB    #LIT+25\r
-       JLT     #2000\r
-       FLDA    ONE\r
-       FSTA    DFLAG\r
-/      GOTO 2000\r
-       JA      #2000\r
-\r
-/C\r
-/C WHEN WE ENCOUNTER THE FIRST DWARF, WE KILL 0, 1, OR 2 OF THE 5 DWARVES. IF\r
-/C ANY OF THE SURVIVORS IS AT LOC, REPLACE HIM WITH THE ALTERNATE.\r
-/C\r
-/6000   IF(DFLAG.NE.1)GOTO 6010\r
-#6000, FLDA    DFLAG\r
-       FSUB    ONE\r
-       JNE     #6010\r
-/      IF(LOC.LT.15.OR.PCT(95))GOTO 2000\r
-       FLDA    LOC\r
-       FSUB    #LIT+25\r
-       JLT     #2000\r
-       JSR     PCT\r
-       JA      .+4\r
-       JA      #LIT+146\r
-       JNE     #2000\r
-/      DFLAG=2\r
-       FLDA    TWO\r
-       FSTA    DFLAG\r
-/      DO 6001 I=1,2\r
-       FLDA    ONE\r
-       FSTA    I\r
-\r
-/      J=1+RND(5)\r
-#G0051,        JSR     RND\r
-       JA      .+4\r
-       JA      #LIT+3\r
-       FADD    ONE\r
-       FSTA    J\r
-\r
-/6001   IF(PCT(50))DLOC(J)=0\r
-#6001, JSR     PCT\r
-       JA      .+4\r
-       JA      #LIT+110\r
-       JEQ     .+10\r
-       FLDA    J\r
-       ATX     7\r
-       FCLA\r
-       FSTA    DLOC-3,7\r
-       FLDA    I\r
-       FADD    ONE\r
-       FSTA    I\r
-       FSUB    TWO\r
-       JLE     #G0051\r
-/      DO 6002 I=1,5\r
-       FLDA    ONE\r
-       FSTA    I\r
-\r
-/      IF(DLOC(I).EQ.LOC)DLOC(I)=DALTLC\r
-#G0053,        FLDA    I\r
-       ATX     7\r
-       FLDA    DLOC-3,7\r
-       FSUB    LOC\r
-       JNE     #6002\r
-       FLDA    DALTLC\r
-       FSTA    DLOC-3,7\r
-/6002   ODLOC(I)=DLOC(I)\r
-#6002, FLDA    I\r
-       ATX     7\r
-       FLDA    DLOC-3,7\r
-       FSTA    ODLOC-3,7\r
-       FLDA    I\r
-       FADD    ONE\r
-       FSTA    I\r
-       FSUB    #LIT+3\r
-       JLE     #G0053\r
-/      CALL RSPEAK(3)\r
-       JSR     RSPEAK\r
-       JA      .+4\r
-       JA      THREE\r
-/      CALL DROP(AXE,LOC)\r
-       JSR     DROP\r
-/      GOTO 2000\r
-       JA      #2000\r
-       JA      AXE\r
-       JA      LOC\r
-\r
-/C\r
-/C THINGS ARE IN FULL SWING. MOVE EACH DWARF AT RANDOM, EXCEPT IF HE'S SEEN US\r
-/C HE STICKS WITH US. DWARVES NEVER GO TO LOCS <15. IF WANDERING AT RANDOM,\r
-/C THEY DON'T BACK UP UNLESS THERE'S NO ALTERNATIVE. IF THEY DON'T HAVE TO\r
-/C MOVE, THEY ATTACK. AND, OF COURSE, DEAD DWARVES DON'T DO MUCH OF ANYTHING.\r
-/C\r
-/6010   DTOTAL=0\r
-#6010, FCLA\r
-       FSTA    DTOTAL\r
-/      ATTACK=0\r
-       FSTA    ATTACK\r
-/      STICK=0\r
-       FSTA    STICK\r
-/      DO 6030 I=1,6\r
-       FLDA    ONE\r
-       FSTA    I\r
-/       IF (DLOC(I).EQ.0)GOTO 6030\r
-#G0055,        FLDA    I\r
-       ATX     7\r
-       FLDA    DLOC-3,7\r
-       JEQ     #6030\r
-/      J=1\r
-       FLDA    ONE\r
-       FSTA    J\r
-/      KK=DLOC(I)\r
-       FLDA    DLOC-3,7\r
-       FSTA    KK\r
-/      KK=KEY(KK)\r
-       ATX     7\r
-       FLDA    KEY-3,7\r
-       FSTA    KK\r
-/      IF(KK.EQ.0)GOTO 6016\r
-       JEQ     #6016\r
-\r
-/6012   NEWLOC=TRVLOC(KK)\r
-#6012, JSR     GETWRD\r
-       JA      .+10\r
-       JA      TRVLOC\r
-       JA      KK\r
-       JA      ZERO\r
-       FSTA    NEWLOC\r
-/      IF(NEWLOC.GT.300.OR.NEWLOC.LT.15.OR.NEWLOC.EQ.ODLOC(I)\r
-/      1       .OR.(J.GT.1.AND.NEWLOC.EQ.TK(J-1)).OR.J.GE.20\r
-/      2       .OR.NEWLOC.EQ.DLOC(I).OR.FORCED(NEWLOC)\r
-/      3       .OR.(I.EQ.6.AND.BITSET(NEWLOC,3))\r
-/      4       .OR.TRVCON(KK).EQ.100)GOTO 6014\r
-       FSUB    #LIT+306\r
-       JGT     #6014\r
-       FLDA    NEWLOC\r
-       FSUB    #LIT+25\r
-       JLT     #6014\r
-       FLDA    I\r
-       ATX     7\r
-       FLDA    NEWLOC\r
-       FSUB    ODLOC-3,7\r
-       JEQ     #6014\r
-       FLDA    J\r
-       FSUB    ONE\r
-       JLE     .+11\r
-       ATX     6\r
-       FLDA    NEWLOC\r
-       FSUB    TK-3,6\r
-       JEQ     #6014\r
-       FLDA    J\r
-       FSUB    #LIT+36\r
-       JGE     #6014\r
-       FLDA    I\r
-       ATX     7\r
-       FLDA    NEWLOC\r
-       FSUB    DLOC-3,7\r
-       JEQ     #6014\r
-       FLDA    NEWLOC\r
-       JSA     FORCED\r
-       JNE     #6014\r
-       FLDA    I\r
-       FSUB    #LIT+6\r
-       JNE     .+14\r
-       JSR     BITSET\r
-       JA      .+6\r
-       JA      NEWLOC\r
-       JA      THREE\r
-       JNE     #6014\r
-       JSR     GETWRD\r
-       JA      .+10\r
-       JA      TRVCON\r
-       JA      KK\r
-       JA      ZERO\r
-       FSUB    #LIT+154\r
-       JEQ     #6014\r
-/      TK(J)=NEWLOC\r
-       FLDA    J\r
-       ATX     7\r
-       FLDA    NEWLOC\r
-       FSTA    TK-3,7\r
-/      J=J+1\r
-       FLDA    ONE\r
-       FADDM   J\r
-\r
-/6014   KK=KK+1\r
-#6014, FLDA    KK\r
-       FADD    ONE\r
-       FSTA    KK\r
-/      IF(TRAVEL(KK-1).GE.0)GOTO 6012\r
-       FSUB    ONE\r
-       FSTA    #TMP\r
-       JSR     GETWRD\r
-       JA      .+10\r
-       JA      TRAVEL\r
-       JA      #TMP\r
-       JA      ZERO\r
-       JGE     #6012\r
-/6016   TK(J)=ODLOC(I)\r
-#6016, FLDA    J\r
-       ATX     6\r
-       FLDA    I\r
-       ATX     7\r
-       FLDA    ODLOC-3,7\r
-       FSTA    TK-3,6\r
-/      IF(J.GE.2)J=J-1\r
-       FLDA    J\r
-       FSUB    TWO\r
-       JLT     .+5\r
-       FLDA    MINUS1\r
-       FADDM   J\r
-/      J=1+RND(J)\r
-       JSR     RND\r
-       JA      .+4\r
-       JA      J\r
-       FADD    ONE\r
-       FSTA    J\r
-/      ODLOC(I)=DLOC(I)\r
-       FLDA    DLOC-3,7\r
-       FSTA    ODLOC-3,7\r
-/      DLOC(I)=TK(J)\r
-       FLDA    J\r
-       ATX     6\r
-       FLDA    TK-3,6\r
-       FSTA    DLOC-3,7\r
-/      DSEEN(I)=(DSEEN(I).AND.LOC.GE.15)\r
-/      1       .OR.(DLOC(I).EQ.LOC.OR.ODLOC(I).EQ.LOC)\r
-       FLDA    LOC\r
-       FSUB    #LIT+25\r
-       JLT     .+6\r
-       FLDA    DSEEN-3,7\r
-       JNE     .+21\r
-       FLDA    DLOC-3,7\r
-       FSUB    LOC\r
-       JEQ     .+13\r
-       FLDA    ODLOC-3,7\r
-       FSUB    LOC\r
-       JEQ     .+5\r
-       FCLA\r
-       JA      .+3\r
-       FLDA    ONE\r
-       FSTA    DSEEN-3,7\r
-/      IF(.NOT.DSEEN(I))GOTO 6030\r
-       JEQ     #6030\r
-/      DLOC(I)=LOC\r
-       FLDA    LOC\r
-       FSTA    DLOC-3,7\r
-/      IF(I.NE.6)GOTO 6027\r
-       FLDA    I\r
-       FSUB    #LIT+6\r
-       JNE     #6027\r
-/C\r
-/C THE PIRATE'S SPOTTED HIM. HE LEAVES HIM ALONE ONCE WE'VE FOUND CHEST.\r
-/C K COUNTS IF A TREASURE IS HERE. IF NOT, AND TALLY=TALLY2 PLUS ONE FOR\r
-/C AN UNSEEN CHEST, LET THE PIRATE BE SPOTTED.\r
-/C\r
-/      IF(LOC.EQ.CHLOC.OR.PROP(CHEST).GE.0)GOTO 6030\r
-\r
-       FLDA    LOC\r
-       FSUB    CHLOC\r
-       JEQ     #6030\r
-       FLDA    CHEST\r
-       JSA     RDPROP\r
-       JGE     #6030\r
-/      K=0\r
-       FCLA\r
-       FSTA    K\r
-/      DO 6020 J=50,MAXTRS\r
-       FLDA    #LIT+110\r
-       FSTA    J\r
-/C\r
-/C PIRATE WON'T TAKE PYRAMID FROM PLOVER ROOM OR DARK ROOM (TOO EASY!).\r
-/C\r
-/      IF(J.EQ.PYRAM.AND.(LOC.EQ.PLAC(PYRAM)\r
-/      1       .OR.LOC.EQ.PLAC(EMRALD)))GOTO 6020\r
-#G0057,        FLDA    J\r
-       FSUB    PYRAM\r
-       JNE     .+24\r
-       FLDA    PYRAM\r
-       ATX     7\r
-       FLDA    LOC\r
-       FSUB    PLAC-3,7\r
-       JEQ     #6020\r
-       FLDA    EMRALD\r
-       ATX     6\r
-       FLDA    LOC\r
-       FSUB    PLAC-3,6\r
-       JEQ     #6020\r
-/      IF(TOTING(J))GOTO 6022\r
-       FLDA    J\r
-       JSA     TOTING\r
-       JNE     #6022\r
-\r
-/6020   IF(HERE(J))K=1\r
-#6020, FLDA    J\r
-       JSA     HERE\r
-       JEQ     .+5\r
-       FLDA    ONE\r
-       FSTA    K\r
-       FLDA    J\r
-       FADD    ONE\r
-       FSTA    J\r
-       FSUB    MAXTRS\r
-       JLE     #G0057\r
-/      IF(TALLY.EQ.TALLY2+1.AND.K.EQ.0.AND.PLACE(CHEST).EQ.0\r
-/      1       .AND.HERE(LAMP).AND.PROP(LAMP).EQ.1)GOTO 6025\r
-       FLDA    TALLY2\r
-       FADD    ONE\r
-       FSUB    TALLY\r
-       JNE     #M4\r
-       FLDA    K\r
-       JNE     #M4\r
-       FLDA    CHEST\r
-       ATX     7\r
-       FLDA    PLACE-3,7\r
-       JNE     #M4\r
-       FLDA    LAMP\r
-       JSA     HERE\r
-       JEQ     #M4\r
-       FLDA    PROP-3,3\r
-       FSUB    ONE\r
-       JEQ     #6025\r
-/      IF(ODLOC(6).NE.DLOC(6).AND.PCT(20))CALL RSPEAK(127)\r
-#M4,   FLDA    ODLOC+17        /ODLOC(6)\r
-       FSUB    DLOC+17         /DLOC(6)\r
-       JEQ     #6030\r
-       JSR     PCT\r
-       JA      .+4\r
-       JA      #LIT+36\r
-       JEQ     #6030\r
-       JSR     RSPEAK\r
-/      GOTO 6030\r
-       JA      #6030\r
-       JA      #LIT+176\r
-/C\r
-/6022   CALL RSPEAK(128)\r
-#6022, JSR     RSPEAK\r
-       JA      .+4\r
-       JA      #LIT+201\r
-/C\r
-/C DON'T STEAL CHEST BACK FROM TROLL!\r
-/C\r
-/      IF(PLACE(MESSAG).EQ.0)CALL MOVE(CHEST,CHLOC)\r
-       FLDA    MESSAG\r
-       ATX     7\r
-       FLDA    PLACE-3,7\r
-       JNE     .+12\r
-       JSR     MOVE\r
-       JA      .+6\r
-       JA      CHEST\r
-       JA      CHLOC\r
-/      CALL MOVE(MESSAG,CHLOC2)\r
-       JSR     MOVE\r
-       JA      .+6\r
-       JA      MESSAG\r
-       JA      CHLOC2\r
-/      DO 6023 J=50,MAXTRS\r
-       FLDA    #LIT+110\r
-       FSTA    J\r
-\r
-/      IF(J.EQ.PYRAM.AND.(LOC.EQ.PLAC(PYRAM)\r
-/      1       .OR.LOC.EQ.PLAC(EMRALD)))GOTO 6023\r
-#G0063,        FLDA    J\r
-       FSUB    PYRAM\r
-       JNE     .+24\r
-       FLDA    PYRAM\r
-       ATX     7\r
-       FLDA    LOC\r
-       FSUB    PLAC-3,7\r
-       JEQ     #6023\r
-       FLDA    EMRALD\r
-       ATX     6\r
-       FLDA    LOC\r
-       FSUB    PLAC-3,6\r
-       JEQ     #6023\r
-/      IF(AT(J).AND.FIXED(J).EQ.0)CALL CARRY(J,LOC)\r
-       FLDA    J\r
-       JSA     AT\r
-       JEQ     .+16\r
-/      FLDA    J\r
-/      ATX     3\r
-       FLDA    FIXED-3,3\r
-       JNE     .+12\r
-       JSR     CARRY\r
-       JA      .+6\r
-       JA      J\r
-       JA      LOC\r
-/      IF(TOTING(J))CALL DROP(J,CHLOC)\r
-       FLDA    J\r
-       JSA     TOTING\r
-       JEQ     #6023\r
-       JSR     DROP\r
-       JA      .+6\r
-       JA      J\r
-       JA      CHLOC\r
-/6023   CONTINUE\r
-#6023, FLDA    J\r
-       FADD    ONE\r
-       FSTA    J\r
-       FSUB    MAXTRS\r
-       JLE     #G0063\r
-\r
-/6024   DLOC(6)=CHLOC\r
-#6024, FLDA    #LIT+6\r
-       ATX     7\r
-       FLDA    CHLOC\r
-       FSTA    DLOC-3,7\r
-/      ODLOC(6)=CHLOC\r
-       FSTA    ODLOC-3,7\r
-/      DSEEN(6)=.FALSE.\r
-       FCLA\r
-       FSTA    DSEEN-3,7\r
-/      GOTO 6030\r
-       JA      #6030\r
-\r
-/C\r
-/6025   CALL RSPEAK(186)\r
-\r
-#6025, JSR     RSPEAK\r
-       JA      .+4\r
-       JA      #LIT+261\r
-/      CALL MOVE(CHEST,CHLOC)\r
-       JSR     MOVE\r
-       JA      .+6\r
-       JA      CHEST\r
-       JA      CHLOC\r
-/      CALL MOVE(MESSAG,CHLOC2)\r
-       JSR     MOVE\r
-/      GOTO 6024\r
-       JA      #6024\r
-       JA      MESSAG\r
-       JA      CHLOC2\r
-\r
-/C\r
-/C THIS THREATENING LITTLE DWARF IS IN THE ROOM WITH HIM!\r
-/C\r
-/6027   DTOTAL=DTOTAL+1\r
-#6027, FLDA    ONE\r
-       FADDM   DTOTAL\r
-/      IF(ODLOC(I).NE.DLOC(I))GOTO 6030\r
-       FLDA    I\r
-       ATX     7\r
-       FLDA    ODLOC-3,7\r
-       FSUB    DLOC-3,7\r
-       JNE     #6030\r
-/      ATTACK=ATTACK+1\r
-       FLDA    ONE\r
-       FADDM   ATTACK\r
-/      IF(KNFLOC.GE.0)KNFLOC=LOC\r
-       FLDA    KNFLOC\r
-       JLT     .+6\r
-       FLDA    LOC\r
-       FSTA    KNFLOC\r
-/      IF(RND(1000).LT.95*(DFLAG-2))STICK=STICK+1\r
-       JSR     RND\r
-       JA      .+4\r
-       JA      #LIT+314\r
-       FSTA    #TMP\r
-       FLDA    DFLAG\r
-       FSUB    TWO\r
-       FMUL    #LIT+146\r
-       FSUB    #TMP\r
-       JLT     #6030\r
-       FLDA    ONE\r
-       FADDM   STICK\r
-/6030   CONTINUE\r
-#6030, FLDA    I\r
-       FADD    ONE\r
-       FSTA    I\r
-       FSUB    #LIT+6\r
-       JLE     #G0055\r
-/C\r
-/C NOW WE KNOW WHAT'S HAPPENING. LET'S TELL THE POOR SUCKER ABOUT IT.\r
-/C\r
-/      IF(DTOTAL.EQ.0)GOTO 2000\r
-       FLDA    DTOTAL\r
-       JEQ     #2000\r
-/      IF(DTOTAL.EQ.1)GOTO 75\r
-       FSUB    ONE\r
-       JEQ     #75\r
-/      TYPE 67,DTOTAL\r
-/67     FORMAT(' There are ',I1,' threatening little dwarves in the'\r
-/      1       ,' room with you.')\r
-\r
-       JSR     SPRINT\r
-       JA      #67A\r
-       JA      TWO\r
-\r
-       TRAP3   #WRITO\r
-       JA      #LIT\r
-       JA      #67\r
-       FLDA    DTOTAL\r
-       TRAP3   #RSVO\r
-       TRAP3   #RENDO\r
-\r
-       JSA     SPRINT\r
-\r      JA      #67B\r
-       JA      ONE\r
-/       GOTO 77\r
-       JA      #77\r
-\r
-/75     CALL RSPEAK(4)\r
-#75,   JSR     RSPEAK\r
-       JA      .+4\r
-       JA      #LIT\r
-\r
-/77     IF(ATTACK.EQ.0)GOTO 2000\r
-#77,   FLDA    ATTACK\r
-       JEQ     #2000\r
-/      IF(DFLAG.EQ.2)DFLAG=3\r
-       FLDA    DFLAG\r
-       FSUB    TWO\r
-       JNE     .+5\r
-       FLDA    THREE\r
-       FSTA    DFLAG\r
-/      IF(ATTACK.EQ.1)GOTO 79\r
-       FLDA    ATTACK\r
-       FSUB    ONE\r
-       JEQ     #79\r
-/      TYPE 78,ATTACK\r
-/78     FORMAT(' ',I1,' of them throw knives at you!')\r
-       TRAP3   #WRITO\r
-       JA      #LIT\r
-       JA      #78\r
-       FLDA    ATTACK\r
-       TRAP3   #RSVO\r
-       TRAP3   #RENDO\r
-       JSA     SPRINT\r
-       JA      #78B\r
-       JA      ONE\r
-/      K=6\r
-       FLDA    #LIT+6\r
-       FSTA    K\r
-\r
-/82     IF(STICK.GT.1)GOTO 83\r
-#82,   FLDA    STICK\r
-       FSUB    ONE\r
-       JGT     #83\r
-/      CALL RSPEAK(K+STICK)\r
-       FLDA    K\r
-       FADD    STICK\r
-       FSTA    #TMP\r
-       JSR     RSPEAK\r
-       JA      .+4\r
-       JA      #TMP\r
-/      IF(STICK.EQ.0)GOTO 2000\r
-       FLDA    STICK\r
-       JEQ     #2000\r
-/      GOTO 84\r
-       JA      #84\r
-\r
-/83     TYPE 68,STICK\r
-#83,   TRAP3   #WRITO\r
-       JA      #LIT\r
-       JA      #68\r
-       FLDA    STICK\r
-       TRAP3   #RSVO\r
-       TRAP3   #RENDO\r
-\r
-/68     FORMAT(' ',I1,' of them get you!')\r
-       JSA     SPRINT\r
-       JA      #68B\r
-       JA      ONE\r
-/84     OLDLC2=LOC\r
-#84,   FLDA    LOC\r
-       FSTA    OLDLC2\r
-/      GOTO 99\r
-       JA      #99\r
-\r
-/C\r
-/79     CALL RSPEAK(5)\r
-#79,   JSR     RSPEAK\r
-       JA      .+4\r
-       JA      #LIT+3\r
-/      K=52\r
-       DECIMAL\r
-               LDX     52,0\r
-       OCTAL\r
-       XTA     0\r
-       FSTA    K\r
-/      GOTO 82\r
-       JA      #82\r
-\r
-/C DESCRIBE THE CURRENT LOCATION AND (MAYBE) GET NEXT COMMAND.\r
-/C\r
-/C PRINT TEXT FOR CURRENT LOC.\r
-/C\r
-/2000   IF(LOC.EQ.0)GOTO 99\r
-#2000, FLDA    LOC\r
-       JEQ     #99\r
-/      KK=STEXT(LOC)\r
-       FLDA    LOC\r
-       ATX     7\r
-       FLDA    STEXT-3,7\r
-       FSTA    KK\r
-/      KENT=0\r
-       FCLA\r
-       FSTA    KENT\r
-/      IF (ABBNUM.NE.0) KENT=MOD(ABB(LOC),ABBNUM)\r
-       FLDA    ABBNUM\r
-       JEQ     NOMOD\r
-/      FLDA    LOC\r
-/      ATX     7\r
-       FLDA    ABB-3,7\r
-       FSTA    #TMP\r
-       JSR     MOD\r
-       JA      .+6\r
-       JA      #TMP\r
-       JA      ABBNUM\r
-       FSTA    KENT\r
-/      IF (KENT.EQ.0.OR.KK.EQ.0) KK=LTEXT(LOC)\r
-NOMOD, FLDA    KENT\r
-       JEQ     .+6\r
-       FLDA    KK\r
-       JNE     .+11\r
-       FLDA    LOC\r
-       ATX     7\r
-       FLDA    LTEXT-3,7\r
-       FSTA    KK\r
-/      IF(FORCED(LOC).OR..NOT.DARK(0))GOTO 2001\r
-       FLDA    LOC\r
-       JSA     FORCED\r
-       JNE     #2001\r
-       JSA     DARK\r
-       JEQ     #2001\r
-/      IF(WZDARK.AND.PCT(35))GOTO 90\r
-       FLDA    WZDARK\r
-       JEQ     .+12\r
-       JSR     PCT\r
-       JA      .+4\r
-       JA      #LIT+66\r
-       JNE     #90\r
-/      KK=RTEXT(16)\r
-       FLDA    RTEXT+55\r
-       FSTA    KK\r
-\r
-/2001   IF(TOTING(BEAR))CALL RSPEAK(141)\r
-#2001, FLDA    BEAR\r
-       JSA     TOTING\r
-       JEQ     .+10\r
-       JSR     RSPEAK\r
-       JA      .+4\r
-       JA      #LIT+226\r
-/      CALL SPEAK(KK)\r
-       JSR     SPEAK\r
-       JA      .+4\r
-       JA      KK\r
-/      K=1\r
-       FLDA    ONE\r
-       FSTA    K\r
-/      IF(FORCED(LOC))GOTO 8\r
-       FLDA    LOC\r
-       JSA     FORCED\r
-       JNE     #8\r
-/      IF(LOC.EQ.33.AND.PCT(25).AND..NOT.CLOSNG)CALL RSPEAK(8)\r
-       DECIMAL\r
-               LDX     33,0\r
-       OCTAL\r
-       XTA     0\r
-       FSUB    LOC\r
-       JNE     .+24\r
-       JSR     PCT\r
-       JA      .+4\r
-       JA      #LIT+52\r
-       JEQ     .+14\r
-       FLDA    CLOSNG\r
-       JNE     .+10\r
-       JSR     RSPEAK\r
-       JA      .+4\r
-       JA      #LIT+11\r
-/C\r
-/C PRINT OUT DESCRIPTIONS OF OBJECTS AT THIS LOCATION. IF NOT CLOSING AND\r
-/C PROPERTY VALUE IS NEGATIVE, TALLY OFF ANOTHER TREASURE. RUG IS SPECIAL\r
-/C CASE; ONCE SEEN, ITS PROP IS 1 (DRAGON ON IT) TILL DRAGON IS KILLED.\r
-/C SIMILARLY FOR CHAIN; PROP IS INITIALLY 1 (LOCKED TO BEAR). THESE HACKS\r
-/C ARE BECAUSE PROP=0 IS NEEDED TO GET FULL SCORE.\r
-/C\r
-/      IF(DARK(0))GOTO 2012\r
-       JSA     DARK\r
-       JNE     #2012\r
-/      ABB(LOC)=ABB(LOC)+1\r
-       FLDA    LOC\r
-       ATX     4\r
-       FLDA    ONE\r
-       FADDM   ABB-3,7\r
-/      I=ATLOC(LOC)\r
-       FLDA    ATLOC-3,7\r
-       FSTA    I\r
-\r
-/2004   IF(I.EQ.0)GOTO 2012\r
-#2004, FLDA    I\r
-       JEQ     #2012\r
-/      OBJ=I\r
-       FSTA    OBJ\r
-/      IF(OBJ.GT.100)OBJ=OBJ-100\r
-       FSUB    #LIT+154\r
-       JLE     .+4\r
-/      FLDA    OBJ\r
-/      FSUB    #LIT+154\r
-       FSTA    OBJ\r
-/      IF(OBJ.EQ.STEPS.AND.TOTING(NUGGET))GOTO 2008\r
-       FLDA    OBJ\r
-       FSUB    STEPS\r
-       JNE     .+10\r
-       FLDA    NUGGET\r
-       JSA     TOTING\r
-       JNE     #2008\r
-/      IF(PROP(OBJ).GE.0)GOTO 2006\r
-       FLDA    OBJ\r
-       JSA     RDPROP\r
-       JGE     #2006\r
-/      IF(CLOSED)GOTO 2008\r
-       FLDA    CLOSED\r
-       JNE     #2008\r
-/      PROP(OBJ)=0\r
-       FCLA\r
-       FSTA    PROP-3,7\r
-/      IF(OBJ.EQ.RUG.OR.OBJ.EQ.CHAIN)PROP(OBJ)=1\r
-       FLDA    OBJ\r
-       FSUB    RUG\r
-       JEQ     .+10\r
-       FLDA    OBJ\r
-       FSUB    CHAIN\r
-       JNE     .+5\r
-       FLDA    ONE\r
-       FSTA    PROP-3,7\r
-/      TALLY=TALLY-1\r
-       FLDA    TALLY\r
-       FADD    MINUS1\r
-       FSTA    TALLY\r
-/C IF REMAINING TREASURES TOO ELUSIVE, ZAP HIS LAMP.\r
-/      IF(TALLY.EQ.TALLY2.AND.TALLY.NE.0)LIMIT=MIN0(35,LIMIT)\r
-       JEQ     #2006\r
-       FSUB    TALLY2\r
-       JNE     #2006\r
-       JSR     MIN0\r
-       JA      .+6\r
-       JA      #LIT+66\r
-       JA      LIMIT\r
-       FSTA    LIMIT\r
-/2006   KK=PROP(OBJ)\r
-#2006, FLDA    OBJ\r
-       JSA     RDPROP\r
-       FSTA    KK\r
-/      IF(OBJ.EQ.STEPS.AND.LOC.EQ.FIXED(STEPS))KK=1\r
-       FLDA    OBJ\r
-       FSUB    STEPS\r
-       JNE     .+16\r
-       FLDA    STEPS\r
-       ATX     7\r
-       FLDA    LOC\r
-       FSUB    FIXED-3,7\r
-       JNE     .+5\r
-       FLDA    ONE\r
-       FSTA    KK\r
-/      CALL PSPEAK(OBJ,KK)\r
-       JSR     PSPEAK\r
-       JA      .+6\r
-       JA      OBJ\r
-       JA      KK\r
-\r
-/2008   I=LINK(I)\r
-#2008, FLDA    I\r
-       ATX     7\r
-       FLDA    LINK-3,7\r
-       FSTA    I\r
-/      GOTO 2004\r
-       JA      #2004\r
-\r
-/2009   K=54\r
-#2009, FLDA    #LIT+113\r
-       FSTA    K\r
-/2010   SPK=K\r
-#2010, FLDA    K\r
-       FSTA    SPK\r
-\r
-/2011   CALL RSPEAK(SPK)\r
-#2011, JSR     RSPEAK\r
-       JA      .+4\r
-       JA      SPK\r
-\r
-/2012   VERB=0\r
-#2012, FCLA\r
-       FSTA    VERB\r
-/      OBJ=0\r
-       FSTA    OBJ\r
-\r
-/C\r
-/C CHECK IF THIS LOC IS ELIGIBLE FOR ANY HINTS. IF BEEN HERE LONG ENOUGH,\r
-/C BRANCH TO HELP SECTION (ON LATER PAGE). HINTS ALL COME BACK HERE EVENTUALLY\r
-/C TO FINISH THE LOOP. IGNORE "HINTS" < 4 (SPECIAL STUFF, SEE DATABASE NOTES).\r
-/C\r
-/2600   DO 2602 HINT=4,HNTMAX\r
-#2600, FLDA    #LIT\r
-       FSTA    HINT\r
-\r
-/      IF(HINTED(HINT))GOTO 2602\r
-#G0102,        FLDA    HINT\r
-       ATX     7\r
-       FLDA    HINTED-3,7\r
-       JNE     #2602\r
-/      IF(.NOT.BITSET(LOC,HINT))HINTLC(HINT)=-1\r
-       JSR     BITSET\r
-       JA      .+6\r
-       JA      LOC\r
-       JA      HINT\r
-       JNE     .+5\r
-       FLDA    MINUS1\r
-       FSTA    HINTLC-3,7\r
-/      HINTLC(HINT)=HINTLC(HINT)+1\r
-       FLDA    ONE\r
-       FADDM   HINTLC-3,7\r
-/      IF(HINTLC(HINT).GE.HINTS(HINT,1))GOTO 40000\r
-       FLDA    #LIT+36         / 20\r
-       FADD    HINT            / HINT,1\r
-       ATX     6\r
-       FLDA    HINTLC-3,7\r
-       FSUB    HINTS-77,6\r
-       JGE     #40000\r
-\r
-/2602   CONTINUE\r
-#2602, FLDA    HINT\r
-       FADD    ONE\r
-       FSTA    HINT\r
-       FSUB    HNTMAX\r
-       JLE     #G0102\r
-/C\r
-/C KICK THE RANDOM NUMBER GENERATOR JUST TO ADD VARIETY TO THE CHASE. ALSO,\r
-/C IF CLOSING TIME, CHECK FOR ANY OBJECTS BEING TOTED WITH PROP < 0 AND SET\r
-/C THE PROP TO -1-PROP. THIS WAY OBJECTS WON'T BE DESCRIBED UNTIL THEY'VE\r
-/C BEEN PICKED UP AND PUT DOWN SEPARATE FROM THEIR RESPECTIVE PILES. DON'T\r
-/C TICK CLOCK1 UNLESS WELL INTO CAVE (AND NOT AT Y2).\r
-/C\r
-/      IF(.NOT.CLOSED)GOTO 2605\r
-       FLDA    CLOSED\r
-       JEQ     #2605\r
-/      IF(PROP(OYSTER).LT.0.AND.TOTING(OYSTER))\r
-/      1       CALL PSPEAK(OYSTER,1)\r
-\r
-       FLDA    OYSTER\r
-       JSA     TOTING\r
-       JEQ     .+16\r
-       FLDA    PROP-3,3\r
-       JGE     .+12\r
-       JSR     PSPEAK\r
-       JA      .+6\r
-       JA      OYSTER\r
-       JA      ONE\r
-/      DO 2604 I=1,100\r
-       FLDA    ONE\r
-       FSTA    I\r
-\r
-/2604   IF(TOTING(I).AND.PROP(I).LT.0)PROP(I)=-1-PROP(I)\r
-#2604, FLDA    I\r
-       JSA     TOTING\r
-       JEQ     .+13\r
-       FLDA    PROP-3,3\r
-       JGE     .+7\r
-       FLDA    MINUS1\r
-       FSUB    PROP-3,3\r
-       FSTA    PROP-3,3\r
-       FLDA    I\r
-       FADD    ONE\r
-       FSTA    I\r
-       FSUB    #LIT+154\r
-       JLE     #2604\r
-\r
-/2605   WZDARK=DARK(0)\r
-#2605, JSA     DARK\r
-       FSTA    WZDARK\r
-/      IF(KNFLOC.GT.0.AND.KNFLOC.NE.LOC)KNFLOC=0\r
-       FLDA    KNFLOC\r
-       JLE     .+11\r
-       FSUB    LOC\r
-       JEQ     .+5\r
-       FCLA\r
-       FSTA    KNFLOC\r
-/      I=RND(1)\r
-       JSR     RND\r
-       JA      .+4\r
-       JA      ONE\r
-/      CALL GETIN(WD1,WD1X,WD2,WD2X)\r
-       JSR     GETIN\r
-       JA      .+12\r
-       JA      WD1\r
-       JA      WD1X\r
-       JA      WD2\r
-       JA      WD2X\r
-\r
-/C\r
-/C EVERY INPUT, CHECK "FOOBAR" FLAG. IF ZERO, NOTHING'S GOING ON. IF POS,\r
-/C MAKE NEG. IF NEG, HE SKIPPED A WORD, SO MAKE IT ZERO.\r
-/C\r
-/2608   FOOBAR=MIN0(0,-FOOBAR)\r
-#2608, FLDA    FOOBAR\r
-       FNEG\r
-       FSTA    #TMP\r
-       JSR     MIN0\r
-       JA      .+6\r
-       JA      ZERO\r
-       JA      #TMP\r
-       FSTA    FOOBAR\r
-/      TURNS=TURNS+1\r
-       FLDA    ONE\r
-       FADDM   TURNS\r
-/C      IF(VERB.EQ.SAY.AND.WD2.NE.0)VERB=0\r
-/C      IF(VERB.EQ.SAY)GOTO 4090\r
-/      IF(TALLY.EQ.0.AND.LOC.GE.15.AND.LOC.NE.33)CLOCK1=CLOCK1-1\r
-       FLDA    TALLY\r
-       JNE     .+23\r
-       FLDA    LOC\r
-       FSUB    #LIT+25\r
-       JLT     .+16\r
-       DECIMAL\r
-               LDX     33,0\r
-       OCTAL\r
-       XTA     0\r
-       FSUB    LOC\r
-       JEQ     .+7\r
-       FLDA    CLOCK1\r
-       FSUB    ONE\r
-       FSTA    CLOCK1\r
-/      IF(CLOCK1.EQ.0)GOTO 10000\r
-       FLDA    CLOCK1\r
-       JEQ     #10000\r
-/      IF(CLOCK1.LT.0)CLOCK2=CLOCK2-1\r
-       JGE     .+7\r
-       FLDA    CLOCK2\r
-       FSUB    ONE\r
-       FSTA    CLOCK2\r
-/      IF(CLOCK2.EQ.0)GOTO 11000\r
-       FLDA    CLOCK2\r
-       JEQ     #11000\r
-/      IF(PROP(LAMP).EQ.1)LIMIT=LIMIT-1\r
-       FLDA    LAMP\r
-       JSA     RDPROP\r
-       FSUB    ONE\r
-       JNE     .+5\r
-       FLDA    MINUS1\r
-       FADDM   LIMIT\r
-/      IF(LIMIT.LE.30.AND.HERE(BATTER).AND.PROP(BATTER).EQ.0\r
-/      1       .AND.HERE(LAMP))GOTO 12000\r
-       FLDA    LIMIT\r
-       FSUB    #LIT+63\r
-       JGT     .+22\r
-       FLDA    BATTER\r
-       JSA     HERE\r
-       JEQ     .+14\r
-       FLDA    PROP-3,3\r
-       JNE     .+10\r
-       FLDA    LAMP\r
-       JSA     HERE\r
-       JNE     #12000\r
-/      IF(LIMIT.EQ.0)GOTO 12400\r
-       FLDA    LIMIT\r
-       JEQ     #12400\r
-/      IF(LIMIT.LT.0.AND.LOC.LE.8)GOTO 12600\r
-/      FLDA    LIMIT\r
-       JGE     .+7\r
-       FLDA    LOC\r
-       FSUB    #LIT+11\r
-       JLE     #12600\r
-/      IF(LIMIT.LE.30)GOTO 12200\r
-       FLDA    LIMIT\r
-       FSUB    #LIT+63\r
-       JLE     #12200\r
-\r
-/19999  K=43\r
-       DECIMAL\r
-#19999,                LDX     43,0\r
-       OCTAL\r
-       XTA     0\r
-       FSTA    K\r
-/      IF(LIQLOC(LOC).EQ.WATER)K=70\r
-       JSA     LIQLOC\r
-       FSUB    WATER\r
-       JNE     .+7\r
-       DECIMAL\r
-               LDX     70,0\r
-       OCTAL\r
-       XTA     0\r
-       FSTA    K\r
-/C\r
-/C DO PRELIMINARY ANALYSIS OF SENTENCE TO FIND CERTAIN SPECIAL\r
-/C CASES, VIZ,\r
-/C\r
-/C ENTER <WATER,STREAM>\r
-/C ENTER <LOCATION>\r
-/C <WATER,OIL> <PLANT,DOOR>\r
-/C\r
-/      CALL VOCAB(WD1,WD1A,-1,I)\r
-       JSR     VOCAB\r
-       JA      .+6\r
-       JA      WD1\r
-       JA      MINUS1\r
-       FSTA    I\r
-/      CALL VOCAB(WD2,WD2A,-1,J)\r
-       JSR     VOCAB\r
-       JA      .+6\r
-       JA      WD2\r
-       JA      MINUS1\r
-       FSTA    J\r
-/      IF(WD1.NE.'ENTE') GO TO 2609\r
-       FLDA    WD1\r
-       FSUB    TENTE\r
-       JNE     #2609\r
-/      IF(J .EQ. (WATER+1000)\r
-/      1       .OR. J .EQ. STREAM) GO TO 2010\r
-       FLDA    WATER\r
-       FADD    #LIT+314\r
-       FSUB    J\r
-       JEQ     #2010\r
-       FLDA    J\r
-       FSUB    STREAM\r
-       JEQ     #2010\r
-/      IF(WD2 .NE. 0) GO TO 2800\r
-       FLDA    WD2\r
-       JNE     #2800\r
-\r
-/2609   IF((I .NE. (WATER+1000) .AND. I .NE. (OIL+1000))\r
-/      1       .OR. (J .NE. (PLANT+1000) .AND. J .NE. (DOOR+1000)))\r
-/      2       GO TO 2610\r
-#2609, FLDA    WATER\r
-       FADD    #LIT+314\r
-       FSUB    I\r
-       JEQ     .+11\r
-       FLDA    OIL\r
-       FADD    #LIT+314\r
-       FSUB    I\r
-       JNE     #2610\r
-       FLDA    PLANT\r
-       FADD    #LIT+314\r
-       FSUB    J\r
-       JEQ     .+11\r
-       FLDA    DOOR\r
-       FADD    #LIT+314\r
-       FSUB    J\r
-       JNE     #2610\r
-/      WD2="POUR"\r
-       FLDA    TPOUR\r
-       FSTA    WD2\r
-\r
-/2610   IF(WD1 .EQ. 'WEST' .AND. PCT(10))\r
-/      1       CALL RSPEAK(17)\r
-\r
-#2610, FLDA    WD1\r
-       FSUB    TWEST\r
-       JNE     #2630\r
-       JSR     PCT\r
-       JA      .+4\r
-       JA      #LIT+17\r
-       JEQ     #2630\r
-       JSR     RSPEAK\r
-       JA      .+4\r
-       JA      #LIT+33\r
-/2630   CALL VOCAB(WD1,-1,I)\r
-#2630, JSR     VOCAB\r
-       JA      .+6\r
-       JA      WD1\r
-       JA      MINUS1\r
-       FSTA    I\r
-/      IF(I.EQ.-1)GOTO 3000\r
-       FADD    ONE\r
-       JEQ     #3000\r
-/      K=MOD(I,1000)\r
-       JSR     MOD\r
-       JA      .+6\r
-       JA      I\r
-       JA      #LIT+314\r
-       FSTA    K\r
-/      KQ=I/1000+1\r
-       FLDA    I\r
-       FDIV    #LIT+314\r
-       JSA     #FIX\r
-       FADD    ONE\r
-       FSTA    KQ\r
-/      GOTO (8,5000,4000,2010)KQ\r
-       FLDA    KQ\r
-       ATX     1\r
-       STARTD\r
-       FLDA    .+2,1\r
-       STARTF\r
-       JAC\r
-       JA      #8\r
-       JA      #5000\r
-       JA      #4000\r
-       JA      #2010\r
-/      CALL BUG(22)\r
-       JSR     BUG\r
-       JA      .+4\r
-       JA      #LIT+41\r
-\r
-/C\r
-/C GET SECOND WORD FOR ANALYSIS.\r
-/C\r
-/2800   WD1=WD2\r
-/      WD1A=WD2A\r
-\r
-#2800, FLDA    WD2\r
-       FSTA    WD1\r
-/      WD1X=WD2X\r
-       FLDA    WD2X\r
-       FSTA    WD1X\r
-/      WD2=0\r
-       FCLA\r
-       FSTA    WD2\r
-/      GOTO 2610\r
-       JA      #2610\r
-\r
-/C\r
-/C GEE, I DON'T UNDERSTAND.\r
-/C\r
-/3000   SPK=60\r
-#3000, FLDA    #LIT+330\r
-       FSTA    SPK\r
-/      IF(PCT(20))SPK=61\r
-       JSR     PCT\r
-       JA      .+4\r
-       JA      #LIT+36\r
-       JEQ     .+6\r
-       DECIMAL\r
-               LDX     61,0\r
-       OCTAL\r
-       XTA     0\r
-       FSTA    SPK\r
-/      IF(PCT(20))SPK=13\r
-       JSR     PCT\r
-       JA      .+4\r
-       JA      #LIT+36\r
-       JEQ     .+6\r
-       DECIMAL\r
-               LDX     13,0\r
-       OCTAL\r
-       XTA     0\r
-       FSTA    SPK\r
-/      CALL RSPEAK(SPK)\r
-       JSR     RSPEAK\r
-       JA      .+4\r
-       JA      SPK\r
-/      GOTO 2600\r
-       JA      #2600\r
-\r
-/C\r
-/C ANALYSE A VERB. REMEMBER WHAT IT WAS, GO BACK FOR OBJECT IF SECOND WORD\r
-/C UNLESS VERB IS "SAY", WHICH SNARFS ARBITRARY SECOND WORD.\r
-/C\r
-/4000   VERB=K\r
-#4000, FLDA    K\r
-       FSTA    VERB\r
-/      SPK=ACTSPK(VERB)\r
-       ATX     7\r
-       FLDA    ACTSPK-3,7\r
-       FSTA    SPK\r
-/      IF(WD2.NE.0.AND.VERB.NE.SAY)GOTO 2800\r
-       FLDA    WD2\r
-       JEQ     .+10\r
-       FLDA    VERB\r
-       FSUB    SAY\r
-       JNE     #2800\r
-/      IF(VERB.EQ.SAY)OBJ=WD2\r
-       FLDA    VERB\r
-       FSUB    SAY\r
-       JNE     .+5\r
-       FLDA    WD2\r
-       FSTA    OBJ\r
-/      IF(OBJ.NE.0)GOTO 4090\r
-       FLDA    OBJ\r
-       FSUB    ZERO\r
-       JNE     #4090\r
-\r
-/C\r
-/C ANALYSE AN INTRANSITIVE VERB (IE, NO OBJECT GIVEN YET).\r
-/C\r
-/4080   GOTO(8010,8000,8000,8040,2009,8040,9070,9080,8000,8000,\r
-/      1    2011,9120,9130,8140,9150,8000,8000,8180,8000,8200,\r
-/      2    8000,9220,9230,8240,8250,8260,8270,8000,8000,8300,\r
-/      3    8310,8320)VERB\r
-/C           TAKE DROP  SAY OPEN NOTH LOCK   ON  OFF WAVE CALM\r
-/C           WALK KILL POUR  EAT DRNK  RUB TOSS QUIT FIND INVN\r
-/C           FEED FILL BLST SCOR  FOO  BRF READ BREK WAKE SUSP\r
-/C           HOUR RESU\r
-#4080, FLDA    VERB\r
-       ATX     1\r
-       STARTD\r
-       FLDA    .+2,1\r
-       STARTF\r
-       JAC\r
-       JA      #8010\r
-       JA      #8000\r
-       JA      #8000\r
-       JA      #8040\r
-       JA      #2009\r
-       JA      #8040\r
-       JA      #9070\r
-       JA      #9080\r
-       JA      #8000\r
-       JA      #8000\r
-       JA      #2011\r
-       JA      #9120\r
-       JA      #9130\r
-       JA      #8140\r
-       JA      #9150\r
-       JA      #8000\r
-       JA      #8000\r
-       JA      #8180\r
-       JA      #8000\r
-       JA      #8200\r
-       JA      #8000\r
-       JA      #9220\r
-       JA      #9230\r
-       JA      #8240\r
-       JA      #8250\r
-       JA      #8260\r
-       JA      #8270\r
-       JA      #8000\r
-       JA      #8000\r
-       JA      #8300\r
-       JA      #8310\r
-       JA      #8320\r
-/      CALL BUG(23)\r
-       JSR     BUG\r
-       JA      .+4\r
-       JA      #LIT+44\r
-\r
-/C\r
-/C ANALYSE A TRANSITIVE VERB.\r
-/C\r
-/4090    GOTO(9010,9020,9030,9040,2009,9040,9070,9080,9090,2011,\r
-/      1    2011,9120,9130,9140,9150,9160,9170,2011,9190,9190,\r
-/      2    9210,9220,9230,2011,2011,2011,9270,9280,9290,2011,\r
-/      3    2011,2011)VERB\r
-/C           TAKE DROP  SAY OPEN NOTH LOCK   ON  OFF WAVE CALM\r
-/C           WALK KILL POUR  EAT DRNK  RUB TOSS QUIT FIND INVN\r
-/C           FEED FILL BLST SCOR  FOO  BRF READ BREK WAKE SUSP\r
-/C           HOUR RESU\r
-#4090, FLDA    VERB\r
-       ATX     1\r
-       STARTD\r
-       FLDA    .+2,1\r
-       STARTF\r
-       JAC\r
-       JA      #9010\r
-       JA      #9020\r
-       JA      #9030\r
-       JA      #9040\r
-       JA      #2009\r
-       JA      #9040\r
-       JA      #9070\r
-       JA      #9080\r
-       JA      #9090\r
-       JA      #2011\r
-       JA      #2011\r
-       JA      #9120\r
-       JA      #9130\r
-       JA      #9140\r
-       JA      #9150\r
-       JA      #9160\r
-       JA      #9170\r
-       JA      #2011\r
-       JA      #9190\r
-       JA      #9190\r
-       JA      #9210\r
-       JA      #9220\r
-       JA      #9230\r
-       JA      #2011\r
-       JA      #2011\r
-       JA      #2011\r
-       JA      #9270\r
-       JA      #9280\r
-       JA      #9290\r
-       JA      #2011\r
-       JA      #2011\r
-       JA      #2011\r
-       JA      #2011\r
-/      CALL BUG(24)\r
-       JSR     BUG\r
-       JA      .+4\r
-       JA      #LIT+47\r
-\r
-/C\r
-/C ANALYSE AN OBJECT WORD. SEE IF THE THING IS HERE, WHETHER WE'VE GOT A VERB\r
-/C YET, AND SO ON. OBJECT MUST BE HERE UNLESS VERB IS "FIND" OR "INVENT(ORY)"\r
-/C (AND NO NEW VERB YET TO BE ANALYSED). WATER AND OIL ARE ALSO FUNNY, SINCE\r
-/C THEY ARE NEVER ACTUALLY DROPPED AT ANY LOCATION, BUT MIGHT BE HERE INSIDE\r
-/C THE BOTTLE OR AS A FEATURE OF THE LOCATION.\r
-/C\r
-/5000   OBJ=K\r
-#5000, FLDA    K\r
-       FSTA    OBJ\r
-/      IF(FIXED(K).NE.LOC.AND..NOT.HERE(K))GOTO 5100\r
-       FLDA    K\r
-       ATX     7\r
-       FLDA    FIXED-3,7\r
-       FSUB    LOC\r
-       JEQ     #5010\r
-       FLDA    K\r
-       JSA     HERE\r
-       JEQ     #5100\r
-\r
-/5010   IF(WD2.NE.0)GOTO 2800\r
-#5010, FLDA    WD2\r
-       JNE     #2800\r
-/      IF(VERB.NE.0)GOTO 4090\r
-       FLDA    VERB\r
-       JNE     #4090\r
-/      TYPE 5015\r
-/5015   FORMAT(' What do you want to do with the ',$)\r
-       JSA     SPRINT\r
-       JA      #5015\r
-       JA      TWO\r
-\r
-/      CALL A5TOA1(WD1,WD1A,WD1X,'?')\r
-       JSR     A5TOA1\r
-       JA      .+10\r
-       JA      WD1\r
-       JA      WD1X\r
-       JA      TQUES\r
-       TRAP3   #WRITO\r
-       JA      #LIT\r
-       JA      #LINEF+2\r
-       TRAP3   #RENDO\r
-/      GOTO 2600\r
-#LINEF,        JA      #2600\r
-       TEXT    +(' ')+\r
-\r
-/C\r
-/5100   IF(K.NE.GRATE)GOTO 5110\r
-#5100, FLDA    K\r
-       FSUB    GRATE\r
-       JNE     #5110\r
-/      IF(LOC.EQ.1.OR.LOC.EQ.4.OR.LOC.EQ.7)K=DPRSSN\r
-       FLDA    LOC\r
-       FSUB    ONE\r
-       JEQ     .+10\r
-       FSUB    THREE\r
-       JEQ     .+5\r
-       FSUB    THREE\r
-       JNE     .+6\r
-       FLDA    DPRSSN\r
-       FSTA    K\r
-/      IF(LOC.GT.9.AND.LOC.LT.15)K=ENTRNC\r
-       FLDA    LOC\r
-       FSUB    #LIT+14\r
-       JLE     .+13\r
-       FLDA    LOC\r
-       FSUB    #LIT+25\r
-       JGE     .+6\r
-       FLDA    ENTRNC\r
-       FSTA    K\r
-/      IF(K.NE.GRATE)GOTO 8\r
-       FLDA    K\r
-       FSUB    GRATE\r
-       JNE     #8\r
-\r
-/5110   IF(K.NE.DWARF)GOTO 5120\r
-#5110, FLDA    K\r
-       FSUB    DWARF\r
-       JNE     #5120\r
-/      DO 5112 I=1,5\r
-       FLDA    ONE\r
-       FSTA    I\r
-\r
-/      IF(DLOC(I).EQ.LOC.AND.DFLAG.GE.2)GOTO 5010\r
-#G0122,        FLDA    I\r
-       ATX     7\r
-       FLDA    DLOC-3,7\r
-       FSUB    LOC\r
-       JNE     #5112\r
-       FLDA    DFLAG\r
-       FSUB    TWO\r
-       JGE     #5010\r
-/5112   CONTINUE\r
-#5112, FLDA    I\r
-       FADD    ONE\r
-       FSTA    I\r
-       FSUB    #LIT+3\r
-       JLE     #G0122\r
-\r
-/5120   IF((LIQ(0).EQ.K.AND.HERE(BOTTLE)).OR.K.EQ.LIQLOC(LOC))GOTO 5010\r
-#5120, JSA     LIQ\r
-       FSUB    K\r
-       JNE     .+10\r
-       FLDA    BOTTLE\r
-       JSA     HERE\r
-       JNE     #5010\r
-       JSA     LIQLOC\r
-       FSUB    K\r
-       JEQ     #5010\r
-/      IF(OBJ.NE.PLANT.OR..NOT.AT(PLANT2).OR.PROP(PLANT2).EQ.0)GOTO 5130\r
-       FLDA    OBJ\r
-       FSUB    PLANT\r
-       JNE     #5130\r
-       FLDA    PLANT2\r
-       JSA     AT\r
-       JEQ     #5130\r
-/      FLDA    PLANT2\r
-/      ATX     3\r
-       FLDA    PROP-3,3\r
-       JEQ     #5130\r
-/      OBJ=PLANT2\r
-       FLDA    PLANT2\r
-       FSTA    OBJ\r
-/      GOTO 5010\r
-       JA      #5010\r
-\r
-/5130   IF(OBJ.NE.KNIFE.OR.KNFLOC.NE.LOC)GOTO 5140\r
-#5130, FLDA    OBJ\r
-       FSUB    KNIFE\r
-       JNE     #5140\r
-       FLDA    KNFLOC\r
-       FSUB    LOC\r
-       JNE     #5140\r
-/      KNFLOC=-1\r
-       FLDA    MINUS1\r
-       FSTA    KNFLOC\r
-/      SPK=116\r
-       FLDA    #LIT+170\r
-       FSTA    SPK\r
-/      GOTO 2011\r
-       JA      #2011\r
-\r
-/5140   IF(OBJ.NE.ROD.OR..NOT.HERE(ROD2))GOTO 5190\r
-#5140, FLDA    OBJ\r
-       FSUB    ROD\r
-       JNE     #5190\r
-       FLDA    ROD2\r
-       JSA     HERE\r
-       JEQ     #5190\r
-/      OBJ=ROD2\r
-       FLDA    ROD2\r
-       FSTA    OBJ\r
-/      GOTO 5010\r
-       JA      #5010\r
-\r
-/5190   IF((VERB.EQ.FIND.OR.VERB.EQ.INVENT).AND.WD2.EQ.0)GOTO 5010\r
-#5190, FLDA    VERB\r
-       FSUB    INVENT\r
-       JEQ     .+10\r
-       FLDA    VERB\r
-       FSUB    FIND\r
-       JNE     .+5\r
-       FLDA    WD2\r
-       JEQ     #5010\r
-/      TYPE 5199\r
-       JSA     SPRINT\r
-       JA      #5199\r
-       JA      TWO\r
-\r
-/5199   FORMAT(' I don''t see any ',$)\r
-\r
-/      CALL A5TOA1(WD1,WD1A,WD1X,'.')\r
-/      GOTO 2012\r
-       JSR     A5TOA1\r
-       JA      #2012\r
-       JA      WD1\r
-       JA      WD1X\r
-       JA      TQDOT\r
-\r
-/C FIGURE OUT THE NEW LOCATION\r
-/C\r
-/C GIVEN THE CURRENT LOCATION IN "LOC", AND A MOTION VERB NUMBER IN "K", PUT\r
-/C THE NEW LOCATION IN "NEWLOC". THE CURRENT LOC IS SAVED IN "OLDLOC" IN CASE\r
-/C HE WANTS TO RETREAT. THE CURRENT OLDLOC IS SAVED IN OLDLC2, IN CASE HE\r
-/C DIES. (IF HE DOES, NEWLOC WILL BE LIMBO, AND OLDLOC WILL BE WHAT KILLED\r
-/C HIM, SO WE NEED OLDLC2, WHICH IS THE LAST PLACE HE WAS SAFE.)\r
-/C\r
-/8      KK=KEY(LOC)\r
-#8,    FLDA    LOC\r
-       ATX     7\r
-       FLDA    KEY-3,7\r
-       FSTA    KK\r
-/      NEWLOC=LOC\r
-       FLDA    LOC\r
-       FSTA    NEWLOC\r
-/      IF(KK.EQ.0)CALL BUG(26)\r
-       FLDA    KK\r
-       JNE     .+10\r
-       JSR     BUG\r
-       JA      .+4\r
-       JA      #LIT+55\r
-/      IF(K.EQ.NULL)GOTO 2\r
-       FLDA    K\r
-       FSUB    NULL\r
-       JEQ     #2\r
-/      IF(K.EQ.BACK)GOTO 20\r
-       FLDA    K\r
-       FSUB    BACK\r
-       JEQ     #20\r
-/      IF(K.EQ.LOOK)GOTO 30\r
-       FLDA    K\r
-       FSUB    LOOK\r
-       JEQ     #30\r
-/      IF(K.EQ.CAVE)GOTO 40\r
-       FLDA    K\r
-       FSUB    CAVE\r
-       JEQ     #40\r
-/      OLDLC2=OLDLOC\r
-       FLDA    OLDLOC\r
-       FSTA    OLDLC2\r
-/      OLDLOC=LOC\r
-       FLDA    LOC\r
-       FSTA    OLDLOC\r
-/C\r
-/9      LL=IABS(TRAVEL(KK))\r
-#9,    JSR     GETWRD\r
-       JA      .+10\r
-       JA      TRAVEL\r
-       JA      KK\r
-       JA      ZERO\r
-       FSTA    #TMP\r
-       JSR     IABS\r
-       JA      .+4\r
-       JA      #TMP\r
-       FSTA    LL\r
-/      IF(LL.EQ.1 .OR. LL.EQ.K)GOTO 10\r
-       FSUB    ONE\r
-       JEQ     #10\r
-       FLDA    LL\r
-       FSUB    K\r
-       JEQ     #10\r
-/      IF(TRAVEL(KK).LT.0)GOTO 50\r
-       JSR     GETWRD\r
-       JA      .+10\r
-       JA      TRAVEL\r
-       JA      KK\r
-       JA      ZERO\r
-       JLT     #50\r
-/      KK=KK+1\r
-       FLDA    ONE\r
-       FADDM   KK\r
-/      GOTO 9\r
-       JA      #9\r
-\r
-/C\r
-/10     NEWLOC=TRVCON(KK)\r
-#10,   JSR     GETWRD\r
-       JA      .+10\r
-       JA      TRVCON\r
-       JA      KK\r
-       JA      ZERO\r
-       FSTA    NEWLOC\r
-/      K=MOD(NEWLOC,100)\r
-       JSR     MOD\r
-       JA      .+6\r
-       JA      NEWLOC\r
-       JA      #LIT+154\r
-       FSTA    K\r
-/      IF(NEWLOC.LE.300)GOTO 13\r
-       FLDA    NEWLOC\r
-       FSUB    #LIT+306\r
-       JLE     #13\r
-/      IF(PROP(K).NE.NEWLOC/100-3)GOTO 16\r
-       FLDA    K\r
-       ATX     7\r
-       FLDA    NEWLOC\r
-       FDIV    #LIT+154\r
-       JSA     #FIX\r
-       FSUB    THREE\r
-       FSUB    PROP-3,7\r
-       JNE     #16\r
-/C\r
-/C TRY NEXT ENTRY IN TRAVEL TABLE\r
-/C\r
-/12     IF(TRAVEL(KK).LT.0)CALL BUG(25)\r
-#12,   JSR     GETWRD\r
-       JA      .+10\r
-       JA      TRAVEL\r
-       JA      KK\r
-       JA      ZERO\r
-       JGE     .+10\r
-       JSR     BUG\r
-       JA      .+4\r
-       JA      #LIT+52\r
-/      KK=KK+1\r
-       FLDA    KK\r
-       FSTA    #TMP\r
-       FADD    ONE\r
-       FSTA    KK\r
-\r
-/C MAKE SURE HE DOESN'T GO THROUGH SAME TEST AGAIN\r
-/C\r
-/      IF(TRVCON(KK-1).EQ.TRVCON(KK) .AND. TRVLOC(KK-1).EQ.TRVLOC(KK))\r
-/      1       GOTO 12\r
-       JSR     GETWRD\r
-       JA      .+10\r
-       JA      TRVCON\r
-       JA      #TMP\r
-       JA      ZERO\r
-       FSTA    #TMP+3\r
-       JSR     GETWRD\r
-       JA      .+10\r
-       JA      TRVCON\r
-       JA      KK\r
-       JA      ZERO\r
-       FSUB    #TMP+3\r
-       JNE     #10\r
-\r
-       JSR     GETWRD\r
-       JA      .+10\r
-       JA      TRVLOC\r
-       JA      #TMP\r
-       JA      ZERO\r
-       FSTA    #TMP+3\r
-\r
-       JSR     GETWRD\r
-       JA      .+10\r
-       JA      TRVLOC\r
-       JA      #TMP\r
-       FSUB    #TMP+3\r
-       JEQ     #12\r
-/      GO TO 10\r
-       JA      #10\r
-/C\r
-/13     IF(NEWLOC.LE.100)GOTO 14\r
-#13,   FLDA    NEWLOC\r
-       FSUB    #LIT+154\r
-       JLE     #14\r
-/      IF(TOTING(K).OR.(NEWLOC.GT.200.AND.AT(K)))GOTO 16\r
-       FLDA    K\r
-       JSA     TOTING\r
-       JNE     #16\r
-       DECIMAL\r
-               LDX     200,0\r
-       OCTAL\r
-       XTA     0\r
-       FSUB    NEWLOC\r
-       JGT     #12\r
-       FLDA    K\r
-       JSA     AT\r
-       JNE     #16\r
-/      GOTO 12\r
-       JA      #12\r
-\r
-/C\r
-/14     IF(NEWLOC.NE.0.AND..NOT.PCT(NEWLOC))GOTO 12\r
-#14,   FLDA    NEWLOC\r
-       JEQ     #16\r
-       JSR     PCT\r
-       JA      .+4\r
-       JA      NEWLOC\r
-       JEQ     #12\r
-\r
-/16     NEWLOC=TRVLOC(KK)\r
-#16,   JSR     GETWRD\r
-       JA      .+10\r
-       JA      TRVLOC\r
-       JA      KK\r
-       JA      ZERO\r
-       FSTA    NEWLOC\r
-/      IF(NEWLOC.LE.300)GOTO 2\r
-       FSUB    #LIT+306\r
-       JLE     #2\r
-/      IF(NEWLOC.LE.500)GOTO 30000\r
-       FLDA    NEWLOC\r
-       FSUB    #LIT+311\r
-       JLE     #30000\r
-/      CALL RSPEAK(NEWLOC-500)\r
-/      FLDA    NEWLOC\r
-/      FSUB    #LIT+311\r
-       FSTA    #TMP\r
-       JSR     RSPEAK\r
-       JA      .+4\r
-       JA      #TMP\r
-/      NEWLOC=LOC\r
-       FLDA    LOC\r
-       FSTA    NEWLOC\r
-/      GOTO 2\r
-       JA      #2\r
-\r
-/C\r
-/C SPECIAL MOTIONS COME HERE. LABELLING CONVENTION: STATEMENT NUMBERS NNNXX\r
-/C (XX=00-99) ARE USED FOR SPECIAL CASE NUMBER NNN (NNN=301-500).\r
-/C\r
-/30000  NEWLOC=NEWLOC-300\r
-#30000,        FLDA    NEWLOC\r
-       FSUB    #LIT+306\r
-       FSTA    NEWLOC\r
-/      GOTO (30100,30200,30300)NEWLOC\r
-/      FLDA    NEWLOC\r
-       ATX     1\r
-       STARTD\r
-       FLDA    .+2,1\r
-       STARTF\r
-       JAC\r
-       JA      #30100\r
-       JA      #30200\r
-       JA      #30300\r
-/      CALL BUG(20)\r
-       JSR     BUG\r
-       JA      .+4\r
-       JA      #LIT+36\r
-\r
-/C\r
-/C TRAVEL 301. PLOVER-ALCOVE PASSAGE. CAN CARRY ONLY EMERALD. NOTE: TRAVEL\r
-/C TABLE MUST INCLUDE "USELESS" ENTRIES GOING THROUGH PASSAGE, WHICH CAN NEVER\r
-/C BE USED FOR ACTUAL MOTION, BUT CAN BE SPOTTED BY "GO BACK".\r
-/C\r
-/30100  NEWLOC=99+100-LOC\r
-#30100,        FLDA    #LIT+300        /199\r
-       FSUB    LOC\r
-       FSTA    NEWLOC\r
-/      IF(HOLDNG.EQ.0.OR.(HOLDNG.EQ.1.AND.TOTING(EMRALD)))GOTO 2\r
-       FLDA    HOLDNG\r
-       JEQ     #2\r
-       FSUB    ONE\r
-       JNE     #M27\r
-       FLDA    EMRALD\r
-       JSA     TOTING\r
-       JNE     #2\r
-/      NEWLOC=LOC\r
-#M27,  FLDA    LOC\r
-       FSTA    NEWLOC\r
-/      CALL RSPEAK(117)\r
-/      GOTO 2\r
-       JSR     RSPEAK\r
-       JA      #2\r
-       JA      #LIT+173\r
-\r
-/C\r
-/C TRAVEL 302. PLOVER TRANSPORT. DROP THE EMERALD (ONLY USE SPECIAL TRAVEL IF\r
-/C TOTING IT), SO HE'S FORCED TO USE THE PLOVER-PASSAGE TO GET IT OUT. HAVING\r
-/C DROPPED IT, GO BACK AND PRETEND HE WASN'T CARRYING IT AFTER ALL.\r
-/C\r
-/30200  CALL DROP(EMRALD,LOC)\r
-/GOTO 12\r
-#30200,        JSR     DROP\r
-       JA      #12\r
-       JA      EMRALD\r
-       JA      LOC\r
-\r
-/C\r
-/C TRAVEL 303. TROLL BRIDGE. MUST BE DONE ONLY AS SPECIAL MOTION SO THAT\r
-/C DWARVES WON'T WANDER ACROSS AND ENCOUNTER THE BEAR. (THEY WON'T FOLLOW THE\r
-/C PLAYER THERE BECAUSE THAT REGION IS FORBIDDEN TO THE PIRATE.) IF\r
-/C PROP(TROLL)=1, HE'S CROSSED SINCE PAYING, SO STEP OUT AND BLOCK HIM.\r
-/C (STANDARD TRAVEL ENTRIES CHECK FOR PROP(TROLL)=0.) SPECIAL STUFF FOR BEAR.\r
-/C\r
-/30300  IF(PROP(TROLL).NE.1)GOTO 30310\r
-#30300,        FLDA    TROLL\r
-       JSA     RDPROP\r
-       FSUB    ONE\r
-       JNE     #30310\r
-/      CALL PSPEAK(TROLL,1)\r
-       JSR     PSPEAK\r
-       JA      .+6\r
-       JA      TROLL\r
-       JA      ONE\r
-/      PROP(TROLL)=0\r
-       FCLA\r
-       FSTA    PROP-3,7\r
-/      CALL MOVE(TROLL2,0)\r
-       JSR     MOVE\r
-       JA      .+6\r
-       JA      TROLL2\r
-       JA      ZERO\r
-/      CALL MOVE(TROLL2+100,0)\r
-       FLDA    TROLL2\r
-       FADD    #LIT+154\r
-       FSTA    #TMP\r
-       JSR     MOVE\r
-       JA      .+6\r
-       JA      #TMP\r
-       JA      ZERO\r
-/      CALL MOVE(TROLL,PLAC(TROLL))\r
-       FLDA    TROLL\r
-       ATX     7\r
-       FLDA    PLAC-3,7\r
-       FSTA    #TMP\r
-       JSR     MOVE\r
-       JA      .+6\r
-       JA      TROLL\r
-       JA      #TMP\r
-/      CALL MOVE(TROLL+100,FIXD(TROLL))\r
-       FLDA    TROLL\r
-       ATX     7\r
-       FADD    #LIT+154\r
-       FSTA    #TMP\r
-       FLDA    FIXD-3,7\r
-       FSTA    #TMP+3\r
-       JSR     MOVE\r
-       JA      .+6\r
-       JA      #TMP\r
-       JA      #TMP+3\r
-/      CALL JUGGLE(CHASM)\r
-       FLDA    CHASM\r
-       JSA     JUGGLE\r
-/      NEWLOC=LOC\r
-       FLDA    LOC\r
-       FSTA    NEWLOC\r
-/      GOTO 2\r
-       JA      #2\r
-\r
-/C\r
-/30310  NEWLOC=PLAC(TROLL)+FIXD(TROLL)-LOC\r
-#30310,        FLDA    TROLL\r
-       ATX     7\r
-       FLDA    PLAC-3,7\r
-       FADD    FIXD-3,7\r
-       FSUB    LOC\r
-       FSTA    NEWLOC\r
-/      IF(PROP(TROLL).EQ.0)PROP(TROLL)=1\r
-       FLDA    PROP-3,7\r
-       JNE     .+5\r
-       FLDA    ONE\r
-       FSTA    PROP-3,7\r
-/      IF(.NOT.TOTING(BEAR))GOTO 2\r
-       FLDA    BEAR\r
-       JSA     TOTING\r
-       JEQ     #2\r
-/      CALL RSPEAK(162)\r
-       JSR     RSPEAK\r
-       JA      .+4\r
-       JA      #LIT+237\r
-/      PROP(CHASM)=1\r
-       FLDA    CHASM\r
-       ATX     7\r
-       FLDA    ONE\r
-       FSTA    PROP-3,7\r
-/       PROP(TROLL)=2\r
-       FLDA    TROLL\r
-       ATX     7\r
-       FLDA    TWO\r
-       FSTA    PROP-3,7\r
-/      CALL DROP(BEAR,NEWLOC)\r
-       JSR     DROP\r
-       JA      .+6\r
-       JA      BEAR\r
-       JA      NEWLOC\r
-/      FIXED(BEAR)=-1\r
-       FLDA    BEAR\r
-       ATX     7\r
-       FLDA    MINUS1\r
-       FSTA    FIXED-3,7\r
-/      PROP(BEAR)=3\r
-       FLDA    THREE\r
-       FSTA    PROP-3,7\r
-/      IF(PROP(SPICES).LT.0)TALLY2=TALLY2+1\r
-       FLDA    SPICES\r
-       JSA     RDPROP\r
-       JGE     .+7\r
-       FLDA    TALLY2\r
-       FADD    ONE\r
-       FSTA    TALLY2\r
-/      OLDLC2=NEWLOC\r
-       FLDA    NEWLOC\r
-       FSTA    OLDLC2\r
-/      GOTO 99\r
-       JA      #99\r
-\r
-/C\r
-/C END OF SPECIALS.\r
-/C\r
-/C HANDLE "GO BACK". LOOK FOR VERB WHICH GOES FROM LOC TO OLDLOC, OR TO OLDLC2\r
-/C IF OLDLOC HAS FORCED-MOTION. K2 SAVES ENTRY -> FORCED LOC -> PREVIOUS LOC.\r
-/C\r
-/20     K=OLDLOC\r
-#20,   FLDA    OLDLOC\r
-       FSTA    K\r
-/      IF(FORCED(K))K=OLDLC2\r
-/      FLDA    K\r
-       JSA     FORCED\r
-       JEQ     .+6\r
-       FLDA    OLDLC2\r
-       FSTA    K\r
-/      OLDLC2=OLDLOC\r
-       FLDA    OLDLOC\r
-       FSTA    OLDLC2\r
-/      OLDLOC=LOC\r
-       FLDA    LOC\r
-       FSTA    OLDLOC\r
-/      K2=0\r
-       FCLA\r
-       FSTA    K2\r
-/      IF(K.NE.LOC)GOTO 21\r
-       FLDA    K\r
-       FSUB    LOC\r
-       JNE     #21\r
-/      CALL RSPEAK(91)\r
-/      GOTO 2\r
-       JSR     RSPEAK\r
-       JA      #2\r
-       JA      #LIT+140\r
-\r
-/C\r
-/21     LL=TRVLOC(KK)\r
-#21,   JSR     GETWRD\r
-       JA      .+10\r
-       JA      TRVLOC\r
-       JA      KK\r
-       JA      ZERO\r
-       FSTA    LL\r
-/      IF(LL.EQ.K)GOTO 25\r
-       FSUB    K\r
-       JEQ     #25\r
-/      IF(LL.GT.300)GOTO 22\r
-       FLDA    LL\r
-       FSUB    #LIT+306\r
-       JGT     #22\r
-/      J=KEY(LL)\r
-       FLDA    LL\r
-       ATX     7\r
-       FLDA    KEY-3,7\r
-       FSTA    J\r
-/      IF(FORCED(LL).AND.TRVLOC(KK).EQ.K)K2=KK\r
-       FLDA    LL\r
-       JSA     FORCED\r
-       JEQ     #22\r
-       JSR     GETWRD\r
-       JA      .+10\r
-       JA      TRVLOC\r
-       JA      KK\r
-       JA      ZERO\r
-       FSUB    K\r
-       JNE     #22\r
-       FLDA    KK\r
-       FSTA    K2\r
-/22     IF(TRAVEL(KK).LT.0)GOTO 23\r
-#22,   JSR     GETWRD\r
-       JA      .+10\r
-       JA      TRAVEL\r
-       JA      KK\r
-       JA      ZERO\r
-       JLT     #23\r
-/      KK=KK+1\r
-       FLDA    ONE\r
-       FADDM   KK\r
-/      GOTO 21\r
-       JA      #21\r
-\r
-/C\r
-/23     KK=K2\r
-#23,   FLDA    K2\r
-       FSTA    KK\r
-/      IF(KK.NE.0)GOTO 25\r
-       JNE     #25\r
-/      CALL RSPEAK(140)\r
-/      GOTO 2\r
-       JSR     RSPEAK\r
-       JA      #2\r
-       JA      #LIT+223\r
-\r
-/C\r
-/25     K=IABS(TRAVEL(KK))\r
-#25,   JSR     GETWRD\r
-       JA      .+10\r
-       JA      TRAVEL\r
-       JA      KK\r
-       JA      ZERO\r
-       FSTA    #TMP\r
-       JSR     IABS\r
-       JA      .+4\r
-       JA      #TMP\r
-       FSTA    K\r
-/      KK=KEY(LOC)\r
-       FLDA    LOC\r
-       ATX     7\r
-       FLDA    KEY-3,7\r
-       FSTA    KK\r
-/      GOTO 9\r
-       JA      #9\r
-\r
-/C\r
-/C LOOK. CAN'T GIVE MORE DETAIL. PRETEND IT WASN'T DARK (THOUGH IT MAY "NOW"\r
-/C BE DARK) SO HE WON'T FALL INTO A PIT WHILE STARING INTO THE GLOOM.\r
-/C\r
-/30     IF(DETAIL.LT.3)CALL RSPEAK(15)\r
-#30,   FLDA    DETAIL\r
-       FSUB    THREE\r
-       JGE     .+10\r
-       JSR     RSPEAK\r
-       JA      .+4\r
-       JA      #LIT+25\r
-/      DETAIL=DETAIL+1\r
-       FLDA    ONE\r
-       FADDM   DETAIL\r
-/      WZDARK=.FALSE.\r
-       FCLA\r
-       FSTA    WZDARK\r
-/      ABB(LOC)=0\r
-       FLDA    LOC\r
-       ATX     7\r
-       FCLA\r
-       FSTA    ABB-3,7\r
-/      GOTO 2\r
-       JA      #2\r
-\r
-/C\r
-/C CAVE. DIFFERENT MESSAGES DEPENDING ON WHETHER ABOVE GROUND.\r
-/C\r
-/40     IF(LOC.LT.8)CALL RSPEAK(57)\r
-#40,   FLDA    LOC\r
-       FSUB    #LIT+11\r
-       JGE     .+10\r
-       JSR     RSPEAK\r
-       JA      #2\r
-       JA      #LIT+116\r
-/      IF(LOC.GE.8)CALL RSPEAK(58)\r
-/      GOTO 2\r
-       JSR     RSPEAK\r
-       JA      #2\r
-       JA      #LIT+121\r
-\r
-/C\r
-/C NON-APPLICABLE MOTION. VARIOUS MESSAGES DEPENDING ON WORD GIVEN.\r
-/C\r
-/50     SPK=12\r
-#50,   FLDA    #LIT+22\r
-       FSTA    SPK\r
-/      IF(K.GE.43.AND.K.LE.50)SPK=9\r
-       DECIMAL\r
-               LDX     43,0\r
-       OCTAL\r
-       XTA     0\r
-       FSUB    K\r
-       JGT     .+7\r
-       FLDA    K\r
-       FSUB    #LIT+110\r
-       JLE     #M31\r
-/      IF(K.EQ.29.OR.K.EQ.30)SPK=9\r
-       FLDA    #LIT+135\r
-       FSUB    K\r
-       JEQ     #M31\r
-       FADD    ONE\r
-       JNE     .+6\r
-#M31,  FLDA    #LIT+14\r
-       FSTA    SPK\r
-       JA      #M32\r
-/      IF(K.EQ.7.OR.K.EQ.36.OR.K.EQ.37)SPK=10\r
-       LDX     7,0\r
-       XTA     0\r
-       FSUB    K\r
-       JEQ     #M34\r
-       DECIMAL\r
-               LDX     36,0\r
-       OCTAL\r
-       XTA     0\r
-       FSUB    K\r
-       JEQ     #M34\r
-       FADD    ONE\r
-       JNE     #M35\r
-#M34,  FLDA    #LIT+17\r
-       FSTA    SPK\r
-       JA      #M32\r
-/      IF(K.EQ.11.OR.K.EQ.19)SPK=11\r
-#M35,  DECIMAL\r
-               LDX     11,0\r
-       OCTAL\r
-       XTA     0\r
-       FSUB    K\r
-       JEQ     #M36\r
-       DECIMAL\r
-               LDX     19,0\r
-       OCTAL\r
-       XTA     0\r
-       FSUB    K\r
-       JNE     #M32\r
-#M36,  DECIMAL\r
-               LDX     11,0\r
-       OCTAL\r
-       XTA     0\r
-       FSTA    SPK\r
-/      IF(VERB.EQ.FIND.OR.VERB.EQ.INVENT)SPK=59\r
-#M32,  FLDA    VERB\r
-       FSUB    INVENT\r
-       JEQ     #M37\r
-       FLDA    VERB\r
-       FSUB    FIND\r
-       JNE     #M38\r
-#M37,  DECIMAL\r
-               LDX     59,0\r
-       OCTAL\r
-       XTA     0\r
-       FSTA    SPK\r
-/      IF(K.EQ.62.OR.K.EQ.65)SPK=42\r
-#M38,  FLDA    K\r
-       FSUB    #LIT+124\r
-       JEQ     #M39\r
-       FSUB    THREE\r
-       JNE     #M40\r
-#M39,  DECIMAL\r
-               LDX     42,0\r
-       OCTAL\r
-       XTA     0\r
-       FSTA    SPK\r
-/      IF(K.EQ.17)SPK=80\r
-#M40,  FLDA    K\r
-       FSUB    #LIT+33\r
-       JNE     #M33\r
-       FLDA    #LIT+325\r
-       FSTA    SPK\r
-/      CALL RSPEAK(SPK)\r
-/      GOTO 2\r
-#M33,  JSR     RSPEAK\r
-       JA      #2\r
-       JA      SPK\r
-\r
-/C "YOU'RE DEAD, JIM."\r
-/C\r
-/C IF THE CURRENT LOC IS ZERO, IT MEANS THE CLOWN GOT HIMSELF KILLED. WE'LL\r
-/C ALLOW THIS MAXDIE TIMES. MAXDIE IS AUTOMATICALLY SET BASED ON THE NUMBER OF\r
-/C SNIDE MESSAGES AVAILABLE. EACH DEATH RESULTS IN A MESSAGE (81, 83, ETC.)\r
-/C WHICH OFFERS REINCARNATION; IF ACCEPTED, THIS RESULTS IN MESSAGE 82, 84,\r
-/C ETC. THE LAST TIME, IF HE WANTS ANOTHER CHANCE, HE GETS A SNIDE REMARK AS\r
-/C WE EXIT. WHEN REINCARNATED, ALL OBJECTS BEING CARRIED GET DROPPED AT OLDLC2\r
-/C (PRESUMABLY THE LAST PLACE PRIOR TO BEING KILLED) WITHOUT CHANGE OF PROPS.\r
-/C THE LOOP RUNS BACKWARDS TO ASSURE THAT THE BIRD IS DROPPED BEFORE THE CAGE.\r
-/C (THIS KLUGE COULD BE CHANGED ONCE WE'RE SURE ALL REFERENCES TO BIRD AND CAGE\r
-/C ARE DONE BY KEYWORDS.) THE LAMP IS A SPECIAL CASE (IT WOULDN'T DO TO LEAVE\r
-/C IT IN THE CAVE). IT IS TURNED OFF AND LEFT OUTSIDE THE BUILDING (ONLY IF HE\r
-/C WAS CARRYING IT, OF COURSE). HE HIMSELF IS LEFT INSIDE THE BUILDING (AND\r
-/C HEAVEN HELP HIM IF HE TRIES TO XYZZY BACK INTO THE CAVE WITHOUT THE LAMP!).\r
-/C OLDLOC IS ZAPPED SO HE CAN'T JUST "RETREAT".\r
-/C\r
-/C THE EASIEST WAY TO GET KILLED IS TO FALL INTO A PIT IN PITCH DARKNESS.\r
-/C\r
-/90     CALL RSPEAK(23)\r
-#90,   JSR     RSPEAK\r
-       JA      .+4\r
-       JA      #LIT+44\r
-/      OLDLC2=LOC\r
-       FLDA    LOC\r
-       FSTA    OLDLC2\r
-/C\r
-/C OKAY, HE'S DEAD. LET'S GET ON WITH IT.\r
-/C\r
-/99     IF(CLOSNG)GOTO 95\r
-#99,   FLDA    CLOSNG\r
-       JNE     #95\r
-/      YEA=YES(81+NUMDIE*2,82+NUMDIE*2,54)\r
-       FLDA    NUMDIE\r
-       FADD    NUMDIE\r
-       FADD    #LIT+132\r
-       FSTA    #TMP\r
-       FADD    ONE\r
-       FSTA    #TMP+3\r
-       JSR     YES\r
-       JA      .+10\r
-       JA      #TMP\r
-       JA      #TMP+3\r
-       JA      #LIT+113\r
-       FSTA    YEA\r
-/      NUMDIE=NUMDIE+1\r
-       FLDA    NUMDIE\r
-       FADD    ONE\r
-       FSTA    NUMDIE\r
-/      IF(NUMDIE.EQ.MAXDIE.OR..NOT.YEA)GOTO 20000\r
-       FSUB    MAXDIE\r
-       JEQ     #20000\r
-       FLDA    YEA\r
-       JEQ     #20000\r
-/      PLACE(WATER)=0\r
-       FLDA    WATER\r
-       ATX     7\r
-       FCLA\r
-       FSTA    PLACE-3,7\r
-/      PLACE(OIL)=0\r
-       FLDA    OIL\r
-       ATX     7\r
-       FCLA\r
-       FSTA    PLACE-3,7\r
-/      IF(TOTING(LAMP))PROP(LAMP)=0\r
-       FLDA    LAMP\r
-       JSA     TOTING\r
-       JEQ     .+5\r
-       FCLA\r
-       FSTA    PROP-3,3\r
-/      DO 98 J=1,100\r
-       FLDA    ONE\r
-       FSTA    J\r
-\r
-/      I=101-J\r
-#G0150,        DECIMAL\r
-               LDX     101,0\r
-       OCTAL\r
-       XTA     0\r
-       FSUB    J\r
-       FSTA    I\r
-/      IF(.NOT.TOTING(I))GOTO 98\r
-       JSA     TOTING\r
-       JEQ     #98\r
-/      K=OLDLC2\r
-       FLDA    OLDLC2\r
-       FSTA    K\r
-/      IF(I.EQ.LAMP)K=1\r
-       FLDA    I\r
-       FSUB    LAMP\r
-       JNE     .+5\r
-       FLDA    ONE\r
-       FSTA    K\r
-/      CALL DROP(I,K)\r
-       JSR     DROP\r
-       JA      .+6\r
-       JA      I\r
-       JA      K\r
-\r
-/98     CONTINUE\r
-#98,   FLDA    J\r
-       FADD    ONE\r
-       FSTA    J\r
-       FSUB    #LIT+154\r
-       JLE     #G0150\r
-/      LOC=3\r
-       FLDA    THREE\r
-/      OLDLOC=LOC\r
-       FSTA    LOC\r
-       FSTA    OLDLOC\r
-/      GOTO 2000\r
-       JA      #2000\r
-\r
-/C\r
-/C HE DIED DURING CLOSING TIME. NO RESURRECTION. TALLY UP A DEATH AND EXIT.\r
-/C\r
-/95     CALL RSPEAK(131)\r
-#95,   JSR     RSPEAK\r
-       JA      .+4\r
-       JA      #LIT+212\r
-/      NUMDIE=NUMDIE+1\r
-       FLDA    ONE\r
-       FADDM   NUMDIE\r
-/      GOTO 20000\r
-       JA      #20000\r
-\r
-/C ROUTINES FOR PERFORMING THE VARIOUS ACTION VERBS\r
-/C\r
-/C STATEMENT NUMBERS IN THIS SECTION ARE 8000 FOR INTRANSITIVE VERBS, 9000 FOR\r
-/C TRANSITIVE, PLUS TEN TIMES THE VERB NUMBER. MANY INTRANSITIVE VERBS USE THE\r
-/C TRANSITIVE CODE, AND SOME VERBS USE CODE FOR OTHER VERBS, AS NOTED BELOW.\r
-/C\r
-/C RANDOM INTRANSITIVE VERBS COME HERE. CLEAR OBJ JUST IN CASE (SEE "ATTACK").\r
-/C\r
-/8000   TYPE 8002\r
-#8000, JSA     SPRINT\r
-       JA      #8002\r
-       JA      TWO\r
-\r
-/8002   FORMAT(' I don''t understand "',$)\r
-/      CALL A5TOA1(WD1,WD1A,WD1X,'".')\r
-       JSR     A5TOA1\r
-       JA      .+10\r
-       JA      WD1\r
-       JA      WD1X\r
-       JA      TQDOT\r
-/      OBJ=0\r
-       FCLA\r
-       FSTA    OBJ\r
-       TRAP3   #WRITO\r
-       JA      #LIT\r
-       JA      #LINEF+2\r
-       TRAP3   #RENDO\r
-/      GOTO 2600\r
-       JA      #2600\r
-\r
-/C\r
-/C CARRY, NO OBJECT GIVEN YET. OK IF ONLY ONE OBJECT PRESENT.\r
-/C\r
-/8010   IF(ATLOC(LOC).EQ.0.OR.LINK(ATLOC(LOC)).NE.0)GOTO 8000\r
-#8010, FLDA    LOC\r
-       ATX     7\r
-       FLDA    ATLOC-3,7\r
-       JEQ     #8000\r
-       ATX     6\r
-       FLDA    LINK-3,6\r
-       JNE     #8000\r
-/      DO 8012 I=1,5\r
-       FLDA    ONE\r
-       FSTA    I\r
-\r
-/      IF(DLOC(I).EQ.LOC.AND.DFLAG.GE.2)GOTO 8000\r
-#G0152,        FLDA    I\r
-       ATX     7\r
-       FLDA    DLOC-3,7\r
-       FSUB    LOC\r
-       JNE     #8012\r
-       FLDA    DFLAG\r
-       FSUB    TWO\r
-       JGE     #8000\r
-\r
-/8012   CONTINUE\r
-#8012, FLDA    I\r
-       FADD    ONE\r
-       FSTA    I\r
-       FSUB    #LIT+3\r
-       JLE     #G0152\r
-/      OBJ=ATLOC(LOC)\r
-       FLDA    LOC\r
-       ATX     7\r
-       FLDA    ATLOC-3,7\r
-       FSTA    OBJ\r
-\r
-/C\r
-/C CARRY AN OBJECT. SPECIAL CASES FOR BIRD AND CAGE (IF BIRD IN CAGE, CAN'T\r
-/C TAKE ONE WITHOUT THE OTHER. LIQUIDS ALSO SPECIAL, SINCE THEY DEPEND ON\r
-/C STATUS OF BOTTLE. ALSO VARIOUS SIDE EFFECTS, ETC.\r
-/C\r
-/9010   IF(TOTING(OBJ))GOTO 2011\r
-#9010, FLDA    OBJ\r
-       JSA     TOTING\r
-       JNE     #2011\r
-/      SPK=25\r
-       FLDA    #LIT+52\r
-       FSTA    SPK\r
-/      IF(OBJ.EQ.PLANT.AND.PROP(PLANT).LE.0)SPK=115\r
-       FLDA    OBJ\r
-       FSUB    PLANT\r
-       JNE     .+12\r
-       FLDA    PLANT\r
-       JSA     RDPROP\r
-       JGT     .+4\r
-       FLDA    #LIT+165\r
-       FSTA    SPK\r
-/      IF(OBJ.EQ.BEAR.AND.PROP(BEAR).EQ.1)SPK=169\r
-       FLDA    OBJ\r
-       FSUB    BEAR\r
-       JNE     .+15\r
-       FLDA    BEAR\r
-       JSA     RDPROP\r
-       FSUB    ONE\r
-       JNE     .+6\r
-       DECIMAL\r
-               LDX     169,0\r
-       OCTAL\r
-       XTA     0\r
-       FSTA    SPK\r
-/      IF(OBJ.EQ.CHAIN.AND.PROP(BEAR).NE.0)SPK=170\r
-       FLDA    OBJ\r
-       FSUB    CHAIN\r
-       JNE     .+14\r
-       FLDA    BEAR\r
-       JSA     RDPROP\r
-       JEQ     .+6\r
-       DECIMAL\r
-               LDX     170,0\r
-       OCTAL\r
-       XTA     0\r
-       FSTA    SPK\r
-/      IF(FIXED(OBJ).NE.0)GOTO 2011\r
-       FLDA    OBJ\r
-       ATX     7\r
-       FLDA    FIXED-3,7\r
-       JNE     #2011\r
-/      IF(OBJ.NE.WATER.AND.OBJ.NE.OIL)GOTO 9017\r
-       FLDA    OBJ\r
-       FSUB    WATER\r
-       JEQ     .+10\r
-       FLDA    OBJ\r
-       FSUB    OIL\r
-       JNE     #9017\r
-/      IF(HERE(BOTTLE).AND.LIQ(0).EQ.OBJ)GOTO 9018\r
-       FLDA    BOTTLE\r
-       JSA     HERE\r
-       JEQ     .+10\r
-       JSA     LIQ\r
-       FSUB    OBJ\r
-       JEQ     #9018\r
-/      OBJ=BOTTLE\r
-       FLDA    BOTTLE\r
-       FSTA    OBJ\r
-/      IF(TOTING(BOTTLE).AND.PROP(BOTTLE).EQ.1)GOTO 9220\r
-       FLDA    BOTTLE\r
-       JSA     TOTING\r
-       JEQ     .+7\r
-       FLDA    PROP-3,3\r
-       FSUB    ONE\r
-       JEQ     #9220\r
-\r
-/      IF(PROP(BOTTLE).NE.1)SPK=105\r
-       FLDA    PROP-3,3\r
-       FSUB    ONE\r
-       JEQ     .+4\r
-       FLDA    #LIT+157\r
-       FSTA    SPK\r
-/      IF(.NOT.TOTING(BOTTLE))SPK=104\r
-       FLDA    BOTTLE\r
-       JSA     TOTING\r
-       JNE     #2011\r
-       DECIMAL\r
-               LDX     104,0\r
-       OCTAL\r
-       XTA     0\r
-       FSTA    SPK\r
-/      GOTO 2011\r
-       JA      #2011\r
-\r
-/9018   OBJ=BOTTLE\r
-#9018, FLDA    BOTTLE\r
-       FSTA    OBJ\r
-\r
-/9017   IF(HOLDNG.LT.7)GOTO 9016\r
-#9017, LDX     7,0\r
-       XTA     0\r
-       FSUB    HOLDNG\r
-       JGE     #9016\r
-/      CALL RSPEAK(92)\r
-       JSR     RSPEAK\r
-       JA      #2012\r
-       JA      #LIT+143\r
-/      GOTO 2012\r
-\r
-/9016   IF(OBJ.NE.BIRD)GOTO 9014\r
-#9016, FLDA    OBJ\r
-       FSUB    BIRD\r
-       JNE     #9014\r
-/      IF(PROP(BIRD).NE.0)GOTO 9014\r
-       FLDA    BIRD\r
-       JSA     RDPROP\r
-       JNE     #9014\r
-/      IF(.NOT.TOTING(ROD))GOTO 9013\r
-       FLDA    ROD\r
-       JSA     TOTING\r
-       JEQ     #9013\r
-/      CALL RSPEAK(26)\r
-       JSR     RSPEAK\r
-       JA      #2012\r
-       JA      #LIT+55\r
-/      GOTO 2012\r
-\r
-/9013   IF(TOTING(CAGE))GOTO 9015\r
-#9013, FLDA    CAGE\r
-       JSA     TOTING\r
-       JNE     #9015\r
-/      CALL RSPEAK(27)\r
-       JSR     RSPEAK\r
-       JA      #2012\r
-       JA      #LIT+60\r
-/      GOTO 2012\r
-\r
-/9015   PROP(BIRD)=1\r
-#9015, FLDA    BIRD\r
-       ATX     7\r
-       FLDA    ONE\r
-       FSTA    PROP-3,7\r
-\r
-/9014   IF((OBJ.EQ.BIRD.OR.OBJ.EQ.CAGE).AND.PROP(BIRD).NE.0)\r
-/      1       CALL CARRY(BIRD+CAGE-OBJ,LOC)\r
-#9014, FLDA    OBJ\r
-       FSUB    BIRD\r
-       JEQ     .+10\r
-       FLDA    OBJ\r
-       FSUB    CAGE\r
-       JNE     .+27\r
-       FLDA    BIRD\r
-       JSA     RDPROP\r
-       JEQ     .+21\r
-       FLDA    BIRD\r
-       FADD    CAGE\r
-       FSUB    OBJ\r
-       FSTA    #TMP\r
-       JSR     CARRY\r
-       JA      .+6\r
-       JA      #TMP\r
-       JA      LOC\r
-/      CALL CARRY(OBJ,LOC)\r
-       JSR     CARRY\r
-       JA      .+6\r
-       JA      OBJ\r
-       JA      LOC\r
-/      K=LIQ(0)\r
-       JSA     LIQ\r
-       FSTA    K\r
-/      IF(OBJ.EQ.BOTTLE.AND.K.NE.0)PLACE(K)=-1\r
-       FLDA    OBJ\r
-       FSUB    BOTTLE\r
-       JNE     #2009A\r
-       FLDA    K\r
-       JEQ     #2009A\r
-       ATX     7\r
-       FLDA    MINUS1\r
-       FSTA    PLACE-3,7\r
-/      GOTO 2009\r
-#2009A,        DECIMAL\r
-               LDX     202,0\r
-       OCTAL\r
-       XTA     0\r
-       FSTA    K       /RHM - "Taken" message\r
-       JA      #2010\r
-\r
-/C\r
-/C DISCARD OBJECT. "THROW" ALSO COMES HERE FOR MOST OBJECTS. SPECIAL CASES FOR\r
-/C BIRD (MIGHT ATTACK SNAKE OR DRAGON) AND CAGE (MIGHT CONTAIN BIRD) AND VASE.\r
-/C DROP COINS AT VENDING MACHINE FOR EXTRA BATTERIES.\r
-/C\r
-/9020   IF(TOTING(ROD2).AND.OBJ.EQ.ROD.AND..NOT.TOTING(ROD))OBJ=ROD2\r
-#9020, FLDA    ROD2\r
-       JSA     TOTING\r
-       JEQ     .+22\r
-       FLDA    OBJ\r
-       FSUB    ROD\r
-       JNE     .+14\r
-       FLDA    ROD\r
-       JSA     TOTING\r
-       JNE     .+6\r
-       FLDA    ROD2\r
-       FSTA    OBJ\r
-/      IF(.NOT.TOTING(OBJ))GOTO 2011\r
-       FLDA    OBJ\r
-       JSA     TOTING\r
-       JEQ     #2011\r
-/      IF(OBJ.NE.BIRD.OR..NOT.HERE(SNAKE))GOTO 9024\r
-       FLDA    OBJ\r
-       FSUB    BIRD\r
-       JNE     #9024\r
-       FLDA    SNAKE\r
-       JSA     HERE\r
-       JEQ     #9024\r
-/      CALL RSPEAK(30)\r
-       JSR     RSPEAK\r
-       JA      .+4\r
-       JA      #LIT+63\r
-/      IF(CLOSED)GOTO 19000\r
-       FLDA    CLOSED\r
-       JNE     #19000\r
-/      CALL DSTROY(SNAKE)\r
-       FLDA    SNAKE\r
-       JSA     DSTROY\r
-/C\r
-/C SET PROP FOR USE BY TRAVEL OPTIONS\r
-/C\r
-/      PROP(SNAKE)=1\r
-       FLDA    SNAKE\r
-       ATX     7\r
-       FLDA    ONE\r
-       FSTA    PROP-3,7\r
-\r
-/9021   K=LIQ(0)\r
-#9021, JSA     LIQ\r
-       FSTA    K\r
-/      IF(K.EQ.OBJ)OBJ=BOTTLE\r
-       FSUB    OBJ\r
-       JNE     .+6\r
-       FLDA    BOTTLE\r
-       FSTA    OBJ\r
-/      IF(OBJ.EQ.BOTTLE.AND.K.NE.0)PLACE(K)=0\r
-       FLDA    OBJ\r
-       FSUB    BOTTLE\r
-       JNE     .+12\r
-       FLDA    K\r
-       JEQ     .+6\r
-       ATX     7\r
-       FCLA\r
-       FSTA    PLACE-3,7\r
-/      IF(OBJ.EQ.CAGE.AND.PROP(BIRD).NE.0)CALL DROP(BIRD,LOC)\r
-       FLDA    OBJ\r
-       FSUB    CAGE\r
-       JNE     .+20\r
-       FLDA    BIRD\r
-       JSA     RDPROP\r
-       JEQ     .+12\r
-       JSR     DROP\r
-       JA      .+6\r
-       JA      BIRD\r
-       JA      LOC\r
-/      IF(OBJ.EQ.BIRD)PROP(BIRD)=0\r
-       FLDA    OBJ\r
-       FSUB    BIRD\r
-       JNE     .+10\r
-       FLDA    BIRD\r
-       ATX     7\r
-       FCLA\r
-       FSTA    PROP-3,7\r
-/      CALL DROP(OBJ,LOC)\r
-       JSR     DROP\r
-/      GO TO 2012\r
-       JA      #2012\r
-/\r
-       JA      OBJ\r
-       JA      LOC\r
-\r
-/C\r
-/9024   IF(OBJ.NE.COINS.OR..NOT.HERE(VEND))GOTO 9025\r
-#9024, FLDA    OBJ\r
-       FSUB    COINS\r
-       JNE     #9025\r
-       FLDA    VEND\r
-       JSA     HERE\r
-       JEQ     #9025\r
-/      CALL DSTROY(COINS)\r
-       FLDA    COINS\r
-       JSA     DSTROY\r
-/      CALL DROP(BATTER,LOC)\r
-       JSR     DROP\r
-       JA      .+6\r
-       JA      BATTER\r
-       JA      LOC\r
-/      CALL PSPEAK(BATTER,0)\r
-       JSR     PSPEAK\r
-       JA      .+6\r
-       JA      BATTER\r
-       JA      ZERO\r
-/      GOTO 2012\r
-       JA      #2012\r
-\r
-\f/C\r
-/9025   IF(OBJ.NE.BIRD.OR..NOT.AT(DRAGON).OR.PROP(DRAGON).NE.0)GOTO 9026\r
-#9025, FLDA    OBJ\r
-       FSUB    BIRD\r
-       JNE     #9026\r
-       FLDA    DRAGON\r
-       JSA     AT\r
-       JEQ     #9026\r
-/      FLDA    DRAGON\r
-/      ATX     3\r
-       FLDA    PROP-3,3\r
-       JNE     #9026\r
-/      CALL RSPEAK(154)\r
-       JSR     RSPEAK\r
-       JA      .+4\r
-       JA      #LIT+333\r
-/      CALL DSTROY(BIRD)\r
-       FLDA    BIRD\r
-       JSA     DSTROY\r
-/      PROP(BIRD)=0\r
-       FLDA    BIRD\r
-       ATX     7\r
-       FCLA\r
-       FSTA    PROP-3,7\r
-/      IF(PLACE(SNAKE).EQ.PLAC(SNAKE))TALLY2=TALLY2+1\r
-       FLDA    SNAKE\r
-       ATX     7\r
-       FLDA    PLACE-3,7\r
-       FSUB    PLAC-3,7\r
-       JNE     #2012\r
-       FLDA    TALLY2\r
-       FADD    ONE\r
-       FSTA    TALLY2\r
-/      GOTO 2012\r
-       JA      #2012\r
-\r
-/C\r
-/9026   IF(OBJ.NE.BEAR.OR..NOT.AT(TROLL))GOTO 9027\r
-#9026, FLDA    OBJ\r
-       FSUB    BEAR\r
-       JNE     #9027\r
-       FLDA    TROLL\r
-       JSA     AT\r
-       JEQ     #9027\r
-/      CALL RSPEAK(163)\r
-       JSR     RSPEAK\r
-       JA      .+4\r
-       JA      #LIT+242\r
-/      CALL MOVE(TROLL,0)\r
-       JSR     MOVE\r
-       JA      .+6\r
-       JA      TROLL\r
-       JA      ZERO\r
-/      CALL MOVE(TROLL+100,0)\r
-       FLDA    TROLL\r
-       FADD    #LIT+154\r
-       FSTA    #TMP\r
-       JSR     MOVE\r
-       JA      .+6\r
-       JA      #TMP\r
-       JA      ZERO\r
-/      CALL MOVE(TROLL2,PLAC(TROLL))\r
-       FLDA    TROLL\r
-       ATX     7\r
-       FLDA    PLAC-3,7\r
-       FSTA    #TMP\r
-       JSR     MOVE\r
-       JA      .+6\r
-       JA      TROLL2\r
-       JA      #TMP\r
-/      CALL MOVE(TROLL2+100,FIXD(TROLL))\r
-       FLDA    TROLL2\r
-       FADD    #LIT+154\r
-       FSTA    #TMP\r
-/      FLDA    TROLL\r
-/      ATX     7\r
-       FLDA    FIXD-3,7\r
-       FSTA    #TMP+3\r
-       JSR     MOVE\r
-       JA      .+6\r
-       JA      #TMP\r
-       JA      #TMP+3\r
-/      CALL JUGGLE(CHASM)\r
-       FLDA    CHASM\r
-       JSA     JUGGLE\r
-/      PROP(TROLL)=2\r
-/      FLDA    TROLL\r
-/      ATX     7\r
-       FLDA    TWO\r
-       FSTA    PROP-3,7\r
-/      GOTO 9021\r
-       JA      #9021\r
-\r
-/C\r
-/9027   IF(OBJ.EQ.VASE.AND.LOC.NE.PLAC(PILLOW))GOTO 9028\r
-#9027, FLDA    OBJ\r
-       FSUB    VASE\r
-       JNE     .+13\r
-       FLDA    PILLOW\r
-       ATX     7\r
-       FLDA    LOC\r
-       FSUB    PLAC-3,7\r
-       JNE     #9028\r
-/      CALL RSPEAK(54)\r
-       JSR     RSPEAK\r
-       JA      #9021\r
-       JA      #LIT+113\r
-/      GOTO 9021\r
-\r
-/C\r
-/9028   PROP(VASE)=2\r
-#9028, FLDA    VASE\r
-       ATX     7\r
-       FLDA    TWO\r
-       FSTA    PROP-3,7\r
-/      IF(AT(PILLOW))PROP(VASE)=0\r
-       FLDA    PILLOW\r
-       JSA     AT\r
-       JEQ     .+10\r
-       FLDA    VASE\r
-       ATX     7\r
-       FCLA\r
-       FSTA    PROP-3,7\r
-/      CALL PSPEAK(VASE,PROP(VASE)+1)\r
-       FLDA    VASE\r
-       JSA     RDPROP\r
-       FADD    ONE\r
-       FSTA    #TMP\r
-       JSR     PSPEAK\r
-       JA      .+6\r
-       JA      VASE\r
-       JA      #TMP\r
-/      IF(PROP(VASE).NE.0)FIXED(VASE)=-1\r
-       FLDA    VASE\r
-       ATX     7\r
-       FLDA    PROP-3,7\r
-       JEQ     #9021\r
-       FLDA    MINUS1\r
-       FSTA    FIXED-3,7\r
-/      GOTO 9021\r
-       JA      #9021\r
-\r
-/C\r
-/C SAY. ECHO WD2 (OR WD1 IF NO WD2 (SAY WHAT?, ETC.).) MAGIC WORDS OVERRIDE.\r
-/C\r
-/9030   IF(WD2.EQ.0)GOTO 9031\r
-#9030, FLDA    WD2\r
-       JEQ     #9031\r
-/      WD1=WD2 WD1A=WD2A\r
-       FLDA    WD2\r
-       FSTA    WD1\r
-/      WD1X=WD2X\r
-       FLDA    WD2X\r
-       FSTA    WD1X\r
-\r
-/9031   CALL VOCAB(WD1,WD1A,-1,I)\r
-#9031, JSR     VOCAB\r
-       JA      .+6\r
-       JA      WD1\r
-       JA      MINUS1\r
-       FSTA    I\r
-/      IF(I.EQ.62.OR.I.EQ.65.OR.I.EQ.71.OR.I.EQ.2025)GOTO 9035\r
-       FSUB    #LIT+124\r
-       JEQ     #9035\r
-       FSUB    THREE\r
-       JEQ     #9035\r
-       FSUB    #LIT+3\r
-       JEQ     #9035\r
-       DECIMAL\r
-               LDX     2025,0\r
-       OCTAL\r
-       XTA     0\r
-       FSUB    I\r
-       JEQ     #9035\r
-/      TYPE 9032\r
-       JSA     SPRINT\r
-       JA      #9032\r
-       JA      TWO\r
-/9032   FORMAT(' Okay, "',$)\r
-/      CALL A5TOA1(WD1,WD1A,WD1X,'".')\r
-       JSR     A5TOA1\r
-       JA      #2012\r
-       JA      WD1\r
-       JA      WD1X\r
-       JA      TQDOT\r
-/      GOTO 2012\r
-\r
-/C\r
-/9035   WD2=0\r
-#9035, FCLA\r
-       FSTA    WD2\r
-/      OBJ=0\r
-       FSTA    OBJ\r
-/      GOTO 2630\r
-       JA      #2630\r
-\r
-/C\r
-/C LOCK, UNLOCK, NO OBJECT GIVEN. ASSUME VARIOUS THINGS IF PRESENT.\r
-/C\r
-/8040   SPK=28\r
-#8040, DECIMAL\r
-               LDX     28,0\r
-       OCTAL\r
-       XTA     0\r
-       FSTA    SPK\r
-/      IF(HERE(CLAM))OBJ=CLAM\r
-       FLDA    CLAM\r
-       JSA     HERE\r
-       JEQ     .+6\r
-       FLDA    CLAM\r
-       FSTA    OBJ\r
-/      IF(HERE(OYSTER))OBJ=OYSTER\r
-       FLDA    OYSTER\r
-       JSA     HERE\r
-       JEQ     .+6\r
-       FLDA    OYSTER\r
-       FSTA    OBJ\r
-/      IF(AT(DOOR))OBJ=DOOR\r
-       FLDA    DOOR\r
-       JSA     AT\r
-       JEQ     .+6\r
-       FLDA    DOOR\r
-       FSTA    OBJ\r
-/      IF(AT(GRATE))OBJ=GRATE\r
-       FLDA    GRATE\r
-       JSA     AT\r
-       JEQ     .+6\r
-       FLDA    GRATE\r
-       FSTA    OBJ\r
-/      IF(OBJ.NE.0.AND.HERE(CHAIN))GOTO 8000\r
-       FLDA    OBJ\r
-       JEQ     .+10\r
-       FLDA    CHAIN\r
-       JSA     HERE\r
-       JNE     #8000\r
-/      IF(HERE(CHAIN))OBJ=CHAIN\r
-       FLDA    CHAIN\r
-       JSA     HERE\r
-       JEQ     .+6\r
-       FLDA    CHAIN\r
-       FSTA    OBJ\r
-/      IF(OBJ.EQ.0)GOTO 2011\r
-       FLDA    OBJ\r
-       JEQ     #2011\r
-\r
-/C\r
-/C LOCK, UNLOCK OBJECT. SPECIAL STUFF FOR OPENING CLAM/OYSTER AND FOR CHAIN.\r
-/C\r
-/9040   IF(OBJ.EQ.CLAM.OR.OBJ.EQ.OYSTER)GOTO 9046\r
-#9040, FLDA    OBJ\r
-       FSUB    CLAM\r
-       JEQ     #9046\r
-       FLDA    OBJ\r
-       FSUB    OYSTER\r
-       JEQ     #9046\r
-/      IF(OBJ.EQ.DOOR)SPK=111\r
-       FLDA    OBJ\r
-       FSUB    DOOR\r
-       JNE     #9040A\r
-       DECIMAL\r
-               LDX     111,0\r
-       OCTAL\r
-       XTA     0\r
-       FSTA    SPK\r
-/      IF(OBJ.EQ.DOOR.AND.PROP(DOOR).EQ.1)SPK=54\r
-#9040A,        FLDA    OBJ\r
-       FSUB    DOOR\r
-       JNE     .+13\r
-       FLDA    DOOR\r
-       JSA     RDPROP\r
-       FSUB    ONE\r
-       JEQ     .+4\r
-       FLDA    #LIT+113\r
-       FSTA    SPK\r
-/      IF(OBJ.EQ.CAGE)SPK=32\r
-       FLDA    OBJ\r
-       FSUB    CAGE\r
-       JNE     .+6\r
-       DECIMAL\r
-               LDX     32,0\r
-       OCTAL\r
-       XTA     0\r
-       FSTA    SPK\r
-/      IF(OBJ.EQ.KEYS)SPK=55\r
-       FLDA    OBJ\r
-       FSUB    KEYS\r
-       JNE     .+6\r
-       DECIMAL\r
-               LDX     55,0\r
-       OCTAL\r
-       XTA     0\r
-       FSTA    SPK\r
-/      IF(OBJ.EQ.GRATE.OR.OBJ.EQ.CHAIN)SPK=31\r
-       FLDA    OBJ\r
-       FSUB    GRATE\r
-       JEQ     .+10\r
-       FLDA    OBJ\r
-       FSUB    CHAIN\r
-       JNE     .+6\r
-       DECIMAL\r
-               LDX     31,0\r
-       OCTAL\r
-       XTA     0\r
-       FSTA    SPK\r
-/      IF(SPK.NE.31.OR..NOT.HERE(KEYS))GOTO 2011\r
-       DECIMAL\r
-               LDX     31,0\r
-       OCTAL\r
-       XTA     0\r
-       FSUB    SPK\r
-       JNE     #2011\r
-       FLDA    KEYS\r
-       JSA     HERE\r
-       JEQ     #2011\r
-/      IF(OBJ.EQ.CHAIN)GOTO 9048\r
-       FLDA    OBJ\r
-       FSUB    CHAIN\r
-       JEQ     #9048\r
-/      IF(.NOT.CLOSNG)GOTO 9043\r
-       FLDA    CLOSNG\r
-       JEQ     #9043\r
-/      K=130\r
-       FLDA    #LIT+207\r
-       FSTA    K\r
-/      IF(.NOT.PANIC)CLOCK2=15\r
-       FLDA    PANIC\r
-       JNE     .+5\r
-       FLDA    #LIT+25\r
-       FSTA    CLOCK2\r
-/      PANIC=.TRUE.\r
-       FLDA    ONE\r
-       FSTA    PANIC\r
-/      GOTO 2010\r
-       JA      #2010\r
-\r
-/C\r
-/9043   K=34+PROP(GRATE)\r
-#9043, FLDA    GRATE\r
-       ATX     7\r
-       DECIMAL\r
-               LDX     34,0\r
-       OCTAL\r
-       XTA     0\r
-       FADD    PROP-3,7\r
-       FSTA    K\r
-/      IF(VERB.EQ.LOCK)PROP(GRATE)=0\r
-       FLDA    ONE\r
-       FSTA    PROP-3,7\r
-       FLDA    VERB\r
-       FSUB    LOCK\r
-       JNE     .+4\r
-/      FCLA                    / already zero\r
-       FSTA    PROP-3,7\r
-/      K=K+2*PROP(GRATE)\r
-       FLDA    TWO\r
-       FMUL    PROP-3,7\r
-       FADD    K\r
-       FSTA    K\r
-/      GOTO 2010\r
-       JA      #2010\r
-\r
-/C\r
-/C CLAM/OYSTER.\r
-/C\r
-/9046   K=0\r
-#9046, FCLA\r
-       FSTA    K\r
-/      IF(OBJ.EQ.OYSTER)K=1\r
-       FLDA    OBJ\r
-       FSUB    OYSTER\r
-       JNE     .+5\r
-       FLDA    ONE\r
-       FSTA    K\r
-/      SPK=124+K\r
-       DECIMAL\r
-               LDX     124,0\r
-       OCTAL\r
-       XTA     0\r
-       FADD    K\r
-       FSTA    SPK\r
-/      IF(TOTING(OBJ))SPK=120+K\r
-       FLDA    OBJ\r
-       JSA     TOTING\r
-       JEQ     #9046A\r
-       DECIMAL\r
-               LDX     120,0\r
-       OCTAL\r
-       XTA     0\r
-       FADD    K\r
-       FSTA    SPK\r
-/      IF(.NOT.TOTING(TRIDNT))SPK=122+K\r
-#9046A,        FLDA    TRIDNT\r
-       JSA     TOTING\r
-       JNE     .+10\r
-       DECIMAL\r
-               LDX     122,0\r
-       OCTAL\r
-       XTA     0\r
-       FADD    K\r
-       FSTA    SPK\r
-/      IF(VERB.EQ.LOCK)SPK=61\r
-       FLDA    VERB\r
-       FSUB    LOCK\r
-       JNE     .+6\r
-       DECIMAL\r
-               LDX     61,0\r
-       OCTAL\r
-       XTA     0\r
-       FSTA    SPK\r
-/      IF(SPK.NE.124)GOTO 2011\r
-       DECIMAL\r
-               LDX     124,0\r
-       OCTAL\r
-       XTA     0\r
-       FSUB    SPK\r
-       JNE     #2011\r
-/      CALL DSTROY(CLAM)\r
-       FLDA    CLAM\r
-       JSA     DSTROY\r
-/      CALL DROP(OYSTER,LOC)\r
-       JSR     DROP\r
-       JA      .+6\r
-       JA      OYSTER\r
-       JA      LOC\r
-/      CALL DROP(PEARL,105)\r
-       JSR     DROP\r
-       JA      #2011\r
-       JA      PEARL\r
-       JA      #LIT+157\r
-/      GOTO 2011\r
-\r
-/C\r
-/C CHAIN.\r
-/C\r
-/9048   IF(VERB.EQ.LOCK)GOTO 9049\r
-#9048, FLDA    VERB\r
-       FSUB    LOCK\r
-       JEQ     #9049\r
-/      SPK=171\r
-       DECIMAL\r
-               LDX     171,0\r
-       OCTAL\r
-       XTA     0\r
-       FSTA    SPK\r
-/      IF(PROP(BEAR).EQ.0)SPK=41\r
-       FLDA    BEAR\r
-       JSA     RDPROP\r
-       JNE     .+6\r
-       DECIMAL\r
-               LDX     41,0\r
-       OCTAL\r
-       XTA     0\r
-       FSTA    SPK\r
-/      IF(PROP(CHAIN).EQ.0)SPK=37\r
-       FLDA    CHAIN\r
-       JSA     RDPROP\r
-       JNE     .+4\r
-       FLDA    #LIT+71\r
-       FSTA    SPK\r
-/      IF(SPK.NE.171)GOTO 2011\r
-       DECIMAL\r
-               LDX     171,0\r
-       OCTAL\r
-       XTA     0\r
-       FSUB    SPK\r
-       JNE     #2011\r
-/      PROP(CHAIN)=0\r
-       FCLA\r
-       FSTA    PROP-3,7\r
-/      FIXED(CHAIN)=0\r
-       FSTA    FIXED-3,7\r
-/      IF(PROP(BEAR).NE.3)PROP(BEAR)=2\r
-       FLDA    BEAR\r
-       JSA     RDPROP\r
-       FSUB    THREE\r
-       JEQ     .+5\r
-       FLDA    TWO\r
-       FSTA    PROP-3,7\r
-/      FIXED(BEAR)=2-PROP(BEAR)\r
-       FLDA    TWO\r
-       FSUB    PROP-3,7\r
-       FSTA    FIXED-3,7\r
-/      GOTO 2011\r
-       JA      #2011\r
-\r
-/C\r
-/9049   SPK=172\r
-#9049, DECIMAL\r
-               LDX     172,0\r
-       OCTAL\r
-       XTA     0\r
-       FSTA    SPK\r
-/      IF(PROP(CHAIN).NE.0)SPK=34\r
-       FLDA    CHAIN\r
-       JSA     RDPROP\r
-       JEQ     .+6\r
-       DECIMAL\r
-               LDX     34,0\r
-       OCTAL\r
-       XTA     0\r
-       FSTA    SPK\r
-/      IF(LOC.NE.PLAC(CHAIN))SPK=173\r
-       FLDA    LOC\r
-       FSUB    PLAC-3,7\r
-       JEQ     .+6\r
-       DECIMAL\r
-               LDX     173,0\r
-       OCTAL\r
-       XTA     0\r
-       FSTA    SPK\r
-/      IF(SPK.NE.172)GOTO 2011\r
-       DECIMAL\r
-               LDX     172,0\r
-       OCTAL\r
-       XTA     0\r
-       FSUB    SPK\r
-       JNE     #2011\r
-/      PROP(CHAIN)=2\r
-       FLDA    TWO\r
-       FSTA    PROP-3,7\r
-/      IF(TOTING(CHAIN))CALL DROP(CHAIN,LOC)\r
-       FLDA    CHAIN\r
-       JSA     TOTING\r
-       JEQ     .+12\r
-       JSR     DROP\r
-       JA      .+6\r
-       JA      CHAIN\r
-       JA      LOC\r
-/      FIXED(CHAIN)=-1\r
-       FLDA    MINUS1\r
-       FSTA    FIXED-3,7\r
-/      GOTO 2011\r
-       JA      #2011\r
-\r
-/C\r
-/C LIGHT LAMP\r
-/C\r
-/9070   IF(.NOT.HERE(LAMP))GOTO 2011\r
-#9070, FLDA    LAMP\r
-       JSA     HERE\r
-       JEQ     #2011\r
-/      SPK=184\r
-       FLDA    #LIT+253\r
-       FSTA    SPK\r
-/      IF(LIMIT.LT.0)GOTO 2011\r
-       FLDA    LIMIT\r
-       JLT     #2011\r
-/      PROP(LAMP)=1\r
-       FLDA    LAMP\r
-       ATX     7\r
-       FLDA    ONE\r
-       FSTA    PROP-3,7\r
-/      CALL RSPEAK(39)\r
-       JSR     RSPEAK\r
-       JA      .+4\r
-       JA      #LIT+74\r
-/      IF(WZDARK)GOTO 2000\r
-       FLDA    WZDARK\r
-       JNE     #2000\r
-/      GOTO 2012\r
-       JA      #2012\r
-\r
-/C\r
-/C LAMP OFF\r
-/C\r
-/9080   IF(.NOT.HERE(LAMP))GOTO 2011\r
-#9080, FLDA    LAMP\r
-       ATX     7\r
-       JSA     HERE\r
-       JEQ     #2011\r
-/      PROP(LAMP)=0\r
-       FCLA\r
-       FSTA    PROP-3,7\r
-/      CALL RSPEAK(40)\r
-       JSR     RSPEAK\r
-       JA      .+4\r
-       JA      #LIT+77\r
-/      IF(DARK(0))CALL RSPEAK(16)\r
-       JSA     DARK\r
-       JEQ     #2012\r
-       JSR     RSPEAK\r
-       JA      #2012\r
-       JA      #LIT+30\r
-/      GOTO 2012\r
-\r
-/C\r
-/C WAVE. NO EFFECT UNLESS WAVING ROD AT FISSURE.\r
-/C\r
-/9090   IF((.NOT.TOTING(OBJ)).AND.(OBJ.NE.ROD.OR..NOT.TOTING(ROD2)))\r
-/      1        SPK=29\r
-#9090, FLDA    OBJ\r
-       JSA     TOTING\r
-       JNE     .+20\r
-       FLDA    OBJ\r
-       FSUB    ROD\r
-       JNE     .+12\r
-       FLDA    ROD2\r
-       JSA     TOTING\r
-       JNE     .+4\r
-       FLDA    #LIT+135\r
-       FSTA    SPK\r
-/      IF(OBJ.NE.ROD.OR..NOT.AT(FISSUR).OR..NOT.TOTING(OBJ)\r
-/      1       .OR.CLOSNG)GOTO 2011\r
-       FLDA    OBJ\r
-       FSUB    ROD\r
-       JNE     #2011\r
-       FLDA    FISSUR\r
-       JSA     AT\r
-       JEQ     #2011\r
-       FLDA    OBJ\r
-       JSA     TOTING\r
-       JEQ     #2011\r
-       FLDA    CLOSNG\r
-       JNE     #2011\r
-/      PROP(FISSUR)=1-PROP(FISSUR)\r
-       FLDA    FISSUR\r
-       ATX     7\r
-       FLDA    ONE\r
-       FSUB    PROP-3,7\r
-       FSTA    PROP-3,7\r
-/      CALL PSPEAK(FISSUR,2-PROP(FISSUR))\r
-       FLDA    FISSUR\r
-       ATX     7\r
-       FLDA    TWO\r
-       FSUB    PROP-3,7\r
-       FSTA    #TMP\r
-       JSR     PSPEAK\r
-       JA      #2012\r
-       JA      FISSUR\r
-       JA      #TMP\r
-/      GOTO 2012\r
-\r
-/C\r
-/C ATTACK. ASSUME TARGET IF UNAMBIGUOUS. "THROW" ALSO LINKS HERE. ATTACKABLE\r
-/C OBJECTS FALL INTO TWO CATEGORIES: ENEMIES (SNAKE, DWARF, ETC.) AND OTHERS\r
-/C (BIRD, CLAM). AMBIGUOUS IF TWO ENEMIES, OR IF NO ENEMIES BUT TWO OTHERS.\r
-/C\r
-/9120   DO 9121 I=1,5\r
-#9120, FLDA    ONE\r
-       FSTA    I\r
-\r
-#H0102,        FLDA    I\r
-       ATX     7\r
-/      IF(DLOC(I).EQ.LOC.AND.DFLAG.GE.2)GOTO 9122\r
-       FLDA    DLOC-3,7\r
-       FSUB    LOC\r
-       JNE     #9121\r
-       FLDA    DFLAG\r
-       FSUB    TWO\r
-       JGE     #9122\r
-\r
-/9121   CONTINUE\r
-#9121, FLDA    I\r
-       FADD    ONE\r
-       FSTA    I\r
-       FSUB    #LIT+3\r
-       JLE     #H0102\r
-/      I=0\r
-       FCLA\r
-       FSTA    I\r
-\r
-/9122   IF(OBJ.NE.0)GOTO 9124\r
-#9122, FLDA    OBJ\r
-       JNE     #9124\r
-/      IF(I.NE.0)OBJ=DWARF\r
-       FLDA    I\r
-       JEQ     .+6\r
-       FLDA    DWARF\r
-       FSTA    OBJ\r
-/      IF(HERE(SNAKE))OBJ=OBJ*100+SNAKE\r
-       FLDA    SNAKE\r
-       JSA     HERE\r
-       JEQ     .+11\r
-       FLDA    OBJ\r
-       FMUL    #LIT+154\r
-       FADD    SNAKE\r
-       FSTA    OBJ\r
-/      IF(AT(DRAGON).AND.PROP(DRAGON).EQ.0)OBJ=OBJ*100+DRAGON\r
-       FLDA    DRAGON\r
-       JSA     AT\r
-       JEQ     .+15\r
-/      FLDA    DRAGON\r
-/      ATX     3\r
-       FLDA    PROP-3,3\r
-       JNE     .+11\r
-       FLDA    OBJ\r
-       FMUL    #LIT+154\r
-       FADD    DRAGON\r
-       FSTA    OBJ\r
-/      IF(AT(TROLL))OBJ=OBJ*100+TROLL\r
-       FLDA    TROLL\r
-       JSA     AT\r
-       JEQ     .+11\r
-       FLDA    OBJ\r
-       FMUL    #LIT+154\r
-       FADD    TROLL\r
-       FSTA    OBJ\r
-/      IF(HERE(BEAR).AND.PROP(BEAR).EQ.0)OBJ=OBJ*100+BEAR\r
-       FLDA    BEAR\r
-       JSA     HERE\r
-       JEQ     .+15\r
-       FLDA    PROP-3,3\r
-       JNE     .+11\r
-       FLDA    OBJ\r
-       FMUL    #LIT+154\r
-       FADD    BEAR\r
-       FSTA    OBJ\r
-/      IF(OBJ.GT.100)GOTO 8000\r
-       FLDA    OBJ\r
-       FSUB    #LIT+154\r
-       JGT     #8000\r
-/      IF(OBJ.NE.0)GOTO 9124\r
-       FLDA    OBJ\r
-       JNE     #9124\r
-/C\r
-/C CAN'T ATTACK BIRD BY THROWING AXE.\r
-/C\r
-/      IF(HERE(BIRD).AND.VERB.NE.THROW)OBJ=BIRD\r
-       FLDA    BEAR\r
-       JSA     HERE\r
-       JEQ     .+14\r
-       FLDA    VERB\r
-       FSUB    THROW\r
-       JNE     .+6\r
-       FLDA    BIRD\r
-       FSTA    OBJ\r
-/C\r
-/C CLAM AND OYSTER BOTH TREATED AS CLAM FOR INTRANSITIVE CASE; NO HARM DONE.\r
-/C\r
-/      IF(HERE(CLAM).OR.HERE(OYSTER))OBJ=100*OBJ+CLAM\r
-       FLDA    CLAM\r
-       JSA     HERE\r
-       JNE     .+10\r
-       FLDA    OYSTER\r
-       JSA     HERE\r
-       JEQ     .+11\r
-       FLDA    #LIT+154\r
-       FMUL    OBJ\r
-       FADD    CLAM\r
-       FSTA    OBJ\r
-/      IF(OBJ.GT.100)GOTO 8000\r
-       FLDA    OBJ\r
-       FSUB    #LIT+154\r
-       JGT     #8000\r
-\r
-/9124   IF(OBJ.NE.BIRD)GOTO 9125\r
-#9124, FLDA    OBJ\r
-       FSUB    BIRD\r
-       JNE     #9125\r
-/      SPK=137\r
-       DECIMAL\r
-               LDX     137,0\r
-       OCTAL\r
-       XTA     0\r
-       FSTA    SPK\r
-/      IF(CLOSED)GOTO 2011\r
-       FLDA    CLOSED\r
-       JNE     #2011\r
-/      CALL DSTROY(BIRD)\r
-       FLDA    BIRD\r
-       JSA     DSTROY\r
-/      PROP(BIRD)=0\r
-       FLDA    BIRD\r
-       ATX     7\r
-       FCLA\r
-       FSTA    PROP-3,7\r
-/      IF(PLACE(SNAKE).EQ.PLAC(SNAKE))TALLY2=TALLY2+1\r
-       FLDA    SNAKE\r
-       ATX     7\r
-       FLDA    PLACE-3,7\r
-       FSUB    PLAC-3,7\r
-       JNE     .+7\r
-       FLDA    TALLY2\r
-       FADD    ONE\r
-       FSTA    TALLY2\r
-/      SPK=45\r
-       FLDA    #LIT+102\r
-       FSTA    SPK\r
-\r
-/9125   IF(OBJ.EQ.0)SPK=44\r
-#9125, FLDA    OBJ\r
-       JNE     .+6\r
-       DECIMAL\r
-               LDX     44,0\r
-       OCTAL\r
-       XTA     0\r
-       FSTA    SPK\r
-/      IF(OBJ.EQ.CLAM.OR.OBJ.EQ.OYSTER)SPK=150\r
-       FLDA    OBJ\r
-       FSUB    CLAM\r
-       JEQ     .+10\r
-       FLDA    OBJ\r
-       FSUB    OYSTER\r
-       JNE     .+6\r
-       DECIMAL\r
-               LDX     150,0\r
-       OCTAL\r
-       XTA     0\r
-       FSTA    SPK\r
-/      IF(OBJ.EQ.SNAKE)SPK=46\r
-       FLDA    OBJ\r
-       FSUB    SNAKE\r
-       JNE     .+6\r
-       DECIMAL\r
-               LDX     46,0\r
-       OCTAL\r
-       XTA     0\r
-       FSTA    SPK\r
-/      IF(OBJ.EQ.DWARF)SPK=49\r
-       FLDA    OBJ\r
-       FSUB    DWARF\r
-       JNE     .+4\r
-       FLDA    #LIT+105\r
-       FSTA    SPK\r
-/      IF(OBJ.EQ.DWARF.AND.CLOSED)GOTO 19000\r
-       FLDA    OBJ\r
-       FSUB    DWARF\r
-       JNE     .+6\r
-       FLDA    CLOSED\r
-       JNE     #19000\r
-/      IF(OBJ.EQ.DRAGON)SPK=167\r
-       FLDA    OBJ\r
-       FSUB    DRAGON\r
-       JNE     .+6\r
-       DECIMAL\r
-               LDX     167,0\r
-       OCTAL\r
-       XTA     0\r
-       FSTA    SPK\r
-/      IF(OBJ.EQ.TROLL)SPK=157\r
-       FLDA    OBJ\r
-       FSUB    TROLL\r
-       JNE     .+6\r
-       DECIMAL\r
-               LDX     157,0\r
-       OCTAL\r
-       XTA     0\r
-       FSTA    SPK\r
-/      IF(OBJ.EQ.BEAR)SPK=165+(PROP(BEAR)+1)/2\r
-       FLDA    OBJ\r
-       FSUB    BEAR\r
-       JNE     .+14\r
-       FLDA    BEAR\r
-       JSA     RDPROP\r
-       FADD    ONE\r
-       FDIV    TWO\r
-       JSA     #FIX\r
-       FADD    #LIT+245\r
-       FSTA    SPK\r
-/      IF(OBJ.NE.DRAGON.OR.PROP(DRAGON).NE.0)GOTO 2011\r
-       FLDA    OBJ\r
-       FSUB    DRAGON\r
-       JNE     #2011\r
-       FLDA    DRAGON\r
-       JSA     RDPROP\r
-       JNE     #2011\r
-/C\r
-/C FUN STUFF FOR DRAGON. IF HE INSISTS ON ATTACKING IT, WIN! SET PROP TO DEAD,\r
-/C MOVE DRAGON TO CENTRAL LOC (STILL FIXED), MOVE RUG THERE (NOT FIXED), AND\r
-/C MOVE HIM THERE, TOO. THEN DO A NULL MOTION TO GET NEW DESCRIPTION.\r
-/C\r
-/      CALL RSPEAK(49)\r
-       JSR     RSPEAK\r
-       JA      .+4\r
-       JA      #LIT+105\r
-/      VERB=0\r
-       FCLA\r
-       FSTA    VERB\r
-/      OBJ=0\r
-       FSTA    OBJ\r
-/      CALL GETIN(WD1,WD1A,WD1X,WD2,WD2A,WD2X)\r
-       JSR     GETIN\r
-       JA      .+12\r
-       JA      WD1\r
-       JA      WD1X\r
-       JA      WD2\r
-       JA      WD2X\r
-/      IF(WD1.NE.'YE'.AND.WD1.NE.'Y')GOTO 2608\r
-       FLDA    WD1\r
-       FSUB    TYES\r
-       JEQ     OKKILL\r
-       FLDA    WD1\r
-       FSUB    TYE\r
-       JEQ     OKKILL\r
-       FLDA    WD1\r
-       FSUB    TY\r
-       JNE     #2608\r
-/      CALL PSPEAK(DRAGON,1)\r
-OKKILL,        JSR     PSPEAK\r
-       JA      .+6\r
-       JA      DRAGON\r
-       JA      ONE\r
-/      PROP(DRAGON)=2\r
-       FLDA    DRAGON\r
-       ATX     7\r
-       FLDA    TWO\r
-       FSTA    PROP-3,7\r
-/      PROP(RUG)=0\r
-       FLDA    RUG\r
-       ATX     7\r
-       FCLA\r
-       FSTA    PROP-3,7\r
-/      K=(PLAC(DRAGON)+FIXD(DRAGON))/2\r
-       FLDA    DRAGON\r
-       ATX     7\r
-       FLDA    PLAC-3,7\r
-       FADD    FIXD-3,7\r
-       FDIV    TWO\r
-       JSA     #FIX\r
-       FSTA    K\r
-/      CALL MOVE(DRAGON+100,-1)\r
-       FLDA    DRAGON\r
-       FADD    #LIT+154\r
-       FSTA    #TMP\r
-       JSR     MOVE\r
-       JA      .+6\r
-       JA      #TMP\r
-       JA      MINUS1\r
-/      CALL MOVE(RUG+100,0)\r
-       FLDA    RUG\r
-       FADD    #LIT+154\r
-       FSTA    #TMP\r
-       JSR     MOVE\r
-       JA      .+6\r
-       JA      #TMP\r
-       JA      ZERO\r
-/      CALL MOVE(DRAGON,K)\r
-       JSR     MOVE\r
-       JA      .+6\r
-       JA      DRAGON\r
-       JA      K\r
-/      CALL MOVE(RUG,K)\r
-       JSR     MOVE\r
-       JA      .+6\r
-       JA      RUG\r
-       JA      K\r
-/      DO 9126 OBJ=1,100\r
-       FLDA    ONE\r
-       FSTA    OBJ\r
-\r
-/      IF(PLACE(OBJ).EQ.PLAC(DRAGON).OR.PLACE(OBJ).EQ.FIXD(DRAGON))\r
-/      1       CALL MOVE(OBJ,K)\r
-#H0122,        FLDA    OBJ\r
-       ATX     7\r
-       FLDA    DRAGON\r
-       ATX     6\r
-       FLDA    PLACE-3,7\r
-       FSUB    PLAC-3,6\r
-       JEQ     .+10\r
-       FLDA    PLACE-3,7\r
-       FSUB    FIXD-3,6\r
-       JNE     #9126\r
-       JSR     MOVE\r
-       JA      .+6\r
-       JA      OBJ\r
-       JA      K\r
-/9126   CONTINUE\r
-#9126, FLDA    OBJ\r
-       FADD    ONE\r
-       FSTA    OBJ\r
-       FSUB    #LIT+154\r
-       JLE     #H0122\r
-/      LOC=K\r
-       FLDA    K\r
-       FSTA    LOC\r
-/      K=NULL\r
-       FLDA    NULL\r
-       FSTA    K\r
-/      GOTO 8\r
-       JA      #8\r
-\r
-/C\r
-/C POUR. IF NO OBJECT, OR OBJECT IS BOTTLE, ASSUME CONTENTS OF BOTTLE.\r
-/C SPECIAL TESTS FOR POURING WATER OR OIL ON PLANT OR RUSTY DOOR.\r
-/C\r
-/9130   IF(OBJ.EQ.BOTTLE.OR.OBJ.EQ.0)OBJ=LIQ(0)\r
-#9130, FLDA    OBJ\r
-       FSUB    BOTTLE\r
-       JEQ     .+6\r
-       FLDA    OBJ\r
-       JNE     .+6\r
-       JSA     LIQ\r
-       FSTA    OBJ\r
-/      IF(OBJ.EQ.0)GOTO 8000\r
-       FLDA    OBJ\r
-       JEQ     #8000\r
-/      IF(.NOT.TOTING(OBJ))GOTO 2011\r
-       FLDA    OBJ\r
-       JSA     TOTING\r
-       JEQ     #2011\r
-/      SPK=78\r
-       DECIMAL\r
-               LDX     78,0\r
-       OCTAL\r
-       XTA     0\r
-       FSTA    SPK\r
-/      IF(OBJ.NE.OIL.AND.OBJ.NE.WATER)GOTO 2011\r
-       FLDA    OBJ\r
-       FSUB    OIL\r
-       JEQ     .+10\r
-       FLDA    OBJ\r
-       FSUB    WATER\r
-       JNE     #2011\r
-/      PROP(BOTTLE)=1\r
-       FLDA    BOTTLE\r
-       ATX     7\r
-       FLDA    ONE\r
-       FSTA    PROP-3,7\r
-/      PLACE(OBJ)=0\r
-       FLDA    OBJ\r
-       ATX     7\r
-       FCLA\r
-       FSTA    PLACE-3,7\r
-/      SPK=77\r
-       DECIMAL\r
-               LDX     77,0\r
-       OCTAL\r
-       XTA     0\r
-       FSTA    SPK\r
-/      IF(.NOT.(AT(PLANT).OR.AT(DOOR)))GOTO 2011\r
-       FLDA    PLANT\r
-       JSA     AT\r
-       JNE     .+10\r
-       FLDA    DOOR\r
-       JSA     AT\r
-       JEQ     #2011\r
-/C\r
-/      IF(AT(DOOR))GOTO 9132\r
-       FLDA    DOOR\r
-       JSA     AT\r
-       JNE     #9132\r
-/      SPK=112\r
-       DECIMAL\r
-               LDX     112,0\r
-       OCTAL\r
-       XTA     0\r
-       FSTA    SPK\r
-/      IF(OBJ.NE.WATER)GOTO 2011\r
-       FLDA    OBJ\r
-       FSUB    WATER\r
-       JNE     #2011\r
-/      CALL PSPEAK(PLANT,PROP(PLANT)+1)\r
-       FLDA    PLANT\r
-       JSA     RDPROP\r
-       FADD    ONE\r
-       FSTA    #TMP\r
-       JSR     PSPEAK\r
-       JA      .+6\r
-       JA      PLANT\r
-       JA      #TMP\r
-/      PROP(PLANT)=MOD(PROP(PLANT)+2,6)\r
-       FLDA    PLANT\r
-       JSA     RDPROP\r
-       FADD    TWO\r
-       FSTA    #TMP\r
-       JSR     MOD\r
-       JA      .+6\r
-       JA      #TMP\r
-       JA      #LIT+6\r
-       FSTA    PROP-3,7\r
-/      PROP(PLANT2)=PROP(PLANT)/2\r
-       FLDA    PLANT2\r
-       ATX     7\r
-       FLDA    PLANT\r
-       JSA     RDPROP\r
-       FDIV    TWO\r
-       JSA     #FIX\r
-       FSTA    PROP-3,6\r
-/      K=NULL\r
-       FLDA    NULL\r
-       FSTA    K\r
-/      GOTO 8\r
-       JA      #8\r
-\r
-/C\r
-/9132   PROP(DOOR)=0\r
-#9132, FLDA    DOOR\r
-       ATX     7\r
-       FCLA\r
-       FSTA    PROP-3,7\r
-/      IF(OBJ.EQ.OIL)PROP(DOOR)=1\r
-       FLDA    OBJ\r
-       FSUB    OIL\r
-       JNE     .+10\r
-       FLDA    DOOR\r
-       ATX     7\r
-       FLDA    ONE\r
-       FSTA    PROP-3,7\r
-/      SPK=113+PROP(DOOR)\r
-       FLDA    DOOR\r
-       ATX     7\r
-       DECIMAL\r
-               LDX     113,0\r
-       OCTAL\r
-       XTA     0\r
-       FADD    PROP-3,7\r
-       FSTA    SPK\r
-/      GOTO 2011\r
-       JA      #2011\r
-\r
-/C\r
-/C EAT. INTRANSITIVE: ASSUME FOOD IF PRESENT, ELSE ASK WHAT. TRANSITIVE: FOOD\r
-/C OK, SOME THINGS LOSE APPETITE, REST ARE RIDICULOUS.\r
-/C\r
-/8140   IF(.NOT.HERE(FOOD))GOTO 8000\r
-#8140, FLDA    FOOD\r
-       JSA     HERE\r
-       JEQ     #8000\r
-\r
-/8142   CALL DSTROY(FOOD)\r
-#8142, FLDA    FOOD\r
-       JSA     DSTROY\r
-/      SPK=72\r
-       DECIMAL\r
-               LDX     72,0\r
-       OCTAL\r
-       XTA     0\r
-       FSTA    SPK\r
-/      GOTO 2011\r
-       JA      #2011\r
-/C\r
-/9140   IF(OBJ.EQ.FOOD)GOTO 8142\r
-#9140, FLDA    OBJ\r
-       FSUB    FOOD\r
-       JEQ     #8142\r
-/      IF(OBJ.EQ.BIRD.OR.OBJ.EQ.SNAKE.OR.OBJ.EQ.CLAM.OR.OBJ.EQ.OYSTER\r
-/      1       .OR.OBJ.EQ.DWARF.OR.OBJ.EQ.DRAGON.OR.OBJ.EQ.TROLL\r
-/      2       .OR.OBJ.EQ.BEAR)SPK=71\r
-       FLDA    OBJ\r
-       FSUB    BIRD\r
-       JEQ     #M78\r
-       FLDA    OBJ\r
-       FSUB    SNAKE\r
-       JEQ     #M78\r
-       FLDA    OBJ\r
-       FSUB    CLAM\r
-       JEQ     #M78\r
-       FLDA    OBJ\r
-       FSUB    OYSTER\r
-       JEQ     #M78\r
-       FLDA    OBJ\r
-       FSUB    DWARF\r
-       JEQ     #M78\r
-       FLDA    OBJ\r
-       FSUB    DRAGON\r
-       JEQ     #M78\r
-       FLDA    OBJ\r
-       FSUB    TROLL\r
-       JEQ     #M78\r
-       FLDA    OBJ\r
-       FSUB    BEAR\r
-       JNE     #2011\r
-#M78,  DECIMAL\r
-               LDX     71,0\r
-       OCTAL\r
-       XTA     0\r
-       FSTA    SPK\r
-/      GOTO 2011\r
-       JA      #2011\r
-\r
-/C\r
-/C DRINK. IF NO OBJECT, ASSUME WATER AND LOOK FOR IT HERE. IF WATER IS IN\r
-/C THE BOTTLE, DRINK THAT, ELSE MUST BE AT A WATER LOC, SO DRINK STREAM.\r
-/C\r
-/9150   IF(OBJ.EQ.0.AND.LIQLOC(LOC).NE.WATER.AND.(LIQ(0).NE.WATER\r
-/      1       .OR..NOT.HERE(BOTTLE)))GOTO 8000\r
-#9150, FLDA    OBJ\r
-       JNE     #M79\r
-       JSA     LIQLOC\r
-       FSUB    WATER\r
-       JEQ     #M79\r
-       JSA     LIQ\r
-       FSUB    WATER\r
-       JNE     #8000\r
-       FLDA    BOTTLE\r
-       JSA     HERE\r
-       JEQ     #8000\r
-/      IF(OBJ.NE.0.AND.OBJ.NE.WATER)SPK=110\r
-#M79,  FLDA    OBJ\r
-       JEQ     .+10\r
-/      FLDA    OBJ\r
-       FSUB    WATER\r
-       JEQ     .+4\r
-       FLDA    #LIT+162\r
-       FSTA    SPK\r
-/      IF(SPK.EQ.110.OR.LIQ(0).NE.WATER.OR..NOT.HERE(BOTTLE))GOTO 2011\r
-       FLDA    SPK\r
-       FSUB    #LIT+162\r
-       JEQ     #2011\r
-       JSA     LIQ\r
-       FSUB    WATER\r
-       JNE     #2011\r
-       FLDA    BOTTLE\r
-       JSA     HERE\r
-       JEQ     #2011\r
-/      PROP(BOTTLE)=1\r
-       FLDA    ONE\r
-       FSTA    PROP-3,3\r
-/      PLACE(WATER)=0\r
-       FLDA    WATER\r
-       ATX     7\r
-       FCLA\r
-       FSTA    PLACE-3,7\r
-/      SPK=74\r
-       DECIMAL\r
-               LDX     74,0\r
-       OCTAL\r
-       XTA     0\r
-       FSTA    SPK\r
-/      GOTO 2011\r
-       JA      #2011\r
-\r
-/C\r
-/C RUB. YIELDS VARIOUS SNIDE REMARKS.\r
-/C\r
-/9160   IF(OBJ.NE.LAMP)SPK=76\r
-#9160, FLDA    OBJ\r
-       FSUB    LAMP\r
-       JEQ     #2011\r
-       DECIMAL\r
-               LDX     76,0\r
-       OCTAL\r
-       XTA     0\r
-       FSTA    SPK\r
-/      GOTO 2011\r
-       JA      #2011\r
-\r
-/C\r
-/C THROW. SAME AS DISCARD UNLESS AXE. THEN SAME AS ATTACK EXCEPT IGNORE BIRD,\r
-/C AND IF DWARF IS PRESENT THEN ONE MIGHT BE KILLED. (ONLY WAY TO DO SO!)\r
-/C AXE ALSO SPECIAL FOR DRAGON, BEAR, AND TROLL. TREASURES SPECIAL FOR TROLL.\r
-/C\r
-/9170   IF(TOTING(ROD2).AND.OBJ.EQ.ROD.AND..NOT.TOTING(ROD))OBJ=ROD2\r
-#9170, FLDA    ROD2\r
-       JSA     TOTING\r
-       JEQ     #M81\r
-       FLDA    OBJ\r
-       FSUB    ROD\r
-       JNE     #M81\r
-       FLDA    ROD\r
-       JSA     TOTING\r
-       JNE     #M81\r
-       FLDA    ROD2\r
-       FSTA    OBJ\r
-/      IF(.NOT.TOTING(OBJ))GOTO 2011\r
-#M81,  FLDA    OBJ\r
-       JSA     TOTING\r
-       JEQ     #2011\r
-/      IF(OBJ.GE.50.AND.OBJ.LE.MAXTRS.AND.AT(TROLL))GOTO 9178\r
-       FLDA    OBJ\r
-       FSUB    #LIT+110\r
-       JLT     #M82\r
-       FLDA    OBJ\r
-       FSUB    MAXTRS\r
-       JGT     #M82\r
-       FLDA    TROLL\r
-       JSA     AT\r
-       JNE     #9178\r
-/      IF(OBJ.EQ.FOOD.AND.HERE(BEAR))GOTO 9177\r
-#M82,  FLDA    OBJ\r
-       FSUB    FOOD\r
-       JNE     #M83\r
-       FLDA    BEAR\r
-       JSA     HERE\r
-       JNE     #9177\r
-/      IF(OBJ.NE.AXE)GOTO 9020\r
-#M83,  FLDA    OBJ\r
-       FSUB    AXE\r
-       JNE     #9020\r
-/      DO 9171 I=1,5\r
-       FLDA    ONE\r
-       FSTA    I\r
-\r
-/C\r
-/C NEEDN'T CHECK DFLAG IF AXE IS HERE.\r
-/C\r
-/      IF(DLOC(I).EQ.LOC)GOTO 9172\r
-#H0132,        FLDA    I\r
-       ATX     7\r
-       FLDA    DLOC-3,7\r
-       FSUB    LOC\r
-       JEQ     #9172\r
-\r
-/9171   CONTINUE\r
-#9171, FLDA    I\r
-       FADD    ONE\r
-       FSTA    I\r
-       FSUB    #LIT+3\r
-       JLE     #H0132\r
-/      SPK=152\r
-       DECIMAL\r
-               LDX     152,0\r
-       OCTAL\r
-       XTA     0\r
-       FSTA    SPK\r
-/      IF(AT(DRAGON).AND.PROP(DRAGON).EQ.0)GOTO 9175\r
-       FLDA    DRAGON\r
-       JSA     AT\r
-       JEQ     #M84\r
-/      FLDA    DRAGON\r
-/      ATX     3\r
-       FLDA    PROP-3,3\r
-       JEQ     #9175\r
-/      SPK=158\r
-#M84,  DECIMAL\r
-               LDX     158,0\r
-       OCTAL\r
-       XTA     0\r
-       FSTA    SPK\r
-/      IF(AT(TROLL))GOTO 9175\r
-       FLDA    TROLL\r
-       JSA     AT\r
-       JNE     #9175\r
-/      IF(HERE(BEAR).AND.PROP(BEAR).EQ.0)GOTO 9176\r
-       FLDA    BEAR\r
-       JSA     HERE\r
-       JEQ     #M85\r
-       FLDA    PROP-3,3\r
-       JEQ     #9176\r
-/      OBJ=0\r
-#M85,  FCLA\r
-       FSTA    OBJ\r
-/      GOTO 9120\r
-       JA      #9120\r
-\r
-/C\r
-/9172   SPK=48\r
-#9172, DECIMAL\r
-               LDX     48,0\r
-       OCTAL\r
-       XTA     0\r
-       FSTA    SPK\r
-/      IF(RND(3).EQ.0)GOTO 9175\r
-       JSR     RND\r
-       JA      .+4\r
-       JA      THREE\r
-       JEQ     #9175\r
-/      DSEEN(I)=.FALSE.\r
-       FLDA    I\r
-       ATX     7\r
-       FCLA\r
-       FSTA    DSEEN-3,7\r
-/      DLOC(I)=0\r
-       FSTA    DLOC-3,7\r
-/      SPK=47\r
-       DECIMAL\r
-               LDX     47,0\r
-       OCTAL\r
-       XTA     0\r
-       FSTA    SPK\r
-/      DKILL=DKILL+1\r
-       FLDA    ONE\r
-       FADDM   DKILL\r
-/      IF(DKILL.EQ.1)SPK=149\r
-       FSUB    ONE\r
-       JNE     #9175\r
-       DECIMAL\r
-               LDX     149,0\r
-       OCTAL\r
-       XTA     0\r
-       FSTA    SPK\r
-/9175   CALL RSPEAK(SPK)\r
-#9175, JSR     RSPEAK\r
-       JA      .+4\r
-       JA      SPK\r
-/      CALL DROP(AXE,LOC)\r
-       JSR     DROP\r
-       JA      .+6\r
-       JA      AXE\r
-       JA      LOC\r
-/      K=NULL\r
-       FLDA    NULL\r
-       FSTA    K\r
-/      GOTO 8\r
-       JA      #8\r
-\r
-/C\r
-/C THIS'LL TEACH HIM TO THROW THE AXE AT THE BEAR!\r
-/C\r
-/9176   SPK=164\r
-#9176, DECIMAL\r
-               LDX     164,0\r
-       OCTAL\r
-       XTA     0\r
-       FSTA    SPK\r
-/      CALL DROP(AXE,LOC)\r
-       JSR     DROP\r
-       JA      .+6\r
-       JA      AXE\r
-       JA      LOC\r
-/      FIXED(AXE)=-1\r
-       FLDA    AXE\r
-       ATX     7\r
-       FLDA    MINUS1\r
-       FSTA    FIXED-3,7\r
-/      PROP(AXE)=1\r
-       FLDA    ONE\r
-       FSTA    PROP-3,7\r
-/      CALL JUGGLE(BEAR)\r
-       FLDA    BEAR\r
-       JSA     JUGGLE\r
-/      GOTO 2011\r
-       JA      #2011\r
-\r
-/C\r
-/C BUT THROWING FOOD IS ANOTHER STORY.\r
-/C\r
-/9177   OBJ=BEAR\r
-#9177, FLDA    BEAR\r
-       FSTA    OBJ\r
-/      GOTO 9210\r
-       JA      #9210\r
-\r
-/C\r
-/C SNARF A TREASURE FOR THE TROLL.\r
-/C\r
-/9178   SPK=159\r
-#9178, DECIMAL\r
-               LDX     159,0\r
-       OCTAL\r
-       XTA     0\r
-       FSTA    SPK\r
-/      CALL DROP(OBJ,0)\r
-       JSR     DROP\r
-       JA      .+6\r
-       JA      OBJ\r
-       JA      ZERO\r
-/      CALL MOVE(TROLL,0)\r
-       JSR     MOVE\r
-       JA      .+6\r
-       JA      TROLL\r
-       JA      ZERO\r
-/      CALL MOVE(TROLL+100,0)\r
-       FLDA    TROLL\r
-       FADD    #LIT+154\r
-       FSTA    #TMP\r
-       JSR     MOVE\r
-       JA      .+6\r
-       JA      #TMP\r
-       JA      ZERO\r
-/      CALL DROP(TROLL2,PLAC(TROLL))\r
-       FLDA    TROLL\r
-       ATX     7\r
-       FLDA    PLAC-3,7\r
-       FSTA    #TMP\r
-       JSR     DROP\r
-       JA      .+6\r
-       JA      TROLL2\r
-       JA      #TMP\r
-/      CALL DROP(TROLL2+100,FIXD(TROLL))\r
-       FLDA    TROLL2\r
-       FADD    #LIT+154\r
-       FSTA    #TMP\r
-/      FLDA    TROLL\r
-/      ATX     7\r
-       FLDA    FIXD-3,7\r
-       FSTA    #TMP+3\r
-       JSR     DROP\r
-       JA      .+6\r
-       JA      #TMP\r
-       JA      #TMP+3\r
-/      CALL JUGGLE(CHASM)\r
-       FLDA    CHASM\r
-       JSA     JUGGLE\r
-/      GOTO 2011\r
-       JA      #2011\r
-\r
-/C\r
-/C QUIT. INTRANSITIVE ONLY. VERIFY INTENT AND EXIT IF THAT'S WHAT HE WANTS.\r
-/C\r
-/8180   GAVEUP=YES(22,54,54)\r
-#8180, JSR     YES\r
-       JA      .+10\r
-       JA      #LIT+41\r
-       JA      #LIT+113\r
-       JA      #LIT+113\r
-       FSTA    GAVEUP\r
-\r
-/8185   IF(GAVEUP)GOTO 20000\r
-#8185, FLDA    GAVEUP\r
-       JNE     #20000\r
-/      GOTO 2012\r
-       JA      #2012\r
-/C\r
-/C FIND. MIGHT BE CARRYING IT, OR IT MIGHT BE HERE. ELSE GIVE CAVEAT.\r
-/C\r
-/9190   IF(AT(OBJ).OR.(LIQ(0).EQ.OBJ.AND.AT(BOTTLE))\r
-/      1       .OR.K.EQ.LIQLOC(LOC))SPK=94\r
-#9190, FLDA    OBJ\r
-       JSA     AT\r
-       JNE     #M86\r
-       JSA     LIQ\r
-       FSUB    OBJ\r
-       JNE     #M87\r
-       FLDA    BOTTLE\r
-       JSA     AT\r
-       JNE     #M86\r
-#M87,  JSA     LIQLOC\r
-       FSUB    K\r
-       JNE     .+6\r
-#M86,  DECIMAL\r
-               LDX     94,0\r
-       OCTAL\r
-       XTA     0\r
-       FSTA    SPK\r
-/      DO 9192 I=1,5\r
-       FLDA    ONE\r
-       FSTA    I\r
-/9192   IF(DLOC(I).EQ.LOC.AND.DFLAG.GE.2.AND.OBJ.EQ.DWARF)SPK=94\r
-#9192, FLDA    I\r
-       ATX     7\r
-       FLDA    DLOC-3,7\r
-       FSUB    LOC\r
-       JNE     #M88\r
-       FLDA    DFLAG\r
-       FSUB    TWO\r
-       JLT     #M88\r
-       FLDA    OBJ\r
-       FSUB    DWARF\r
-       JNE     #M88\r
-       DECIMAL\r
-               LDX     94,0\r
-       OCTAL\r
-       XTA     0\r
-       FSTA    SPK\r
-#M88,  FLDA    I\r
-       FADD    ONE\r
-       FSTA    I\r
-       FSUB    #LIT+3\r
-       JLE     #9192\r
-/      IF(CLOSED)SPK=138\r
-       FLDA    CLOSED\r
-       JEQ     .+6\r
-       DECIMAL\r
-               LDX     138,0\r
-       OCTAL\r
-       XTA     0\r
-       FSTA    SPK\r
-/      IF(TOTING(OBJ))SPK=24\r
-       FLDA    OBJ\r
-       JSA     TOTING\r
-       JEQ     #2011\r
-       FLDA    #LIT+47\r
-       FSTA    SPK\r
-/      GOTO 2011\r
-       JA      #2011\r
-\r
-/C\r
-/C INVENTORY. IF OBJECT, TREAT SAME AS FIND. ELSE REPORT ON CURRENT BURDEN.\r
-/C\r
-/8200   SPK=98\r
-#8200, DECIMAL\r
-               LDX     98,0\r
-       OCTAL\r
-       XTA     0\r
-       FSTA    SPK\r
-/      DO 8201 I=1,100\r
-       FLDA    ONE\r
-       FSTA    I\r
-\r
-/      IF(I.EQ.BEAR.OR..NOT.TOTING(I))GOTO 8201\r
-#H0143,        FLDA    I\r
-       FSUB    BEAR\r
-       JEQ     #8201\r
-       FLDA    I\r
-       JSA     TOTING\r
-       JEQ     #8201\r
-/      IF(SPK.EQ.98)CALL RSPEAK(99)\r
-       DECIMAL\r
-               LDX     98,0\r
-       OCTAL\r
-       XTA     0\r
-       FSUB    SPK\r
-       JNE     .+10\r
-       JSR     RSPEAK\r
-       JA      .+4\r
-       JA      #LIT+151\r
-/      CALL PSPEAK(I,-1)\r
-       JSR     PSPEAK\r
-       JA      .+6\r
-       JA      I\r
-       JA      MINUS1\r
-/      SPK=0\r
-       FCLA\r
-       FSTA    SPK\r
-\r
-/8201   CONTINUE\r
-#8201, FLDA    I\r
-       FADD    ONE\r
-       FSTA    I\r
-       FSUB    #LIT+154\r
-       JLE     #H0143\r
-/      IF(TOTING(BEAR))SPK=141\r
-       FLDA    BEAR\r
-       JSA     TOTING\r
-       JEQ     #2011\r
-       FLDA    #LIT+226\r
-       FSTA    SPK\r
-/      GOTO 2011\r
-       JA      #2011\r
-\r
-/C\r
-/C FEED. IF BIRD, NO SEED. SNAKE, DRAGON, TROLL: QUIP. IF DWARF, MAKE HIM\r
-/C MAD. BEAR, SPECIAL.\r
-/C\r
-/9210   IF(OBJ.NE.BIRD)GOTO 9212\r
-#9210, FLDA    OBJ\r
-       FSUB    BIRD\r
-       JNE     #9212\r
-/      SPK=100\r
-       FLDA    #LIT+154\r
-       FSTA    SPK\r
-/      GOTO 2011\r
-       JA      #2011\r
-\r
-/C\r
-/9212   IF(OBJ.NE.SNAKE.AND.OBJ.NE.DRAGON.AND.OBJ.NE.TROLL)GOTO 9213\r
-#9212, FLDA    OBJ\r
-       FSUB    SNAKE\r
-       JEQ     #M89\r
-       FLDA    OBJ\r
-       FSUB    DRAGON\r
-       JEQ     #M89\r
-       FLDA    OBJ\r
-       FSUB    TROLL\r
-       JNE     #9213\r
-/      SPK=102\r
-#M89,  DECIMAL\r
-               LDX     102,0\r
-       OCTAL\r
-       XTA     0\r
-       FSTA    SPK\r
-/      IF(OBJ.EQ.DRAGON.AND.PROP(DRAGON).NE.0)SPK=110\r
-       FLDA    OBJ\r
-       FSUB    DRAGON\r
-       JNE     #M90\r
-       FLDA    DRAGON\r
-       JSA     RDPROP\r
-       JEQ     .+4\r
-       FLDA    #LIT+162\r
-       FSTA    SPK\r
-/      IF(OBJ.EQ.TROLL)SPK=182\r
-#M90,  FLDA    OBJ\r
-       FSUB    TROLL\r
-       JNE     .+6\r
-       DECIMAL\r
-               LDX     182,0\r
-       OCTAL\r
-       XTA     0\r
-       FSTA    SPK\r
-/      IF(OBJ.NE.SNAKE.OR.CLOSED.OR..NOT.HERE(BIRD))GOTO 2011\r
-       FLDA    OBJ\r
-       FSUB    SNAKE\r
-       JNE     #2011\r
-       FLDA    CLOSED\r
-       JNE     #2011\r
-       FLDA    BIRD\r
-       JSA     HERE\r
-       JEQ     #2011\r
-/      SPK=101\r
-       DECIMAL\r
-               LDX     101,0\r
-       OCTAL\r
-       XTA     0\r
-       FSTA    SPK\r
-/      CALL DSTROY(BIRD)\r
-       FLDA    BIRD\r
-       JSA     DSTROY\r
-/      PROP(BIRD)=0\r
-       FLDA    BIRD\r
-       ATX     7\r
-       FCLA\r
-       FSTA    PROP-3,7\r
-/      TALLY2=TALLY2+1\r
-       FLDA    TALLY2\r
-       FADD    ONE\r
-       FSTA    TALLY2\r
-/      GOTO 2011\r
-       JA      #2011\r
-\r
-/C\r
-/9213   IF(OBJ.NE.DWARF)GOTO 9214\r
-#9213, FLDA    OBJ\r
-       FSUB    DWARF\r
-       JNE     #9214\r
-/      IF(.NOT.HERE(FOOD))GOTO 2011\r
-       FLDA    FOOD\r
-       JSA     HERE\r
-       JEQ     #2011\r
-/      SPK=103\r
-       DECIMAL\r
-               LDX     103,0\r
-       OCTAL\r
-       XTA     0\r
-       FSTA    SPK\r
-/      DFLAG=DFLAG+1\r
-       FLDA    ONE\r
-       FADDM   DFLAG\r
-/      GOTO 2011\r
-       JA      #2011\r
-\r
-/C\r
-/9214   IF(OBJ.NE.BEAR)GOTO 9215\r
-#9214, FLDA    OBJ\r
-       FSUB    BEAR\r
-       JNE     #9215\r
-/      IF(PROP(BEAR).EQ.0)SPK=102\r
-       FLDA    BEAR\r
-       JSA     RDPROP\r
-       JNE     .+6\r
-       DECIMAL\r
-               LDX     102,0\r
-       OCTAL\r
-       XTA     0\r
-       FSTA    SPK\r
-/      IF(PROP(BEAR).EQ.3)SPK=110\r
-       FLDA    PROP-3,7\r
-       FSUB    THREE\r
-       JNE     .+4\r
-       FLDA    #LIT+162\r
-       FSTA    SPK\r
-/      IF(.NOT.HERE(FOOD))GOTO 2011\r
-       FLDA    FOOD\r
-       JSA     HERE\r
-       JEQ     #2011\r
-/      CALL DSTROY(FOOD)\r
-       FLDA    FOOD\r
-       JSA     DSTROY\r
-/      PROP(BEAR)=1\r
-       FLDA    ONE\r
-       FSTA    PROP-3,7\r
-/      FIXED(AXE)=0\r
-       FLDA    AXE\r
-       ATX     7\r
-       FCLA\r
-       FSTA    FIXED-3,7\r
-/      PROP(AXE)=0\r
-       FSTA    PROP-3,7\r
-/      SPK=168\r
-       DECIMAL\r
-               LDX     168,0\r
-       OCTAL\r
-       XTA     0\r
-       FSTA    SPK\r
-/      GOTO 2011\r
-       JA      #2011\r
-\r
-/C\r
-/9215   SPK=14\r
-#9215, DECIMAL\r
-               LDX     14,0\r
-       OCTAL\r
-       XTA     0\r
-       FSTA    SPK\r
-/      GOTO 2011\r
-       JA      #2011\r
-\r
-/C\r
-/C FILL. BOTTLE MUST BE EMPTY, AND SOME LIQUID AVAILABLE. (VASE IS NASTY.)\r
-/C\r
-/9220   IF(OBJ.EQ.VASE)GOTO 9222\r
-#9220, FLDA    OBJ\r
-       FSUB    VASE\r
-       JEQ     #9222\r
-/      IF(OBJ.NE.0.AND.OBJ.NE.BOTTLE)GOTO 2011\r
-       FLDA    OBJ\r
-       JEQ     #M91\r
-       FLDA    OBJ\r
-       FSUB    BOTTLE\r
-       JNE     #2011\r
-/      IF(OBJ.EQ.0.AND..NOT.HERE(BOTTLE))GOTO 8000\r
-#M91,  FLDA    OBJ\r
-       JNE     #M92\r
-       FLDA    BOTTLE\r
-       JSA     HERE\r
-       JEQ     #8000\r
-/      SPK=107\r
-#M92,  DECIMAL\r
-               LDX     107,0\r
-       OCTAL\r
-       XTA     0\r
-       FSTA    SPK\r
-/      IF(LIQLOC(LOC).EQ.0)SPK=106\r
-       JSA     LIQLOC\r
-       JNE     #M92A\r
-       DECIMAL\r
-               LDX     106,0\r
-       OCTAL\r
-       XTA     0\r
-       FSTA    SPK\r
-/      IF(LIQ(0).NE.0)SPK=105\r
-#M92A, JSA     LIQ\r
-       JEQ     .+4\r
-       FLDA    #LIT+157\r
-       FSTA    SPK\r
-/      IF(SPK.NE.107)GOTO 2011\r
-       DECIMAL\r
-               LDX     107,0\r
-       OCTAL\r
-       XTA     0\r
-       FSUB    SPK\r
-       JNE     #2011\r
-/       PROP(BOTTLE)=MOD(COND(LOC),4)/2*2\r
-       FLDA    BOTTLE\r
-       ATX     7\r
-       FLDA    LOC\r
-       ATX     6\r
-       FLDA    COND-3,6\r
-       FSTA    #TMP\r
-       JSR     MOD\r
-       JA      .+6\r
-       JA      #TMP\r
-       JA      #LIT\r
-       FDIV    TWO\r
-       JSA     #FIX\r
-       FMUL    TWO\r
-       FSTA    PROP-3,7\r
-/      K=LIQ(0)\r
-       JSA     LIQ\r
-       FSTA    K\r
-/      IF(TOTING(BOTTLE))PLACE(K)=-1\r
-       FLDA    BOTTLE\r
-       JSA     TOTING\r
-       JEQ     .+10\r
-       FLDA    K\r
-       ATX     7\r
-       FLDA    MINUS1\r
-       FSTA    PLACE-3,7\r
-/      IF(K.EQ.OIL)SPK=108\r
-       FLDA    K\r
-       FSUB    OIL\r
-       JNE     #2011\r
-       DECIMAL\r
-               LDX     108,0\r
-       OCTAL\r
-       XTA     0\r
-       FSTA    SPK\r
-/      GOTO 2011\r
-       JA      #2011\r
-\r
-/C\r
-/9222   SPK=29\r
-#9222, FLDA    #LIT+135\r
-       FSTA    SPK\r
-/      IF(LIQLOC(LOC).EQ.0)SPK=144\r
-       JSA     LIQLOC\r
-       JNE     .+6\r
-       DECIMAL\r
-               LDX     144,0\r
-       OCTAL\r
-       XTA     0\r
-       FSTA    SPK\r
-/      IF(LIQLOC(LOC).EQ.0.OR..NOT.TOTING(VASE))GOTO 2011\r
-       JSA     LIQLOC\r
-       JEQ     #2011\r
-       FLDA    VASE\r
-       JSA     TOTING\r
-       JEQ     #2011\r
-/      CALL RSPEAK(145)\r
-       JSR     RSPEAK\r
-       JA      .+4\r
-       JA      #LIT+234\r
-/      PROP(VASE)=2\r
-       FLDA    VASE\r
-       ATX     7\r
-       FLDA    TWO\r
-       FSTA    PROP-3,7\r
-/      FIXED(VASE)=-1\r
-       FLDA    MINUS1\r
-       FSTA    FIXED-3,7\r
-/      GOTO 9024\r
-       JA      #9024\r
-\r
-/C\r
-/C BLAST. NO EFFECT UNLESS YOU'VE GOT DYNAMITE, WHICH IS A NEAT TRICK!\r
-/C\r
-/9230   IF(PROP(ROD2).LT.0.OR..NOT.CLOSED)GOTO 2011\r
-#9230, FLDA    ROD2\r
-       JSA     RDPROP\r
-       JLT     #2011\r
-       FLDA    CLOSED\r
-       JEQ     #2011\r
-/      BONUS=133\r
-       DECIMAL\r
-               LDX     133,0\r
-       OCTAL\r
-       XTA     0\r
-       FSTA    BONUS\r
-/      IF(LOC.EQ.115)BONUS=134\r
-       FLDA    LOC\r
-       FSUB    #LIT+165\r
-       JNE     .+7\r
-       DECIMAL\r
-               LDX     134,0\r
-       OCTAL\r
-       XTA     0\r
-       FSTA    BONUS\r
-/      IF(HERE(ROD2))BONUS=135\r
-       FLDA    ROD2\r
-       JSA     HERE\r
-       JEQ     .+7\r
-       DECIMAL\r
-               LDX     135,0\r
-       OCTAL\r
-       XTA     0\r
-       FSTA    BONUS\r
-/      CALL RSPEAK(BONUS)\r
-       JSR     RSPEAK\r
-       JA      .+4\r
-       JA      BONUS\r
-/      GOTO 20000\r
-       JA      #20000\r
-\r
-/C\r
-/C SCORE. GO TO SCORING SECTION, WHICH WILL RETURN TO 8241 IF SCORNG IS TRUE.\r
-/C\r
-/8240   SCORNG=.TRUE.\r
-#8240, FLDA    ONE\r
-       FSTA    SCORNG\r
-/      GOTO 20000\r
-       JA      #20000\r
-\r
-/C\r
-/8241   SCORNG=.FALSE.\r
-#8241, FCLA\r
-       FSTA    SCORNG\r
-/      TYPE 8243,SCORE,MXSCOR\r
-       JSA     SPRINT\r
-       JA      #8243\r
-       JA      TWO\r
-       \r
-       TRAP3   #WRITO\r
-       JA      #LIT\r
-       JA      #8243A\r
-       FLDA    SCORE\r
-       TRAP3   #RSVO\r
-       TRAP3   #RENDO\r
-\r
-       JSA     SPRINT\r
-       JA      #8243B\r
-       JA      THREE\r
-\r
-       TRAP3   #WRITO\r
-       JA      #LIT\r
-       JA      #8243A\r
-       FLDA    MXSCOR\r
-       TRAP3   #RSVO\r
-       TRAP3   #RENDO\r
-\r
-       JSA     SPRINT\r
-       JA      #8243C\r
-       JA      ONE\r
-\r
-/8243   FORMAT(' If you were to quit now, you would score',I4\r
-/      1       ,' out of a possible',I4,'.')\r
-/      GAVEUP=YES(143,54,54)\r
-       JSR     YES\r
-       JA      .+10\r
-       JA      #LIT+231\r
-       JA      #LIT+113\r
-       JA      #LIT+113\r
-       FSTA    GAVEUP\r
-/      GOTO 8185\r
-       JA      #8185\r
-\r
-/C\r
-/C FEE FIE FOE FOO (AND FUM). ADVANCE TO NEXT STATE IF GIVEN IN PROPER ORDER.\r
-/C LOOK UP WD1 IN SECTION 3 OF VOCAB TO DETERMINE WHICH WORD WE'VE GOT. LAST\r
-/C WORD ZIPS THE EGGS BACK TO THE GIANT ROOM (UNLESS ALREADY THERE).\r
-/C\r
-/8250   CALL VOCAB(WD1,WD1A,3,K)\r
-#8250, JSR     VOCAB\r
-       JA      .+6\r
-       JA      WD1\r
-       JA      THREE\r
-       FSTA    K\r
-/      SPK=42\r
-       DECIMAL\r
-               LDX     42,0\r
-       OCTAL\r
-       XTA     0\r
-       FSTA    SPK\r
-/      IF(FOOBAR.EQ.1-K)GOTO 8252\r
-       FLDA    ONE\r
-       FSUB    K\r
-       FSUB    FOOBAR\r
-       JEQ     #8252\r
-/      IF(FOOBAR.NE.0)SPK=151\r
-       FLDA    FOOBAR\r
-       JEQ     #2011\r
-       DECIMAL\r
-               LDX     151,0\r
-       OCTAL\r
-       XTA     0\r
-       FSTA    SPK\r
-/      GOTO 2011\r
-       JA      #2011\r
-\r
-/C\r
-/8252   FOOBAR=K\r
-#8252, FLDA    K\r
-       FSTA    FOOBAR\r
-/      IF(K.NE.4)GOTO 2009\r
-       FSUB    #LIT\r
-       JNE     #2009\r
-/      FOOBAR=0\r
-       FCLA\r
-       FSTA    FOOBAR\r
-/      IF(PLACE(EGGS).EQ.PLAC(EGGS)\r
-/      1       .OR.(TOTING(EGGS).AND.LOC.EQ.PLAC(EGGS)))GOTO 2011\r
-       FLDA    EGGS\r
-       ATX     7\r
-       FLDA    PLACE-3,7\r
-       FSUB    PLAC-3,7\r
-       JEQ     #2011\r
-       FLDA    EGGS\r
-       JSA     TOTING\r
-       JEQ     #M93\r
-       FLDA    LOC\r
-       FSUB    PLAC-3,7\r
-       JEQ     #2011\r
-/C\r
-/C BRING BACK TROLL IF WE STEAL THE EGGS BACK FROM HIM BEFORE CROSSING.\r
-/C\r
-/      IF(PLACE(EGGS).EQ.0.AND.PLACE(TROLL).EQ.0.AND.PROP(TROLL).EQ.0)\r
-/      1       PROP(TROLL)=1\r
-#M93,  FLDA    PLACE-3,7\r
-       JNE     #M94\r
-       FLDA    TROLL\r
-       ATX     6\r
-       FLDA    PLACE-3,6\r
-       JNE     #M94\r
-       FLDA    PROP-3,6\r
-       JNE     #M94\r
-       FLDA    ONE\r
-       FSTA    PROP-3,6\r
-/      K=2\r
-#M94,  FLDA    TWO\r
-       FSTA    K\r
-/      IF(HERE(EGGS))K=1\r
-       FLDA    EGGS\r
-       JSA     HERE\r
-       JEQ     .+5\r
-       FLDA    ONE\r
-       FSTA    K\r
-/      IF(LOC.EQ.PLAC(EGGS))K=0\r
-       FLDA    LOC\r
-       FSUB    PLAC-3,7\r
-       JNE     .+5\r
-       FCLA\r
-       FSTA    K\r
-/      CALL MOVE(EGGS,PLAC(EGGS))\r
-       FLDA    PLAC-3,7\r
-       FSTA    #TMP\r
-       JSR     MOVE\r
-       JA      .+6\r
-       JA      EGGS\r
-       JA      #TMP\r
-/      CALL PSPEAK(EGGS,K)\r
-       JSR     PSPEAK\r
-       JA      .+6\r
-       JA      EGGS\r
-       JA      K\r
-/      GOTO 2012\r
-       JA      #2012\r
-\r
-/C\r
-/C BRIEF. INTRANSITIVE ONLY. SUPPRESS LONG DESCRIPTIONS AFTER FIRST TIME.\r
-/C\r
-/8260   SPK=156\r
-#8260, DECIMAL\r
-               LDX     156,0\r
-       OCTAL\r
-       XTA     0\r
-       FSTA    SPK\r
-/      ABBNUM=10000\r
-       FLDA    #LIT+322\r
-       FSTA    ABBNUM\r
-/      DETAIL=3\r
-       FLDA    THREE\r
-       FSTA    DETAIL\r
-/      GOTO 2011\r
-       JA      #2011\r
-\r
-/C\r
-/C READ. MAGAZINES IN DWARVISH, MESSAGE WE'VE SEEN, AND . . . OYSTER?\r
-/C\r
-/8270   IF(HERE(MAGZIN))OBJ=MAGZIN\r
-#8270, FLDA    MAGZIN\r
-       JSA     HERE\r
-       JEQ     .+6\r
-       FLDA    MAGZIN\r
-       FSTA    OBJ\r
-/      IF(HERE(TABLET))OBJ=OBJ*100+TABLET\r
-       FLDA    TABLET\r
-       JSA     HERE\r
-       JEQ     .+11\r
-       FLDA    OBJ\r
-       FMUL    #LIT+154\r
-       FADD    TABLET\r
-       FSTA    OBJ\r
-/      IF(HERE(MESSAG))OBJ=OBJ*100+MESSAG\r
-       FLDA    MESSAGE\r
-       JSA     HERE\r
-       JEQ     .+11\r
-       FLDA    OBJ\r
-       FMUL    #LIT+154\r
-       FADD    MESSAG\r
-       FSTA    OBJ\r
-/      IF(CLOSED.AND.TOTING(OYSTER))OBJ=OYSTER\r
-       FLDA    OYSTER\r
-       JSA     TOTING\r
-       FMUL    CLOSED\r
-       JEQ     .+6\r
-       FLDA    OYSTER\r
-       FSTA    OBJ\r
-/      IF(OBJ.GT.100.OR.OBJ.EQ.0.OR.DARK(0))GOTO 8000\r
-       FLDA    OBJ\r
-       FSUB    #LIT+154\r
-       JGT     #8000\r
-       FLDA    OBJ\r
-       JEQ     #8000\r
-       JSA     DARK\r
-       JNE     #8000\r
-\r
-/C\r
-/9270   IF(DARK(0))GOTO 5190\r
-#9270, JSA     DARK\r
-       JNE     #5190\r
-/      IF(OBJ.EQ.MAGZIN)SPK=190\r
-       FLDA    OBJ\r
-       FSUB    MAGZIN\r
-       JNE     .+6\r
-       DECIMAL\r
-               LDX     190,0\r
-       OCTAL\r
-       XTA     0\r
-       FSTA    SPK\r
-/      IF(OBJ.EQ.TABLET)SPK=196\r
-       FLDA    OBJ\r
-       FSUB    TABLET\r
-       JNE     .+6\r
-       DECIMAL\r
-               LDX     196,0\r
-       OCTAL\r
-       XTA     0\r
-       FSTA    SPK\r
-/      IF(OBJ.EQ.MESSAG)SPK=191\r
-       FLDA    OBJ\r
-       FSUB    MESSAG\r
-       JNE     .+6\r
-       DECIMAL\r
-               LDX     191,0\r
-       OCTAL\r
-       XTA     0\r
-       FSTA    SPK\r
-/      IF(OBJ.EQ.OYSTER.AND.HINTED(2).AND.TOTING(OYSTER))SPK=194\r
-       FLDA    OBJ\r
-       FSUB    OYSTER\r
-       JNE     #M95\r
-       FLDA    HINTED+3        / HINTED(2)\r
-       JEQ     #M95\r
-       FLDA    OYSTER\r
-       JSA     TOTING\r
-       JEQ     .+6\r
-       DECIMAL\r
-               LDX     194,0\r
-       OCTAL\r
-       XTA     0\r
-       FSTA    SPK\r
-/      IF(OBJ.NE.OYSTER.OR.HINTED(2).OR..NOT.TOTING(OYSTER)\r
-/      1       .OR..NOT.CLOSED)GOTO 2011\r
-#M95,  FLDA    OBJ\r
-       FSUB    OYSTER\r
-       JNE     #2011\r
-       FLDA    HINTED+3\r
-       JNE     #2011\r
-       FLDA    OYSTER\r
-       JSA     TOTING\r
-       JEQ     #2011\r
-       FLDA    CLOSED\r
-       JEQ     #2011\r
-/      HINTED(2)=YES(192,193,54)\r
-       JSR     YES\r
-       JA      #2012\r
-       JA      #LIT+267\r
-       JA      #LIT+272\r
-       JA      #LIT+113\r
-       FSTA    HINTED+3                /HINTED(2)\r
-/      GOTO 2012\r
-/      JA      #2012\r
-\r
-/C\r
-/C BREAK. ONLY WORKS FOR MIRROR IN REPOSITORY AND, OF COURSE, THE VASE.\r
-/C\r
-/9280   IF(OBJ.EQ.MIRROR)SPK=148\r
-#9280, FLDA    OBJ\r
-       FSUB    MIRROR\r
-       JNE     .+6\r
-       DECIMAL\r
-               LDX     148,0\r
-       OCTAL\r
-       XTA     0\r
-       FSTA    SPK\r
-/      IF(OBJ.EQ.VASE.AND.PROP(VASE).EQ.0)GOTO 9282\r
-       FLDA    OBJ\r
-       FSUB    VASE\r
-       JNE     #M96\r
-       FLDA    VASE\r
-       JSA     RDPROP\r
-       JEQ     #9282\r
-/      IF(OBJ.NE.MIRROR.OR..NOT.CLOSED)GOTO 2011\r
-#M96,  FLDA    OBJ\r
-       FSUB    MIRROR\r
-       JNE     #2011\r
-       FLDA    CLOSED\r
-       JEQ     #2011\r
-/      CALL RSPEAK(197)\r
-       JSR     RSPEAK\r
-/      GOTO 19000\r
-       JA      #19000\r
-       JA      #LIT+275\r
-\r
-/C\r
-/9282   SPK=198\r
-#9282, DECIMAL\r
-               LDX     198,0\r
-       OCTAL\r
-       XTA     0\r
-       FSTA    SPK\r
-/      IF(TOTING(VASE))CALL DROP(VASE,LOC)\r
-       FLDA    VASE\r
-       JSA     TOTING\r
-       JEQ     .+12\r
-       JSR     DROP\r
-       JA      .+6\r
-       JA      VASE\r
-       JA      LOC\r
-/      PROP(VASE)=2\r
-       FLDA    TWO\r
-       FSTA    PROP-3,3\r
-/      FIXED(VASE)=-1\r
-       FLDA    MINUS1\r
-       FSTA    FIXED-3,3\r
-/      GOTO 2011\r
-       JA      #2011\r
-\r
-/C\r
-/C WAKE. ONLY USE IS TO DISTURB THE DWARVES.\r
-/C\r
-/9290   IF(OBJ.NE.DWARF.OR..NOT.CLOSED)GOTO 2011\r
-#9290, FLDA    OBJ\r
-       FSUB    DWARF\r
-       JNE     #2011\r
-       FLDA    CLOSED\r
-       JEQ     #2011\r
-/      CALL RSPEAK(199)\r
-       JSR     RSPEAK\r
-/      GOTO 19000\r
-       JA      #19000\r
-       JA      #LIT+300\r
-\r
-/C\r
-/C SUSPEND. SAVE THE WORLD.\r
-/C\r
-/8300   CALL SAVEGM(.TRUE.,I)\r
-/      GOTO 2012\r
-#8300, JSR     SAVEGM\r
-       JA      #2012\r
-       JA      ONE\r
-       JA      I\r
-\r
-/C\r
-/C HOURS. JUST A JOKE.\r
-/C\r
-/8310   CALL RSPEAK(201)\r
-#8310, JSR     RSPEAK\r
-/      GOTO 2012\r
-       JA      #2012\r
-       JA      #LIT+303\r
-\r
-/C\r
-/C RESUME. RESTORE THE WORLD.\r
-/C\r
-/8320   CALL RSTRGM(.TRUE.,I)\r
-/      GO TO 2012\r
-\r
-#8320, JSR RSTRGM\r
-       JA      #2012\r
-       JA      ONE\r
-       JA      I\r
-\r
-\r
-/C HINTS\r
-/C\r
-/C COME HERE IF HE'S BEEN LONG ENOUGH AT REQUIRED LOC(S) FOR SOME UNUSED HINT.\r
-/C HINT NUMBER IS IN VARIABLE "HINT". BRANCH TO QUICK TEST FOR ADDITIONAL\r
-/C CONDITIONS, THEN COME BACK TO DO NEAT STUFF. GOTO 40010 IF CONDITIONS ARE\r
-/C MET AND WE WANT TO OFFER THE HINT. GOTO 40020 TO CLEAR HINTLC BACK TO ZERO,\r
-/C 40030 TO TAKE NO ACTION YET.\r
-/C\r
-/40000  GOTO (40400,40500,40600,40700,40800,40900)(HINT-3)\r
-/C            CAVE  BIRD  SNAKE MAZE  DARK  WITT\r
-#40000,        FLDA    HINT\r
-       FSUB    THREE\r
-       ATX     1\r
-       STARTD\r
-       FLDA    .+2,1\r
-       STARTF\r
-       JAC\r
-       JA      #40400\r
-       JA      #40500\r
-       JA      #40600\r
-       JA      #40700\r
-       JA      #40800\r
-       JA      #40010\r
-/      CALL BUG(27)\r
-       JSR     BUG\r
-       JA      .+4\r
-       JA      #LIT+60\r
-/C\r
-/40010  HINTLC(HINT)=0\r
-#40010,        FLDA    HINT\r
-       ATX     7\r
-       FCLA\r
-       FSTA    HINTLC-3,7\r
-/      IF(.NOT.YES(HINTS(HINT,3),0,54))GOTO 2602\r
-       FLDA    #LIT+330        / 60 (index 3)\r
-       FADD    HINT            / hint,3\r
-       ATX     7\r
-       FLDA    HINTS-77,7\r
-       FSTA    #TMP\r
-       JSR     YES\r
-       JA      .+10\r
-       JA      #TMP\r
-       JA      ZERO\r
-       JA      #LIT+113\r
-       JEQ     #2602\r
-/      TYPE 40012,HINTS(HINT,2)\r
-       JSA     SPRINT\r
-       JA      #40012\r
-       JA      TWO\r
-\r
-       TRAP3   #WRITO\r
-       JA      #LIT\r
-       JA      #4001A\r
-       FLDA    #LIT+77         / 40\r
-       FADD    HINT            / HINT, 2\r
-       ATX     7\r
-       FLDA    HINTS-77,7\r
-       TRAP3   #RSVO\r
-       TRAP3   #RENDO\r
-\r
-       JSA     SPRINT\r
-       JA      #4001B\r
-       JA      ONE\r
-/40012  FORMAT(' I am prepared to give you a hint, but it will cost you',\r
-/      1       I2,' points.')\r
-\r
-/      HINTED(HINT)=YES(175,HINTS(HINT,4),54)\r
-       FLDA    HINT\r
-       ATX     6\r
-       FADD    #LIT+325        / 80: HINT,4\r
-       ATX     7\r
-       FLDA    HINTS-77,7\r
-       FSTA    #TMP\r
-       JSR     YES\r
-       JA      .+10\r
-       JA      #LIT+250\r
-       JA      #TMP\r
-       JA      #LIT+113\r
-       FSTA    HINTED-3,6\r
-/      IF(HINTED(HINT).AND.LIMIT.GT.30)LIMIT=LIMIT+30*HINTS(HINT,2)\r
-       JEQ     #40020\r
-       FLDA    LIMIT\r
-       FSUB    #LIT+63\r
-       JLE     #40020\r
-       FLDA    #LIT+77         /80\r
-       FADD    HINT            /HINT,2\r
-       ATX     6\r
-       FLDA    #LIT+63\r
-       FMUL    HINTS-77,6\r
-       FADD    LIMIT\r
-       FSTA    LIMIT\r
-/40020  HINTLC(HINT)=0\r
-#40020,        FLDA    HINT\r
-       ATX     7\r
-       FCLA\r
-       FSTA    HINTLC-3,7\r
-/40030  GOTO 2602\r
-#40030,        JA      #2602\r
-\r
-/C\r
-/C NOW FOR THE QUICK TESTS. SEE DATABASE DESCRIPTION FOR ONE-LINE NOTES.\r
-/C\r
-/40400  IF(PROP(GRATE).EQ.0.AND..NOT.HERE(KEYS))GOTO 40010\r
-#40400,        FLDA    GRATE\r
-       JSA     RDPROP\r
-       JNE     #40020\r
-       FLDA    KEYS\r
-       JSA     HERE\r
-       JEQ     #40010\r
-/      GOTO 40020\r
-       JA      #40020\r
-\r
-/40500  IF(HERE(BIRD).AND.TOTING(ROD).AND.OBJ.EQ.BIRD)GOTO 40010\r
-#40500,        FLDA    BIRD\r
-       JSA     HERE\r
-       JEQ     #2602\r
-       FLDA    ROD\r
-       JSA     TOTING\r
-       JEQ     #2602\r
-       FLDA    OBJ\r
-       JEQ     #40010\r
-       FSUB    BIRD\r
-       JEQ     #40010\r
-/      GOTO 40030\r
-       JA      #2602\r
-\r
-/C\r
-/40600  IF(HERE(SNAKE).AND..NOT.HERE(BIRD))GOTO 40010\r
-#40600,        FLDA    SNAKE\r
-       JSA     HERE\r
-       JEQ     #40020\r
-       FLDA    BIRD\r
-       JSA     HERE\r
-       JEQ     #40010\r
-/      GOTO 40020\r
-       JA      #40020\r
-\r
-/C\r
-/40700  IF(ATLOC(LOC).EQ.0.AND.ATLOC(OLDLOC).EQ.0\r
-/      1       .AND.ATLOC(OLDLC2).EQ.0.AND.HOLDNG.GT.1)GOTO 40010\r
-#40700,        FLDA    LOC\r
-       ATX     7\r
-       FLDA    ATLOC-3,7\r
-       JNE     #40020\r
-       FLDA    OLDLOC\r
-       ATX     6\r
-       FLDA    ATLOC-3,6\r
-       JNE     #40020\r
-       FLDA    OLDLC2\r
-       ATX     5\r
-       FLDA    ATLOC-3,5\r
-       JNE     #40020\r
-       FLDA    HOLDNG\r
-       FSUB    ONE\r
-       JGT     #40010\r
-/      GOTO 40020\r
-       JA      #40020\r
-\r
-/C\r
-/40800  IF(PROP(EMRALD).NE.-1.AND.PROP(PYRAM).EQ.-1)GOTO 40010\r
-/      GOTO 40020\r
-#40800,        FLDA    EMRALD\r
-       ATX     7\r
-       FLDA    MINUS1\r
-       FSUB    PROP-3,7\r
-       JEQ     #40020\r
-       FLDA    PYRAM\r
-       ATX     6\r
-       FLDA    MINUS1\r
-       FSUB    PROP-3,6\r
-       JEQ     #40010\r
-/      GOTO 40020\r
-       JA      #40020\r
-/C\r
-/40900 JA      #40010\r
-/#40900        JA      40010\r
-\r
-/C CAVE CLOSING AND SCORING\r
-/C\r
-/C\r
-/C THESE SECTIONS HANDLE THE CLOSING OF THE CAVE. THE CAVE CLOSES "CLOCK1"\r
-/C TURNS AFTER THE LAST TREASURE HAS BEEN LOCATED (INCLUDING THE PIRATE'S\r
-/C CHEST, WHICH MAY OF COURSE NEVER SHOW UP). NOTE THAT THE TREASURES NEED NOT\r
-/C HAVE BEEN TAKEN YET, JUST LOCATED. HENCE CLOCK1 MUST BE LARGE ENOUGH TO GET\r
-/C OUT OF THE CAVE (IT ONLY TICKS WHILE INSIDE THE CAVE). WHEN IT HITS ZERO,\r
-/C WE BRANCH TO 10000 TO START CLOSING THE CAVE, AND THEN SIT BACK AND WAIT FOR\r
-/C HIM TO TRY TO GET OUT. IF HE DOESN'T WITHIN CLOCK2 TURNS, WE CLOSE THE\r
-/C CAVE; IF HE DOES TRY, WE ASSUME HE PANICS, AND GIVE HIM A FEW ADDITIONAL\r
-/C TURNS TO GET FRANTIC BEFORE WE CLOSE. WHEN CLOCK2 HITS ZERO, WE BRANCH TO\r
-/C 11000 TO TRANSPORT HIM INTO THE FINAL PUZZLE. NOTE THAT THE PUZZLE DEPENDS\r
-/C UPON ALL SORTS OF RANDOM THINGS. FOR INSTANCE, THERE MUST BE NO WATER OR\r
-/C OIL, SINCE THERE ARE BEANSTALKS WHICH WE DON'T WANT TO BE ABLE TO WATER,\r
-/C SINCE THE CODE CAN'T HANDLE IT. ALSO, WE CAN HAVE NO KEYS, SINCE THERE IS A\r
-/C GRATE (HAVING MOVED THE FIXED OBJECT!) THERE SEPARATING HIM FROM ALL THE\r
-/C TREASURES. MOST OF THESE PROBLEMS ARISE FROM THE USE OF NEGATIVE PROP\r
-/C NUMBERS TO SUPPRESS THE OBJECT DESCRIPTIONS UNTIL HE'S ACTUALLY MOVED THE\r
-/C OBJECTS.\r
-/C\r
-/C WHEN THE FIRST WARNING COMES, WE LOCK THE GRATE, DESTROY THE BRIDGE, KILL\r
-/C ALL THE DWARVES (AND THE PIRATE), REMOVE THE TROLL AND BEAR (UNLESS DEAD),\r
-/C AND SET "CLOSNG" TO TRUE. LEAVE THE DRAGON; TOO MUCH TROUBLE TO MOVE IT.\r
-/C FROM NOW UNTIL CLOCK2 RUNS OUT, HE CANNOT UNLOCK THE GRATE, MOVE TO ANY\r
-/C LOCATION OUTSIDE THE CAVE (LOC<9), OR CREATE THE BRIDGE. NOR CAN HE BE\r
-/C RESURRECTED IF HE DIES. NOTE THAT THE SNAKE IS ALREADY GONE, SINCE HE GOT\r
-/C TO THE TREASURE ACCESSIBLE ONLY VIA THE HALL OF THE MT. KING. ALSO, HE'S\r
-/C BEEN IN GIANT ROOM (TO GET EGGS), SO WE CAN REFER TO IT. ALSO ALSO, HE'S\r
-/C GOTTEN THE PEARL, SO WE KNOW THE BIVALVE IS AN OYSTER. *AND*, THE DWARVES\r
-/C MUST HAVE BEEN ACTIVATED, SINCE WE'VE FOUND CHEST.\r
-/C\r
-/10000  PROP(GRATE)=0\r
-#10000,        FLDA    GRATE\r
-       ATX     7\r
-       FCLA\r
-       FSTA    PROP-3,7\r
-/      PROP(FISSUR)=0\r
-       FLDA    FISSUR\r
-       ATX     7\r
-       FCLA\r
-       FSTA    PROP-3,7\r
-/      DO 10010 I=1,6\r
-       FLDA    ONE\r
-       FSTA    I\r
-\r
-/      DSEEN(I)=.FALSE.\r
-#H0204,        FLDA    I\r
-       ATX     7\r
-       FCLA\r
-       FSTA    DSEEN-3,7\r
-/10010  DLOC(I)=0\r
-/#10010,       FLDA    I\r
-/      ATX     7\r
-/      FCLA\r
-       FSTA    DLOC-3,7\r
-       FLDA    I\r
-       FADD    ONE\r
-       FSTA    I\r
-       FSUB    #LIT+6\r
-       JLE     #H0204\r
-/      CALL MOVE(TROLL,0)\r
-       JSR     MOVE\r
-       JA      .+6\r
-       JA      TROLL\r
-       JA      ZERO\r
-/      CALL MOVE(TROLL+100,0)\r
-       FLDA    TROLL\r
-       ATX     7\r
-       FADD    #LIT+154\r
-       FSTA    #TMP\r
-       JSR     MOVE\r
-       JA      .+6\r
-       JA      #TMP\r
-       JA      ZERO\r
-/      CALL MOVE(TROLL2,PLAC(TROLL))\r
-/      FLDA    TROLL\r
-/      ATX     7\r
-       FLDA    PLAC-3,7\r
-       FSTA    #TMP\r
-       JSR     MOVE\r
-       JA      .+6\r
-       JA      TROLL2\r
-       JA      #TMP\r
-/      CALL MOVE(TROLL2+100,FIXD(TROLL))\r
-       FLDA    TROLL2\r
-       FADD    #LIT+154\r
-       FSTA    #TMP\r
-/      FLDA    TROLL\r
-/      ATX     7\r
-       FLDA    FIXD-3,7\r
-       FSTA    #TMP+3\r
-       JSR     MOVE\r
-       JA      .+6\r
-       JA      #TMP\r
-       JA      #TMP+3\r
-/      CALL JUGGLE(CHASM)\r
-       FLDA    CHASM\r
-       JSA     JUGGLE\r
-/      IF(PROP(BEAR).NE.3)CALL DSTROY(BEAR)\r
-       FLDA    BEAR\r
-       JSA     RDPROP\r
-       FSUB    THREE\r
-       JEQ     .+6\r
-       FLDA    BEAR\r
-       JSA     DSTROY\r
-/      PROP(CHAIN)=0\r
-       FLDA    CHAIN\r
-       ATX     7\r
-       FCLA\r
-       FSTA    PROP-3,7\r
-/      FIXED(CHAIN)=0\r
-/      PROP(AXE)=0\r
-       FLDA    AXE\r
-       ATX     7\r
-       FCLA\r
-       FSTA    PROP-3,7\r
-/      FIXED(AXE)=0\r
-       FSTA    FIXED-3,7\r
-/      CALL RSPEAK(129)\r
-       JSR     RSPEAK\r
-       JA      .+4\r
-       JA      #LIT+204\r
-/      CLOCK1=-1\r
-       FLDA    MINUS1\r
-       FSTA    CLOCK1\r
-/      CLOSNG=.TRUE.\r
-       FLDA    ONE\r
-       FSTA    CLOSNG\r
-/      GOTO 19999\r
-       JA      #19999\r
-\r
-/C\r
-/C ONCE HE'S PANICKED, AND CLOCK2 HAS RUN OUT, WE COME HERE TO SET UP THE\r
-/C STORAGE ROOM. THE ROOM HAS TWO LOCS, HARDWIRED AS 115 (NE) AND 116 (SW).\r
-/C AT THE NE END, WE PLACE EMPTY BOTTLES, A NURSERY OF PLANTS, A BED OF\r
-/C OYSTERS, A PILE OF LAMPS, RODS WITH STARS, SLEEPING DWARVES, AND HIM. AND\r
-/C THE SW END WE PLACE GRATE OVER TREASURES, SNAKE PIT, COVEY OF CAGED BIRDS,\r
-/C MORE RODS, AND PILLOWS. A MIRROR STRETCHES ACROSS ONE WALL. MANY OF THE\r
-/C OBJECTS COME FROM KNOWN LOCATIONS AND/OR STATES (E.G. THE SNAKE IS KNOWN TO\r
-/C HAVE BEEN DESTROYED AND NEEDN'T BE CARRIED AWAY FROM ITS OLD "PLACE"),\r
-/C MAKING THE VARIOUS OBJECTS BE HANDLED DIFFERENTLY. WE ALSO DROP ALL OTHER\r
-/C OBJECTS HE MIGHT BE CARRYING (LEST HE HAVE SOME WHICH COULD CAUSE TROUBLE,\r
-/C SUCH AS THE KEYS). WE DESCRIBE THE FLASH OF LIGHT AND TRUNDLE BACK.\r
-/C\r
-/11000  PROP(BOTTLE)=PUT(BOTTLE,115,1)\r
-#11000,        FLDA    BOTTLE\r
-       ATX     7\r
-       JSR     PUT\r
-       JA      .+10\r
-       JA      BOTTLE\r
-       JA      #LIT+165\r
-       JA      ONE\r
-       FSTA    PROP-3,7\r
-/      PROP(PLANT)=PUT(PLANT,115,0)\r
-       FLDA    PLANT\r
-       ATX     7\r
-       JSR     PUT\r
-       JA      .+10\r
-       JA      PLANT\r
-       JA      #LIT+165\r
-       JA      ZERO\r
-       FSTA    PROP-3,7\r
-/      PROP(OYSTER)=PUT(OYSTER,115,0)\r
-       FLDA    OYSTER\r
-       ATX     7\r
-       JSR     PUT\r
-       JA      .+10\r
-       JA      OYSTER\r
-       JA      #LIT+165\r
-       JA      ZERO\r
-       FSTA    PROP-3,7\r
-/      PROP(LAMP)=PUT(LAMP,115,0)\r
-       FLDA    LAMP\r
-       ATX     7\r
-       JSR     PUT\r
-       JA      .+10\r
-       JA      LAMP\r
-       JA      #LIT+165\r
-       JA      ZERO\r
-       FSTA    PROP-3,7\r
-/      PROP(ROD)=PUT(ROD,115,0)\r
-       FLDA    ROD\r
-       ATX     7\r
-       JSR     PUT\r
-       JA      .+10\r
-       JA      ROD\r
-       JA      #LIT+165\r
-       JA      ZERO\r
-       FSTA    PROP-3,7\r
-/      PROP(DWARF)=PUT(DWARF,115,0)\r
-       FLDA    DWARF\r
-       ATX     7\r
-       JSR     PUT\r
-       JA      .+10\r
-       JA      DWARF\r
-       JA      #LIT+165\r
-       JA      ZERO\r
-       FSTA    PROP-3,7\r
-/      LOC=115\r
-/      OLDLOC=115\r
-/      NEWLOC=115\r
-       FLDA    #LIT+165\r
-       FSTA    LOC\r
-       FSTA    OLDLOC\r
-       FSTA    NEWLOC\r
-/C\r
-/C LEAVE THE GRATE WITH NORMAL (NON-NEGATIVE PROPERTY).\r
-/C\r
-/      I=PUT(GRATE,116,0)\r
-       JSR     PUT\r
-       JA      .+10\r
-       JA      GRATE\r
-       JA      #LIT+170\r
-       JA      ZERO\r
-       FSTA    I\r
-/      PROP(SNAKE)=PUT(SNAKE,116,1)\r
-       FLDA    SNAKE\r
-       ATX     7\r
-       JSR     PUT\r
-       JA      .+10\r
-       JA      SNAKE\r
-       JA      #LIT+170\r
-       JA      ONE\r
-       FSTA    PROP-3,7\r
-/      PROP(BIRD)=PUT(BIRD,116,1)\r
-       FLDA    BIRD\r
-       ATX     7\r
-       JSR     PUT\r
-       JA      .+10\r
-       JA      BIRD\r
-       JA      #LIT+170\r
-       JA      ONE\r
-       FSTA    PROP-3,7\r
-/      PROP(CAGE)=PUT(CAGE,116,0)\r
-       FLDA    CAGE\r
-       ATX     7\r
-       JSR     PUT\r
-       JA      .+10\r
-       JA      CAGE\r
-       JA      #LIT+170\r
-       JA      ZERO\r
-       FSTA    PROP-3,7\r
-/      PROP(ROD2)=PUT(ROD2,116,0)\r
-       FLDA    ROD2\r
-       ATX     7\r
-       JSR     PUT\r
-       JA      .+10\r
-       JA      ROD2\r
-       JA      #LIT+170\r
-       JA      ZERO\r
-       FSTA    PROP-3,7\r
-/      PROP(PILLOW)=PUT(PILLOW,116,0)\r
-       FLDA    PILLOW\r
-       ATX     7\r
-       JSR     PUT\r
-       JA      .+10\r
-       JA      PILLOW\r
-       JA      #LIT+170\r
-       JA      ZERO\r
-       FSTA    PROP-3,7\r
-/C\r
-/      PROP(MIRROR)=PUT(MIRROR,115,0)\r
-       FLDA    MIRROR\r
-       ATX     7\r
-       JSR     PUT\r
-       JA      .+10\r
-       JA      MIRROR\r
-       JA      #LIT+165\r
-       JA      ZERO\r
-       FSTA    PROP-3,7\r
-/      FIXED(MIRROR)=116\r
-       FLDA    #LIT+170\r
-       FSTA    FIXED-3,7\r
-/C\r
-/      DO 11010 I=1,100\r
-       FLDA    ONE\r
-       FSTA    I\r
-\r
-/11010  IF(TOTING(I))CALL DSTROY(I)\r
-#11010,        FLDA    I\r
-       JSA     TOTING\r
-       JEQ     .+6\r
-       FLDA    I\r
-       JSA     DSTROY\r
-       FLDA    I\r
-       FADD    ONE\r
-       FSTA    I\r
-       FSUB    #LIT+154\r
-       JLE     #11010\r
-/C\r
-/      CALL RSPEAK(132)\r
-       JSR     RSPEAK\r
-       JA      .+4\r
-       JA      #LIT+215\r
-/      CLOSED=.TRUE.\r
-       FLDA    ONE\r
-       FSTA    CLOSED\r
-/      GOTO 2\r
-       JA      #2\r
-\r
-/C\r
-/C ANOTHER WAY WE CAN FORCE AN END TO THINGS IS BY HAVING THE LAMP GIVE OUT.\r
-/C WHEN IT GETS CLOSE, WE COME HERE TO WARN HIM. WE GO TO 12000 IF THE LAMP\r
-/C AND FRESH BATTERIES ARE HERE, IN WHICH CASE WE REPLACE THE BATTERIES AND\r
-/C CONTINUE. 12200 IS FOR OTHER CASES OF LAMP DYING.12400 IS WHEN IT GOES\r
-/C OUT, AND 12600 IS IF HE'S WANDERED OUTSIDE AND THE LAMP IS USED UP, IN WHICH\r
-/C CASE WE FORCE HIM TO GIVE UP.\r
-/C\r
-/12000  CALL RSPEAK(188)\r
-#12000,        JSR     RSPEAK\r
-       JA      .+4\r
-       JA      #LIT+264\r
-/      PROP(BATTER)=1\r
-       FLDA    BATTER\r
-       ATX     7\r
-       FLDA    ONE\r
-       FSTA    PROP-3,7\r
-/      IF(TOTING(BATTER))CALL DROP(BATTER,LOC)\r
-       FLDA    BATTER\r
-       JSA     TOTING\r
-       JEQ     .+12\r
-       JSR     DROP\r
-       JA      .+6\r
-       JA      BATTER\r
-       JA      LOC\r
-/      LIMIT=LIMIT+2500\r
-       FLDA    #LIT+317\r
-       FADDM   LIMIT\r
-/      LMWARN=.FALSE.\r
-       FCLA\r
-       FSTA    LMWARN\r
-/      GOTO 19999\r
-       JA      #19999\r
-\r
-/C\r
-/12200  IF(LMWARN.OR..NOT.HERE(LAMP))GOTO 19999\r
-#12200,        FLDA    LAMP\r
-       JSA     HERE\r
-       JEQ     #19999\r
-       FLDA    LMWARN\r
-       JNE     #19999\r
-/      LMWARN=.TRUE.\r
-       FLDA    ONE\r
-       FSTA    LMWARN\r
-/      SPK=187\r
-       DECIMAL\r
-               LDX     187,0\r
-       OCTAL\r
-       XTA     0\r
-       FSTA    SPK\r
-/      IF(PLACE(BATTER).EQ.0)SPK=183\r
-       FLDA    BATTER\r
-       ATX     7\r
-       FLDA    PLACE-3,7\r
-       JNE     .+6\r
-       DECIMAL\r
-               LDX     183,0\r
-       OCTAL\r
-       XTA     0\r
-       FSTA    SPK\r
-/      IF(PROP(BATTER).EQ.1)SPK=189\r
-       FLDA    PROP-3,7\r
-       FSUB    ONE\r
-       JNE     .+6\r
-       DECIMAL\r
-               LDX     189,0\r
-       OCTAL\r
-       XTA     0\r
-       FSTA    SPK\r
-/      CALL RSPEAK(SPK)\r
-#H0214,        JSR     RSPEAK\r
-       JA      #19999\r
-       JA      SPK\r
-/      GOTO 19999\r
-\r
-/C\r
-/12400  LIMIT=-1\r
-#12400,        FLDA    MINUS1\r
-       FSTA    LIMIT\r
-/      PROP(LAMP)=0\r
-       FLDA    LAMP\r
-       ATX     7\r
-       FCLA\r
-       FSTA    PROP-3,7\r
-/      IF(HERE(LAMP))CALL RSPEAK(184)\r
-       FLDA    LAMP\r
-       JSA     HERE\r
-/      GOTO 19999\r
-       JEQ     #19999\r
-       JSR     RSPEAK\r
-       JA      #19999\r
-       JA      #LIT+253\r
-\r
-/C\r
-/12600  CALL RSPEAK(185)\r
-#12600,        JSR     RSPEAK\r
-       JA      .+4\r
-       JA      #LIT+256\r
-/      GAVEUP=.TRUE.\r
-       FLDA    ONE\r
-       FSTA    GAVEUP\r
-/      GOTO 20000\r
-       JA      #20000\r
-\r
-/C\r
-/C\r
-/C OH DEAR, HE'S DISTURBED THE DWARVES.\r
-/C\r
-/19000  CALL RSPEAK(136)\r
-#19000,        JSR     RSPEAK\r
-       JA      .+4\r
-       JA      #LIT+220\r
-\r
-/C\r
-/C EXIT CODE. WILL EVENTUALLY INCLUDE SCORING. FOR NOW, HOWEVER, ...\r
-/C\r
-/C THE PRESENT SCORING ALGORITHM IS AS FOLLOWS:\r
-/C     OBJECTIVE:          POINTS:        PRESENT TOTAL POSSIBLE:\r
-/C  GETTING WELL INTO CAVE   25                    25\r
-/C  EACH TREASURE < CHEST    12                    60\r
-/C  TREASURE CHEST ITSELF    14                    14\r
-/C  EACH TREASURE > CHEST    16                   144\r
-/C  SURVIVING             (MAX-NUM)*10             30\r
-/C  NOT QUITTING              4                     4\r
-/C  REACHING "CLOSNG"        25                    25\r
-/C  "CLOSED": QUIT/KILLED    10\r
-/C            KLUTZED        25\r
-/C            WRONG WAY      30\r
-/C            SUCCESS        45                    45\r
-/C  CAME TO WITT'S END        1                     1\r
-/C  ROUND OUT THE TOTAL       2                     2\r
-/C                                       TOTAL:   350\r
-/20000  SCORE=0\r
-#20000,        FCLA\r
-       FSTA    SCORE\r
-/      MXSCOR=0\r
-       FSTA    MXSCOR\r
-/C\r
-/C FIRST TALLY UP THE TREASURES. MUST BE IN BUILDING AND NOT BROKEN.\r
-/C GIVE THE POOR GUY 2 POINTS JUST FOR FINDING EACH TREASURE.\r
-/C\r
-/      DO 20010 I=50,MAXTRS\r
-       FLDA    #LIT+110\r
-       FSTA    I\r
-\r
-/      IF(PTEXT(I).EQ.0)GOTO 20010\r
-#H0216,        FLDA    I\r
-       ATX     7\r
-       FLDA    PTEXT-3,7\r
-       JEQ     #20010\r
-/      K=12\r
-       FLDA    #LIT+22\r
-       FSTA    K\r
-/      IF(I.EQ.CHEST)K=14\r
-       FLDA    I\r
-       FSUB    CHEST\r
-       JNE     .+7\r
-       DECIMAL\r
-               LDX     14,0\r
-       OCTAL\r
-       XTA     0\r
-       FSTA    K\r
-/      IF(I.GT.CHEST)K=16\r
-       FLDA    I\r
-       FSUB    CHEST\r
-       JLE     .+5\r
-       FLDA    #LIT+30\r
-       FSTA    K\r
-/      IF(PROP(I).GE.0)SCORE=SCORE+2\r
-       FLDA    PROP-3,7\r
-       JLT     .+5\r
-       FLDA    TWO\r
-       FADDM   SCORE\r
-/      IF(PLACE(I).EQ.3.AND.PROP(I).EQ.0)SCORE=SCORE+K-2\r
-       FLDA    PLACE-3,7\r
-       FSUB    THREE\r
-       JNE     #M100\r
-       FLDA    PROP-3,7\r
-       JNE     #M100\r
-       FLDA    SCORE\r
-       FADD    K\r
-       FSUB    TWO\r
-       FSTA    SCORE\r
-/      MXSCOR=MXSCOR+K\r
-#M100, FLDA    K\r
-       FADDM   MXSCOR\r
-\r
-/20010  CONTINUE\r
-#20010,        FLDA    I\r
-       FADD    ONE\r
-       FSTA    I\r
-       FSUB    MAXTRS\r
-       JLE     #H0216\r
-/C\r
-/C NOW LOOK AT HOW HE FINISHED AND HOW FAR HE GOT. MAXDIE AND NUMDIE TELL US\r
-/C HOW WELL HE SURVIVED. GAVEUP SAYS WHETHER HE EXITED VIA QUIT. DFLAG WILL\r
-/C TELL US IF HE EVER GOT SUITABLY DEEP INTO THE CAVE. CLOSNG STILL INDICATES\r
-/C WHETHER HE REACHED THE ENDGAME. AND IF HE GOT AS FAR AS "CAVE CLOSED"\r
-/C (INDICATED BY "CLOSED"), THEN BONUS IS ZERO FOR MUNDANE EXITS OR 133, 134,\r
-/C 135 IF HE BLEW IT (SO TO SPEAK).\r
-/C\r
-/      SCORE=SCORE+(MAXDIE-NUMDIE)*10\r
-       FLDA    MAXDIE\r
-       FSUB    NUMDIE\r
-       FMUL    #LIT+17\r
-       FADDM   SCORE\r
-/      MXSCOR=MXSCOR+MAXDIE*10\r
-       FLDA    MAXDIE\r
-       FMUL    #LIT+17\r
-       FADDM   MXSCOR\r
-/      IF(.NOT.(SCORNG.OR.GAVEUP))SCORE=SCORE+4\r
-       FLDA    SCORNG\r
-       FADD    GAVEUP\r
-       JNE     .+5\r
-       FLDA    #LIT\r
-       FADDM   SCORE\r
-/      MXSCOR=MXSCOR+4\r
-       FLDA    #LIT\r
-       FADDM   MXSCOR\r
-\f\r
-/      IF(DFLAG.NE.0)SCORE=SCORE+25\r
-       FLDA    DFLAG\r
-       JEQ     .+5\r
-       FLDA    #LIT+52\r
-       FADDM   SCORE\r
-/      MXSCOR=MXSCOR+25\r
-       FLDA    #LIT+52\r
-       FADDM   MXSCOR\r
-/      IF(CLOSNG)SCORE=SCORE+25\r
-       FLDA    CLOSNG\r
-       JEQ     .+5\r
-       FLDA    #LIT+52\r
-       FADDM   SCORE\r
-/      MXSCOR=MXSCOR+25\r
-       FLDA    #LIT+52\r
-       FADDM   MXSCOR\r
-/      IF(.NOT.CLOSED)GOTO 20020\r
-       FLDA    CLOSED\r
-       JEQ     #20020\r
-/      IF(BONUS.EQ.0)SCORE=SCORE+10\r
-       FLDA    BONUS\r
-       JNE     .+5\r
-       FLDA    #LIT+17\r
-       FADDM   SCORE\r
-/      IF(BONUS.EQ.135)SCORE=SCORE+25\r
-       DECIMAL\r
-               LDX     135,0\r
-       OCTAL\r
-       XTA     0\r
-       FSUB    BONUS\r
-       JNE     .+5\r
-       FLDA    #LIT+52\r
-       FADDM   SCORE\r
-/      IF(BONUS.EQ.134)SCORE=SCORE+30\r
-       DECIMAL\r
-               LDX     134,0\r
-       OCTAL\r
-       XTA     0\r
-       FSUB    BONUS \r
-       JNE     .+5\r
-       FLDA    #LIT+63\r
-       FADDM   SCORE\r
-/      IF(BONUS.EQ.133)SCORE=SCORE+45\r
-       DECIMAL\r
-               LDX     133,0\r
-       OCTAL\r
-       XTA     0\r
-       FSUB    BONUS\r
-       JNE     #20020\r
-       FLDA    #LIT+102\r
-       FADDM   SCORE\r
-/20020  MXSCOR=MXSCOR+45\r
-#20020,        FLDA    #LIT+102\r
-       FADDM   MXSCOR\r
-/C\r
-/C DID HE COME TO WITT'S END AS HE SHOULD?\r
-/C\r
-/      IF(PLACE(MAGZIN).EQ.108)SCORE=SCORE+1\r
-       FLDA    MAGZIN\r
-       ATX     7\r
-       DECIMAL\r
-               LDX     108,0\r
-       OCTAL\r
-       XTA     0\r
-       FSUB    PLACE-3,7\r
-       JNE     .+5\r
-       FLDA    ONE\r
-       FADDM   SCORE\r
-/      MXSCOR=MXSCOR+1\r
-       FLDA    ONE\r
-       FADDM   MXSCOR\r
-/C\r
-/C ROUND IT OFF.\r
-/C\r
-/      SCORE=SCORE+2\r
-       FLDA    TWO\r
-       FADDM   SCORE\r
-/      MXSCOR=MXSCOR+2\r
-       FADDM   MXSCOR\r
-/C\r
-/C DEDUCT POINTS FOR HINTS. HINTS < 4 ARE SPECIAL; SEE DATABASE DESCRIPTION.\r
-/C\r
-/      DO 20030 I=1,HNTMAX\r
-       FLDA    ONE\r
-       FSTA    I\r
-\r
-/20030  IF(HINTED(I))SCORE=SCORE-HINTS(I,2)\r
-#20030,        FLDA    I\r
-       ATX     7\r
-       FLDA    HINTED-3,7\r
-       JEQ     .+14\r
-       FLDA    #LIT+77         /20\r
-       FADD    I               /I, 2\r
-       ATX     6\r
-       FLDA    SCORE\r
-       FSUB    HINTS-77,6\r
-       FSTA    SCORE\r
-\r
-       FLDA    I\r
-       FADD    ONE\r
-       FSTA    I\r
-       FSUB    HNTMAX\r
-       JLE     #20030\r
-/C\r
-/C RETURN TO SCORE COMMAND IF THAT'S WHERE WE CAME FROM.\r
-/C\r
-/      IF(SCORNG)GOTO 8241\r
-       FLDA    SCORNG\r
-       JNE     #8241\r
-/C\r
-/C THAT SHOULD BE GOOD ENOUGH. LET'S TELL HIM ALL ABOUT IT.\r
-/C\r
-/      TYPE 20100,SCORE,MXSCOR,TURNS\r
-       JSA     SPRINT\r
-       JA      #20100\r
-       JA      TWO\r
-\r
-       TRAP3   #WRITO\r
-       JA      #LIT\r
-       JA      #2010A\r
-       FLDA    SCORE\r
-       TRAP3   #RSVO\r
-       TRAP3   #RENDO\r
-\r
-       JSA     SPRINT\r
-       JA      #2010B\r
-       JA      THREE\r
-\r
-       TRAP3   #WRITO\r
-       JA      #LIT\r
-       JA      #2010A\r
-       FLDA    MXSCOR\r
-       TRAP3   #RSVO\r
-       TRAP3   #RENDO\r
-\r
-       JSA     SPRINT\r
-       JA      #2010C\r
-       JA      THREE\r
-\r
-       TRAP3   #WRITO\r
-       JA      #LIT\r
-       JA      #2010D\r
-\r
-       FLDA    TURNS\r
-       TRAP3   #RSVO\r
-       TRAP3   #RENDO\r
-\r
-       JSA     SPRINT\r
-       JA      #2010E\r
-       JA      ONE\r
-\r
-/20100  FORMAT(/' You scored',I4,' out of a possible',I4,\r
-/      1       ', using',I5,' turns.')\r
-/C\r
-/      DO 20200 I=1,CLSSES\r
-       FLDA    ONE\r
-       FSTA    I\r
-\r
-/      IF(CVAL(I).GE.SCORE)GOTO 20210\r
-#I0064,        FLDA    I\r
-       ATX     7\r
-       FLDA    CVAL-3,7\r
-       FSUB    SCORE\r
-       JGE     #20210\r
-\r
-/20200  CONTINUE\r
-#20200,        FLDA    I\r
-       FADD    ONE\r
-       FSTA    I\r
-       FSUB    CLSSES\r
-       JLE     #I0064\r
-/      TYPE 20202\r
-       JSA     SPRINT\r
-       JA      #20202\r
-       JA      ZERO\r
-       \r
-/20202  FORMAT(' You just went off my scale!!'/)\r
-/      GOTO 25000\r
-       JA      #25000\r
-\r
-/C\r
-/20210  CALL SPEAK(CTEXT(I))\r
-#20210,        FLDA    I\r
-       ATX     7\r
-       FLDA    CTEXT-3,7       /GET CLASS MESSAGE\r
-       FSTA    #TMP+3\r
-       JSR     SPEAK\r
-       JA      .+4\r
-       JA      #TMP+3\r
-/      IF(I.EQ.CLSSES-1)GOTO 20220\r
-       FLDA    CLSSES\r
-       FSUB    ONE\r
-       FSUB    I\r
-       JEQ     #20220\r
-/      K=CVAL(I)+1-SCORE\r
-       FLDA    I\r
-       ATX     7\r
-       FLDA    CVAL-3,7\r
-       FADD    ONE\r
-       FSUB    SCORE\r
-       FSTA    K\r
-/      TYPE 20212,K\r
-       JSA     SPRINT\r
-       JA      #20212\r
-       JA      TWO\r
-\r
-       JSA     SPRINT\r
-       JA      #2021A\r
-       JA      THREE\r
-\r
-       TRAP3   #WRITO\r
-       JA      #LIT\r
-       JA      #2021B\r
-       FLDA    K\r
-       TRAP3   #RSVO\r
-       TRAP3   #RENDO\r
-\r
-       JSA     SPRINT\r
-       JA      #2021C\r
-       JA      THREE\r
-       \r
-/20212  FORMAT(' To achieve the next higher rating, you need',I3,\r
-/      1       ' more point',$)\r
-/      IF(K.EQ.1) TYPE 20213\r
-       FLDA    K\r
-       FSUB    ONE\r
-       JNE     .+12\r
-       JSA     SPRINT\r
-       JA      #20213\r
-       JA      ONE\r
-       JA      #25000\r
-\r
-/      IF(K.NE.1) TYPE 20214\r
-       JSA     SPRINT\r
-       JA      #20214\r
-       JA      ONE\r
-/20213  FORMAT('+.'/)\r
-\r
-/20214  FORMAT('+s.'/)\r
-/      GOTO 25000\r
-       JA      #25000\r
-/C\r
-/20220  TYPE 20222\r
-#20220,        JSA     SPRINT\r
-       JA      #20212\r
-       JA      TWO\r
-\r
-       JSA     SPRINT\r
-       JA      #20222\r
-       JA      ONE\r
-\r
-       JSA     SPRINT\r
-       JA      #20223\r
-       JA      ZERO\r
-/20222  FORMAT(' To achieve the next higher rating ',\r
-/      1       'would be a neat trick!'/' Congratulations!!'/)\r
-/      RETURN\r
-       JA      #GOBAK\r
-/      END\r
-/\r
-/ Fortran Formats:\r
-/\r
-#67A,  TEXT    %T]HERE ARE @%\r
-#67,   TEXT    %('+',I1,$)%\r
-#67B,  TEXT    % T]HREATENING LITTLE DWARVES IN THE ROOM WITH YOU.@%\r
-#68,\r
-#78,   TEXT    %(1X,I1,$)%\r
-#78B,  TEXT    % ]OF THEM THROW KNIVES AT YOU!@%\r
-#68B,  TEXT    % ]OF THEM GET YOU!@%\r
-#5015, TEXT    %W]HAT DO YOU WANT TO DO WITH THE @%\r
-#5199, TEXT    %I] DON'T SEE ANY "@%\r
-#8002, TEXT    %I ]DON'T UNDERSTAND "@%\r
-#9032, TEXT    %O]KAY, "@%\r
-#8243, TEXT    %I]F YOU WERE TO QUIT NOW, YOU WOULD SCORE @%\r
-#2010A,\r
-#2021B,\r
-#8243A,        TEXT    %('+',I3,$)%\r
-#2010B,\r
-#8243B,        TEXT    % ]OUT OF A POSSIBLE @%\r
-#20213,        \r
-#8243C,        TEXT    %.@%\r
-#40012,        TEXT    %I] AM PREPARED TO GIVE YOU A HINT, BUT IT WILL COST YOU @%\r
-#4001A,        TEXT    %('+',I2,$)%\r
-#4001B,        TEXT    % ]POINTS.@%\r
-#20100,        TEXT    %Y]OU SCORED @%\r
-#2010C,        TEXT    % ]USING @%\r
-#2010D,        TEXT    %('+',I5,$)%\r
-#2010E,        TEXT    % ]TURNS.@%\r
-#20202,        TEXT    %Y]OU JUST WENT OFF MY SCALE!!@%\r
-#20212, TEXT   %T]O ACHIEVE THE NEXT HIGHER RATING@%\r
-#2021A, TEXT   %, ]YOU NEED @%\r
-#2021C,        TEXT    % ]MORE POINT@%\r
-#20214,        TEXT    %]S.@%\r
-#20222,        TEXT    %] WOULD BE A NEAT TRICK!@%\r
-#20223,        TEXT    %C]ONGRATULATIONS!!@%\r
-       END\r