1FROTZ(6)                         Games Manual                         FROTZ(6)
2
3
4

NAME

6       frotz - interpreter for Infocom and other Z-Machine games
7
8

SYNOPSIS

10       frotz [options] file
11
12

DESCRIPTION

14       Frotz  is  a Z-Machine interpreter.  The Z-machine is a virtual machine
15       designed by Infocom to run all  of  their  text  adventures.   It  went
16       through  multiple revisions during the lifetime of the company, and two
17       further revisions (V7 and V8) were created by Graham Nelson  after  the
18       company's demise.  The specification is now quite well documented; this
19       version of Frotz supports version 1.0.
20
21       This version of Frotz fully supports  all  these  versions  of  the  Z-
22       Machine  except for version 6.  Version 6 is semi-supported by display‐
23       ing the outlines of V6 graphics with the picture number in the  bottom-
24       right corner.
25
26
27       This  port  supports  old-style  sound  effects  through  the OSS sound
28       driver.
29
30
31

OPTIONS

33       -a     Watch attribute setting.  Setting and clearing of attributes  on
34              objects will be noted in debugging messages.
35
36
37       -A     Watch  attribute  testing.   Every  time  the z-machine tests an
38              attribute value, the test and the result will be reported.
39
40
41       -b <colorname>
42              Sets the default background color.  <colorname>  corresponds  to
43              one of the Z-machine colors, which are as follows:
44              black red green yellow blue magenta cyan white
45              If  color support is disabled or not available on your terminal,
46              this option does nothing.
47
48
49       -c N   Sets the number of context lines  used.   By  default,  after  a
50              ``[MORE]''  prompt, and assuming there is enough output pending,
51              Frotz will allow all the currently visible lines to  scroll  off
52              the  screen  before  prompting again.  This switch specifies how
53              many lines of text Frotz will hold over and display at  the  top
54              of the next screen.
55
56
57       -d     Disable color.
58
59
60       -e     Enable  sound.   If  you've  disabled sound in a config file and
61              want to hear sound effects, use this.
62
63
64       -f <colorname>
65              Sets the default foreground color.  <colorname>  corresponds  to
66              one of the Z-machine colors, which are as follows
67              black red green yellow blue magenta cyan white
68              If  color support is disabled or is not available on your termi‐
69              nal, this option does nothing.
70
71
72       -F     Force color mode.  If you've disabled color in a config file and
73              want to Frotz to display colors, use this.
74
75
76       -h N   Manually  sets  the screen height.  Though most curses libraries
77              are intelligent enough to determine the current width  from  the
78              terminal,  it  may  sometimes be necessary to use this option to
79              override the default.
80
81
82       -i     Ignore fatal errors.  If a Z-Machine  interpreter  encounters  a
83              zcode  error  such  as division-by-zero or addressing an illegal
84              object, the proper response is to abort execution.  This is done
85              because  the  zcode program doesn't have a clear idea of what is
86              going on.  There are some  games  out  there  that  cause  fatal
87              errors because the authors were careless and used an interpreter
88              that didn't properly check for errors.  This option is  intended
89              to  get  around such bugs, but be warned that Strange Things may
90              happen if fatal errors are not caught.
91
92
93       -l N   Sets the left margin, for those who might have specific  format‐
94              ting needs.
95
96
97       -o     Watch  object  movement.  This option enables debugging messages
98              from the interpreter which describe the moving of objects in the
99              object tree.
100
101
102       -O     Watch  object  location.   These  debugging  messages detail the
103              locations of objects in the object tree.
104
105
106       -p     Plain ASCII output only.  This inhibits the output  of  accented
107              letters  and  other  characters  from the Latin-1 character set,
108              replacing them with reasonable alternatives.  This may be neces‐
109              sary on devices lacking these characters.
110
111
112       -P     Alter  the  piracy  opcode.  The piracy opcode was never used by
113              Infocom.  This switch is really only useful for those  who  like
114              to toy around with Z-code.
115
116
117       -q     Quiet.  Turns off sound effects.  Useful when running Frotz on a
118              remote machine and you don't want to bother whoever's  near  the
119              console with weird noises.
120
121
122       -Q     No  Quetzal.  By default, Frotz uses the new Quetzal save format
123              when you save your game.  If for some reason you  want  to  save
124              and restore using the old Frotz format, use this flag.
125
126
127       -r N   Sets the right margin.
128
129
130       -s N   Set  the random number seed value.  The given seed value is used
131              as the initial seed value on every restart. This is helpful  for
132              testing games like Curses which make random decisions before the
133              first input (such that the hot key Alt-S does not really help).
134
135
136       -S N   Set the transcript width.  By default your transscript files are
137              formatted  to  a width of 80 columns per line, regardless of the
138              current screen width.  This switch allows  you  to  change  this
139              setting.  In  particular,  use -S 0 to deactivate automatic line
140              splitting in transscript files.
141
142
143       -t     Sets the z-machine's Tandy bit, which may affect the behavior of
144              certain Infocom games.  For example, Zork I pretends not to have
145              sequels, and Witness has its language toned down.
146
147
148       -u N   Sets the number of slots available  for  Frotz's  multiple  undo
149              hotkey  (see  below).   This defaults to twenty, which should be
150              sufficient for most purposes.  Setting too high  a  number  here
151              may be dangerous on machines with limited memory.
152
153
154       -w N   Manually  sets the screen width.  Again, this should not be nec‐
155              essary except in special circumstances.
156
157
158       -x     Expand the abbreviations "g", "x", and "z"  to  "again",  "exam‐
159              ine", and "wait".  This switch is for use iwth old Infocom games
160              that lack these common abbreviations which  were  introduced  in
161              later  games.   Use  it with caution: A few games might use "g",
162              "x" or "z" for different purposes.
163
164
165       -Z N   Error checking mode.
166              0 = don't report errors.
167              1 = report first instance of an error.
168              2 = report all errors.
169              3 = exit after any error.
170              Default is 1 (report first instance of an error).
171
172
173

