From 87a3b787d166a441cab8d89d87f9a3753d40daa8 Mon Sep 17 00:00:00 2001 From: historicalsource Date: Sat, 13 Apr 2019 21:47:22 -0400 Subject: [PATCH] Final Revision --- 1actions.zil | 489 ++++++----- 1dungeon.zil | 71 +- gclock.zil | 8 +- gglobals.zil | 93 +-- gmacros.zil | 7 - gmain.zil | 132 +-- gparser.zil | 1152 +++++++++++++++----------- gsyntax.zil | 61 +- gverbs.zil | 446 ++++++---- parser.cmp | 2111 ++++++++++++++++++++++++++++++++++++++++++++++++ zork1.chart | 2 + zork1.errors | 35 + zork1.record | 632 +++++++++++++++ zork1.serial | 1 + zork1.zil | 47 +- zork1.zip | Bin 84876 -> 86838 bytes zork1freq.xzap | 200 +++++ 17 files changed, 4419 insertions(+), 1068 deletions(-) create mode 100644 parser.cmp create mode 100644 zork1.chart create mode 100644 zork1.errors create mode 100644 zork1.record create mode 100644 zork1.serial create mode 100644 zork1freq.xzap diff --git a/1actions.zil b/1actions.zil index 44f234c..9c0f3fc 100644 --- a/1actions.zil +++ b/1actions.zil @@ -64,10 +64,14 @@ to brush them with." CR>) - )>) + ) + ( + )>) ( - )>) + ) + ( + )>) ( ) @@ -122,8 +126,20 @@ It is clear that the owners must have been extremely wealthy." CR>) ( )>> +;"0 -> no next, 1 -> success, 2 -> failed move" + +> + > 2) + (T 1)>)>> + + + > + )> ) ( ) @@ -140,7 +156,7 @@ It is clear that the owners must have been extremely wealthy." CR>) ) - ( + ( CR> ) ( ;"fill bottle with water =>" @@ -153,8 +169,9 @@ It is clear that the owners must have been extremely wealthy." CR>) > >) - ( - )> + (ELSE + + )>)> )>)> @@ -192,8 +209,19 @@ It is clear that the owners must have been extremely wealthy." CR>) "It's in the bottle. Perhaps you should take that instead." CR>) (T )>) - (.PI? ) + (.PI? + + > + ) + (ELSE + )> + ) ( + + + >> + + )> ) - <>> - + > + )> T> ) (T )> - >)>> + )>> @@ -610,8 +639,8 @@ uncomfortable, you stand up again." CR>) )) - - >) + > + ) ( <>) ( > @@ -738,7 +767,7 @@ his guttural tongue." CR>) "SUBTITLE GRATING/MAZE" -> +;> ;"no longer used?" > > @@ -1020,7 +1049,7 @@ drawing you over the railing and down." CR> )>)>> -> +;> ;"no longer used?" \ @@ -1177,9 +1206,9 @@ glowing serenely">)> T)>) (T )>) - (,PRSI ) - (T )>) + (ELSE + )>) ( ) ( @@ -1253,7 +1282,7 @@ to the other side." CR>)> T> )>) >>)>> "The rest of your commands have been lost in the noise." CR> >)> + )> "> > @@ -1691,7 +1720,8 @@ stop. With a tremendous effort, you scramble out of the room." CR CR> +"The acoustics of the room change subtly." CR> + )> ) ;(,DEAD ) (T @@ -1743,7 +1773,7 @@ walls here. He does not speak, but it is clear from his aspect that the bag will be taken only over his dead body." CR> ) - ( + ;( @@ -1774,16 +1804,20 @@ Fortunately, he took nothing." CR> ) ( ) ( - ) + + ) ( - - )> + )> > + + ) + (ELSE + )> + ) (.HERE? @@ -1792,10 +1826,11 @@ from the room and from your possession, mumbling something about - ) - (T )> ) @@ -1813,12 +1848,21 @@ large bag. Finding nothing of value, he left disgruntled." CR> (T - - >> + + ) + ( + )> + +not have noticed that he "> + + ) + (T + )> + ) (T ) ( >> + - > + + > + + + )> + ) (T )> + + )> ) (T @@ -1945,7 +1997,11 @@ angered by your attempt." CR> )> - 0> + + ) + ( 0> )>> "You can't. It's not a very good chalice, is it?" CR>) (T )>> -) TL) + - <1? ,C-ENABLED?>> - > - >> - ,C-ENABLED?>> + > + > + - + )> - ) - (T - )> - )>> + + )>> > @@ -2102,8 +2156,7 @@ Using passages unknown to you, he rushes to its defense." CR> suddenly vanish." CR CR>)> ) - (> - >> + (> )> >>> @@ -2165,7 +2218,8 @@ artist's masterpieces, you have destroyed one." CR>)>> "SUBTITLE LET THERE BE LIGHT SOURCES" ) + > )> @@ -2349,7 +2404,8 @@ burn." CR>) )>)>> ) ( > ,WINNER ,HERE>> + )>)>> )>> + > ) ( @@ -2489,10 +2546,7 @@ excitement abates." CR> > ) (T )>> - ) - (T)>)>) - ( - ) + )>)>) (T )>)>> @@ -2553,12 +2607,13 @@ walkable (I think the giveaway was the stairs and bannister)." CR> - >)>) + > + )>) ( > ) +leaving you hanging in midair, supported only by water vapor. Bye.">) (T )>)>> @@ -2635,13 +2690,13 @@ with swift currents and large, half-hidden rocks. You decide to forgo your swim." CR>)>> > + > > + > CR>)>)>> > @@ -2833,7 +2888,7 @@ branches. The nearest branch above you is above your reach." CR> )>) ( - > + > ) ( > @@ -2992,7 +3047,7 @@ down, the songbird flies away." CR> >> )> T)>)>) - ( ,DOME-FLAG> + ( ,DOME-FLAG> ) ( > @@ -3061,7 +3116,7 @@ down, the songbird flies away." CR> > )>) ( + VERSION ;AGAIN SAVE RESTORE QUIT RESTART> <>) ( ) @@ -3076,7 +3131,7 @@ down, the songbird flies away." CR> ) ( ) - ( + ( ) ( ) @@ -3098,7 +3153,7 @@ down, the songbird flies away." CR> - > + ;> > > @@ -3201,21 +3256,21 @@ teeth ache to touch it." CR>)>> "tables of melee results" > > )>> KILLED KILLED KILLED>> > > >)>) ( ) (T - .DWEAPON> + ; .DWEAPON> > > > - ) - (T )> + ) + (T )> ) @@ -3485,7 +3540,7 @@ ineffective." CR> )>) ( ) (T - .DWEAPON> + ; .DWEAPON> @@ -3554,182 +3609,182 @@ carcass has disappeared." CR> ;"means print defender name (villain, e.g.)" - - - - - > - - - - - > - - - > - - - - > - - - - > - - - - - > - - >>> + + + + + + > + + + + + > + + + > + + + + > + + + + > + + + + + > + + >>> \ "messages for cyclops (note that he has no weapon" - > - > - > - - > - + > + > + > + + > + - > - - > + + > - - > - > - >>> + >>> \ "messages for troll" - - - > - + + + > + > - - - > - - - + + > + + + - > - - - > - > + + + > + - - - > - - - > - - + > + + + > + + > - >>> + >>> \ "messages for thief" - - + + - > - > + - > - - > + + - > - - - + - > - - - + + - > - - - > - > + - - > - - - > - > + + + > + - >>> @@ -3918,7 +3973,7 @@ valueless." CR> (ELSE )>)> >> -) "AUX" N X (ROBBED? <>)) +) "AUX" N X (ROBBED? <>)) > )> @@ -3927,14 +3982,12 @@ valueless." CR> > 0> >> - + - )> + )> )> >> -^/L - ;"special-cased routines" >) @@ -3962,7 +4015,7 @@ valueless." CR> ( ) ( ) ( - )> + )> > @@ -3991,7 +4044,8 @@ valueless." CR> ,SCORE> )) - + - + ; ) @@ -4041,7 +4095,8 @@ up completely, but you can't have everything." CR CR> > - )>>> + + )>>> ) F N L) diff --git a/1dungeon.zil b/1dungeon.zil index ea5dbcb..7486f21 100644 --- a/1dungeon.zil +++ b/1dungeon.zil @@ -291,8 +291,8 @@ sceptre is ornamented with colored enamel, and tapers to a sharp point.") (FLAGS TAKEBIT CONTBIT BURNBIT) (FDESC "On the table is an elongated brown sack, smelling of hot peppers.") - (CAPACITY 15) - (SIZE 3) + (CAPACITY 9) + (SIZE 9) (ACTION SANDWICH-BAG-FCN)> + (ACTION GARLIC-F) + (SIZE 4)> +you earn your degree from GUE Tech, your future will be brighter." )> (FLAGS READBIT TAKEBIT BURNBIT) (SIZE 2) (TEXT -" !!!! FROBOZZ MAGIC BOAT COMPANY !!!!| +" !!!!FROBOZZ MAGIC BOAT COMPANY!!!!| | Hello, Sailor!| | @@ -963,8 +963,7 @@ milliseconds from date of purchase or until first used, whichever comes first.| | Warning:| This boat is made of thin plastic.| - Good Luck!| -" )> + Good Luck!" )> - -;" The construction of FCD#3 took 112 days from ground breaking to +The construction of FCD#3 took 112 days from ground breaking to the dedication. It required a work force of 384 slaves, 34 slave drivers, 12 engineers, 2 turtle doves, and a partridge in a pear tree. The work was managed by a command team composed of 2345 -bureaucrats, 2347 secretaries (at least two of whom can type), +bureaucrats, 2347 secretaries (at least two of whom could type), 12,256 paper shufflers, 52,469 rubber stampers, 245,193 red tape -processors, and nearly one million dead trees.|" +processors, and nearly one million dead trees.| +| +We will now point out some of the more interesting features +of FCD#3 as we conduct you on a guided tour of the facilities:| +| + 1) You start your tour here in the Dam Lobby. You will notice +on your right that...." )> (FLAGS READBIT TAKEBIT) (FDESC "Loosely attached to a wall is a small piece of paper.") (TEXT -"| -Congratulations!| +"Congratulations!| | You are the privileged owner of ZORK I: The Great Underground Empire, a self-contained and self-maintaining universe. If used and maintained in accordance with normal operating practices for small universes, ZORK -will provide many months of trouble-free operation.| -|")> +will provide many months of trouble-free operation.")> (IN TO STONE-BARROW IF WON-FLAG) (ACTION WEST-HOUSE) (FLAGS RLANDBIT ONBIT SACREDBIT) - (GLOBAL WHITE-HOUSE BOARD)> + (GLOBAL WHITE-HOUSE BOARD FOREST)> + (GLOBAL BOARDED-WINDOW BOARD WHITE-HOUSE FOREST)> + (GLOBAL BOARDED-WINDOW BOARD WHITE-HOUSE FOREST)> + (GLOBAL WHITE-HOUSE KITCHEN-WINDOW FOREST)> > > + > > + > > diff --git a/gclock.zil b/gclock.zil index 6fdf9f2..3bc1f0d 100644 --- a/gclock.zil +++ b/gclock.zil @@ -18,11 +18,6 @@ -) - > ,C-TICK .TICK> - .CINT> - ) > ,C-TICK .TICK> @@ -52,8 +47,7 @@ > - > 999> - )> + > ) (>> > diff --git a/gglobals.zil b/gglobals.zil index dd7fd27..0955cc5 100644 --- a/gglobals.zil +++ b/gglobals.zil @@ -64,52 +64,19 @@ > > - + ) (T - + )> > - returns - number of matches. If 1, then P-MOBY-FOUND is it. One may treat - the 0 and >1 cases alike or different. It doesn't matter. Always - return RFALSE (not handled) if you have resolved the problem." - > - ;)> - - ,P?GLOBAL>>> - - )> - - ;)> - ) - (T )> - ) - ( - - - - ) - (T ,NOT-HERE-OBJECT)>> - ->)> - > - > - - ) - (T )> - > - )> - )>) + )> + )>) (.PRSO? <>>) (T @@ -153,7 +120,20 @@ (ACTION SAILOR-FCN)> + + > + > + ) + ( + % + '> + + )>) + (ELSE T)> + ) + ( > % '> @@ -169,16 +149,17 @@ off toward the west, singing a lively, but somewhat uncouth, sailor song." CR> ) (T - )>)>) + )>) + (T )>) (T - ')> - > - ) - (<0? > - > + ) + (<0? > + ) - (T - )>)>> + (T + )>)>)>> ) ) (T )>) + ( + + )>) ( ) ( @@ -265,11 +250,19 @@ you!" CR>) '( > )) + (<==? ,ZORK-NUMBER 3> + '(,INVIS + )) (T '( ))> (T - )>)>> + % + ') + (ELSE + ')>)>)>> ) diff --git a/gmacros.zil b/gmacros.zil index 17748f0..7873328 100644 --- a/gmacros.zil +++ b/gmacros.zil @@ -49,9 +49,6 @@ >) (ELSE )>>>>> -> - > @@ -64,8 +61,6 @@ > - - @@ -114,8 +109,6 @@ (ELSE
)>> !.O)>>> - - >> diff --git a/gmain.zil b/gmain.zil index a80632b..965fe1d 100644 --- a/gmain.zil +++ b/gmain.zil @@ -2,6 +2,8 @@ The ZORK Trilogy started on 7/28/83 by MARC" + + > > @@ -29,15 +31,39 @@ ;"GO now lives in SPECIAL.ZIL" ->>> + + > > > + > + > + > + > .ICNT> + ) + (T + ,IT> + + + )>)>> + + + > .OCNT> + ) + (T + ,IT> + + )>)>>)> + )> >> .OCNT) + .OCNT) ( >) @@ -50,7 +76,9 @@ .ICNT) (T 1)>> <1? .ICNT>> >)> - >) + + >> + >) (<0? .NUM> ,P-SONUMS>> > @@ -86,45 +114,37 @@ (T >) (T >)> - > - > - - - 0> - ,W?ALL>> - - > - ) - ( - ,PRSI - - 0> - ,W?ALL> - >> - ) - ( - - - ,WINNER - ,HERE>> - - ,SURFACEBIT>>> - - >>>> - ) - (T - - ) - (T )> - )>)> + > + > + +;"multiple exceptions" + + 0> ,W?ALL>> + > + + > + ) + ( + .I + 0> ,W?ALL> + >> + ) + ( + + ,WINNER ,HERE .V>> + .I>> + ,SURFACEBIT>>> + + >>>> + ) + (ELSE + + ) + (T )> + )>)> +;"end multiple exceptions" + + > )>)>>)> @@ -132,7 +152,8 @@ ; ,PRSO> >)> ,P?ACTION> ,M-END>>)> - T) + ; T) (T @@ -140,17 +161,16 @@ >)>) (T >)> + % + ' + >>> + )>) + (ELSE ')> T) - (T >)>)>>> + (T >)>)>> -> - -> - -> - > @@ -172,7 +192,7 @@ - >> + >> )> )> @@ -180,8 +200,7 @@ > >> - - )> + )> >> .V) @@ -225,7 +244,7 @@ - >> + >> )> )> @@ -233,8 +252,7 @@ >> - - )> + )> >> .V) diff --git a/gparser.zil b/gparser.zil index 9e97911..65180d3 100644 --- a/gparser.zil +++ b/gparser.zil @@ -4,143 +4,141 @@ ;"WHICH and TRAP retrofixes installed" -"Parser global variable convention: All parser globals will +"Parser global variable convention: All parser globals will begin with 'P-'. Local variables are not restricted in any way. -" - +" + - -> - + > - > - > - - - - - - - - - - - - + + + + +> +;"pointers used by CLAUSE-COPY (source/destination beginning/end pointers)" + + + + + + + - - - -> -;"INBUF - Input buffer for READ" - -> -;"Parse-cont variable" - -> - + + + ;> + ;> + ;> +> + +;"INBUF - Input buffer for READ" + + + ;> + + ;> + <> <> <>>> + "word pointer to unknown token in P-LEXV" + "word pointer to sentence start in P-LEXV" + "byte length of unparsed tokens in P-LEXV" + "byte pointer to first free byte in OOPS-INBUF" + +;"Parse-cont variable" + +> > -> +;> -;"Orphan flag" - -> - -> +;"Orphan flag" -> - -> - +> +> +> +> > ;"Parser variables and temporaries" - - - - - - + ;"Byte offset to # of entries in LEXV" - - -;"Word offset to start of LEXV entries" - - -;"Number of words per LEXV entry" - - - - -;"Offset to parts of speech byte" - - -;"Offset to first part of speech" - - -;"First part of speech bit mask in PSOFF byte" - - - - - -> - -> - + + ;"Word offset to start of LEXV entries" + ;"Number of words per LEXV entry" + + ;"Offset to parts of speech byte" + + ;"Offset to first part of speech" + ;"First part of speech bit mask in PSOFF byte" + + + +> +> > +> + + - - - - + - - - - + - - - - - - - - - - - + + + + + + > +> " Grovel down the input finding the verb, prepositions, and noun clauses. If the input is or , fall out immediately setting PRSA to ,V?WALK and PRSO to . Otherwise, perform - all required orphaning, syntax checking, and noun clause lookup." + all required orphaning, syntax checking, and noun clause lookup." -) - LEN (DIR <>) (NW 0) (LW 0) NUM SCNT (CNT -1)) +) (OF-FLAG <>) + OWINNER OMERGED LEN (DIR <>) (NW 0) (LW 0) (CNT -1)) > ,P-ITBLLEN> ) - (T )>> + (T + + >)> + )>> + + > > + > > - ,VEHBIT>> + > + ; ,VEHBIT>> >)> >)> - + + > + )> + > + >) + (,P-CONT - <==? ,PLAYER ,WINNER> + >> )> >) @@ -154,33 +152,124 @@ "> )> > - )> - - > - - - )> + > ,W?OOPS> + > + ,W?PERIOD ,W?COMMA> + > + >)> + > + + ) + ( + + > + ,W?QUOTE>> + + ) + ( + )> + + >> + ;"maybe fix oops vs. chars.?" + 6>> + 7>> + <+ <* ,P-LEXELEN> 3>> + + > + > + ) + (T + > + + )>) + (T + > + )> + >)> + ,W?AGAIN ,W?G> + > + + ) + (,P-OFLAG + + ) + ( + + ) + ( + > + ,W?PERIOD ,W?COMMA ,W?THEN> + > + ,W?AND>> + >> + 2>>) + (T + + )>) + (T + > + 1>>)> + 0> + + ) + (T + >)> + ;> + + + + + + + ) + (T >)>>) + (T + + + + > + >>>> + > + >>> + > + + > + + + > 0> > ) (> >> - + ) + (T >>)> + > ) - ( + ( + ;"Last NOT added 7/3"> - - - )> - - > + + ) + (ELSE + + + )>)> + >) (T )>)> - + >> ) @@ -189,18 +278,16 @@ ,PS?DIRECTION ,P1?DIRECTION>> ,ACT?WALK> - - + + > - >> + >> + > >>> @@ -219,42 +306,50 @@ 2>>>> - >>) + >>) (> - - - > - >> - - <==? > - ,W?OF> - <0? .VAL> - >>) - (> - - > - ,W?THEN ,W?PERIOD>>> + + + > + + + + > + ;>> + ) + (> + + >> + )>) - (<==? ,P-NCN 2> + ( ) (T > + > > > )>)>) + ( + + > + + ) + (T + >)>) () ( - > + + > @@ -266,43 +361,90 @@ or creatures." CR> )> - >> + >>)> + > + > - )> - > - )> - > - T)>> - + ) + (ELSE + )> + > + > + + + + > + T)>)>> +> > +> + +;"For AGAIN purposes, put contents of one LEXV table into another." +> + > + > + 2>> + > + 3>> + > + > + + )>>> + +;"Put contents of one INBUF into another" + 1>> + > + )>>> + +;"Put the word in the positions specified from P-INBUF to the end of +OOPS-INBUF, leaving the appropriate pointers in AGAIN-LEXV" +> + ) + (T + >> + >>>)> + > + >> + > + )>> + + .LEN>> ;"Check whether word pointed at by PTR is the correct part of speech. The second argument is the part of speech (,PS?). The 3rd argument (,P1?), if given, causes the value - for that part of speech to be returned." + for that part of speech to be returned." -> .BIT> ) (T > - > >)> + > >)> )>)>> ;" Scan through a noun clause, leave a pointer to its starting location" - -) (FIRST?? T) NW (LW 0)) + +) (FIRST?? T) NW (LW 0)) 2>> - > + > > .VAL> .WRD> >) (T >)> - > )> + > )> > >> ,W?THE ,W?A ,W?AN> 4>>)> @@ -312,11 +454,11 @@ or creatures." CR> )> > >> - ) + ) (T >>)> ) - ( - + ( + > >)>) ( @@ -337,7 +479,7 @@ or creatures." CR> ( - > + > >) ( > @@ -365,7 +507,7 @@ or creatures." CR> (T )> > - >>> + >>> )) > 2>> @@ -374,7 +516,7 @@ or creatures." CR> > 0> ) (T > - + ) ( ) @@ -392,44 +534,58 @@ or creatures." CR> ,W?INTNUM> + ;"New ORPHAN-MERGE for TRAP Retrofix 6/21/84" -) WRD) +) WRD) > - 0> ,PS?ADJECTIVE ,P1?ADJECTIVE> - )> - >>> + 0>> + ,PS?VERB ,P1?VERB> + > + >>> + ) + (>> + > + + + > + > + )> + >>> - >>> + >>> ) - (<==? ,P-NCN 2> ) - (<==? 1> - > + ( ) + ( 1> + > > - <0? .TEMP>> + > > - >) + > + >)> + )>) (T - > - >)>) + >)> + >) (T )>) - (<==? 1> - > + ( 1> + > > - <0? .TEMP>> + > > - >)> + > + >)>)> > > ) (T )>) (> - > > + > > > ) (T @@ -438,7 +594,7 @@ or creatures." CR> > > - + ) (T > )>) ( @@ -446,17 +602,26 @@ or creatures." CR> ,PS?ADJECTIVE> >> ) - ( ,PS?OBJECT> - <==? .WRD ,W?ONE>> - > - ) - (T )>)> + ( + + ) + ( ,PS?OBJECT> + + ) + (T + )> + )> > > )>>)>)> + > + > + > + + > ,P-ITBLLEN> @@ -466,16 +631,29 @@ or creatures." CR> ;"New ACLAUSE-WIN for TRAP retrofix 6/21/84" -> - - .ADJ> - 0>> > + + > + + > + + 0>> > + > + > + + + + + > + + 0>> > > > ;"Print undefined word in input. - PTR points to the unknown word in P-LEXV" + PTR points to the unknown word in P-LEXV" > >)>>> - )> @@ -495,7 +674,7 @@ or creatures." CR> > >> - )> @@ -509,33 +688,25 @@ or creatures." CR> ;" Perform syntax matching operations, using P-ITBL as the source of the verb and adjectives for this input. Returns false if no syntax matches, and does it's own orphaning. If return is true, - the syntax is saved in P-SYNTAX." - - - - - + the syntax is saved in P-SYNTAX." + + + + + - - - - - - - - - + + + + - - - - - - + + + ) (DRIVE2 <>) PREP VERB TMP) - >> + (DRIVE1 <>) (DRIVE2 <>) PREP VERB TMP) + >> )> >> @@ -545,14 +716,14 @@ or creatures." CR> ,P-SONUMS>> T) (> - <0? ,P-NCN> - >> - <==? .PREP >>> + + >> + >>> ) - (<==? > - <==? ,P-NCN 1>> + ( > + > ) - (<==? + ( > )>)> @@ -582,63 +753,94 @@ or creatures." CR> ( ) - (> + (> ) (T > - ) - (<0? > + ) + (> >) (T > )> )> + + )> ) (T )>> - )>> + )>> > - - + + )> + > + > + > ) (T >)>> - )> - > )> + + + + + + )> + > + + + + + )> > ) (.D2 > - )>> - - .THE?>> - -) WRD (FIRST?? T) (PN <>)) + )>> + +) "AUX" BEG END) + > + >) + (ELSE + > + >)> + > + +) (Q? <>)) ) + ) (T - >) - (T )> - > ,W?PERIOD> + > + T) + ( + ) + (.NOSP >) + (ELSE )> + ) + ( + + ) + ( + + ) (T .CP> )> ) - ( - <==? ,P-IT-LOC ,HERE>> + ( + > ) (T @@ -646,98 +848,101 @@ or creatures." CR> >)>)> >>> -> 32>> - 1> <+ 1>>> - -> +> - > - )>> - -) "AUX" BEG END) - > - > - + ) + (T + > + )>)>> + +) "AUX" BEG END) + >> + >> + ,P-LEXELEN> 2>>> - + ,P-LEXELEN> 2>>> ) (T - >> + >> )> >)> - >>> + >>> - 2>> .WRD> - > - -> + + 2>> ) - (<==? .PREP> - >>)>>> - - .PREP> + >>)>>> + + - >> - + >> + - - + + )> > - 1> - > ,ME> - )> + 1> + > - > + > + > >> - + )> - - ) + + + ) (T - )>)> - > + )> + ) + (ELSE )> .OBJ)>) - (T )>> - -> 0>> - > - ,P-PRSO> > - > - >>)> - > 0>> - > - ,P-PRSI> > - >> - 1> - >) - (T >)>)>)> - > + (T )>> + + + > 0>> + > + ,P-PRSI> >)> + > 0>> + > + ,P-PRSO> >)> + >> + > + >)> + + >>> + >)>)> + > -> - .NTBL> - -> - -> - -> + .NTBL> -> - -> - -> - -> - -> - -> - - - - - - - - - - +> +> +> +> +> +> +> +> +> + + + + + -> -> > -) LEN WV WRD NW) - - - +) LEN WV WRD NW (WAS-ALL <>)) > - + + )> + > >>) + + >> + )> + ) (T - > - + > + ) + (T >)> + - + >)>) ( > > @@ -808,12 +1002,12 @@ or creatures." CR> ( - + >)>) (T > > - >)>) + >)>) ( >> @@ -821,8 +1015,8 @@ or creatures." CR> T) () () - (<==? .WRD ,W?OF> - + ( + )>) (> > @@ -831,42 +1025,47 @@ or creatures." CR> ( )>)> - > + > > - )>>> - - - - - - - - - - - - - - - + )>>> + + + + + + + + + ) (OLEN 0) OBJ) > )> - ,P-ADJ > - - >)> + ,P-ADJ> + + + >) + % + '(> + > + + + + )) + (ELSE '( T))>>)> - > - <0? ,P-GWIMBIT>> + > + > )> )> - > <0? ,P-SLOCBITS>> + > > )> .TLEN>> ) ( - >> - > + >> + > >> > )> ) ( - >>> - + >>> + <- .LEN>> ) (T - )> - > + )> + > ) ( ,P-NC1) + ,P-NC1) (T ,P-NC2)>> @@ -915,10 +1114,12 @@ or creatures." CR> "There seems to be a noun missing in that sentence!" CR>)> > > - )>) - ( .GCHECK> + )>)> + .GCHECK> + > ;"Changed 6/10/83 - MARC" @@ -932,52 +1133,32 @@ or creatures." CR> > > ) - (<0? .LEN> )> + ( )> > > >> - - - - - > - ) - (T - - >)>> - > 0> - )> - > 0> - )> - > 1> - >)> - > - > - .LEN> - -> > > > - - ) - (<==? .TBL ,P-PRSO> - >) - (T >)> + + + >) + (ELSE + >)> > > - - > )> + + > )> ) ( )> > 1> @@ -985,7 +1166,7 @@ or creatures." CR> )>>> -> > @@ -998,7 +1179,7 @@ or creatures." CR> 4> 1>> >> + >> 1>>> @@ -1009,16 +1190,16 @@ or creatures." CR> ) ( )>>)> - .LEN> + .LEN> - > + > > )>)>> - -> ) (T @@ -1026,22 +1207,20 @@ or creatures." CR> ) ( ) - (T )>)>> - - - - - - - -)>)>> + + + + + +> > + > > )> - > + > > > @@ -1055,18 +1234,18 @@ or creatures." CR> ( ,P-SRCALL) (T ,P-SRCTOP)>>>)> - >) (T )>>)>> - ->) (T )>>)>> + +> .OBJ> - >> - ->> + +> - >>> + >>> -) > @@ -1076,19 +1255,28 @@ or creatures." CR> > 0> ) (T >> - )> + + > + + ) + (T + )>)> > - >> + >> ) - (> + (> >) ( - <==? > T>> + > T>> >) (T )> - > + + > ) ( - <==? ,WINNER ,ADVENTURER>> + > )>)>)>>) - (T)>> - -) TMP) + (T)>> + +) TMP) 1> ,SMANY>>> ) @@ -1112,34 +1300,37 @@ or creatures." CR> )> - )> + )> > - ) + ) ( >) (T >)> ) - (T)>> - -> + + )> > ) (ELSE >)> > ) - ( )>>> + > + >>) + ( )>>> -> ) - ( )>>> - + > + ) + ( + )>>> + > -)) +)) > )> @@ -1152,7 +1343,7 @@ or creatures." CR> - + > > @@ -1161,23 +1352,9 @@ or creatures." CR> 0> )>)> - .LIT> - -> 0> ,W?IT>> - ) - (T <>>)>> - -> 0> ,W?IT>> - ) - (T <>>)>> - -;"former CRUFTY routine, re-written by SWG" - - + + ) ( >> 1>>>>> ) - (> >> + (> >> )> - > \ No newline at end of file + > + +)) ;"can player TOUCH object?" + ;"revised 5/2/84 by SEM and SWG" + + ) + ;( + + ) + (T + )>) + ( + ) + ( + ) + ( + > + ) + ( ,HERE >> + ) + (> + ) + ( + > + ) + (T + )>> + + + ) + ( + )> + + ) + (T + >)>>> diff --git a/gsyntax.zil b/gsyntax.zil index 6d5cb66..d5681ab 100644 --- a/gsyntax.zil +++ b/gsyntax.zil @@ -6,10 +6,16 @@ "Buzzwords, Prepositions and Directions" - + + + + + + ) + (<==? ,ZORK-NUMBER 3> + )> @@ -62,7 +68,13 @@ -; + + + + + + + ^L @@ -71,15 +83,16 @@ - - - + + )> + @@ -114,9 +127,9 @@ - + - + @@ -149,6 +162,7 @@ + - @@ -217,11 +230,9 @@ TO OBJECT (FIND ACTORBIT) (ON-GROUND) = V-GIVE PRE-GIVE> - - + + )> @@ -235,9 +246,6 @@ - - - @@ -249,6 +257,10 @@ + + )> + @@ -309,6 +321,8 @@ + + @@ -418,7 +432,6 @@ -; @@ -445,6 +458,7 @@ + @@ -454,7 +468,7 @@ - + + + WITH OBJECT (FIND RMUNGBIT) = V-TURN PRE-TURN> @@ -497,7 +511,6 @@ (HELD CARRIED ON-GROUND IN-ROOM TAKE HAVE) = V-LAMP-OFF> -; + @@ -529,6 +543,7 @@ + diff --git a/gverbs.zil b/gverbs.zil index 2244f94..309103a 100644 --- a/gverbs.zil +++ b/gverbs.zil @@ -1,4 +1,4 @@ - "Generic VERBS file for + "Generic VERBS file for The ZORK Trilogy started on 7/25/83 by SEM" @@ -22,7 +22,7 @@ - > + > ;"V-DIAGNOSE is in ACTIONS.ZIL" @@ -30,13 +30,33 @@ ) (T )>> - - + "> + + > + + + ) + ( + + ) + (T + )>) + ( + )>>> + + + - > - > + ) (ELSE )>> @@ -78,19 +98,19 @@ ') +Infocom interactive fiction - a fantasy story| +Copyright (c) 1981, 1982, 1983, 1984, 1985, 1986">) (<==? ,ZORK-NUMBER 2> ') - (T +Infocom interactive fiction - a fantasy story| +Copyright (c) 1981, 1982, 1983, 1986">) + (<==? ,ZORK-NUMBER 3> ')> - - 8> 0>> - )> +Infocom interactive fiction - a fantasy story| +Copyright 1982, 1983, 1984, 1986">)> + +Release "> *3777*>> (T )>> + + > + +> + ) + (T + > + )>> + + + > + + + > + ^L "Real Verb Functions" @@ -114,25 +153,6 @@ Revision "> > -)) - - ) - (T - > - > - )>)> - > - > - )>)> - >> - - ) - (T - )>)>> - @@ -181,7 +201,7 @@ Revision "> > - '( + '( )) (T '( ))> @@ -193,6 +213,9 @@ Revision "> ) (T )>) + ( + + ) (T )> @@ -214,8 +237,13 @@ Revision "> > +> + + + ) + ( ) (T )>> @@ -251,17 +279,26 @@ Revision "> > > + % + ' + ,P?DOWN) + (T ,P?UP)> + T>) + (ELSE + ')>> - + % + ') + (ELSE + ')> ) (T )>> ) "AUX" X TX) - ,PRSO> + >> )> > )>)> ) - ( - ) (> >> ) + (% + '> + ,TREE> + >) + (ELSE ')> + + ) + ( ,ROOMS> + ) (T )>> @@ -361,15 +405,22 @@ Revision "> )> - - ) - ( + % + ' + + )>) + (ELSE T)> + ) (T )>> ,PRSO>> + + ,VEHBIT>> + > + ) + ( ,PRSO>> ) ( @@ -444,13 +495,15 @@ Revision "> > - + > ) - ( + ( + >> ) - (> +"There isn't any water here." CR>) + ( + >> ) (> @@ -463,10 +516,12 @@ Revision "> "I don't think that the " D ,PRSO " would agree with you." CR>)>> + >> + )> - > +probably)." CR>> (MAX CNT ECH) FIX) @@ -536,7 +591,7 @@ probably)." CR> > )> ) +"The " D ,PRSO " floats serenely in midair." CR>) ( > @@ -554,8 +609,7 @@ probably)." CR> - > - >)> + >)> > @@ -576,20 +630,34 @@ probably)." CR> )>> > + ,ROOMS> + ,VEHBIT>> + > + ) + (> + + ) + (ELSE + )>> > >> - 1>> - - ) + + > + 1>>> + + ) + (> + + ) (T )>)> - > + + ) + (> )>> @@ -689,17 +757,6 @@ D ,PRSO "." CR>)>) > - - - - ) - (T - )> - ) - (T - )>> - > )>) > )>)>) + ( + ) (T )> > @@ -817,6 +877,11 @@ killing yourself." CR CR> > ) + % + '( + )) + (ELSE '( ))> (T )>) (T @@ -937,13 +1002,21 @@ by knocking down the wall on the east of the room." CR> (T )>)) (T '( T))> + ( ,VEHBIT> + + ) (T )>> > > + + + ) + (ELSE )>> > @@ -953,6 +1026,10 @@ by knocking down the wall on the east of the room." CR> + % + ' + >)>) + (ELSE ')> ) (T @@ -1099,8 +1176,7 @@ by knocking down the wall on the east of the room." CR> > - - ) + ) (T )> )>) @@ -1108,14 +1184,14 @@ by knocking down the wall on the east of the room." CR> ' )>)> + > > >) ( ,W?HELLO>> - > + > )> - > > - - > + + + ') + (ELSE + '>)> ) (T )> @@ -1247,7 +1326,7 @@ D ,PRSO " with a weapon." CR>) <==? ,ZORK-NUMBER 2>> '( - > ) (T )> @@ -1285,8 +1364,14 @@ D ,PRSO " with a weapon." CR>) (,PRSI > - ) - (>> + )> + % + ' + > + )>) + (ELSE + ')> + >> ) (T > @@ -1308,7 +1393,7 @@ D ,PRSO " with a weapon." CR>) >) (T )>) (T @@ -1318,52 +1403,40 @@ the manual." CR>)>) ) "AUX" M) #DECL ((OBJ) (M) ) - - > + + >> + ) ( > ) - ( >> - - '(>> - - )) - (T - '( ))> - % - '( - - ,SCOL-ROOM> - - )) - (T - '( ))> - % - '( - > 1>>> - > - > - ) - (T - )> - )) - (T - '( ))> - % - '( - >> + % + '>> + + ) + ( + + ,SCOL-ROOM> + + ) + ( + > 1>>> + > + > + ) + (T + )> + ) + ( + - )) - (T - '( ))> - (T - )>) - (.OBJ - ) + )>) + (ELSE ')> + ) ( ) (T @@ -1374,15 +1447,17 @@ the manual." CR>)>) + ) - ( + (> ) - (T )>)>> + (T )>) + (ELSE )>> > @@ -1411,7 +1486,20 @@ CR>) )>> > + % + ' ,ROOMS> + > + + )>) + (ELSE T)> + + ' ,ROOMS> + >>) + (ELSE + ' ,ROOMS>)> + ) + (> )>> ) )>)>) ( + >> > - > + + >> ) (T )>> @@ -1556,7 +1646,7 @@ direction." CR> detect a dim light from the east." CR>)>) (T ')> - >)> + )> > )> @@ -1571,7 +1661,10 @@ detect a dim light from the east." CR>)>) > ,VEHBIT> )> )> - > + + ' >) + (ELSE + '>)> > ; )> @@ -1617,7 +1710,8 @@ long description (fdesc or ldesc), otherwise will print short." ) - ( + ( + > )>)> % ' @@ -1665,8 +1759,19 @@ long description (fdesc or ldesc), otherwise will print short." ) (ELSE - ) + + '( + + <==? ,SPELL? ,S-FANTASIZE> + > + + " here." CR> + >)> + )) + (ELSE + '( + ))> ( ) () (> @@ -1705,7 +1810,8 @@ long description (fdesc or ldesc), otherwise will print short." ) ( > > ;"not in Zork III" - )>)> + + > ;"not in Zork III")>)> >> ) (T )>> @@ -1763,10 +1869,6 @@ for the final secret.\"" CR>)>) )>> - - > - "> @@ -1844,6 +1946,7 @@ for the final secret.\"" CR>)>) ) (T + % ' @@ -1910,7 +2013,8 @@ for the final secret.\"" CR>)>) )>) ) (WLOC ) - (AV <>) OLIT) + (AV <>) OLIT OHERE) + >)> @@ -1967,8 +2072,20 @@ for the final secret.\"" CR>)>) > > - )> + % + ') + (<==? ,ZORK-NUMBER 2> + ' + ) + ( + )>) + (<==? ,ZORK-NUMBER 3> + ' + )>)>)> ) (T @@ -2004,18 +2121,21 @@ stumbled into an authentic grue lair!">)) ,M-ENTER> > ) - (> + (> + > ) - (.V? )> + % + '( + ;"no double description" + > + )) + (ELSE + '( ))> + (> + )> )>> -;"0 -> no next, 1 -> success, 2 -> failed move" - -> - > 2) - (T 1)>)>> - )) > .LEN> @@ -2029,11 +2149,6 @@ stumbled into an authentic grue lair!">)) > -> - <- 2> 1>>> - > 1>>)>> @@ -2049,11 +2164,6 @@ stumbled into an authentic grue lair!">)) (>> >)>>> - - - >> - > @@ -2071,15 +2181,19 @@ stumbled into an authentic grue lair!">)) )>)>>> + ' + )>) + (ELSE T)> > - > + > -> + + >)> GPARSER.ZIL.37 AND SS:PARSER.ZIL.273 +;OPTIONS ARE /3 + +**** FILE SS:GPARSER.ZIL.37, 1-1 (0) + "Generic PARSER file for + The ZORK Trilogy + started on 7/28/83 by MARC" +;"WHICH and TRAP retrofixes installed" +"Parser global variable convention: All parser globals will + begin with 'P-'. Local variables are not restricted in any + way. +" + + + +> + +> +> + + + + + + + + + + + + + + + + + ;> +;"INBUF - Input buffer for READ" + + + ;> +;"Parse-cont variable" + +> + +> +;"Orphan flag" + +> + +> +> + +> + +> +;"Parser variables and temporaries" + + + + + + +;"Byte offset to # of entries in LEXV" + +;"Word offset to start of LEXV entries" + + +;"Number of words per LEXV entry" + + + + +;"Offset to parts of speech byte" + + +;"Offset to first part of speech" + + +;"First part of speech bit mask in PSOFF byte" + + + + + +> + +> + +> + + + + + + + + + + + + + + + + + + + + + + +> +" Grovel down the input finding the verb, prepositions, and noun clauses. + If the input is or , fall out immediately + setting PRSA to ,V?WALK and PRSO to . Otherwise, perform + all required orphaning, syntax checking, and noun clause lookup." +) + LEN (DIR <>) (NW 0) (LW 0) NUM SCNT (CNT -1)) + > ,P-ITBLLEN> ) + (T )>> + > + > +**** FILE SS:PARSER.ZIL.273, 1-1 (0) +"PARSER for + MAGE + (c) Copyright 1985 Infocom, Inc. All Rights Reserved" +;"Parser global variable convention: All parser globals will begin +with 'P-'. Local variables are not restricted in any way." + +> +> +> +> + + + +> +;"pointers used by CLAUSE-COPY (source/destination beginning/end pointers)" + + + + + + + ;> + ;> + ;> +> + + ;> ;"INBUF - Input buffer for READ" + + ;> + <> <> <>>> + "word pointer to unknown token in P-LEXV" + "word pointer to sentence start in P-LEXV" + "byte length of unparsed tokens in P-LEXV" + "byte pointer to first free byte in OOPS-INBUF" +> ;"Parse-cont variable" +> +> +> ;"Orphan flag" +> +> +> +> +> +> +;"Parser variables and temporaries" + ;"Byte offset to # of entries in LEXV" + ;"Word offset to start of LEXV entries" + ;"Number of words per LEXV entry" + + ;"Offset to parts of speech byte" + ;"Offset to first part of speech" + ;"First part of speech bit mask in PSOFF byte" + +> +> +> +> + + + + + + + + + + + +> +;> +> +" Grovel down the input finding the verb, prepositions, and noun clauses. + If the input is or , fall out immediately + setting PRSA to ,V?WALK and PRSO to . Otherwise, perform + all required orphaning, syntax checking, and noun clause lookup." +) (OF-FLAG <>) + OWINNER OMERGED LEN (DIR <>) (NW 0) (LW 0) (CNT -1)) + > ,P-ITBLLEN> ) + (T + + >)> + )>> + + + > + > + > +*************** + +**** FILE SS:GPARSER.ZIL.37, 3-14 (2751) + > + ; ,VEHBIT>> + >)> + >)> + + + + >> +**** FILE SS:PARSER.ZIL.273, 2-20 (3570) + ,VEHBIT>> + >)> + >)> + + + > + )> + > + >) + (,P-CONT + + > +*************** + +**** FILE SS:GPARSER.ZIL.37, 3-31 (3297) + )> +**** FILE SS:PARSER.ZIL.273, 2-41 (4262) + )> +*************** + +**** FILE SS:GPARSER.ZIL.37, 3-35 (3438) + )> + + > + + + PARSER.ZIL.273, 2-45 (4395) + + + )> + > ,W?OOPS> + > + ,W?PERIOD ,W?COMMA> + > + >)> + > + + ) + ( + + > + ,W?QUOTE>> + + ) + ( + )> + + >> + ;"maybe fix oops vs. chars.?" + 6>> + 7>> + <+ <* ,P-LEXELEN> 3>> + + > + > + ) + (T + > + + )>) + (T + > + > + )> + >)> + ,W?AGAIN ,W?G> + > + + ) + (,P-OFLAG + + ) + ( + + ) + ( + > + ,W?PERIOD ,W?COMMA ,W?THEN> + > + ,W?AND>> + >> + 2>>) + (T + + )>) + (T + > + 1>>)> + 0> + + ) + (T + >)> + ;> + + + + + + + ) + (T >)>>) + (T + + + + > + >>>> + > + >>> + > + + ;> + + + GPARSER.ZIL.37, 3-44 (3687) + (> + >> + + > + ) + ( + + ;"Last NOT added 7/3"> + + + )> + + > + + PARSER.ZIL.273, 2-143 (7882) + (> + ) + (T >>)> + + + ;"next clause added 8/20/84 by JW to + enable TELL MY NAME TO BEAST" + >>> + + ) + ( + + + > + + ) + (ELSE + + + )>)> + + + + ,W?QUOTE> + > + >>> + + > + ) + (ELSE + )>) + (,QUOTE-FLAG +*************** + +**** FILE SS:GPARSER.ZIL.37, 3-65 (4450) + (> + ,ACT?WALK> + + + > + >> +**** FILE SS:PARSER.ZIL.273, 2-189 (9388) + (>>> + ,ACT?WALK ;,ACT?FLY> + + + > + GPARSER.ZIL.37, 3-87 (5106) + + ,W?THEN>)> +**** FILE SS:PARSER.ZIL.273, 2-210 (10028) + + ,W?THEN>)> +*************** + +**** FILE SS:GPARSER.ZIL.37, 3-93 (5264) + (> +**** FILE SS:PARSER.ZIL.273, 2-215 (10179) + (>>> +*************** + +**** FILE SS:GPARSER.ZIL.37, 3-100 (5514) + 2>>>> + >>) + (> + + + > + >> + + > + ,W?OF> + + >>) + (> + + > + ,W?THEN ,W?PERIOD>>> +**** FILE SS:PARSER.ZIL.273, 2-224 (10459) + 2>>>> + >>) + (>>> + + >> + >>> + >> + + + + > + >> + ) + (> + + >> + +*************** + +**** FILE SS:GPARSER.ZIL.37, 3-128 (6429) +**** FILE SS:PARSER.ZIL.273, 2-254 (11451) + +*************** + +**** FILE SS:GPARSER.ZIL.37, 3-133 (6578) + () + ( + > + +**** FILE SS:PARSER.ZIL.273, 2-260 (11629) + ( + + > + + ) + (T + >)>) + (>>) + ( + >> + ;"Next expr added to fix FORD, TELL ME WHY" + ;"NOT taken out of said expr to fix fix" + > + +*************** + +**** FILE SS:GPARSER.ZIL.37, 3-147 (6961) + >> +**** FILE SS:PARSER.ZIL.273, 2-283 (12351) + >>)> + > +*************** + +**** FILE SS:GPARSER.ZIL.37, 3-151 (7064) + + )> + > + )> + > + T)>> +> +;"Check whether word pointed at by PTR is the correct part of speech. + The second argument is the part of speech (,PS?). The + 3rd argument (,P1?), if given, causes the value + for that part of speech to be returned." +PARSER.ZIL.273, 2-288 (12486) + > + + ) + (ELSE + )> + > + > + + + + > + T)>)>> +> +> +) "AUX" (WRD <>)) + > + > + >> + .WRD> + + > +> +> +;"For AGAIN purposes, put contents of one LEXV table into another." +> + > + > + 2>> + > + 3>> + > + > + + )>>> +;"Put contents of one INBUF into another" + 1>> + > + )>>> +;"Put the word in the positions specified from P-INBUF to the end of +OOPS-INBUF, leaving the appropriate pointers in AGAIN-LEXV" +> + ) + (T + >> + >>>)> + > + >> + > + )>> + + .LEN>> +;"Check whether word pointed at by PTR is the correct part of speech. + The second argument is the part of speech (,PS?). The + 3rd argument (,P1?), if given, causes the value + for that part of speech to be returned." +GPARSER.ZIL.37, 4-11 (7937) + +) (FIRST?? T) NW (LW 0)) +**** FILE SS:PARSER.ZIL.273, 2-370 (15234) +) (1ST? T) NW (LW 0)) +*************** + +**** FILE SS:GPARSER.ZIL.37, 4-21 (8388) + ,W?THE ,W?A ,W?AN> +**** FILE SS:PARSER.ZIL.273, 2-379 (15678) + ,W?THE ,W?A ,W?AN> + ,W?$BUZZ>> +*************** + +**** FILE SS:GPARSER.ZIL.37, 4-27 (8642) + > + >> + ) + (T >>)> + ) + ( +**** FILE SS:PARSER.ZIL.273, 2-386 (15980) + > + ) + (T >>)> + + >> + + > + ) + (ELSE )>) + ( ) + ( +*************** + +**** FILE SS:GPARSER.ZIL.37, 4-37 (9081) + + + ;"ADDED 4/27 FOR TURTLE,UP" + >> +**** FILE SS:PARSER.ZIL.273, 2-401 (16609) + >> + + ;"ADDED 4/27 FOR TURTLE,UP" + >> +*************** + +**** FILE SS:GPARSER.ZIL.37, 4-46 (9379) + ( + +**** FILE SS:PARSER.ZIL.273, 2-410 (16918) + ;"This next clause was 2 clauses further down" + ;"This attempts to fix EDDIE, TURN ON COMPUTER" + ( 0>> + > + ,W?THEN> + >) + (>> + +*************** + +**** FILE SS:GPARSER.ZIL.37, 4-51 (9530) + ( + > + >) +**** FILE SS:PARSER.ZIL.273, 2-424 (17469) + ;"next clause makes 'give troll red book' + have only one noun clause. careful!" + (>> + > + + >>) + ( + > + T) +*************** + +**** FILE SS:GPARSER.ZIL.37, 4-64 (9926) + (PARSER.ZIL.273, 2-443 (18105) + ;"next clause replaced by following on from games + with characters" + ;(GPARSER.ZIL.37, 4-69 (10105) + ( + >> + > + ,W?THEN> + >) + ( T) +**** FILE SS:PARSER.ZIL.273, 2-450 (18372) + (>> + >>>) + (>> T) +*************** + +**** FILE SS:GPARSER.ZIL.37, 4-81 (10470) + > + >>> +)) +**** FILE SS:PARSER.ZIL.273, 2-458 (18647) + > + >>> +GPARSER.ZIL.37, 4-91 (10797) + + + ) + ( ) +**** FILE SS:PARSER.ZIL.273, 2-468 (18961) + ) +*************** + +**** FILE SS:GPARSER.ZIL.37, 4-99 (11059) + + ) + (.TIM + >) + ( )> + >>)> +**** FILE SS:PARSER.ZIL.273, 2-473 (19145) + + + )> +*************** + +**** FILE SS:GPARSER.ZIL.37, 4-110 (11319) + + )> +;"New ORPHAN-MERGE for TRAP Retrofix 6/21/84" +) WRD) + > + 0> ,PS?ADJECTIVE ,P1?ADJECTIVE> + )> +**** FILE SS:PARSER.ZIL.273, 2-481 (19280) +> + + > + > + >> + + + ) + (> ,W?QUOTE> + + ) + (.1ST? + > + T) + ( + >) + (ELSE + + > + + )>) + (ELSE ;"was " + ) + ;(ELSE )> + > + >>> +) "AUX" QPTR WRD) + + > + + ) + (>> + )> + + .WRD> + + >> + )> + )> + >> + .WRD> +>> + > + )> + > + > + > + + ) + (ELSE )>) + ( + >> + ) + ( )> + > + > + >> + > +> 2>> + )> + > 3>> + + + > + > 0> + >) + (ELSE + > + > + >)> + > + )>>> + 2 #BYTE !\x #BYTE !\1 0 0 + 2 #BYTE !\x #BYTE !\2 0 0 + 2 #BYTE !\x #BYTE !\3 0 0 + 2 #BYTE !\x #BYTE !\4 0 0 + 2 #BYTE !\x #BYTE !\5 0 0 + 2 #BYTE !\x #BYTE !\6 0 0 + 2 #BYTE !\x #BYTE !\7 0 0 + 2 #BYTE !\x #BYTE !\8 0 0 + 2 #BYTE !\x #BYTE !\9 0 0 + 3 #BYTE !\x #BYTE !\1 #BYTE !\0 #BYTE 0 0 + 3 #BYTE !\x #BYTE !\1 #BYTE !\1 #BYTE 0 0 + 3 #BYTE !\x #BYTE !\1 #BYTE !\2 #BYTE 0 0 ;"TIME-CUBE" + 0 0 0 0 0 ;"EARTH" + 0 0 0 0 0 ;"WATER" + 0 0 0 0 0 ;"AIR" + 0 0 0 0 0 ;"FIRE" + 0 0 0 0 0 ;"DARK" + 0 0 0 0 0 ;"MIND" + 0 0 0 0 0 ;"LIGHT" + 0 0 0 0 0 ;"LIFE" + 0 0 0 0 0 ;"DEATH" + 0 0 0 0 0 ;"CHANGE" + 0 0 0 0 0 ;"MAGIC" + 0 0 0 0 0 ;"CONNECTIVITY" + 0 >> +> +) WRD) + > + 0>> + ,PS?VERB ,P1?VERB> + > + >>> + ) + (>> + > + + + > + > + )> +*************** + +**** FILE SS:GPARSER.ZIL.37, 5-19 (12012) + >) + (T + > + >)>) +**** FILE SS:PARSER.ZIL.273, 3-28 (23566) + > + >)> + )>) + (T + >)> + >) +*************** + +**** FILE SS:GPARSER.ZIL.37, 5-30 (12388) + >)> +**** FILE SS:PARSER.ZIL.273, 3-41 (24035) + > + >)>)> +*************** + +**** FILE SS:GPARSER.ZIL.37, 5-35 (12565) + (> +**** FILE SS:PARSER.ZIL.273, 3-47 (24262) + (,P-ACLAUSE +*************** + +**** FILE SS:GPARSER.ZIL.37, 5-50 (13054) + ,PS?ADJECTIVE> + >> + ) + ( ,PS?OBJECT> + > + > + ) + (T )>)> +**** FILE SS:PARSER.ZIL.273, 3-62 (24737) + ,PS?ADJECTIVE> ;"same as WT?" + >> + ) + ( + + ) + ( ,PS?OBJECT> + + ) + (T + )> + )> +*************** + +**** FILE SS:GPARSER.ZIL.37, 5-64 (13526) +**** FILE SS:PARSER.ZIL.273, 3-80 (25270) + > + > + > + + + ; 0>> > +*************** + +**** FILE SS:GPARSER.ZIL.37, 5-71 (13684) +;"New ACLAUSE-WIN for TRAP retrofix 6/21/84" +> + + .ADJ> +**** FILE SS:PARSER.ZIL.273, 3-93 (25665) +> + + > + + > + +*************** + +**** FILE SS:GPARSER.ZIL.37, 5-81 (13977) +;"Print undefined word in input. + PTR points to the unknown word in P-LEXV" +**** FILE SS:PARSER.ZIL.273, 3-104 (26036) + + + + > + + 0>> > + > + > +;"Print undefined word in input. + PTR points to the unknown word in P-LEXV" +*************** + +**** FILE SS:GPARSER.ZIL.37, 6-9 (14225) + + + )> +**** FILE SS:PARSER.ZIL.273, 4-9 (26592) + +*************** + +**** FILE SS:GPARSER.ZIL.37, 6-16 (14476) + + > + >> + + + )> +**** FILE SS:PARSER.ZIL.273, 4-14 (26795) + + > + >> +GPARSER.ZIL.37, 6-32 (14950) + the verb and adjectives for this input. Returns false if no + syntax matches, and does it's own orphaning. If return is true, + the syntax is saved in P-SYNTAX." + + + + + + + + + + + + + + + + + + + + + + +) (DRIVE2 <>) PREP VERB TMP) +**** FILE SS:PARSER.ZIL.273, 4-27 (27189) + the verb and adjectives for this input. Returns false if no + syntax matches, and does it's own orphaning. If return is true, + the syntax is saved in P-SYNTAX." + + + + + + + + + + + +) (DRIVE2 <>) PREP VERB TMP) +*************** + +**** FILE SS:GPARSER.ZIL.37, 7-22 (16227) + > +**** FILE SS:PARSER.ZIL.273, 5-22 (28407) + > +*************** + +**** FILE SS:GPARSER.ZIL.37, 7-28 (16396) + +**** FILE SS:PARSER.ZIL.273, 5-28 (28579) + +*************** + +**** FILE SS:GPARSER.ZIL.37, 7-48 (17021) + ( + + ) + (> + ) +**** FILE SS:PARSER.ZIL.273, 5-47 (29180) + ( + + ) + (> + + ) +*************** + +**** FILE SS:GPARSER.ZIL.37, 7-57 (17318) + ) +**** FILE SS:PARSER.ZIL.273, 5-57 (29512) + + ) +*************** + +**** FILE SS:GPARSER.ZIL.37, 7-64 (17546) + )> +**** FILE SS:PARSER.ZIL.273, 5-65 (29749) + + )> +*************** + +**** FILE SS:GPARSER.ZIL.37, 7-69 (17735) + )>> + + > + + +**** FILE SS:PARSER.ZIL.273, 5-71 (29946) + )>> + + + + )> + > + > + > +*************** + +**** FILE SS:GPARSER.ZIL.37, 8-8 (18077) + )> + > )> +**** FILE SS:PARSER.ZIL.273, 6-11 (30435) + + + + + + )> + > + + + + + )> +*************** + +**** FILE SS:GPARSER.ZIL.37, 8-15 (18360) + )>> + + .THE?>> + +) WRD (FIRST?? T) (PN <>)) +**** FILE SS:PARSER.ZIL.273, 6-28 (31070) + )>> + + + + + + + + + + + + > +) "AUX" BEG END) + > + >) + (ELSE + > + >)> + > +) (Q? <>)) +*************** + +**** FILE SS:GPARSER.ZIL.37, 8-24 (18667) + >) + (T )> + > ,W?PERIOD> + ) + (T + .CP> + )> + ) +**** FILE SS:PARSER.ZIL.273, 6-57 (31882) + > + T) + ( + ) + (.NOSP >) + (ELSE )> + + ) + ( + + ) + ( + + ) + ( + + ) + (T + .CP> + )> + + > + 0>>) + (ELSE )>) +*************** + +**** FILE SS:GPARSER.ZIL.37, 8-36 (19069) + + >)> + >)>)> + >>> +> + + > + )>> + +) "AUX" BEG END) + > + > + PARSER.ZIL.273, 6-85 (32756) + > + )> + + > + )>)> + >)>)> + >>> + )> + + >> + ) + ( + )> + >>> + + > + ) + (T + )>> + + >) + (T + > 32>> + 1> <+ 1>>)>> +> + + + ) + (T + > + )>)>> +) "AUX" BEG END) + >> + >> + +*************** + +**** FILE SS:GPARSER.ZIL.37, 8-56 (19648) + ,P-LEXELEN> +**** FILE SS:PARSER.ZIL.273, 6-135 (34208) + + + ,P-LEXELEN> +*************** + +**** FILE SS:GPARSER.ZIL.37, 8-66 (19941) + >>> +PARSER.ZIL.273, 6-146 (34524) + >>> +GPARSER.ZIL.37, 9-6 (20132) + > + +PARSER.ZIL.273, 7-6 (34712) + > +GPARSER.ZIL.37, 9-13 (20365) + >>)>>> + + + >> + + + + +**** FILE SS:PARSER.ZIL.273, 7-13 (34940) + >>)>>> + + >> + + +*************** + +**** FILE SS:GPARSER.ZIL.37, 9-30 (20848) + > ,ME> + )> + + > +**** FILE SS:PARSER.ZIL.273, 7-30 (35413) + > + + > + > +*************** + +**** FILE SS:GPARSER.ZIL.37, 9-37 (21089) + + ) + (T + )>)> + > + )> + .OBJ)>) + (T )>> + +> 0>> + > + ,P-PRSO> > + > + >>)> + > 0>> + > + ,P-PRSI> > + >> + 1> + >) + (T >)>)>)> + > +PARSER.ZIL.273, 7-37 (35648) + + + ) + (ELSE + )> + ) + (ELSE + )> + .OBJ)>) + (T )>> + + > 0>> + > + ,P-PRSI> >)> + > 0>> + > + ,P-PRSO> >)> + >> + > + >)> + + >>> + >)>)> + > +% ">) + (ELSE + > + > + )> + >)>>> +GPARSER.ZIL.37, 10-15 (22488) + .NTBL> + +> + +> + +> +> + +> + +> + +> + +> + +> + + + + + + + + + + +> +> +> +) LEN WV WRD NW) + + + + > + +**** FILE SS:PARSER.ZIL.273, 8-15 (37304) + .NTBL> +> +> +> +> +>> +>> +>> +>> +>> + + + + + +) LEN WV WRD NW (WAS-ALL <>)) + > + + )> + +*************** + +**** FILE SS:GPARSER.ZIL.37, 11-16 (23268) + >>) + (T + > + +**** FILE SS:PARSER.ZIL.273, 9-11 (37951) + + >> + )> + ) + (T + > + ) + (T >)> + +*************** + +**** FILE SS:GPARSER.ZIL.37, 11-41 (24102) + () +**** FILE SS:PARSER.ZIL.273, 9-41 (38932) + (>>) +*************** + +**** FILE SS:GPARSER.ZIL.37, 11-46 (24263) + (> + > +**** FILE SS:PARSER.ZIL.273, 9-46 (39107) + (>>> + > + ;"make 'learn ' work (pdl 5/7/85)" +*************** + +**** FILE SS:GPARSER.ZIL.37, 11-55 (24559) + )>>> + + + + + + + + + + + + + + +) (OLEN 0) OBJ) +**** FILE SS:PARSER.ZIL.273, 9-59 (39495) + )>>> + + + + + + + + +) (OLEN 0) OBJ) +*************** + +**** FILE SS:GPARSER.ZIL.37, 12-8 (24990) + ,P-ADJ> + + + >) + % + '(> + > + + + + ))>>)> +**** FILE SS:PARSER.ZIL.273, 9-82 (39973) + + ,P-ADJ + >>> + + >)> +*************** + +**** FILE SS:GPARSER.ZIL.37, 12-26 (25514) + )> +**** FILE SS:PARSER.ZIL.273, 9-92 (40254) + )> +*************** + +**** FILE SS:GPARSER.ZIL.37, 12-38 (25880) +**** FILE SS:PARSER.ZIL.273, 9-103 (40580) + ,VEHBIT> + ,OPENBIT>>> + ,SOG ,SIR>)> +*************** + +**** FILE SS:GPARSER.ZIL.37, 12-41 (26003) + ) +**** FILE SS:PARSER.ZIL.273, 9-109 (40842) + ;>>) +*************** + +**** FILE SS:GPARSER.ZIL.37, 12-46 (26198) + + > + )> +**** FILE SS:PARSER.ZIL.273, 9-114 (41068) + "?)" CR>)> +*************** + +**** FILE SS:GPARSER.ZIL.37, 12-61 (26658) + > + + ) + ( +**** FILE SS:PARSER.ZIL.273, 9-127 (41494) + + + ,P?GENERIC>> + % "]" CR>)>> + + ,P?GENERIC> + .TBL + .LEN>> + %)>> + >> + + + + + > + > + ) + (ELSE + + > + > + )>) + (>> + + > + > + ) + (> +*************** + +**** FILE SS:GPARSER.ZIL.37, 12-74 (27028) + )> +**** FILE SS:PARSER.ZIL.273, 9-177 (42819) + )> +*************** + +**** FILE SS:GPARSER.ZIL.37, 12-81 (27239) + ;"next added 1/2/85 by JW" + + PARSER.ZIL.273, 9-183 (42990) + + > +*************** + +**** FILE SS:GPARSER.ZIL.37, 12-91 (27550) + > + ) + (T )>)> +**** FILE SS:PARSER.ZIL.273, 9-192 (43298) + ) + (T + )>)> +*************** + +**** FILE SS:GPARSER.ZIL.37, 12-103 (27864) +; +**** FILE SS:PARSER.ZIL.273, 9-204 (43578) + + + +*************** + +**** FILE SS:GPARSER.ZIL.37, 12-114 (28161) + > 0> + )> + > 0> + )> + > 1> + >)> +**** FILE SS:PARSER.ZIL.273, 9-217 (43925) + + + > 1> + >) + ( + ,P?GENERIC>> + % "]" CR>)>> + + ,P?GENERIC> + .TBL + .LEN>> + + + %)>>)>)> + > +*************** + +**** FILE SS:GPARSER.ZIL.37, 12-124 (28466) +;> +**** FILE SS:PARSER.ZIL.273, 9-244 (44594) +> +> +*************** + +**** FILE SS:GPARSER.ZIL.37, 12-131 (28630) + + ) + ( + >) + (T >)> +**** FILE SS:PARSER.ZIL.273, 9-252 (44779) + + + >) + (ELSE + >)> +*************** + +**** FILE SS:GPARSER.ZIL.37, 12-140 (28939) + + + > )> + ) + ( )> +**** FILE SS:PARSER.ZIL.273, 9-265 (45102) + + + > + )> + ) + ( + )> +*************** + +**** FILE SS:GPARSER.ZIL.37, 13-2 (29201) +PARSER.ZIL.273, 10-2 (45374) +GPARSER.ZIL.37, 13-11 (29580) + > + 4> 1>> + + >> + 1>>> +**** FILE SS:PARSER.ZIL.273, 10-11 (45752) + > + > + + >> + + >>>> + + ) + (ELSE >)> + + >> +*************** + +**** FILE SS:GPARSER.ZIL.37, 13-24 (30041) + ) + ( )>>)> +**** FILE SS:PARSER.ZIL.273, 10-31 (46442) + )> + > + > )>>)> +*************** + +**** FILE SS:GPARSER.ZIL.37, 13-31 (30287) + > + > + )>)>> + +PARSER.ZIL.273, 10-39 (46723) + ;> + > + )>)>> +GPARSER.ZIL.37, 13-43 (30751) + (T )>)>> + + + + + + + +PARSER.ZIL.273, 10-51 (47186) + (T )>)>> + + + +GPARSER.ZIL.37, 13-61 (31253) + > + + >> + + ,P-SRCALL) + ( + ,P-SRCALL) + (T ,P-SRCTOP)>>>)> + >) (T )>>)>> + +> + .OBJ> + >> + +> + >>> +) + > + + >> + > 0> ) + (T + >> + )> + > + >> + + + ) + (> + >) + ( + > T>> + >) + (T )> + + > + + + )> + + + + ) + ( + > + )>)>)>>) + (T)>> + +) TMP) +**** FILE SS:PARSER.ZIL.273, 10-69 (47669) + >> + + > + + > + ,P-SRCALL) + (T ,P-SRCTOP)>>>)>)> + >) (T )>>)>> +> + .OBJ> + >> +> + >>> +> + + >> + > 0> + ) + (T + >> + + > + + ) + (T + )>)> + + > + T) + (T + + + ) + (> + + >> + >) + ( + > T>> + >) + (T + )> + > + > + + ) + ( + + ) + ( + ) + (T + + )> + + + ) + (ELSE + )> + + + ) + ( + + >> + )>)>)>>) + (T)>> +) TMP) +*************** + +**** FILE SS:GPARSER.ZIL.37, 14-50 (33507) + + )> + + > + ) +**** FILE SS:PARSER.ZIL.273, 10-160 (50337) + + + )> + + > + + ) +*************** + +**** FILE SS:GPARSER.ZIL.37, 14-61 (33895) + (T)>> + +PARSER.ZIL.273, 10-173 (50743) + (T)>> +GPARSER.ZIL.37, 14-68 (34101) + > ) + ( )>>> +> ) + ( )>>> + +> +)) + > + )> +**** FILE SS:PARSER.ZIL.273, 10-180 (50945) + > + >>) + ( )>>> +> + ) + ( + )>>> +)) +*************** + +**** FILE SS:GPARSER.ZIL.37, 15-17 (34628) + ) +**** FILE SS:PARSER.ZIL.273, 11-15 (51420) + ) + ( + > + ) +*************** + +**** FILE SS:GPARSER.ZIL.37, 15-27 (34938) + + 0> )>)> + + + .LIT> + +;> 0> ,W?IT>> + ) + (T <>>)>> +;> 0> ,W?IT>> + ) + (T <>>)>> +;"former CRUFTY routine, re-written by SWG" +PARSER.ZIL.273, 11-28 (51827) + ,VEHBIT> + ,OPENBIT>>> + 1 1>)> + + 0> + >)>)> + + > + )> + + + .LIT> +;"former CRUFTY.ZIL routine" +GPARSER.ZIL.37, 15-62 (35997) +)) ;"can player TOUCH object?" + ;"revised 5/2/84 by SEM and SWG" + + ) + ;( + + ) + (T + )>) + ( + ) + ( + ) + ( + > + ) + ( ,HERE >> + ) + (> + ) + ( + > + ) + (T + )>> + + ) + ( + )> + + ) + (T + >)>>> +**** FILE SS:PARSER.ZIL.273, 11-58 (52699) +> + > + > + + + > + )>) + ( + + > + )>) + ( + + > + )>) + ( + + + >> + )>> +*************** diff --git a/zork1.chart b/zork1.chart new file mode 100644 index 0000000..92b563a --- /dev/null +++ b/zork1.chart @@ -0,0 +1,2 @@ +-date- -rel- -size- -pre- -obj- -glo- -voc- + 4/29 119 86838 19284 250 155 684 diff --git a/zork1.errors b/zork1.errors new file mode 100644 index 0000000..a4be01f --- /dev/null +++ b/zork1.errors @@ -0,0 +1,35 @@ +Assembling ZORK1.ZAP.25 on Friday, April 29, 1988 12:12:19 +Release: 119 + + 64 Inserting ZORK1FREQ.XZAP.3 (624 bytes) + 688 Inserting ZORK1DAT.ZAP.22 (18596 bytes) + 19284 Inserting ZORK1PUR.ZAP.9 (1214 bytes) + 20498 Inserting GMACROS.ZAP.25 (119 bytes) + 20617 Inserting 1DUNGEON.ZAP.24 (232 bytes) + 20849 Inserting GGLOBALS.ZAP.23 (1160 bytes) + 22009 Inserting GCLOCK.ZAP.23 (175 bytes) + 22184 Inserting GMAIN.ZAP.23 (891 bytes) + 23075 Inserting GPARSER.ZAP.21 (6585 bytes) + 29660 Inserting GVERBS.ZAP.22 (10530 bytes) + 40190 Inserting 1ACTIONS.ZAP.21 (29982 bytes) + 70172 Inserting ZORK1STR.ZAP.21 (16666 bytes) + +Symbols unused: +UNTIE-FROM +BREATHE +CYCLOPS-MELEE +TROLL-MELEE +P-DIRECTION +DEF2A +DEF3C +THIEF-MELEE + +250 objects. +155 globals. +684 word vocabulary. + + 86838 bytes (85K). + 19284 bytes of preload. + 11282 bytes of impure. + +Outputting symbol tables diff --git a/zork1.record b/zork1.record new file mode 100644 index 0000000..849c7c0 --- /dev/null +++ b/zork1.record @@ -0,0 +1,632 @@ + +Combined ZIL Compiler Ver 2.0 (MIM) +----------------------------------- + +Incremental compilation disabled, because top-level ZIL file changed. + +Input file: SS:ZORK1.ZIL.29 +[ZIP instructions] + +Loading SS:GMACROS.ZIL.8 and compiling it. +Compiling routine: ZPROB +Compiling routine: RANDOM-ELEMENT +Compiling routine: PICK-ONE +Abstracting SS:GMACROS. +Loading SS:GSYNTAX.ZIL.153 and compiling it. +Loading SS:1DUNGEON.ZIL.122 and compiling it. +Compiling routine: TREASURE-INSIDE +Compiling routine: GRATING-EXIT +Compiling routine: CANYON-VIEW-F +Compiling routine: GO +Abstracting SS:1DUNGEON. +Loading SS:GGLOBALS.ZIL.64 and compiling it. +Compiling routine: NOT-HERE-OBJECT-F +Compiling routine: NOT-HERE-PRINT +Compiling routine: NULL-F +Compiling routine: STAIRS-F +Compiling routine: SAILOR-FCN +Compiling routine: GROUND-FUNCTION +Compiling routine: GRUE-FUNCTION +Compiling routine: CRETIN-FCN +Compiling routine: PATH-OBJECT +Compiling routine: ZORKMID-FUNCTION +Abstracting SS:GGLOBALS. +Loading SS:GCLOCK.ZIL.6 and compiling it. +Compiling routine: QUEUE +Compiling routine: INT +Compiling routine: CLOCKER +Abstracting SS:GCLOCK. +Loading SS:GMAIN.ZIL.42 and compiling it. +Compiling routine: MAIN-LOOP +Compiling routine: MAIN-LOOP-1 +Compiling routine: PERFORM +Abstracting SS:GMAIN. +Loading SS:GPARSER.ZIL.45 and compiling it. +Compiling routine: PARSER +Compiling routine: STUFF +Compiling routine: INBUF-STUFF +Compiling routine: INBUF-ADD +Compiling routine: WT? +Compiling routine: CLAUSE +Compiling routine: NUMBER? +Compiling routine: ORPHAN-MERGE +Compiling routine: ACLAUSE-WIN +Compiling routine: NCLAUSE-WIN +Compiling routine: WORD-PRINT +Compiling routine: UNKNOWN-WORD +Compiling routine: CANT-USE +Compiling routine: SYNTAX-CHECK +Compiling routine: CANT-ORPHAN +Compiling routine: ORPHAN +Compiling routine: THING-PRINT +Compiling routine: BUFFER-PRINT +Compiling routine: PREP-PRINT +Compiling routine: CLAUSE-COPY +Compiling routine: CLAUSE-ADD +Compiling routine: PREP-FIND +Compiling routine: SYNTAX-FOUND +Compiling routine: GWIM +Compiling routine: SNARF-OBJECTS +Compiling routine: BUT-MERGE +Compiling routine: SNARFEM +Compiling routine: GET-OBJECT +Compiling routine: WHICH-PRINT +Compiling routine: GLOBAL-CHECK +Compiling routine: DO-SL +Compiling routine: SEARCH-LIST +Compiling routine: OBJ-FOUND +Compiling routine: TAKE-CHECK +Compiling routine: ITAKE-CHECK +Compiling routine: MANY-CHECK +Compiling routine: ZMEMQ +Compiling routine: ZMEMQB +Compiling routine: LIT? +Compiling routine: THIS-IT? +Compiling routine: ACCESSIBLE? +Compiling routine: META-LOC +Abstracting SS:GPARSER. +Loading SS:GVERBS.ZIL.429 and compiling it. +Compiling routine: V-VERBOSE +Compiling routine: V-BRIEF +Compiling routine: V-SUPER-BRIEF +Compiling routine: V-INVENTORY +Compiling routine: FINISH +Compiling routine: V-QUIT +Compiling routine: V-RESTART +Compiling routine: V-RESTORE +Compiling routine: V-SAVE +Compiling routine: V-SCRIPT +Compiling routine: V-UNSCRIPT +Compiling routine: V-VERSION +Compiling routine: V-VERIFY +Compiling routine: V-COMMAND-FILE +Compiling routine: V-RANDOM +Compiling routine: V-RECORD +Compiling routine: V-UNRECORD +Compiling routine: V-ADVENT +Compiling routine: V-ALARM +Compiling routine: V-ANSWER +Compiling routine: V-ATTACK +Compiling routine: V-BACK +Compiling routine: V-BLAST +Compiling routine: PRE-BOARD +Compiling routine: V-BOARD +Compiling routine: V-BREATHE +Compiling routine: V-BRUSH +Compiling routine: V-BUG +Compiling routine: TELL-NO-PRSI +Compiling routine: PRE-BURN +Compiling routine: V-BURN +Compiling routine: V-CHOMP +Compiling routine: V-CLIMB-DOWN +Compiling routine: V-CLIMB-FOO +Compiling routine: V-CLIMB-ON +Compiling routine: V-CLIMB-UP +Compiling routine: V-CLOSE +Compiling routine: V-COMMAND +Compiling routine: V-COUNT +Compiling routine: V-CROSS +Compiling routine: V-CURSES +Compiling routine: V-CUT +Compiling routine: V-DEFLATE +Compiling routine: V-DIG +Compiling routine: V-DISEMBARK +Compiling routine: V-DISENCHANT +Compiling routine: V-DRINK +Compiling routine: V-DRINK-FROM +Compiling routine: PRE-DROP +Compiling routine: V-DROP +Compiling routine: V-EAT +Compiling routine: HIT-SPOT +Compiling routine: V-ECHO +Compiling routine: V-ENCHANT +Compiling routine: REMOVE-CAREFULLY +Compiling routine: V-ENTER +Compiling routine: V-EXAMINE +Compiling routine: V-EXIT +Compiling routine: V-EXORCISE +Compiling routine: PRE-FILL +Compiling routine: V-FILL +Compiling routine: V-FIND +Compiling routine: V-FOLLOW +Compiling routine: V-FROBOZZ +Compiling routine: PRE-GIVE +Compiling routine: V-GIVE +Compiling routine: V-HATCH +Compiling routine: V-HELLO +Compiling routine: V-INCANT +Compiling routine: V-INFLATE +Compiling routine: V-KICK +Compiling routine: V-KISS +Compiling routine: V-KNOCK +Compiling routine: V-LAMP-OFF +Compiling routine: V-LAMP-ON +Compiling routine: V-LAUNCH +Compiling routine: V-LEAN-ON +Compiling routine: V-LEAP +Compiling routine: V-LEAVE +Compiling routine: V-LISTEN +Compiling routine: V-LOCK +Compiling routine: V-LOOK +Compiling routine: V-LOOK-BEHIND +Compiling routine: V-LOOK-INSIDE +Compiling routine: V-LOOK-ON +Compiling routine: V-LOOK-UNDER +Compiling routine: V-LOWER +Compiling routine: V-MAKE +Compiling routine: V-MELT +Compiling routine: PRE-MOVE +Compiling routine: V-MOVE +Compiling routine: V-MUMBLE +Compiling routine: PRE-MUNG +Compiling routine: V-MUNG +Compiling routine: V-ODYSSEUS +Compiling routine: V-OIL +Compiling routine: V-OPEN +Compiling routine: V-OVERBOARD +Compiling routine: V-PICK +Compiling routine: V-PLAY +Compiling routine: V-PLUG +Compiling routine: V-POUR-ON +Compiling routine: V-PRAY +Compiling routine: V-PUMP +Compiling routine: V-PUSH +Compiling routine: V-PUSH-TO +Compiling routine: PRE-PUT +Compiling routine: V-PUT +Compiling routine: V-PUT-BEHIND +Compiling routine: V-PUT-ON +Compiling routine: V-PUT-UNDER +Compiling routine: V-RAISE +Compiling routine: V-RAPE +Compiling routine: PRE-READ +Compiling routine: V-READ +Compiling routine: V-READ-PAGE +Compiling routine: V-REPENT +Compiling routine: V-REPLY +Compiling routine: V-RING +Compiling routine: V-RUB +Compiling routine: V-SAY +Compiling routine: V-SEARCH +Compiling routine: V-SEND +Compiling routine: PRE-SGIVE +Compiling routine: V-SGIVE +Compiling routine: V-SHAKE +Compiling routine: SHAKE-LOOP +Compiling routine: V-SKIP +Compiling routine: V-SMELL +Compiling routine: V-SPIN +Compiling routine: V-SPRAY +Compiling routine: V-SQUEEZE +Compiling routine: V-SSPRAY +Compiling routine: V-STAB +Compiling routine: V-STAND +Compiling routine: V-STAY +Compiling routine: V-STRIKE +Compiling routine: V-SWIM +Compiling routine: V-SWING +Compiling routine: PRE-TAKE +Compiling routine: V-TAKE +Compiling routine: V-TELL +Compiling routine: V-THROUGH +Compiling routine: V-THROW +Compiling routine: V-THROW-OFF +Compiling routine: V-TIE +Compiling routine: V-TIE-UP +Compiling routine: V-TREASURE +Compiling routine: PRE-TURN +Compiling routine: V-TURN +Compiling routine: V-UNLOCK +Compiling routine: V-UNTIE +Compiling routine: V-WAIT +Compiling routine: V-WALK +Compiling routine: V-WALK-AROUND +Compiling routine: V-WALK-TO +Compiling routine: V-WAVE +Compiling routine: V-WEAR +Compiling routine: V-WIN +Compiling routine: V-WIND +Compiling routine: V-WISH +Compiling routine: V-YELL +Compiling routine: V-ZORK +Compiling routine: V-FIRST-LOOK +Compiling routine: DESCRIBE-ROOM +Compiling routine: DESCRIBE-OBJECTS +Compiling routine: DESCRIBE-OBJECT +Compiling routine: PRINT-CONTENTS +Compiling routine: PRINT-CONT +Compiling routine: FIRSTER +Compiling routine: SEE-INSIDE? +Compiling routine: SCORE-UPD +Compiling routine: SCORE-OBJ +Compiling routine: YES? +Compiling routine: ITAKE +Compiling routine: IDROP +Compiling routine: CCOUNT +Compiling routine: WEIGHT +Compiling routine: HACK-HACK +Compiling routine: NO-GO-TELL +Compiling routine: GOTO +Compiling routine: LKP +Compiling routine: DO-WALK +Compiling routine: GLOBAL-IN? +Compiling routine: FIND-IN +Compiling routine: HELD? +Compiling routine: OTHER-SIDE +Compiling routine: MUNG-ROOM +Compiling routine: THIS-IS-IT +Abstracting SS:GVERBS. +Loading SS:1ACTIONS.ZIL.257 and compiling it. +Compiling routine: WEST-HOUSE +Compiling routine: EAST-HOUSE +Compiling routine: OPEN-CLOSE +Compiling routine: BOARD-F +Compiling routine: TEETH-F +Compiling routine: GRANITE-WALL-F +Compiling routine: SONGBIRD-F +Compiling routine: WHITE-HOUSE-F +Compiling routine: GO-NEXT +Compiling routine: FOREST-F +Compiling routine: MOUNTAIN-RANGE-F +Compiling routine: WATER-F +Compiling routine: KITCHEN-WINDOW-F +Compiling routine: GHOSTS-F +Compiling routine: BASKET-F +Compiling routine: BAT-F +Compiling routine: FLY-ME +Compiling routine: FWEEP +Compiling routine: BELL-F +Compiling routine: HOT-BELL-F +Compiling routine: BOARDED-WINDOW-FCN +Compiling routine: NAILS-PSEUDO +Compiling routine: CRACK-FCN +Compiling routine: KITCHEN-FCN +Compiling routine: STONE-BARROW-FCN +Compiling routine: BARROW-DOOR-FCN +Compiling routine: BARROW-FCN +Compiling routine: TROPHY-CASE-FCN +Compiling routine: LIVING-ROOM-FCN +Compiling routine: TOUCH-ALL +Compiling routine: OTVAL-FROB +Compiling routine: TRAP-DOOR-FCN +Compiling routine: CELLAR-FCN +Compiling routine: CHIMNEY-F +Compiling routine: UP-CHIMNEY-FUNCTION +Compiling routine: TRAP-DOOR-EXIT +Compiling routine: RUG-FCN +Compiling routine: AXE-F +Compiling routine: STILETTO-FUNCTION +Compiling routine: WEAPON-FUNCTION +Compiling routine: TROLL-FCN +Compiling routine: LEAVES-APPEAR +Compiling routine: LEAF-PILE +Compiling routine: CLEARING-FCN +Compiling routine: MAZE-11-FCN +Compiling routine: GRATE-FUNCTION +Compiling routine: MAZE-DIODES +Compiling routine: RUSTY-KNIFE-FCN +Compiling routine: KNIFE-F +Compiling routine: SKELETON +Compiling routine: TORCH-OBJECT +Compiling routine: MIRROR-ROOM +Compiling routine: MIRROR-MIRROR +Compiling routine: TORCH-ROOM-FCN +Compiling routine: DOME-ROOM-FCN +Compiling routine: LLD-ROOM +Compiling routine: I-XB +Compiling routine: I-XC +Compiling routine: I-XBH +Compiling routine: DAM-ROOM-FCN +Compiling routine: BOLT-F +Compiling routine: BUBBLE-F +Compiling routine: INTEGRAL-PART +Compiling routine: I-RFILL +Compiling routine: I-REMPTY +Compiling routine: BUTTON-F +Compiling routine: TOOL-CHEST-FCN +Compiling routine: I-MAINT-ROOM +Compiling routine: LEAK-FUNCTION +Compiling routine: FIX-MAINT-LEAK +Compiling routine: PUTTY-FCN +Compiling routine: TUBE-FUNCTION +Compiling routine: DAM-FUNCTION +Compiling routine: WITH-TELL +Compiling routine: RESERVOIR-SOUTH-FCN +Compiling routine: RESERVOIR-FCN +Compiling routine: RESERVOIR-NORTH-FCN +Compiling routine: BOTTLE-FUNCTION +Compiling routine: CYCLOPS-FCN +Compiling routine: I-CYCLOPS +Compiling routine: CYCLOPS-ROOM-FCN +Compiling routine: LOUD-ROOM-FCN +Compiling routine: DEEP-CANYON-F +Compiling routine: THIEF-VS-ADVENTURER +Compiling routine: STOLE-LIGHT? +Compiling routine: HACK-TREASURES +Compiling routine: DEPOSIT-BOOTY +Compiling routine: ROB-MAZE +Compiling routine: ROBBER-FUNCTION +Compiling routine: LARGE-BAG-F +Compiling routine: MOVE-ALL +Compiling routine: CHALICE-FCN +Compiling routine: TREASURE-ROOM-FCN +Compiling routine: THIEF-IN-TREASURE +Compiling routine: FRONT-DOOR-FCN +Compiling routine: BODY-FUNCTION +Compiling routine: BLACK-BOOK +Compiling routine: PAINTING-FCN +Compiling routine: LANTERN +Compiling routine: MAILBOX-F +Compiling routine: MATCH-FUNCTION +Compiling routine: I-MATCH +Compiling routine: I-LANTERN +Compiling routine: I-CANDLES +Compiling routine: LIGHT-INT +Compiling routine: MIN +Compiling routine: CANDLES-FCN +Compiling routine: CAVE2-ROOM +Compiling routine: SWORD-FCN +Compiling routine: BOOM-ROOM +Compiling routine: BAT-D +Compiling routine: BATS-ROOM +Compiling routine: MACHINE-ROOM-FCN +Compiling routine: MACHINE-F +Compiling routine: MSWITCH-FUNCTION +Compiling routine: GUNK-FUNCTION +Compiling routine: NO-OBJS +Compiling routine: SOUTH-TEMPLE-FCN +Compiling routine: WHITE-CLIFFS-FUNCTION +Compiling routine: SCEPTRE-FUNCTION +Compiling routine: FALLS-ROOM +Compiling routine: RAINBOW-FCN +Compiling routine: DBOAT-FUNCTION +Compiling routine: FIX-BOAT +Compiling routine: RIVER-FUNCTION +Compiling routine: I-RIVER +Compiling routine: RBOAT-FUNCTION +Compiling routine: BREATHE +Compiling routine: IBOAT-FUNCTION +Compiling routine: RIVR4-ROOM +Compiling routine: SAND-FUNCTION +Compiling routine: TREE-ROOM +Compiling routine: EGG-OBJECT +Compiling routine: BAD-EGG +Compiling routine: CANARY-OBJECT +Compiling routine: FOREST-ROOM? +Compiling routine: I-FOREST-ROOM +Compiling routine: FOREST-ROOM +Compiling routine: WCLIF-OBJECT +Compiling routine: CLIFF-OBJECT +Compiling routine: ROPE-FUNCTION +Compiling routine: UNTIE-FROM +Compiling routine: SLIDE-FUNCTION +Compiling routine: SLIDER +Compiling routine: SANDWICH-BAG-FCN +Compiling routine: DEAD-FUNCTION +Compiling routine: LAKE-PSEUDO +Compiling routine: STREAM-PSEUDO +Compiling routine: CHASM-PSEUDO +Compiling routine: DOME-PSEUDO +Compiling routine: GATE-PSEUDO +Compiling routine: DOOR-PSEUDO +Compiling routine: PAINT-PSEUDO +Compiling routine: GAS-PSEUDO +Compiling routine: DO-FIGHT +Compiling routine: REMARK +Compiling routine: FIGHT-STRENGTH +Compiling routine: VILLAIN-STRENGTH +Compiling routine: FIND-WEAPON +Compiling routine: VILLAIN-BLOW +Compiling routine: HERO-BLOW +Compiling routine: WINNER-RESULT +Compiling routine: VILLAIN-RESULT +Compiling routine: WINNING? +Compiling routine: I-CURE +Compiling routine: I-FIGHT +Compiling routine: AWAKEN +Compiling routine: I-SWORD +Compiling routine: INFESTED? +Compiling routine: I-THIEF +Compiling routine: DROP-JUNK +Compiling routine: RECOVER-STILETTO +Compiling routine: STEAL-JUNK +Compiling routine: ROB +Compiling routine: V-DIAGNOSE +Compiling routine: V-SCORE +Compiling routine: JIGS-UP + ** Note: Atomic argument to routine assumed constant - DEAD-FUNCTION + +Compiling routine: RANDOMIZE-OBJECTS +Compiling routine: KILL-INTERRUPTS +Compiling routine: BAG-OF-COINS-F +Compiling routine: TRUNK-F +Compiling routine: STUPID-CONTAINER +Compiling routine: DUMB-CONTAINER +Compiling routine: GARLIC-F +Compiling routine: CHAIN-PSEUDO +Compiling routine: TROLL-ROOM-F +Abstracting SS:1ACTIONS. + ** Note: OBJECT has no properties: GLOBAL-OBJECTS +Vocabulary: 684 + +Prepositions: 18 + +ABOUT AROUND AWAY DOWN FROM OFF OUT TO UP +ACROSS AT BEHIND FOR IN ON OVER UNDER WITH + +Real globals: 148 + +ABOVE-GROUND HS P-OFLAG +AGAIN-DIR IN-HOUSE-AROUND P-ONEOBJ +AGAIN-LEXV INDENTS P-OTBL +ALWAYS-LIT JUMPLOSS P-OVTBL +BASE-SCORE KITCHEN-WINDOW-FLAG P-PRSI +BAT-DROPS LAMP-TABLE P-PRSO +BDIGS LIGHT-SHAFT P-SLOCBITS +BEACH-DIG LIT P-SYNTAX +BUOY-FLAG LLD-FLAG P-TABLE +C-DEMONS LOAD-ALLOWED P-VTBL +C-INTS LOAD-MAX P-WALK-DIR +C-TABLE LOUD-FLAG P-WON +CAGE-TOP LOUD-RUNS P-XADJ +CANDLE-TABLE LOW-TIDE P-XADJN +CLOCK-WAIT LUCKY P-XNAM +COFFIN-CURE MAGIC-FLAG PLAYER +CYCLOMAD MATCH-COUNT PRSA +CYCLOPS-FLAG MIRROR-MUNG PRSI +CYCLOPS-MELEE OOPS-INBUF PRSO +CYCLOWRATH OOPS-TABLE QUOTE-FLAG +DEAD P-AADJ RAINBOW-FLAG +DEATHS P-ACLAUSE RESERVE-LEXV +DEF1 P-ACT RESERVE-PTR +DEF1-RES P-ADJ RIVER-LAUNCH +DEF2-RES P-ADJN RIVER-NEXT +DEF2A P-ADVERB RIVER-SPEEDS +DEF2B P-ANAM ROBBER-C-DESC +DEF3-RES P-AND ROBBER-U-DESC +DEF3A P-BUTS RUG-MOVED +DEF3B P-CCTBL SCORE-MAX +DEF3C P-CONT SING-SONG +DEFLATE P-DIR SPRAYED? +DESC-OBJECT P-DIRECTION SUPER-BRIEF +DOME-FLAG P-END-ON-PREP SWIMYUKS +DROWNINGS P-GETFLAGS THIEF-ENGROSSED +DUMMY P-GWIMBIT THIEF-HERE +EGG-SOLVE P-INBUF THIEF-MELEE +EMPTY-HANDED P-IT-OBJECT TROLL-FLAG +FALSE-FLAG P-ITBL TROLL-MELEE +FOREST-AROUND P-LEN VERBOSE +FUMBLE-NUMBER P-LEXV VILLAINS +FUMBLE-PROB P-MATCHLEN WATER-LEVEL +GATE-FLAG P-MERGE WHEEEEE +GATES-OPEN P-MERGED WINNER +GRATE-REVEALED P-MULT WON-FLAG +GRUNLOCK P-NAM XB +HELLOS P-NCN XC +HERO-MELEE P-NOT-HERE YUKS +HO-HUM P-NUMBER +HOUSE-AROUND P-OCLAUSE + +Objects: 250 + +ADVENTURER GLOBAL-OBJECTS POT-OF-GOLD +ADVERTISEMENT GLOBAL-WATER PRAYER +ALTAR GRANITE-WALL PSEUDO-OBJECT +ARAGAIN-FALLS GRATE PUMP +ATLANTIS-ROOM GRATING-CLEARING PUNCTURED-BOAT +ATTIC GRATING-ROOM PUTTY +ATTIC-TABLE GROUND RAILING +AXE GRUE RAINBOW +BAG-OF-COINS GUIDE RAISED-BASKET +BAR GUNK RED-BUTTON +BARROW HANDS RESERVOIR +BARROW-DOOR HOT-BELL RESERVOIR-NORTH +BAT IN-STREAM RESERVOIR-SOUTH +BAT-ROOM INFLATABLE-BOAT RIVER +BAUBLE INFLATED-BOAT RIVER-1 +BELL INTNUM RIVER-2 +BLESSINGS IT RIVER-3 +BLUE-BUTTON JADE RIVER-4 +BOARD KEYS RIVER-5 +BOARDED-WINDOW KITCHEN ROOMS +BOAT-LABEL KITCHEN-TABLE ROPE +BODIES KITCHEN-WINDOW ROUND-ROOM +BOLT KNIFE RUG +BONES LADDER RUSTY-KNIFE +BOOK LADDER-BOTTOM SAILOR +BOTTLE LADDER-TOP SAND +BRACELET LAMP SANDWICH-BAG +BROKEN-CANARY LAND-OF-LIVING-DEAD SANDY-BEACH +BROKEN-EGG LARGE-BAG SANDY-CAVE +BROKEN-LAMP LEAK SCARAB +BROWN-BUTTON LEAVES SCEPTRE +BUBBLE LIVING-ROOM SCREWDRIVER +BUOY LOCAL-GLOBALS SHAFT-ROOM +BURNED-OUT-LANTERN LOUD-ROOM SHORE +CANARY LOWER-SHAFT SHOVEL +CANDLES LOWERED-BASKET SKULL +CANYON-BOTTOM LUNCH SLIDE +CANYON-VIEW LUNGS SLIDE-ROOM +CELLAR MACHINE SMALL-CAVE +CHALICE MACHINE-ROOM SMELLY-ROOM +CHASM-ROOM MACHINE-SWITCH SONGBIRD +CHIMNEY MAILBOX SOUTH-OF-HOUSE +CLEARING MAINTENANCE-ROOM SOUTH-TEMPLE +CLIFF-MIDDLE MAP SQUEEKY-ROOM +CLIMBABLE-CLIFF MATCH STAIRS +COAL MAZE-1 STILETTO +COFFIN MAZE-10 STONE-BARROW +COLD-PASSAGE MAZE-11 STRANGE-PASSAGE +CONTROL-PANEL MAZE-12 STREAM-VIEW +CRACK MAZE-13 STUDIO +CYCLOPS MAZE-14 SWORD +CYCLOPS-ROOM MAZE-15 TEETH +DAM MAZE-2 THIEF +DAM-BASE MAZE-3 TIMBER-ROOM +DAM-LOBBY MAZE-4 TIMBERS +DAM-ROOM MAZE-5 TINY-CAVE +DAMP-CAVE MAZE-6 TOOL-CHEST +DEAD-END-1 MAZE-7 TORCH +DEAD-END-2 MAZE-8 TORCH-ROOM +DEAD-END-3 MAZE-9 TRAP-DOOR +DEAD-END-4 ME TREASURE-ROOM +DEAD-END-5 MINE-1 TREE +DEEP-CANYON MINE-2 TRIDENT +DIAMOND MINE-3 TROLL +DOME-ROOM MINE-4 TROLL-ROOM +EAST-OF-CHASM MINE-ENTRANCE TROPHY-CASE +EAST-OF-HOUSE MIRROR-1 TRUNK +EGG MIRROR-2 TUBE +EGYPT-ROOM MIRROR-ROOM-1 TWISTING-PASSAGE +EMERALD MIRROR-ROOM-2 UP-A-TREE +END-OF-RAINBOW MOUNTAIN-RANGE WALL +ENGRAVINGS MOUNTAINS WATER +ENGRAVINGS-CAVE NARROW-PASSAGE WEST-OF-HOUSE +ENTRANCE-TO-HADES NEST WHITE-CLIFF +EW-PASSAGE NORTH-OF-HOUSE WHITE-CLIFFS-NORTH +FOREST NORTH-TEMPLE WHITE-CLIFFS-SOUTH +FOREST-1 NOT-HERE-OBJECT WHITE-HOUSE +FOREST-2 NS-PASSAGE WINDING-PASSAGE +FOREST-3 ON-RAINBOW WOODEN-DOOR +FRONT-DOOR OWNERS-MANUAL WRENCH +GALLERY PAINTING YELLOW-BUTTON +GARLIC PATH ZORKMID +GAS-ROOM PATHOBJ +GHOSTS PEDESTAL + +Properties: 30 + +P?ACTION P?DESCFCN P?IN P?NW P?SOUTH P?TVALUE +P?ADJECTIVE P?DOWN P?LAND P?OUT P?STRENGTH P?UP +P?ADVFCN P?EAST P?LDESC P?PSEUDO P?SW P?VALUE +P?CAPACITY P?FDESC P?NE P?SE P?SYNONYM P?VTYPE +P?CONTFCN P?GLOBAL P?NORTH P?SIZE P?TEXT P?WEST + +Flags: 32 + +ACTORBIT FIGHTBIT NDESCBIT RMUNGBIT TOOLBIT WEAPONBIT +BURNBIT FLAMEBIT NONLANDBIT SACREDBIT TOUCHBIT WEARBIT +CLIMBBIT FOODBIT ONBIT SEARCHBIT TRANSBIT +CONTBIT INVISIBLE OPENBIT STAGGERED TRYTAKEBIT +DOORBIT LIGHTBIT READBIT SURFACEBIT TURNBIT +DRINKBIT MAZEBIT RLANDBIT TAKEBIT VEHBIT diff --git a/zork1.serial b/zork1.serial new file mode 100644 index 0000000..d00491f --- /dev/null +++ b/zork1.serial @@ -0,0 +1 @@ +1 diff --git a/zork1.zil b/zork1.zil index 651f1de..6d0a7f2 100644 --- a/zork1.zil +++ b/zork1.zil @@ -2,55 +2,32 @@ Zork I: The Great Underground Empire (c) Copyright 1983 Infocom, Inc. All Rights Reserved." - - - + - + - - >> -) "AUX" (TIM