MechanicsTechniquesGamesGenresGlossaryResearchClaimsSourcesSearch
Source · Secondary · wiki

NMI

NESdev Wiki contributors. n.d. “NMI.” NESdev Wiki. Version oldid 23420.

Cite as
NESdev Wiki, “NMI”
Original
https://www.nesdev.org/wiki/NMI
sha256
ad04d1b5bbff7ed1c51b46fc6a2d34cd635d908228397a96bc82a3f3bfef9aaf
Version
oldid 23420
Archived
https://web.archive.org/web/20260630231257/https://www.nesdev.org/wiki/NMI
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-06-30. Used for NMI occurring at the start of vertical blank each frame while PPUCTRL bit 7 is set.

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.OperationOperationOperationRace conditionWiki
AboutFeedbackSupportFor AI agentsCredits