Joypad: Difference between revisions

From NeoGeo Development Wiki
Jump to navigation Jump to search
mNo edit summary
No edit summary
Line 1: Line 1:
Joypads have 4 directions and 4 buttons contacts.
Joypads have 4 directions and 6 buttons switches.


Registers used to read the button's states directly (all bits are active low):
Registers used to read the button's states: see [[Memory mapped registers]]
*'''REG_P1CNT''' ($300000), Player 1:
*'''REG_P2CNT''' ($340000), Player 2:
{{8BitRegister|D|1|C|1|B|1|A|1|Right|1|Left|1|Up|1|Down|1}}
*'''REG_STATUS_B''' ($380000), SELECTs and STARTs:
{{8BitRegister|-|4|P2 Select|1|P2 Start|1|P1 Select|1|P2 Start|1}}


The [[SYSTEM_IO]] ($C0044A) [[BIOS calls|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...
The [[SYSTEM_IO]] ($C0044A) [[BIOS calls|BIOS call]] can be used to read joypads more easily: it sets values in the [[BIOS_RAM_locations|BIOS RAM]] which gives currently pressed, state change, and repeat values for both joypads.
 
==NeoGeo CD joypads==
 
 
[[File:G9pinout.png|right|thumb|"G9" internal schematic]]
 
[[File:Ngcdpad.jpg|400px]]
 
The NeoGeo CD joypads use membrane switches and springs for the 4 directions (replacement part ?) which directly set the corresponding inputs to ground.
 
The buttons are buffered with 3, dual NPN digital transistors marked "G9"


[[Category: controllers]]
[[Category: controllers]]

Revision as of 02:25, 7 April 2012

Joypads have 4 directions and 6 buttons switches.

Registers used to read the button's states: see Memory mapped registers

The SYSTEM_IO ($C0044A) BIOS call can be used to read joypads more easily: it sets values in the BIOS RAM which gives currently pressed, state change, and repeat values for both joypads.

NeoGeo CD joypads

"G9" internal schematic

The NeoGeo CD joypads use membrane switches and springs for the 4 directions (replacement part ?) which directly set the corresponding inputs to ground.

The buttons are buffered with 3, dual NPN digital transistors marked "G9"