Creating Z-Machine games targeting retro machines

As a retro-fan, I wonder if there exists any way to compile Z-Machine games to execute on the existing interpreters for the machines Infocom games were originally developed.

As I can see, Infocom games were released for a broad range of (current)retro machines, but all work towards using the Z-Machine seems to have been done from the perspective of recreating the machine on much more modern computers, pushing the ZM to its limits until the need of a new machine: glulx.

Inform, and to be more precise its standard library, is too big to fit in a V3 Z-Machine.

I wonder if ZIL cound be used for this, or if there has been any work in this line.

Maybe some light library for Inform…

Anyone interested in this? Any bit of info would be greatly useful.

There’s been a fair amount of recent discussion here about building Z-code games to run on the C64.

Inform 5 and early releases of Inform 6 can generate .z3 files. ZIL is also being used for this sort of thing.

1 Like

Hi,

I’ve been doing some retro work for the TRS-80. Here’s the scottfree interpreter running on the TRS-80 as Scott19.

It might be possible to compile a z-machine interpreter, but it would have to be simplified. Most of the work involves making sure most variables are 8 bit or 16 bit at the most.

Although, a z-machine interpreter ought to fit in a 48K machine after some hacking.

What retro machines do you have in mind?

Linus Akessons’ Dialog aims for compatibility with old systems, as it uses optimized memory. Maybe this would be worth looking at?

Last time I checked, Dialog still don’t compile v3 story files…

Anyway, the first step should understanding how Infocom’s ZIP/[E|X|Y]ZIP works. a work whose require 8-bit disassembling, an Art not available to ordinary imps.

The holders of “The Drive” can look if there’s 6502/z80/whatever assembler files around inside, in wiev of disclosing also surviving 8-bit *ZIP sources ?
(perhaps grepping for known 6502/Z80 mnemonics can do the trick ?)

Best regards from Italy,
dott. Piergiorgio.

I was under the impression that even these versions, despite generating z3 files, had a library with too much weight for what I am looking for. It’s the general impression I got about Inform library.

The original ones where the interpreters existed back then (though the idea of a Scott interpreter for TRS-80 opens possibilities for one that works in a Dragon 32/64!)

I’m about halfway through applying changes to Frotz that should allow it to work correctly on a PDP10 mainframe.

2 Likes

There is the mInform library, which is a smaller version of the Inform 6 library. Games using mInform can be compiled to z3 format with an older version of the Inform compiler (6.15?)

Stefan Vogt is using a modified version of the mInform library. I don’t know if he intends to share that modified lib with the world.

There are also a bunch of people interested in writing games in ZIL, but few games have been released this far.

We’ve started work on a library for Inform 6 called PunyInform, which is meant for writing games for 8-bit machines. It’s not ready for real-world use yet.

Regarding using the Z-machine for old computers: We wrote a terp for the C64 in 2018: http://www.ifwiki.org/index.php/Ozmoo . We made it adhere to Z-machine standard 1.1 (the current one) as far as we reasonably could on that platform. Since it’s written in 6502 assembler, it should certainly be possible to port it to Apple, Atari and other platforms.

2 Likes

Now that I am doing research on all this, I wonder how much Infocom’s parse changed as they released titles. We know that the Z-machine evolved but I can’t find any info about the parser/library (if they used such a concept internally) changed for a given Z-Machine version.

That, and its size relative to the game itself.

They didn’t have the concept of a parser library until late in the era. You’d start by cloning an existing game and stripping out the stuff you didn’t need.

Now that the source code is available, you can do these comparisons yourself.

Indeed, this is a luxury we didn’t have until very recently.

That’s why I’m trying to put myself up to speed with ZIL.

I just got a clear answer from Stefan that he and his companions at Puddle will be releasing their pInfocom library and toolchain for public use.

1 Like

I was about to ask him too. Sounds great!

1 Like