First we need to understand how NES ROMs work. Inside a standard .NES file are binaries from two mask ROM chips commonly found on NES cartridges: The PRG and the CHR chips. In the case of Final Fantasy 3, the CHR chip is just used as RAM and therefore does not need to be flashed.

So now that we understand that, we need to get a hold of a copy of a Japanese Final Fantasy 3 ROM. This part I can't tell you how to do, but I assume if you're interested in classic gaming then you probably know how to find NES ROMs. You aren't really breaking any laws since you own a copy of the game. (Make sure you get Final Fantasy 3 for NES and not SNES as they are NOT the same game, but do have the same name)





Now we need to patch the ROM with the translation of our choosing. The best English one, by far, is this one by Alex W Jackson, Neil Corlett, and SoM2Freak. Other languages are also available in the Translations section of romhacking.net.

Once you have the ROM and the IPS patch, you need to apply the patch to the ROM. There are lots of IPS patchers over on zophar.net for various operating systems; Personally I use IPS-Win. Patch the ROM as shown in image #1 in this step, then test it in an emulator such as fceux and make sure it runs properly.

Once we have a properly patched ROM in the desired language, we need to split the .NES file into its respective PRG & CHR files. For this, I use a program called NES Mapper Reader, also available from romhacking.net. Open NES Mapper Reader, goto File - Load ROM, and navigate to your translated FF3 .NES file. As seen in image #2 of this step, click "Analyze ROM", then Check the "Remove 16 byte NES Header", "Output CHR/PRG", and "Auto Split CHR/PRG" options; click Prep. FOR SOME REASON, this step always errors; however, it worked just fine, trust me.





You'll be left with a 512k PRG file and a 0k CHR file. The PRG file is the one we need, so set it aside.