Paddle

From DenialWIKI
Jump to navigation Jump to search
The original white coloured VIC-20 paddles.
Packaging for the VIC-20 paddle controllers. Note use of singular "Paddle".

In the early to mid 1980s Commodore produced "paddle" game controllers for use with the VIC-20. These hand-held peripherals were simple limited-range rotary knobs with a single "fire" or "action" button. VIC-20 paddles are an analogue controller containing a potentiometer that is read by the MOS Technology VIC chip and converted into a range of digital values. The potentiometer is used to charge a capacitor inside the VIC-20 tied to the pot pin on VIC-20's game controller port. Essentially, the VIC-20 checks many times a second to see how long it takes for this capacitor to be fully charged and uses that time value to determine the position of the paddle controller knob.

Paddle games usually involve moving the player's character (spaceship, submarine, tennis racquet) either horizontally or vertically on the screen. Popular paddle game genres are "Pong" tennis type games and wall-busting "Breakout type" games. The name "paddle controller" originated with 1970s table-tennis video game consoles in which the knob moved a representation of a ping-pong paddle on the television screen. In these types of games, paddle controllers offer an advantage over joysticks because the speed with which the knob is turned is directly translated into the speed of the on-screen character's movement.

Like the first VIC-20 joystick, the original VIC-20 paddle controllers were almost exact physical copies of the those developed for the Atari 2600 video game console. The VIC-20's paddle pin-outs are also identical to the Atari's. There are, however, two significant differences:

  • the top half of the paddles are moulded in white plastic to match the VIC-20's casing and feature the Commodore logo and name in silver-coloured relief.
  • the potentiometer inside the VIC-20's paddle controllers uses a 470kOhm resistor while that of the Atari 2600 is 1000kOhm. Using Atari 2600 paddles with the VIC-20 you'll only be able to use half of the range then it has reached the extreme value. An Atari 2600 paddle set used in a VIC-20 has a quicker response but a larger "dead area".

The original white paddles were eventually replaced with a unique looking model (which was functionally the same). This second type no longer matched the VIC-20's casing (the grey knob suggests it was made to match either the C16 or the Commodore 64) and has a centrally located, elongated fire button for the convenience of both left and right handed players. Paddle controllers were manufactured in pairs with both controllers sharing a single game connector. This allows for simultaneous two-player games even though the VIC-20 only has a single game controller port.

Paddle controller pin-outs are:

Paddle Fire button Potentiometer
A pins 3 and 8 pins 9 and 7
B pins 4 and 8 pins 5 and 7

Although no model number was printed on the packaging for Commodore paddles, the Atari style white paddles were given the designation VIC-1312 in some product lists.

The majority of VIC-20s still in use today suffer from "paddle jitter". This manifests itself as a rapid shaking of the player's on-screen character. In the minority of cases, this is caused by a dirty potentiometer inside the paddle itself resulting in erroneous resistance values. This can be remedied by opening the paddle and spraying the potentiometer with electrical contact cleaner (TV tuner cleaner/lubricant). However, in the majority of cases the problem is caused by something inside the VIC-20 itself so that even new, fresh paddles will suffer from jitter. No solution is currently known. It has been theorized that this problem is the result of an aging, deteriorating capacitor on the VIC-20's motherboard that is associated with the "paddle" pin on the game controller port. Until a hardware remedy is found, clever programmers have implemented an anti-jitter (debouncing) software routine that almost completely eliminates the problem (as used for the VIC-20 conversion of "PONG" by Denial users Nicola Battista & Nino Porcino).

List of Paddle controller games published for the VIC-20:

The second type of paddle controller manufactured by Commodore shared a colour scheme more in line with the C16 or the C64, although the box still retained the VIC-20 logo. Note use of plural "Paddles".
Atari 2600 paddle controllers. The VIC-20's original paddles were almost an exact copy of these.

Reading the paddles

Two registers of the VIC chip contain the current position of the two paddle potentiometers, called POT X, and POT Y. They can be read out like in these examples:

1 V=36864
2 X=PEEK(V+8):Y=PEEK(V+9)
3 PRINT X,Y
4 GOTO 2

To counteract the paddle jitter, a low-pass filter can be applied. Increasing the value in A (usable range between 0, and strictly less than 1), further reduces noise, but also decreases the responsiveness.

1 V=36864:A=.1:B=1-A
2 XF=A*XF+B*PEEK(V+8):X=INT(XF+.5)
3 YF=A*YF+B*PEEK(V+9):Y=INT(YF+.5)
4 PRINT X,Y
5 GOTO 2

Paddle A (POT X) fire corresponds to joystick left, paddle B (POT Y) fire corresponds to joystick right:

1 S=PEEK(37151):POKE37154,127:T=PEEK(37152):POKE37154,255
2 IF (16ANDS)=0 THEN PRINT "PADDLE A FIRE"
3 IF (128ANDT)=0 THEN PRINT "PADDLE B FIRE"
4 GOTO 1