Infocom Z-Machine V3 | Z3 - The Zork CPU
Created: November 28, 2014
Updated: January 27, 2020
Other project properties
Development Status: Stable
WishBone compliant: No
WishBone version: n/a
A Verilog implementation of the Infocom Z-Machine V3. The spec the Z3 follows is http://inform-fiction.org/zmachine/standards/z1point0index.html. 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: http://www.youtube.comwatch?v=HuQZq6DQQDY
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.