Bregalad wrote:
But then, is it $4016.1 or $4017.1, or both ? If $4016.1 is the extension data, then is $4017.1 the 2nd pad's microphone data (1=Some someone is crying in the microphone, 0=there is total silent in the room) ?
The microphone on Famicom's controller #2 is connected to $4016 bit 2 (yes, the register for controller #1).
The reason games check D1 on both $4016 *and* $4017 is because there apparently exist Famicom expansion port modules that include TWO controllers, either to replace both of the hardwired controllers or to allow 4 player games. (note that the NES's 4-player hardware is incompatible with this).
Quote:
I also noted that most licenced games that are only playable trough the first controller still reads the segond one, even if it's not used in the game. Is that because of the expension port ? Or is that a library stuff ?
It's probably a generic library function for reading both controllers and automatically calculating the necessary delta information so they can easily handle on-press events (jumping, shooting, pausing) as well as on-hold events (walking, running, charging weapons).