Where can I find Z-Machine and Glulx specifications and example implementations?

I am interested in writing and maintaining an interpreter for DOS so Inform games could be played even on such ancient hardware.

In case you weren’t aware, Frotz is a well-maintained Z-Machine interpreter that compiles and runs on MS-DOS (as well as PCDOS and FreeDOS):
https://gitlab.com/DavidGriffith/frotz

As for Glulx, Glulxe is an interpreter written in C which at least used to be possible to compile for MS-DOS.

Source code:
https://github.com/erkyrath/glulxe
DOS build of old version:
http://ifarchive.org/if-archive/programming/glulx/interpreters/glulxe/glulxe-034-dos.zip

See also: Glulx on DOS - #2 by DavidK

Z-Machine specification:
https://zspec.jaredreisinger.com

Glulx specification:
https://github.com/iftechfoundation/ifarchive-if-specs/blob/main/Glulx-Spec.md

5 Likes

I know, but I want to make one that’s universal (can take both Z-Machine and Glulx, kinda how Parchment does it for web) as well as to practice writing an interpreter.

Sounds like a cool project.

I just realised that I should have mentioned Git (not to be confused with the version control system) as well:
https://github.com/DavidKinder/Git

It is another Glulx implementation which has been compiled for DOS in the past. It focuses on speed, which means that it can handle some games that are too slow to play on, say, a 80386 in Glulxe.