Jump to content
IGNORED

Hyperkin Sega Genesis 6-Button Clone Controller Mod


mytek
 Share

Recommended Posts

I ordered some of these to use in place of joysticks, which tend to be hard on my hands due to some arthritis issues I'm experiencing. Having the shorter throw, hence less hand movement I find to be much less painful than using a stick. The cool thing about these alternative controllers is that they use the standard Atari joystick connector and are suppose to be wired the same from a functionality standpoint (I think this is completely true for the 3 button version, however the 6 button Hyperkin controller will prove to have some incompatibility as I'll soon be pointing out).

post-42561-0-81614000-1516230385.png
Hyperkin Genesis "GN6" Wired Controller by Hyperkin

When I first plugged it in, everything worked, with Button 'B' being the trigger button. But within a minute the trigger button no longer did a thing, although the directional button pad still worked. So I thought maybe I got a bad one, so I proceeded to swap it out for a 2nd one (I bought 5 of them to get free shipping, and to have a few spares). The 2nd one's trigger button also failed to operate after about 1 minute. So I plugged the first one back in, and it worked again, but only for about a minute. Time to get out the screwdriver, take this thing apart to see what's going on, and fix it.

Step 1: Remove 5 screws from the bottom side of the controller (one is under a round sticker).

post-42561-0-14673900-1516230735.jpg

Step 2: Lift off bottom half.

post-42561-0-98694400-1516230748.jpg

Step 3: Locate where the joystick cable wires are attached to the PCB.

post-42561-0-68778500-1516230758.jpg

Step 4: Cut the green wire marked as VDD. And reassemble the controller.

post-42561-0-93584200-1516230766.jpg

Done

-----------

So why did I do that?

There's a potted IC chip on the button side of the board (black circle shown in image below) that was getting extremely hot within seconds of plugging in the cable on a powered machine. I believe the IC does some matrixing of all the extra buttons.

post-42561-0-97103700-1516233768.jpg

Anyway I surmised that power was getting somewhere that the IC didn't like to see, and caused it to draw excessive current thus producing heat, which eventually caused some of the IC's functions to shut-down. Believe it or not it was sheer dumb luck that I chose to cut the green VDD connection first, but it turned out to be the right thing to do, and stopped the overheat problem. Without a schematic it's difficult to know exactly what was going on, but unless I'm mistaken the green wire went to pin 5 on the joystick connector which is associated with paddle input B. As to why that high impedance circuit would cause the controller's IC to overheat, is certainly a mystery, although I've verified the overheat problem on 4 controllers thus far, and cutting the green wire has fixed every single one of them without loosing functionality of the 5 buttons that are important to us.

 

THIS ISN'T THE COMPLETE FIX. GO HERE TO TO GET IT.

- Michael

  • Like 3
Link to comment
Share on other sites

When I first plugged it in, everything worked, with Button 'B' being the trigger button. But within a minute the trigger button no longer did a thing, although the directional button pad still worked. So I thought maybe I got a bad one, and proceeded to swap it out for a 2nd one (I bought 5 of them to get free shipping, and to have a few spares). The 2nd one's trigger button also failed to operate after about 1 minute. So I plugged the first one back in, and it worked again, but only for about a minute. Time to get out the screwdriver, take this thing apart to see what's going on, and fix it.

 

Step 1: Remove 5 screws from the bottom side of the controller (one is under a round sticker).

 

 

Step 2: Lift off bottom half.

 

 

Step 3: Locate where the joystick cable wires are attached to the PCB.

 

 

Step 4: Cut the green wire marked as VDD. And reassemble the controller.

 

 

Done

 

 

- Michael

 

Wow, that's awesome that you found that. I had the same issue with a generic six button, so I stopped using it. This does not occur with a true Sega 6 button controller.

 

BTW, I need to check, but I think the generic 6 button controllers only exhibit this behavior on memory expanded machines.

  • Like 1
Link to comment
Share on other sites

 

Wow, that's awesome that you found that. I had the same issue with a generic six button, so I stopped using it. This does not occur with a true Sega 6 button controller.

 

BTW, I need to check, but I think the generic 6 button controllers only exhibit this behavior on memory expanded machines.

 

I tried one of these controllers on my 1200XL as well, with the same initial symptoms of overheat exhibiting itself, and sub-sequentially going away after cutting the green wire (now I'm starting to sound like the bomb squad :grin: ). So it isn't associated with expanded memory. Should be the same with any machine, and is apparently just a quirk with the Hyperkin 6-button controllers being interfaced to an A8.

Link to comment
Share on other sites

I purchased some Retrobit Genesis controllers. They "worked" just fine; but were such low quality crap, I cut the cords off, trashed the controllers, and used the cables to repair a couple Wico bats.

 

I'd rather re-wire Intellivision controllers than use these modern retro controllers.

 

Best of luck with your arthritis; I hope you find a solution you like. IDK what I'd do if I could no longer use a stick ... Probably a Jaguar pad with adapter.

  • Like 2
Link to comment
Share on other sites

Unfortunately I'll have to go back to the drawing board on this one. My cutting the green wire mod is not enough. Although it stopped the IC overheat issue, and at first appeared to allow the controllers to work, now after sitting for quite sometime they begin to produce random repeated movement. Since that is the VDD connection for the on-board logic chip, not having it powered is probably allowing for some free wheeling to occur. So when I get a chance I'll have to try tying it to +5 VDC (maybe through a resistor to drop it down to 3.3 V at first) to see if that brings stability back. I also have a 3-button original Sega Genesis controller on the way, which I'm curious to see what it feels like in comparison to these Hyperkin ones. I'll figure this stuff out eventually ;) .

Link to comment
Share on other sites

UPDATE: THE FINAL FIX FOR THE HYPERKIN 6-BUTTON CONTROLLER

post-42561-0-32572900-1517360382.jpg

So here's the low down. If you look at this chart for the Sega Genesis Controller, you'll notice that they expect to see +5V on joystick pin 5 (the A8 has +5V on pin 7). On a 6-Button version, the Select pin is being controlled from the console, and via a 74HC157 (CMOS quad 2-line to 1-line multiplexer) enables the extra buttons to be seen. Anyway the 74HC157 was expecting power on joystick pin 5 (VDD) but since that was a paddle input on the A8, it wasn't being properly powered. Since some of the other inputs on that chip were seeing +5V signals, it caused the chip to overheat (CMOS doesn't like to see a high on any of it's inputs when there is no power to it's VDD connection). So the solution was to re-route power from joystick pin 7 (+5V) over to VDD. This will leave the Select pin unattached, which is interpreted as being a high, thus selecting button B as the trigger.

Note: just to be perfectly clear, the numbers printed on the back of the Hyperkin PCB do not relate to the actual joystick pin numbers.

Sega Genesis 6-Button Controller pin-out (these are the joystick pin numbers)
post-42561-0-70160200-1517360545.png

Atari 8-Bit Joystick pin-out
faq_controller_pinout.jpg

  • Like 4
Link to comment
Share on other sites

Holy shit dude - that is Gandalf level wizardry hardware debugging skills to me. I'm a software guy and a shitty one at that.

 

You're a much better A8 programmer than I, so if you are shitty, I guess that makes me a big turd :grin: . Seriously though when it comes to getting something to work that I really want it to, I just keep picking away at it until the light bulb finally comes on. I even picked up a 3 button genuine Sega controller to compare to, and quite frankly I think the Hyperkin ones are much better. They also come with a cord at least twice as long, which makes it especially nice since you're tethered to the console. I'm just very happy to have solved the problem, and now have a good inexpensive source for new controllers.

  • Like 1
Link to comment
Share on other sites

I haven't looked at but what happens if my daughter plugs this in to her genesis or sms after the mod?

 

Might have a similar overheat problem because the on-board IC won't be properly powered. Not an issue in my house, since I don't have a Sega machine, and in reality it's no different than if she were to plug the stock un-modified 6-button Genesis controller into your A8. So I would simply say to her "don't do that :grin: ".

Link to comment
Share on other sites

perhaps a switch to swap the wires would be a solution... labeled Atari-Sega.

Yes that would certainly be a possibility. However that would also be significantly more difficult than the mod I showed. And based on the fact that these controllers are very cheap to purchase, it might just make more sense to dedicate a set to the A8 and label them 'Atari Only'.

Link to comment
Share on other sites

So it would seem that the previous info I referenced for the Sega Genesis controller was for the 3-button version. So here is what the 6-button version decoding actually looks like.

 

post-42561-0-05919000-1517512580.png

 

Doesn't change my mod, which appears to be working just fine, but it does give a little more insight into the inner workings. For a lot more detail on all of this, please check out this link: Reading Sega Genesis controllers with Arduino . It's really too bad that there isn't a 5th output bit available on the Atari joystick port, because it would then be possible to activate this multiplexing aspect to access all of these extra buttons. Could of re-mapped them as Start, Select, Option, Reset, and perhaps a 2nd trigger button and a game pause button.

Link to comment
Share on other sites

I've used the standard 3-button Genesis controller for years with no problems, Matej. I also modded a standard 3-button Genesis controller to work with the 7800, two-buttons (A & B), though I totally bypassed the controller chip(s) and hard-wired it all just like is done with original 7800 controllers.

Edited by Gunstar
  • Like 2
Link to comment
Share on other sites

Hello guys

 

If you'd multiplex the output of one joystick port, you could read more than one Sega Controller AND use the extra buttons. Four bits could be split up into two bits to select the controller being read (out of four possible controllers) and two bits to select the extra buttons on each of these controllers individually.

 

Sincerely

 

Mathy

Link to comment
Share on other sites

Wouldn't it be possible to make some auto-detect hardware which auto-detects if the controller is connected to a Sega or an Atari? (Michael obviously isn't interested, but maybe somebody else is)

 

All things are possible with enough effort and ingenuity. However you are correct that for what I was after, it satisfies my needs after implementing the 'fix'. However I was curious if more than the pad and the trigger button ('B' button) could be detected. So seeing that the 'C' button was connected to the Paddle A input, I wrote a quick little program in Basic to see.

10 ? PADDLE(0):GOTO 10

So without pressing the 'C" button you'll see a 1 constantly being printed to the screen. Whereas pressing it will change that to 228. So in essence there is an extra button that can be detected. Might be useful.

  • Like 1
Link to comment
Share on other sites

Excellent work, Michael!

 

Similar stuff has been going on in 2600- and 7800 Lands for the last few years at least. For instance, Darrell Spice’s masterpiece SPACE ROCKS on the 2600 has a gamepad option that allows use of a Genesis or SMS gamepad with two buttons, and Ed Kelly (of Edladdin Controllers fame) makes and sells an inexpensive and well-made adapter for the 7800 to allow use of two buttons of a 3-button Genesis pad for 2-button 7800 titles in pace of the miserable CX-78 “Painline” controllers.

 

Nice to see similar workarounds being found/created for our A8 systems!

  • Like 1
Link to comment
Share on other sites

Of course, if the Paddle Lines are used, then you could use 3 fire buttons. That was what the Atari Inc Consumer Engineering guys did with their custom Trak-Balls to play 3-Base Missile Command on their Atari 8-bit computers.

 

Just a thought...how many Atari 8-bit games would benefit from hacking to support 2 or 3 fire buttons using "Sega" game pads modded to access the Paddle Lines? Not counting 3-Base Missile Command, of course, since it's still unreleased. :)

  • Like 2
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...