Commodore 64 Test Harness

When trying to get my Commodore 64 up and running, I ended up buying a combination Dead Test and Diagnostic Cartridge for it. The Diagnostic side of the cartridge uses a special test harness to test out the operation of the various ports on the C64. I figured I might as well make a full test harness for it. It was a fun project to me, but I am sure there are others out there that would rather buy a completed harness. There are several people selling them. I found a nice modern made one on Ebay for a fairly reasonable price. There are others doing it as well as there is someone on Lemon64 selling them.

I am not including schematics and such, but I have posted the link to the website for the schematics I based my harness off of at the bottom of this post. I will say the Joystick Test portion of the circuit is hard to follow on the schematics with how they are setup. It really looks far more complex than it is. I color coded and traced all of the lines back across the two sheets (one of the big draw backs is the two sheets issue itself), and then I was able to sort out what was going where. The image of the User Port harness does have the layout I sorted from the originals, simply because I had made it and had it available when I took the picture. I did make some changes additions such as, 4 indicator LEDs that indicate power at 4 of the ports. I didn’t put an indicator on the User port although you could. The Serial port has no power pin so it can’t have an indicator. I also moved the joystick test circuitry to the Cassette Port which you will see later on in the post.

The easiest was the Serial Loopback, so I started there. It is just a couple wires on a 6 pin Din plug. I did put a loop of heavy wire on the casing so it could be used to aid in pulling the connector if needed, or to hang it up or such.

The next was a loopback for the Keyboard. The instructions I found for it included that you could make it out of an old IDE Ribbon Cable the earlier 40 wire model. Unfortunately I didn’t have any of those and only had an 80 wire type cable that they said can not be used. They were right the 80 wire type won’t work without some changes to it. The reason it won’t work is there is a center set of contacts that creates links between various pins. I took the connector apart and removed the center strip that was doing that. I then took a bit of the wire (from an 80pin IDE cable) and did the loopbacks directly on the connector.

It worked for the testing like that, but I decided to go back and add a LED and resistor to the loopback, as was mentioned on the Tynemouth Software site. This is good in my opinion, because if you have the keyboard loopback attached, you almost certainly have disconnected the power LED and have no indication there is power in that board. I put the connector back together and attached a pull loop on it to make it easier to remove. I also put a pin into the key pin so it couldn’t be installed incorrectly.

Power LED. There are only 1 wires attached to the LED. The extra wires are only there for extra support but do not go to the LED.

Then I did the User Port Loopback. It is just a series of wires on the pins once the components of the Joystick Test are removed from it. On the original Test Harness from Commodore it was put in what looks to be a modified “cartridge” case and it did have wires going from the Cassette Port and some 4066 ICs to test the Joystick Ports. In my situation I decided to put the 4066s and the Joystick Cables into the Cassette Port test unit instead. It was closer to the joystick ports, and they needed a data signal from there anyways. I also had a nice metal case available to build the board and install it all into. Initially I had installed a wire as a pull assist to remove the User Port Loopback. The connectors I picked up for the User port (and Cassette Port) are very very tight, so that wire did not work very well. I purchased a DSub Case for a 37pin DSub port (sizing chosen by a reference I found saying they fit into them, The Cassette port unit can alternately be mounted in a DB15 enclosure.) and installed the User Port Loopback into that. The DB37 enclosure gives better leverage to let me pull it strait back, it also does prevent it going in as deep, but it still makes good contact.

Original configuration with the pull wire.
Here I have removed the wire and put it in the DSUB enclosure. The line indicates Pin1.
The bottom of the User Port Loopback is Labeled with Red to help point out it is upside down.

The last part of the harness was the Cassette Port and Joystick Ports. The Cassette Port is fairly simple itself, but it actually sends a signal over the 4066s for the Joysticks. Looking at the schematics, I found it rather intimidating trying to figure them out. Being that it was two pages and the “joining” connections were flipped from one page to the other that didn’t help one bit. I am very very glad they are available, but that seems like a an odd choice to make. The 4066s have 4 sets of “switches” in them basically. When a signal is sent to that switch via the Cassette port the switches close and create a connection between the two wires going into it. There are 5 of those switches used by the test harness. The Up, Down, Left, Right and Fire buttons of the two joysticks are wired to each other when those are active. So Joystick 1 fire is wired to Joystick 2 fire and so on. The Paddle pins are each wired through a 120k resistor to 5Volts to give a known voltage on them apparently. I also added a Power LED to the Cassette Module, that shows the power is there on the Cassette port, as I am using the power from it for the 4066s. I decided to add Power LEDs for Each Joystick port as well with Yellow LEDs. They show that each Joystick ports are getting good contact on their 5Volts and Ground pins. The original harness doesn’t test the Ground pin on the joysticks, and if it wasn’t there they wouldn’t work.

Here is an internal view. The “blue” things are 1.5k old stock precision resistors.
Here is the completed unit. Don’t mind the Mislabeling. Note the Power L1 and L2 LEDs. L1 and L2 show that the 5Volts is working on Joystick Port 1 and Joystick Port 2. I thought of putting a another LED at the Input hole again and making it so that it lights when the Joystick ports get their signal from the Cassette port during testing. I doubt I will get around to that though, I am a bit curious what it may look like though.

I also put the Test Cartridge into a 3D Printed case I purchased from ibuy24 on Ebay. It has a 3d printed label plate and the hole in it that lets you toggle the mini switch to change the cartridge mode.

Here is a full test of the harness shortly after completing it. I didn’t have the case for the User Port unit yet.

Overall this required proper card edge connectors, 2 4066 ICs, some decoupling capacitors, a number of resistors and 4 LEDs. It also used a 6 Pin Din for the Serial and a strait through 9 pin Serial Cable that I cut in half to make the joystick cables. Beyond that I used a protoboard for the 4066 joystick circuitry and a salvaged metal enclosure, then the 37Pin DSUB cover as added later.

I based my test harness on the the schematics at Peter Schepers’ webpage http://ist.uwaterloo.ca/~schepers/diagnostic.html

I also took some ideas from the post over at Tynemouth Software. Such as the Keyboard Power LED. http://blog.tynemouthsoftware.co.uk/2014/10/commodore-64-diagnostics-test-harness.html

For supplies I purchased the 6 pin DIN plug at http://www.console5.com where I picked up all my DIN plugs heatsinks and Electrolytic Capacitors for my Commodores. I purchased the card edge ports from China via Ebay, although they are quite tight, I think there may be an alternate one that is made for “thicker” boards? I picked up the 4066s via Ebay as well although they can be sourced for many electronics suppliers. I purchased the DB37 DSUB Cover at http://www.unicornelectronics.com they should have 4066s and such as well I expect. I don’t know if they have card edge connector plugs or not in the proper sizes. I picked up the DB37 cover there when I ordered new ram for my Commodore 64 as well as some other 74 logic chips and various other bits.

One thought on “Commodore 64 Test Harness

Leave a comment