nfg.forums

NFG Forums => Controllers and Joysticks => Controller Technic => Topic started by: GiLL on February 02, 2005, 05:56:50 AM

Title: Sega Genesis/Megadrive Controller decoder
Post by: GiLL on February 02, 2005, 05:56:50 AM
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!
Title: Sega Genesis/Megadrive Controller decoder
Post by: ReRuss on February 02, 2005, 09:01:55 AM
Schematics to build adapters to work thru LPT?
Title: Sega Genesis/Megadrive Controller decoder
Post by: GiLL on February 02, 2005, 10:48:16 AM
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.
Title: Sega Genesis/Megadrive Controller decoder
Post by: D-Lite on February 04, 2005, 05:18:07 AM
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.  
Title: Sega Genesis/Megadrive Controller decoder
Post by: NFG on February 04, 2005, 12:03:51 PM
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....
Title: Sega Genesis/Megadrive Controller decoder
Post by: atom on February 04, 2005, 12:47:31 PM
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.
Title: Sega Genesis/Megadrive Controller decoder
Post by: GiLL on February 04, 2005, 02:59:12 PM
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.
Title: Sega Genesis/Megadrive Controller decoder
Post by: Aidan on February 04, 2005, 08:31:05 PM
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.
Title: Sega Genesis/Megadrive Controller decoder
Post by: Adeptus on February 07, 2005, 01:03:32 PM
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?
Title: Sega Genesis/Megadrive Controller decoder
Post by: NFG on February 07, 2005, 01:58:19 PM
I picked up a Needhams EMP-21. (http://needhams.com/)  6550 devices supported, USB or parallel, wahoo!

In other news I have a Needhams PB10 for sale.  =)
Title: Sega Genesis/Megadrive Controller decoder
Post by: Aidan on February 07, 2005, 10:54:57 PM
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.
Title: Sega Genesis/Megadrive Controller decoder
Post by: GiLL on February 08, 2005, 06:06:56 AM
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.
Title: Sega Genesis/Megadrive Controller decoder
Post by: Aidan on February 08, 2005, 07:36:42 PM
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!
Title: Sega Genesis/Megadrive Controller decoder
Post by: Splynncryth on February 09, 2005, 07:53:18 PM
for a lack of IO lines, remember that multiplexers and shift registers are your friends.
Title: Sega Genesis/Megadrive Controller decoder
Post by: hippy dave on February 12, 2005, 03:25:03 AM
QuoteSaturn(finding the controller ports connectors would be a bitch)
there are saturn controller extension leads all over ebay :)
Title: Sega Genesis/Megadrive Controller decoder
Post by: brody on March 11, 2005, 09:49:55 PM
Hi, thought this might be of some use maybe?

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

It's a curcuit for decoding the megadrive pad signals.
Title: Sega Genesis/Megadrive Controller decoder
Post by: Adeptus on March 18, 2005, 01:12:46 PM
QuoteHi, thought this might be of some use maybe?

http://chadsarcade.co.uk/oldsite/Supergun/Genesis.htm (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)
Title: Sega Genesis/Megadrive Controller decoder
Post by: Adeptus on April 11, 2005, 04:27:40 PM
Found the info on the 6-button controller.
http://www-2.cs.cmu.edu/~chuck/infopg/segasix.txt (http://www-2.cs.cmu.edu/~chuck/infopg/segasix.txt)
Unfortunately it's not as straightforward as the 3-button
Title: Sega Genesis/Megadrive Controller decoder
Post by: Ultimate Dev'r on April 23, 2005, 02:31:03 AM
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
Title: Sega Genesis/Megadrive Controller decoder
Post by: phreak97 on April 24, 2005, 01:53:36 AM
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 (http://phreak97.experienced.tk/phreak97/cartfront.jpg)
PCB Front (http://phreak97.experienced.tk/phreak97/pcbfront.jpg)
PCB Back (http://phreak97.experienced.tk/phreak97/pcbback.jpg)
Title: Sega Genesis/Megadrive Controller decoder
Post by: atom on April 24, 2005, 02:24:55 AM
Thats flippin amazing my friend!
Title: Sega Genesis/Megadrive Controller decoder
Post by: phreak97 on April 24, 2005, 02:44:42 AM
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
Title: Sega Genesis/Megadrive Controller decoder
Post by: NFG on April 24, 2005, 11:37:25 AM
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.
Title: Sega Genesis/Megadrive Controller decoder
Post by: phreak97 on April 24, 2005, 05:57:23 PM
ah ok, i guess that sucks then.
Title: Sega Genesis/Megadrive Controller decoder
Post by: Aidan on April 24, 2005, 09:54:08 PM
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.
Title: Sega Genesis/Megadrive Controller decoder
Post by: Adeptus on April 25, 2005, 01:25:48 PM
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)
Title: Sega Genesis/Megadrive Controller decoder
Post by: phreak97 on April 25, 2005, 03:08:13 PM
yes, the game does save.
Title: Sega Genesis/Megadrive Controller decoder
Post by: billy_dimashq on April 25, 2005, 07:53:17 PM
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& (http://www.lik-sang.com/info.php?category=226&products_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 (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
Title: Sega Genesis/Megadrive Controller decoder
Post by: Adeptus on May 04, 2005, 09:15:25 PM
Ummm yeah that Supergun link was up at the beginning of the thread...