News: 11 March 2016 - Forum Rules
Current Moderators - DarkSol, KingMike, MathOnNapkins, Azkadellia, Danke

Author Topic: Linux: Patching Super Mario World  (Read 2452 times)

blett

  • Jr. Member
  • **
  • Posts: 5
    • View Profile
Linux: Patching Super Mario World
« on: July 31, 2015, 09:18:50 pm »
I'm on Linux, and I've used a variety of IPS tools: LazyIPS, JIPS, Floating IPS. They seem to work fine for most ROMs, but I always have trouble patching Super Mario World. When I try to open the patched ROM in my emulator (Mednafen), I just get a black screen. The patch I'm trying to use right now is Super Mario Bros. 3X. I know the hack works on Mednafen, because I have a patched ROM from an earlier version. I can't get the new version of the hack to work, though. I have verified that I'm using the correct ROM with an SHA-1 hash.

tvtoon

  • Sr. Member
  • ****
  • Posts: 371
    • View Profile
Re: Linux: Patching Super Mario World
« Reply #1 on: August 01, 2015, 05:29:45 pm »
Are you trying to use soft-patching (split IPS file and ROM) with mednafen?
It got troublesome issues regarding that, I don't know if they were fixed so far (0.9.36 or something). You better "hard-patch" the ROM, if you plan using it.

blett

  • Jr. Member
  • **
  • Posts: 5
    • View Profile
Re: Linux: Patching Super Mario World
« Reply #2 on: August 01, 2015, 06:18:13 pm »
I have the same problem hard-patching or soft-patching.

August 01, 2015, 07:51:05 pm - (Auto Merged - Double Posts are not allowed before 7 days.)
Okay,  I figured out what I was doing wrong. I needed a ROM with a header. That really threw me, though, because the checksums matched. I don't understand how that works...
« Last Edit: August 01, 2015, 07:51:06 pm by blett »

puzzledude

  • Sr. Member
  • ****
  • Posts: 308
    • View Profile
Re: Linux: Patching Super Mario World
« Reply #3 on: August 02, 2015, 02:17:02 pm »
Your problem was due to the fact that there are 2 possible checksums: the File CRC and the ROM CRC. And under ROM Iso information you never know which one it is. I always submit the File CRC here, but sometimes it is the ROM crc which is submitted (excluding header). So the Patch information: header or no header is vital.

It could help to know what the file crc of the original file is (if headered and unheadered). In your case, if you would know, that the file crc of the original rom without the header is B19ED489, it would be logical that the same crc can not be valid for the headered rom, so you now know that the "patching info: header" is "separate", so the Rom iso info is Not the file crc, but the rom crc (on which you also have to add the header for the patch to work, due to the patching info being: Header Snes).

Of course all problems would go away automatically if the (cursed) headers would be removed (from original and hacked roms); or if the default rom iso info would always be the file crc.

By the way 99% of the SMW hacks always use the header (original and hacked roms), this is because of the Fusoya's tools, which are all programed to work only with the header (which is odd), since file headers are redundant copier "leftovers" and usually ignored completely when the file is being executed. It seems that headers survived, because people who scaned the cart forgot to remove them.

PS
The actual (file crc) of the file to be patched is: A31BEAD4
And if excluding header: B19ED489.
Or (as it is presented on this site): header+B19ED489

And if you load the original rom in snarfblam's hasher:
http://www.romhacking.net/utilities/1002/

Code: [Select]
Platform           Super NES                               
ROM format         Super Magicom                           
External Header    Yes                                     
File Size          524800 (80200)                         
ROM Size           524288 (80000)                         
ROM CRC32          B19ED489                               
ROM SHA-1          6B47BB75D16514B6A476AA0C73A683A2A4C18765
No-Intro entry     Super Mario World (USA)                 
Checksum valid     Yes                                     

File MD5      DBE1F3C8F3A0B2DB52B7D59417891117       
File SHA-1    553CF42F35ACF63028A369608742BB5B913C103F
File CRC32    A31BEAD4                               
ROM MD5       CDD3C8C37322978CA8669B34BC89C804       
ROM SHA-1     6B47BB75D16514B6A476AA0C73A683A2A4C18765
ROM CRC32     B19ED489                               

Or in other words, this is the sandard original SMW rom.
« Last Edit: August 02, 2015, 02:36:04 pm by puzzledude »