The Z-Machine is a virtual machine invented in 1979 by Infocom to run its interactive fiction — the entirely text-based adventures where you type out your actions. The idea was ahead of its time: rather than rewriting every game for the Apple II, the Commodore 64, the TRS-80 or the PC, Infocom compiled its games once into a portable format, then only had to write a small interpreter per machine.
That file format, known as the story file, outlived Infocom. The studio closed in 1989, but the Z-Machine specification was reverse-engineered and published, and free tools such as Inform have allowed new interactive fiction to be written in the same format since the 1990s. The scene is still active: every year dozens of new free games appear, notably around the IFComp competition, and they play exactly like a 1980 Zork.
The catalogue therefore covers the Infocom classics (Zork, Planetfall, The Hitchhiker's Guide to the Galaxy, A Mind Forever Voyaging, Trinity) and a vast body of modern creations freely downloadable from the IF Archive.
| Project | Z-Machine |
| Author | Infocom |
| First release | 1979 |
| Game type | Interactive fiction, text adventure |
| Keyboard | Mandatory |
| Controller | Optional |
This system is played on a keyboard: the games expect typed sentences (
open mailbox,go north,take lamp). A USB or Bluetooth keyboard is required, a controller is not enough.
Emulator availability per board:
| Emulator | RPI3/RPI02W | RPI4/400 | RPI5/500 | OGA/OGS/RG351 | PC | RG353 |
|---|---|---|---|---|---|---|
| Frotz | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Libretro mojozork | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
Frotz is the interpreter used by default, on every board: it is a complete Z-Machine interpreter, supporting every version of the format, from v1 to v8. Recalbox applies its display settings automatically (colours, window size, scaling of illustrated games).
Libretro mojozork is a minimal interpreter running inside RetroArch; it only handles the oldest story files and therefore only suits the first-generation Infocom games.
Netplay is not available on this system and RetroAchievements are not supported. This system has no CRT support.
Put your games in:
/recalbox/share/roms/zmachine/
Supported extensions per emulator:
| Emulator | Extensions |
|---|---|
| Frotz | .dat .z1 .z2 .z3 .z4 .z5 .z6 .z7 .z8 |
| Libretro mojozork | .dat .z1 .z3 .zip .7z |
The digit in the extension is not an episode number: it is the version of the Z-Machine format the game was compiled for. The early Infocom games are .z3, the last ones .z5 or .z6 (with illustrations), and modern interactive fiction written with Inform is usually .z5 or .z8.
A game fits in a single file, dropped directly into the folder:
/recalbox/share/roms/zmachine/
├── zork1.z3
├── trinity.z5
└── curses.z5
Libretro mojozork only reads the
.z1and.z3formats. For everything else — that is, most games — use Frotz, selectable in the game options.