ColecoVision and ADAM controllers - retronicdesign/USBJoystickAdapter_v3.2 GitHub Wiki

image

Pinout of ColecoVision controllers

image

PIN FUNCTION  
1 Up/Keypad decoder Column 1 (brown)  
2 Down/Keypad decoder Column 2 (red)  
3 Left/Keypad decoder Column 3 (orange)  
4 Right/Keypad decoder Column 4 (yellow)  
5 Select sub-controller 2, active low (green)  
6 Fire button/Arm button (blue)  
7 Spinner/ Roller Quadrature A (Super Action controller) 
8 Select sub-controller 1, active low (grey)  
9 Spinner/ Roller Quadrature B (Super Action controller)  

Pinout of ColecoVision Flashback controllers

image

  • Note that the flashback edition of this controller only have a different pinout but keeps the same internal circuitry as the original ones.
PIN FUNCTION  
1 Select sub-controller 1, active low (grey)  
2 Up/Keypad decoder Column 1 (brown)  
3 Select sub-controller 2, active low (green)  
4 nc  
5 Down/Keypad decoder Column 2 (red)  
6 Left/Keypad decoder Column 3 (orange)  
7 Right/Keypad decoder Column 4 (yellow)  
8 Fire button/Arm button (blue)  
9 nc  

Principle of operation

This controller is using a diode operated Gray code encoding of button inputs. This shrinks needed wires to 7 for a total of 18 input combination. See schematic below. This is a cleaver way of building a simple IC free controller while limiting number of wires.

There are two control pins that splits the controller in two sub-controllers:

  • First sub controller is selected when pin 5 (green) is high and pin 8 (grey) is low. Pin 1 to 4 are the joystick directions in negative logic, pin 6 is left fire and pin 7 is the A sensor of the roller/spinner.
  • Second sub controller is selected when pin 5 (green) is low and pin 8 (grey) is high. Pin 1 to 4 are representing the Keypad Gray code in negative logic (see schematic), pin 6 is right fire and pin 7 is the B sensor of the roller/spinner.

As an example, if you press * when sub controller 2 is selected, you will see pin 2 and 4 go low.

The Coleco Super Action controller

image

The Coleco Super Action controller added two buttons and a spinner to the original controller. Using pin 7 and pin 9 as a quadrature two-input A-B for the spinner and another combination of diodes for purple and blue triggers. Note that on this controller, arm button is now yellow fire and fire button is red fire button.

Gray code for purple and blue fire

  • Purpule fire is 1101
  • Blue fire is 1011

Schematic of a Coleco Vision controller

image