Sprite overflow games
The following is a list of games which rely on putting more than 8 sprites on a scanline.
Use of sprite overflow flag
The sprite overflow flag is rarely used, mainly due to bugs when exactly 8 sprites are present on a scanline. No games rely on the buggy behavior. See sprite overflow bug for more details.
Nonetheless, games can intentionally place 9 or more sprites in a scanline to trigger the overflow flag consistently, as long as no previous scanlines have exactly 8 sprites.
- Bee 52: At the title screen, the game splits the screen with sprite overflow (at scanline 165), then splits the screen with a sprite 0 hit (at scanline 207). If sprite overflow is not emulated, the game will crash at a solid blue-purple screen.
- blargg's sprite overflow test ROMs: tests behavior of sprite overflow, including the buggy behavior.
- City Trouble uses both the sprite overflow flag and the sprite 0 flag to make two scroll splits.
Use of excess sprites for masking effects
Some games intentionally place multiple blank sprites early in the OAM at the same Y position so that other sprites on those scanlines are hidden.
- Castlevania II: Simon's Quest (a.k.a. Dracula 2): When Simon enters a swamp, the lower half of his body should be hidden.
- Felix the Cat: When entering or exiting a bag.
- Gimmick!: When entering a level. Also used to keep extra sprites out of the status bar.
- Gremlins 2 - The New Batch: Uses multiple blank sprites to mask rows during cutscenes.
- Majou Densetsu II: Daimashikyou Galious: When entering a doorway, Popolon's body should gradually disappear (to imitate walking down stairs).
- Ninja Gaiden 1, 2 and 3: All sprites in all cutscenes should be confined inside the black background borders.
- The Legend of Zelda (a.k.a. Zelda 1, Zeruda no Densetsu): On the top or bottom of dungeon screens.
- Solstice: during the intro cutscene, there are stray sprites on the screen beyond the 8 per scanline, but the NES won't display the excess sprites. This is not a masking effect, it is merely the hardware covering up a mistake that wasn't caught by the original programmers.