• Our software update is now concluded. You will need to reset your password to log in. In order to do this, you will have to click "Log in" in the top right corner and then "Forgot your password?".
  • Welcome to PokéCommunity! Register now and join one of the best fan communities on the 'net to talk Pokémon and more! We are not affiliated with The Pokémon Company or Nintendo.

HGSS | Edit Spawn Location and Co-Ordinates

20
Posts
6
Years
As this is not that known at this point I have decided to make a tutorial on how to change the protagonist's spawn location and coordinates after the Oak Intro as seeing this is an important thing for a ROM Hack.

Tools Needed:

- Spiky's DS Map Editor (SDSME)
- CrystalTile2
- A hex editor of your choice (You can use CrystalTile2 for this aswell if you prefer)

Extracting the ARM9:

First of all, Open the HeartGold or SoulSilver ROM of your choice with "CrystalTile2", click on the "DS icon" in the top bar and click on "FSI.CT / arm9.bin" and select "Extract (U)" to save the file to your PC.
It is important to choose "Extract (U)" and not "Export", because the ARM9 will not be decompressed and can't be used as we need an uncompressed ARM9.bin for this Tutorial.

Changing the Spawn Location and Co-Ordinates:

Once we have the ARM9 saved, we will open it with a hex editor or CrystalTile2 and go to this offset depending on your version of ROM:

Heart Gold:
0x000FA160

Soul Silver:
0x000FA17C

PS: These offsets are from the US ROMs of HG/SS

We have to find the value of "40 00", which in decimal corresponds the Map ID "64" which is the protagonist's room in New Bark Town. This is the Map ID of the map where the game want's the protagonist to be after the intro so we can open the ROM with SDSME and look for the Map ID in the list of Headers that appear.

It is important to note that the numbers in the ARM9 follow the Little Endian order, so if we want to start the game in Red's Room in Kanto, we need the Map ID which is 506 in Decimal and 1FA in hex, we have to replace 40 00 with FA 01.

Once the Map ID is changed, we can also change the coordinates of the place where the protagonist will spawn after the intro. To do this, we look for "06 00 00 00 06 00 00 00 01"

Heart Gold:
0x000FA168

Soul Silver:
0x000FA184

PS: These offsets are from the US ROMs of HG/SS

These bytes are structured in this way:

"XX XX ZZ ZZ YY YY 00 00 PP"

XX is the coordinate of the X axis.
ZZ is the coordinate of the Z axis.
YY is the coordinate of the Y axis.
PP is the way the protagonist is standing.

(So "00" make the character look up and "01" will make them look down etc..)

When changing these numbers, remember to order them in Little Endian as I said above.

Reinserting the ARM9:

Once changes have been made to the ARM9, save a backup of the ROM and re-open the ROM with CrystalTile2.

Then click the DS icon again, click on the "FSI.CT / arm9.bin" and select "Compression" then select the edited arm9.bin and then boom you have officially changed the Spawn Location and Co-Ordinates!

Enjoy, your freshly edited spawn location!​
 
2
Posts
3
Years
  • Age 23
  • Seen Aug 6, 2020
Thank you for the tutorial, this is the only information I found about editing the spawn location in gen 4 games. Do you happen to know how to do the same in DPPt?
 
28
Posts
7
Years
  • Age 34
  • Seen Jun 2, 2023
Thank you for the tutorial, this is the only information I found about editing the spawn location in gen 4 games. Do you happen to know how to do the same in DPPt?

I got you! For D/P/PT you want lines 000F6B90 dor D/P and for PT you want line 000EE120. They all want you to change 9F 01 for the map header number. For the "XX XX ZZ ZZ YY YY 00 00 PP" you want the line after that. Start at 04 00 for the XX XX and go right from there. For D/P/PT you don't have to uncompress the arm9 so i just downloaded an hex editor called HxD and can open the whole rom it it and scroll down, edit the line, and save. Then you can test your rom.
 
Last edited:
1
Posts
3
Years
  • Age 25
  • Seen Jan 19, 2021
Hi, this may seem like a really dumb question, but my brain has me baffled and I'm still slightly new at this so please forgive me,

So I opened up my SoulSilver ROM, and followed the steps to getting to the FSI.CT/ARM9 file, and when I try to extract it, I get told out of memory (Exporting works fine however)

So I assumed this meant I didn't have enough space on my PC, so spent a while cleaning some stuff out and tried again, and still the same problem?

The file size listed is 1,122052 (Something it doesn't list a unit), and the whole thing is 121MB, and my PC has well over 3x that much space left as well as a blank usb if I needed too.

So my question is, am I doing something wrong here, or is my pc just being whack?

Thank you for any help possible ;;
 
1
Posts
1
Years
  • Age 19
  • Seen Dec 31, 2022
I know this discussion is quite old (looks like I'm 2 years late as a matter of a fact) but I had this same issue specifically with Memory, so much so I created this account because I saw nothing on the topic.

The memory is referring not to space on your hard drive but rather the space in reading the hex values. Basically what has happened here, at least what I believe to have happened to me, is something is wrong with the .nds file you have. Whether it be that CrystalTile2 is being wacky and not liking it or it being the ROM itself is beyond me, but this being said, I do have a fix.

This is going to sound extremely dumb at first, but you need to re-obtain your ROM file. You likely have a bad ROM from either poor transfer or otherwise, but this is best worked with a US release in my experience. Simply grab the fresh ROM, pop it in, and bam, works. No idea why, but it does. Hopefully this fixes your issue as well, because it fixed mine almost immediately!
 
Back
Top