11 March 2016 - Forum Rules

Main Menu

Problem With Super Mario World IPS Patching

Started by JadePharaoh, February 17, 2014, 05:28:58 AM

Previous topic - Next topic


Hi everyone. I've had a recent problem with Super Mario World hacks. I'll patch any IPS file to a clean SMW rom, and it doesn't seem to work. I'm using Lunar IPS, and it tells me the file was patched successfully, but the rom won't play; I just get a blank black screen and nothing else. And I only have this issue with Super Mario World. IPS hacks of all other games seem to work just fine. I hope someone here knows a fix.


You need to verify the CRC id of your original rom. All original roms will Not work.

Get this program, called HxD Hex editor

Install it and open your SMW Original rom in this program (just drag and drop it into the window of the program).

Go to Analysis and Checksums. Choose CRC-32 and then compare it to the ROM/ISO information of the hack.

Let's say you want to play Return to Dinosaur Land (known hack)

Under the name it says: SMW U !
thus you need the original US rom.

Under ROM/ISO information it says:
CRC32= B19ED489

On the very left side (under Patching Information) it says Header (SNES)

So now you know that you need the US rom with the Header.

Once you Google that and get it, and open the Rom in the hex editor, you will see that it has/or hasn't the header (200 hex bytes of zeros at the beginning).

The CRC-32 of headered rom is A31BEAD4, but this is not wrong. Make a copy of the rom, and remove the header (erase the zero bytes at the beginning). And you will see that the CRC is B19ED489 (for non headered rom).

Patch the headered rom (with the global CRC A31BEAD4) with provided IPS and the modified rom will work.

If your patched rom doesn't work, it is probably missing the header (in this case the original rom will start with 78 9C bytes).

In this case go to the beginning of the file in hex (place yourself before the 78 byte) and click Edit, Insert bytes, under byte count type 200, while having the HEX checked. Under hex values, type 00. This will add 200 bytes in hex (=512 bytes in dec) with the value 00. Changer the very first byte to 40, since not all of them are 00.

Now calculate the CRC-32. It must be A31BEAD4, which is header + core (B19ED489).

Patch this rom (with the global CRC A31BEAD4) with provided IPS and the modified rom will work.

Once patched, Return to Dinosaur Land will have 2MB, with the CRC 2F997B6E.

Note: most SMW hacks use this original rom, with the CRC-32 A31BEAD4,

which is header + core (B19ED489). Thus they will state that the CRC is B19ED489 and under Patching info: header (meaning: put the header in front of the core), which results in A31BEAD4.

Special note: Super Demo World by Fusoya is an exception. Here your base is still A31BEAD4. But then you need to open it in Lunar Expand and choose 48 Mbit ExHiROM (it's the top right option in the program). The new CRC of the expanded rom is 69B7BF0D. Once patched the CRC must be 14637D83.


Quote from: JadePharaoh on February 17, 2014, 05:28:58 AMI'm using Lunar IPS, and it tells me the file was patched successfully
It will always tell you it patched successfully unless it cannot open the rom. IPS has no standard to check against, so there will never be a "failure" in that regards. Pretty much every SMW rom needs a header present for a patch to be successful, because Lunar Magic requires one to be present for hacking to work. - Randomize your FF6 experience!


99% of SMW hacks are probably going to require a US ROM with header because that's what Lunar Magic requires.
(well, it does support the Japanese ROM but I hear even the Japanese usually don't use it)
"My watch says 30 chickens" Google, 2018