Joypad

From NeoGeo Development Wiki
Revision as of 22:35, 4 May 2016 by Furrtek (talk | contribs) (Registers)
Jump to navigation Jump to search

Regular NeoGeo joypads or joysticks have 4 directions and 6 button switches.

Registers used to read the switches states are REG_P1CNT, REG_P2CNT, and REG_STATUS_B.

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

NeoGeo CD joypads

"G9" internal schematic. Pin 2 is ground, 1 and 3 are buttons, 4 and 5 are port inputs.

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"

Only one output is used: OUT3, which is connected to the D input and can therefor be used for joypad detection (D = 0 if OUT3 = 1)