Joypad: Difference between revisions
Jump to navigation
Jump to search
mNo edit summary |
m (Registers) |
||
Line 1: | Line 1: | ||
Regular NeoGeo joypads or joysticks have 4 directions and 6 button switches. | |||
Registers used to read the | Registers used to read the switches states are {{Reg|REG_P1CNT}}, {{Reg|REG_P2CNT}}, and {{Reg|REG_STATUS_B}}. | ||
The [[SYSTEM_IO]] ($C0044A) [[BIOS calls|BIOS call]] can be used to read | The [[SYSTEM_IO]] ($C0044A) [[BIOS calls|BIOS call]] can be used to read inputs more easily: it sets values in the [[BIOS_RAM_locations|BIOS RAM]] which gives currently pressed, state change, and repeat values for both joypads ports. | ||
==NeoGeo CD joypads== | ==NeoGeo CD joypads== | ||
[[File:G9pinout.png|right|thumb|"G9" internal schematic. Pin 2 is ground, 1 and 3 are buttons, 4 and 5 are port inputs.]] | [[File:G9pinout.png|right|thumb|"G9" internal schematic. Pin 2 is ground, 1 and 3 are buttons, 4 and 5 are port inputs.]] | ||
Line 18: | Line 17: | ||
Only one output is used: [[Pinouts|OUT3]], which is connected to the D input and can therefor be used for joypad detection (D = 0 if OUT3 = 1) | Only one output is used: [[Pinouts|OUT3]], which is connected to the D input and can therefor be used for joypad detection (D = 0 if OUT3 = 1) | ||
[[Category: | [[Category:Base system]] | ||
[[Category:Controllers]] |
Revision as of 22:35, 4 May 2016
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
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)