I've seen many posts over the years where people wished there was an adapter to play a 5200 or Intellivision, or Colecovision with a Jaguar controller (and why was it so hard for those companies to make a nice comfy keypad controller anyway?). Finally went and built one myself, and since all the hard work involved the Jag decoder, I combined all three adapters into one unit.
Good Points
Bad Points
If you decide to build this, there are some shortcuts that might help. As mentioned, if you build an adapter for just one system, you don't need to wire up the other two encoders. If you build just a 5200 adapter, you don't need external 5v or gnd connections, they're on the controller jack. Likewise, if you just build an intv adapter, you can replace the eight 74175 flip-flops with four 74174 ones (don't need inverting outputs). Finally if you build the adapter into the console, you won't need a cable or project box.
For all console pinouts and controller theory, here is a link (and a HUGE thank-you) to Deathskull Labs
PARTS LIST:
(1) CD4060 Binary Counter IC
(1) CD4052 Analog 2-Channel Mux IC
(8) 74HC175 Inverting/Noninverting D Flip-Flop ICs
(4) 1k resistors
(5) 10k resistors
(1) 27k resistor (3 10k resistors in series OK)
(1) 100uf electrolytic capacitor
(1) 10pf capacitor
(1) High-density 15-pin female D-sub connector
CIRCUIT:
+
5v---------Jag_pin7 5v----100uf-----gnd
gnd--------Jag_pin9
5v
_________|____________
5v | VCC |
_______|________ | 1X0|--> to clk1+1k pulldown
| VCC | 140hz | 1X1|--> to clk2+1k pulldown
+--27k--|X1 Q11|-------|1Y 1X2|--> to clk3+1k pulldown
| | | 70hz | 1X3|--> to clk4+1k pulldown
+--10k--|X0 4060 Q12|-------|S0 4052 |
| | | 35hz | 2X0|--> to Jag_pin4+10k pullup
+-10pf--|X2 Q13|-------|S1 2X1|--> to Jag_pin3+10k pullup
| GND RST | | 2X2|--> to Jag_pin2+10k pullup
|________________| gnd--|2Y /EN VEE GND 2X3|--> to Jag_pin1+10k pullup
| | |______________________|
gnd gnd | | |
gnd gnd gnd
5v 5v 5v 5v
_____|_____|_____ _____|_____|_____
| VCC /RST | | VCC /RST |
Jag_pin11-|D1 Q1|---J_east Jag_pin10-|D1 Q1|---J_A
| /Q1|--/J_east | /Q1|--/J_A
| | | |
Jag_pin12-|D2 Q2|---J_west Jag_pin6-|D2 Q2|---J_pause
| /Q2|--/J_west | /Q2|--/J_pause
| 74HC175 | | 74HC175 |
Jag_pin13-|D3 Q3|---J_south |D3 Q3|
| /Q3|--/J_south | /Q3|
| | | |
Jag_pin14-|D4 Q4|---J_north |D4 Q4|
| /Q4|--/J_north | /Q4|
| | | |
clk2--|CLK GND | clk2--|CLK GND |
|_________________| |_________________|
| |
gnd gnd
5v 5v 5v 5v
_____|_____|_____ _____|_____|_____
| VCC /RST | | VCC /RST |
Jag_pin11-|D1 Q1|---J_1 Jag_pin10-|D1 Q1|---J_B
| /Q1|--/J_1 | /Q1|--/J_B
| | | |
Jag_pin12-|D2 Q2|---J_4 |D2 Q2|
| /Q2|--/J_4 | /Q2|
| 74HC175 | | 74HC175 |
Jag_pin13-|D3 Q3|---J_7 |D3 Q3|
| /Q3|--/J_7 | /Q3|
| | | |
Jag_pin14-|D4 Q4|---J_* |D4 Q4|
| /Q4|--/J_* | /Q4|
| | | |
clk4--|CLK GND | clk4--|CLK GND |
|_________________| |_________________|
| |
gnd gnd
5v 5v 5v 5v
_____|_____|_____ _____|_____|_____
| VCC /RST | | VCC /RST |
Jag_pin11-|D1 Q1|---J_2 Jag_pin10-|D1 Q1|---J_C
| /Q1|--/J_2 | /Q1|--/J_C
| | | |
Jag_pin12-|D2 Q2|---J_5 |D2 Q2|
| /Q2|--/J_5 | /Q2|
| 74HC175 | | 74HC175 |
Jag_pin13-|D3 Q3|---J_8 |D3 Q3|
| /Q3|--/J_8 | /Q3|
| | | |
Jag_pin14-|D4 Q4|---J_0 |D4 Q4|
| /Q4|--/J_0 | /Q4|
| | | |
clk3--|CLK GND | clk3--|CLK GND |
|_________________| |_________________|
| |
gnd gnd
5v 5v 5v 5v
_____|_____|_____ _____|_____|_____
| VCC /RST | | VCC /RST |
Jag_pin11-|D1 Q1|---J_3 Jag_pin10-|D1 Q1|---J_Option
| /Q1|--/J_3 | /Q1|--/J_Option
| | | |
Jag_pin12-|D2 Q2|---J_6 |D2 Q2|
| /Q2|--/J_6 | /Q2|
| 74HC175 | | 74HC175 |
Jag_pin13-|D3 Q3|---J_9 |D3 Q3|
| /Q3|--/J_9 | /Q3|
| | | |
Jag_pin14-|D4 Q4|---J_# |D4 Q4|
| /Q4|--/J_# | /Q4|
| | | |
clk1--|CLK GND | clk1--|CLK GND |
|_________________| |_________________|
| |
gnd gnd
HOW IT WORKS:
Whole lotta flip-flops going on. :)
The 4060 is a binary counter that can be wired up to oscillate. The RC values used make the three outputs shown have square wave frequencies of 140, 70, and 35 hz, each one is exactly 1/2 the frequency of the next. The 70 and 35 hz signals are hooked up to a 4052 2 channel analog mux. This makes the two mux outputs continously cycle through its four selections.
On channel 2, the four Jaguar pins (1,2,3,4) are pulled low one at a time, just like a jag console does. This causes the controller data to appear on Jag pins 6,10,11,12,13, and 14, which are connected to the inputs of the four sets of D flip-flops.
The first mux channel is used to connect up the 140hz signal to the clock inputs of one flip-flop set at a time. In the middle of each of the four mux states the 140hz signal produces a rising edge (how convenient!). So whatever data is on the six jag pins mentioned gets latched in until it's updated on the next cycle through.
To summarize, each jaguar controller button (including the dpad directions) gets decoded and stored in a flip-flop as a steady state value.
clk1 clk2 clk3 clk4 clk1
v v v v v
v v v v v
______ ______ ______ ______ __
| | | | | | | | |
| | | | | | | | | 140hz
______| |______| |______| |______| |______| (FF clks)
_____________ _____________
| | | |
| | | | 70hz
_____________| |_____________| |_______(mux sel 1)
___________________________
| |
| | 35hz
___________________________| |_______(mux sel 0)
| | | |
mux=00 | mux=01 | mux=10 | mux=11 | mux=00
| | | |
ASSEMBLY NOTES:
1. Radio Shack should be able to order you all the parts, if you can't find an electronic store nearby. Buy a cellphone while you're there :)
2. If you swap some clock lines, don't worry about it because the circuit is very symmetric. Just make a note of where every flip-flop signal comes out at, and wire up the pause signal after you find where the Fire_button_A signal is making its grand appearance.
3. You can wire this circuit many different ways and still have it work. For example one flip-flop could carry three signals, the other two, instead of doing four and one.
4. One thing that helped me was lining up flip-flops vertically on the board. One bare metal wire then connected up all the VCC and /RST connections. You can also make the D inputs leapfrog from chip to chip.
5. The 4016 analog switch outputs are bidirectional, so if one signal is on all four outputs, you can run a bare wire between pins 2,3,9,and 10 to easily solder them up.
6. I'd recommend choosing either an LS or HC logic family for the ICs. My colecovision supply was only putting out 4.5v on the 5v line and I needed to use LS175 flops, because the wimpy HC175 ones from ST wouldn't work. You probably won't have this issue.
Page 2: 5200 Encoder
IC PINOUTS FOR ALL CIRCUITS:
4060
14-bit asynchronous binary counter with oscillator and reset input.
Q0,Q1,Q2 and Q10 outputs are missing.
+---+--+---+
Q11 |1 +--+ 16| VCC
Q12 |2 15| Q9
Q13 |3 14| Q7
Q5 |4 13| Q8
Q4 |5 4060 12| RST
Q6 |6 11| X1
Q3 |7 10| X0
GND |8 9| X2
+----------+
4052
8-to-2 line analog multiplexer/demultiplexer with dual power supply.
VEE supply may not be more positive than GND.
+---+--+---+
1X0 |1 +--+ 16| VCC
1X2 |2 15| 2X2
1Y |3 14| 2X1
1X3 |4 13| 2Y
1X1 |5 4052 12| 2X0
/EN |6 11| 2X3
VEE |7 10| S0
GND |8 9| S1
+----------+
74175
4-bit D flip-flop with complementary outputs and reset.
+---+--+---+ +----+---+---*---+---+
/RST |1 +--+ 16| VCC |/RST|CLK| D | Q |/Q |
Q1 |2 15| Q4 +====+===+===*===+===+
/Q1 |3 14| /Q4 | 0 | X | X | 0 | 1 |
D1 |4 74 13| D4 | 1 | / | 0 | 0 | 1 |
D2 |5 175 12| D3 | 1 | / | 1 | 1 | 0 |
/Q2 |6 11| /Q3 | 1 |!/ | X | - | - |
Q2 |7 10| Q3 +----+---+---*---+---+
GND |8 9| CLK
+----------+
74174 (if used for intv-only adapter)
6-bit D flip-flop with reset.
+---+--+---+ +----+---+---*---+
/RST |1 +--+ 16| VCC |/RST|CLK| D | Q |
Q0 |2 15| Q6 +====+===+===*===+
D0 |3 14| D5 | 0 | X | X | 0 |
D1 |4 74 13| D4 | 1 | / | 0 | 0 |
Q1 |5 174 12| Q4 | 1 | / | 1 | 1 |
D2 |6 11| D3 | 1 |!/ | X | - |
Q2 |7 10| Q3 +----+---+---*---+
GND |8 9| CLK
+----------+
4016 Quad analog switches.
+---+--+---+
1X |1 +--+ 14| VCC
1Y |2 13| 1EN
2Y |3 12| 4EN
2X |4 4016 11| 4X
2EN |5 4066 10| 4Y
3EN |6 9| 3Y
GND |7 8| 3X
+----------+
7400 Quad Nand gate:
+---+--+---+
1A |1 +--+ 14| VCC
1B |2 13| 4B
/1Y |3 12| 4A
2A |4 7400 11| /4Y
2B |5 10| 3B
/2Y |6 9| 3A
GND |7 8| /3Y
+----------+
7430
8-input NAND gate.
+---+--+---+ ________
A |1 +--+ 14| VCC /Y = ABCDEFGH
B |2 13|
C |3 12| H
D |4 7430 11| G
E |5 10|
F |6 9|
GND |7 8| /Y
+----------+
Page 2: 5200 Encoder