sukkopera / megadriveplusplus Goto Github PK
View Code? Open in Web Editor NEWUniversal Region mod, 50/60 Hz switch and In-Game-Reset (IGR) for Sega Mega Drive (AKA Genesis)
License: GNU General Public License v3.0
Universal Region mod, 50/60 Hz switch and In-Game-Reset (IGR) for Sega Mega Drive (AKA Genesis)
License: GNU General Public License v3.0
Hi all,
I've acquired a modded MD JAP VA4 with ugly switches and decided to upgrade with MD++. I'm not interested on LED changing colour so I've not touched that part.
Following dragoncity scheme: https://dragoncity17.files.wordpress.com/2015/03/md-jap-va4.jpg:
My board had JP3 / JP2 traces cut, so I have reconnected them with 2 wires below the board, then cut JP1 / JP4 traces.
After wiring up a this is what I've got:
Arduino powers up, and C button lights up arduino led, which is a good sign, but that's all about it.
Pressing reset button yield no effect (no reset or change language/hz when pressed).
For this reason I'm thinking to have followed a wrong scheme or there is a sort of incompatibility with the reset-in/out on the board.
Anyone have a working scheme of JAP VA4 board?
Cheers
-VincentNL
I've followed the mega drive 2 guide as best I can, it's not super super clear but I've managed to piece it together as far as I know.
When I turn the console on, the RGB led I have wired to the red led, green led and blue led pins with 10R resistors on each, lights up purple (so either red and blue or maybe it's all 3 colours?).
The console runs at 50hz, no button combos do anything, reset button doesn't do anything either. Sonic 3 and Sonic 2 will load the title screen but when trying to actually start the game they reset.
The curious thing is that if I hit the reset button on the Arduino, the led turns off, and the console switches to 60hz for a few seconds before going back to 50hz.
Pressing the C button causes the RX light on the Arduino to light up, but no other buttons do.
I looked through all the other issues and found someone who had the same thing, where their C button would light up the RX, they said it was a faulty board because they used a clone. I was also using a clone so I have now swapped it out with an official Nano, which has had the software uploaded to it as well, and it behaves in the same way - purple led, nothing works, reset on the Arduino switches it to 60hz momentarily, game won't go past the title screen - the only difference being now not even the C button lights up the RX.
What have I messed up? I've never had this many problems with a console mod. If I can work this out I'd be happy to help update the guide to make it more clear.
Sorry about the crappy photos and crappy looking wiring - I've checked continuity on everything and can't find any issues so I assume it's something to do with the actual pin wiring or something with the software.
Some of these photos are the clone and some are the new official board. The wiring was less messy before I replaced the board as I'm just in troubleshooting mode now. Ignore the electrical tape around the resistors, that's just temporary until I get it working.
hello,
does MegadrivePlusPlus require an arduino nano
it has some hardware requirements?
thanks
And Sonic 1 is a good choice.
PAL user are often exposed to this problem: game refuses to boot in 60Hz, and freeze the controller so you have to turn the console On and Off, etc. Just for testing games, it' not that boring, but if you want to really play a game for many times, doing this each time could upset.
This idea comes from the SNES's uIGR board from borti.
The goal would be to set an "Auto mode" that would boot in 50Hz, wait for a while for the game booting, then auto switch to 60Hz (i don't think the other way, booting 50 then 60, would be useful for anyone but...)
Parameters could be set by user in the Arduino sketch : refresh at boot, delay, final refresh.
This "Auto mode" could be set with the "Start + B + Up" combo.
I installed this mod today and found that it only works through the reset button on the console and does not work with the gamepad 8bitdo m30 wireless 2.4.
2 more people from the official telegram forum of this project faced this problem (nicknames in telegram @fanaras @TurBoss and me @DzmitryArabei)
Can this be fixed in the project's readpad.S file or something else?
Please help!
Has this been tested on an NTSC Genesis Model 1? If not, should I provide pics of my board?
e.g.: Lotus Turbo Challenge
Hi. I've installed this in my Mega Drive 2 with an Arduino Nano, verified all the connections were correct with a multimeter, but when I turn the console on, it seems to be locked in 60hz mode, the reset button does absolutely nothing at all, the START+DOWN combination changed the colour of the LED from green, to blue, to red, and back to green, and that's all it does. Even changing the mode and then turning the console off and on changes nothing. I find it weird the button combination is different to what it's supposed to be, and as I said, nothing at all changes on the screen. Would appreciate any insight.
Hi there,
I'm trying to figure out how to re-route the pad read pins so that they populate D8 to D2 consecutively with the SELECT line on INT1/D3. I can't seem to find how the pins are arranged in the code. Can someone point me in the right direction?
Thanks in advance,
David
This request from vincent sega could be implemented in MD++:
I would like to modify my Mega Drive with an Arduino Nano and in addition i would like to modify my Mega CD 2 with Multibios.
With Sebs Code it is possible to switch the different Bios via Pin8 and Pin10 of PIC16F630.
Is it possible to perform the same with your code?
If yes, which Pins of an Arduino Nano I have to use?
You are in need of a Eprom (27c2004) and burn all 3 bios Version into it. The usa, japanese and pal Version. You can select the different Bios Version via A16 (Pin 38) and A17 (Pin 39) of the Eprom.
The order is: USA-> JPN -> EUR.
You can do it by yourself. Take the CD-Bios Versions and make a byteswap each of them.
The concat the 3 Files via Windows Commandline copy
copy /B usa.bin + pal.bin + jpn.bin switchless.bin
The final goal is to get 2 wires from the 16F630 PIC to the Eprom.
Here we make use of 2 wires from the Sega Expansionport.
Pin8 yellow 16F630->Exp Port Pin A01@Genesis 2->Exp. Port Pin A30@SegaCD2->Pin 38Eprom
Pin 10 blue 16F630->Exp Port Pin A30@Genesis 2->Exp. Port Pin A30@SegaCD2->Pin 39Eprom
Pin A01 and A30 of the Expansionsport carrying GND. There are many ground Signals at the Expansionsport. So we can cut these two of and make use of the free Pins for the Bios select.
PIC 8 /Eprom 38 | PIC 10 /Eprom 39 | |
---|---|---|
EUR | 0 | 1 |
JPN | 1 | 0 |
USA | 0 | 0 |
But if I understand correctly, all you need is two pins that change theire value together with the region, correct? In that case you can easily modify the code, adding a couple of pinMode() and digitalWrite() calls that do what you need. By looking at the Nano pinout I see that D7 and D8 are currently unused, so you can use those pins (or A4/A5 if you moved those over).
hello
acording to docs tx and rx pins are swapped in the drawins on the wiki
https://github.com/SukkoPera/MegaDrivePlusPlus/wiki/Chip-Preparation#wiring
+-----+
+------------| USB |------------+
| +-----+ |
(Built-in LED) | [ ]D13/SCK MISO/D12[ ] |
| [ ]3.3V MOSI/D11[X]~| [LED Blue]
| [ ]V.ref ___ SS/D10[X]~| [LED Green]
Reset Out | [X]A0 / N \ D9[X]~| [LED Red]
Reset In | [X]A1 / A \ D8[X] | [Single Pin Led]
JP3/4 (Video Mode) | [X]A2 \ N / D7[X] | Pad Port Pin 1
JP1/2 (Language) | [X]A3 \_0_/ D6[X]~| Pad Port Pin 2
[LCD SDA] | [X]A4/SDA D5[X]~| Pad Port Pin 3
[LCD SCL] | [X]A5/SCL D4[X] | Pad Port Pin 4
| [ ]A6 INT1/D3[X]~| Pad Port Pin 6
| [ ]A7 INT0/D2[X] | Pad Port Pin 7
+5V | [X]5V GND[X] | GND
| [ ]RST RST[ ] |
| [ ]GND 5V MOSI GND RX0[X] | Pad Port Pin 9
| [ ]Vin [ ] [ ] [ ] TX1[ ] |
| [ ] [ ] [ ] |
| MISO SCK RST |
| NANO-V3 |
+-------------------------------+
thanks
Hello,
I have been working on a Japanese MD2 model.
It came without the power led but the rear panel has a hole that suits a 5mm Common-Cathode Red-Green LED for the purpose.
I have used 220-ohm resistors in series to each anode considering my Arduino is supplied by 4.8V.
The test points and arrangement are shown in the following attachments.
Ruslan Zakirov reports:
I settled MegaDrivePlusPlus on my own MD2 VA1 PAL and found the
following problems using the controller from 8BITdo. The fact is that
when I press the combination A + start or B + C or A + B + C, this leads
to a reset of the console in any game . But if I use a wired controller,
then there are no such problems.
Hello.
Seen in the wiki:
"Does this work with an adapter for Master System games?
No idea. Please report back if you have any information."
With master system games 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.
Cheers.
I can neither switch the region nor trigger the IGR.
I have checked the wiring several times and it seems to be correct.
The L LED stays on after you press A and goes off again after a "cooldown" the next time you press A.
The same applies to the B button.
The controller inputs do not seem to be read correctly.
If I remove all cables for the controller inputs, switching via the reset button and the reset function no longer work.
Hello All!
I have a bunch of MH-ET Tiny88 boards and would like to be able to use it in a Japanese VA4 Model 1 Mega Drive. The board does not have a labeled TX and RX port. Comparing the two pinouts, the RX pin on the Nano is also D0/PD0. On the MH-ET board D0/PD0 is on Pin0 and is also labeled LED. I wired up the board as described above using the Pin0 as "Pad Port Pin 9". Everything works but the joypad. The IGR and region switch does nothing. The reset button, language, and video change as they should and the RGB LED changes color respectively.
Has anyone been able to successfully used one of these clone boards before? If so, where does the Pad Port Pin 9 need to be connected on the board?
Years back on my model 1, I installed the Arduino Nano and had no issues with my 6 button controller. I was able to use all buttons with no issue, even my 32x games functioned properly. My main attraction to this mod was the in-game-reset, which worked perfectly on my model 1/32x combo.
Now I've been out of the scene for this mod for some years, and I reinstalled my board into a model 2 genesis, and used the latest wiring diagram for the arduino nano, and obtained the most recent files, the mega++ & the readme file. Everything flashed correctly, but I'm running into issues in regards using an official wired 6 button controller.
The C button (using Sonic 1 as an example) works very poorly. Sonic doesn't even do a full jump. My start button doesn't seem to respond quickly. And with some 32x titles, I experience the same issue with my C button. But, using my original 3 button controller, everything is fine, buttons all operate the way they are supposed to.
So my question is, am I flashing the wrong files, and soldering incorrectly? Plesse help, cause this mod was PERFECT for me years ago, and I'm disappointed with the results I'm getting now with my model 2 genesis 6 button. [email protected]
Hello
Thanks for the project!
Unfortunately I have a compatibility bug to report.
The sketch cannot compile using the IDE with an Arduino Nano Every board.
The error is in the readpad.S file. "Error: Constant value required" on several lines of code.
If this cannot be fixed I suggest updating readme with a note.
Cheers
Hello, first of all this modification its awesome so many props for this!!
Im interested to modify my MD2 VA3 NTSC console with it, but i see there isnt an specific diagram for it.
Here are some.pictures of the board for reference
I see some coincidences with the MD2 diagram on the wiki, but the cutting points it seems there are not the same.
Thank you again in advance and im hoping that the mod would be possible on my console :)
I'd like to get a good overview of the installation, especially the RGB LED to indicate modes. I can't see much about it other than the Pinout showing the normal power LED is for some reason powered by the MCU?
Are the videos available at all?
It's a boxed system so I don't want to be doing and trial and error, just a smooth , trouble free installation along with 3BP
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 some porting is needed.
Controller Protocol Reference: http://www.gamesx.com/controldata/saturn.htm
Some games do not start since they find the wrong region value (e.g.: Virtua Racing).
See: https://assemblergames.com/threads/megadrive-new-switchless-region-igr-mod.61273/page-10#post-934050
Hello. I have followed the instructions, checked and double checked my connections but it just wont work for me.
The reset button does not change the LED.
My controller does not change the LED.
When I press the "C" button on the pad, the "rx" LED lights up on the nano.
How can I go about finding the fault?
I have the IC BD M5 PAL VA4
I must have done something wrong but I cant figure out what.
Chris.
EDIT: Using this pinout
+-----+
+------------| USB |------------+
| +-----+ |
(Built-in LED) | [ ]D13/SCK MISO/D12[ ] |
| [ ]3.3V MOSI/D11[X]~| [LED Blue]
| [ ]V.ref ___ SS/D10[X]~| [LED Green]
Reset Out | [X]A0 / N \ D9[X]~| [LED Red]
Reset In | [X]A1 / A \ D8[X] | [Single Pin Led]
JP3/4 (Video Mode) | [X]A2 \ N / D7[X] | Pad Port Pin 1 brown
JP1/2 (Language) | [X]A3 \_0_/ D6[X]~| Pad Port Pin 2 red
[LCD SDA] | [X]A4/SDA D5[X]~| Pad Port Pin 3 orange
[LCD SCL] | [X]A5/SCL D4[X] | Pad Port Pin 4 yellow
| [ ]A6 INT1/D3[X]~| Pad Port Pin 6 grey
| [ ]A7 INT0/D2[X] | Pad Port Pin 7 white
+5V | [X]5V GND[X] | GND
| [ ]RST RST[ ] |
| [ ]GND 5V MOSI GND TX1[ ] |
| [ ]Vin [ ] [ ] [ ] RX0[X] | Pad Port Pin 9 black
| [ ] [ ] [ ] |
| MISO SCK RST |
| NANO-V3 |
+-------------------------------+
Any bluetooth remote control that connects through blueretro does not work the combination of buttons to change the video and language modes.
Could someone please update the Mega Drive II instalation guide in the wiki with clear instructions using the Nano board? Dunno what goes where, cheers!
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.