Editing Apply ROM hacks and translations
Jump to navigation
Jump to search
Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.
The edit can be undone.
Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision | Your text | ||
Line 1: | Line 1: | ||
− | There are games which were never translated officially. Some talented people (this might include you) took these untranslated ROM images and altered them in a process known as ROM Hacking. They produced | + | There are games which were never translated officially. Some talented people (this might include you) took these untranslated ROM images and altered them in a process known as ROM Hacking. They produced in the end a working English ROM (or whatever their language is). |
But how would they distribute it? While Chinese ROM hackers don't care and just upload the translated ROM as-is, the rest of the world is another matter. Anyone doing this, especially ROM hackers since they're more... under the vengeful watchful eye of the publishers for the first legal slip, would be asking for legal hell. The ROM data is copyrighted data to the original company, and them not selling their product here doesn't mean they'll let someone pirate their games. | But how would they distribute it? While Chinese ROM hackers don't care and just upload the translated ROM as-is, the rest of the world is another matter. Anyone doing this, especially ROM hackers since they're more... under the vengeful watchful eye of the publishers for the first legal slip, would be asking for legal hell. The ROM data is copyrighted data to the original company, and them not selling their product here doesn't mean they'll let someone pirate their games. | ||
Line 5: | Line 5: | ||
ROM hackers not dumb enough to risk having their asses sued resort to another solution. | ROM hackers not dumb enough to risk having their asses sued resort to another solution. | ||
− | They upload just a patch. It's a file containing only the modifications, and nothing else. When applied to the original Japanese ROM, it produces the English-translated ROM the hacker has | + | They upload just a patch. It's a file containing only the modifications, and nothing else. When applied to the original Japanese ROM, it produces the English-translated ROM the hacker has in their computer. Only a few megabytes generally, so very practical for sharing. This patch on its own is legal, it's meaningless without a copy of the ROM/ISO and hence harmless on its own. |
To apply a patch you'll need to do the following steps: | To apply a patch you'll need to do the following steps: | ||
− | =Get the ROM / ISO= | + | ==Get the ROM / ISO== |
You need to read the readme included with the patch to know what ROM version you exactly need: | You need to read the readme included with the patch to know what ROM version you exactly need: | ||
− | * | + | * The game name |
− | * | + | * The region: Japanese, US, Europe... |
− | * | + | * The revision |
− | * | + | * The dump: [!] means good dump, but you can get a No-Intro dump for that. |
− | Either download it off a search engine or dump it yourself if you can. | + | Either download it off a search engine, or dump it yourself if you can. |
− | + | In the case of SNES games, the patch needs to be either on rom with a header or without a header. You can convert a given rom between both states with the tush utility. In case the readme doesn't tell which one you need to have, you can tell if the patch is applied and corrupts everything in-game. | |
− | |||
− | = | + | ==Apply the Patch== |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | =Apply the Patch= | ||
It depends on which format the patch is in. '''Make a backup copy of the original untouched ROM just in case!''' | It depends on which format the patch is in. '''Make a backup copy of the original untouched ROM just in case!''' | ||
− | Also if you're on Android, try [ | + | Also if you're on Android, try [http://www.romhacking.net/utilities/959/ this IPS/UPS/BPS/PPF patcher] with SNES header / MD checksum fixes! |
− | ==IPS and UPS== | + | ===IPS and UPS=== |
IPS is a very common patching format for third and fourth generation ROMs. It replaces bytes at specific addresses in the file with bytes from the translation, so it's not suited to cases where the translation swaps huge quantities of data around (xdelta would be better) because then it would just include the data as-is in the patch and you might then as well distribute the ROM. | IPS is a very common patching format for third and fourth generation ROMs. It replaces bytes at specific addresses in the file with bytes from the translation, so it's not suited to cases where the translation swaps huge quantities of data around (xdelta would be better) because then it would just include the data as-is in the patch and you might then as well distribute the ROM. | ||
Line 40: | Line 32: | ||
UPS works just like IPS, though it doesn't have the 16MB ROM size limitation. Not as nearly as common and supported though, aside from GBA projects. | UPS works just like IPS, though it doesn't have the 16MB ROM size limitation. Not as nearly as common and supported though, aside from GBA projects. | ||
− | Due to how UPS and IPS work, assuming many patches alter different things (as in, they don't conflict and modify the same areas in the ROM) and work on the same base rom, you can apply them in succession. For example, a patch changing only the character sprites, and another changing only the text, should be okay to apply in succession. It's a very bad idea to apply two | + | Due to how UPS and IPS work, assuming many patches alter different things (as in, they don't conflict and modify the same areas in the ROM) and work on the same base rom, you can apply them in succession. For example, a patch changing only the character sprites, and another changing only the text, should be okay to apply in succession. It's a very bad idea to apply two patchs altering the same thing unless you know it's a fix (like a change to an ugly font or a nasty bug). Just use common sense. |
− | ===Emulators Supporting IPS/UPS patching on the fly=== | + | ====Emulators Supporting IPS/UPS patching on the fly==== |
− | Some emulators are compatible with IPS patches. You just need to put the untranslated game ROM in the same folder as the IPS patch, with both of them sharing the same | + | Some emulators are compatible with IPS patches. You just need to put the untranslated game ROM in the same folder as the IPS patch, with both of them sharing the same file name sans file extension. When you play the game, the emulator applies the translation automatically during gameplay. Some of these emulators include: |
* '''NES:''' FCEUX | * '''NES:''' FCEUX | ||
− | * '''SNES:''' bsnes, | + | * '''SNES:''' bsnes, Snes9X, ZSNES |
* '''GB:''' VBA | * '''GB:''' VBA | ||
* '''GBA:''' VBA, VBA-M, mGBA | * '''GBA:''' VBA, VBA-M, mGBA | ||
Line 55: | Line 47: | ||
The ROM itself remains unaltered (untranslated, etc) during this process. | The ROM itself remains unaltered (untranslated, etc) during this process. | ||
− | ===Applying the Patch directly on the ROM=== | + | ====Applying the Patch directly on the ROM==== |
Not all emulators support patching ROMs on the fly with IPS/UPS patches. Also, you might prefer a single ROM file with the translation. So you can do it the proper way and generate the English-translated ROM! | Not all emulators support patching ROMs on the fly with IPS/UPS patches. Also, you might prefer a single ROM file with the translation. So you can do it the proper way and generate the English-translated ROM! | ||
− | '''IPS - Tool Used:''' | + | '''IPS - Tool Used:''' LunarIPS |
− | * Open IPS file. Select "Apply Patch". (You can create IPS patches too.) | + | * Open IPS file. Select "Apply IPS Patch". (You can create IPS patches too using LunarIPS.) |
* Choose IPS file. | * Choose IPS file. | ||
− | * Choose original | + | * Choose original untranslated ROM file. |
− | * | + | '''* LunarIPS overwrites the original ROM with the translated ROM.''' |
'''UPS - Tool Used:''' [http://www.romhacking.net/utilities/519/ Tsukuyomi UPS] | '''UPS - Tool Used:''' [http://www.romhacking.net/utilities/519/ Tsukuyomi UPS] | ||
Line 69: | Line 61: | ||
There are three fields to fill. The first is for the UPS patch file. The second is for the unmodified ROM. The third is for where you want to save '''a copy''' of the ROM with the translation applied. Once you fill them all, click "Apply Patch". | There are three fields to fill. The first is for the UPS patch file. The second is for the unmodified ROM. The third is for where you want to save '''a copy''' of the ROM with the translation applied. Once you fill them all, click "Apply Patch". | ||
− | ==xdelta== | + | ===xdelta=== |
− | One of the main IPS/UPS format | + | One of the main IPS/UPS format shotcomings is how they couldn't handle unchanged data moving around, and would just treat the whole data as "changes" and include all of it in the patch. xdelta solves this issue, bringing the size of the patch down considerably. Thus, it's very popular for recent translations on the PSP and DS. |
Almost no emulators support xdelta patching on the fly. | Almost no emulators support xdelta patching on the fly. | ||
− | ===Applying the Patch directly on the ROM=== | + | ====Applying the Patch directly on the ROM==== |
'''xdelta - Tool Used:''' [http://www.romhacking.net/utilities/704/ Delta Patcher] (Lite version) | '''xdelta - Tool Used:''' [http://www.romhacking.net/utilities/704/ Delta Patcher] (Lite version) | ||
− | Note the program will throw an error when the unmodified ROM isn't exactly what it expects it to be so that you know that | + | Note the program will throw an error when the unmodified ROM isn't exactly what it expects it to be, so that you know that your got the wrong ROM for patching. |
− | ==PPF (PlayStation Patch Format)== | + | ===PPF (PlayStation Patch Format)=== |
Old format for patching game ISOs on disc-based systems, originally conceived for PS1 patches but also expanded for other systems. | Old format for patching game ISOs on disc-based systems, originally conceived for PS1 patches but also expanded for other systems. | ||
'''PPF - Tool Used:''' [http://www.romhacking.net/utilities/354/ PPF-O-Matic] | '''PPF - Tool Used:''' [http://www.romhacking.net/utilities/354/ PPF-O-Matic] | ||
− | ==BPS (Beat Patching Format)== | + | ===BPS (Beat Patching Format)=== |
− | The newest patching format in the scene. It aims to fix | + | The newest patching format in the scene. It aims to fix shortcomings of both xdelta and IPS/UPS patches. |
In addition to modifications, beat patches can detect data insertions and deletions. Patch formats that can only detect modifications will fail completely, producing file sizes equal or larger to the original file sizes in these cases. This allows for substantially smaller patches on non-ROM based systems and certain ROM types (eg Mystic Ark is half the size this way.) beat patches can be used to patch either a single file or an entire directory full of files and subfolders, thus allowing the format to handle ROMs, CDs, PC games, etc.. | In addition to modifications, beat patches can detect data insertions and deletions. Patch formats that can only detect modifications will fail completely, producing file sizes equal or larger to the original file sizes in these cases. This allows for substantially smaller patches on non-ROM based systems and certain ROM types (eg Mystic Ark is half the size this way.) beat patches can be used to patch either a single file or an entire directory full of files and subfolders, thus allowing the format to handle ROMs, CDs, PC games, etc.. | ||
− | ===Emulators Supporting BPS patching on the fly=== | + | ====Emulators Supporting BPS patching on the fly==== |
* '''SNES:''' bsnes | * '''SNES:''' bsnes | ||
* mednafen | * mednafen | ||
− | ===Applying the Patch directly on the ROM=== | + | ====Applying the Patch directly on the ROM==== |
'''BPS - Tool Used:''' [http://www.romhacking.net/utilities/893/ beat] | '''BPS - Tool Used:''' [http://www.romhacking.net/utilities/893/ beat] | ||
− | =After Applying the Patch= | + | ===After Applying the Patch=== |
− | ==Checksums== | + | ====Checksums==== |
Applying the patches sometimes result, if the patch author isn't careful enough (which is often the case) in the checksum being wrong. While in the case of SNES games this isn't really a problem with emulators, MD/GEN games will crash to a red screen. | Applying the patches sometimes result, if the patch author isn't careful enough (which is often the case) in the checksum being wrong. While in the case of SNES games this isn't really a problem with emulators, MD/GEN games will crash to a red screen. | ||
− | To fix the checksum of MD/GEN ROMS, use [http://www.romhacking.net/utilities/342/ this tool]. | + | To fix the checksum of MD/GEN ROMS, use [http://www.romhacking.net/utilities/342/ this tool]. |
− | |||
− |