Sega Genesis controller questions.

Started by Jenovi, March 14, 2017, 04:50:01 AM

Previous topic - Next topic

Jenovi

Hey all,

I'm making a short video covering the Sega 6 button game pad (more specifically the mode button), and want to make sure that the info I include is as accurate as possible. I've read quite a bit in this forum and others and find the info I'm looking for a bit over my head in the discussions being had, or non existent. I'm hoping this is the appropriate forum to ask these questions, if not would you please point me in the proper direction?

1.How exactly does the original game pad work vs the 6 button game pad.
2.I understand what the Mode button does on the 6 button game pad, but would like to understand exactly how it accomplishes this.
3.I've read that the original controller uses the a chip referred to as 74HC157. Is this ship present in the 6 button?
4.Last question, how different was the genesis's method of recognizing controller input different then other controllers of the day? I've read threw the forum, and have seen a few post that discuss bypassing the chip to make it Neo Geo compattable (I've rebuilt a few of these).

Thanks
-Jenovi

NFG

1. The 6 button pad is really sort of convoluted.  It's timer-based, so that the pad will return different results if it's polled more times per frame than standard.  The 3-button pad is much simpler and will return the right results no matter how often it's polled.  This means that games that do things wrong (like Ms Pac Man) will poll the pad too often and get confusing results from a 6 button pad.

2. I thought the MODE button relied on the software to be aware of it, but it seems that the -controller- will read the MODE button and stop sending extra button data if it's polled too often.  I'm pretty sure this doesn't actually work on some games.

3. There are many ways to accomplish this.  Using a '157 is one way.  There are several schematics in this thread:  http://nfggames.com/forum2/index.php?topic=2266

4. That depends on how you define 'different'.  Early machines (atari 2600, MSX, X68000, NeoGeo) used a very simple one-wire = one-input system.  Genesis and PC Engine both used '157 chips, but chose very different mechanisms for their six-button pads.  3DO, NES and SNES all used a serial input system, and their controllers are more or less compatible with each other.  The Saturn used a pair of 74153 chips, but according to the developer specs the console could also read megadrive pads.  Playstation was very much a custom job, and perhaps the first 'smart' controller.  According to a guy I knew who worked for Sony, the pad would negotiate with the system on startup, and list its model number, number of buttons and motors, etc.  N64 and GameCube used a 1-wire setup.

Does that help?

Jenovi

Lawrence,
Thank you for the response, I have a few more questions. Forgive me if I sound out of my league, and feel free to correct me if I'm wrong on what I'm speaking about.

1. The 3 button uses the 157 quad 2:1 Multiplexer while the 6 button uses a custom chip 315-5638. Any idea what exactly this chip is, or how it differs? Running the numbers, it doesn't appear to be used in anything beside this and the Nomad. http://www.cs.cmu.edu/~chuck/infopg/segasix.txt - A write up by Charles Rosenberg, seems to indicate chip 315-5638 is a microcontroller, is this acurate?

2/3
Let me know if I'm looking at this correct here as the mode button is the most important thing I would like to figure out. I read the thread you directed me to several times over (topic 2266). I followed the schematics and available build results. This has me thinking that the Mode button being pressed does something internally to only return a Hi/Lo on the select line for 2 or 4 cycles (maybe referred to as 1 or 2 pulse groups? I'm not sure I'm describing this correct) then resets the counter, instead of relying on the game to non identify as a 6 button game and reset the counter on the 6th cycle as it typically would on non issue games.  Trouble games would false verify as 6 button compatible  and return false inputs from the 7th cycle and 8th cycle (the one that handles all the additional buttons).  Games that were designed for the 6 button pad would receive the extra data on the 4 buttons status during the 7th cycle after positive verification.

It would seem a few theories about why these issues happen are
A) The chip in the 6 button is slower than the multiplexer in the 3 button and some games weren't programmed to anticipate this. B) A couple games are incorrectly programmed to read the controller more then twice per frame and doesn't allow it to time out and reset to the first cycle. It then will incorrectly read the extra buttons causing issues. (This is me simplifying your #1. Reply).


I'm on the road working, but plan on doing extensive test on every game with reported issues, and making a full report when I return home via video.


Thanks for this information, and thank you for responding to my post. I found it very interesting and informative, especially your controller comparison.

-Jenovi

NFG

1. Almost certainly.  A single microcontroller programmed as required is probably cheaper and certainly requires less space than a half dozen off-the-shelf chips to do the same job.

2/3. If I'm reading you right, you've got it, yes.

A/B - Yeah, that seems right.

I would test it on my MsPacMan cart, but I just sold and mailed out my only 6-button pad yesterday, and all my Nomads are dead.