Jump to content

Table of Contents - Convert [JPN] HG/SS AR Codes into [USA] HG/SS AR Codes


Recommended Posts

Here is a Table of Content with an Example Code that I was able to find by myself on trying to Convert [JPN] HG/SS AR Codes into [uSA] HG/SS AR Codes.

• Added a More Complex Example Code

::Example Code (Fast Egg Hatching)

[JPN]

12028D58 000020FE

[uSA](Converted)

12029318 000020FE

::More Complex Example Code (All IV 31)

[JPN]

1206D412 000002D6

1206EB5E 000046C0

1206EB66 000046C0

1206EB6C 000046C0

1206EB7A 000046C0

1206EB80 000046C0

1206EB8E 000046C0

1206EB94 000046C0

1206EBA2 000046C0

1206EBA8 000046C0

1206EBB6 000046C0

1206EB5A 0000211F

1206EB70 0000201F

1206EB84 0000201F

1206EB98 0000201F

1206EBAC 0000201F

1206EBC0 0000201F

[uSA](Converted)

1206EE52 000002D6

1206F11E 000046C0

1206F126 000046C0

1206F12C 000046C0

1206F13A 000046C0

1206F140 000046C0

1206F14E 000046C0

1206F154 000046C0

1206F162 000046C0

1206F168 000046C0

1206F176 000046C0

1206F11A 0000211F

1206F130 0000201F

1206F144 0000201F

1206F158 0000201F

1206F16C 0000201F

1206F180 0000201F

[JPN/USA]

0/1

1/2

2/3

3/4

4/5

5/6

6/7

7/8

8/9

9/A

A/B

B/C

C/D

D/E

E/F

F/0

[JPN/USA]

B/1

C/2

D/3

E/4

F/5

0/6

1/7

2/8

3/9

4/A

5/B

6/C

7/D

8/E

9/F

A/0

[JPN/USA]

0/C

1/D

2/E

3/F

4/0

5/1

6/2

7/3

8/4

9/5

A/6

B/7

C/8

D/9

E/A

F/B

For the Number or Letter in Red, you Add 1 Number or Letter after it.

For the Number or Letter in Blue, you Subtract 10 Numbers or Letters before it.

For the Number or Letter in Purple, you Subtract 4 Numbers or Letters before it.

Edited by Riolu Aura Sphere Now
Link to comment
Share on other sites

The word is "subtract". Also, 0202XXXX is a ROM address. It's possible, though I wouldn't say likely, that a static conversion like this will always work. It's probably more often going to require disassembly comparison, which is way beyond what the majority of people on this forum are capable of.

Link to comment
Share on other sites

The word is "subtract". Also, 0202XXXX is a ROM address. It's possible, though I wouldn't say likely, that a static conversion like this will always work. It's probably more often going to require disassembly comparison, which is way beyond what the majority of people on this forum are capable of.

Yes true, but I didn't type it as 0202XXXX, I typed it as 1202XXXX. This is just something what I found by looking carefully at it and comparing the two. This will not always be in that exact order, but their will likely be where at least three numbers or letters where you might need to use my Table of Contents.

Link to comment
Share on other sites

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

[JPN]

12028D58 000020FE

[uSA]

12029318 000020FE

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

::Remove Cut Scene for TMs

[JPN]

12043420 0000E00B

[uS]

12043768 0000E00B

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

::Move Anywhere Code

[JPN]

94000130 FCFD0200

1205D506 00000200

D2000000 00000000

94000130 FCFD0100

1205D506 00001C20

D2000000 00000000

[uS]

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... :\

Edited by M@T
Link to comment
Share on other sites

Still basically follows my Table of Contents. I've Updated my post.

::Move Anywhere Code

[JPN]

94000130 FCFD0200

1205D506 00000200

D2000000 00000000

94000130 FCFD0100

1205D506 00001C20

D2000000 00000000

[uSA]

94000130 FCFD0200

1205DAA2 00000200

D2000000 00000000

94000130 FCFD0100

1205DAA2 00001C20

D2000000 00000000

Add 5

Add 10

Subtract 4

Edited by Riolu Aura Sphere Now
Link to comment
Share on other sites

Sorry about that, I was rushing. Also reguardless of the Walk Anywhere Code and Remove Cut TM Scene, they don't work at all. So inorder to test my Table of Contents, I will need a working one. I have tested my Table of Contents with mostly all my codes and they worked.

I don't know why, but I was getting the same results with my Internet. I think it has to do with the time of the day, since its 3:49 am where I live.

Edit: Alright then, I'm heading to bed now.

Link to comment
Share on other sites

I didn't type it as 0202XXXX, I typed it as 1202XXXX.

The only difference there is the fact that the first tells the Action Replay to write 4 bytes, whereas the second tells it to write 2. This has nothing to do with what I was talking about.

This will not always be in that exact order, but their will likely be where at least three numbers or letters where you might need to use my Table of Contents.

There's no reason at all to assume there's ever a correlation between two games of a different language like this. At best, you could offer your post as "if you want to try to convert a code, you can try this, but it's not necessarily going to work", rather than "this will work, here's how you do it".

Edit: After looking at your edit, it doesn't seem like you're presenting it as a definite way, but it still sort of seems like that.

Anyway, working with offsets in Pokémon games works only when the memory addresses are in the same region of the RAM

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.

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... :\

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

Link to comment
Share on other sites

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...

12753260544772New_design_forum.PNG

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

Link to comment
Share on other sites

I don't think there is a "Table of Contents" or something similar, there is not even a logic behind the offset variations.

This is due to the difference between the ROM programmation of each game, as Codr said.

A method that works almost 100% of the time is using a RAM editor/searcher.

Link to comment
Share on other sites

Actually their is a logic behind it. Every codes in every game has their own logic or method. A good example is Pokemon, with each Pokemon Game, they have an unique offset of codes, by comparing two different Pokemon Games such as Pokemon Soul Silver [JPN] and Pokemon Soul Silver [uSA]. You can determine what to convert and how to convert.

::Example

[JPN][sS]

02028D68

[uSA][sS]

02029328

The difference between 0x02028D68 and 0x02029328 is 0x1A4.

By knowing where to convert will become easier than how to convert. The easiest way to know where to convert is by comparing two different codes and see which Numbers or Letters are the same and which Numbers or Letters are not the same. Then once you figure out that, then it will become much more easier on how to convert.

Link to comment
Share on other sites

Just a comment, But the move anywhere code works if you change the activators and remove the mask.

For instance this what the code should be using those activators (This is the version i use and it works):

Move Anywhere R+A to Activate, L+A to Deactivate.

94000130 fefe0000
1205daa2 00000200
d2000000 00000000
94000130 fdfe0000
1205daa2 00001c20
d2000000 00000000

Link to comment
Share on other sites

  • 3 months later...
  • 4 years later...

Will some one be kind enough to rewrite the following codes to a 8x8 format?

AACF4,7C,0,0,50;9667C,7C,0,0,50;C62E8,7C,0,0,50;CFD74,7C,0,0,50;EB798,7C,0,0,50;103BFC,7C,0,0,50;13065C,7C,0,0,50;E05B8,7C,0,0,50

or to convert these English codes to Japanese ones. Thanks so much!

040A96F4 7C000050

0409507C 7C800050

040C4CE8 7C000050

040CE774 7C000050

040EA198 7C000050

041025FC 7C000050

0412F05C 7C000050

040DEFB8 7C000050

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...