hide results

    Game Genie Code Hacking Guide by THedstrom

    Version: 0.9 | Updated: 05/16/01 | Search Guide | Bookmark Guide

    
          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/
    
    

    FAQ Display Options: Printable Version