The cheapest source for Super Mario RPG is probably a Japanese Super Famicom copy of the cart. It’s a bit text heavy though, hence the American SNES version demands a higher price.
I wanted to try this game out, and fancied trying to convert a Japanese cart so that it was English. I did one of these a while ago, using a 27C322 EPROM after seeing a guide about making a French Translation on Ultimate-Console. I let Chrome translate the page for me :-)
It’s quite time consuming doing it that way, all those wires to cut, strip, tin, solder :-( So when I saw a different guide on RetroHacker.info I was curious to give this a go too.
I got the 29L3211 EEPROM from buyicnow, I sent them the file to be programmed (you have to make sure the ROM file has no header – it should be exactly 4,194,304 bytes and not byteswapped). BUT, it’s always worth contacting Bad_Ad84 for various chips etc :-)
I can’t better the guide on RetroHacker.info, so here’s a few photos and notes of mine as I’m building it. I used a SMD 3.3v Voltage Regulator to power the new EEPROM. I did read elsewhere that you could use a Voltage Divider though which I’d never heard of before, but sounds interesting.
Anyway, I use the pin method to remove the old Maskrom.
Bent up legs 1, 23 and 33 which are to be linked up to 3.3v
Soldered the chip in place (much like I soldered the Saturn Region Free BIOS), I’ve also added some solder onto those lifted legs, ready to wire them up.
For the Voltage Regulator, you need to feed it 5v and Ground, there’s a very convenient spot nearby the EEPROM so use that. I’ve also cut off the middle leg and straightened the tab out so that they don’t touch the cart board (although that’s probaby overkill on my part), the tab is also 3.3v output.
I decided to scrape away a bit of coating to give a bigger soldering points.
I forgot to mention linking the legs up and then soldering them to the Voltage Regulator. I strip about 1cm from the end of a piece of wire (this is kynar), then mark how long each segment needs to be and use a pair of wire cutters to cut the wire coating and push it along to make the gaps. You could of course just use a couple of pieces of wire if you find that easier!
Here’s the finished article..
Soldering ground for the Voltage Regulator needs a very hot soldering iron, if you are having trouble then you could get GND and/or 5v from elsewhere, the capacitor in the bottom left of the board is a good place, labelled C1, and it’s clearly marked showing which is positive.
Very big thanks to Midari at RetroHacker.info who has shared some really interesting projects and PCB designs.
I recently converted a Super Famicom Shining Scorpion to be a PAL copy of Super Mario RPG. The board is a different layout to the one above, here’s how I wired up the Voltage Regulator
The Voltage Regulator I used on this cart was from a different eBay seller and although it was outputting the correct Voltage, the cart didn’t work. Bad_Ad84 suggested a 100nF capacitor linking the VCC pin of the EEPROM to GND, so I placed it like this and it worked straight away (I wish I asked him BEFORE I spent an hour or so removing the chip, testing other chips etc!).
- I’ve already mentioned it, but here it is again, you have to make sure the ROM file has no header – it should be exactly 4,194,304 bytes and not byteswapped. There’s lots of tutorials on removing the header and explaining what it is.
- To play this on a PAL SNES, you’ll need to either do the SuperCIC mod to the console or alter the cartridge so it’s also PAL.
- If you’re inserting just the cartridge board into your console to test it, remember that the chips face the rear of the console, it looks like it’s going in backwards!
- Maybe fit a new battery or battery holder?
- I’d probably buy AMS1117 3.3v Voltage Regulators again, so I don’t have to use the decoupling capacitor as seen in the last photo.
ROM File Update
I used uCON64 to check the original ROM file. I downloaded and configured the GUI for uCON64 to make life simpler. You can use it to remove the header, fix the checksum, check to see if it’s byteswapped etc. Here’s the info from the file I used.