Seeing as how:
- Rikki & Vikki was coming out next week
- I didn't have any good 2 button 7800 controllers
- I recently picked up a new Hyperkin GN6 controller from my local Fry's for $5.74
- I had been checking the Atariage store for almost a year now to see if the Seagull 78 was back in stock
- A search of the forums 2 days ago lead me to this post by Inky back in 2002:
- The above mod uses extremely common and easy to find components that I already had on hand...
I decided to mod my new Hyperkin GN6 for use on my 7800. After doing this mod and using the controller on the 7800 I think it rocks. I love it. This is now my favorite controller for the 7800.
Any person undertaking any activity mentioned or alluded to, described below, bears all responsibility for anything that happens to themselves, others, or to any property as a consequence of their actions. Regardless of the contents and wording of this post or resulting thread, I make no claims, assurances, recommendations, or anything else. This is just a detailed description of what I did. Nothing more.
This mod is completely internal so there is no adapter to connect. My total project cost was less than $7 and that includes the $5.74 controller and sales tax. Well that and 2 hours of my time. I will be modding a second controller so hopefully that will take a lot less time now that I've already figured out all the build steps detailed below.
I printed out the schematic from Inky's post:
First I had to map out the DB9 pin connections to the wires soldered into the PCB with my multimeter. Note the PCB number markings *DO NOT* correspond the the DB9 (joystick plug) pins! (The 1 marking on the PCB *DOES NOT* indicate pin 1 of the DB9 connector.) I marked the above schematic with the corresponding PCB numbering to make it easier for me to perform the mod. I recommend that if you do the mod you verify that the connectivity in my Hyperkin GN6 controller is the same as yours. You do not want to be re-opening the controller later to try and debug/fix any wrong connections. The inside of the controller looks like this:
I built the circuit from the schematic that Inky posted on a piece I trimmed out of a PCB prototyping board. Be *VERY* careful of the method you chose to trim down the board as you could produce lots of fine dust that is likely very harmful if inhaled. If you can't do it safely, don't do it at all. Here is what the board looked like after it was trimmed:
I soldered the components to my prototyping board and used some solid core copper wire from a multi-conductor cable I had lying around to make the jumper connections (black wires). I also soldered 3 wires (white, blue, and black) to the board for later connection to the Hyperkin PCB. I recommend using solid-core copper wire because the stiffness makes it easier to work with and also holds the completed circuit in place inside the controller so that it doesn't rattle around. (I don't use tape or anything else to secure the mod circuit inside the controller.) The resultant mod board:
I removed 4 of the joystick cable connections (wires) from the Hyperkin PCB and connected them to the appropriate spots on my prototyping board. Be sure to use solder to bridge the contact points labeled "8" and "9" on the Hyperkin PCB. This bridging is on the reverse (solder) side of the PCB and is not shown in the picture below:
Next I wrapped the mod board with at least 3 turns of electrical tape to prevent anything from shorting to the Hyperkin PCB once the mod circuit is completed. Solder the three wires (white, blue, and black) from the mod board to the Hyperkin PCB points as notated in the schematic in the first picture of this post (assuming your board maps out to the same DB9 pins that mine does). You are left with something looking like this (I hadn't yet connected the black wire when I took the picture below):
Now fold the mod board over the front side of the Hyperkin PCB and fit the Hyperkin PCB back into the front half of the controller shell. It should look something like this:
Close it up and screw it tight. You're done! The controller will look just like it did before you started: