Frotz

A Portable Z-Machine Interpreter

Frotz is an interpreter for Infocom games and other Z-machine games. It complies with standard 1.0 of Graham Nelson's specification. It was written by Stefan Jokisch in 1995-1997. It was ported to Unix by Galen Hazelwood. Currently the Unix port is being developed and maintained by David Griffith. The Unix port is also the canonical core version upon which all other ports are based.


Features


Places to get Frotz

Interactive Fiction Archive
Various flavors of Frotz can be found at the Interactive Fiction Archive or any of its mirrors.

Gitlab
Gitlab hosts a Git repository of the Unix port of Frotz, which also includes the DOS port. The Unix port includes a curses interface, an SDL interface, and a dumb interface that requires absolutely no other libraries besides the standard C library.

Your operating system's package repository
This link shows the Frotz packages for the most commonly-encountered distributions of Linux. Frotz is also available in Gentoo's Portage and Packages systems. For the BSD world, there are NetBSD's pkgsrc tree, FreeBSD's ports tree, and OpenBSD's ports tree.
Install with Fink
Fink is a packaging system for macOS. To install Frotz through Fink, see https://pdb.finkproject.org/pdb/package.php/frotz
Install with Brew
Brew is primarily for macOS users, but it works for many other flavors of Unix as well. Brew allows you to download and install any of a wide variety of programs and libraries with a single command. See https://formulae.brew.sh/formula/frotz
Install with Docker
Frotz can also be installed as a container with Docker. See https://github.com/newtmitch/frotz-docker and https://hub.docker.com/r/newtmitch/frotz

Credits

This program started as a remake of Mark Howell's Zip, but has grown into a completely new interpreter with ports for lots of platforms.

Thanks goes to Stefan Jokisch for writing Frotz and Galen Hazelwood for doing the initial work of porting it to Unix. Thanks also to Jim Dunleavy for his optimization to the core Frotz code. Other people to thank include those who uploaded patches to Unix Frotz to the IF-Archive and getting me interested in the inner-workings of interpreters like Frotz, people who posted to Usenet feedback on what I was doing, testers, those who donated the use of machines for porting, sent me patches, etc. These include, but are not limited to:

Torbjorn Anderson, Timo Korvola, Martin Frost, Mihail Milushev, David Picton, Chris Sullivan, Leonard Richardson, Stephen Kitt, Paul E Coad, Paul Janzen, Brad Town, Jason C Penney, Denis Hirschfeldt, Jacob Nevins, Matteo De Luigi, Steven Frank, Thomas Troeger, and others that I've forgotten.

Michael Edmonson (author of Rezrov) and Evin Robertson (author of Nitfol) deserve recognition for the ideas that I've borrowed from their programs. Al Petrofsky (creator of dumbfrotz) donated much code to allow Unix Frotz to semi-support V6 games.


This page was last updated on November 30, 2020