hacking_faq

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
hacking_faq [2018/03/21 11:03]
madsiur [FAQ]
hacking_faq [2019/02/12 11:18] (current)
Line 17: Line 17:
 === How can I apply a patch ? === === How can I apply a patch ? ===
  
-To apply a patch, you need a patcher with the good format. There are many patch format but most commons one are IPS and XDelta. Most patches are IPS format but that does not mean it is the best format, only one that has been used for a long time. One good format is BPS, XDelta variant. It offer advantages over IPS and XDelta such as smaller patche size, checksum storing and infinitely sized files are among them. To create or apply a patch, you can use {{rh:util:patch:beat-v01.zip|beat}} (BPS), {{rh:util:patch:floating.zip|Floating IPS}} (BPS / IPS) or {{rh:util:patch:lunar_ips_1.02.zip|Lunar IPS}}. You can also use the online patcher hosted here at [[https://www.ff6hacking.com/patcher/|ff6hacking.com/patcher/]], courtesy of Marc Roblero. Finaly there are other patching utilities on this {{https://www.ff6hacking.com/wiki/doku.php?id=rh:utilities|wiki page}}.+To apply a patch, you need a patcher with the good format. There are many patch format but most commons one are IPS and XDelta. Most patches are IPS format but that does not mean it is the best format, only one that has been used for a long time. One good format is BPS, an XDelta variant. It offer advantages over IPS and XDelta such as smaller patche size, checksum storing and infinitely sized files. To create or apply a patch, you can use {{rh:util:patch:beat-v01.zip|beat}} (BPS), {{rh:util:patch:floating.zip|Floating IPS}} (BPS / IPS) or {{rh:util:patch:lunar_ips_1.02.zip|Lunar IPS}}. You can also use the online patcher hosted here at [[https://www.ff6hacking.com/patcher/|ff6hacking.com/patcher/]], courtesy of Marc Roblero. Finaly there are other patching utilities on this [[rh:utilities|wiki page]].
  
 Another thing to know about patches is that in the SNES ROM hacking world, there are patches for ROMs with a header and patches for ROMs with no header, see below questions. Another thing to know about patches is that in the SNES ROM hacking world, there are patches for ROMs with a header and patches for ROMs with no header, see below questions.
Line 34: Line 34:
 ---- ----
  
-=== What is an offset and a ROM address ? ===+=== What is an offsetROM address and SNES address ? ===
  
 Both terms are equivalent. One can refer to a ROM address by the term offset, it is the address you see in the hex editor. However a SNES address is different. The two more common ways the ROM cartridge are mapped to memory are called LoROM and HiROM. In the case of a FF6 cartridge we have a **HiROM + FastROM** ROM type. In a HiROM mapping occupies banks $40-$7D and $C0-$FF and HiROM games commonly access the ROM at banks $C0-$FF exclusively. In the case of FF6, since the ROM size is 24Mbit, the possible addresses are in the range of  $C00000-$EFFFFF. This mean address or offset $000000 in a hex editor is SNES address $C00000, $100000 is $D00000, etc. If you expand the ROM too 32Mbit, you add addresses $F00000-$FFFFFF. It is possible to expand beyond this point but then the address following $FFFFFF will be $400000, matching what is in the hex editor (see below question). If you want to know more details about SNES memory mapping, there are documents available on this [[ff3:ff3us:doc:snes|wiki page]] Both terms are equivalent. One can refer to a ROM address by the term offset, it is the address you see in the hex editor. However a SNES address is different. The two more common ways the ROM cartridge are mapped to memory are called LoROM and HiROM. In the case of a FF6 cartridge we have a **HiROM + FastROM** ROM type. In a HiROM mapping occupies banks $40-$7D and $C0-$FF and HiROM games commonly access the ROM at banks $C0-$FF exclusively. In the case of FF6, since the ROM size is 24Mbit, the possible addresses are in the range of  $C00000-$EFFFFF. This mean address or offset $000000 in a hex editor is SNES address $C00000, $100000 is $D00000, etc. If you expand the ROM too 32Mbit, you add addresses $F00000-$FFFFFF. It is possible to expand beyond this point but then the address following $FFFFFF will be $400000, matching what is in the hex editor (see below question). If you want to know more details about SNES memory mapping, there are documents available on this [[ff3:ff3us:doc:snes|wiki page]]
Line 66: Line 66:
 === Which utility can edit data X ? === === Which utility can edit data X ? ===
  
-A: Check out the [[ff3:ff3us:util:start|utility page]]. For general SNES graphics, [[rh:utilities:yychr|YY-CHR]] is a popular editor. For hex editing, {{rh:util:hex:hxd_1.7.7.0.zip|HxD}} is a good all purpose editor and {{rh:util:hex:windhex.zip|Windhex}} has table support (to edit text). As for recommended editor for a regular hack (with no data expansion), we recommend [[ff3:ff3us:util:ff3usme|FF3usME]] for any general data, character sprite, animation data menu backgrounds and BRR samples. [[ff3:ff3us:util:ff3se|FF3SE]] is good for portraits, monster sprites and esper sprites. +A: Check out the [[utility|utility page]]. For general SNES graphics, [[rh:utilities:yychr|YY-CHR]] is a popular editor. For hex editing, {{rh:util:hex:hxd_1.7.7.0.zip|HxD}} is a good all purpose editor and {{rh:util:hex:windhex.zip|Windhex}} has table support (to edit text). As for recommended editor for a regular hack (with no data expansion), we recommend [[ff3:ff3us:util:ff3usme|FF3usME]] for any general data, character sprite, animation data menu backgrounds and BRR samples. [[ff3:ff3us:util:ff3se|FF3SE]] is good for portraits, monster sprites and esper sprites. 
  
 Anything map related should be done with {{ff3:ff3us:util:maps:ff6le_rogue_2013-05-25.7z|FF6LE Rogue}} (which require an expanded ROM). Avoid Zone Doctor as it has higher chances of ROM corruption. For chests, {{ff3:ff3us:util:maps:ff6le_rogue_2013-05-25.7z|FF6LE Rogue}} or {{ff3:ff3us:util:data:ff6mde_1.72.zip|FF6MDE}} are good (which can also do animation data). For compressed graphics, {{ff3:ff3us:util:gfx:psv.7z|Peer Sprite Viewer}} in junction with [[rh:utilities:yychr|YY-CHR]] is the way to go (see compressed data list [[ff3:ff3us:doc:asm:other:compression|here]]). For music, there is a specific process that make things faster, refer to the music section down below. For specific palettes {{ff3:ff3us:util:gfx:snspal03.zip|SNESpal}} is a good tool.  Anything map related should be done with {{ff3:ff3us:util:maps:ff6le_rogue_2013-05-25.7z|FF6LE Rogue}} (which require an expanded ROM). Avoid Zone Doctor as it has higher chances of ROM corruption. For chests, {{ff3:ff3us:util:maps:ff6le_rogue_2013-05-25.7z|FF6LE Rogue}} or {{ff3:ff3us:util:data:ff6mde_1.72.zip|FF6MDE}} are good (which can also do animation data). For compressed graphics, {{ff3:ff3us:util:gfx:psv.7z|Peer Sprite Viewer}} in junction with [[rh:utilities:yychr|YY-CHR]] is the way to go (see compressed data list [[ff3:ff3us:doc:asm:other:compression|here]]). For music, there is a specific process that make things faster, refer to the music section down below. For specific palettes {{ff3:ff3us:util:gfx:snspal03.zip|SNESpal}} is a good tool. 
  • hacking_faq.1521630231.txt.gz
  • Last modified: 5 years ago
  • (external edit)