Jump to content
RevEng

Reading 3 buttons+start on a Sega Genesis Controller

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

Share this post


Link to post
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.

Share this post


Link to post
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.

Share this post


Link to post
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:

 

 

@[email protected]

Share this post


Link to post
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.

Share this post


Link to post
Share on other sites

I got another question. Can this also apply to the 2600 driving controllers? I think games like Spy Hunter or Tempest would benefit from the extra buttons. Although where to put those buttons on the controllers is another question.

Share this post


Link to post
Share on other sites

To transmit movement the driving controllers use the same wires as the 4 joystick direction inputs, so yes, it would be possible to create a hybrid 4-button steering controller.

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

What would be really cool is if an inexpensive adaptor could be made - plug the Genesis gamepad into the adaptor, plug the adaptor into the Atari.

Share this post


Link to post
Share on other sites

Yeah, definitely possible, though making a nice one that fits in most Atari's and is cheaper than modding an existing genesis pad is a bit of a trick.

 

I'd love to see it though!

Share this post


Link to post
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.

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...