The code

Everything in the interrupt

INIT (0x4077) sets interrupt mode 1, hooks H.KEYI with a jump to 0x402C, puts the stack at 0xE400, clears the kilobyte of RAM and sits on the jr $ at 0x40A5. Everything else happens in the hook, once per frame: sound first, the controls, and the scene. The sixteen scenes are in the table at 0x40C3, stuck right behind the call of the dispatcher at 0x404A, which finds it with a pop hl.

The game frame (0x51F5) is eleven calls in a row, one for each thing that moves.

Climbing the tree

The screen is the map

There is no map in RAM. 0x61A3 reads the two cells under the player's feet from VRAM and 0x6465 checks whether they are pattern 0x9B. 0x6251 looks for an object on the screen to erase it, and the creatures check the cell ahead before moving: 0x6EB4 wants index 3, 0x7167 one between 0xCD and 0xD0.

Randomness

Nine ld a,r: the Z80's refresh counter.

The tools