Joust With an Input Problem – 1st Player Always Runs Left

[This was extracted from a large article about getting a dead Joust operational.  I thought it made sense to put this part in its own post to help anyone else with a similar issue.  It may reference content from the previous two posts here and here.]

…So now I have a Joust that boots correctly and comes up into its attract mode normally.  However, after coining it up and starting a game, I still have some issues – player 1 starts running to the left non-stop!

Opening the control panel shows the switch is not stuck, and disconnecting its harness did not change the behavior, so I have another board-level issue to resolve.  The input board multiplexes two sets of switches into a 6821 PIA, and the switches come in through one of two header connectors on the board.

I disconnected the connectors from the header and probed it.  This showed the pin for “P1 Left” (pin one on the left connector) was high, which is correct because the switch lines are pulled up on the board.  Since the lines are directly connected to an inverter (a 4049 CMOS inverter) and are being pulled up by a resistor pack, I presume that the problem is on the output side of the inverter or beyond.  (If the input side of the inverter was screwing things up, I would expect to have seen something like it pulling the line down, and would have seen that on the header pin.)

Sure enough, the switch signal goes into pin 7 of one of the inverters, but the corresponding output pin (pin 6) is floating.  I think I have found the culprit.  I do not have any of these inverters nor a suitable cross in stock so I am thinking of pulling an operator-style-hack and wire a 7404 “in the air” (actually, a 74HCT04 – even though the 4049 is a CMOS chip, the supply and signal voltages are still TTL level, so I believe the 74HCT04 will work correctly) and use one of its inverters to replace the functionality of the bad one on the 4049 just to get the game fully playable.  This is how it is wired:


…and after wire-wrapped four wires to a 74HCT04 and making the connections by looping wires under the pins of the 4049 and twisting to secure them.  Not exactly a foolproof connection, but enough to verify that the idea will work.  Powered-up the game, and nothing smoked immediately (always a good sign), so I waited for the game to boot, coined it up and started a game.  It worked!  The player was no longer running to the left and the controls were working correctly.

Here is a pic of the prototype wiring (it was a bit ugly):

One ugly operator-ish hack comin' right up!
One ugly operator-ish hack comin’ right up!

And there is how the final version looks.  I used some double-sided foam to attach the 74HCT04 upside-down to the board and wired it to more convenient (but electrically identical) locations to eliminate the amount of wire running around the board.

Less ugly version of the hack