Jump to content


  • Posts

  • Joined

  • Last visited

Posts posted by M@T

  1. They can even be close and still not work. What you're dealing with here is ROM code. There can be two different functions within a few tens of bytes of each other. There's no guarantee that these are the same functions between two different languages of the game (or that the code within the two functions hasn't been changed), but I'd have to agree that having them closer would seem more likely to increase the chance of a conversion working.

    That's exactly what I meant, thanks for making it clearer.

    It's been doing this for a while now, at least for me. It's pretty annoying.

    Sure, but today it seemed even more buggy.

    I think the forum was underoing maintenance, cuz the design looks weird now...


    Plus, everything is aligned on the left of the page.

  2. You make something easy look rather difficult...

    In your example, you could say "add 0x5C0 to the JPN code's memory address".

    And what if the JPN code looks like 1202FD58 000020FE ?

    The US code would be 12030318 000020FE, and your table doesn't work anymore...

    Anyway, working with offsets in Pokémon games works only when the memory addresses are in the same region of the RAM (i.e. you have one code in JPN and it's US translation, and you want to convert another JPN code of which address is close to the previous one).

    If the memory addresses are too far from each other, it is unlikely to work.

    Let's take some examples :

    ::Fast Egg Hatching


    12028D58 000020FE


    12029318 000020FE

    Difference between US and JPN: 0x02029318 - 0x02028D58 = 0x5C0

    ::Remove Cut Scene for TMs


    12043420 0000E00B


    12043768 0000E00B

    Difference between US and JPN: 0x02043768 - 0x02043420 = 0x348

    ::Move Anywhere Code


    94000130 FCFD0200

    1205D506 00000200

    D2000000 00000000

    94000130 FCFD0100

    1205D506 00001C20

    D2000000 00000000


    94000130 FCFD0200

    1205DAA2 00000200

    D2000000 00000000

    94000130 FCFD0100

    1205DAA2 00001C20

    D2000000 00000000

    Difference between US and JPN: 0x0205DAA2 - 0x0205D506 = 0x59C

    As you can see, in every example, you add a different value to the JPN code to convert it in US.

    Personally, to convert codes, I use EmuCheat, of which RAM viewer and searcher are really useful.

    EDIT: Does someone know why is the forum so slow and laggy today ?

    I keep getting 500 Internal Server Error and The article you have requested does not exist, I must reload the page a couple of times before it works... :\

  3. Set NDS save type to 'Flash 512k' (or 'Auto' if available) in settings, save settings and exit, then edit NO$GBA.INI and replace line 46 with SAV/SNA File Format == Raw.

    The Pokémon saves should be compatible with Pokesav, no need to convert it anymore.

  4. 12749974755775cool_man.jpg

    I didn't mean to offend you, excuse me if I did.

    What others comprise this group of "many"? I don't know of enough to consider it "many".

    Okay, let's call it "several" if you prefer, then.

    I don't think you have the information necessary to make the claim that he did it on his own. It's obviously possible, but I'd be surprised.

    From what I read, he did do it on his own.

    Maybe this is wrong, maybe not, I didn't ask him.

    Regardless, someone knowing more than you about the methods involved in extracting such information doesn't make them a genius.

    Please don't take this as me trying to "bash" you or whatever, I just don't like people practically worshiping anyone.

    Don't get me wrong, I don't "worship" anyone.

    But I think that without COM's work, Pokémon structure research wouldn't be as advanced as it is now.

    Your program is definetly great, but you must keep in mind that it is not the first nor the only Pokémon editor.

    And please, don't feel offended everytime someone mentions Pokesav without saying that PokeGen is better for Pokémon editing, especially since this thread was about player renaming, not Pokémon editing.

    No hard feelings ? :)

  5. Let's say it was the first save (including Pokémon) editor then. :)

    Until recently (at least 2008), it was the best save editor, but now that Pokémon structure and algorithms are almost completely reverse-engineered and publicly available, many Pokémon editors are appearing on the Internet, just like your PokeGen.

    COM made a really great job with Pokesav, he figured out save and Pokémon structures, algorithms and such on his own and before everyone else.

    He's a kind of genius. :D

  6. The codes work, but you actually made mistakes.

    Consider that code for example :

    94000130 FFFB0000

    62111880 00000000

    B2111880 00000000

    D4000000 00000000

    C0000000 000000A1

    D6000000 00000656

    D2000000 00000000

    At the beginning, the value of the register is null.

    Then, the line in red tells the AR to add 0x00000000 to the register, which was null already, so it's value is still 0.

    I don't see the point of adding 0 to a null value, that's why I think you wanted to use the "Set register value to 0" instruction instead, which is [D5000000 00000000].

    The result may seem identical with a single code, but with a more complicated one, that is completely different.

  7. Remove All Items in your Item Bag [Press Select]

    94000130 FFFB0000

    62111880 00000000

    B2111880 00000000

    D4000000 00000000

    C0000000 000000A1

    D6000000 00000656

    D2000000 00000000

    This code will remove every single Item in your Item Bag.

    Remove All Key Items in your Key Item Bag [Press Select]

    94000130 FFFB0000

    62111880 00000000

    B2111880 00000000

    D4000000 00000000

    C0000000 000000C8

    D6000000 000008E8

    D2000000 00000000

    This code will remove every single Key Item in your Key Item Bag.

    I think you did a mistake: you used code-type 0xD4 (ADD to data register) instead of 0xD5 (Set data register). The codes should work though, because the data register's value is 0 at the beginning of the code.

    Moreover, in the 1st code, you write 4-byte data to unaligned addresses, this is not the cleanest way to do it. :redface:

    You should replace [D4000000 00000000] with [D5000000 00000000] in both codes

    and [D6000000 00000656] with [D6000000 00000654] in the 1st one.

  8. Yeah, I think it would be possible, but I'm not good enough with all this ASM stuff.

    The server can reject the Pokémon by responding 0x000C to post.asp and exchange.asp requests, but I don't know what it rejects actually.

    Maybe Pokémon that are obviously hacked, and maybe some events too.

  9. Does anyone know if there's a rebattle code for the Enigma Stone Lati@s? It looks like there's one for every other legend in HGSS, but I can't find an enigma stone one anywhere. If anyone could direct me to one, or something, that'd be great.

    Rebattle Enigma Stone Lati@s (Start+Select) :

    94000130 FFF30000

    B2111880 00000000

    20000EFA 00000004

    D2000000 00000000

    Press Start+Select, then go near the Pewter Museum.

    Latios/Latias should be back.

    You must have activated the Enigma Stone event once for this code to work.

  • Create New...