Sega Genesis/Megadrive Controller decoder

Started by GiLL, February 02, 2005, 05:56:50 AM

Previous topic - Next topic

GiLL

I was searching the board a day or three ago, and saw that someone mentioned that they thought that someone had these available.

I would like to add something like this to a supergun, and allow it to use off the shelf Genesis 6 button controllers. Saturn would be better, but that might be pushing it.


So, anyone know a source for prebuilt decoders?

thx!

ReRuss

Schematics to build adapters to work thru LPT?

GiLL

QuoteSchematics to build adapters to work thru LPT?
Nah, I mean decoding the signal to a standard UP, Down, Left, Right, A, B...etc.

I want to integrate something like this into a SuperGun and allow standard 6 button Genesis controllers to be plugged in.

Nothing involving a PC.

D-Lite

Damn, look who joined up.  Welcome aboard Todd.

This would be awesome.  Then you would be able to use standard controllers for everything including CPS2.  

But I haven't seen anything like this listed.  

NFG

I've just purchased a mecha great new eprom programmer, and it just happens to do microcontrollers.  I've been brushing up on Assembly in anticipation and as soon as it arrives I've got SNES pad decoding ready to go.  Next up: the world!  BWHAHAhahahaha....

atom

QuoteI've just purchased a mecha great new eprom programmer, and it just happens to do microcontrollers.  I've been brushing up on Assembly in anticipation and as soon as it arrives I've got SNES pad decoding ready to go.  Next up: the world!  BWHAHAhahahaha....
Id send a couple dollars torwards japan there to have a SNES to Dreamcast IC.
forgive my broked english, for I am an AMERICAN

GiLL

QuoteI've just purchased a mecha great new eprom programmer, and it just happens to do microcontrollers.  I've been brushing up on Assembly in anticipation and as soon as it arrives I've got SNES pad decoding ready to go.  Next up: the world!  BWHAHAhahahaha....
Hey Lawrence

If you do make something like this, keep the peeps updated. I would love to purchase an off the shelf solution to something like this. Something that would output the the unencoded button press would be excellent.

SNES would be excellent as well.

Aidan

QuoteI've just purchased a mecha great new eprom programmer, and it just happens to do microcontrollers.
Which microcontrollers does it handle? I'm stuck with a PICStartPlus here, so I can only handle PICMicro. I could put something together for atmel or other ucontrollers, but it's not worth the hassle right now.
[ Not an authoritive source of information. ]

Adeptus

I've seen microcode for PSX decoders,  but I think due to the number of I/O pins on the chosen chip, it only supported ~5 buttons...
Was a while ago... may have even been on this board?

NFG

I picked up a Needhams EMP-21.  6550 devices supported, USB or parallel, wahoo!

In other news I have a Needhams PB10 for sale.  =)

Aidan

#10
Back to the original question, if you can't find prebuilt ones, then you can do it with logic chips. You'd need an oscillator, a couple of latches capable of latching 4 signals, and an inverter (NAND/NOR would do fine).

The basic premise is that there's a wire to select which half of the pad is read. When that wire is low, the first four outputs are presented. When that wire is high, the second four outputs are presented. That'll get you the 3 buttons. If you want the six buttons, you probably want to move to a microcontroller.

If you don't want to do a decode, just pull the select line high, then you'll get up, down, left, right, A and C.
[ Not an authoritive source of information. ]

GiLL

QuoteBack to the original question, if you can't find prebuilt ones, then you can do it with logic chips. You'd need an oscillator, a couple of latches capable of latching 4 signals, and an inverter (NAND/NOR would do fine).

The basic premise is that there's a wire to select which half of the pad is read. When that wire is low, the first four outputs are presented. When that wire is high, the second four outputs are presented. That'll get you the 3 buttons. If you want the six buttons, you probably want to move to a microcontroller.

If you don't want to do a decode, just pull the select line high, then you'll get up, down, left, right, A and C.
Hmmmm...that kinda tech is well beyond my knowledge/ability.

lol...I think buying a prefab circuit would be my best bet, but I haven't found anyone selling them.

Megadrive and especially Saturn(finding the controller ports connectors would be a bitch) would probably sell REALLY well to the peeps that make their own SuperGuns.

