This original document was written by:

      Tony Hedstrom    t_hedstrom@yahoo.com

     http://www.angelfire.com/games2/codehut/


   "How to make Game Genie codes the easy way"


Updated version (version 0.9)

This document explains a very easy way to make new 
Game Genie codes for Super Nintendo (SNES) games.  
This method will also work on Nintendo (NES) games,
but it was written with SNES games in mind.  If you
want more information about making NES Game Genie codes,
you can visit my website (the address is above).

This method will work on games that already have some
codes, or on games that don't have any codes.

This was written with beginner code makers in mind,
but advanced code makers may find it useful as well.
There are only 3 easy steps!

The only real restriction to this method is that it 
works best on RPG type games, or games that use lots
of specific values (like the price of items, etc), 
but it doesn't work as well on other types of games.

Here is a partial list of games that I have personally
used this method on:

Destiny of an Emperor-NES
Final Fantasy-NES
Final Fantasy 2j-NES
Final Fantasy 3j-NES
Final Fantasy 2-SNES
Final Fantasy 5-SNES
Inindo: Way of the Ninja-SNES
Legacy of the Wizard-NES
RC Pro Am 2-NES
Romance of the 3 Kingdoms 4-SNES
Sailormoon-SNES
Seiken Densetsu 3-SNES
Swords & Serpents-NES
Terranigma-SNES
Ultima 2-NES
Uncharted Waters-SNES

And many others....

This list of games (above) will give you an idea of
which type of games will work best with this method.

If you want to see the GG codes I made for the games
listed above, you can get them from my website: 
http://www.angelfire.com/games2/codehut/

So if you have an RPG type game, and you want an easy
way to make new Game Genie codes, then you've come to
the right place.

OK, lets get started...

By far, the hardest part of making a new Game Genie
code is finding the right ROM address.  If you have
ever opened up a NES or SNES game ROM with a hex 
editor, then I'm sure you have noticed that there are
thousands, and thousands, and thousands of numbers.
One of those numbers is the one you want, but which
one?  How on earth can you find the right one?

Well, I'm gonna tell you how.  It's really quite easy
once you know how.  The key word here is "patterns".
We will find specific patterns while playing the game
and then try and find those same patterns in the ROM.

For this example, I will show you how I found the
starting stat codes for Cecil in Final Fantasy 2-SNES.
In this example (and in most games), the codes for
the rest of the characters are right next to the first
code you find, so making codes for the other 
characters is usually very easy.

Here is a list of what you will need:

1) The ROM for the game you want codes for.  (Please
   don't ask me for ROMs).

2) A hex editor (I'll be using Hex Workshop v 2.54).

3) A Game Genie to hex conversion program called
   ggconvc.  You can download this program from my
   website (in the "Download" section):
   http://www.angelfire.com/games2/codehut/


Before we begin, just remember that we're looking for
a group of numbers (like character stats) that are
listed all in a row (together).  If you're looking for
character starting stats, make sure you start playing
the game without any codes entered, and when you write
down the starting stats (in step 1 below), make sure
that you write the stats down before you start entering
battles, or as soon as you can access the stat screen.


