MechanicsTechniquesGamesGenresGlossaryResearchClaimsSourcesSearch
Source · Secondary · wiki

PPU OAM

NESdev Wiki contributors. n.d. “PPU OAM.” NESdev Wiki. Version oldid 23161.

Cite as
NESdev Wiki, “PPU OAM”
Original
https://www.nesdev.org/wiki/PPU_OAM
sha256
1bd5744873c37353f8cb9ec870478dcf6cb9ba83c40729cb65bd36c6d9389d6d
Version
oldid 23161
Archived
https://web.archive.org/web/20261005213338/https://www.nesdev.org/wiki/PPU_OAM
Accessed
2026-10-21
Licence
none stated on the page
Credit
NESdev Wiki editors (nesdev.org); see the page history.
Notes
Read from the Wayback capture of 2026-10-05 (revision 23161). Used for the 64-sprite display list, secondary OAM's 8 sprites per scanline, and sprite 0 hit.

Cited on

  • Sprite flicker
  • Status bar split

Claims (3)

The PPU's object attribute memory (OAM) holds a display list of up to 64 sprites, 4 bytes each, and sprite 0 is the one at OAM bytes $00-$03.leadSprite 0 hitsWiki
On each scanline the PPU copies the sprites in range, searching OAM in order, into a secondary OAM that holds 8, so a scanline shows at most 8 sprites and the later ones in OAM order drop out.Internal operationInternal operationWiki
A sprite 0 hit happens when an opaque pixel of sprite 0 overlaps an opaque background pixel; it sets bit 6 of PPUSTATUS ($2002), which stays set until the pre-render line, so a frame reports only its first hit.Sprite 0 hitsSprite 0 hitsWiki
AboutFeedbackCredits