Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
hacking_faq [2018/03/21 11:03] madsiur [FAQ] |
hacking_faq [2018/03/21 11:23] madsiur [FAQ] |
||
---|---|---|---|
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, a 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: | + | 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: |
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 | + | === What is an offset, ROM 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: | + | 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: |
---- | ---- |