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

Author Topic: Version odities with Pokemon Fire Red  (Read 2617 times)

Yoshiatom

  • Jr. Member
  • **
  • Posts: 7
    • View Profile
Version odities with Pokemon Fire Red
« on: December 29, 2013, 11:24:18 am »
As you may know, there are 2 versions of Pokemon fire red, with V.1.1 having some bugfixes. (See here)
I've wanted to use version 1.1 in a hack, but advance text, Overworld editor RE and PET won't work correctly with version 1.1.
How can I get around this? Is there, say, a patch that adds the bug fixes off 1.1 into 1.0 or something like that?

December 31, 2013, 07:29:24 am - (Auto Merged - Double Posts are not allowed before 7 days.)
I don't mean to be rude but it's been a couple of days and no-one has replied. All I'm asking for is some help...
« Last Edit: December 31, 2013, 07:29:24 am by Yoshiatom »

Zoinkity

  • Hero Member
  • *****
  • Posts: 562
    • View Profile
Re: Version odities with Pokemon Fire Red
« Reply #1 on: December 31, 2013, 08:00:40 pm »
You haven't gotten a response mostly because it isn't an easy problem to explain.  It would take somebody familiar with internal code changes and what structures are being accessed by the programs to determine how you'd go about tinkering with things.  I would think altering resources only would be relatively safe, but it's hardly a guarantee.

There's no guarantee registers and address space didn't wildly change between revisions.  That, sadly, is a game-by-game, revision-by-revision subject.  It's like walking into a minefield answering a question like that without a lot of reference.

In order to test things you can make a differential patch using 1.1 and 1.0 ROMs.  Use a delta patcher such as xdelta.  This type of patch accounts for moved data, so only code that changed or was amended/deleted should be affected.  These are compressed by default, but the size of the patch relative to your ROM size should give you a good idea of how updatable the code base is.  You can also do some test edits in the program and apply the patch to the output ROM to test if this route will work at all.

Personally though, I'd say collecting data offsets and the pointers they'd need to support the other version and handing them off to the programs' creators would be the best way to avoid terrifying headaches.