-
-
Notifications
You must be signed in to change notification settings - Fork 30
FAQ and Troubleshooting
-
Is MegaDrive++ compatible with all games?
MegaDrive only passively snoops the signals between the controller and the console, it does not interfere with them at all. This means that while it can interpret the signals incorrectly and misbehave in its own functions (i.e. trigger a spurious reset or change region randomly), it cannot cause any misinterpretation of controller inputs in games.
The In-Game Reset function should work on all games. There are currently some issues with EA games getting stuck in a reset loop but hopefully that will be fixed soon.
Setting the console region should also work on all games if you do that before the game starts. Also see next question.
-
Will all games allow switching video mode during play?
No, some games will crash, hang or lose sync if you do that. For instance, Sonic is pretty forgiving, while Streets of Rage 3 is definitely not. Try to set the desired mode as soon as the game starts, and please report problematic games so that we can build a list.
-
MegaDrive++ does not seem to detect my controller movements! It does not react to IGR and it does not switch video modes!
Did you download the readpad.S file and put it in the same directory as MegaDrivePlusPlus.ino before compiling?
-
It still doesn't recognize any movements!
MegaDrive++ needs a game to be inserted in order to snoop button presses correctly, it won't work if the console is powered on but no cartridge is inserted. Also, note that games are not always constantly polling the controller (for example they might not do it during cutscenes), so in those moments IGR and other combos might not get detected.
-
How can I test if everything is working correctly?
First of all, put on a known-hassle-free game, such as the first Sonic. The note that your Arduino board has a few leds, one of which shall be marked L: it should light up whenever any button is pressed. Once you made sure that all buttons are detected, try all the combos and check that the mode led and video mode change as desired. Then try the IGR combo. Finally try the Reset button, both for resetting and changing modes.
-
The RX led lights up when I press the C button!
Correct, that's a side effect of the wiring, you can safely ignore that or unsolder that led, at your preference.
-
I get an error similar to the following one when compiling/flashing, what shall I do?
avrdude: stk500_recv(): programmer is not responding avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x3a
Disconnect your controller before flashing.
-
I get the following error when compiling, what shall I do?
SendOnlySoftwareSerial.h: No such file or directory
You need to install Nick Gammon's SendOnlySoftwareSerial library, but it's only needed if you enable debugging, so just disable it if you didn't intend to do that.
-
Does this work with an adapter for Master System games?
Yago2016-dog reports that with Master System games running from a flashcart neither the IGR nor the region change from the pad works. But it does work to change the region using the reset button.
-
Does this work on the Sega (Mega) CD?
I haven't tested this personally, as unfortunately I don't own a Mega CD unit, but Jon Nielsen reported it does. (Thanks!)
-
Does this work on the Sega Saturn?
The switchless mods on the Mega Drive and Saturn are basically the same, as the original D4s/Seb mod works with both with exactly the same code and the same PIC. Although, While it sounds simple enough, the Saturn controller protocol is not compatibile with the Mega Drive's, so MegaDrive++ should work for region/video mode setting, but you will only be able to use the reset button to switch modes. No mode switch through the controller and no IGR functions will be available.
Anyway no tests have been made in this regard, so this is not supported, try it at your own risk.
-
Pin 0 on the Arduino Nano is actually the second pin. Is this an error in the silkscreen? What pin shall I solder to?
The correct pin to solder pad port pin 9 is RX0, TX1 must have nothing connected. For some weird reason, TX1 is the first pin on the Nano, and RX0 is the second, but RX0 is still the correct pin to solder to.
-
I'm having troubles with the screen positioning: PAL mode is OK, but the NTSC mode is quite far off to the right - is this normal?
MegaDrive++ only tells the console to switch to NTSC mode, it has no control on the signal that the console actually generates, so it cannot center (or de-center, for that matter) the display. Anyway all my consoles generate slightly different signals, luckily I run them through an upscaler so I can correct the image a bit.
-
How does the Mega Drive/Genesis controller protocol work?
A description of the Mega Drive controller protocol can be found at the following pages:
- http://www.cs.cmu.edu/~chuck/infopg/segasix.txt
- https://applause.elfmimi.jp/md6bpad-e.html
- http://mdpal60.net/wiki/megadrive/regionmod/start
Some of the above pages have also been archived on this wiki, in case they disappear, have a look at the menu on the right.