Constructing a reproduction cartridge for Sonic 3 Complete. Removing original Rom from donor cart and replacing with a programmed EPROM chip.
Sonic 3 Complete
So I just found out about this project a little while ago. After my success of creating some SNES reproduction games, I decided to have a go at a Mega Drive one.
Sonic 3 Complete is a combination ROM of Sonic 3 and Sonic & Knuckles in one cartridge. As we know, the original cartridges of Sonic 3 and Sonic & Knuckles could be combined (with Lock-On-Technology!) to create the full game of Sonic 3 & Knuckles. The original game was split by Sega for various reasons. Partly to keep costs down for them, and to make a large game in two profitable releases.
Sonic 3 Complete goes beyond just being a combined ROM. It allows you to select and play either of the 2 separate releases or the full game. The project developers also wanted to improve the game, fix bugs and allow more selective options to the player.
Click here for the full list of changes, option, enhancements and fixes they made. Its quite staggering, but they really made this the perfect version of Sonic 3 you can play on original hardware.
Donor game PCB
The first thing to do in making this reproduction game is to select a suitable game to use as a Donor for its PCB. Sonic 3 compete supports the same game saving system as Sonic 3, but its not a requirement to use a “save” compatible donor game if you just want to get the game running and not bother with saving. For now I just wanted to boot the game. I’ll properly investigate saving options at a later time.
I have plenty of unboxed and duplicate games in my connection so I selected the very common Sega Mega Games I.
The original game ROM needs removing. This is fairly easy to do, but care should be taken as always to avoid any damage to tracks and VIA’s. When the chip is removed I cleaned all the pads.
Flashing the EPROM
Sonic 3 Complete is a 3.75mb file, and requires a 4mb (32mbit) EPROM to hold the game data. A 42-pin 27C322 is a perfect replacement. Don’t forget to byteswap your ROM otherwise the Mega Drive won’t read the game.
My TL866 Flash Programmer is not directly compatible with 42-pin chips and needs an adapter for these 16bit EPROMs. The 4mb address area of the EPROM is divided up to 8 segments which need programming individually. So the ROM needs splitting into 8 pieces and flashed one at a time, changing the flash bank on the adapter each time.
EPROM install on PCB
Now to install the EPROM on the donor PCB.
The EPROM is soldered in place, but you must make a few quick changes to PCB to allow the Mega Drive/Genesis to be aware of the larger address space of this bigger ROM.
A18 must be wired to pin B7.
A19 must be wired to pin B8.
A20 must be wired to pin B9.
As “Mega Games I” was an 8Mbit game, A18 was already linked to B7 of the cartridge connector. All I had to do was link A19 and A20 to the copper pads B8 and B9. If you use a smaller game as a Donor you will have to link all three. You can either raise the pins and keep them on the front side, or cut the traces and link the wire on the underside which is what I did.
Testing and playing
After reassembling the cartridge I tested it in my Mega Drive and it worked perfectly.
It’s great having both games combined, and the fixes and remastering is a great touch.
To Do?
I’d still like to get the save feature working. To do this I’ll have to locate another donor game PCB with a battery back up save feature. I could use a Sonic 3 cartridge as a donor for this, but that seems like a waste of a good game. There must be a cheap sport title I can use for this..
(Edit.. The save system is not the same as Sonic 3)
I’ll edit this page when I get the save feature working correctly.
Any questions or comments? please leave them below.
8bitplus 2017
Is it possible to use a 2MB rom game save donor cart and do some rewiring to make it work with 4MB eeprom with save ?
1st timer question- If I’m using a M27C322 eeprom and want to burn Streets of Rage 3 to it. When split up, it only divides it into 7 – 512kb segments. Do I only burn the 7 or do the math to split into 8 smaller sections.
Thanks for your help!
I bought a sonic3 complete cartridge which provides save feature at the Esty but save doesn’t work after about 2hours.I’m so depressed 😦
I found this thread while googling how to fix it but I think there’s a long way to go.
I’ve just seen the more recent comment listing off some 4MB SRAM carts that use two 2MB ROMs instead of a single 4MB ROM and I’m absolutely thrilled. This has been driving me crazy for ages!
Thanks for the reply, I appreciate it.
I was able to make a copy of this with a functioning save, if anyone is still interested. The trick is using the correct donor. Here are the donors that I believe will work:
Beyond Oasis
Hardball ’95
NBA Hangtime
Phantasy Star IV: The End of the Millenium
World Series Baseball ‘95
World Series Baseball ‘96
World Series Baseball ‘98
These are all 4MB capable carts with SRAM+Battery saves, using 2 2MB maskroms. I used World Series Baseball ’95 for mine. You would be a horrible person if you used Beyond Oasis or Phantasy Star IV as a donor. (but one could make both of these great games using this process….)
Remove both maskroms. Get a hold of the Sonic 3 Complete rom, byteswap it and split it into 512KB pieces. use your chip writer to write the first four pieces to a 27C160 chip, and the second four pieces to the second 27C160 chip. Label them so you don’t mix them up.
The fist chip should be soldered into the lower maskrom slot, the second chip should be soldered into the upper maskrom slot. If you mess this up it obviously will not work. While you’re at it you may want to replace the battery, who knows if its good or not.
If this is not clear enough I can go into more detail. I can provide pictures of finished carts and them functioning.
Good tips, thanks. I’ll give it a try with one of the baseball games one day 🙂
I saw this right after stumbling upon the realisation that some Super Nintendo games split their ROMs over two chips which got me all excited. This whole 4MB ROM + S/FRAM mapping problem was driving me insane. Previously, I had understood that in the original Sonic & Knuckles + Sonic 3 scenario, the Sonic & Knuckles cart permanently grounded the Sonic 3 RAM access pin in order to take control of mapping in and out the ROM and RAM (switching out the 2MB Sonic 3 ROM when it needs to map RAM for save data) which had me scratching my head about how I’d be able to make a single 4MB M27C322 EPROM work. Having found out that 2MB SNES games use two 1MB ROM chips, I then started searching for Mega Drive / Genesis games that had both RAM and two individual ROM chips… and here you are answering my prayers.
You absolute legend.
I basically just wanted to say thanks, but I’ve actually got one quick question: would it be logical to assume that other games that are also 3MB or above and also use RAM for save data, such as NFL Quarterback Club ’96, should also work for Sonic 3 Complete, regardless of whether they use battery-backed SRAM or the FeRAM model used by Sonic 3? I guess theoretically the size of the FeRAM could pose a problem but given that we’re only talking about 512B in the case of Sonic 3 I don’t imagine it’ll vary.
Thanks again!
The carts I listed are the only 3MB+ USA carts that use SRAM + batteries that I am aware of. NFL Quarterback Club for example uses a rewritable EEPROM for both the ROM and the save data, and as far as I know nobody has figured out how to get those to work, so I omitted those games (Which is s shame, as there are a few that would be great donors). Sonic 3 is the only game I’m aware of that uses FRAM.
I’m glad that this information has been useful to you. Let me know if you have any other questions.
Hello Alex i have discovered this post about this repro and i decided to make one to myself. i have now the proper donor form world series baseball 96 and i got my eproms but i have some trouble arround burning the two chips. is it possible to talk through email, because i really wanted to make this but i dont know much about burning eproms for repros. thank you for the info!
I am willing to help you out but I’d rather not use email. I have created a discord that you will be able to contact me directly at:
https://discord.gg/8TBQrG
Please post your questions there and I will respond to them when I have time.
I want to clarify that the programmer that I am using for this method is the TL866Plus, using an adapter to select the 512KB bank on the 27C160 chip, because the TL866 does not natively support this chip. It may only be necessary to split the byteswapped file in 2 pieces for programmers that support this chip. Thanks for members of the community to point this out to me.
Hi I was wondering if there is a program to split the two genesis roms? There are for nes and Snes but I don’t know of any for genesis otherwise I don’t know how to split them
I use the “split” file tool under ‘extras’ in HxD, a popular hex editor. You can do it using the command prompt in windows too, if you are comfortable with the command line.
Thank you so much! I’m gonna try soon and Ille let you know how it goes!
Welll I tried this and it didn’t work just got garbled screen with Sega logo and resets. Here is exactly what I did: downloaded sonic 3 complete rom 3,840 kb then byteswapped it then broke it up in hxd hex editor 2 2000 kib chunks then I had one with 2000kb and one with 1840kb I burned each using my gq4x and got these results. What did I do wrong?
Got it to work!! I noticed you said you split it into 4 512kb chunks onto 2 chips so I did 2048 x 2 and filled with ff and it worked! Thank you Alex for the help!!
DONE! working save for me now!haha!
Excellent. Send me an email through the contact page and we can work out a way of showing your work here if possible
Hey tomas, can you explain how you do please? thanks in advance.
Did you read the page?
What do you want to know?
I’m assuming he was asking about getting it working with the save feature Thomas mentioned he was able to successfully achieve. I myself am curious on how you would get this working. Would love to make myself a fully functioning copy of both this and Sonic Classic Heroes with Team Chaotix. Any instructions on how to do this would be great!
hi did you ever make one whit working save? i have been trying but soon i wont have any hair left.
Hi. No I didn’t lol. Would love to find some instructions on what’s needed, so far all I found out was the save system is the same as Phantasy Star IV, and not sonic 3.
I might have to get a ready made repro and reverse engineer that. If you get anywhere I’d love to know and I’d be happy to give you a place to show off your work if you get anywhere.
hi im working on it right now trying to figure it out 🙂 if you shoot me an email i will reply as soon as i have got it working.
I’m trying to research this myself now but info is extremely scarce and contradictory; some places claim the original Sonic 3 cartridge used SRAM, others say it actually uses FRAM which is starting to fail these days and is trickier to replace than an SRAM battery, and then I hear that Sonic 3 Complete doesn’t even use the same system as Sonic 3 to save so that wouldn’t work either. I was intending to simply convert a working Sonic 3 cartridge (all chips intact) to Sonic 3 Complete with my own customised ROM flashed on M27C322 EPROM but if what you’re saying is true and it doesn’t use the Sonic 3 system (presumably meaning no FRAM save) then this almost certainly won’t work and I’d need to understand more about precisely how Phantasy Star IV does it. The thing is, I can’t find any other mention of that link between Sonic 3 Complete and Phantasy Star IV – do you remember where you found this out? And did you ever get a save-capable Sonic 3 Complete cart in the end?
Hi There.
Sonic 3 Complete save system is a nightmare. It does not use the same save system as sonic 3, its more like Phantasy Star 4. Don’t kill a copy of that game just to make a S3C reproduction cart lol. I’ve never had time to investigate it full myself, but I have been contacted by people who say they have got it working, but never want to follow up on how. I may take another look one day but its not top of my list now.
Can this work with an AtGames Genesis?
No reason why it shouldn’t