Which bytes are code was found by running the game, not by reading it. The build plays it in SkoolKit's simulator -- with each control method and directional control, walking, turning, jumping, picking up and putting down, pausing, in every room, and through staged scenes for game over, the chambers, the ending, the clock running out, an extra life, the remote-controlled robots and the things that drop from the ceiling -- and records every address the processor fetches an instruction from. Recursive descent then follows the branches out of what ran, and the jump table of update routines (
UPDATES), inventing nothing. Everything else is data.
The level data -- the room directory (
ROOM02), the object templates and backgrounds, the places the valves lie (
PLACES), the graphic table (
GRAPHICS), the sprites and the font -- is laid out a record per entry from the game's own bytes each time the disassembly is built, so the game's design is never written into the repository's files. Each sprite's picture is drawn from its bytes the way the game's drawing code reads them.
The listing reassembles byte for byte with sjasmplus, and the snapshot rebuilt from it is the one the tape made, byte for byte.