Jump to content

Photo

Reading 3 buttons+start on a Sega Genesis Controller


10 replies to this topic

#1 RevEng ONLINE  

RevEng

    River Patroller

  • 4,972 posts
  • Bitnik
  • Location:bottom of the stack

Posted Sun Jan 23, 2011 9:11 PM

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

Attached File  3buttonread.asm.txt   1.52KB   280 downloads
Attached File  3buttonread.bin   4KB   188 downloads

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



#2 Bakasama OFFLINE  

Bakasama

    Stargunner

  • 1,678 posts
  • Kitava is just too hard

Posted Sun Jan 23, 2011 9:15 PM

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.

#3 RevEng ONLINE  

RevEng

    River Patroller

  • Topic Starter
  • 4,972 posts
  • Bitnik
  • Location:bottom of the stack

Posted Mon Jan 24, 2011 7:18 AM

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.

#4 c_t_f OFFLINE  

c_t_f

    Space Invader

  • 46 posts
  • Location:Isolated behind a toilet, surviving off of toothpaste and tap water

Posted Mon Jan 24, 2011 10:38 PM

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@

#5 RevEng ONLINE  

RevEng

    River Patroller

  • Topic Starter
  • 4,972 posts
  • Bitnik
  • Location:bottom of the stack

Posted Tue Jan 25, 2011 6:39 AM

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.

#6 Bakasama OFFLINE  

Bakasama

    Stargunner

  • 1,678 posts
  • Kitava is just too hard

Posted Wed Jan 26, 2011 7:03 PM

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.

#7 RevEng ONLINE  

RevEng

    River Patroller

  • Topic Starter
  • 4,972 posts
  • Bitnik
  • Location:bottom of the stack

Posted Wed Jan 26, 2011 7:50 PM

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.

#8 maiki OFFLINE  

maiki

    Dragonstomper

  • 689 posts

Posted Thu Feb 17, 2011 6:12 PM

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

#9 RevEng ONLINE  

RevEng

    River Patroller

  • Topic Starter
  • 4,972 posts
  • Bitnik
  • Location:bottom of the stack

Posted Thu Feb 17, 2011 6:45 PM

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.

#10 SpiceWare OFFLINE  

SpiceWare

    Draconian

  • 12,411 posts
  • Medieval Mayhem
  • Location:Planet Houston

Posted Thu May 23, 2013 7:06 PM

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.

#11 RevEng ONLINE  

RevEng

    River Patroller

  • Topic Starter
  • 4,972 posts
  • Bitnik
  • Location:bottom of the stack

Posted Thu May 23, 2013 8:25 PM

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!




0 user(s) are browsing this forum

0 members, 0 guests, 0 anonymous users