Interpreter IDs?

I’m not sure if this is a question specific to ZIL, or z-machine in general. I’m wondering whether interpreters have a specific ID number that can be measured. For example, in ZIL you check this with <LOWCORE INTID>, but it seems that the only interpreter numbers that are there are the old interpreters, so thing like Parchment have no number, or the number is very high up. Is there a way to find which Interpreter ID is used?

I believe modern interpreters generally impersonate one of the old systems, in order to make Infocom game files work (since they check that to decide which features to use). Which makes the interpreter ID value not especially useful these days.

1 Like

Relying on a specific interpreter is not good. It breaks the modern expectation of platform independence.

From the z-machine standard:

Modern games are strongly discouraged from testing the interpreter number or interpreter version header information for any game-changing behaviour. It is rarely meaningful, and a Standard interpreter provides many better ways to query the interpreter for information.


To be clear, when we say “modern” and “these days”, we mean “since 1991”.


Okay, it’s just a bad idea to do so. Thanks :+1: