MechanicsTechniquesGamesGenresGlossaryResearchClaimsSourcesSearch
Source · Secondary · wiki

PPU registers

NESdev Wiki contributors. n.d. “PPU registers.” NESdev Wiki. Version oldid 22850.

Cite as
NESdev Wiki, “PPU registers”
Original
https://www.nesdev.org/wiki/PPU_registers
sha256
204699ade467c3ec8815ae4d94e61095010195c629b1e2a57ce3cab7e18c4267
Version
oldid 22850
Archived
https://web.archive.org/web/20261005213338/https://www.nesdev.org/wiki/PPU_registers
Accessed
2026-10-28
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. Used for PPUCTRL bit 7 (NMI enable) and PPUSTATUS bit 7 (vblank flag).

Cited on

No page cites it yet.

Claims (1)

While bit 7 of PPUCTRL ($2000) is set, the PPU raises an NMI at the start of vertical blank (scanline 241, dot 1), so a game's NMI handler runs at the display's frame rate, one NMI a frame, except in three cases. Changing the bit from 0 to 1 while the vertical-blank flag is set raises one at once; toggling it during vertical blank without reading PPUSTATUS can raise several; and a read of PPUSTATUS just as vertical blank starts suppresses that frame's NMI. The two pages differ on that read's dot: the PPU registers page gives the dot before the flag is set, and maybe the next one or two; the NMI page, the same dot.PPUCTRL - Miscellaneous settings ($2000 write)Vblank NMIVblank NMIVblank flagWiki
AboutFeedbackSupportFor AI agentsCredits