Atari and Commodore 64 paddles - retronicdesign/USBJoystickAdapter_v3.2 GitHub Wiki

image

Atari Paddles pinout

image

PIN FUNCTION  
1 nc  
2 nc  
3 Paddle 1 Button  
4 Paddle 2 Button  
5 Paddle 2 Pot  
6 nc  
7 +5V  
8 Gnd  
9 Paddle 1 Pot  
 

Atari Paddles principle of operation

Atari style paddles were used on Atari 2600 consoles and Commodore 64. There is a noticeable difference between these two models; Atari uses a 1MΩ variable resistor while Commodore a 460kΩ.  This change the transfer curve to be read and thus different values has to be put in the firmware.

Because paddles are analog controllers, they are read in a very different fashion than numeric controllers like joysticks. Original design of these controllers was made in mid '70 and were meant for rather slow 8-bit computers with limited I/O functionality. Don't even think about analog to digital converters! They were complex and expensive. Value of a variable resistor was measure by an RC circuitry controlled by the CPU on a simple TTL I/O port. Trick is to start a timer after forcing the capacitor to ground and fully discharge it. Then the port is released to high impedance thus charging the capacitor at R times C rate. Once the TTL high level reached, timer is read. Value of the timer is directly proportional to the R value of the pot, corresponding the knob position. Formulae is τ=RC, where R is the pot resitance in Ohms plus the small resistance on the port, C is the capacitance in Farad and τ is the charge time in seconds. Charging curve ratio is almost linear, thus giving a linear control to the player.

Charging curve diagram

image

Circuit simulation

You can try yourself a simulation on the Falstad Circuit Simulator Applet. Use the resistor slider to change the pot postion and hit "Reset" then "Start" buttons to see the charge time.

image

Paddle circuitry schematic section of an Atari 2600 (1976)

image

If you look closely to our adapter's schematic, you'll see that we replicated this circuitry. This ensure that your hardware will react exactly as it was in 1976! Only difference is that we changed the RC values from 10kΩ, 220pF to 1.8kΩ and 68nF.

Analog reading section of the adapter

image

As you can see, pins 4, 5, 8 and 9 have a secondary RC section. These were added to support many type of paddles and analog joysticks that were once out there. Atari and C64 paddles uses pin 9 and 5 for controller 1 an 2 respectively.

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