$33 is the stage index. A stage ends at $FA20, which adds 1 to it once the clear flag ($03B7) is up and the tally has run the timer down to 000. In the 1625M replay it reads 0 in the first stage and counts up to 22 in the last. | every change of $33 | Code |
The exit test has no boss condition. Each of the seven boss rooms, stage indices 2, 5, 8, 11, 14, 16, and 18, has a bound of 0, so it ends at x 290, inside the room's wall (felix-the-cat/boss-wall). In Mesen, from power-on, with each boss stage cleared at its bound and $040C set to 3 where the stage's last door would set it, the game's room change loads the boss room; Felix placed there at x 290 with the boss up sets the clear flag the next frame, the fight's step $0411 still at 0, and the next stage loads. | each boss fight | Verified |
| In each of the seven boss rooms, the map's columns 14 to 31, x 224 to 511 of its 512 px, are solid from top to bottom, and so is column 0. The wall test (felix-the-cat/wall-test) stops Felix at x 215, where the point 8 px ahead of him reaches the wall. In Mesen, moving right at his top speed of 533/256 px a frame from x 215, he stays at 215 at every height, from above the map to below it. | each boss fight | Verified |
Felix's push $041D comes from one routine, in PRG bank 12: a platform whose x swings with the frame counter sets it, while Felix rides, to the change in its x that frame, and the object pass clears it again afterward. The mover adds it to Felix's x, and the wall test never takes it back (felix-the-cat/wall-test). In FCEUX's replay of the 1625M movie the push was 1 px either way, and it came only in the main areas of stage indices 1, 2, 7, 9, 10, 12, 18, and 22, never in a boss room. | every nonzero write to $041D | Code |
$0411 is a boss stage's step: 0 in the fight, 1 once the boss is beaten, and 2 in the room after. Only two instructions add to it: $A20D in PRG bank 13, in the routine that runs when the boss is beaten, and $FA13, in the room change that $040C = 3 asks for. A door asks for it only in a main area (felix-the-cat/boss-room-door); in the boss room, bank 13's $A1B9 stores the 3. Every store to $0411 writes 0, or $FF that $FA13 lifts to 0 at once. In FCEUX's replay of the 1625M movie, in World 1, the step went from 0 to 1 at $A20D on frame 7,643; on frame 7,880 $A1B9 set $040C to 3, and $FA13 took the step to 2. | frames 7500-7960, writes to $0411 and $040C | Code |
A door in a boss room leads back into the same room. Pressing Down on a door tile sends Felix down it, and the door's kind picks the room change. In a boss room ($040D = 8), $CABF gives every door kind 2 except in stage index 22, and kind 2 is a hop back up where he went down. Only kind 3 moves the boss step on (felix-the-cat/boss-step), and $CB90 gives it only to a door in a main area, with the step at 0. Stage index 5's boss room has a door tile where Felix comes in. In FCEUX, Down on it during the fight sends him down and back up at x 48, with the fight still on. | frame 15184, the movie stopped there | Code |
Once the clear flag is up, the game counts the timer down one unit a frame, and the stage index moves on 162 frames after the timer's count, so the wait after a clear is the timer's reading plus 162 frames. With the power level above 0, the power's remaining units ($03C0) are counted first, about 15 frames each. | the 22 clears | Verified |
$03C6 holds Felix's power level, 0 to 3 in the 1625M run. While it's above 0, $03C0 counts down one unit every 300 frames (150 odd frames, counted at $03C1); each change of level in the run that left it above 0 set $03C0 back to 10. | every change of $03C6 | Code |
Replayed in FCEUX, Randil's 1625M movie passes 23 stages in 9 worlds of 3, 3, 3, 3, 3, 2, 2, 1, and 3 stages. For each stage the table gives the frame play starts (game mode $28 reaches 5) and the frame the clear flag goes up; the last stage runs to the movie's end at frame 81,074. | the whole movie | Verified |
In Randil's 1625M movie, replayed in FCEUX, the seven boss fights last 627 to 733 frames from the first frame of play in the boss room to the frame the boss is beaten ($0411 reaches 1), 4,982 frames in all. | each boss fight | Verified |