Aimfiz is a Z-machine interpreter written in C and SDL, and is license under GNU GPL v3 or later version.
Some of the features are:
- It supports Z-machine versions 1 to 10 except 6; it is one of the only interpreters to support v9 and v10 story files (the other one being Fweep). Note that v9 and v10 files are not described in the 1997 Z-machine specification 1.0 nor in the 2006 Z-machine specification 1.1 (the most recent version).
- Both text aliases and key aliases are supported.
- Scrollback is supposed with a user-defined buffer size.
- Timer, undo, and mouse can be disabled.
- The speed of the timer can be adjusted.
- You can override the interpreter's decision whether the game is pirated or not, and if the game is verified or not.
- Plugins can be loaded for implementing EXT opcodes.
- Font 3 is supported using Amiga runes.
- Font 2 is supported, but only of the size is 8x8 (otherwise it ignores the picture file as if it wasn't there).
- The interpreter number can be changed (it is set to 4 by default, because of the Font 3 variant it uses).
- The ZSAVE format is supported for save games.
- All of the keys of the Z-machine are supported.
- A Z-machine one button mouse is supported (currently the other two buttons do nothing, although a later version of this interpreter might add functions for them).
- Auxiliary files are supported with a ZAUX archive.
- There is a master configuration file and each game can also have its own configuration file.
- You can repeat commands many times by pushing CTRL+Y.
- Transcripts are now supported.
- It implements CRCNT and CRFUNC (neither of which was ever used as far as I can tell, although Infocom documented and implemented them).
- Permanent shifts in versions later than 2 are supported (Infocom documented and implemented these, but never used them in V3+, and the Z-Machine Standard forbids them in later versions; Frolg is the only program that encodes them).
- Cheat codes can be used to override the value of global variables.
These features are currently unsupported but the author intends to add support soon:
- Input logs
- Extended input line editing feature
- Printout (using a dynamically loaded library which converts ESC/P to whatever is required by the system)
These features might be supported in later versions, although they might not going to be implemented:
- Sound (in Infocom format)
- More complete picture support
- Upper window of version 3
- Joystick (if I can ever figure out how Infocom intended to implement it)
- Mouse menus (the specification (except for version 6) is unknown)
- Multiple undo (although IRESTORE will still be a single undo only; multiple undo may be implemented by a separate key command)
- Possibly some debugging features
These features will never be supported:
- Variable-pitch text
- Built-in compensation for specific games (please patch the story files instead, or use a configuration file with the correct options)
The author expects you to complain in the talk page of this article and in the ifMUD. Other features not mentioned here might also be added in the future.
- Download source codes and Win32 executable (version 0.5)