MDL 104-106 and Zork executables from Rich Alderson. 6/head
authorAdam Sampson <ats@offog.org>
Wed, 2 Sep 2020 16:02:46 +0000 (17:02 +0100)
committerAdam Sampson <ats@offog.org>
Wed, 2 Sep 2020 16:02:46 +0000 (17:02 +0100)
lcml/README.md [new file with mode: 0644]
lcml/agc.mud104 [new file with mode: 0644]
lcml/madadv.help [new file with mode: 0644]
lcml/madadv.info [new file with mode: 0644]
lcml/madadv.save [new file with mode: 0644]
lcml/mdl104.exe [new file with mode: 0644]
lcml/mdl104.symbols [new file with mode: 0644]
lcml/mdl105.exe [new file with mode: 0644]
lcml/mdl106.exe [new file with mode: 0644]
lcml/zork.exe [new file with mode: 0644]

diff --git a/lcml/README.md b/lcml/README.md
new file mode 100644 (file)
index 0000000..bc1f186
--- /dev/null
@@ -0,0 +1,21 @@
+Rich Alderson says: "The Toad systems at Living Computers: Museum + Labs
+(which are still available online) have working executables for
+MDL104.EXE and MADADV.SAV, which I installed myself from my personal
+magtape, whose contents originated at UChicago in the 1970s."
+
+These files came from `UNS:` on the LCM TOAD-2. They're in ANSI-ASCII
+format.
+
+```
+MADADV.HELP.1;P775252      5 2101(36)    7-Aug-1978 23:00:26 ALDERSON  
+  .INFO.1;P775252          1 369(36)    10-Mar-1978 21:07:48 ALDERSON  
+  .SAVE.1;P775252        274 140288(36)  3-Dec-1993 17:11:58 ALDERSON  
+
+AGC.MUD104.1;P775252      12 6144(36)    6-Sep-1977 07:51:11 ALDERSON  
+MDL104.EXE.1;P775252     132 67584(36)   3-Dec-1993 16:33:46 ALDERSON  
+  .SYMBOLS.1;P775252      38 19374(36)   6-Sep-1977 08:05:09 ALDERSON  
+MDL105.EXE.93;P775252    104 53248(36)   6-May-1981 10:06:24 ALDERSON  
+MDL106.EXE.17;P775252    107 54784(36)  11-Jun-1981 11:33:25 ALDERSON  
+
+ZORK.EXE.1;P775252         4 2048(36)   19-Dec-2005 16:08:58 ALDERSON  
+```
diff --git a/lcml/agc.mud104 b/lcml/agc.mud104
new file mode 100644 (file)
index 0000000..bd6cdbf
Binary files /dev/null and b/lcml/agc.mud104 differ
diff --git a/lcml/madadv.help b/lcml/madadv.help
new file mode 100644 (file)
index 0000000..d4cfe22
--- /dev/null
@@ -0,0 +1,269 @@
+ZORK/DUNGEON User Information\r
+\r
+I. Getting a ZORK/DUNGEON\r
\r
+    a. ITS:  Say ZORK^K to DDT rather than :ZORK to get a zork. \r
+    b. 10X/20X:  Invoke the local dungeon (usually DUNGEO)\r
+\r
+II. Bugs, comments, suggestions...\r
+\r
+    Always welcome and encouraged.  All mail should be sent to\r
+    DUNGEON@MIT-DMS.  Dungeon has a BUG command, in addition, which\r
+    may be used to report strange happenings.  Its use is described\r
+    below.  Please note that for 10X/20X systems, net mail to DUNGEON\r
+    will be acted on much more quickly than BUG command reports.\r
+\r
+    If, in making a bug report, you know what symptoms were exhibited\r
+    by the program, PLEASE, PLEASE!!!!! include them.  It is at best\r
+    extremely irritating and at worst useless to receive a bug report\r
+    like 'mumble frotz' loses, or 'try saying \"mumble frotz\"'.  With\r
+    such reports, we have no way of knowing the situation when your\r
+    'mumble frotz' lost, and no way of knowing if any bug we manage\r
+    to reproduce (if we do) is the same one you saw.  In consequence,\r
+    everyone's time is wasted.\r
+\r
+III. Typing to Dungeon.\r
+\r
+    A number of characters in Dungeon have special effects.  These\r
+    include a number of line editing commands.  The characters are:\r
+\r
+     <rubout> or <backspace>:  delete the last character typed\r
+     <ctrl-W>:  delete the last word typed\r
+     <ctrl-U> or <ctrl-X> or <ctrl-@>:  delete the entire buffer\r
+     <ctrl-D>:  redisplay the buffer\r
+     <ctrl-L>:  redisplay the buffer.  Sometimes this also clears the\r
+       screen.\r
+     \r
+     <altmode/cr>:  terminate commands\r
+     <ctrl-S>:  flush long typeouts\r
+     <ctrl-G>:  like the QUIT command (vide infra)\r
+     <semicolon>:  Causes the remainder of the command line to be ignored.\r
+       This may be useful for annotating hard copies/scripts of games.\r
+\r
+IV.  Garbage Collection\r
+\r
+    Dungeon may occasionally type out a message 'GIN FREE STORAGE-\r
+    <long pause> GOUT TIME=10.92'.  This indicates that a garbage\r
+    collection is occurring.  We have attempted to prevent this, since it\r
+    may take a significant amount of real time on a loaded system; should\r
+    it ever occur, please send mail to DUNGEON@MIT-DMS describing the\r
+    circumstances--how many moves have been made, whether a RESTORE has\r
+    been done, and so on.  THIS IS NOT FATAL:  after the GOUT message is\r
+    printed, you may continue playing.\r
+\r
+V.  User Commands\r
+\r
+    The following commands may prove useful for the playing of Dungeon.\r
+They are not, however, game commands (i.e. they have no side effects\r
+in the current game).\r
+\r
+ a. Verbosity\r
+\r
+    Verbose:     The default:  print long room descriptions on first\r
+                visit, 20% of the time thereafter.\r
+\r
+    Brief:        Supresses printing of long room descriptions for rooms\r
+                which have been visited.  Short object descriptions\r
+                are also used in such rooms.\r
\r
+   Super(brief): Suppresses printing of all long descriptions, even\r
+                on the first visit.  Short object descriptions are\r
+                always used.\r
+\r
+   Noobj:       Suppresses printing of object descriptions in rooms\r
+                already visited.  See the 'object' command.\r
+\r
+Note that the maximally verbose description (that printed on the\r
+first visit to a room in verbose mode) may always be obtained by\r
+saying 'look'.  See also the 'room' and 'object' commands.\r
+\r
+b. Help\r
+    \r
+    Info:       Prints a file which might give some idea of\r
+                what the game is about.\r
+     \r
+    Help:       Prints this.\r
+\r
+ c. Progress\r
+\r
+    Quit:       Prints your score, and asks whether you wish to\r
+                continue playing.\r
+\r
+    Score:      Deflate your ego.\r
+\r
+    Time:       Describe how much of eternity you have injured.\r
+\r
+    Versi(on):  Describe the current version.\r
+\r
+ d. Hard copy (directory owners only!)\r
+\r
+    Scrip(t):   Script to a file ZORK.SCRIPT \r
+\r
+    Unscr(ipt):         End scripting\r
+\r
+ e. Save/restore  (directory owners only!)\r
+\r
+    Save:       Save the game for future continuation (to ZORK.SAVE)\r
+\r
+    Resto(re):  Restore a saved game (from ZORK.SAVE)\r
+                Only the player who created the save file can restore\r
+                it at a later time!  You are warned.\r
+               \r
+ f. Bugs, etc.\r
+\r
+    Bug:        Although the best way to report bugs is to send mail\r
+                to DUNGEON@MIT-DMS, there is a 'bug' and command\r
+                built in to the game.  This generates files which \r
+                must, alas, be manually transmitted to the\r
+                maintainers.  It is, however, better than nothing.\r
+     \r
+    Featu(re):  Like Bug, to make a suggestion for a feature.\r
+\r
+ g. General\r
+\r
+    Again:      Repeat the last input.\r
+\r
+    Look:       Describe the current surroundings. 'L' is equivalent.\r
+\r
+    Room:       Print the verbose description of the room, without\r
+                mentioning any objects.\r
+\r
+    Object:     Print the verbose description of all the objects in\r
+                the room, without describing the room.  'Look' is\r
+                equivalent to a 'room' command followed by an\r
+                'object' command.\r
+\r
+    Inven(t):   Describe your possessions. 'I' is equivalent.\r
+\r
+    Diagn(ose):         Describe your state of health.\r
+\r
+    Wait:       Causes 'time' to pass.\r
+\r
+V.  Dungeon Command Parser\r
+     \r
+       A command is one line of text terminated by a carriage return or\r
+    altmode.  For reasons of simplicity all words are distinguished by\r
+    their first five letters.  All others are ignored.  For example,\r
+    typing 'DISASSEMBLE THE ENCYLOPEDIA', while meaningless, is also\r
+    creating excess finger motion.  Note also that ambiguities can be\r
+    introduced by this:  'unscr' is 'UNSCRipt', not 'UNSCRew'.\r
+\r
+       You are talking to a moderately stupid parser, which understands\r
+    the following types of things.\r
+\r
+ Actions:      \r
+\r
+     Among the more obvious of these, TAKE, DROP, etc.  Fairly general\r
+     forms of these may be used:  PICK UP, PUT DOWN, etc.\r
+\r
+ Directions:\r
+\r
+     NORTH, SOUTH, UP, DOWN, etc. and their various abbreviations.\r
+     Other more obscure directions (LAND, CLIMB) are appropriate in\r
+     only certain situations.  Because words are only five letters,\r
+     you must say 'nw' for 'northwest':  the latter is truncated to\r
+     'north', which isn't quite what you had in mind.\r
+     \r
+ Objects: \r
+\r
+     Most objects have names, and can be referenced by them.\r
+\r
+ Adjectives:\r
+\r
+     Some adjectives are understood and are required when there are\r
+     two objects which can be referenced with the same 'name' (e.g.\r
+     DOORs, BUTTONs)\r
+\r
+ Prepositions:\r
+\r
+     It may be necessary in some cases to include prepositions, but\r
+     the parser attempts to handle cases which aren't ambiguous\r
+     without.  Thus 'Give car to demon' will work, as will 'Give demon\r
+     car.'  When a preposition is used, it should be appropriate:\r
+     'Give car with demon' does not parse.\r
+\r
+ Sentences:\r
+\r
+     The parser understands a reasonable number of things.  Rather\r
+     than listing them, we advise you to do reasonable things.  Note\r
+     that several sentences may be typed on the same line, separated\r
+     by commas or by 'and':  'n,e,s,w,open mailb and read' will [try\r
+     to] do just that.\r
+\r
+ Multiple Objects:\r
+\r
+     Sentences of the following forms will parse:\r
+       Put A and B and C in trophy case\r
+       Put A, B, and C in trophy case\r
+       Give A and B to the troll\r
+     The following will not:\r
+       Put A B in case\r
+       Take A B C\r
+     The point is that an AND or a <comma> are required so as not\r
+     to hopelessly confuse the parser.\r
+     Special objects named 'everything' and 'valuables' exist; one\r
+     may, for example, say 'take everything' and 'put valuables in\r
+     trophy case'. \r
+\r
+ Multiple commands:\r
+\r
+     Several commands may be included on a single line.  They must be\r
+     separated by 'then' or '.'.  Thus:\r
+       TAKE BOOK. N. DROP BOOK AND CANDLE\r
+     is correct.  Note that the use of a comma between commands will\r
+     cause the command line to be parsed incorrectly:  comma should\r
+     only be used between multiple objects.\r
+\r
+ Ambiguity:\r
+\r
+     The parser tries to be clever about what to do in the case of\r
+     actions which require objects in the case that the object is not\r
+     specified.  If there is only one possible object, the parser will\r
+     assume that it should be used.  Otherwise, the parser will ask.\r
+     Most questions asked by the parser can be answered (e.g. With\r
+     what?).  \r
+        \r
+VI.  Theories\r
+\r
+     The following 'theories' are fundamental to the game and should\r
+     be noted:\r
+\r
+  Containment:  \r
+\r
+      Some objects can contain other objects.  Many such containers\r
+      can be opened and closed; the rest are always open.  They may or\r
+      may not be transparent.  For you to access (take, for example)\r
+      an object which is in a container, the container must be open;\r
+      for you to see such an object, the container must either be open\r
+      or transparent.  Containers have a capacity, and objects have\r
+      sizes; the number of objects which will fit therefore depends on\r
+      their sizes.  You may "put" any object you have access to (it\r
+      need not be in your hands) into any other object; at some point,\r
+      the program will attempt to pick it up if you don't already have\r
+      it, which process may fail if you're carrying too much.\r
+      Although  containers can contain other containers, the program\r
+      doesn't access more than one level down.\r
+\r
+  Fighting:\r
+\r
+      Occupants of the dungeon will, as a rule, fight back when\r
+      attacked; they may in some cases attack you unprovoked.  Useful\r
+      verbs here are 'attack <villain> with <weapon>', 'kill', etc. \r
+      Knife-throwing may or may not be useful.  The adventurer has a\r
+      fighting strength, which varies with time:  in particular, being\r
+      in a fight, getting killed, and getting injured, all lower it. \r
+      One's carrying capacity may also be reduced after a fight. \r
+      Strength is regained with time.  (Thus, it is not a good idea to\r
+      fight someone immediately after being killed.)  Other details\r
+      may become apparent in the course of a few melees.  The\r
+      'diagnose' command describes your state of health.\r
+\r
+  Vehicles:\r
+\r
+      There are some objects in the dungeon which are rumoured to have\r
+      the ability to transport the fearless adventurer to mysterious\r
+      regions which are inaccessible on foot.  Needless to say, the\r
+      adventurer faces great personal peril as he encounters these     \r
+      regions.  The 'vehicles' can usually be entered with the 'board'\r
+      command, and can be exited with the 'disembark' command. \r
+      \ 3\ 3\ 3
\ No newline at end of file
diff --git a/lcml/madadv.info b/lcml/madadv.info
new file mode 100644 (file)
index 0000000..8ab4f9b
--- /dev/null
@@ -0,0 +1,35 @@
+Welcome to Dungeon!\r
+\r
+    You are near a large dungeon, which is reputed to contain vast\r
+quantities of treasure.  Naturally, you wish to acquire some of it.\r
+In order to do so, you must of course remove it from the dungeon; to\r
+receive full credit for it, you must deposit it safely in the trophy\r
+case in the living room. \r
+    \r
+    In addition to valuables, the dungeon contains various objects\r
+which may or may not be useful in your attempt to get rich; you may\r
+need sources of light, since dungeons are often dark, and weapons,\r
+since dungeons often have unfriendly things wandering about.  Reading\r
+material is scattered around the dungeon as well; some of it is \r
+rumoured to be useful.\r
+\r
+    To determine how successful you have been, there is a score kept.\r
+When you find a valuable object (i.e., pick it up), you receive a\r
+certain number of points, which depends on the difficulty of finding\r
+it.  You receive extra points for transporting the treasure safely to\r
+the living room, and placing it in the trophy case.  In addition,\r
+some particularly interesting rooms  have a value associated with\r
+your entering them.  The only penalty is for getting yourself killed,\r
+which you may do only twice.\r
+\r
+    Of special note is a thief (always carrying a large bag) who\r
+likes to wander around in the dungeon (he has never been seen by the\r
+light of day).  He likes to take things; since he steals for pleasure\r
+rather than profit, and is sadistic, he only takes things which you\r
+have seen.  Although he prefers valuables, sometimes in his haste he\r
+may take something which is worthless; from time to time, he examines\r
+his take and discards objects which he doesn't like.  He may\r
+occasionally stop in a room you are visiting, but more often he just\r
+wanders through and rips you off (he is a skilled pickpocket).\r
+\r
+    Have Fun!
\ No newline at end of file
diff --git a/lcml/madadv.save b/lcml/madadv.save
new file mode 100644 (file)
index 0000000..d94d8bc
Binary files /dev/null and b/lcml/madadv.save differ
diff --git a/lcml/mdl104.exe b/lcml/mdl104.exe
new file mode 100644 (file)
index 0000000..d1c4722
Binary files /dev/null and b/lcml/mdl104.exe differ
diff --git a/lcml/mdl104.symbols b/lcml/mdl104.symbols
new file mode 100644 (file)
index 0000000..a1ba618
Binary files /dev/null and b/lcml/mdl104.symbols differ
diff --git a/lcml/mdl105.exe b/lcml/mdl105.exe
new file mode 100644 (file)
index 0000000..3525bb1
Binary files /dev/null and b/lcml/mdl105.exe differ
diff --git a/lcml/mdl106.exe b/lcml/mdl106.exe
new file mode 100644 (file)
index 0000000..14158ee
Binary files /dev/null and b/lcml/mdl106.exe differ
diff --git a/lcml/zork.exe b/lcml/zork.exe
new file mode 100644 (file)
index 0000000..7d222eb
Binary files /dev/null and b/lcml/zork.exe differ