Boss fight
A battle with one strong enemy, often at the end of a level, with its own arena, health, and attacks.
A boss is an enemy built as a set piece. It takes many hits, guards the end of a level or an area, and runs an attack pattern the player learns to read.
Games
| Game | Year | How | Note |
|---|---|---|---|
| Felix the Cat | 1992 | each boss room runs the same exit test, from a bound of 0, behind a wall solid from top to bottom |
Every claim about this mechanic, by game (6)
References
- ^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
$040Cset 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$0411still at 0, and the next stage loads.Verified“Felix the Cat (USA)” · 1625M, replayed in FCEUXrevisedHow we know
In the cartridge (“Felix the Cat (USA)”): fixed bank $F7FF-$F840: the test reads Felix's x, $32, and the bound; nothing about a boss; fixed bank $F841-$F856: with $040C at 3, jump to $FA07; with $040C or $040D odd, to $F9F7; otherwise the hop at $F857; fixed bank $FA07-$FA1F: unless $040D is 8, set $0411 to $FF; add 1 to $0411, set $040D to 8, and load the room. We don't reproduce the bytes.
each boss fight Measured by a script in MesenCE 2.2.1 (build 4b8a196), on Felix the Cat (USA) (SHA-1
b57b1c6e6933…). It fails if the result disagrees with the claim.The numbers come from the run; its author, an AI model, checked the script measures what the claim says, 2026-10-25.
Revised after a check by a second AI model, 2026-10-25.
Revised after a check by a second AI model, 2026-10-25.
- ^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.Verified“Felix the Cat (USA)” · 1625M, replayed in FCEUXrevised
How we know
In the cartridge (“Felix the Cat (USA)”): fixed bank $F251-$F290: the map lookup the wall test uses (felix-the-cat/collision-map); fixed bank $D0EB-$D15F: moving right, test the tile at x + 8; if it blocks, subtract the x speed from x. We don't reproduce the bytes.
each boss fight Measured by a script in MesenCE 2.2.1 (build 4b8a196), on Felix the Cat (USA) (SHA-1
b57b1c6e6933…). It fails if the result disagrees with the claim.The numbers come from the run; its author, an AI model, checked the script measures what the claim says, 2026-10-25.
Revised after a check by a second AI model, 2026-10-25.
- ^
$0411is 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:$A20Din 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$A1B9stores the 3. Every store to$0411writes 0, or$FFthat$FA13lifts to 0 at once. In FCEUX's replay of the 1625M movie, in World 1, the step went from 0 to 1 at$A20Don frame 7,643; on frame 7,880$A1B9set$040Cto 3, and$FA13took the step to 2.Code“Felix the Cat (USA)” · 1625M, replayed in FCEUXrevisedHow we know
In the cartridge (“Felix the Cat (USA)”): bank 13 $A201-$A20F (mapped at $A000): with $0776,X bit 3 set, play sound $10 and INC $0411; bank 13 $A1B2-$A1BC: $0616,X = 0, $040C = 3; fixed bank $FA07-$FA1F: unless $040D is 8, $0411 = $FF; INC $0411; $040D = 8. We don't reproduce the bytes.
frames 7500-7960, writes to $0411 and $040C Checked against the evidence by its author, an AI model, 2026-10-25.
Revised after a check by a second AI model, 2026-10-25.
- ^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),$CABFgives 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$CB90gives 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.Code“Felix the Cat (USA)” · 1625M, replayed in FCEUXrevisedHow we know
In the cartridge (“Felix the Cat (USA)”): fixed bank $CABF-$CAC8: with $040D at 8, go to $CB9F; fixed bank $CB9F-$CBA4: unless the stage index is $16, go to $CB82; fixed bank $CB82-$CB86: kind 2 into $066E, then $CB0C, which puts Felix in state $0D (going down); fixed bank $F841-$F856: kind 3 goes to $FA07; kind 2 with $040D at 8 is even, so the hop at $F857. We don't reproduce the bytes.
frame 15184, the movie stopped there Checked against the evidence by its author, an AI model, 2026-10-25.
Revised after a check by a second AI model, 2026-10-25.
- ^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 (
$0411reaches 1), 4,982 frames in all.Our research1625M, replayed in FCEUXHow we know
each boss fight Measured by a script. It fails if the result disagrees with the claim.
Checked against the evidence by its author, an AI model, 2026-10-25.
Checked by a second AI model, 2026-10-25.