Aidan

If you wait around a bit, I'm sure that Lawrence or myself might eventually get around to producing some code that handled it. You might be waiting a good few years though!
[ Not an authoritive source of information. ]

Splynncryth

for a lack of IO lines, remember that multiplexers and shift registers are your friends.

hippy dave

QuoteSaturn(finding the controller ports connectors would be a bitch)
there are saturn controller extension leads all over ebay :)

brody

Hi, thought this might be of some use maybe?

http://chadsarcade.co.uk/oldsite/Supergun/Genesis.htm

It's a curcuit for decoding the megadrive pad signals.

Adeptus

QuoteHi, thought this might be of some use maybe?

http://chadsarcade.co.uk/oldsite/Supergun/Genesis.htm

It's a curcuit for decoding the megadrive pad signals.
Neat... shame it's only for the 3-button controller & not the 6...
(may be possible to extend it to 6? can't remember how it detects the extra button presses)

Adeptus

Found the info on the 6-button controller.
http://www-2.cs.cmu.edu/~chuck/infopg/segasix.txt
Unfortunately it's not as straightforward as the 3-button

Ultimate Dev'r

#18
Just to let you guys know, the Sega Genesis Controller Protocol has some errors in it:

1. The Quad 2-to-1 Line Multiplexer gives you an INVERTED output; if you don't believe me take a look at the datasheets.

2. The buttons on the controller itself are all connected to common ground, and are pulled high when a button is pushed:


  VCC
    |
    |

  \
   |
   |
  GND

phreak97

i have a micro machines 2 cart.. it has two controller ports on the cart, and there are extra chips inside.. theres two chips the same, one port seems to go to one, and the other to the other. could they be decoders? i took pics:

Cart Front
PCB Front
PCB Back

atom

forgive my broked english, for I am an AMERICAN

phreak97

#21
lol, ok, but are they decoders or not? :P

i did some measurements with buttons pressed and not pressed..
i found 5v on pins which dropped to 0v when certain buttons were pressed.. but then i realized i got exactly the same results if i measured the back of the db9.
i also got some whacked readings, like the A button suddenly was using the pin the B button had been just before hand..
so i dont know wtf now

NFG

The chips you have there are off the shelf 74-series components (one 7408 and two 74244), and there's one PAL unit (Program Array Logic, a custom chip you cannot replace).  This PAL chip is the one that is probably handling the controller input and feeding it to the Megadrive.  I doubt it's decoding it into a usable parallel format, more likely it's transcoding it somehow.

phreak97


Aidan

That's interesting. Does the game store high scores etc on the card? If so, you might well find that the PAL is part of that, as the 24LC08 is a serial EEPROM, and is directly connected.

The joystick ports look like they're connected directly to the LS244 buffers. I suspect that the PAL acts as an address decoder, and the LS244 then place the output of the joysticks on the data bus. That would indicate that the joystick 'decoder' is actually implemented in software rather than in any hardware. That would be much cheaper, and just as effective.
[ Not an authoritive source of information. ]

Adeptus

I got the impresssion from the schematics (I linked to above), that all decoding is done in software (hence why 6-button controllers need to be switched to compatibility mode for some games, & don't work at all for others)

phreak97


billy_dimashq

dunno how much this would help (if at all, considering the depth of the above posts!) but i found this:

http://www.lik-sang.com/info.php?category=...oducts_id=3707&

it lets you use ps/ps2 pads on a neogeo. neogeo's are like arcades, whereby each direction/button is assigned to it's own pin and just works by sending 5v down the relevant pins to register the direction. this is essentially what you're trying aren't you?

unfortunately, i can't find one for md pads->neogeo!

just a thought.

i found this too, which may be of interest:

http://chadsarcade.co.uk/oldsite/Supergun/Genesis.htm

there's a line on the page that reads

"The next set of pages describe how to build a circuit which will decode the joystick functions so that we can use them on our SuperGun."

sounds like what you're after... imnd you, i dunno how you'd use a 6-button md pad with that guide but have a look anyway

Adeptus

Ummm yeah that Supergun link was up at the beginning of the thread...