Go Back

Source code

Details

Name: z3
Created: Nov 29, 2014
Updated: Nov 30, 2014
SVN Updated: Nov 30, 2014

Other project properties

Category: Processor
Language: Verilog
Development status: Stable
Additional info:
WishBone Compliant: No
License: BSD

Description

A Verilog implementation of the Infocom Z-Machine V3. The spec the Z3 follows is http://inform-fiction.org/zmachine/standards/z1point0/index.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.com/watch?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.