Infocom Z-Machine V3 | Z3 - The Zork CPU

Infocom Z-Machine V3 | Z3 - The Zork CPU


Category: Processor

Created: November 28, 2014

Updated: January 27, 2020

Language: Verilog

Other project properties

Development Status: Stable

WishBone compliant: No

WishBone version: n/a

License: BSD


A Verilog implementation of the Infocom Z-Machine V3. The spec the Z3 follows is Specifically version 3, the so called "Standard" games. These were released between 1982 and 1987 and covers most Infocom games. Z3 passes the "CZECH - Comprehensive Z-machine Emulation CHecker" by Amir Karger. And is known to run at least Zork I, Hitchhiker's Guide to the Galaxy, Planetfall and Curses (by Graham Nelson).

The following YouTube video shows it in action:

To provide the input/output a terminal is implemented in a BIOS (in Z-machine code) which exists in the ROM above 120Kb. The IO related opcodes (like @print) vector into the BIOS which provides the terminal. A small number of extra op codes were added so the BIOS could interface with an LCD touchscreen and access the top 64Kb of RAM (which shadows the ROM).

Save/Restore isn't currently supported (as my hardware hasn't any storage) and is the only notable omission.