Hack the Pal Park Region-Lock in Pokemon HG/SS

Discussion in 'NDS - ROM Hacking and Translations' started by Poryhack, Nov 30, 2009.

Nov 30, 2009
  1. Poryhack
    OP

    Member Poryhack GBAtemp Fan

    Joined:
    Oct 18, 2009
    Messages:
    330
    Country:
    United States
    For the record this is just as doable if you want to migrate from a Spanish/German/French/Italian gen 3 game, but there's only so much space in a title and this is an English board. I've only included patches for English but I'm including details on how to do it, and if people want to make some for other languages I will gladly add it to this first post.

    Download the patch: HeartGold - SoulSilver
    For those of you who just want to use this and don't give a crap about how it works, follow these simple steps:[*]If you don't have them already, you'll need CrystalTile2 and Tsukuyomi UPS (or any UPS patching tool). I've tailored this guide/patch to work with any HG/SS ROM, no matter how much anti-anti-piracy, translation, etc. crap you've applied.[*]Open your HG/SS ROM with CrystalTile2 (you can ignore the small window that pops up when you first open the program) and go to Tools>NDS File System.[*]A new window will pop up with a long list of files. Scroll down until you see the one labeled "overlay9_0074", right click it, and select export. Save the file anywhere you like.[*]Open Tsukuyomi UPS and select "apply patch to an existing file". Use the file you exported as the target file and apply the patch that corresponds to your game.[*]Switch back to CrystalTile and right click the same file as last time, then select import and browse to your patched "overlay9_0074.bin". You're done! Save the ROM and you're ready to start migrating from your English GBA games. [​IMG](UPDATE) Or better yet, watch them:

    Now for details. I'd done this before on D/P/Pt but HG/SS's overlay files are compressed, so it wasn't as simple as the find and replace it had been in D/P/Pt. Initially this had me stumped because although I knew the files were compressed (and there's documentation around on how they're compressed), I am not much of a programmer and didn't have any tool to help me decompress the files. Yesterday though I realized that the function was included in CrystalTile2, a program that has been sitting on my desktop for some months but never got fully explored. Fail.

    Anyway, just right click a compressed overlay in CrystalTile's NDS filesystem explorer and you'll have the option of decompressing and saving it or opening a decompressed file and compressing it to that location. The process once you've got the decompressed overlay (#74) is easy enough; do a text search in a hex editor for AXVJ. It'll find a small list of game IDs for the 3rd gen pokemon games in which you can replace all J's with the letter corresponding to your language and vice versa. Save and compress/insert the edited overlay and you're good to go. Any 4th gen game can be hacked to accept any third gen game in a similar manner.

    Hope this is useful to someone! [​IMG] A big thanks to Mewtwo2000 who originally showed me how to do this for D/P.
     


  2. Hatsu

    Banned Hatsu Someone's been killing, eh?

    Joined:
    Oct 19, 2009
    Messages:
    2,143
    Location:
    __________________ Warn: 50%
    Country:
    Australia
    Good guide! Will try!
     
  3. YayMii

    Member YayMii hi

    Joined:
    Jun 24, 2009
    Messages:
    4,881
    Location:
    that place
    Country:
    Canada
    Nice! 3 things:
    1. Welcome to GBAtemp! Enjoy your stay!
    2. You're the best!
    3. Can I use and release this with my translation, just like your logos?
     
  4. Shabang21

    Member Shabang21 GBAtemp Regular

    Joined:
    Jun 5, 2008
    Messages:
    235
    Location:
    United Kingdom
    Country:
    United Kingdom
    I also wanted to ask if I could use it as well, in the future.
    You will receive full crediting of course. [​IMG]
     
  5. Poryhack
    OP

    Member Poryhack GBAtemp Fan

    Joined:
    Oct 18, 2009
    Messages:
    330
    Country:
    United States
    Thanks, I've been around for a while but mostly just to ask questions. Figured I'd bring this to a bigger audience than PP.

    You or anyone else can feel free to use this in a translation project. =)
     
  6. YayMii

    Member YayMii hi

    Joined:
    Jun 24, 2009
    Messages:
    4,881
    Location:
    that place
    Country:
    Canada
    [​IMG] Awesomeness, thanks!
     
  7. YayMii

    Member YayMii hi

    Joined:
    Jun 24, 2009
    Messages:
    4,881
    Location:
    that place
    Country:
    Canada
    Oh crap, it's not working.

    EDIT: Nevermind, it seems that it only works with SoulSilver.
    EDIT2: Are the SS and HG files supposed to be identical?
     
  8. Normmatt

    Member Normmatt Former AKAIO Programmer

    Joined:
    Dec 14, 2004
    Messages:
    2,135
    Country:
    New Zealand
    This does nothing, the game code iterates through the entire list until a match is found or the end of the list is reached.
     
  9. YayMii

    Member YayMii hi

    Joined:
    Jun 24, 2009
    Messages:
    4,881
    Location:
    that place
    Country:
    Canada
    But the list didn't include US games. So adding US games to the list would make them work?

    (because that's what this patch is supposed to do)

    Also, is the 0074 overlay the same for both games?
     
  10. Shabang21

    Member Shabang21 GBAtemp Regular

    Joined:
    Jun 5, 2008
    Messages:
    235
    Location:
    United Kingdom
    Country:
    United Kingdom
    Thank you for your permission. I'll be incorporating it, and crediting you.
     
  11. Normmatt

    Member Normmatt Former AKAIO Programmer

    Joined:
    Dec 14, 2004
    Messages:
    2,135
    Country:
    New Zealand
    The list does so:

    AXVJ - Pokemon - Ruby Version (j)
    AXVE - Pokemon - Ruby Version (u)
    AXVF
    AXVD
    AXVS
    AXVI
    AXPJ - Pokemon - Sapphire Version (j)
    AXPE - Pokemon - Sapphire Version (u)
    AXPF
    AXPD
    AXPS
    AXPI
    BPRJ - Pokemon - Fire Red Version (j)
    BPRE - Pokemon - Fire Red Version (u)
    BPRF
    BPRD
    BPRS
    BPRI
    BPGJ - Pokemon - Leaf Green Version (j)
    BPGE - Pokemon - Leaf Green Version (u)
    BPGF
    BPGD
    BPGS
    BPGI - Pokemon - Versione Verde Foglia (i)
    BPEJ - Pokemon - Emerald Version (j)
    BPEE - Pokemon - Emerald Version (u)
    BPEF
    BPED
    BPES
    BPEI

    anything ending in: I is Italian, E is USA, J is Japan, S is Spanish, D is German, F is French
     
  12. YayMii

    Member YayMii hi

    Joined:
    Jun 24, 2009
    Messages:
    4,881
    Location:
    that place
    Country:
    Canada
    Oh, after re-reading the OP, this is basically what it does:
    It swaps the positions of the US IDs with the JP IDs in the list so that HG/SS recognizes the US games as JP.
     
  13. Normmatt

    Member Normmatt Former AKAIO Programmer

    Joined:
    Dec 14, 2004
    Messages:
    2,135
    Country:
    New Zealand
    Which shouldn't change anything, The ID's are all scanned through anyway.
     
  14. YayMii

    Member YayMii hi

    Joined:
    Jun 24, 2009
    Messages:
    4,881
    Location:
    that place
    Country:
    Canada
    The game has a region lock. I have no idea what you're talking about.

    If all IDs are scanned through, then why does the game not allow US games in Pal Park? And why does this allow Pal Park to be US region??
     
  15. Poryhack
    OP

    Member Poryhack GBAtemp Fan

    Joined:
    Oct 18, 2009
    Messages:
    330
    Country:
    United States
    Knew I forgot something. I was going to mention this was only tested with SS; now that I know for sure it doesn't work with HG I'll make an HG patch and have them both edited into the first post asap.

    Normmatt, I don't claim to know much of anything about the actual code, but I do know that Pal Park is region-locked and that this is the only quick and easy way around it. You can try it yourself if you have a retail R/S/E/Fr/Lg. HG/SS (the Japanese ones obviously) will not recognize anything other than a Japanese (pokemon) game in the GBA slot without this patch.
     
  16. mtbelley

    Newcomer mtbelley Member

    Joined:
    Jul 11, 2009
    Messages:
    28
    Country:
    Canada
    Poryhack awesome I have been waiting for this. WOOT!!!! THANK YOU!!
     
  17. Normmatt

    Member Normmatt Former AKAIO Programmer

    Joined:
    Dec 14, 2004
    Messages:
    2,135
    Country:
    New Zealand
    I do see some sort of address checking code which could very well be region checks, which is strange. why region lock stuff [​IMG]
     
  18. Poryhack
    OP

    Member Poryhack GBAtemp Fan

    Joined:
    Oct 18, 2009
    Messages:
    330
    Country:
    United States
    Hey I agree, it's dumb; hence this hack.

    OBTW you guys, I added separate patches for HG/SS, make sure you grab the right one for your game. The old one was SS-only.
     
  19. mtbelley

    Newcomer mtbelley Member

    Joined:
    Jul 11, 2009
    Messages:
    28
    Country:
    Canada
    Hey anyone else have a problem with HG, I get the logo screen but then it freezes before the blue screen.
     
  20. Poryhack
    OP

    Member Poryhack GBAtemp Fan

    Joined:
    Oct 18, 2009
    Messages:
    330
    Country:
    United States
    You're using the new patch made for HG? (File name: Pal Park Region-Lock Hack - HeartGold.ups)
     

Share This Page