Updating the Z-Machine Standard Documents

Speaking of the file length header field. Here’s something I found interesting and not immediately obvious regarding the checksum word in the header. The standard mentions that some early V3 games lack both the file length and checksum fields (they are zero) used by the verify opcode. What I realized is that the verify opcode should rely on a non-zero file length field to indicate the presence or absence of the checksum, and not the checksum field. This is because zero is a valid (if unlikely) checksum. If V3 games continue to be made, eventually one will have a valid zero checksum.

2 Likes