Infuse

From IFWiki

Infuse
Interpreter
[[File:|385px|center]]
Link Home page
Developer Monkey Mind
Format Z-code
Interaction style
System Linux
System details Works well for V3-5 games, has both ncurses and "dumb" interfaces (for scripting)
Latest version 0.98.5 / 23 Nov 2022
Status Beta
Uses interpreter
Multimedia support No multimedia
License GPL V3
Notes Note that this interpreter cannot simply be downloaded and run to play game files.
Browse the software database
Edit this infobox

Infuse is an interpreter for Z-code games, both historic Infocom and modern Inform titles. It can run games of version 3, 4, 5, 6, 7, and 8. V6 support is not complete.

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).


Features

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
  • Undo
  • 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.

Links

Interpreters
By format ADRIFTAdvSysAGTAlanGlulxHugoMagnetic ScrollsTADSZ-code
By system BrowserAndroidiOSLinuxmacOSWindows
Browse Recommended interpretersSearch formDrilldown
Other software Authoring systemsUtilities