Convert IPS patch for (J) release to (E) possible?

Are you new to 6502, NES, or even programming in general? Post any of your questions here. Remember - the only dumb question is the question that remains unasked.

Moderator: Moderators

User avatar
jpx72
Posts: 178
Joined: Tue Sep 28, 2010 3:27 am
Location: Slovakia
Contact:

Convert IPS patch for (J) release to (E) possible?

Post by jpx72 » Tue Dec 13, 2011 1:56 am

Hi!
Is there a possibility to somehow convert these Rockman (J) 1 and 2 patches :
http://www.romhacking.net/hacks/862/
http://www.romhacking.net/hacks/863/
to work with the European (PAL) versions of Megaman 1 and 2?
Thanks for the answer!

User avatar
Jeroen
Posts: 982
Joined: Tue Jul 03, 2007 1:49 pm

Post by Jeroen » Tue Dec 13, 2011 3:02 am

Iirc European megaman 1 and 2 were not pal optimized (aka identical to the american roms).
However if you want to do this badly what you need to do is find out what the ips patches change. Then find out where that lives in the European roms and change it there instead.

User avatar
jpx72
Posts: 178
Joined: Tue Sep 28, 2010 3:27 am
Location: Slovakia
Contact:

Post by jpx72 » Tue Dec 13, 2011 3:12 am

Yes I'm aware of the wrong optimisation in those games, but I am used to the speed from my childhood since I was born in Europe, so I like that.

To the other part of your answer - may I ask somebody for help with that? Finding the mechanics of those patches and translate them to European Roms?

User avatar
Bregalad
Posts: 7807
Joined: Fri Nov 12, 2004 2:49 pm
Location: Chexbres, VD, Switzerland

Post by Bregalad » Tue Dec 13, 2011 4:48 am

I think Mega Man 1 and 2 were among the first (E) games to have PAL fixed music - even if this glitched up their sound effects.
Life is complex: it has both real and imaginary components.

User avatar
jpx72
Posts: 178
Joined: Tue Sep 28, 2010 3:27 am
Location: Slovakia
Contact:

Post by jpx72 » Tue Dec 20, 2011 12:43 am

Bumping on this one again! :roll:

User avatar
Bregalad
Posts: 7807
Joined: Fri Nov 12, 2004 2:49 pm
Location: Chexbres, VD, Switzerland

Post by Bregalad » Tue Dec 20, 2011 2:10 am

I forgot to mention it wasn't possible to easily port a patch from one version of the ROM to another.
Because even if most of the data is the same in ROMs, it is located elsewhere (I haven't checked but it's very likely the case). So you'd have to realocate hundreds of pointers.
Not that this is not possible, but it's no trivial work.
Life is complex: it has both real and imaginary components.

User avatar
tokumaru
Posts: 11559
Joined: Sat Feb 12, 2005 9:43 pm
Location: Rio de Janeiro - Brazil

Post by tokumaru » Tue Dec 20, 2011 5:46 am

You'll probably have to compare the original ROM to the hacked MMC3 one to see what has changed. Hopefully not much (the patches are fairly small), just code related to bankswitching, mirroring and such. Then you'd look for the same code in the (E) ROM and hack it the same way.

User avatar
Kasumi
Posts: 1292
Joined: Wed Apr 02, 2008 2:09 pm

Post by Kasumi » Tue Dec 20, 2011 5:51 am

There's a really slick program called Beyond Compare that does a really excellent job of finding similarities and differences in files. I use it when I dabble in rom hacking.

You can check the original (J) rom to the PAL rom, to see how much you'll have to change in the patch. If the data that is to be patched is the same code but in a different place, beyond compare will find it. And then it is (possibly) easy. (But probably not)

I may try to do this after I get some sleep (like... right now). But if it looks like tons of work, you're on your own. You're on your own for testing either way.

User avatar
jpx72
Posts: 178
Joined: Tue Sep 28, 2010 3:27 am
Location: Slovakia
Contact:

Post by jpx72 » Tue Dec 20, 2011 5:59 am

