(This Readme file was adapted from the one released with the MS-DOS binary.) FROTZ V2.01 - an interpreter for all Infocom games. Complies with standard 0.2 for all games except V6 (graphic) games. Written by Stefan Jokisch in 1995-96 This program evolved from Mark Howell's Zip. Although the source code is completely re-written, one can still find traces of Zip. Many thanks to Paul D. Doherty for his continuing support of this project. Thanks to Alan Sherrod for testing the performance; to John Kennedy and Ambat Sasi Nair for helpful hints on PC video boards; to Thomas Biskup, Ian Carpenter, Graeme Cree, Jason Dyer, Bernhard Fuchs, Joe Hachem, Kirk Klobe, Marnix Klooster and John Mackin for their bug reports; to David Kinder for his Amiga port. Frotz is freeware: It may be used and distributed freely provided no commercial profit is involved. (c) 1995, 1996 Stefan Jokisch. Please report general bugs to jokisch@ls7.informatik.uni-dortmund.de. Please report unix bugs to galenh@micron.net. WARNING --- BETA CODE This release of Frotz is largely unchanged from the last beta, and I am releasing it only to get some useful and often-requested functions (like default color selection) to those who wanted them. (I also felt guilty about leaving it at beta 2 for so long.) I've heard from people running just about every major commercial unix, with the notable exceptions of AIX and NextStep. I also have yet to hear from anyone running *BSD. So if you're having problems, _please_ send me mail at galenh@micron.net. I can't fix bugs I don't know about! There are only two things you need to compile Frotz: * Some variant of Unix with an ANSI C compiler (gcc works fine) * A reasonably good SYSV derived curses library Note that the second requirement is _very_ important. I had several people send me complaints about Frotz not working, and found out they were unaware that their curses library was obsolete. If your system curses won't work, pick up and compile the ncurses library from ftp://prep.ai.mit.edu/pub/gnu or any GNU mirror site. Frotz is known to run under the two environments I have available: Linux 2.0 (ELF) and Ultrix 4.3 on a Decstation, both with ncurses 1.9.9e. I have reports of it working under SunOS 4, Solaris 2, IRIX[45], and Unixware (SVR4). How to Compile: This source distribution comes with a unsophisticated but functional Makefile. Edit it to reflect your system; the comments are fairly self- explanatory. Once that's done, just type "make". If you get it to compile without any trouble, go ahead and let me know anyway, so I can add your system to the list of "reported working" systems. Just make sure you include the name and version of your operating system in the message. Color support is available by putting -DCOLOR_SUPPORT in the designated spot. I've added code in unix.c for sound hooks, but as no sound code is actually written, defining SOUND_SUPPORT will merely cause compilation to fail. Thanks for giving this a try. Any bug reports, success stories, or constructive criticism will be greatly appreciated. -- Galen Hazelwood -- galenh@micron.net Features: - support for V1 to V8 games - timed input ('Border Zone') - function key support ('Beyond Zork') - command line editing and history - small save files (Zip 2.0 format is still understood) - switches for colour setting - switch for setting the Tandy bit - cheat functions - multiple UNDO (via hot key, even for old V1 to V4 games) - input line recording and playback (via hot key) - support for European characters ('Zork I German') - underlined, reverse and boldface text - fast performance without virtual memory - support for INFOCOM_PATH environment variable Features for the next version: - sound effects via /dev/dsp on Linux and other systems using USS Special Keys: Alt-N - new game (restart) Alt-P - turn on input line playback Alt-R - toggle input line recording on/off Alt-S - set the random seed Alt-U - multiple UNDO (even for old V1 to V4 games) Alt-X - exit game (quit) cursor left - move one character to the left cursor right - move one character to the right home - move to beginning of line end - move to end of line backspace - delete character to the left insert - toggle overwrite mode on/off escape - delete whole input line cursor up - get previous command cursor down - get next command page up - scroll status window up ('Beyond Zork') page down - scroll status window down ('Beyond Zork') Command line options: -f # set the default foreground color (if supported) -b # set the default background color (if supported) -w # set the screen width -h # set the screen height -l # set the left margin -r # set the right margin -u # set the number of undo slots for multiple undo -o monitor object movement -O monitor object locating -a monitor attribute assignment -A monitor attribute testing -t set the Tandy bit (see below) Questions and Answers (general): Q: What is Frotz? A: Frotz runs text adventures which come in so-called story files: ZORK1.DAT, TRINITY.DAT, CURSES.Z5, JIGSAW.Z8, ARTHUR.ZIP etc. Q: Where can I find story files to use with Frotz? A: First, you can use the files from your original Infocom games. It is possible to play Atari ST, Amiga or Macintosh games on your PC once you manage to transfer the story files. Some people even extracted story files from old Atari 800, Apple II and C-64 disks! Second, there is also an increasing number of new games available on the Internet. Check the if-archive at ftp.gmd.de. Q: Why does Frotz stop with an error message? A: Your story file may be corrupt. Be sure to download story files in binary mode. Q: Why doesn't multiple undo work as often as it should? A: The number of undo slots is limited by your free memory. Q: How can I scroll the status window in 'Beyond Zork'? A: Use page up/down instead of cursor up/down. Q: What is this Tandy bit? A: Some old Infocom games were sold by the Tandy Corporation. These games behave slightly different when this bit is set. For example, 'The Witness' gets censored: bastards turn into idiots, private dicks into private eyes and so on. (unix-specific): Q: Is there a way to exit Frotz in emergency situations? A: Try Ctrl-break, Ctrl-C, or Ctrl-Z. The last one suspends your process and returns you to the shell, allowing you to kill it. Q: What do I need to play graphic games? A: A different port of Frotz. Try the MS-DOS version if you can use it, or wait for the X Windows port. You can run some of the V6 games without graphics--Arthur and Journey seem to work, but not Shogun. Q: What do I need for sound? A: A different port of Frotz, or a later version of this one. Sound support will first be available on Linux, and any other system which can use the Unix Sound System (or USS/Lite). Q: Why do I get weird characters instead of accented letters? A: Because your display/terminal/window dosen't support the Latin-1 character set properly. Use the -p flag, which uses plain ascii output and converts accented letters appropriately. Or, if you have the time and skill, add your own mapping to unix.c. Q: Why don't the number pad keys work in 'Beyond Zork'? A: Because curses dosen't seem to know how to handle them properly. I might add a hack to support them later. Q: Why are my default color selections so weird? A: You're used to using the standard PC color values. The unix port wants color numbers in Z-machine form. Quick reference: 2 = black 3 = red 4 = green 5 = yellow 6 = blue 7 = magenta 8 = cyan 9 = white List of fatal errors: - "Byte swapped story file" - "Call to illegal address" - "Call to non-routine" [1] - "Cannot open story file" - "Division by zero" - "Error reading save file" - "Illegal attribute number" - "Illegal object number" [2] - "Jump to illegal address" - "No such property" - "Out of memory" - "Print at illegal address" - "Stack overflow" [3] - "Store out of dynamic memory" - "Story file read error" - "Text buffer overflow" - "Unknown opcode" - "Unsupported Z-code version" [1] The first byte of a routine must be less than 16. [2] In V4 and above, object numbers > 2000 are considered illegal. [3] This condition is only checked on every call instruction.