The Z-Machine Standard 1.2 (draft)

Graham persuaded me to cut out the bits that there had been disagreement about, and put what was left on the IFArchive as 1.1 - it’s there as http://ifarchive.org/if-archive/infocom/interpreters/specification/ZSpec11.txt. I don’t think there’s been much interest - I implemented it in Windows Frotz, but I don’t believe anyone else has bothered with it.

My objection to Danii’s proposed 1.2 spec (at the bottom of page 5) remains.

Got it. (It would be good to do a simple update of the inform-fiction.org/zmachine/ … /z1point0/ pages – at that URL or elsewhere – just applying the changes in that 1.1 document.)

I agree that having selectors for every interpreter inconsistency is creating work that doesn’t solve any real-life problem. Having a selector for what seems be a straight-up error in the spec is definitely a bad idea.

I don’t think Vorple is a good reason to go through this spec update process. The Vorple extension is simply the availability of stream 6, right? That can be covered by a bit in the header extension table. That’s a minimal proposal. If you want to move from header extension to a @gestalt system, that too can be a minimal proposal, which should itself be run off (one final) header extension bit. Conditioning this stuff off a spec number is a mistake, as is using it to try to solve many problems at once.

I looked at 1.1 while implementing Bocfel (the default Gargoyle Z-machine interpreter), and it claims 1.1 support. For example, it supports combined text styles and @set_true_colour. A lot of 1.1 is V6-related (which Bocfel doesn’t officially support), or clarifications of 1.0 problems which are obviously correct. Bocfel is not completely compliant (sound support isn’t even 1.0-compliant, and the V1/V2 text encoding rule updates aren’t done), but I definitely was working to be as close to 1.1 compliance as was feasible.

Ohh, you wrote Bocfel! Cool!