fizmo represents a generic a Z-Machine interpreter — “fizmo interprets z-machine opcodes” — supporting all Z-Machine kinds except version 6, allowing you to run Infocom-made and most other Z-Machine based interactive fiction, also called text adventures. It also provides a generalized, plain-C interpreter library, as well as interfaces / implementations for various display and sound output methods, providing an interpreter-engine for you own project, even for closed-source implementations due to it's BSD-style license.
- About Infocom and interactive fiction in general, see the “New to IF” section at the Interactive Fiction Archive.
- To download Z-Machine games, see the IF-Archive's “Z-Code” section.
Currently there are five frontends available:
Using the freetype2 engine, this SDL2-based frontend allows for proportional font display and supports antialiasing, subpixel-rendering and HiDPI support. It uses the “Fira Sans” and “Fira Mono” font faces which were made by Erik Spiekermann and Ralph du Carrois.
This frontend uses ncurses “wide” variant for story output. Ncurses is commonly used for output on fixed-width text displays. The wide extensions will ensure correct unicode display.
This frontend will simple read and write from the console / terminal. No fance functionality whatsoever, but may be useful for automization or voice output.
An example Glk frontend. Requires glktermw — notice the trailing “w” — which may be downloaded from the GLK-Implementations at the Interactive Fiction archive.
A RemGlk-based fizmo frontend. Requires remglk, which may be downloaded from GitHub.
For developers, interfaces translate the Z-machine specific output — window management, output, scrolling and so on — into more display-specific commands, easing implementation considerably.
This interface will convert output into draw-pixel commands, providing support for implementations on any pixel-based display. This interface is used by fizmo-sdl2.
This interface will convert output into simple “goto-xy”- and “print”-commands, providing support for implementations on a fixed-width display. This interface is used by fizmo-ncursesw.
The GLK-interface translates Z-Machine output into GLK-specific instructions. This is used by Andrew Plotkin's iOS-fizmo.
This provides the interpreter core. It is a plain-C implementation which requires no external libraries (libxml2 is used by default, but in case babel support is not needed even libxml2 is not required).
Provides support for jpeg, png and infocom's mg1 image reading as well as X11-based output.
Supplies a SDL2-based sound interface.
INSTALL.txt on how to bulid the packages.
Please send bug reports (or other requests) to firstname.lastname@example.org.
Fizmo was written by Christoph Ender in 2005 – 2016.
Currently fizmo is in beta status, meaning it might do unexpected things such as stop with an error message, crash or cleesh your machine into a frog. There is no warranty of any kind whatsoever and you're entirely on your own when running it.
This package includes software written by other authors:
libfizmo includes the Mersenne Twister random number generator, available at http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/MT2002/emt19937ar.html. This is available via a BSD license, which is stored in the source file “libfizmo/src/interpreter/mt19937ar.c”.
libfizmo includes hyphenation patterns provided by the hyph-utf8 project at http://www.ctan.org/tex-archive/language/hyph-utf8/:
- British english hyphenation patterns as provided by the hyph-utf8 project at http://www.ctan.org/tex-archive/language/hyph-utf8/ under a permissive license.
- German hyphenation patterns, provided by the hyph-utf8 project at http://www.ctan.org/tex-archive/language/hyph-utf8/, distributed under the terms of the LaTeX Project Public License.
- French hyphenation patterns as provided by the hyph-utf8 project at http://www.ctan.org/tex-archive/language/hyph-utf8/, distributed under the terms of the MIT License.
libdrilbo includes code from the pix2gif utility by Mark Howell in ztools, which are available from http://www.ifarchive.org/indexes/if-archiveXinfocomXtoolsXztools.html. The copyright status of Mark Howell's work is unknown. Since he released the software for free and since it is also used by multiple other projects it can also be distributed or used freely, to the best of my knowledge.
libpixelif contains the “Fira Sans” and “Fira Mono” fonts made by Erik Spiekermann and Ralph du Carrois. For information about copyright and licensing see the file
SIL Open Font License.txt in the following directories: