Jump to content
IGNORED

Reading 3 buttons+start on a Sega Genesis Controller


RevEng

Recommended Posts

As a lot of you already may know, it's possible to read both the B and C buttons on an unmodified Sega Genesis controller. (bB sample code here, asm sample code here, and 2-button classic games and homebrew here.)

While looking at the standard Atari 2600 and Genesis pinouts a while back...


Atari
1... Up
2... Down
3... Left
4... Right
5... Paddle
6... Button
7... +5v
8... GND
9... Paddle

Genesis
1... Up
2... Down
3... Left
4... Right
5... +5v
6... Button A/Button B
7... Select
8... GND
9... Start/Button C

...it occurred to me that if you switched pins 5 and 7, you might be able to control the Select line of the multiplexer in the Genesis controller with the Paddle line. (Some Genesis buttons share wires; the status of one pair of buttons is returned when the Select line is hi, and the status of another pair of buttons is returned when Select is low.)

The first test confirmed the theory, but it was apparent I needed a pull-up resistor between 5 and 7, to allow the Paddle cap to charge again after a button press. I found that a 10k resistor did the trick.

Buttons A, B, C, and Start can be read with this configuration, and I believe with a bit of software protocol work that the remaining buttons on a 6-button pad can be read too.

While this isn't as slick as the 2-button read, since it involves modification to the pad, it's still pretty cool to be able to read the additional Genesis buttons on a 2600 for a 10 cent investment. And given that genesis compatible pads can be bought for around $5, it would be viable to sell a modified pad with a homebrew title that required multiple buttons.

In case anyone decides to tread down this road someday, a sample program to report the 4 buttons on a Genesis pad follows...

3buttonread.asm.txt
3buttonread.bin

Someday I'm gonna hack this into Defender 2 and play it in all of 4 button glory it deserves! icon_shades.gif

  • Like 1
Link to comment
Share on other sites

I do have a question, can this apply to a 7800 game? I know you still have to mod a pad to get that 2nd fire button on the 7800 to be usable.

7800 homebrews should be able to work with this just fine, and any other platform that supports Atari paddles and joystick, like the A8.

Link to comment
Share on other sites

This would be useful in a 'Karate' hack, whereas each button does a different attack (strong kick, weak kick, etc.)! It'd be more enjoyable (or at least more PLAYABLE) than the original that way! :lol: :thumbsup:

 

 

@CTF@

Link to comment
Share on other sites

For sure!

 

I also see it being useful in a quest game, where one button could select the active item in inventory, another could attack, a third could use magic, etc.

 

Lots of potential, but the controller would need to be bundled with a cart, I think.

Link to comment
Share on other sites

  • 3 weeks later...

I do not understand what that SELECT is... There is no SELECT on Genesis controller.

Select isn't a button. It's the name of a line on the multiplexer chip inside the Genesis controller. Setting it high or low allows the game to "select" which set of buttons it's reading from.

Link to comment
Share on other sites

  • 2 years later...

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...
  • Recently Browsing   0 members

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