Is there a way to make those 2 Pokemon patches compatible with each other

Started by the_importer, December 21, 2021, 04:24:43 PM

Previous topic - Next topic

the_importer

Pokemon Red Full Color Hack (Gen II GFX in Gen I)
http://www.romhacking.net/hacks/1385/

Pokémon Red/Blue Gender Selection (play as Red or Leaf/Green)
http://www.romhacking.net/hacks/4205/

Applying Full Color Hack on a Gender Selection patch gives me a checksum error on an emulator and nothing loads on my FGPA.

Doing to reverse simply won't patch it, telling me that this patch was not made for this ROM.

Anyone has a way for someone with 0 programming skills to make this work?

Thank you


the_importer

Quote from: Cyneprepou4uk on December 21, 2021, 04:56:33 PM
Try a different emulator.

As stated, I tried patching in both orders and I've also tried it on an FPGA (AKA pretty much like real hardware).

Cyneprepou4uk

If patches are not compatible, there's nothing you can do with no skills.

December 21, 2021, 05:22:29 PM - (Auto Merged - Double Posts are not allowed before 7 days.)

You can apply xdelta patch after ips, if you create an ips patch from xdelta yourself. But I doubt that it will work out for you at the end.

KingMike

Are you playing with the boot ROM active?

The boot ROM will require the header checksum to be correct. Though it doesn't care if the full game checksum is correct.
Apparently your emulator does. (and a FPGA is still an emulator as far as I'm concerned, technical hair splits aside)

Well, the header checksum is easy enough to fix anyways with a calculator (Windows Calculator can do that, just choose Programmer mode) and hex editor.
Off hand, I think the header starts at ROM $134 and the header compliment is at $14C.
That header compliment is what needs to be fixed, and to calculate, you need to add all the bytes before it in the header. You can add them up in a calculator, and then you need to only worry about the last byte (the two lowest digits). If those last digits aren't 00, then you need to do (hexadecimal) 100 minus that result to get the correct compliment value.

As the last poster said, you can make an IPS of the XDelta patch yourself. If you apply the xdelta patch to the correct ROM, and then use an IPS patch maker to create a patch yourself between the result and original ROMs.
But don't always expect that any two patches are necessarily going to work together. My advice is only how to get the two patches applied to the same ROM. No guarantee the result will be a properly functioning game.
"My watch says 30 chickens" Google, 2018

the_importer

Quote from: Cyneprepou4uk on December 21, 2021, 04:59:20 PM
You can apply xdelta patch after ips, if you create an ips patch from xdelta yourself. But I doubt that it will work out for you at the end.

I already tried this using Flips, but the results were the same.

Quote from: KingMike on December 21, 2021, 10:08:05 PM
Well, the header checksum is easy enough to fix anyways with a calculator (Windows Calculator can do that, just choose Programmer mode) and hex editor.
Off hand, I think the header starts at ROM $134 and the header compliment is at $14C.
That header compliment is what needs to be fixed, and to calculate, you need to add all the bytes before it in the header. You can add them up in a calculator, and then you need to only worry about the last byte (the two lowest digits). If those last digits aren't 00, then you need to do (hexadecimal) 100 minus that result to get the correct compliment value.

That sort of thing is beyond my knowledge. I did try a GB ROM header fixing program, but didn't change anything.

phonymike

I was able to find that the two patches modify the same locations (a lot). So for the two to work together, you have to resolve these conflicts. Some of these conflicts could be simply graphics or palettes, but some could be program code.

These are PC file locations (using a hex editor), not memory addresses:
https://files.catbox.moe/81mu60.txt

You need to go through all of these locations (with a hex editor, graphics viewer, or debugger) and pick which changes you want in the final ROM, because both patches want different things.


the_importer

Quote from: phonymike on December 25, 2021, 12:15:22 PM
I was able to find that the two patches modify the same locations (a lot). So for the two to work together, you have to resolve these conflicts. Some of these conflicts could be simply graphics or palettes, but some could be program code.

These are PC file locations (using a hex editor), not memory addresses:
https://files.catbox.moe/81mu60.txt

You need to go through all of these locations (with a hex editor, graphics viewer, or debugger) and pick which changes you want in the final ROM, because both patches want different things.

Well that explains, thanks for taking the time to look at this, guess I'll need to make my choice.