Terminating Characters Table can sometimes contain regular output characters

I’m a new here, but I’ve been working on a z-machine interpreter to try out the React Native framework and the posts here have been very helpful. Thanks!

While working on font 3 support, I ran into what I believe is an inconsistency between the specs (1.0 and 1.1) and the behavior of Beyond Zork (Release 57 / Serial Number 871221).
Specifically, the spec says in that:

Only function key codes are permitted: these are defined as those between 129 and 154 inclusive, together with 252, 253 and 254.

But when playing Beyond Zork on an interpreter claiming to be a Macintosh, the game inserts forward slash and backslash into the terminating characters table, I assume because Macs of that era did not all have arrow keys.
Here’s a screenshot of an occasion where the game is expecting a forward slash as a terminating character:

I hope that this nugget of behavior is useful to know about.


That is interesting. I’d never noticed that before.

This has a small implication for processing input: namely that checking for valid terminating characters must happen before deciding to print the input charater and add it to the input buffer.