Fweep is a very portable Z-machine interpreter written in C, and is license under GNU GPL v3 or later version.
It support all version 1 to 10 of Z-machine except version 6. Unsupported features:
- Upper window
- Text formatting
- Sound effects (other than beep, and only one tone)
- Timed input
- Auxiliary files
The status line is supported, but it won't automatically be displayed; you have to use an escape command (defined on command-line parameters) to view it.
This program uses interpreter number 1 (11 if Tandy mode is selected), and has some minimal debugging features. Many things that the specification recommends are errors, though, instead aren't errors but do what seems most reasonable to me (technically, they are undefined, so doing this is OK, but don't depend on it when writing Z-machine story files).
Due to the number of unsupported features, it uses a "Flags 3" in the header at position $30 and $31 to specify this (not for version 6 games), although it tries to emulate (or ignore, as appropriate) these features to some extent if a game tries to use them anyways.
Some of these features may be implemented later, and/or the author intends to make another Z-machine interpreter later on, in SDL, based on the same codes but implementing many more features too (except for Unicode, which the author of this program does not wish to implement; the other feature the author does not wish to implement is compensation for specific games).
The author expects you to complain in the talk page of this article and in the ifMUD.
- Download source codes and Win32 executable (version 0.3; still a few bugs, and I don't know what they are)