Open questions

What is settled, and what is not, kept apart. What is measured carries its measurement; what is assumed says so and has not been written into the listing as if it were a fact.


MEASURED, and closed


ASSUMED, and labelled as such


OPEN: what could not be settled

1. Whether the three leftover blocks were ever meant to be used

They are complete and well formed —the lists close on their own 0x00 exactly where the ones that are used begin— but nothing reads them. Whether the recompilation simply carried them along or something in an earlier build did use them cannot be told from this binary.

2. What the demo does, and how it decides

The attract mode plays on its own from state 7, and the states around it (18 and 19) belong to it, but the routine that feeds it its moves has not been picked apart.

3. The six streams of the table at 0x55F5

They are six run-length streams of 96 bytes of VRAM each, one chosen by the high nibble of 0xE05B, and they go into the sprite pattern table. That much closes exactly. Which of them is which kid, and whether the choice on the first screen is what selects them, has not been checked on screen.

4. The blind jump at 0x408B

It is the dispatcher's own jp (hl), and its five tables are accounted for, so nothing is missing from the trace. It is listed here because a blind jump is always worth naming: if a sixth table existed, this is where it would come from.