MechanicsTechniquesGamesGenresGlossaryResearchClaimsSourcesSearch
Source · Secondary · wiki

Standard controller

NESdev Wiki contributors. n.d. “Standard controller.” NESdev Wiki. Version oldid 23466.

Cite as
NESdev Wiki, “Standard controller”
Original
https://www.nesdev.org/wiki/Standard_controller
sha256
13691d250bcdee5fb4b9beeab3386f92020f1e530ff04530705a3854bd531778
Version
oldid 23466
Archived
https://web.archive.org/web/20261011223447/https://www.nesdev.org/wiki/Standard_controller
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-11. Used for the report order of the eight buttons after a strobe and for each $4016 read returning the next button in bit 0.

Cited on

No page cites it yet.

Claims (1)

The standard NES controller reports its eight buttons one read at a time. A game writes 1 then 0 to $4016: while that bit is 1 the controllers keep reloading the buttons' states, and setting it to 0 stops the reloading. Each read of $4016 (controller 1) or $4017 (controller 2) then gives the next button in bit 0, 1 for pressed, in the order A, B, Select, Start, Up, Down, Left, Right. The original Famicom's built-in second controller has no Select or Start (those bits read 0), and controllers in the Famicom's expansion port report through bit 1 instead of bit 0.Input ($4016 write)Input ($4016 write)Output ($4016/$4017 read)Output ($4016/$4017 read)Output ($4016/$4017 read)Output ($4016/$4017 read)Output ($4016/$4017 read)FamicomFamicomWiki
AboutFeedbackSupportFor AI agentsCredits