From: magnus@thep.lu.se (Magnus Olsson)
Subject: Re: Zork/Dungeon (was Re: MDL)
Organization: Theoretical Physics, Lund University, Sweden
Date: Fri, 2 Oct 1992 14:02:43 GMT

In article <1992Oct2.104737.21357@news.columbia.edu> lasner@watsun.cc.columbia.edu (Charles Lasner) writes:
>In article <1992Oct1.113936.24516@bohra.cpg.oz.au> als@bohra.cpg.oz.au (Anthony Shipman) writes:
>>
>>Are you referring to the "cdungeon" program found in
>>    comp.sources.games/volume12/cdungeon
>>
>>It's History file says that it is translated from the Fortran but that
>>it has been superceded by Zork.  ....
>
>>
>>cdungeon has .....
>>
>>
>>
>>/*COPYRIGHT 1980, INFOCOM COMPUTERS AND COMMUNICATIONS, CAMBRIDGE MA. 02142*/
>>/* ALL RIGHTS RESERVED, COMMERCIAL USAGE STRICTLY PROHIBITED */
>>/* WRITTEN BY R. M. SUPNIK */
>>
>>
>>So now I'm confused.  What is the genealogy?

[...]

>I would like this explained also.  As far as I'm concerned, there is only
>one "true" ZORK, the MDL version.  However, while it was under development,
>various ripoffs of it appeared.  Apparently cdungeon is a port or translation
>of the Fortran version that aspires to be compatible with the 585 point version
>of MDL ZORK which isn't the latest version. 

I think I can shed a little light on one small issue here:

The version known as 'cdungeon' is a relatively late addition. According
to the docs, it's an almost "literal" translation of the Fortran
version distributed as 'dungeon' - I think one of the few changes was
that the password check to enter GDT has been removed. Below is the
"HISTORY" file from a recent Macintosh port of cdungeon.

Magnus Olsson                   | \e+      /_
Dept. of Theoretical Physics    |  \  Z   / q
University of Lund, Sweden      |   >----<           
Internet: magnus@thep.lu.se     |  /      \===== g
Bitnet: THEPMO@SELDC52          | /e-      \q



History of the C Implementation of Dungeon
---------------------------------------

This version of dungeon has been modified from FORTRAN to C. The
original was written in DEC FORTRAN, translated from MDL. It was then
translated to f77 for UN*X systems, from which it was translated to C.
The C translation was done with the help of f2c, the FORTRAN to C
translator written by David Gay (AT&T Bell Labs), Stu Feldman
(Bellcore), Mark Maimone (Carnegie-Mellon University), and Norm
Schryer (AT&T Bell Labs). 

I. From the original documentation...

To:	Dungeon Players
From:	"The Translator"
Subj:	Game Information
Date:	8-OCT-80


This is the first (and last) source release of the PDP-11 version of
Dungeon. 

Please note that Dungeon has been superceded by the game ZORK(tm). The
following is an extract from the new product announcement for ZORK in
the September, 1980 issue of the RT-11 SIG newsletter:

"'ZORK: The Great Underground Empire - Part I' ...was developed by the
original authors based on their ZORK (Dungeon) game for the PDP-10. It
features a greatly improved parser; command input and transcript
output files; SAVEs to any device and file name; and adaptation to
different terminal types, including a status line on VT100s. Note:
this is not the FORTRAN version that has been available through DECUS.
This version has been completely rewritten to run efficiently on small
machines - up to 10 times as fast as the DECUS version. 

...ZORK runs under RT-ll, HT-ll, or RSTS/E and requires as little as
20K words of memory and a single floppy disk drive. The game package,
consisting of an RX01-format diskette and an instruction booklet, is
available from Infocom, Inc., P.O. Box 120, Kendall Station,
Cambridge, Ma. 02142."

ZORK(tm) is a trademark of Infocom, Inc. It is available for several
popular personal computers as well as for the PDP-ll. 

VERSION HISTORY

II. DEC FORTRAN to f77 Conversion (17-nov-81)

The conversion from DEC FORTRAN to Unix f77 was done by Randy
Dietrich, Lynn Cochran and Sig Peterson. Much hacking was done to get
it to fit in the limited address space of a PDP-11/44 (split I/D).
Suffice it to say that by leaving out the debugging package and not
linking in the f77 i/o library they managed to get it to run. 

III. PDP to VAX (dec-85)

Based on the work of Randy, Lynn and Sig, Bill Randle folded in the
full save/restore functions and the game debugging package (gdt) into
the pdp version to create a Vax/Unix version. This version also uses
f77 i/o, thus eliminating the extra speak and listen processes needed
on the pdp. 

IV. Cleanup I (11-dec-86)

John Gilmore (hoptoad!gnu) cleaned up the source files by moving most
of the common declarations into include files and added comments from
the original (FORTRAN or MDL?) source. His efforts are greatly
appreciated. 

V. Cleanup II (9-feb-87)

Bill Randle (billr@tekred.tek.com) added the pdp dependencies back
into the Vax source files with #ifdefs in order to have just one set
of sources. Previously, there were two sets of source: one for the pdp
and one for the Vax. In addition, a shell escape of the form !cmd was
added and the wizard can enter the gdt without having to recompile the
source. Finally, a man page was generated, based on the dungeon.doc
file. 

VI. f77 to C (11-mar-91)

Ian Lance Taylor (ian@airs.com or uunet!airs!ian) used the f2c
translator to generate C source code. The resulting code was modified
to remove the FORTRAN I/O library, to add simple more processing, and
to change the format of the database file. Andre Srinivasan
(andre@cs.pitt.edu) help test it. Jonathan Mark (uunet!microsoft!jonm)
made it work under MS-DOS and Microsoft C. Anthony C. Ard made it work
with the Macintosh and THINK C. 
Xref: sparky alt.folklore.computers:14624 talk.bizarre:32333