Development started in 1997, based on the "Specification of the Z-machine, Standard Version 0.2" document of Nov. 15, 1995. In 2017, work started to update Infuse to conform to draft standard 1.2.
The interpreter consists of a large core module containing the Z-machine emulator, and a suite of small machine-dependent modules for various operating systems and user interfaces.
The machine-dependent modules only have to provide about 10 functions and some integer configuration variables to the core module. The Infuse core has been written to support both text-mode screens with only one font and a single style, as well as bit-mapped color screens with proportionally spaced fonts and many styles.
As of version 0.65, there are three such modules, all for the Linux operating system:
- a simple stdio module
- ncurses console
- X11 using the Athena Widget set, very buggy (but it has a Beyond Zork font).
Infuse has the following features:
- Standard 1.2 (a work in progress)
- Z-machine V3-8 (V6 is WIP)
- the runic font from Beyond Zork (X11 module only)
- Color support (true color is a work in progress)
- All text styles (X11 module only)
- Timed input in the X11 and curses modules
- Blorb story files as well as bare ones
- Quetzal save file format
- A vanity extended opcode to enable stories to print the interpreter version string
- The suite of profiling and debugging opcodes from Zoom
Custom extended Op-Codes implemented
Infuse implements a few custom opcodes: the suite of profiling and debugging opcodes from Zoom, and one op-code which enables games to print an interpreter's version string.
- Infuse repository. The git repository for the Infuse source code.