Joypad
Joypads have 4 directions and 4 buttons contacts.
Registers used to read the button's states directly (all bits are active low):
- REG_P1CNT ($300000), Player 1:
- REG_P2CNT ($340000), Player 2:
Bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
Def | D | C | B | A | Right | Left | Up | Down |
- REG_STATUS_B ($380000), SELECTs and STARTs:
Bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
Def | - | P2 Select | P2 Start | P1 Select | P2 Start |
The SYSTEM_IO ($C0044A) BIOS call can be used to read joypads more easily: it sets values in the BIOS's RAM space which gives currently pressed, state change, and "repeat" values for both joypads. Need details...