FROTZ V2.32 - an interpreter for all Infocom games. Complies with standard 1.0 of Graham Nelson's specification. Written by Stefan Jokisch in 1995-7 This program once started as a re-make of Mark Howell's Zip, but has grown into an utterly new interpreter. Frotz is freeware: It may be used and distributed freely provided no commercial profit is involved. (c) 1995-1997 Stefan Jokisch. Please report bugs to s.jokisch@avu.de Syntax: frotz [options] story-file -i ignore runtime errors Set this switch and Frotz no longer worries about anything the game tries to do. This can help you to get around fatal errors. -S # set the width of the transscript file By default your transscript files are formatted to a width of 80 columns per line -- regardless of the current screen width. This switch allows you to change this setting. In particular, use -S0 to deactivate automatic line splitting in transscript files. -c # set the number of context lines When the game prints several pages of text in a row, Frotz stops for a more prompt after each page. The first prompt appears when your input reaches the top of the window. Further prompts appear when the previous page has been scrolled off the window. You can use this switch to make the latter more prompts appear earlier. -u # set the number of undo slots for multiple undo Frotz tries to allocate as much conventional memory as possible for multiple UNDO. If this strategy causes some kind of problem, use this switch to set a tighter limit. In particular, you might want to turn off the UNDO feature altogether by typing -u0. -s # set the random number seed The given seed value is used as the initial seed value on every restart. This is helpful for testing games like 'Curses' which make random decisions before the first input (such that the hot key Alt-S does not really help). The meaning of seed values is explained in the next section. -x expand abbreviations (g, x, z ==> again, examine, wait) This switch was made for old Infocom games that lack the common abbreviations introduced in later games. Use it with caution: A few games might use "g", "x" or "z" for different purposes. -o watch object movement -O watch object locating -a watch attribute assignment -A watch attribute testing Although these switches may be of assistance while debugging new games, they are are actually meant to be cheat functions. The -o switch, for example, helps to locate the thief in 'Zork 1' and the cat in 'Curses'. The other switches produce a lot of obscure messages during the game; but some of these messages might give you important clues if you watch carefully. -t set the Tandy bit Some old Infocom games were sold by the Tandy Corporation. These games behave slightly different when you use this option. For example, 'The Witness' gets censored: bastards turn into idiots, private dicks into private eyes and so on. -p alter behaviour of piracy opcode The piracy opcode was never used by Infocom, and this switch is only useful for those who like to toy around with Z-code. Special keys: Alt-D - toggle debugging options (-a, -A, -o, -O) Alt-H - help on hot 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 number seed Alt-U - multiple undo, works even for old V1 to V4 games Alt-X - exit game When testing a text adventure it can be difficult to reproduce a specific bug. To avoid this problem you should use the Alt-R key to record all your inputs in a command file. Later you can press Alt-P to feed the command file back into Frotz. In many cases, however, you will find that the result is different because most games contain random events. Luckily, Frotz provides a hot key to control these events. Type Alt-S and you are asked for a seed value, i.e. a value in the range from 1 to 32767. Normally, you would choose a number >= 1000. Smaller values generate a special sequence of random numbers as proposed by Nelson. (For instance, the seed value 4 generates 1, 2, 3, 4, 1, 2, 3, 4, 1...). In any case, random events become predictable until the next restart. See also the command line option -s above. tab - word completion (like "tcsh" under Unix) When you need to type an unpleasantly long word, try to type the first three or four letters then press the tabulator key. If you are lucky, Frotz fills in some or all of the missing letters. A high beep noise indicates that the word is ambiguous; a low beep indicates that it does not exist. Apart from that, you can also use the history feature to get to previous input lines. Type the beginning of the input line you are looking for, then use cursor up/down to scroll through all input lines matching that prefix. List of fatal errors: - "Bad stack frame" - "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" - "Illegal object" [2] - "Illegal window" - "Illegal window property" - "Jump to illegal address" - "Nesting stream #3 too deep" - "No such property" - "Out of memory" - "Print at illegal address" - "Stack overflow" [3] - "Stack underflow" [4] - "Store out of dynamic memory" - "Story file read error" - "Text buffer overflow" - "Unknown opcode" - "Unknown 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] Checked on every call instruction. [4] Checked on every return from a subroutine. Acknowledgements: Many thanks to Paul D. Doherty for his continuing support of this project. Thanks to everyone who sent bug reports, contributions or helpful hints (in alphabetical order): Thomas Biskup, Ian Carpenter, Graeme Cree, Jason Dyer, Carl Edman, Julian Eggebrecht, Bernhard Fuchs, Joe Hachem, John Kennedy, Kirk Klobe, Marnix Klooster, John Mackin, Paul O'Brian, Magnus Olsson, Barry Prescott, L. Ross Raszewski, Ambat Sasi Nair, Alan Sherrod, Linards Ticmanis and Paolo Vece. Last but not least, thanks to the porters: David Kinder (Amiga), Rich Lawrence (Windows 95/NT), Andrew Holdsworth (RiscOS), Christos Dimitrakakis (HP-UX), Christopher J. Madsen (OS/2), Galen Hazelwood (Unix curses library), Ian Dean (Windows CE). Executables are available from ftp.gmd.de and from http://www.geocities.com/SiliconValley/Heights/3222/frotz.html which is the Frotz home page maintained by Chris Madsen.