On this page
  1. Related
  2. Games

A scrolling game shows a window onto a level larger than the screen. The hardware shifts the background by a scroll value, and the game writes the column or row about to appear before it does. Auto-scroll moves the view by itself; here the view follows the player.

  • FollowFelix the Cat (1992). Walking right, the camera keeps Felix 136 px behind its scroll value and stops 248 px past the stage's bound.1

Games

GameYearHowNote
Felix the Cat1992Followwalking right, the camera keeps Felix 136 px behind its scroll value and stops 248 px past the stage's bound
Every claim about this mechanic, by game (5)
Super Mario Bros.: The Lost Levels 1986GameCoreRoutine and ScrollHandler are Super Mario Bros.'s with three changes: the game mode's task list gains GameModeDiskRoutines at its head and the core no longer reads the current player's saved joypad bits; each frame of play calls SimulateWind once a disk file beyond worlds 1 to 4 is loaded; ScrollHandler waits for the status bar's timer IRQ before it scrolls and keeps the name table in NameTableSelect, where Super Mario Bros. sets it in its PPU control mirror. GetScreenPosition is byte for byte the same.Code
Mega Man 2 1988Mega Man 2's _scrolling_vertical follows Mega Man's _scrolling_up_down: the same name table and attribute address math and the same loop writing four 8x8 tiles per 16x16 quarter. Mega Man 2 computes the 32x32 block's address from the screen number, where Mega Man looks the screen up in a pointer table and checks _special_blockset_collision for a block the disassembly labels removed; some of its RAM moved too. The rest of each region is different code.Code
Sonic the Hedgehog 1991In the running game, with the camera's left edge written 1 px right of Sonic as he stands in Green Hill Act 1, the camera scrolls right 16 px a frame, away from him, for 510 frames, until the act's end locks the left boundary past him and the boundary moves him 16 px inside it; with the edge on his own x, it moves 144 px left in one frame.Verified
Felix the Cat 1992The playfield's scroll is $16:$14, which the raster split writes to $2005. In the Mesen probe, Felix's screen x is about x − scroll + 256: walking right, the camera settles with his x 136 px below the scroll value, and a sprite of his covers screen x 120. The scroll stops at the stage's bound plus 248.Verified
Mega Man 6 1993Both games slide the screen to a new section when Mega Man leaves by the top or bottom, but Mega Man 6's is new code. Mega Man 5 tests the player's Y ($0378) against $08 and $E8 inside its per-frame scroll update, reads the section layout from the stage bank at $A950, and steps the slide 4 pixels a frame from there; Mega Man 6's transitions are separate routines that clear the object slots, reset the spawner, and run their own loop of 120 frames for a vertical move, drawing and waiting a frame each time.Code

References

  1. ^The playfield's scroll is $16:$14, which the raster split writes to $2005. In the Mesen probe, Felix's screen x is about x − scroll + 256: walking right, the camera settles with his x 136 px below the scroll value, and a sprite of his covers screen x 120. The scroll stops at the stage's bound plus 248.Verified“Felix the Cat (USA)”revised
    How we know

    In the cartridge (“Felix the Cat (USA)”): fixed bank $C1FC-$C224, the raster split: for split $2A, $16,X and $1A,X bit 0 pick the nametable, then $14,X and $18,X go to $2005 as the X and Y scroll. We don't reproduce the bytes.

    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.

    In the claim ledger