I love a good RPG, especially the old ones on the Super Nintendo/Super Famicom, but unfortunately a lot of the better games were never released in English which makes playing these text heavy games rather difficult. There are fan translations available online, but a lot of these games use special enhancement chips that can’t easily be emulated. You can get flash carts that support these special chips, but as they are priced at upwards of $200/£150, it doesn’t really make sense to buy one just so that you can play a select few games. You can see a list of the SNES games which use enhancement chips here.

Japanese Star Ocean Cart

Star Ocean is one of the few games that can’t be played in English on an emulator due to the audio decompression chip used. Today I’ll be creating my own copy by following the guide over at MMMonkey’s website. I’ve tried to include as much detail and clarify things I thought were unclear where possible, but please leave feedback in the comments if there’s anything I missed. This mod uses a fairly standard list of components; the only items I didn’t already have were the EEPROM chip for the MaskROM and a Voltage Regulator. You can find most of them on eBay, but the MaskROM is slightly harder to get hold of – buyICNow.com has them at a decent price, and will program the chips for an extra $.50 each.

Components needed:

  1. English translated ROM of Star Ocean
  2. Software to split the ROM file
  3. Japanese copy of Star Ocean
  4. Small Gamebit Screwdriver
  5. 29L3211 EEPROM
  6. Pin to remove existing MaskROM
  7. 3.3v Voltage Regulator (SOT-223)
  8. 100nf capacitor
  9. Kynar wire
  10. (optional) glue gun/tape
  11. (optional) NTSC cartridge shell

Before going forward, please note that you should only be using this information to produce reproductions of Star Ocean for PERSONAL USE. This guide should NOT BE USED FOR COMMERICAL PURPOSES IN ANY WAY! A lot of people have been creating reproductions of expensive carts (e.g. Earthbound or Chrono Trigger) and then selling them as authentic on eBay for sky-high prices, so please be vigilant. Star Ocean doesn’t suffer from this problem to the same degree as there was never an official western release, but there are still a fair number of unscrupulous people making money from this.

As mentioned in the guide, Star Ocean uses two MaskROMs but the translation only affects content in the first one, so the ROM will need to be split to fit correctly. I don’t have a MaskROM programmer to burn these so I paid the extra $.50 fee to have it done directly by buyICNow. Before sending over the file or programming it yourself, make sure that you have split it correctly as outlined below. These instructions are for Windows, but the process should be almost exactly the same whether you use the Linux or Mac version of the program.

Look for a ROM file with the name “Star Ocean (Japan) [En by DeJap v1.0].zip” or “Star Ocean (Japan) [En by DeJap v1.0].smc” (you’ll need to unzip it if it’s not already in .smc format). I can’t link to it here unfortunately, but it’s very easy to find 🙂 It should be exactly 6,291,456 bytes when uncompressed. There is excellent freeware program that we’ll use to display/modify the header information included in the ROM file, called uCON64. It’s worth setting up the GUI version as it only takes 30 seconds and makes the next steps easier. I downloaded the Visual C++ version with a filename of “ucon64-2.0.0-win32-vc-bin.zip“, but any of the binaries should work just fine assuming you have the correct dependencies installed. Make sure you download the GUI as well, with the filename “uf-FOX-1.1-win32-bin.zip“. Extract the .exe to the same folder as the main executable from the previous step.

You should use uCON64 to check that the filesize and header/checksum of the ROM are correct before splitting. Open uCON64, specifically “uf.exe“, and load the ROM by clicking the “show info” button – the tool will show you some information about the file, including whether the checksum is valid.

uCON64 showing invalid checksum

If the checksum is invalid, go back to the main menu and click the “fix checksum” button..

Updating checksum

After processing, you can double check that the fix worked by using the “show info” option to look at the checksum again.

Fixed checksum