CONFIGURATION FILES

175       On startup,  frotz  will  first  check  the  system's  frotz.conf  then
176       $HOME/.frotzrc  for  configuration information.  The configuration file
177       uses a simple
178       <variable> <whitespace> <value> syntax.
179
180
181       Color names may be any of the following:
182       black | red | green | blue | magenta | cyan | white
183
184
185
186       ascii   on | off
187       Use plain ASCII only.  Default is "off".
188
189
190       background   <colorname>
191       Set background color.  Default is terminal's default background color.
192
193
194       color   yes | no
195       Use color text.  Default is "yes" if supported.
196
197
198       errormode   never | once | always | fatal
199       Set error reporting mode.
200       never Don't report any errors except for fatal ones.
201       once Report only the first instance of an error.
202       always Report every instance of an error.
203       fatal Abort on any error, even non-fatal ones.
204       Default is "once".
205
206
207       expand_abb   on | off
208       Expand abbreviations.  Default is off.  Expand the  abbreviations  "g",
209       "x", and "z" to "again", "examine", and "wait".  This switch is for use
210       with old Infocom games that lack these common abbreviations which  were
211       introduced in later games.  Use it with caution.  A few games might use
212       the "g", "x", or "z" for different purposes.
213
214
215       foreground   <colorname>
216       Set foreground color.  Default is terminal's default forground color.
217
218
219       ignore_fatal   on | off
220       Ignore fatal errors.  If a Z-Machine  interpreter  encounters  a  zcode
221       error  such  as  division-by-zero  or addressing an illegal object, the
222       proper response is to abort execution.  This is done because the  zcode
223       program  doesn't have a clear idea of what is going on.  There are some
224       games out there that cause fatal errors because the authors were  care‐
225       less  and  used  an  interpreter that didn't properly check for errors.
226       This option is intended to get around such bugs,  but  be  warned  that
227       Strange Things may happen if fatal errors are not caught.
228       Default is "off"
229
230
231       piracy   on | off
232       Alter  the piracy opcode.  Default is off.  The piracy opcode was never
233       used by Infocom. This option is only useful for those who like  to  toy
234       around with Z-code.
235
236
237       quetzal   on | off
238       Use  Quetzal  save format.  Default is on.  If for some reason you want
239       to save or restore using the old Frotz format, set this to "off".
240
241
242       randseed   <integer>
243       Set random number seed.  Default comes from the Unix epoch.
244
245
246       sound   on | off
247       Turn sound effects on or off.  Default is "on".
248
249
250       tandy   on | off
251       Set the machine's Tandy bit.  This may affect the behavior  of  certain
252       Infocom  games.   For example, Zork I pretends not to have sequels, and
253       Witness has its language toned down.  Default is "off".
254
255
256       undo_slots   <integer>
257       Set number of undo slots.  Default is 500.
258
259
260       zcode_path   /path/to/zcode/files:/another/path
261       Set path to search for zcode game files.  This is just like  the  $PATH
262       environmental  variable  except  that you can't put environmental vari‐
263       ables  in  the   path   or   use   other   shortcuts.    For   example,
264       "$HOME/games/zcode"  is  illegal because the shell can't interpret that
265       $HOME variable.
266
267
268
269       The following options are really only useful for weird terminals, weird
270       curses  libraries  or if you want to force a certain look (like play in
271       40-column mode).
272
273
274       context_lines   <integer>
275       Set the number of context lines used.  By default, after  a  ``[MORE]''
276       prompt,  and  assuming there is enough output pending, frotz will allow
277       all the currently visible lines to scroll off the screen before prompt‐
278       ing  again.   This  switch  specifies how many lines of text frotz will
279       hold over and display at the top of the next screen.  Default is "0".
280
281
282       left_margin   <integer>
283       Set the left margin.  This is for those who might have special  format‐
284       ting needs.
285
286
287       right_margin   <integer>
288       Set the right margin.  This is for those who might have special format‐
289       ting needs.
290
291
292       screen_height   <integer>
293       Manually set screen height.   Most  curses  libraries  are  intelligent
294       enough to determine the current width of the terminal.  You may need to
295       use this option to override the default.
296
297
298       screen_width   <integer>
299       Manually set screen width.  Again, this should not be necessary  except
300       in special circumstances.
301
302
303       script_width   <integer>
304       Set  the  transcript width.  Default is 80 columns per line, regardless
305       of the current screen width.  This switch allows  you  to  change  this
306       setting.   You  may set this to "0" to deactivate automatic line-split‐
307       ting in transcript files.
308
309
310
311       The following options are mainly useful for debugging or cheating.
312
313
314       attrib_set   on | off
315       Watch attribute setting.  Setting and clearing of attributes on objects
316       will be noted in debugging messages.  Default is "off"
317
318
319       attrib_test   on | off
320       Watch  attribute  testing.  Every time the z-machine tests an attribute
321       value, the test and the result will be reported.  Default is "off".
322
323
324       obj_loc   on | off
325       Watch object location.  These debugging messages detail  the  locations
326       of objects in the object tree.  Default is "off".
327
328
329       obj_move   on | off
330       Watch object movement.  This option enables debugging messages from the
331       interpreter which describe the movement of objects in the object  tree.
332       Default is "off".
333
334

ENVIRONMENT

336       If  the ZCODE_PATH environmental variable is defined, frotz will search
337       that path for game files.  If that doesn't exist, INFOCOM_PATH will  be
338       searched.
339
340
341
342       Latest information on Unix Frotz is here:
343       http://www.cs.csubak.edu/~dgriffi/proj/frotz/
344
345
346       The latest release of Unix Frotz is here:
347       ftp://ftp.ifarchive.org/if-archive/infocom/interpreters/frotz/
348
349
350       See this website for a list of mirrors:
351       http://www.ifarchive.org
352
353
354       See  this  website  for  more information on Infocom past, present, and
355       future; and where to get new Z-Machine games and the old ones by  Info‐
356       com:
357       http://www.csd.uwo.ca/Infocom/
358
359
360       Frotz for other platforms:
361       http://www.geocities.com/SiliconValley/Heights/3222/frotz.html
362
363
364

CAVEATS

366       The  Z Machine itself has trouble with the concept of resizing a termi‐
367       nal.  It assumes that once the screen height and width  are  set,  they
368       will  never change; even across saves.  This made sense when 24x80 ter‐
369       minals were the norm and graphical user interfaces were mostly unknown.
370       I'm  fairly  sure there's a way around this problem, but for now, don't
371       resize an xterm in which frotz is running.  Also,  you  should  try  to
372       make  sure  the terminal on which you restore a saved game has the same
373       dimensions as the one on which you saved the game.
374
375
376       You can  use  a  path  like  "/usr/local/games/zcode:$HOME/zcode"  with
377       $ZCODE_PATH  or  $INFOCOM_PATH because the shell will digest that $HOME
378       variable  for  you  before  setting   $ZCODE_PATH.   While   processing
379       frotz.conf  and $HOME/.frotzrc, a shell is not used. Therefore you can‐
380       not use environmental variables in the "zcodepath"  option  within  the
381       config files.
382
383
384       This manpage is not intended to tell users HOW to play interactive fic‐
385       tion.  Refer to the file HOW_TO_PLAY included in the Unix  Frotz  docu‐
386       mentation or visit one of the following sites:
387       http://www.csd.uwo.ca/Infocom/faq.html
388       http://www.cs.csubak.edu/~dgriffi/proj/frotz/HOW_TO_PLAY
389       http://www.ifarchive.org
390
391

BUGS

393       This program has no bugs.  no bugs.  no bugs.  no *WHAP* thank you.
394
395

AUTHORS

397       Frotz was written by Stefan Jokisch in 1995-7.
398       The Unix port was done by Galen Hazelwood.
399       Currently the Unix port is maintained by David Griffith.
400
401
402

SEE ALSO

404       dfrotz(6) nitfol(6) rezrov(6) jzip(6) xzip(6) inform(1)
405
406
407
408
409
410                                     2.43                             FROTZ(6)
Impressum