ColecoVision Controller Port

This one is rough. Stick with me here.


The functions of the standard controller are a subset of the functions of the Super Action controller, so I'm not making any real distinction between the two.

It's useful to think of the controller as two sub-controllers in one, since that's essentially how the CV does it. We'll look at them separately.

  1. The direction control, left fire button, and spinner/roller/steering wheel quadrature.
  2. The keypad functions, the right fire button, and the two extra trigger buttons on the SAC.

Sub-controller 1

The console pulls controller port pin 8 low, and reads inputs on the following pins:

9-pin female D-sub connector on the joystick.

  1. /North
  2. /South
  3. /West
  4. /East
  5. This pin is left high
  6. /Left Fire or SAC Yellow trigger
  7. Quadrature input A
  8. This pin is pulled low
  9. Quadrature input B

Basic stuff. Each input here has its own dedicated pin, and so are totally independent of each other. Also note that this is almost identical to the pinout of the standard 2600 joystick, which was no accident at all. By doing this, the player can use his normal CV sticks on the 2600 emulator expansion module.

Quadrature is like when...umm...shit. Just go to this page.

Sub-controller 2

The console pulls controller port pin 5 low, and reads inputs on the following pins:

9-pin female D-sub connector on the joystick.

Keypad, SAC Blue and Purple triggers. (See below)
This pin is pulled low
/Right Fire or SAC Red trigger
This pin is left high

Notice that the only thing with its own dedicated pin is the right fire button. Pins 7 and 9 do nothing that I can see.


The console reads which of the keypad and SAC Blue and Purple triggers (14 inputs total) are mushed down on only four wires (pins 1-4) via a goofy 4-bit encoding accomplished with a swamp of diodes.

Controller pin
4 3 2 1
Button 1       x
2     x  
3 x     x
4 x x x  
5   x x  
6 x      
7     x x
8   x x x
9   x    
*   x   x
0 x x    
# x   x  
purple x x   x
blue x   x x
"x" = controller pulls pin low when button is pressed

Notice that none of the buttons are independent of each other. Pushing two or more buttons at once fools the console into believing you are mashing a third, different button. For example, mashing buttons 1 and 2 on the keypad produces the same result as mashing button 7.

Steering Wheel (Expansion Module 2)

9-pin female D-sub connector on the joystick.

  1. -
  2. -
  3. Controller enable
  4. -
  5. This pin is left high by the console
  6. /Foot pedal
  7. Quadrature input A
  8. This pin is pulled low by the console
  9. Quadrature input B

Pin 3 is pulled high by the console to turn the steering wheel on. Can't have those batteries going flat while you're not using the thing, can we?

The gas pedal is nothing more than a simple switch. Stomp it down far enough and a screwhead (one contact) bonks into a steel leaf (the other contact). And here you thought it was some sort of complex analog device, didn't you?

The steering wheel itself uses the console's quadrature inputs. It uses an optical chopper disc to generate the quadrature signals. Powering the LED's and associated circuitry is why it needs batteries. If you don't have a CV Steering Wheel, you can use either the SAC thumbwheel or the Roller Controller instead.

Pretty cheezy for a high-falutin' steering wheel that cost a wad of dough and only works with a handful of games. There's almost no reason why they couldn't have incorporated every function of a standard controller into the steering wheel. Wouldn't a two-player driving game have been neat? Too bad they decided to cheap out on this one.

Roller Controller

To be added.

Jay Tilton