With the checksum fixed, the ROM file is now ready to split. I’m using the splitter recommended in the guide, “File Splitter“, with the size set to 4 MBytes. Only the first of the two split files is needed, and it should be exactly 4,194,304 bytes in size (check this in uCON64). You’ll notice that the check-sum is now invalid, so run this split file through uCON64 again selecting the “fix check-sum” option. This may not be completely necessary as some people have stated they did not perform this step, however I encountered no issues when using this modified split ROM file.

Split file with fixed checksum

Split file with fixed checksum

That’s all the setup we need to do with the ROM file, so send it off to buyICNow or burn it onto the MaskROM yourself.

Untouched PCB

EEPROM, Voltage Regulator, Capacitor

Old maskROM

Now we get to the fun part! First the old MaskROM must be removed. You can do this with a few methods: a hot air gun, clipping the legs and unsolder the remains, or with a soldering iron and pin. However you do it, be careful not to pull any of the copper pads away with the MaskROM chip legs, as this will permanently damage the board. If this does happen, you can normally bridge the connections with some extra wires, but you’ll need to carefully follow the traces on the PCB to make sure you connect everything up correctly. The eagle eyed reader will note that I also replaced the carts battery which I’ll be covering in another post.

MaskROM removed from the PCB

At this point you can clean off the old solder from the pads (it’s roughly 20 years old by this point!) and re-flow them with some fresh solder. This helps prevent cold solder joints from forming. Stick a bit of solder on your iron and then run it across the pads, but be careful not to scratch or pull up any of the copper coating on them. You should also be careful not to put too much solder on the pad, as this will cause unwanted bridging between pins/components.

The new MaskROM then needs to be prepared before we can solder it to the PCB. We’ll have to use a voltage regulator to provide the new chip with the correct voltage as it uses a different amount than the old one. This will be connected to the following 3 pins on the mask rom: 1, 33, and 40. On the new EEPROM, bend these pins up and out slightly (carefully!), flatten them out, and apply a little bit of solder to the top side of each so they are ready to attach wires to. You can also place a small amount of solder on the underside of each of the remaining pins.

Prepared MaskROM

If you haven’t already re-flowed the solder from the pads where the old EEPROM used to sit, you should do it now. See above for instructions on this part. Once everything is cleaned up, put the new EEPROM in place and do a quick check to make sure that each of the pins are aligned with their respective pads and not covering any others. The EEPROM should be positioned so that the pins are covering the pads equally on both sides of the chip – this helps prevent bad solder joints.

The chip can now be soldered into position. To avoid it moving around as we solder each leg, I like to solder the end pins on each side first (pin 1 and 40 are lifted from earlier, so there is really only 1 on each side to do). Make sure there is a small amount of solder on the soldering iron – it’s easy to put too much on and end up bridging the connections between pins. Work your way along the pins, carefully soldering each one in place. I like to pause for a few moments after each pin is done to stop any heat build up on the chip; I’m not sure if this is actually an issue but it doesn’t hurt to take your time anyway!

Soldered MaskROM

All done. That’s the trickiest bit of soldering out of the way! The next step is to prepare and solder our Voltage Regulator in place. A pin-out diagram for this component can be seen below, along with the component itself.

Pin-outs for the voltage regulator

Voltage Regulator

Prepare the voltage regulator by clipping the pin marked “V out” in the pin diagram above. You’ll need to also flatten out the large tab on the other side and bend it up slightly so that it doesn’t touch the PCB. Apply some solder to the top side of the large tab as well – this is where we will solder our capacitor and wires from the new EEPROM.

Prepared Voltage Regulator

The voltage regulator needs to be connected to the ground/live terminals on the PCB. The picture below has the live trace marked with a letter “V” on it, the ground with “G”. Scrape away at the surface of the PCB to expose the copper traces underneath and tin both of these spots with some solder. Put a bit of solder on the bottom of the two pins that will be connected to the PCB, and do the same for the top large pin on the voltage regulator so it’s ready to solder the wires onto. It’s important to make sure that the solder forms a good connection between the PCB and the Voltage Regulator, as this can cause some strange issues later on, such as the cart working intermittently or not at all.

