Jump to content
IGNORED

Sega Master system controller to 7800 mod


J.Ivy

Recommended Posts

Will someone here with some electronics skills mod a batch of NES controllers? I think you'd have a few takers. You could have people send in either "cores" - or the exact controllers to be modded (so they receive controllers in equivalent shape to what they sent) and I'm sure people would be willing to pay a worthwhile amount for the time. I would.

Link to comment
Share on other sites

Will someone here with some electronics skills mod a batch of NES controllers? I think you'd have a few takers. You could have people send in either "cores" - or the exact controllers to be modded (so they receive controllers in equivalent shape to what they sent) and I'm sure people would be willing to pay a worthwhile amount for the time. I would.

I would volunteer to do it, but I'm a chronic procrastinator. Might finish them tomorrow, next week, month or year. Game-X-Change always has spare NES controllers though. $4.95 + tax... :grin:

 

Also I was playing Jr Pacman and Beef Drop for a couple hours on my 7800 and now that badass Atari logo I drew on there with silver Sharpie marker is starting to rub off. :sad:

post-33189-0-08114100-1405187544.jpg

Huge improvement over the CX-78 Europad. Scored like 240,000 points in Beef Drop, albeit I started out on kiddie mode. That game finally got insane fast towards the end... :P

  • Like 1
Link to comment
Share on other sites

I was wondering, can a three button controller be made based on a Sega Genesis controller. I've been told that the C button can work on a 7800 game if was programmed to use that button.

Not quite. Even if you added extra buttons, the signal formats would conflict with each other.

  • 1-button operation in either 2600 or 7800: pins 5 and 9 should always be low but most joystick games ignore these inputs so it usually doesn't matter. Pin 6 is normally high but is pulled low whenever the fire button is pressed. Either 7800 button will register as fire button. Only the "B" button on the Genesis controller works in this capacity.
  • 2-button 7800 mode requires pin 6 to remain always high and pins 5 and 9 to be normally low; pin 5 and 9 are high only when the corresponding button is pressed. If at any time pin 6 is pulled low a fault condition is generated and the game reverts to 1-button operation.
  • 2-button "Genny" mode requires pin 5 to be always high, and pins 6 and 9 are normally high; pin 6 is low only when "B" button is pressed; pin 9 is low only when the "C" button is pressed.

 

2-button "Genny" and 2-button 7800 modes are mutually incompatible because one mode expects high input on pin 9 whereas the other expects low input and visa versa. Adding a 3rd button to the 7800 schematic will not resolve this conflict. Even if fancy logic were employed, it is not possible for the controller to tell which setting needs to be used for two button operation unless the user manually changes settings, ie flips a switch or otherwise rewires the controller.

 

Read on for a more thorough explanation:

 

In standard 2-button mode, the 7800 sends a strong +5 signal to the fire pin on the 7800 controller. The buttons on the 7800 controller connect the fire pin 6 two the two paddle pins, 5 and 9. There are 620 ohm resistors pulling down pins 5 and 9 to produce a low signal. I used 560 ohm resistors since Radio Shack doesn't carry 620, but realistically anything in the ballpark between 470 and 680 should work fine. Anyway, in one-button or 2600 mode, the 7800 will produce a weak +5 signal on pin 6, which will be pulled low by either of the 620 ohm resistors in the controller, causing both buttons to act like standard fire buttons. In two button mode, the "strong" high logic from pin 6 will override the 620 ohm pulldown resistors during a button press event, causing pin 5 or 9 to go high. So in two button operation, the buttons supply high logic on pins 5 and 9, but during one button operation, they both produce a low on pin 6.

 

(This can actually cause a potential short condition when a 2600 joystick is hooked up and the 7800 game expects a two button controller, putting strain on the transistor pump responsible for the "strong" current. The programmers planned for this in software by immediately switching to one-button operation whenever a low signal condition is detected on pin 6. IMO not the most elegant solution to use software to prevent a potentially damaging fault condition).

 

