Appendix C. Resources available
...the dead hand of the academy had yet to stifle the unbridled
enthusiasms of a small band of amateurs in Europe and America.
Michael D. Coe, Breaking the Maya Code
[Note: these links have not been updated since the 20th June 1997 revision of
this document, and as such are very likely to be incorrect.]
The resources below are mainly available from the
if-archive
at the anonymous FTP site ftp.gmd.de in Germany,
maintained by Volker Blasius. [Some mirrors of this site
are listed at the
Inform home page.
Public Interpreters
At least eleven essentially different
interpreters
are publically available, of which six are in modern use:
- Frotz,
by Stefan Jokisch (1996-), was written in a
successful attempt to implement a Standard-compliant interpreter
from scratch, rather than repair old interpreter cores. It covers
all Versions and ports are available for: DOS, Amiga, Windows CE,
Acorn RISC OS, Windows 95/NT, OS/2, Unix, HP-UX.
-
- Zplet, by Matthew Russotto (1996-), is an almost
Standard-compliant Java applet to interpret Versions 3, 5 and 8.
- Zax,
by Matt Kimmel (1997-), is an almost
Standard-compliant Java application to interpret all Versions other
than 6. (Note that Zax and Zplet
are quite independent of each other:
as one runs in a browser, the other as a stand-alone application, they
may be seen as complementary.)
- Zip,
by Mark Howell (1991-), is a good, almost entirely accurate interpreter
across Versions 1 to 5. The core has evolved into many extended versions,
often covering Version 8 or even implementing this Standard; Stefan
Jokisch has written a document listing bugs and omissions in the original.
Noteworthy ports include: Kevin Bracey's Standard-compliant
!Zip2000,
(Acorn RISC OS only), which fully supports even Version 6;
Rick Bram's
Pilot Zip (1997):
the PalmPilot is a pocket-sized, battery-powered personal organiser
without even a keyboard; Andrew Plotkin's MaxZip,
for System 7 Macintoshes, and XZip, for X-Windows;
Matthew Russotto's Zip Infinity, also for Macintosh; John Holder's
JZip for PCs (itself ported to the Atari ST and Bebox); Greg Ewing's
macZeX, which extends the Z-machine specification to include textual
formatting information loosely based on TeX, but which has not been
used by designers; and other ports including to MS Windows, DOS,
BSD Unix, Amiga, OS/2, Apple IIgs.
- The
InfoTaskForce (or ITF) interpreter (1987-92) is almost as
good, but slower and less accurate on some Version 5 features. It is no
longer maintained by its original authors (David Beazley,
George Janczuk, Peter Lisle, Russell Hoare and Chris Tham)
and the final version was 4.01
(ported to Acorn RISC OS, Atari ST, OS/2, Macintosh, DOS, Amiga); a beta
test of version 4.02 was never widely distributed. However,
Bryan Scattergood has given ITF a new lease of life by updating
it to much more accurate and reliable interpreters for Acorn RISC OS,
the Psion Series 3, Unix/X11 and Windows.
- Apple Newton users can at present play Version 3 games only, using
the shareware interpreter
YAZI,
Yet Another Z-Machine Interpreter, by George Madrid and Sanjay Vankil
(1994-).
- Another Version-3-only interpreter,
Infocom Interpreter
by Martin Korth (1993) is noteworthy for two reasons: first, because
Mr Korth seems to have worked by reverse-engineering the Infocom CP/M
interpreter (in isolation from the main groups of Infocom hackers of
the period), and in this way wrote the only known Z-machine in Pascal
(source available at his site); second, because he then wrote an
assembly-language version for the keyboard-less Nintendo Gameboy.
To use this, one appends the story file to the interpreter, burns the
result into an EPROM and plugs it in: it's probably the nearest thing
to a "hardware Z-machine" yet devised.
The other four interpreters are obsolescent and now hardly used, but
ought not to be forgotten, if only for their contribution to the gradual
process of decipherment.
-
Pinfocom (1992), derived from an early form of ITF, and
released by Paul Smith as a Version 3 (only) interpreter;
final version 3.0 (ported to Amiga and Atari ST).
-
Zmachine (1988-90), by Matthias Pfaller: briefly in limited
circulation (again, for Version 3 only; ported to Amiga and Atari ST).
-
ZIPDebug (1991-3), by Frank Lancaster, supporting
Versions 1 to 5 and offering some debugger facilities.
-
Zterp (1992), by Charles M. Hannum, for Versions 3 to 5:
reputedly very fast.
Testing compliance
Andrew Plotkin has written a story file to torture interpreters into
revealing non-Standard behaviour, with the appropriately contrived
name of
TerpEtude [an archive containing the source code and compiled
story file]. It supersedes the handful of smaller programs
previously attached to versions of this document.
Compilers
Infocom's original compiler Zilch no longer exists: nor is any of its
language, ZIL, documented anywhere
(though this is similar to MDL, which
is documented): no continuous part of the source code of any of
Infocom's games is in the public domain [but see
Stu Galley's chapter of an Infocom history article, and the IEEE
article, for fragments].
Inform
is the only other compiler to have existed. It is freeware and
comes with full documentation (of which this document is a part).
Debugger
A source-level debugger for Inform games, called Infix, has been
on the drawing boards for some years now. A group of authors is
currently developing an implementation.
Utility programs
Mark Howell has written a toolkit of
Ztools, or utility programs (1991-5, updated 1997), which includes:
- Txd, a disassembler for Versions 1 to 8. (Uses the
same opcode names as Inform and this document, and has an option to
disassemble in Inform assembly-language syntax.)
- Infodump, capable of printing the header information,
object tree (with properties and attributes), dictionary and grammar
tables of any Infocom or Inform-compiled game. (Understands all four
varieties of grammar table: Infocom pre-Version 6, Infocom Version 6,
Inform GV1 and GV2.)
- Pix2gif, for converting Version 6 picture data
to GIF files.
- Check, for verifying Infocom or Inform story files.
These continue to be maintained (by Matthew Russotto) and the first two
are extremely useful. Infodump largely supersedes Mike Threepoint's vocabulary
dumper Zorkword (1991-2), which was important in its day (and
which this author found extremely helpful when writing Inform 1).
Story files
-
Numerous Inform-compiled story files are publically available:
games such as 'Curses', 'Christminster', 'Theatre', 'Busted', 'Balances',
'Advent', 'Adventureland' and so on. [For an annotated selection see the
Inform home page.]
- A few Infocom story files are public, notably two 4-in-1 sample
games (released for advertising purposes:
55.850823
and
97.870601) and
Minizork (a heavily
abbreviated form of Zork I released with a Commodore magazine).
- Almost all Infocom's games remain commercially available in
anthologies published by
Activision.
Copyright resides in them and they should not available by FTP
from any site.
- A few other Infocom story files have existed but are neither
on sale nor released from copyright: this applies to several of the
Version 6 games, those games involving literary rights or other
legal issues ('Shogun', 'Hitch-Hiker's Guide To The Galaxy') and
ephemera such as beta-test versions (notably the German version
of 'Zork I') which have somehow passed into private circulation.
Most of the Infocom games exist in
several different releases, and some
were written for one Version and then ported to later ones. 'Zork I', for
instance, has at least 11 releases, 2 early, 8 in Version 3
(with release numbers between 5 to 88 in chronological order) and one in
Version 5 (release 52 -- the releases go back to 1 when the version changes).
Version 1 and 2 games are extinct, though there are a few fossils
in the hands of collectors.
Documents
The definitive guide to all Infocom story files known to exist, and an
indispensable reference for anyone interested in Infocom, is Paul David
Doherty's
Infocom fact sheet, which is regularly updated, concise and
precise. This supersedes Paul Smith's "Infocom Game Information" file.
Stefan Jokisch has written a
brief specification of Infocom-format sound effects files.
Martin Frost is the author of the
Quetzal
standard for saved-game files. Patches to adapt Zip-based
interpreters to use Quetzal are now available.
Andrew Plotkin is drafting the Blorb standard for packaging up
images and sounds with new Z-machine games.
The
Inform Technical Manual documents the format of parsing tables
used in Inform games.
Most of the contents of the original Infocom game manuals are still on
sale with the games themselves: the "samplers" (sample transcripts of
play) are not, but an
archive of them is publically available. So is
an interesting historical archive of magazine articles concerning
Infocom, and articles from Infocom's own publicity magazine
[indexed
here].
Mailing list
A Z-Machine mailing list, organised by
Marnix Klooster (marnix@worldonline.nl),
enables debates on this document, discussion of what interpreters
should do, collaboration on new programs and so on.
Contents /
Preface /
Overview
Section
1 / 2 /
3 / 4 /
5 / 6 /
7 / 8 /
9 / 10 /
11 / 12 /
13 / 14 /
15 / 16
Appendix
A / B /
C / D /
E / F