Voltage regulator target area

Contact points scraped away

Voltage regulator soldered in place

The wire(s) that connect the Voltage Regulator to the MaskROM now need to be cut, stripped, and tinned. Some people use one wire to cover all 3 pins on the MaskROM, but I found 2 wires (one for each side of the MaskROM) makes it a lot easier to put together. It’s simple to measure them – just make sure that they are long enough to reach from the Voltage Regulator to the MaskROM, with an extra ~2cm at each end to allow for a bit of flexibility if we make a mistake. From the Super Mario RPG guide:

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!

Stripped and tinned wires

Now that your wires look like the image above and are ready to solder, I normally put a bit of tape on them to hold everything in position whilst working on stuff. Solder the wires to the pins that were lifted earlier, being careful not to overheat the wire to avoid burnt plastic coating potentially causing a short circuit. The 100nf capacitor needs to be soldered to the pins labelled “Ground” and “V out” on the pin-out diagram for the Voltage Regulator. The capacitor isn’t polarised like those you may have seen in the past, so don’t worry about getting it soldered to the voltage regulator in any specific orientation.

Wires soldered to the MaskROM

Once the capacitor is in place the wires can be soldered to the pin marked on the voltage regulator as “V out”, but be careful not to disconnect the capacitor while you’re working on them.

Everything soldered in place

I like to secure my connections with some hot glue, but before that we need to test the freshly modded cart! Make sure all the components are on place with no loose connections, and then put the shell back on. I had to fold over the capacitor as well to make sure it fitted in the shell properly – you can cut chunks out of it with the side of the shell if you are too forceful when putting the bits back together..easy now..

Plug the cartridge into your SNES and give it a try! Test that everything is working correctly by playing through the game till you get past the intro cutscene. All the dialogue should be in English and you’ll see some extra text on the title screen that reads “dejap 2001”. Any save games on there previously will have garbled character names, but you shouldn’t have any issues loading/saving them. There will still be a few traces of Japanese in the intro cut-scene subtitles, but it doesn’t detract from the atmosphere in my opinion – the audio for this part of the game is all in English anyway. A sample screenshot from the translated version can be seen below.

Sample screen (h/t to Baffou)

There’s one other simple mod I mentioned earlier that you may want to carry out: switching out the battery. I’ll always change it when I’m working on a cart that still has the original one present, but if the cart hasn’t been used much the battery should still hold a charge for a while. Give the cart another quick test if you do this, and then it’s a good idea to open the shell back up and add a bit of hot glue or electrical tape to the various wires/solder joints. Test that the cart works again after you’ve done this.

To finish everything off nicely, I decided to put the PCB into a new NTSC shell I had lying around (since this cart won’t work on a SNES without it being in NTSC mode, this is quite appropriate). I also managed to track down a fan made English copy of the instruction manual, game case, and a label from eBay. The quality of the case wasn’t very good – it wouldn’t fit the cartridge snugly even though it was advertised as being a “universal SNES game case”, and looked out of place next to the instruction manual because of the cheap build. Some people have recommended Uncle Tusk’s boxes as they mimic the cardboard boxes from the original release (obviously in English this time around) – I’ll update this post once I can get my hands on one 🙂

Final result

Thanks for following, and as usual, if you have any questions please leave a comment below!

3 thoughts on “English SNES Star Ocean Cart

  1. I used Star_Ocean_DeJap.sfc for the filename in the end.
    Sent it to buyicnow they said ROM is fine, few days later got it.
    Proceeded to rip nine traces off the board cause i suck.
    Fixed traces, install all the bits.
    English Star Ocean 😀 actually worked.

    Thanks a lot for the guide.

    • Apologies for the late reply, as you already worked out the filename doesn’t matter as long as the file is in the right format. Happy to hear you got it all working properly 🙂

Leave a Reply

Your email address will not be published. Required fields are marked *