Handling of packed ZSCII values 1-3 when "shifted" to A1 or A2?

ZMS 1.0 section 3.3 says:

In Versions 3 and later, Z-characters 1, 2 and 3 represent abbreviations, sometimes also called
'synonyms' (for traditional reasons): the next Z-character indicates which abbreviation string to
print. If z is the first Z-character (1, 2 or 3) and x the subsequent one, then the interpreter must
look up entry 32(z-1)+x in the abbreviations table and print the string at that word address. In
Version 2, Z-character 1 has this effect (but 2 and 3 do not, so there are only 32 abbreviations).

I am assuming that this is the defined behavior when alphabet A0 is selected. Is there a definition of what happens if the alphabet has been shifted to A1 or A2?

Also, since only 64 abbreviations are allowed by Inform 6, would a 3 code here mean that the selected range was illegal?

It doesn’t matter which alphabet is selected. This check is done before checking any alphabet tables.

(Any particular reason why you’re reading version 1.0 of the spec when v1.1 is the current one?)

Because that’s the only PDF version I’ve found (version 1.0 w/updates through Sep 04 1997 and ZMS 1.1 draft 7 added as an appendix).

Is ZMS 1.1 available as a PDF anywhere? (I’ve only come across the HTML version of it at The Z-Machine Standards Document: Contents .)

I have a pdf that I started a while back if you’re, or anyone else, is interested. There’s a pdf and an odt-file. It probably could use some profreading.

Z-machine standards document ver 1.1

(The document is created by copying from the HTML-version and applying formatying. The actual text should be correct.)

Thank you! Do you mind if I add a link to the “list of Inform 6 documentation” post?

(And another question: Do you plan to submit it to the IF Archive?)

Not at all.

I don’t know how that works but if it’s fit for IF Archive I have no problem submitting it there.

Is this what drives the “wastefulness” that you cited at Z-machine text encoding - wasteful? ?

Yes. These codes could have been used for something else when alphabet A1 or A2 are selected. Wasting three codes in A1 and three codes in A2 means a lot of waste.