Step 1:
Start playing the game you want codes for (in this
example, I'm using FF2-SNES).  Get to a point in the
game where you can see the character stats (or 
whatever group of numbers you are looking for).  In
this example, I'm looking at the screen that shows me
what the stats are for Cecil.  Here is what they are:

Cecil's starting stats:
Str.   13
Agil.  10
Vit.   11
Wis.   6
Will   3

Write these numbers down.

Step 2:
Now, we need to convert the numbers that you just 
wrote down into hex numbers.  If you don't know how,
you can use the Windows Calculator.

Cecil's starting stats (in hex):
Str.   0D
Agil.  0A
Vit.   0B
Wis.   06
Will   03

Write these number down for later use.

Step 3:
Open up the ROM of the game you are trying to find 
codes for with a hex editor.  Click on the "Find"
button and type in all of the hex numbers that you
wrote down in step 2.  Type in the hex numbers without
any spaces between them, like this: 0D0A0B0603.  Make
sure you put them in the same order that you saw them
in the game.

Click on the "Find Next" button and with any luck, you
will get a match.  If you get a match, write down the
offset number shown at the bottom of the screen.  In
this example, the offset is: 0007AB0F.  This address
(or offset) is the right ROM address for Cecil's
starting Str.  The next address (0007AB10) is the one
for his starting Agil.  The next address (0007AB11) is
the one for his starting Vit, and so on.

You will find the addresses for Cecil's starting HP
a few bytes before the addresses listed above.  They
should be at 0007AB07 and 0007AB09 (one is for his
current HP, and the other is for his max HP).  Also, 
you can let Cecil start with MEGA amounts of HP by
making codes for these two addresses: 0007AB08 and
0007AB0A.  You can make codes that let all the other
characters start with MEGA HP as well, just use the
above example as a guide to find the right address.

If you keep on going down the ROM file, you will see
that you can easily find codes for all of the other
characters starting stats (including HP).

If you don't find a match the first time, try removing
one byte at a time and doing another search.  Don't
bother searching for a match with less than 3 bytes,
because you will usually get too many matches.

If you get more than one match the first time, you 
will probably need to try all of the matches until
you find the right one.

Once you find the right ROM address (or you think it
could be the right one), read down a little bit to find
out how to convert the ROM address into a working Game
Genie code.


Here are a few tips:

-Look for patterns of numbers in the game.

-Remember to convert the numbers in the game into hex
 numbers when searching with the hex editor.

-Remember that once you find the right ROM address,
 there are usually many other useful codes nearby.

-Use your imagination to think of different patterns
 of numbers in the game.

-If you don't find any matches, try removing numbers
 from the end of the list (1 byte at a time).

-If you still don't find any matches, try removing
 numbers from the beginning of the list (1 byte at
 a time).

-Sometimes, if you don't find any matches, try mixing
 the numbers around some.

-If you still don't find any matches, then just quit
 trying on that game and try finding codes on another
 game instead.  I have tried to find codes on LOTS of
 games and have struck out, so don't be discouraged.
 This method doesn't work on all games.

-If you want to use the above method to make "free item"
 codes, then go to my website and read this doc: "Code
 making tips".

-Remember, this method doesn't work very well for
 finding "infinite" type codes (infinite HP, infinite
 energy, etc).

-If you're having trouble understanding all of this,
 try getting a FF2 US (SNES) ROM and following along
 with the example, that should make it easier to figure
 out how to do it with a different game.


Well, I hope this takes some of the mystery out of
making Game Genie codes.  I remember several years
ago when I got my first NES Game Genie... I knew I
wanted to learn how to make my own codes, but I
couldn't find any easy-to-understand documents on
the subject at the time.  If this document causes at
least one person to start making GG codes, then it was
well worth the effort.


=====================================================

UPDATE: Below are instructions on how to convert a ROM
address into a working Game Genie code...

NOTE: This only applies to SNES games (not NES).  You
can get NES info from my website.


LoROM games...............

This explains how to convert a ROM address from a LoROM
game into a working SNES Game Genie code.

To find out if a game is LoROM or HiROM, just start the
game using SNES9x (emulator) and it will tell you at
the bottom of the screen when the game starts.

If you have a HiROM game, skip down to the HiROM
section.

When you have the right ROM address, you have to 
subtract $200 (hex) from the address to compensate
for the 200 byte header at the beginning of the ROM.

You don't need to do this if you already removed the
200 byte header from the ROM before you found the ROM
address.

Next, take your address and add C00000 to it.

Now, put the new number into cheatmaster's GG to hex
converter program, then click on the "Show 32K" button
and the correct GG code will show up on the right.
(You can download cheatmaster's GG to hex conversion
program from my website.)

Sometimes, you may need to subtract 800000 from the
hex address that is shown on the right (see below).

----------------------------------------------------

SNES LoROM Example: (FF2/US SNES)


ROM address: 07AB0F

Subtract $200: 07AB0F - 200 = 07A90F

Add C00000: 07A90F + C00000 = C7A90F

Enter C7A90F into the converter (with a data value *)
and click on the "Show 32k" buttom.  The code shown
on the right, should be the right GG code.  In this
example, if you entered C7A90F:63 into the converter,
and then press "Show 32K", this is what you would see
on the right: 17CD-17E3
              8FA90F:63


* The data value can be any number between 00 and FF
(hex) depending on what value you want for that code.
(In the above example, 63 is the data value.)  For
instance, if you enter 05 as your data value, then 
the code will give you 5 HP, or 5 agility, or 5 of
whatever the code is for.  If you enter FF, you will
get 255.


Sometimes, that GG code will work on an emulator, but
not on a real SNES.  If that GG code doesn't work on
a real SNES, try subtracting 800000 from the hex code
under the GG code (the one that was displayed on the
right), like this: 8FA90F - 800000 = 0FA90F.

Enter this new hex code into the converter to get the
new GG code. (Do not press the "Show 32k" button.)  So
in this example, enter 0FA90F into the converter (along
with a data value) and you will get your new GG code,
which is: 0FA90F:63 = 17CD-07E3.

Between the two GG codes (17CD-17E3 and 17CD-07E3),
one of them should work on a real SNES (usually the
second one).  So in this example, 17CD-07E3 will
let Cecil start a new game with 99 Str. 


====================================================

SNES HiROM games...............

This explains how to convert a ROM address from a
HiROM SNES game into a Game Genie code.

To find out if a game is LoROM or HiROM, just start the
game using SNES9x (emulator) and it will tell you at
the bottom of the screen when the game starts.

When you have the right ROM address, you have to 
subtract $200 (hex) from the address to compensate
for the 200 byte header at the beginning of the ROM.

You don't need to do this if you already removed the
200 byte header from the ROM before you found the ROM
address.

Next, take your address and add C00000 to it.

Now, put the new number into cheatmaster's GG to hex
converter program and you will get the right GG code.
(You can download cheatmaster's GG to hex conversion
program from my website.)

Usually, if a GG code for a HiROM game works on an
emulator, then it will probably work on a real SNES.

------------------------------------------------------

SNES HiROM Example: (FF5 SNES)


ROM address: 112F41

Subtract $200: 112F41 - 200 = 112D41

Add C00000: 112D41 + C00000 = D12D41

Enter D12D41 into the converter (with a data value *)
and you will get your GG code.  In this example, if
you enter D12D41 into the converter, this is the GG
code you get: D12D41:17 = F540-5005.  

* The data value can be any number between 00 and FF
(hex) depending on what value you want for that code.
(In the above example, 17 is the data value.)  For
instance, if you enter 05 as your data value, then 
the code will give you 5 HP, or 5 agility, or 5 of
whatever the code is for.  If you enter FF, you will
get 255.



If you have any questions, you can email me at:

    Tony Hedstrom   t_hedstrom@yahoo.com

You can find many other "How to" documents, and
thousands of original Game Genie codes that I made
at my website:

http://www.angelfire.com/games2/codehut/



=====
Tony Hedstrom
Visit the Code Hut at:
http://www.angelfire.com/games2/codehut/