Portable Infocom Datafile Interpreter ------------------------------------- This package is a public-domain implementation of a Zork Interpretive Program (ZIP). No Infocom Inc. proprietary or otherwise protected code was used to create this program. Note that only standard series Infocom games can be actually played with this interpreter although it can print informational text about any Infocom game. Although this interpreter is free, the data files needed to use it are are still very much covered under copyright. See the man page for more details. This interpreter is based on an early revision of the InfoTaskForce interpreter. It has been extensively modified separately from ongoing work by the ITF. The current ITF interpreter version is 4.01 and supports all Z-Code versions except 6 (Graphical). However, I feel that this version is less buggy, easier to extend, and contains more features than 4.01 (IMHO, of course :). I suggest you use this version for playing Z-Code v.3 games, and ITF 4.01 for v.4 and v.5 games. FEATURES -------- The following features are supported by the interpreter for all Infocom games: - Display of game header information, including release/serial number info, interpretations of various flags, and offset info. - Display of complete vocabulary (includes support for alternate character sets, needed in Shogun for example). - Display of all objects, their attributes and link information. - Display of all objects in a "contained" tree format. - Verifying the data file is not corrupted Additionally, the following features are supported for playing all Standard Series (Z-Code version 3) games: - Save/Restore (restore accepted from the command line as well) - Paging long output - Different screen sizes - Script generation to a printer (if available) or a text file - In-game modification of most command-line options The following additional features are supported for playing Standard series games on UNIX systems: - Support for termcap or terminfo - Support for termio, termios, or stty line discipline control - Optional support for GNU readline command line editing and history - Line editing - History and history file storage - User-defined command completion - Filename completion - Status line printing - Fixed windows (used in _Seastalker_) for terminals supporting scrolling regions (e.g., vt100) The following additional features are supported for playing Standard series games on Amiga systems: - Status line printing - Sound support - Proportional font support - Fixed windows (used in _Seastalker_) - Support for command line editing and history - Function key command assignment - Support for Kickstart 1.2 and 1.3 - Executable saved game files, w/ all options stored - Advanced features for Kickstart 2.04 and above: - Pull-down menus - Point & click interface for saving and restoring games and scripting - Games can be restored by dropping their icons on the interpreter window - Selecting the `About' menu item will display information on the current game The following additional features are supported for playing Standard series games on MS-DOS systems: - Status line printing - Support for color monitors - Fixed window support (used in _Seastalker_) Compiling --------- To compile have a look at the Makefile and set the make variables in the initial section to what you wish, then run make. If your system does not have a supported terminal interface, your only choice currently is to use TERMTYPE=stream and get simple stream-based I/O: this means only traditional C stdio routines are used for output, so you don't get fancy things like a status line. If your system is not supported and you would like to *make* it supported, you can always write a terminal interface yourself! If you would like to write a new interface *please* contact the current maintainer first, to avoid duplication of effort. Hopefully the terminal interface is now fairly stable. See the pinfo_ti(3) man page (or pinfo_ti.txt in the distribution), and examine the current interfaces for some hints and ideas. Since stream.c is the simplest interface, start there. If you have comments on the clarity and/or details of the man page or comments, please let me know. Systems ------- This version of the portable Infocom interpreter has been tested on: DG AViiON DG/UX (4.32, 5.4.1, 5.4.2) Sun SunOS (4.1, 4.1.1, 4.1.2) MIPS BSD 4.2 NeXT Amiga IBM & compatibles MS-DOS, BSDI-386 ACKNOWLEDGMENTS --------------- - The original version of this code was written by the InfoTaskForce. The source of this code is ITF version REV_C (see the _history.txt_ file in the ITF distribution for more info). - All updates and enhancements to this code were made by Paul D. Smith , except as listed below. - The MS-DOS terminal interface was written and contributed by Mike Threepoint . - The Amiga terminal interface was written and contributed by Olaf Barthel . - The original idea/code for the GNU Readline command-completion stuff was contributed by Daniel Sharpe . - Special mention for tons of info on Z-Code, game versions, etc., plus many suggestions for interpreter enhancements to Paul David Doherty . - Also thanks to Mark Howell for his Z-Code disassemblers; they were quite helpful. - Thanks to my beta-testers for their patience, especially (in alphabetical order :) -- Olaf Barthel Paul Close Doug DeJulio Paul David Doherty Glenn Geers Tom Phelps Daniel Sharpe Mike Threepoint Luis Torres Mike Wiese This code was written using information gleaned from the following articles: - IEEE Computer, Apr 1979, "Zork: A computerized fantasy simulation game", by David Lebling, Marc Blank, and T. Anderson. - Creative Computing, Jul 1980, "How to fit a large program into a small machine", by Marc Blank and Stu Galley. - Byte, Dec 1980, "Zork and the future of Computerized Fantasy Simulations", by David Lebling Also consulted were the following programs: - zorkword v7, by Mike Threepoint , for information on alternate alphabets and the structure of the object info list for Z machine versions 4, 5, and 6 data files. - zmachine v2.24, by Matthias Pfaller , for information on setting/resetting the terminal mode under TERMCAP. Disclaimer ---------- This package was updated and modified solely by the persons listed above, in their spare time. In particular, Data General Corporation has no association with or knowledge of this package whatsoever. See the file COPYING for warrantee and copyright information. Local Variables: mode: Text End: