Windows Frotz

Windows Frotz 1.23 by David Kinder, based on Frotz by Stefan Jokisch.
Web: http://www.davidkinder.co.uk/
Email: davidk@davidkinder.co.uk

Windows Frotz copyright David Kinder 2002-2021.
Frotz copyright Stefan Jokisch 1995-1997.

Windows Frotz is released under the terms of the GNU General Public License. See the file COPYING that is included with this program for details.

Windows Frotz is an interpreter for all of Infocom's games and all other games compiled for the Z-Machine. Great care has been taken to ensure that Windows Frotz complies fully with and implements all features described in The Z-Machine Standard, Version 1.1, by Graham Nelson, et al.

The features of Windows Frotz include:

  • Full support for all Z-code versions V1-V8, including V6 ("graphical").
  • Fully compliant with The Z-Machine Standard, Version 1.1.
  • Complete Blorb version 2.0 support.
  • Colour and graphics (Blorb PNG and JPEG, plus Kevin Bracey's extensions for Infocom's V6 games).
  • Alpha blending and gamma correction for PNG graphics.
  • Sound and music (Blorb AIFF, MOD and Ogg Vorbis).
  • Full support for foreign languages in both input and output, including full Unicode support.
  • Timed input, mouse input and menu support.
  • Optional strict error checking.
  • Machine and interpreter independent Quetzal format save files.
The latest release of Windows Frotz is available from the Frotz page at the IF Archive. The IF Archive also contains hundreds of games that can be played with Windows Frotz.

For help on how to get started with Windows Frotz, click here.


Getting Started

In order to use Windows Frotz, you will need a Z-code story file to play on it. This format was originally invented by Infocom, Inc. for the games they released during the 1980s.

Members of the current interactive fiction community have written many games using Graham Nelson's Z-Machine compiler Inform, all of which can be played using Windows Frotz. These games can be downloaded from the IF Archive at
http://www.ifarchive.org/indexes/if-archiveXgamesXzcode.html

When Windows Frotz is first started, a file dialog opens, prompting you for a game file to load. This file can be either a Z-code file or a Blorb file. A Z-code file usually has a name ending with .zn, where n is a number indicating the Z-code version, e.g. .z5. A Blorb file contains multimedia resources for games, and can also contain the Z-code for the game as well. Blorb files containing only resources have a name ending with .blb or .blorb; those also containing the Z-code game have a name ending with .zlb or .zblorb.

The file dialog also has a check box for selecting the format used to save and restore game positions in. Unless you need to load game positions saved in an old version of Frotz, it is recommended that you leave this check box selected. This will cause Windows Frotz to use the Quetzal format for saved positions, which allows a saved position to be loaded into any Quetzal supporting interpreter on any platform.

Once a game file is selected, Windows Frotz will open its main window and start running the game. If the game is packaged with an iFiction record, then the cover art and description is shown first.

Further information:

  • Running Infocom games
  • Menus and the toolbar
  • Editing keys
  • Changing options
  • Example Z-code files


Running Infocom Games

If you obtain one of Activision's compilations of the Infocom games on CD, or one of the original Infocom releases, then the games can be played by loading the Z-code file into Windows Frotz. For all but the V6 graphical games, this is the file ending in .dat. For the V6 games, the Z-code file is the one ending in .zip (which is not to be confused with the zip archive format used by such programs as WinZip).

Games with Sound

The Amiga release of The Lurking Horror and the Amiga and Macintosh releases of Sherlock both play sounds at points in the game.

In order to hear the sounds, the first step is to make sure that the Z-code game file is one of the releases that supports sound. This can be checked by looking at the release number that the game prints when it is first started in Windows Frotz: Releases 219 and 221 of The Lurking Horror and release 26 of Sherlock support sound. If your Z-code game file is not one of these releases then patches are available to convert it to a suitable release at
http://www.ifarchive.org/indexes/if-archiveXinfocomXpatches.html

Windows Frotz does not support the sound files as originally released by Infocom. Kevin Bracey has converted these files into the Blorb resource format. The files can be downloaded from
http://www.ifarchive.org/indexes/if-archiveXinfocomXmediaXblorb.html

Make sure that the Blorb sound resource file has the same name as the Z-code game file (except for the .blb extension) and then simply load the Z-code game file into Windows Frotz. You can test that sound is working by entering

  blow whistle
  wait
as the first two commands in Sherlock.

Games with Graphics

Infocom's last four games (Arthur, Journey, Shogun and Zork Zero) were all released using an updated version of the Z-Machine, V6. This allowed these games to contain more elaborate graphics than previous Infocom games.

Windows Frotz does not support the graphics files as originally released by Infocom. Kevin Bracey has developed extensions to the Blorb resource format to allow the Infocom graphics to be converted into Blorb files, which can be downloaded from
http://www.ifarchive.org/indexes/if-archiveXinfocomXmediaXblorb.html

Make sure that the Blorb graphics resource file has the same name as the Z-code game file (except for the .blb extension) and then simply load the Z-code game file into Windows Frotz.

In addition, the Atari ST version of Beyond Zork came with a title picture. This picture has been converted to PNG and packaged into a Blorb file, which is available at the link given above for all the other Blorb files. If this Blorb file is present then Windows Frotz will show the title picture when Beyond Zork starts.


Menus and the Toolbar

Windows Frotz provides the following menu items, the most commonly used of which also appear on the toolbar:

File/New Game... Ctrl+N
Opens a file dialog from which you can pick a different game to load into the interpreter. The game currently being played will be lost, so be sure to save before loading a new game if you want to keep your position.

File/Open Saved Game... Ctrl+O
Opens a file dialog from which you can pick a saved position to load into the current game. This is equivalent to entering restore at the input prompt.

File/Save Game... Ctrl+S
Opens a file dialog from which you can save your position in the current game to a file. This is equivalent to entering save at the input prompt.

File/Stop Playback Ctrl+T
If a recorded script is being played back, this item stops the playback.

File/Exit Alt+F4
Exits the interpreter.

View/Toolbar
Turns the toolbar at the top of the interpreter window on and off.

View/Status Bar
Turns the status bar at the bottom of the interpreter window on and off.

View/Options... Ctrl+P
Opens the options dialog.

View/Scrollback Ctrl+L
Opens the scrollback dialog, which shows all the text printed since the current game was loaded.

Help/Windows Frotz Help
Opens this help window.

Help/Internet Links
The items in this menu open web sites related to Z-code games in a browser window.

Help/About This Game
Opens a dialog showing the cover art and description of the game, if available.

Help/About Windows Frotz
Opens the About dialog, which shows the version number and credits for this version of Windows Frotz.


Editing Keys

When Windows Frotz is waiting for input from the user, the following keys have special meanings:
Alt+D | Show the menu of debugging options.
Alt+H | Show the list of available hotkeys.
Alt+N | Restart the currently playing game.
Alt+P | Play back a file containing previously recorded input.
Alt+R | Begin recording user input to a file.
Alt+S | Enter a seed for the random number generator.
Alt+U | Undo the last turn.
Alt+X | Exit the interpreter.
Alt+Enter | Toggle full screen mode.
Delete | Delete the character under the cursor.
Backspace | Delete the character to the left of the cursor.
Home | Move the cursor to the start of the input line.
End | Move the cursor to the end of the input line.
Cursor Left | Move the cursor to the left.
Cursor Right | Move the cursor to the right.
Cursor Up | Show the previous input in the input history.
Cursor Down | Show the next input in the input history.
Tab | Try to complete the last word in the input line by comparing against the game's dictionary.

In addition, the following editing keys from GNU Readline (and many other Unix related programs) are supported:
Ctrl+A | Move the cursor to the start of the input line.
Ctrl+E | Move the cursor to the end of the input line.
Ctrl+B | Move the cursor to the left.
Ctrl+F | Move the cursor to the right.
Ctrl+D | Delete the character under the cursor.
Ctrl+K | Delete the input text from the cursor to the end of the input line.
Ctrl+W | Delete the input text from the cursor to the previous white space.
Ctrl+V | Paste the contents of the clipboard into the input line.

The hotkeys assigned to menu items are given here.

Some of Infocom's later games expect to be told when the user presses the cursor keys during input. For example, Zork Zero allows commands to be bound to the cursor keys. In order to get the behaviour of the original Infocom intepreters, hold down the Ctrl key when pressing a cursor key, and instead of being used to edit the input line, the cursor key press will be sent to the game.

Windows Frotz can cope with games requiring input in languages and alphabets other than the system default (For example, a Russian game would require Cyrillic input.) provided that the version of Windows that the interpreter is running on supports it. For this to work, enable Advanced Text Services in the Language Options of Windows' Control Panel. This will enable the Language Bar. With the interpreter window selected, change the Language Bar to show whatever input you require, and the interpreter will switch to expecting input in that language.


Changing Options

From the Options dialog, you can change display and interpreter options of Windows Frotz.

Note that when the Z-Machine was designed, computers usually had fixed displays, so little thought was put into allowing the game and interpreter to cope with changes to the screen size, font or colour settings during a game. Windows Frotz does its best to cope with display option changes, but occasionally it may prove necessary to restart or restore a saved position to get the game to run correctly with changed display options.

Display

Font
The proportional font used for text in the game.

Fixed width font
The fixed-width font used for text in the game that needs a particular layout, such as the status bar, or any maps or symbols the game might display.

Font size
The size, in points, of the fonts used for text in the game. This applies to both the proportional and fixed width fonts.

Text colour
The default colour for text. Unless the game explicitly chooses a colour, this colour will be used for all text in the game.

Background colour
The default colour for the background. Unless the game explicitly chooses a colour, this colour will be used for the background.

Left margin
The width, in pixels, of the left display margin.

Right margin
The width, in pixels, of the right display margin.

Fast scrolling
If this option is selected, text is scrolled as fast as possible.

Show [More] prompts
If this option is selected, the interpreter pauses with a [More] prompt after displaying a screen of text.

Interpreter

Interpreter number
The code passed to the game to identify the machine the game is running on. This is used by a few of the later Infocom games to change the appearance of the game. For example, by default Zork Zero has a black background, but if the interpreter number is Amiga the background is grey (from version 366), and if the interpreter number is MSDOS the background is white (from version 387). Also, Journey adds an extra menu to the interpreter window only when the interpreter number is Macintosh.

Report errors
The rule the interpreter follows on encountering an error in the game that is not serious enough for it to have to stop. The choices are:
Never | Never show any messages. All errors are silently ignored.
First time | Show a message the first time the error occurs, and silently ignore it after that.
Always | Always show a message when an error occurs.
Fatal error | Treat all errors as fatal errors. When an error occurs the interpreter will stop.

Ignore runtime errors
If this option is selected, the interpreter will attempt to continue, even if it encounters a serious error in the game. It is recommended that this option not be selected unless you are trying to run a game for which source is not available and the author cannot be contacted.

Username
This option sets the eight character user name that is copied into the game's header when the game is started. This is only used by a few test versions of Infocom's games.

Expand abbreviations
With their later games, Infocom introduced the shortcut commands g, x and z as synonyms for the commands again, examine and wait, respectively. If this option is selected, the interpreter will expand these shortcuts into the full command, even if the game does not support it. This is useful for playing the older Infocom adventures.

Set the Tandy header flag
This option sets or clears a flag in the game's header that was used by Infocom to indicate a game being sold through the Tandy Corporation. This causes some of the older Infocom games to behave slightly differently. For further information, see
http://www.ifarchive.org/if-archive/infocom/info/tandy_bits.html

Wrap script lines
If selected, all output sent to the transcript file is wrapped so that no line is longer than 80 characters. Otherwise, a new line is only started in the transcript file when the game generates a carriage return, such as at the end of a paragraph.

Startup

If the game has an iFiction record ...
When Frotz loads a game that contains an iFiction record, it may show the About This Game dialog. This option determines whether the dialog is never shown, only shown the first time, or shown every time.

Set Frotz as the default ...
If selected, then when Frotz is started it registers itself with Windows Explorer, so that double clicking on a Z-code file (i.e. a file ending with .z1, .z2, .z3, .z4, .z5, .z6, .z7 or .z8) runs Frotz and opens that file. Note that this option is only available under versions of Windows prior to Vista, as Windows' User Account Control feature prevents such registration.

Speech

Note that this option page is only shown if the computer has Microsoft's Speech API version 5 installed on it.

Speak text as it is printed
When this option is selected, the interpreter will speak all text as it is printed by the game.

Voice
The voice to speak text with.

Speed
This slider controls how quickly the chosen voice speaks the game's text.


Example Z-code files

Included with Windows Frotz in the Examples directory are a few example Z-code files, demonstrating some of the interpreter's capabilities:

Unicode.z5

Unicode demonstrates input and output of Unicode characters. Firstly it demonstrates printing Unicode characters that have been added to the Z-code file's Zcharacter table, specifically the Euro currency symbol (Unicode 0x20AC), the copyright symbol (Unicode 0x00A9) and the trademark symbol (Unicode 0x2122). Unicode then prints out several character sets, covering the standard Latin-1 set, then the Greek, Cyrillic and Arabic sets.

Note that although most Windows fonts contain most of the commonly used Unicode characters, they do not usually contain them all. The Arial Unicode MS font from Microsoft contains all 20,000 odd characters.

Finally, Unicode demonstrates input. If you press a key, Unicode will try to tell you what it believes you have entered. If you have a Western European PC (and possibly others) then you can usually enter a Euro symbol by pressing Ctrl+Alt+4. If this is the case, you can see Unicode accepting the Euro symbol as input, even though it is not part of the standard Z-Machine characters, because the Euro symbol has been added to the file's Zcharacter table.

ZSpec11.z6

This program is a demonstration of the features added in the Z-Machine Standard Version 1.1, which the interpreter now implements. The most important new features introduced are true colour support, so that games can request a colour by specifying it as an RGB triplet, and transparent text, so that games can write text over an arbitrary background, such as a picture.


Infocom

Back in the days when the average computer filled a large room, a game called Colossal Cave spread over Arpanet (the forerunner of the Internet), written by Will Crowther and independently updated by Don Woods. In this game, the player entered text phrases to move around a world of caverns and crawls, filled with treasures.

By 1977, this game had been played by a group of people at MIT, who decided that they could write something better. What they produced was the mainframe version of Zork (sometimes also known as Dungeon). This was the start of Infocom Inc., which between 1980 and 1989 released 35 text adventure games, or, as they preferred, Interactive Fiction titles. Infocom were one of the most prolific and certainly the most famous text adventure writing company, and many titles are still considered classics today.

Although the original Infocom is long gone, the name and the games are owned by Activision, Inc., who have reissued the games in several compilations: The Lost Treasures of Infocom, Volumes 1 and 2 and Masterpieces of Infocom. Both Activison's compilations and the original Infocom releases are still reasonably easy to come by on eBay, though, as they are collectable, they tend to fetch quite high prices.


Z-code and the Z-Machine

When Infocom first began, the company decided that they wanted their games to run on as many different computers as possible. In order to achieve this they designed a "virtual" machine, called the Z-Machine. This virtual computer runs Z-code in the same way that the PC you are currently using runs Intel machine code programs.

This allowed Infocom to write their games for one format, Z-code. All that was needed to make their games run on different computers was an implementation of the Z-Machine for those computers.

After Infocom ceased to exist, many people (including the InfoTaskForce, Mark Howell and Stefan Jokisch) worked to decode the format of the Z-Machine. This led to reverse engineered implementations of the Z-Machine, and ultimately to Graham Nelson's Z-code compiler, Inform. Windows Frotz is the latest implementation of the Z-Machine for Windows.

Incidentally, it's no coincidence if this sounds at all like Java and the Java Virtual Machine (JVM). Sun may have made virtual machines popular, but they certainly didn't come up with the original idea.


Blorb Files

Infocom's Z-code format has proved to be a very durable design for writing text adventures. However, by today's standards, the formats they used for graphics and sound are very primitive. In order to address this, Andrew Plotkin came up with the Blorb format.

A Blorb file contains all the graphics and sound files needed for a game. It can also contain the Z-code for the game as well, but does not need to: The game could also be distributed as separate Z-code and Blorb files. If you try to load a Blorb file into Windows Frotz that does not contain Z-code, it will ask you to load the appropriate Z-code file into the interpreter instead.

Blorb files can contain JPEG and PNG graphics files, AIFF sound samples, and MOD and Ogg Vorbis music files. Windows Frotz supports all of these formats, including transparency, opacity and gamma correction for PNG graphics. Windows Frotz also supports Kevin Bracey's extensions to the Blorb format for Infocom's V6 games.

From version 2.0, the Blorb specification also includes iFiction metadata and cover art chunks; Inform 7 can produce Blorb files containing these. If present, Windows Frotz uses them to determine the title of the game and to populate the Help/About This Game dialog.


The IF Archive

The IF Archive is the central site on the Internet for text adventures and related interpreters, compilers and other tools. The Archive has an unrivalled collection of material relating to text adventures, including something in the region of two thousand games. Formerly at the FTP site ftp.gmd.de, it is now at the web site http://www.ifarchive.org/.

The Archive's main collection of Z-code games is in the games/zcode directory. As the archive contains many hundreds of games, finding one to play can be daunting: a site that aims to help with this is Mike Roberts' Interactive Fiction Database, which provides information and reviews of games in the IF Archive.


Revision History

1.23
  • If the number of columns or rows in the window is greater than 255, the appropriate field in the Z-Machine header is set to 255, rather than the actual value modulo 256.
1.22
  • There is a flaw in the Infocom game Arthur: if the screen is too wide, then the game corrupts its internal state. As a result, Frotz tries to limit the initial size of its window when running Arthur to prevent this.
  • Font substitution, which attempts to find font characters in other fonts when the characters are not in the current font, has been turned off for fixed-width fonts, as it caused more problems than it solved.
  • The print_table opcode now interprets the string passed to it as ZSCII, rather than ASCII.
1.21
  • Support for high DPI and changing DPI with Windows 10: if the DPI is changed (from the Display settings app, or by moving the window from one monitor to another with a different DPI) then the interpreter rescales itself appropriately.
  • The toolbar images have been redrawn for a more modern look.
  • If Frotz is running an Infocom game that attempts to play a sound effect (that is, Lurking Horror or Sherlock) but no Blorb sound file can be found, a message comes up telling the user where to download the sound files from.
  • Added a Russian translation of the UI by Nikita Tseykovets.
  • Error messages of the form "@Attempt to address illegal object <n>" now respect the interpreter's error settings.
1.20
  • Fixes for picture colors in Infocom's V6 games, submitted by Stefan Jokisch, have been made. With these changes borders in Arthur and Shogun change colours as they did on the original interpreters, and the colours of an ornate initial in Zork Zero have been fixed.
1.19
  • Font sizes larger than 28 points can now be selected in the options dialog.
  • The implementation of the print_table opcode now behaves sensibly when called for the lower window: the contents of the table are printed to the lower window with a carriage return after every row in the table except the last.
1.18
  • The Blorb resolution chunk ('Reso') is now supported, allowing graphics in V6 games to be scaled appropriately for the interpreter's window size. For Infocom's V6 games this scaling is done as a simple, 'blocky' rescale (producing a result that matches the original appearance of these games), but for other games this is done with a proper rescaling algorithm that produces smooth results.
  • The V6 scaling item in the options dialog has been removed: when running an Infocom V6 game the interpreter automatically resizes the window to the largest multiple of 320x200 that fits on the screen.
  • If the game calls the restore or save opcodes in the form that does not bring up a file dialog, the interpreter now takes care to remove any characters which would change the directory in which the file is written.
  • A case where the check_unicode opcode would report that a character could not be printed, when in fact it could, has been fixed.
  • The output_stream opcode did not correctly handle its width argument in V6: this has been corrected by a patch from David Griffith.
1.17
  • Fixed a long standing bug which led to incorrect Quetzal save files being produced when a Blorbed game file is loaded into the interpreter. The save files worked with previous versions of Windows Frotz as the bug was present in both the loading and saving logic, but such save files could not be loaded into other interpreters.
    Unfortunately, fixing this bug means that loading old Windows Frotz saved files when running a Blorbed game is broken, as it is not possible to automatically detect old Windows Frotz saved files. To work around this, old saved files can be renamed to end with ".badsav", which causes the interpreter to load them with the old, incorrect logic. The game position can then be re-saved as a correct Quetzal save file.
  • The get_prop_len opcode now returns 0 when its argument is 0, as required by the Z-Machine Standard Version 1.1.
  • Transcript files are now written out encoded as UTF-8, allowing non-ASCII characters to be represented, rather than being replaced by a question mark.
  • Unicode characters now appear correctly in the scrollback dialog, provided that the dialog font supports them.
  • Corrected a problem which could result in the options dialog using the wrong font.
1.16
  • Added support for speaking the game's text using Microsoft SAPI 5. This is controlled by the options on the new "Speech" page of the options dialog.
  • Updated several links on the Help / Internet Links menu.
1.15
  • The implementation of the algorithm for scaling the images in the About This Game dialog has been sped up.
1.14
  • Increased an internal buffer size, as the default size was leading to an interpreter crash with a very wide display and a small font.
1.13
  • Improved the logic used to output Unicode text: now if a character can be drawn in any font on the system, that font will be used where needed. For best results a 'Unicode' font (e.g. "Arial Unicode MS" or "Code 2000") should be installed, though it doesn't need to be selected as either the proportional or fixed width font.
1.12
  • Improved margin logic for non-V6 games.
  • Updated to the latest version of ModPlug, which is now compiled into the interpreter.
1.11
  • Added an option to say whether, for a game with an iFiction record, the About This Game dialog is never shown, only shown the first time a game is loaded, or shown every time.
  • Added an option to set the user name that is copied into the game's header. This is only used by a few test versions of Infocom's games.
  • When saving or loading files, an appropriate file extension is appended if the user enters a file name without an extension (for sample, ".sav" will be appended for saved games).
  • Minor improvements to the interpreter's appearance under Windows Vista.
1.10
  • Changed the interpreter to first read the Blorb 'Fspc' chunk to find cover art, in preference to looking in the iFiction metadata.
1.09
  • Added support for "The Treaty of Babel" iFiction metadata format in Blorb files. This is the metadata format that Inform 7 uses.
  • Added the menu item Help/About This Game which, when playing an appropriately packaged Blorb file, shows a dialog with the cover art and description of the game. This dialog is also shown the first time a game is played in Windows Frotz.
  • Added support for Ogg Vorbis music, based on code submitted to Windows Glk by David Moreno.
  • Finally renamed the interpreter to just Windows Frotz.
1.08
  • The file extensions .zlb and .zblorb are recognised for Blorb files containing Z-code.
  • If the game is in a Blorb file containing Inform 7 metadata, then the metadata is used to determine the title of the game, as displayed in the title bar.
  • The size of the Z-Machine stack has been greatly increased, as games compiled by Inform 7 tend to use substantially more recursion.
  • Added an option to set whether the text written to the script file is wrapped or not.
1.07
  • Fixed a bug that caused Frotz to produce Quetzal format save files with incorrect values for all local variables in the game.
1.06
  • Put back the original icons, due to popular demand. The true colour icons are still available in the program, but you'll have to set them up yourself with Windows Explorer.
  • Added a French translation of the UI by Jean-Luc Pontico.
  • Implemented the Z-Machine Standard Version 1.1. This adds a number of new features to the Z-Machine, including true colour and background transparency support.
  • The encode_text opcode now correctly encodes space and caret characters.
  • For all Z-Machine versions other than V1, Z-character 7 of row 2 in the alphabet table is now always the newline character, as required by §3.5.5.1 of the Z-Machine specification.
  • The default foreground and background colour values in the header are now set correctly for V6 if the colours chosen in the options dialog match any of the standard Z-Machine colours.
1.05
  • Added true colour icons drawn by Javier San José.
  • Changing the input language with Windows' Language Bar (part of Advanced Text Services) now works.
  • A crash when using the options dialog after the game has finished has been fixed.
1.04
  • Transcript log files now end in .log by default.
  • Added a new Help/Internet Links sub-menu, containing links to some relevant web sites.
  • Added an option to disable Frotz from registering itself as the default application for Z-code files.
  • Added support for some of the more common GNU Readline editing keys during input.
  • Added a field to the status bar, showing the Z-code version number of the currently loaded game.
  • OpenType and Postscript Type1 fonts can now be used, providing the version of Windows that Frotz is running on supports them.
  • Corrected the the notification routine that is called after a sound finishes playing. This stops the game Zen Speaks! from locking up the interpreter.
  • The Expand Abbreviations option no longer breaks 'z' in V4+ games.
1.03
  • The window can be made to fill the entire screen; press Alt+Enter to toggle this full screen mode on and off.
  • Added options to set left and right margins.
  • Added an option to scroll text as fast as possible.
  • Added an option to control whether or not [More] prompts are shown.
  • The Report errors option now defaults to Never.
  • Frotz attempts to register file associations with Windows, so that double clicking on a Z-code file starts the interpreter.
  • The cursor now puts back what was under it when it is removed.
1.02
  • Added a field to the status bar, showing how long the current game has been playing.
  • Added a new menu item File/Stop Playback, which, if a recorded script is being played back, stops the playback.
  • The scrollback dialog now opens at the end of the text, not the start.
  • The read_char opcode now returns the correct value if a timeout occurs.
  • Fixed a problem which stopped font anti-aliasing from occuring on some Windows 9x systems.
1.01
  • Added a Spanish translation of the UI by Javier San José.
  • Added .dat and .zip as file extensions for Z-code games to the New Game file dialog.
  • The new window size is now written into the game's header when the window is resized.
  • The Expand Abbreviations option no longer breaks those abbrevations in V4+ games.
  • Fixed serious problems with save, restore and restart for Z-code games in Blorb files.
  • Fixed problems with games in directories with very long names.
  • Fixed incorrect display of accented characters in the translated versions of the [Hit any key to exit.] message.
1.00
  • First release.


Credits

Windows Frotz was written by David Kinder, based on Frotz 2.42. Frotz versions up to 2.32 were written by Stefan Jokisch, who then handed the project on to Jim Dunleavy, who released Frotz 2.40. David Griffith released Unix Frotz 2.41 and 2.42 based on this. As well as adding a Windows interface, I have extended the Frotz 2.42 core to support menus and to use Unicode for characters throughout.

Some source code and many useful ideas have been taken from Kevin Bracey's Acorn RISC OS interpreter Zip 2000. Use has also been made of the source code for WinFrotz by Rich Lawrence.

The interpreter contains bitmap scaling code written by Eran Yariv. The code that handles Ogg Vorbis music is based on code submitted by David Moreno.

Windows Frotz was translated into German by Lothar May, into Italian by Tommaso Caldarola, into Spanish by Javier San José, into French by Jean-Luc Pontico, and into Russian by Nikita Tseykovets.

Windows Frotz uses jpeglib by the Independent JPEG Group; libpng by Guy Eric Schalnat, Andreas Dilger, Glenn Randers-Pehrson, and others; zlib by Jean-loup Gailly and Mark Adler; ModPlug by Olivier Lapicque; and libogg and libvorbis by the Xiph.org Foundation.

This interpreter would not have been possible without those who have worked to understand and document the Z-Machine in all its various forms: The InfoTaskForce (David Beazley, George Janczuk, Peter Lisle, Russell Hoare and Chris Tham), Matthias Pfaller, Mike Threepoint, Mark Howell, Paul David Doherty, Stefan Jokisch, Graham Nelson, and many others.


.topic 1
The proportional font used for text in the game.
.topic 2
The fixed-width font used for text in the game that needs a particular layout.
.topic 3
The size, in points, of the fonts used for text in the game.
.topic 5
The default colour for text.
.topic 6
The default colour for the background.
.topic 7
This code is passed to the game to identify the machine the game is running on.
.topic 8
Whether errors in the game cause Frotz to stop, are reported or are suppressed.
.topic 9
Whether serious errors are ignored or not.
.topic 10
Expands the common abbreviations 'g', 'x' and 'z'. Useful for the older Infocom games.
.topic 11
Sets the Tandy flag in the game's header. This causes some of the older Infocom games to behave
slightly differently.
.topic 12
Whether text scrolling is as fast as possible or not.
.topic 13
The width, in pixels, of the left display margin.
.topic 14
The width, in pixels, of the right display margin.
.topic 15
Whether or not the interpreter pauses with a [More] prompt after displaying a screen of text.
.topic 16
If selected, then when Frotz starts it makes itself the default application for any Z-code files.
.topic 17
Whether text in the script file is line wrapped or not.
.topic 18
Whether, for a game with an iFiction record, the About This Game dialog is never shown, only shown
the first time a game is loaded, or always shown.
.topic 19
The user name copied into the game's header. This is only used by a few test versions of Infocom's
games.
.topic 20
If selected, the interpreter will speak all text as it is printed by the game.
.topic 21
The voice to speak text with.
.topic 22
Sets how quickly the chosen voice speaks the game's text.