←back to thread

156 points ChristopherDrum | 2 comments | | HN request time: 0.565s | source

I recently brought Infocom's original UNIX z-machine source code back to life on modern systems. The modified source code, instructions on usage, a build of the z-machine, and examples of embedded game executables are available.

There is also a detailed write-up about the state of the original source code, the porting process, and the invaluable role Justine Tunney's Cosmpolitan project played in bringing the Zork trilogy (and more) to Windows/Mac/Linux/bsd for arm/x86 machines over the course of a lazy Sunday.

Show context
joshu ◴[] No.43678188[source]
i think ucsd p-system vm predates z-machine by a couple of years (re OP's origin of vm use comment)
replies(2): >>43678260 #>>43682390 #
ChristopherDrum ◴[] No.43678260[source]
Interesting to know, thanks. My intention with that comment was in pondering about vms distributed commercially in the home market, which I don't think I made clear enough in the post. :/
replies(3): >>43679731 #>>43679816 #>>43682377 #
1. ssrc ◴[] No.43679731[source]
What's remarkable about Infocom's z-machine is the level of sophistication and polish vs the intended application, maybe unsurprising coming from MIT graduates with access to a PDP-10 as a development platform. Otherwise the use of virtual machines was, maybe not common, but not unusual.

* TinyBasic (1975) was specified (and sometimes implemented) as a VM https://en.wikipedia.org/wiki/Tiny_BASIC

* Apple Pascal (1979) was a UCSD Pascal system. https://en.wikipedia.org/wiki/Apple_Pascal

* The COSMAC VIP computer/console's (1977) games were programmed in CHIP-8, a VM. https://en.wikipedia.org/wiki/CHIP-8

* Scott Adams' text adventures (1978+) used an application-specific VM. https://en.wikipedia.org/wiki/Adventure_International

* Wozniak's SWEET16 contained in Apple II Integer Basic (1977) https://en.wikipedia.org/wiki/SWEET16

* If you count Forth as a VM, it was pretty common. https://en.wikipedia.org/wiki/Forth_(programming_language)

replies(1): >>43682102 #
2. ForOldHack ◴[] No.43682102[source]
You must have done little research to remember those. I knew all but two. (COmSAC and Sweet16).

I wonder if the wikipedia articles are lucky enough to be good...