Sprite overflow games: Difference between revisions

From NESdev Wiki
Jump to navigationJump to search
(→‎Commercial: Alphabetical order)
No edit summary
Line 1: Line 1:
The following is a list of games which either take advantage of the [[PPU_sprite_evaluation#Sprite_overflow_bug|sprite overflow bug]] of [[OAM]], or intentionally place sprites so later sprites are discarded.
The following is a list of games which rely on putting more than 8 sprites on a scanline.


== Commercial ==
== Use of sprite overflow flag ==
* ''Bee 52'': to get past a solid purple screen (more details needed).
The sprite overflow flag is rarely used, mainly due to bugs when exactly 8 sprites are present on a scanline. No games rely on this buggy behavior. See [[PPU_sprite_evaluation#Sprite_overflow_bug|sprite overflow bug]] for more details.
 
Nonetheless, games can intentionally place 9 or more sprites in a scanline to trigger the overflow flag consistently.
 
=== Commercial ===
* ''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.
 
=== Homebrew ===
* blargg's [https://github.com/christopherpow/nes-test-roms/tree/master/sprite_overflow_tests sprite overflow test ROMs]: tests behavior of sprite overflow, including the buggy behavior.
 
== 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.
 
=== Commercial ===
* ''Castlevania II: Simon's Quest'' (a.k.a. ''Dracula 2''): when Simon enters a swamp, the lower half of his body should be "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.
* ''Felix the Cat'': when entering or exiting a bag.
Line 9: Line 22:
* ''Majou Densetsu II: Daimashikyou Galious'': when entering a doorway, Popolon's body should gradually disappear (to imitate walking down stairs); [https://www.youtube.com/watch?v=9XHXYhb_gDo Youtube video] demonstrating the effect.
* ''Majou Densetsu II: Daimashikyou Galious'': when entering a doorway, Popolon's body should gradually disappear (to imitate walking down stairs); [https://www.youtube.com/watch?v=9XHXYhb_gDo Youtube video] demonstrating the effect.
* ''Ninja Gaiden'': some cutscenes (more details needed).
* ''Ninja Gaiden'': some cutscenes (more details needed).
* ''Solstice'': during the intro cutscene, it puts too many sprites on the screen, but the NES won't display the excess sprites.
* ''The Legend of Zelda'' (a.k.a. ''Zelda 1'', ''Zeruda no Densetsu''): when entering vertical (top-bottom-facing) doorways.
* ''The Legend of Zelda'' (a.k.a. ''Zelda 1'', ''Zeruda no Densetsu''): when entering vertical (top-bottom-facing) doorways.


== Homebrew ==
==Misc==
* blargg's [https://github.com/christopherpow/nes-test-roms/tree/master/sprite_overflow_tests sprite overflow test ROMs]
=== Commercial ===
* ''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.


== References ==
== References ==
* [http://forums.nesdev.org/viewtopic.php?p=136304#p136304 BBS topic] (with screenshots of ''Castlevania II: Simon's Quest'')
* [http://forums.nesdev.org/viewtopic.php?p=136304#p136304 BBS topic] (with screenshots of ''Castlevania II: Simon's Quest'')

Revision as of 07:24, 27 December 2014

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 this 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.

Commercial

  • 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.

Homebrew

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.

Commercial

  • 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.
  • 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); Youtube video demonstrating the effect.
  • Ninja Gaiden: some cutscenes (more details needed).
  • The Legend of Zelda (a.k.a. Zelda 1, Zeruda no Densetsu): when entering vertical (top-bottom-facing) doorways.

Misc

Commercial

  • 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.

References

  • BBS topic (with screenshots of Castlevania II: Simon's Quest)