In the Quertzal save standard, the stack return PC is stored as 3 bytes.
4.3 Each frame has the format: 4.3.1 3 bytes ... return PC (byte address)
Yet, the Z-Machine standards guide Section 1.2 states all addresses can be stored in two byes:
1.2 There are three kinds of address in the Z-machine, all of which can be stored in a 2-byte number: byte addresses, word addresses and packed addresses.
Section 2.1 of the guide states:
2.1 In the Z-machine, numbers are usually stored in 2 bytes (in the form most-significant-byte first, then least-significant) and hold any value in the range $0000 to $ffff (0 to 65535 decimal).
I don’t think it clarifies what “usually” means. Is it, “usually two bytes, but sometimes one” like the version number in byte 0 of the header?
Given this, should the Quetzal file stack return PC address most significant byte always be 0? Or is it to be able to store the “unpacked” representation of a packed address?