Jump to content

Pokemon GS (Korean) - Save Offsets


theSLAYER

Recommended Posts

Pokemon Gold/Silver offsets
Speculated will be in italics.

Offset Size Contents
0x2000 8 Options
0x2009 2 Player Trainer ID
0x200B 11 Player name
0x2016 11 Unused (Player's mom name)
0x2021 11 Rival name
0x202C 5 Unused (Red's name)
0x2031 5 Unused (Green's name)
?   Daylight savings
0x204E 4 Time played (hh mm ss frame)
0x2065 1 Player palette
0x23D3 3 Money
0x23DC 1 Johto Badges
0x23DE 57 TM pocket
0x2417 42 Item pocket item list
0x2441 27 Key item pocket item list
0x245C 26 Ball pocket item list
0x2476 102 PC item list
0x26FC 1 Current PC Box number
0x26FF 238 PC Box names
0x28CC 428 Team Pokémon list
0x28AE 32 Pokédex owned
0x2AAE 32 Pokédex seen
0x2DAE 1102 Current Box Pokémon list
NA   Player gender
0x4000 1102 PC Box 1 Pokémon list
0x4450 1102 PC Box 2 Pokémon list
0x48A0 1102 PC Box 3 Pokémon list
0x4CF0 1102 PC Box 4 Pokémon list
0x5149 1102 PC Box 5 Pokémon list
0x5590 1102 PC Box 6 Pokémon list
0x59E0 1102 PC Box 7 Pokémon list
0x6000 1102 PC Box 8 Pokémon list
0x6450 1102 PC Box 9 Pokémon list
0x68A0 1102 PC Box 10 Pokémon list
0x6CF0 1102 PC Box 11 Pokémon list
0x7140 1102 PC Box 12 Pokémon list
0x7590 1102 PC Box 13 Pokémon list
0x79E0 1102 PC Box 14 Pokémon list
0x2DAB 2 Checksum 1
(sum 0x2009 to 0x2DAA)
0x7E6B 2 Checksum 2
details here


 

Team List format

0x28CC 1 Team List Count
0x28CD 6 List of Species
0x28D3 1 Terminator
0x28D4 48 Party Member 1 Data
0x2904 48 Party Member 2 Data
0x2934 48 Party Member 3 Data
0x2964 48 Party Member 4 Data
0x2994 48 Party Member 5 Data
0x29C4 48 Party Member 6 Data
0x29F4 11 Party Member 1 OT Name
0x29FF 11 Party Member 2 OT Name
0x2A0A 11 Party Member 3 OT Name
0x2A15 11 Party Member 4 OT Name
0x2A20 11 Party Member 5 OT Name
0x2A2B 11 Party Member 6 OT Name
0x2A36 11 Party Member 1 Nickname
0x2A41 11 Party Member 2 Nickname
0x2A4C 11 Party Member 3 Nickname
0x2A57 11 Party Member 4 Nickname
0x2A62 11 Party Member 5 Nickname
0x2A6D 11 Party Member 6 Nickname



Current Box Format (and likely all box formats mirror this

0x2DAE 1 Current Box Filled Count
0x2DAF 20 20 Species
0x2DC3 1 Terminator (to be, for species list)
0x2DC4 640 20 Pokemon Data
0x3044 220 20 OT Names
0x3120 220 20 Nicknames

 

  • Like 1
  • Amazed 2
Link to comment
Share on other sites

  • theSLAYER changed the title to Pokemon GS (Korean) - Save Offsets
13 minutes ago, BlackShark said:

This should be correct, but confirmation would be good.


0x1A13 - 0x1C38
0x3DD8 - 0x3F79
0x106B - 0x1533
0x7E39 - 0x7E6A
0x1534 - 0x1A12

Checksum: 0x7E6B

 

 

The 5 values on top, I assume they're initially written at the next 2 bytes, then summed again and written to the final location?

Link to comment
Share on other sites

1 minute ago, theSLAYER said:

 

The 5 values on top, I assume they're initially written at the next 2 bytes, then summed again and written to the final location?

 

Calculate a sum for each of those areas, then sum those sums together to get the checksum and truncate it to be a 16 bit value. The sums of the single areas don't get written anywhere.

  • Like 2
Link to comment
Share on other sites

36 minutes ago, BlackShark said:

 

Calculate a sum for each of those areas, then sum those sums together to get the checksum and truncate it to be a 16 bit value. The sums of the single areas don't get written anywhere.


I grabbed all the bytes and did a calculation on my Excel,
I confirm that calculation checks out.

Summed up values are 159B0, and the values at my 0x7E6B-6C is 0xB059.

 

Spoiler

Capture.PNGCapture2.PNG

 

  • Like 1
Link to comment
Share on other sites

Thanks for confirming the checksum calculation!

Now to complete this:

0x1A58 is indeed the time played, but from the backup save. For the primary save it is at 0x204E.
Player palette is at 0x2065.
I'm not sure about the daylight savings, but it seems to be unused in the Korean games. Mom doesn't ask you about it.

  • Like 1
Link to comment
Share on other sites

29 minutes ago, BlackShark said:

Thanks for confirming the checksum calculation!

Now to complete this:

0x1A58 is indeed the time played, but from the backup save. For the primary save it is at 0x204E.
Player palette is at 0x2065.
I'm not sure about the daylight savings, but it seems to be unused in the Korean games. Mom doesn't ask you about it.


Done!

It'll be cool to edit color palette, even if it's not legal XD

Link to comment
Share on other sites

1 minute ago, Jackson2K12 said:

Is the Korean version of GS out now ?

 

The original GBC releases GS version for Korea.

Also, just so ya know, the VC releases of RBYG contained the exact same roms as original releases of the games,
just that they also have a patching function that can patch the VC content when running.

The saves also were saved at the same offsets, hence chances GSC save offsets for VC will be the same as the original release.

Link to comment
Share on other sites

1 minute ago, theSLAYER said:

 

The original GBC releases GS version for Korea.

Also, just so ya know, the VC releases of RBYG contained the exact same roms as original releases of the games,
just that they also have a patching function that can patch the VC content when running.

The saves also were saved at the same offsets, hence chances GSC save offsets for VC will be the same as the original release.

 

Cool, it might be worth starting Silver now then, and import the save file when the VC versions are released :)

Link to comment
Share on other sites

1 minute ago, Jackson2K12 said:

 

Cool, it might be worth starting Silver now then, and import the save file when the VC versions are released :)


Do remember that the saves of Gen I and Gen II games cannot cross language :)

Yeah, I've prepared a bunch of saves for the reason. Playing on Korean once in a while XD

Link to comment
Share on other sites

22 hours ago, theSLAYER said:


I forgot about that XD
That certainly lessens my workload ><

@Kaphotics I'm hoping this can be added to PKHeX.
I pretty much worked out all the needed data,
except I'm a bit lost regarding the Checksum 2

 

It's pretty much confirmed that VC G/S will not have Korean games (no announcement for korea), thus is there really a need to have it incorporated to PKHeX? There'd be a lot of required things:

  • Different character table (strings)
  • Different item/species/etc names (strings)
  • Prevention of loading to VC1/Gen7 games
  • Mixing in a 3rd set of offsets

Korean G/S would be locked to itself, so I don't see a need to support it in the multi-game editor (pkhex). Maybe a separate program / fork of PKHeX is best? Korean G/S is essentially a rom hack ;) 

  • Relieved 1
Link to comment
Share on other sites

@Kaphotics There is an announcement for VC GS in korea:
http://www.pokemonkorea.co.kr/VCGS/

 

I would agree that it'll be kinda of a hassle.
At least Korean Encoding for Gen II is already documented.


Also, the Korean save structure is similar to the ENG games, and as a result, they are able to trade without corruption.
(Just traded from Silver KOR to Red ENG yesterday) [of course I do not know if it'll be incorporated into VC]

  • Like 1
Link to comment
Share on other sites

19 hours ago, theSLAYER said:


Do remember that the saves of Gen I and Gen II games cannot cross language :)

Yeah, I've prepared a bunch of saves for the reason. Playing on Korean once in a while XD

I no longer have any to test but I seem to remember something similar of the sort. Something about the data being handled differently and you couldn't really trade between then. I might have tried with English and Japanese gen 1 games back in the day.

  • Like 1
Link to comment
Share on other sites

On 25 August 2017 at 6:55 PM, HaxAras said:

I no longer have any to test but I seem to remember something similar of the sort. Something about the data being handled differently and you couldn't really trade between then. I might have tried with English and Japanese gen 1 games back in the day.

 

English with Japanese trades will certainly cause problems.

I did Korean and English trade, and the English Pokemon kept their English names on the Korean save!

The Korean Pokemon names on English saves looks like garbled nonsense, but beyond that it functionally works.
(Tho for this very reason, I'm afraid VC GS KOR won't have time capsule and trades with other languages)

  • Like 1
Link to comment
Share on other sites

29 minutes ago, theSLAYER said:

 

English with Japanese trades will certainly cause problems.

I did Korean and English trade, and the English Pokemon kept their English names on the Korean save!

The Korean Pokemon names on English saves looks like garbled nonsense, but beyond that it functionally works.
(Tho for this very reason, I'm afraid VC GS KOR won't have time capsule and trades with other languages)

That's sorta how it works in gen 3. When you trade an English Wartortle to a Japanese Fire Red for example, it will be named WARTOR. And if it evolves, it will keep it's name. Same with Japanese mons on an English game and probably any language. I never tested with the others (I could). If you migrate a non-native Pokemon, it's name will be treated as a nickname. So a French Articuno will be named ARTOKODIN when it goes through bank. I migrated the in-game-trade Farfetch'd named CH'DING to gen 4/5/6/7 using a Japanese save for gens 3-4 and it's nickname was preserved, despite being shortened in gen 3. I never tested with a Pokemon like Wartortle in a Japanese save though. 

The point of all this is:

This is in gen 3 where you can trade between all the languages and they didn't really fix it properly until gen 4. Where Korean games can't trade with the others, as I was told. So I highly doubt something as far back as gen 2 could work properly. It would just create an interesting nightmare.

(Also, mind sending me a Korean gen 2 PKM? I'm curious about what happens if I evolve it and if I migrate it using bank/if I even can and what happens if I trade it to gen 1if it's a gen 1 mon, etc. Lots of experiments and tests to run.)

Link to comment
Share on other sites

I didn't think of that. I assumed they'll treat it as a glitch Pokemon, due to its nickname.

later, upload to here a Gen 1 vc save (tell me for which game), and I'll time capsule a Korean Pokemon to it. (Also prepare 2 trash Pokemon in your party, for the time capsule procedure)

IIRC when PKHeX modifies such a Pokemon, the nickname and OT gets wiped out, so at this point, attaching a PKX file wouldn't work.

Link to comment
Share on other sites

15 minutes ago, theSLAYER said:

I didn't think of that. I assumed they'll treat it as a glitch Pokemon, due to its nickname.

later, upload to here a Gen 1 vc save (tell me for which game), and I'll time capsule a Korean Pokemon to it. (Also prepare 2 trash Pokemon in your party, for the time capsule procedure)

IIRC when PKHeX modifies such a Pokemon, the nickname and OT gets wiped out, so at this point, attaching a PKX file wouldn't work.

I'll have to find a gen 1 save online. I don't currently have any gen 1 carts. Just a Silver cart. I really can't wait for these gen 2 VC games to be released. It will put to bed so many questions. 

Link to comment
Share on other sites

59 minutes ago, HaxAras said:

I'll have to find a gen 1 save online. I don't currently have any gen 1 carts. Just a Silver cart. I really can't wait for these gen 2 VC games to be released. It will put to bed so many questions. 

 

When you said migrate, I assumed you had a Gen 1 VC game ><

yeah, but bank support won't be out until nov 17.

at least trading questions would get resolved :) 

Link to comment
Share on other sites

Korean GS has buggy support for non-Japanese games, including Crystal. A few interface issues where longer names overrun the dialogue box. Sometimes trying to link may freeze up too.

It's kind of unavoidable for completionists. Supposedly Mew and Celebi were never distributed to gen 2 in Korea.

gen 5 at long last introduced normal trading with Korean

Edited by Lum
Link to comment
Share on other sites

30 minutes ago, Lum said:

Korean GS has buggy support for non-Japanese games, including Crystal.

So do Japanese and Korean games trade together fine? Cause now I would like to know what happens if you send an English Pokemon to a Korean save. Then trade the English Pokemon to the Japanese save and the Japanese mon to the English save and what happens when it evolves.

Outside of doing the coin case glitch in an English game, you could get the events in an English game and trade them to a Korean save. Then just release the glitched name mon from the English save. 

Link to comment
Share on other sites

1 hour ago, HaxAras said:

So do Japanese and Korean games trade together fine? Cause now I would like to know what happens if you send an English Pokemon to a Korean save. Then trade the English Pokemon to the Japanese save and the Japanese mon to the English save and what happens when it evolves.

Outside of doing the coin case glitch in an English game, you could get the events in an English game and trade them to a Korean save. Then just release the glitched name mon from the English save. 

 

No. Korea and Japanese games were first compatible in Black and White.

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