--------------------
A.0 Version History
--------------------
9/15/06 Version 1.0
Well here you go. How to hack Items/Djinn in Golden Sun 2.
---------------------
A.1 About this Guide
---------------------
Welcome to my second guide. :) Since you are reading this I can assume that we
both have a huge respect for CAMELOT's Golden Sun series. The first time I ever
played these games I fell in love with them, as many have and many will.
This guide was written only for Golden Sun 2. Although many of the items and
psyenergies are the same in Golden Sun, many are different and all of the
addresses are different. If after reading this you wish to hack your Golden Sun
game a certain someone wrote a guide just for that purpose.
Well now that I've said my piece, it's time to get hacking!
------------
A.2 Hacking
------------
So by now you may be asking yourself "I've never heard of save game hacking. It
must be difficult." Fear not! Hacking a save can be incredibly simple. All you
have to do is understand the basics.
On your game, there is the game itself saved, and some RAM that holds all
of your game saves. Save game hacking deals directly with the hacking of
those save files. Unlike a Gameshark which bypasses code, hacking your save
physically (or electronically) alters your data permanently.
So how does one go about hacking a save game file? Well in order to do
it you need a Hex Editor, preferably (almost madatory) Winhex. I personally
like using it because it saves you a lot of clicking and dragging. This program
is free software and are available at www.download.com. It's not that big. Just
search for it.
So how do you get your game onto your computer? Well there's two basic ways.
One is to buy a special flash reader and transfer your game save onto the
computer. The other is to obtain a ROM from the internet. Either way you get
the save, this should be the method used to hack it.
So fire up that editor and open up your Golden Sun 2 save file. You will be
greeted with what appears to be a huge matrix of numbers; a long string of
numbers at the top and a long list of numbers at the side.
First off, let me explain the numbers. Golden Sun 2 uses what's called a
hexadecimal system. Every computer in the world is built off a system of on
and off switches. They can either be on or off, which leads to a two number
binary system. As humans we count everything as a decimal system, which
uses ten numbers. So these two numbers are very difficult to convert from
one to another.
But fear not. Enter the hexadecimal system. It uses sixteen digits, 0-9 and
A-F. Since sixteen is a power of 2, hex and binary numbers can be easily
swapped. That's the job of the hex editor.
Notice how the hex numbers are grouped into pairs? Each group of two is one
byte of data. It is important you realize this because all of the information
is saved on one byte, even if it is only a single digit number.
Of course it would be immensely difficult to just spew all the data out into
one continuous line. Enter the address: also known as the offset. On your
left, you have a long column of hex numbers like this:
00000000
00000010
00000020
00000030
and continues on...
00003AD0
00003AE0
00003AF0
00003B00
And so on, all the way to the end of your data. If your left column doesn't
contain any letters, click on it until it does. All the addresses in this
guide are written in hex form, and it would be difficult (if not impossible)
to find them otherwise.
Now each row contains the all of the possible locations for you data in that
address. They are written like:
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
Since hex is a base of sixteen, the next number after 0F (which is 15 in
decimal) is 10. (which is 16 in decimal)
Each of those addresses has a value stored there, which are all of the
numbers you see in front of you.
So reading a address is quite simple. You read it exactly like you do a grid
on a map.
If the address you are looking for is A067, then you would go down to A060,
and over to A067, which is indicated by the stars.
So when you wish to change a value for something, all you do is travel to the
correct address, and then the correct byte.
Now if all you had to do to hack was load up your game, change some numbers
and load up your game, then life would be great. Unfortuantely for you
Golden Sun 2 includes two ways to stop the game save hacker: Libraries and
Checksums.
The comprehension of Libraries is crucial to be able to hack. Golden Sun 2
contains a total of three different libraries where your data could be
located. Now you may ask "But aren't there only three save slots?" To
which I will reply "Why, yes, I guess you're right." While its true there
only three save files, the game includes two "backup" libraries. Whenever
you save on your game, the data is automatically saved into two of these
files. Why two? Just in case your power goes off while saving, or any other
sort of saving nightmare. (Trust me, it's happened to me during a hack before,
and it is not fun :( )
The reason Libraries are so important becomes obvious very quickly if you
ignore them. Your game is saved in one of these five files. Now when I say
one, thats exactly what I mean. If you edit the wrong library, nothing will
happen. You must find the right library if you ever wish to succesfully hack
your game save. Failure to do so will result in hours of wasted time and tons
of effort and frustration on your part.
Thankfully, Golden Sun 2 is very easily divided into its libraries.
The start of each one is signified by the word CAMELOT in the right coloumn,
and continues all the way to the next CAMELOT.
Now how can one be sure they are editing the correct library? Well the
easiest way is to only have one save game. So if you just obtained a rom
and are starting your hacking, it's much easier if you only start one
game. That way there is only one possible library. If for some reason
you must have your save game data, then look at the level of your
characters or if they're the same the stats. Comparing them this way
makes it much easier to make a correct guess.
Golden Sun also uses another security method called the Checksum. The
checksum is the sum of all the values of each byte of data in a block
of code. Basically whenever you load up your game, the fileadds up
all of the bytes in your save and checks it against the checksum.If
they are the same, then you data loads up no problem. But if they
are not equal, the game does not recognise it as valid and you will
meet an empty save slot.
That may sound horrible to you but actually it is a great help. In
Golden Sun 2, the Checksum is always located in the exact same spot for
each library. Just scroll through checking all of your libraries until
you find the one with a Checksum. If you have two save different save
files, however, you will probably have to manually search character stats
to find the correct one. But rest assured if a file does not have a
checksum it is not one that you should be hacking.
The Checksum will always be writen as two bytes of data. So when even if you
add it and you get a checksum of 03, you still use two bytes.
And for all you WinHex users, I have good news. First, left click on the
offset listand go to edit block. Then set the block to *010 to *FFF. The *
is for whichever library you are in at the time, whether its 0010 or 3010.
Then go up to tools and click on Compute Hash/Checksum or something like
that, set it to 16 Checksum and viola, you have your Checksum.
** When storing the Checksum, the game automatically uses the "reverse-byte"
method of storage. Basically, if you get a checksum of 03A6, you would break
it into two bytes 03 and A6, and reverse them. The Checksum would then be
written as A6 03. If for any reason you get a Checksum larger than 2 bytes,
then just take the last four numbers and reverse them to get your Checksum.
Well thats basically everything you need to know (and I know) about hacking!:)
---------------------
A.3 A Few More Notes
---------------------
1) When you wish to save your game on the computer, make sure you use the
start + save method of saving. Otherwise it is almost impossible to hack.
2) When you back up your game, do not use your hex editors backup feature.
It is best to copy your game and paste it in a new folder. Then if something
goes wrong, you can just delete your corrupted file and substitute the good
one. Just make sure to rename it to whatever the first file was named.
3) Many times when you are hacking the "Your write time has changed. Would you
like to reload" message will appear on your screen. If you click yes, the data
is reloaded and you have to find the correct library again. The only time it
is necessary is if you have done something in the game and saved it. Otherwise
it is just a waste of time to keep doing it.
4) If you want a save file to practice hacking with all of the characters,
Gamefaqs offers a variety of game saves for you to download. However these files
are not .sav files that Visual Boy Advanced gets you. If you want to use one of
these files simply open your ROM and then go file->import->sharkport snapshot.
The emulator then reverts it to a .sav file and you're free to practice hacking.
--------------
1.0 CheckSum
--------------
CheckSum -> *008 - *009
Range of Checksum -> *010 - (*+2)FFF
This is a nice, easy CheckSum to calculate. Just go to edit (or right click +
edit) and scroll down to Define Block. Set the top number to *010 and the
bottom to (*+2)FFF to get the correct CheckSum. So for example a very common
library is the 3000 block with the Checksum at 3008+3009 and stretches from
3010 to 5FFF.
Just make sure to put the resulting CheckSum in the "reverse byte" method,
where you put the second byte first and the first byte second. So a CheckSum
of 4F78 would be written as 78 4F.
Just make sure when you calculate your CheckSum you use 16 bit CheckSum.
Anything else will not work at all.
There is also another subset of items that instead of using
00 = unequiped
02 = equiped
they instead use
01 = unequiped
03 = equiped
That is because basically the game had more items that could fit in one
byte and so they had to throw in a 01 so you could access another set of
items.
Just so you know it's best to hack your items as "unequiped" so that way
you won't accidentally have a conflict of intrest.
------------------------
1.01 Character Addresses
------------------------
Let me start off by saying this: Djinn hacking is incredibly tricky. You
have to do everything perfectly or you will be greeted with usless and
unresponsive Djinn.
Up to this point, everything you've hacked has been controlled by multiple
bytes, aka items and psyenergy. Every different psyenergy and item has had
it's own byte that controls it.
Djinn hacking is far more complex. It is controlled by more than one byte,
which change depending on the status of your Djinn,(standby, set, recovery)
which elements you have and how many of each you have.
All of those numbers control one Djinn. Unfortunately at this point I only
understand which numbers to add; not really what they do.
The byte at 608 controlls which Djinn you have. Unlike items and psyenergy,
where each item/psyenergy is accounted for in its own byte, which Djinn you
have is not controlled by seperate bytes. They are controlled by only two.
The game uses a binary system of counting to keep track of your Djinn.
So then what the game does is it adds up the value for each indivdual djinn
and its total is what ends up at 608. So for example if you have Flint,
Granite and Quartz, the game adds up the values (1 + 2 + 4) and you get seven,
which goes at 608.
Here's where my understanding of Djinn fails. For some unknown reason you must
put the same value you got above (in my example its 7) and put it in the bytes
directly below in this case 618. I don't know why you have to do this; only
that if you don't bad things will happen.
Status bytes
The two bytes (08 + 0C) are determined by the status of Djinn you have. A value
of 1 means that the Djinn are all in standby. Make sure to ALWAYS use a 1. Then
all you have to do is count up the number of Djinn you hacked in (in my example
I would use 3) and put it in both of the status byte locations. As with the
first byte you must put this value in BOTH status byte locations.
Now as I previously stated, the location also determines which Djinn you have.
For Felix the bytes listed above all control Venus Djinn. If you were to put
the same value (in my case 80) and put it in another location, you would get
the same value Djinn of another element. So if you place the 80 in another
location instead of Echo you could also get Cannon, Fog or Breath.
Confused yet? Just read the addresses and values and maybe you'll get it.
**PLEASE note that if you hack the Djinn the way I do for this guide what you
must hack only one element at a time. If you try to hack multiple elements of
Djinn at once the addresses change and I am not going to list all of the
possiblities at this point. That also includes trying to hack when your
character has two or more Djinn of different elements. Your best off hacking
in all of the Djinn and then arranging them in game. That way the game will
take care of the messy points for you.
Okay so maybe my explination isn't that clear but I think once you see what
I'm talking about you'll be able to successfully hack your Djinn and only
have to do it once.
Legend
Vs-> Venus
Ms-> Mars
Mc-> Mercury
Jr-> Jupiter
------
Felix
------
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
B50 Vs Vs Vs Mc Mc Mc
B60 Ms Ms Ms Jr Jr Jr Vs Vs Vs Mc Mc Mc
B70 Ms Ms Ms Jr Jr Jr
The formula for figuring out which Djinn you have is simple: simply add up the
values assigned to each Djinn. Then use the hex converter to obtain the correct
hex value. Since there are say a few hundred thousand possible combinations per
element, I will only list the values assigned to each Djinn.
Venus Mars Jupiter Mercury
1 Flint Forge Gust Fizz
2 Granite Fever Breeze Sleet
4 Quartz Corona Zephyr Mist
8 Vine Scorch Smog Spritz
16 Sap Ember Kite Hail
32 Ground Flash Squall Tonic
64 Bane Torch Luff Dew
128 Echo Cannon Breath Fog
256 Iron Spark Blitz Sour
512 Steel Kindle Ether Spring
1024 Mud Char Waft Shade
2048 Flower Coal Haze Chill
4096 Meld Reflux Wheeze Steam
8192 Petra Core Aroma Rime
16384 Salt Tinder Whorl Gel
32768 Geode Shine Gasp Eddy
65536 Mold Fury Lull Balm
131072 Crystal Fugue Gale Serac
** Also note the values listed above are NOT hex values. You must add up those
numbers and then convert them using the hex converter.
Just so you know, FF 01 will net you the first 9 Djinn and 00 EF 03 will net you
the 10th through 18th.
A: There are two ways that you can get your save on the computer. The first
is to buy a special flash reader that connects to your pc and allows you to
transfer your data, much the same way a gameshark works. The second is to
obtain a "ROM" of the game from the internet.
Q: So this works with my GBA, right?
A: Yes. If you can get your GBA save fileon the computer, this is exactly the
method to use to hack it.
Q: Where can I find a ROM for Golden Sun?
A: I honestly don't know.
Q: What should I use to play my ROM?
A: Visual Boy Advanced is top dog when it comes to GBA emulators, and it's
a free download.
Q: Is this even legal?
A: Read Gamefaqs section about roms/warez to find out.
Q: So what was the name of the hex editor again?
A: You really need to pay attention. I strongly recommend WinHex because it
allows you to highlight large chunks of code effortlessly.
----------------
A.5 Legal Stuff
----------------
This guide is to only be posted on
Gamefaqs.com
Neoseeker.com.
SuperCheat.com
If you wish to put this guide on your site contact and I'll let you know.
I'd say you've got a good chance though: any publicity is good for me.
This guide is not to be reproduced for profit; only personal use. But you
wouldn't even think of doing something like that, would you. :)
Copyright Cody Trombley 2006
-----------------
A.6 Contact Info
-----------------
If you have any questions, comments, typos, maybe some help please feel free
to email me at keyblade_master_02(at)yahoo.com or AIM me at skye0052.
Unfortunately I do not check my email often enough and if I take a while to
get back to you I apologize in advance. If you are truely desperate to
contact me, I am almost always on Xfire as skye0053 whenever I'm online so
if you request to be added to my friends list please just make sure to say
for hacking help or I will most likely ignore you.
------------
A.7 Credits
------------
Ahh, so much credit to give. First I have to give credit to Camelot for
making undoutably the greatest RPG for GBA and one of my favorites of all
time. Second a huge amount of credit goes to Kaitia who wrote the other
game save hack guide and is responsible for getting me started in hacking
and in helping me explain the hacking process. And for my friend for
originally giving me the game.
----------------
A.8 Coming Soon
----------------
Well between my guide and Kaitia's there is not much left to be hacked in
Golden Sun 2.