Digital joysticks - retronicdesign/USBJoystickAdapter_v3.2 GitHub Wiki
Digital joysticks pinout
Pin | Atari C64 Sega M/S | Amstrad CPC | Odyssey2 | Channel F | Sinclair ZX Spectrum | MSX X68000 |
---|---|---|---|---|---|---|
1 | UP | UP | GND | TWIST LEFT | UP | |
2 | DOWN | DOWN | BUTTON | TWIST RIGHT | GND | DOWN |
3 | LEFT | LEFT | LEFT | PUSH UP | LEFT | |
4 | RIGHT | RIGHT | DOWN | PUSH DOWN | BUTTON | RIGHT |
5 | BUTTON 3 | BUTTON 3 | RIGHT | RIGHT | UP | VCC |
6 | BUTTON 1 | BUTTON 2 | UP | UP | RIGHT | BUTTON 1 |
7 | VCC | BUT1 | DOWN | LEFT | BUTTON 2 | |
8 | GND | GND | LEFT | GND | GND | |
9 | BUTTON 2 | GND | GND | DOWN | GND |
Theory of operation
Digital joysticks are the simpliest type of controllers. They rely on closing an opening switches or push buttons. Each manufacturer used the D-SUB 9 connector the way they desired, while making their products incompatible with one another. Still, the functionality is the same for all of theses.
Atari and C64 joystick schematic
As simple as it gets, here is the original schematic of the Atari 2600 joystick, circa 1982. Inside the casing, the control stick is on a pivot with 4 fingers (up, down, left, right) that presses corresponding 4 mechanical buttons, lending 8 different positions. A fire/action button is also provided atop of the casing. Modern digital joystick was born.
Atari's US Patent document of 1982
Commodore, Amiga and Clone Atari compatible joysticks
Clone joysticks appeared simultaneously with the Atari 2600 joystick for many other consoles and computers. In fact, it was the most utilized standard for the D-SUB 9 connector. This may also be because the Atari joystick was everything but ergonomic. Many clones were well designed and "carpal tunnel friendly"! ;) Despite the standard never mentionned more than one fire button, secondary and some tertiary fire buttons appeared on the two mostly unused pins for paddles. Many computers and consoles manufacturers found a way to read theses pins by software.