Commodore CD32 gamepad - retronicdesign/USBJoystickAdapter_v3.2 GitHub Wiki

image

Commodore CD32 gamepad pinout

image

PIN FUNCTION  
1 Up  
2 Down  
3 Left  
4 Right  
5 Load/Shift  
6 Red Button/Clock  
7 +5v  
8 Gnd  
9 Blue Button/Serial data  


Theory of operation

The Commodore CD32 controller was intended for the CD32 game console released in the mid '90. This controller use a serial shifting method to read its extra buttons via existing pins/buttons of the standard Atari style controller pinout scheme. This is no surprise for Commodore to use this technique in order to be backward compatible with the Atari standard.  In fact, this controller would work on an Atari 2600/Commodore 64/Amiga using only its red button for trigger.

This "modern" controller uses a serial shifting method to read its extra buttons, mostly like Nintendo did. This method is invoked by clearing and starting the shift register via pin 5 (load/shift) low-high-low. Then, pulse pin 6 (clock) low-to-high to shift button inputs through the serial data pin 9. Buttons are stored in an 8-bit register that reads as follow:

BIT FUNCTION  
0 Blue button  
1 Red button  
2 Yellow button  
3 Green button  
4 Right shoulder  
5 Left shoulder  
6 Pause button  
7 always 1      


Reading sequence looks like this: image Note: Allow around 100μs for the 74LS165 to read a change of state on its inputs.

Schematic of the gamepad

image

⚠️ **GitHub.com Fallback** ⚠️