- Changing values in memory (creating cheats or patches)
- Replacing one set of data with another (fileswaps)
- Replacing data with new data
- Adding or changing functionality (executable hacking)
Techniques[edit | edit source]
Different situations call for different strategies. Different platforms, architectures and media types require different approaches.
ROM Hacking[edit | edit source]
ROM Hacking is a form of modding that involves changing sets of data within a Read-Only Memory (ROM) file, usually dumped from a cartridge. ROMs typically do not contain a filesystem, as the entire game is essentially contained in a single archive. As a result, explicit pointers to data in the ROM are included in the executable, making it difficult to replace or add data compared to ISO Editing.
ISO Editing[edit | edit source]
ISO Editing refers to the creation of a new ISO image (optical disc media). ISOs are essentially what gets burned to a CD, DVD or Blu-Ray which is then read by the console. Since the filesystem keeps track of file offsets and sizes, it's easier to replace data regardless of size. However, games like Persona 3 and Persona 4 may still define offsets in the executable.
Archive Repacking[edit | edit source]
As most Atlus games (since Persona 3) use CRIWare to store most of their games' filesystems within CPK or CVM archives, modding boils down to repacking those archives with your modified data. This also applies to AFS, ACX and AWB (CRIWare audio containers) and PAC/BIN files (Atlus generic file containers) that might be found within those archives. Similar to ISO files, games that use these archives generally do not need the executable patched when larger data is replaced-- with the exception of Persona 3 and Persona 4.
You may still want to patch the executable to read data from additional archives, for example the mod.cpk in Persona 5. This simplifies the repacking process to include only custom or edited files, which take priority over the original when loaded at runtime.