2600 games cannot differentiate the 7800 controller inputs because the 2600 nor the 7800 operating in 2600 mode is capable of providing sufficient current on pin 6 to pull the paddle pins 5 or 9 high. However, it is a commonly known practice to use common Genesis gamepads on the 2600. Genesis uses a different VCC pin to Atari, so the Atari supplies +5 volts to the select input on the Genesis controller. VCC on the Genesis controller is pin 7, which is held high by a pullup resistor connected to the Select line. Fortunately, there is enough current running through this pullup resistor to allow the Genesis controller to properly operate. The presence of a high logic signal on the Select line effectively disables Start and A, while mapping the Dpad and B button to the Atari joystick and Fire. Paddle 1 (pin 5) is permanently held high by the pullup resistor inside the Genesis controller. Paddle 2 (pin 9) is normally high due to the logic output of the Genesis controller chip (74157). However, when C button is pressed, the output on pin 9 goes low. Game logic can detect the presence of this signal.

 

7800 games could in theory use the same logic to read the Genesis controller, however they must be programmed to do so. 2-button 7800 games will not operate correctly with a Genesis controller. The "strong" output on pin 6 will override the 74157 chip preventing the B button from functioning. Additionally, pin 5 and 9 will both remain high making it appear to the console as though both red buttons on the 7800 controller are continuously pressed. This creates an interesting effect in Xevious allowing the continuous deployment of bombs and bullets, but will otherwise make the majority of two-button 7800 games unplayable.

 

I posted schematics on the previous page on how to build a dual mode 7800/SMS controller (using a toggle switch to swap modes) that also works with 2600 2-button homebrew. [Link] Since the red buttons on the 7800 controller do not share a common ground with the joystick, a dual mode controller that doesn't require either a complex switching mechanism or advanced logic, is impossible. I finished my mini 7800 arcade controller build earlier today and decided not to implement the switching mechanism because drilling extra holes to install switches would have ruined the simple design. So no SMS or twin button 2600 homebrew with my 7800 stick, sadly.

 

Least not until I realize my "ultimate" Genesis/SNES arcade controller. By design, it will be backwards compatible with Atari and SMS on the Genny side, and NES on the SNES side. 7800 two button support is not doable due to the aforementioned lack of a common ground, hence the need for a separate controller.

Edited by stardust4ever
Link to comment
Share on other sites

Just thought up another "wouldn't it be awesome if" idea:

SNES -> Robotron

 

Two controller cables. Wired like a standard 2600 controller. Left controller would be Dpad + Left shoulder button. Right controller would be the four action buttons plus the right shoulder button. Would be somewhat harder to build since the SNES pad is surface mount chip.

Link to comment
Share on other sites

  • 1 year later...

Start and Select buttons are useless on a 7800 mod. Mine are disconnected. You could remove the buttons but it would look odd on a stock NES. The Dogbone will be much harder to mod due to limited space inside as well as surface mount instead of through-hole components. I also have a Dogbone with a damaged cable that I had toyed with the idea of doing a USB mod, but now I think I will just restore it with the 8 foot cable I pulled from my other NES controller mod. Whatever you decide to do with it, I wish you luck.

 

=======

 

I have also devised an ingenious little schematic for my arcade controller that will use dual-ganged DPDT switches in the back. This will allow the user to swap between SMS and 7800 operating modes. I'm also adding 10k pullup resistors to paddle pins 5 and 9 which will not effect 7800 or SMS operation but enable 2600 homebrews that read the extra Genesis buttons. The diode prevents Genesis/SMS "Select" output line (which is also Atari VCC) from draining current and pulling button inputs low.

attachicon.gifSMS 7800 dual mode.jpg

Bump. Scrap this design. I have a better one that uses a single DPDT switch and adds and extra button for SMS and homebrew support:

http://atariage.com/forums/topic/241814-universal-joystick-schematic-for-2600-7800-sms-untested/

Link to comment
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.
Note: Your post will require moderator approval before it will be visible.

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