The requirements to run a Z Machine are straightforward:
- Enough RAM to hold the Z Machine and story file
- Storage to store one or more story files and associated save files
- Keyboard and terminal support
Fortunately, the Adafruit Fruit Jam meets all these requirements nicely.
Most Z Machines are written in the C language. However, the CPZ Machine is written in CircuitPython (hence the "CP" in "CPZ Machine"). This allows for easy installation either standalone or within the Fruit Jam OS environment.
Since it is an interpreter, the CPZ Machine can run any program that supports version 3 Z-coded games. In addition to the three Zork games included, there are dozens of other version 3 games available from the internet.
Back in the 1980s, computers were limited to monochrome and low resolution color screens. Since Zork was a text adventure, it would look better on a monochrome display. Green, amber, and black and white screens were popular for running Zork. The CPZ Machine recreates this with color themes, using the name of the computer most associated with the color theme:
TRS80 - white text on black background
Lisa - black text on white background
Compaq - green text on black background
Amiga - white text on blue background
Amber - amber text on black background
To switch to a theme, use the command "theme {color_theme}", matching one of the themes above. To get a list of themes, use the command "themes".
A blinking cursor is there too, to help "sell" the look of a 1980s text screen.
Frequently saving games is important in Zork and other games in case you unexpectantly "get eaten by a grue" or other untimely deaths in the game. The CPZ Machine supports multiple save points so you can move between different points in the game. Use the command, "save", and you will get a prompt for a save name.
The CPZ Machine saves all its games in the CPSAVES drive in the /cpz folder. This drive is available on the Adafruit Fruit Jam, and is writable by CircuitPython.
Page last edited October 31, 2025
Text editor powered by tinymce.