hide results

    Save Game Hacking Guide by THedstrom

    Version: 0.8 | Updated: 05/05/01 | Printable Version | Search Guide | Bookmark Guide

    
          This original document was written by:
    
          Tony Hedstrom    t_hedstrom@yahoo.com
    
         http://www.angelfire.com/games2/codehut/
    
      This document is copyright 2001 Tony Hedstrom
    
    
      Final Fantasy 3j (NES) Save Game hacking guide
    
               Version 0.8   May 5, 2001
    
    
    What was updated for version 0.8:
    
    -Added to sections 2, 3, 7, and 8.  Basically, I just
    added some more info to help make it easier to under-
    stand, and I corrected 2 small errors in the addresses.
    
    
    Contents:
    
    1) What's this document about?
    
    2) Differences between "Save Game" & "Save State"
    
    3) How do I make/use a Save Game file?
    
    4) Why didn't it work for me before? (Check sums)
    
    5) Make a back-up copy!
    
    6) Lets hack!
    
    7) Money hack (LOTS of money!)
    
    8) Advanced information
    
    
    ====================================================
    
    1) What's this document about?
    
    
    This document explains a way to hack the FF3j "Save
    Game" file to get more money (lots more), more items,
    different items, etc...
    
    This method should work with any emulator.
    
    This method is completely different than hacking the
    "Save State" file.  "Save State" files are different
    than "Save Game" files.  The easiest way to tell the
    difference is that "Save State" files are much larger
    than "Save Game" files.  Save Game files are always
    8k in size, but Save State files are always larger
    (usually about 23k, depending on the emulator).
    
    Since this method will work with any emulator, it's
    perfect for people who are using an emulator that
    doesn't support Game Genie codes (yes, I made lots of
    Game Genie codes for FF3j), or if you are using an
    emulator that doesn't have any documents that explain
    how to hack the Save State file.
    
    =====================================================
    
    2) What's the difference between "Save Game" and
       "Save State" files?
    
    
    This document explains how to hack "Save Game" files,
    not "Save State" files.  There is a big difference.
    
    First of all (as I mentioned earlier), the files are
    different sizes.  Save Game files are always 8k in 
    size, and Save State files are usually about 23k.
    
    In NESticle, the Save Game file (there is only one)
    always ends in ".sav" (if your game ROM is FF3j.nes,
    then the save game will be "FF3j.sav".
    
    In NESticle, the Save State files (there can be more
    than one) will end in ".sta" or ".st1" or ".st2" etc
    depending on how many you have.
    
    Different emulators may use different names for their
    Save Game files, but the size of the Save Game file
    should always be 8k.
    
    
    You may be asking "why are there 2 different types of
    save files?"  Well, simply put, the Save Game file is
    the actual file that the NES game makes itself, and the
    Save State file is the file that the emulator makes.
    The Save State file (the one that the emulator makes)
    has one big advantage over the Save Game file (the one
    that the NES game makes), because it can save ANY game
    at ANY time.  If you've ever played a real NES, you
    know that many games can't be saved at all, and the
    games that can be saved (mostly RPG's) can only be
    saved at certain places in the game.  Real NES carts
    that have the ability to save your game, do so with
    the use of a small battery inside of the cartridge.
    
    One advantage of Save Game files (the file that the
    NES game makes), is that the file will always be the
    same, no matter which emulator you use.  That's the
    main reason why I wrote this document, because it 
    applies to ANY emulator.  If I wrote this for a Save
    State file instead, then it would only apply to one
    specific emulator, because most emulators use a 
    different method for making Save State files.
    
    
    ====================================================
    
    3) How do I make/use a Save Game file?
    
    
    Making a Save Game file is very easy.  While playing
    the game, just press the start button (which will
    bring up the subscreen), then move the pointer all
    the way down to "Save".  Now press the "A" button.
    Keep pressing the "A" button until it says that your
    game was saved.
    
    In this document, I only explain how to hack the game
    that is saved in the first slot.
    
    Here are a couple of things to know about saving your
    game:
    
    -If you are just starting the game, you can't save
     your game until you exit the cave.
    
    -You can't save your game while you are in a town
     (just exit the town and then save the game).
    
    -I don't think you can save the game while you are in
     a cave (just exit the cave and then save).
    
    
    To use a save game file, just load the ROM, and when
    the game first starts, just press the start button
    and you will see the save game screen.  Pick the saved
    game you want to play (use the one in the first slot
    for this example) and press the "A" button.  On some
    emulators, you can get to the save game screen by
    using the emulator's "reset" button after the ROM has
    been loaded.
    
    
    ====================================================
    
    4) Why didn't it work for me when I tried it before?
       (Check sums).
    
    
    If you have ever tried to hack a Save Game file 
    before, you may have noticed that once you hack the
    file, it won't work anymore. The game doesn't show the
    saved game anymore, or it may say that the Save Game
    file is corrupt and it can't be used.  This will
    happen with most games on any emulator.
    
    Usually, you can hack a "Save State" file without
    any problems, but you need to know a few tricks to
    be able to hack a "Save Game" file.
    
    The reason that you can't make random changes to a
    Save Game file is because of something called a 
    "Check Sum".  
    
    The game needs a way to make sure that the Save Game
    file is exactly the same as when it first made the 
    file.  If it isn't the same, then the game assumes 
    that the file has been damaged and it won't use it.
    
    Fortunately for us, the "Check Sum" method is fairly
    easy to work around, as long as you know how.
    
    The Check Sum is simply the total of all the hex 
    numbers in the Save Game file.  For example (this is a
    very simplified version), if your file contained these
    numbers: 00 00 04 02 00, then the Check Sum would be 
    06 (add all of the numbers together 4+2=6).
    
    If you tried hacking that file and changed one of the
    numbers from 02 to 03 (00 00 04 03 00), then the Check
    Sum would no longer be 06 (it would be 07) and the
    emulator would know that the Check Sum should be 06, 
    but since it's 07, it would think the file was bad and
    it would not use it.
    
    So how do we get around this "Check Sum" thing?
      
    Well, that's actually pretty easy.  Luckily, the
    Check Sum tells the emulator what the total is, but it
    doesn't tell it what's actually in the file, so as 
    long as we keep the total the same, we won't have any
    problems.
    
    Using the example from above, lets look at some of 
    the possibilities we can get while keeping the Check
    Sum the same (06):
    
    -00 00 04 02 00 = 06
    -00 00 02 04 00 = 06
    -00 00 06 00 00 = 06
    -06 00 00 00 00 = 06
    -01 00 00 00 05 = 06
    -00 03 00 00 03 = 06
    
    As you can see, all of these will have a Check Sum of
    06, so the emulator won't know that anything has been
    changed.  Any of those files would fool the emulator
    into thinking the file hadn't been changed.
    
    Now that you understand how Check Sums work, lets
    move on to the hacking part...
    
    
    ====================================================
    
    5) Make a back-up copy!
    
    
    Before we move on to the actual hacking of the Save
    Game file, make sure that you MAKE A BACK-UP COPY of
    the original save Game file!!!  If you make any 
    mistakes while hacking the file, the emulator will
    know about it and it will erase the Save Game file.
    But if you have a back-up copy, you have nothing to
    worry about.  So always make sure you have a copy of
    the original Save Game file just in case.
    
    ====================================================
    
    6) Lets hack!
    
    
    Did you make a back-up copy of your Save Game file?
    Good, then lets get to work.
    
    Here is a list of what you'll need:
    
    1) The Save Game file that you want to hack
    
    2) A hex editor (I use Hex Workshop ver. 2.54)
       You can get a free trial version of Hex Workshop
       here: www.bpsoft.com
    
    
    You'll also need to know how to use the hex editor.
    
    ====================================================
    
    7) Money hack (LOTS of money!)
    
    
    All of the hacks that I describe, only change the game
    that is saved in the first slot.  If you want to hack
    the game saved in the second or third slots, then you
    will have to figure out what the addresses are for
    them (which isn't very hard to do).
    
    Remember to make a back-up copy of the Save Game file
    before you make any changes.
    
    This method works best if you have less than $65,500.
    It will still work if you have more than $65,500, but
    there is a very slight chance that you will end up with
    less money than you started with.
    
    
    Ok, lets get some more money!...
    
    This method will give you anywhere from $66,000 up to
    $16,000,000 (that's 16 million!).  The amount you get
    depends on how much you start with.
    
    In this example, I start with $642, and I end up with
    $8,520,192 (that's 8.5 million!).
    
    First, open up the Save Game file with the hex editor.
    Remember, the size of the Save Game file should 
    always be 8k.  If the file is larger than that, then
    you may have the wrong file.
    
    Once you have the file open, write down the values at
    these two addresses:
    
    - 41C
    - 41E
    
    In this example, here are the values at those two
    addresses:
    
    - 41C = 82
    - 41E = 00
    
    Your values will be different, depending on how much
    money you have.
    
    Now what we want to do is to switch the two numbers
    around.  This is what our example looks like after
    we switch the numbers around:
    
    - 41C = 00
    - 41E = 82
    
    To change the numbers with the hex editor, just use 
    your mouse and click on the number you want to change,
    then type in the new number.
    
    This is what the file actually looks like (in our
    example) before we make any changes:
    
    82 02 00
    
    Here is what it looks like after we change it:
    
    00 02 82
    
    Don't mess with the number in the middle.
    
    The hex editor will show any numbers that have been
    changed in red, while all of the other numbers will
    be blue or black.  So the two numbers you changed
    should be red now (which is normal).
    
    
    Now just save the file and go play the game and see
    how much money you have.
    
    
    What we have just done, was to change the amount of
    money we have in the file without changing the Check
    Sum.  Those of you that understand how hex counting
    works, should understand what we just did.  In easy
    terms, what we did was to exchange the number for the
    low amount of money, for the number of the high
    amount of money.  It's a little hard to explain, but
    as long as you get lots of money, that's all that
    matters.
    
    
    ====================================================
    
    8) Advanced information
    
    
    This section is meant for advanced users.  You should
    have a basic knowledge of hex counting and know how
    to use a hex editor.
    
    Remember that this information only applies to the
    game saved in the first slot.
    
    
    Below is a list of some of the addresses of different
    things in the save game file.  After the list, I will
    explain how to adjust the file so that the check sum
    will be correct (if you make any changes).  
    
    
    All of the data for the game saved in slot one is
    located from $0400 to $07FF.
    
    -041A = check sum digit
    -041B = amount of Capacity
    -041C = money (low byte)
    -041D = money (middle byte)
    -041E = money (high byte)
    -04C0 to 04DF = items you have in inventory (*see below)
    -04E0 to 04FF = quantity of items in inventory (*)
    -0500 to ??? = stats for first player
    -0540 to ??? = stats for second player
    -0580 to ??? = stats for third player
    -05C0 to ??? = stats for forth player
    -0600 to ??? = what first player is equipped with
    -0640 to ??? = what second player is equipped with
    -0680 to ??? = what third player is equipped with
    -06C0 to ??? = what forth player is equipped with
    
    
     *NOTE: If you want to add items to your inventory
    (by putting numbers in the 04C0 to 04DF range), don't
    forget to also put the quantity for each item you
    added in the corresponding address in the 04E0 to 04FF
    range.  If you add an item at this address: 04C2, then
    you must also add the quantity for that item at this
    address: 04E2.  If you add an item at this address:
    04C3, then you must also add the quantity for that item
    at this address: 04E3, and so on.  If you don't add
    a value for the quantity, then the item won't show up.
    The value for the quantity can be any number between
    1 and 99 (or 1 to 63 in hex) depending on how many you
    want of that item.
    
    
    Now I will explain how you can adjust the check sum
    so that you can make as many changes as you want to
    the save game file.
    
    As I explained earlier, if you try to change any of
    values in the file, chances are you will upset the
    check sum and the file won't work.  You can make as
    many changes to the file as you want, just as long as
    you make sure the check sum is correct.  Here's how:
    
    Lets say you only want to make a small change to the
    save game file... you only want to add 5 to your
    amount of capacity you have.  So you go to this
    address 041B and add 5 to whatever number is there.
    
    Now if you've been paying attention, you should know
    that since you added 5, the check sum will now be
    incorrect.  You will need to subtract 5 from another
    address to return the check sum to the proper amount.
    There is an address that is there for just that 
    purpose.  That address is: 041A.  So after you add
    a certain amount to an address, you need to subtract
    the exact same amount from 041A.  That way, the check
    sum will still be correct.
    
    
    You may be asking "what if I want to make lots of
    changes to the file?".  Well, there is an easy way to
    make lots of changes to the file without having to
    keep track of the exact amount of change.  Here's how:
    
    Go ahead and make as many changes to the save game
    file as you want (between 0400 and 07FF).  Once you
    have made all of the changes you want (more money,
    more capacity, more items, etc), use your mouse and
    highlite all of the bytes from 0400 to 07FF.  There
    should be exactly 400 bytes highlited.  Now, click
    on "Tools" (I'm using Hex Workshop) and then click
    on "Generate Checksum".  Click on "Generate" and then
    read the value at "Checksum-8".  If it says "FF",
    then your all set.  If it says something other than
    "FF", then you need to adjust the value at this
    address: 041A  until the value at Checksum-8 does
    equal FF.
    
    In other words, the check sum of all the bytes from
    0400 to 07FF must be FF.  If it isn't FF, then you
    must change the value at this address: 041A  until
    the check sum is FF.  If the check sum isn't FF, the
    file won't work.
    
    
    ====================================================
    
    Have fun hacking.  By changing the numbers at these
    addresses: 04C0 to 04DF, you can get ANY item in the
    game!  That's how I was able to make some of the
    Game Genie codes for this game.  Just don't forget to
    include the quantity for each item you add (see the
    *NOTE above).
    
    Hopefully, I will add a list of all the items in the
    game in a future update, so for now, you'll have to 
    find the items you want by trial and error.
    
    One last note... Although I haven't tried it yet, I
    would guess that you can apply some of this info to
    other Final Fantasy NES games as well (FF1, FF2j).
    
    
    If you have any questions, you can email me at:
    
        Tony Hedstrom   t_hedstrom@yahoo.com
    
    You can find other "How to" documents and thousands of
    original Game Genie codes at my home page:
    
       http://www.angelfire.com/games2/codehut/
    
    
    
    =====
    Tony Hedstrom
    Visit the Code Hut at:
    http://www.angelfire.com/games2/codehut/