Thanks guys for all your answers!
I knew that it won't be an easy task, and for somebody like me it's not even possible, I would need to learn at least something about programming. And I don't even know where to start. I read somewhere that a file can be "translated" to code and then edited, but that's all from me.... I can compare two files in hexeditor but I can only notice the differences, I can't do anything about them. I compared (J) and (E) roms but there seem to be so much differences....

User avatar
Kasumi
Posts: 1292
Joined: Wed Apr 02, 2008 2:09 pm

Post by Kasumi » Tue Dec 20, 2011 6:38 am

So... I didn't go to bed yet. :?

The number of changes between the (J) and (E) rom doesn't really matter as much as if the areas that the patch actually touches are changed.

I did a quick check on Rockman 2/Megaman 2.

And... it seems like all the parts of the rom the (J) patch touches are identical (even in the exact same place) in the (E) rom. Except for the changes near the very end of rom.

But... even assuming those were the same, that doesn't necessarily mean that the patch doesn't jmp to a location in the (J) rom that has moved in the (E) rom. At that point, I have to find where it wants to jmp, then search the byte string of where it wants to jmp in the (E) rom and update the address.

I'll see if I can get a little further, but I really am sleeping now.

TKO
Posts: 13
Joined: Fri Nov 12, 2010 1:41 am

Post by TKO » Tue Dec 20, 2011 11:09 pm

I want to know as well kinda want to play Roll-Chan.

User avatar
jpx72
Posts: 178
Joined: Tue Sep 28, 2010 3:27 am
Location: Slovakia
Contact:

Post by jpx72 » Wed Dec 21, 2011 10:42 pm

Kasumi wrote:I'll see if I can get a little further
Thank you, it would be really great if you can find yourself a bit time for that!

User avatar
Kasumi
Posts: 1292
Joined: Wed Apr 02, 2008 2:09 pm

Post by Kasumi » Thu Dec 22, 2011 2:33 am

Here's a Megaman 2 (E) MMC3 IPS patch: http://www.mediafire.com/?z1bm3esxc6eatfb

It's barely tested, and if you encounter any problems... tough luck. I wouldn't even begin to know how to fix them.

Just for the record, I was wrong. I wasn't looking very closely at Beyond Compare, so it turns out a lot of things were in VERY slightly different places. That didn't make it anymore difficult, though. Just saying in case anyone else wants to do the same thing for no reason. :lol: I wouldn't want my previous post to mislead them.

I will not be doing Megaman 1 anytime soon, if ever. This took a couple hours. It's fun for the challenge the first time, but doing the exact same thing again is just work. Especially since... the whole thing seems useless to me. They can already be played. Maybe when I learn more about bankswitching, I can do Megaman since I'll know what I'm looking at. I've never even worked with bankswitching in homebrew, let alone rom hacking. Since what was in the patch worked, I used it. But bankswitching might as well be magic to me.

I should have asked you before: What was the point of doing this? Planning an (E) multicart or something?

User avatar
jpx72
Posts: 178
Joined: Tue Sep 28, 2010 3:27 am
Location: Slovakia
Contact:

Post by jpx72 » Thu Dec 22, 2011 3:47 am

Thank you so much for all the work! I'm testing it now and it seems okay, but I want to test it more.
My primary goal is indeed planting Megaman 1 and 2 in the Rockman6-in-1 multicart (check this topic: http://nesdev.com/bbs/viewtopic.php?t=8426 ). I have succesfully exchanged Rockman 3,4,5 with Megaman (E) 3,4,5 and inserted the Megaman 6 (U) instead of Rockman 6 too (since there is no Megaman 6 for PAL). I changed the ROM header to PAL and now I'm missing only Megaman 1 and 2 (E) to have complete Megaman6in-1(E). Well now I'm missing only Megaman 1!!! Fantastic!
After hat I'm planning to create such a multicart, that is, when I succesfully find out the hardware part that is being examined in the topic I posted.

User avatar
tokumaru
Posts: 11559
Joined: Sat Feb 12, 2005 9:43 pm
Location: Rio de Janeiro - Brazil

Post by tokumaru » Thu Dec 22, 2011 5:49 am

Isn't Megaman 3 (E) the one with lots of bad screen splitting? Like, with parts that jump like crazy?

Post Reply