Difference between revisions of "Zork"

From Computer History Wiki
Jump to: navigation, search
(6502)
(/* Zork on the PDP-8 running OS/8 - removed as this was ADVENTURE not Zork. ugh.)
Line 94: Line 94:
 
Zork's [[MDL]] source on [[ITS]] for the [[PDP-10]].  Keep checking back....
 
Zork's [[MDL]] source on [[ITS]] for the [[PDP-10]].  Keep checking back....
  
=== Zork on the PDP-8 running OS/8 ===
 
  
More information can be found on [http://www.rickmurphy.net/adventure.html http://www.rickmurphy.net/adventure.html]
 
 
 
From the enclosed readme:
 
 
<pre>  This version of adventure is based on the RT-11 version
 
by Bob Supnik. It is essentially a recoding of the FORTRAN-IV
 
sources into RALF code. The RALF code has been  optimized
 
to fit into 32K. Also, many modifications were made to
 
the code to increase execution speed.
 
 
  Because it is based on the RT-11 version of ADVENTURE,
 
the following features of the FORTRAN-10 version are not
 
supported:
 
 
1) MAGIC mode was removed
 
2) The SUSPEND and HOURS commands were deleted
 
 
 
  The program requires a secondary storage device with
 
at least 250 blocks of free space for working storage.
 
Included with the sources are batch stream files for
 
compiling and loading the program.</pre>
 
 
==== Running ====
 
First you will need the [[SIMH]] [[PDP-8]] Emulator.  Next download the following disk image which has [[OS/8]] and the compiled adventure fortran binaries [http://www.rickmurphy.net/advent-work.rk05 here].
 
 
OS8.ini
 
<pre>
 
set cpu 32K
 
set cpu idle
 
att rk0 advent-work.rk05
 
boot rk0
 
exit
 
</pre>
 
 
Once you've booted that, 'R FRTS', then at the '*' prompt enter 'ADVENT' and escape. You should be off and running.
 
 
*Special thanks to Rick Murphy.
 
  
 
=== Zork on the PDP-11 running BSD ===
 
=== Zork on the PDP-11 running BSD ===

Revision as of 01:55, 22 September 2009

Zork is one of the most popular, and ported games for mini and personal computers. Zork was written in MIT (Marc Blanc, Joel Berez and others) in the MDL language. It was VERY popular and was ported to various other langauges and systems. The Fortran port by Bub Supnik is perhaps one of the more popular versions.

A better introduction can be found here:

http://www.csd.uwo.ca/Infocom/dungeon.html


Introduction

Zork started the genre that would be better known as interactive fiction. You simply type in what you would want to do, and the story unfolds..

# ./zork
You are in an open field west of a big white house with a boarded
front door.
There is a small mailbox here.
>open mailbox
Opening the mailbox reveals:
  A leaflet.
>take leaflet
Taken.
>read leaflet
                    Welcome to Dungeon!

   Dungeon is a game of adventure, danger, and low cunning.  In it
you will explore some of the most amazing territory ever seen by mortal
man.  Hardened adventurers have run screaming from the terrors contained
within.

   In Dungeon, the intrepid explorer delves into the forgotten secrets
of a lost labyrinth deep in the bowels of the earth, searching for
vast treasures long hidden from prying eyes, treasures guarded by
fearsome monsters and diabolical traps!

   No DECsystem should be without one!

   Dungeon was created at the Programming Technology Division of the MIT
Laboratory for Computer Science by Tim Anderson, Marc Blank, Bruce
Daniels, and Dave Lebling.  It was inspired by the Adventure game of
Crowther and Woods, and the Dungeons and Dragons game of Gygax
and Arneson.  The original version was written in MDL (alias MUDDLE).
The current version was translated from MDL into FORTRAN IV by
a somewhat paranoid DEC engineer who prefers to remain anonymous.

   On-line information may be obtained with the commands HELP and INFO.
>

Source code

The MDL source code is available from the SIMH software site here. Likewise, Bob's port to Fortran is available here. The Fortran version was last updated from 1990.


Various versions can be retrieved from http://ftp.giga.or.at/pub/ifarchive/games/source/

Source Code Description
Dungeon_source.sit C source code for Dungeon (the more or less public domain version of the original MIT Zork) for the Macintosh.
dungeon-2.5.6.tar.gz FORTRAN source code of Dungeon, the more or less public domain version of the original MIT Zork, version 2.5A, 30-Aug-90. This version is Robert M. Supnik's DECUS version 2.5A (18-Jul-80), ported to Linux with f2c.
dungeon-3.2A.tar.Z Dungeon version 3.2A, 1-Oct-94; contains all the rooms and puzzles of the original MIT Zork. DEC FORTRAN source code by Robert M. Supnik; see dungn32b.zip for a port to DOS.
dungeon-3.2B.patch Source code patch by Robert M. Supnik to upgrade Dungeon version 3.2A to version 3.2B.
dungeon-3.2B.unidiff Same patch, converted to Larry Wall's 'patch' utility format (unified diff) by David Bristow.
dungeon-glk.tar.Z and added the Glk interface.
dungn26b-src.zip version is Robert M. Supnik's DECUS version 2.6A (18-Oct-80), ported to MS-DOS by Kevin Black. (an MS-DOS executable of this |version is in games/pc/dungn26b.zip)
dungn27s.zip executable of this version is in games/pc/dungn27a.zip, an Amiga port is in games/amiga/Dungeon.lzh, and a port to the Acorn |Archimedes is in games/archimedes/dungeon.spk)
dungn32b.zip FORTRAN source code, ported from DEC FORTRAN to GNU G77 FORTRAN by Volker Blasius and David Kinder. The original source code is in |dungeon-32A.tar.Z (file is linked to games/pc/dungn32b.zip)

Notable versions

Zork running on ITS

Zork's MDL source on ITS for the PDP-10. Keep checking back....


Zork on the PDP-11 running BSD

This version of Zork contains the following readme, with some information as to the history of Zork on the mini's:

This is a patched up RT-11 binary which ran on an LSI-11.
This program was originally distributed on a Purdue mailing and
was full of bugs.  Many bugs in that distribution have been fixed.
This is not a pristine, elegent implemention but it works!

DUNGEON expects following files:

/usr/chris/dungeon/zork         UNIX a.out file for Dungeon root
                                segment and RT-11 Fortran Runtime
/usr/chris/dungeon/dtext.dat    Text file in random access-format
/usr/chris/dungeon/dindex.dat   Indicies (probably into dtext.dat)
/usr/chris/dungeon/doverlay     Original RT-11 DUNGEO.SAV
                                (reads overlays from here)


If you don't like these pathnames, "dungeon.c" may be modified to
reflect the desired names.  Pathnames were originally in "o.s" but
"dungeon.c" was implemented at Purdue as an easier way to change them
than patching binaries.  However, we have standardized the d/o.s
interface.  It now would be an simple task to put pathnames in o.s
if one so desired.

Other files of interest:

dungeon.c       C program with date and UID check and exec of dungeon.

o.s             Assembler driver to make dungeon run under UNIX.
                Loads overlays, save/restore games, etc.  This must
                be relocated to 0146000 and stuck on the end of the
                dungeon binary file "d". (We don't have sources)

p1              sh file to patch up a.out file "dung" so interface
                between "d" and "o.s" works.

1.s             kludge file to achive . = .+ 0146000

mkovl           sh file to make overlay driver, attach it to "d",
                and make a UNIX a.out file by attaching the
                proper header.

--ccw


Zork on BSD/VAX

This version is infact the same version that runs on the PDP-11 versions of BSD Unix. What is interesting is that this version uses a PDP/11 emulator to run the above binary. It's also worth nothing from the VAX's readme:

     !cmd (the usual shell escape convention)

     >    (to save a game)

     <    (to restore a game)

Using the save/restore commands will cause the program to crash.


Zork on micro's

Zork was also available on various microprocessors, including z80, 6502, 8086.

TRS-80

Zork was first available on the TRS-80 requiring 32kb of ram, and a floppy disk drive!

z80

Zork was made available on the z80 running CP/M. You can run this game on SIMH

6502

Of the 6502 based micro's the Apple II, and the Commodore 64 both possesed ports of the interpeter required to run Zork.

8086

The IBM PC was also able to run Zork, as shipped from Infocom.

History of Zork

The History of Zork can be found here http://www.csd.uwo.ca/Infocom/Articles/NZT/zorkhist.html