don't click here

Using savestates

Discussion in 'General Sonic Discussion' started by Sonicfan 101, Jul 23, 2003.

Thread Status:
Not open for further replies.
  1. L0ST how do you hack game saves?
     
  2. Mystical Ninja

    Mystical Ninja

    For old time's sake. Oldbie
    3,342
    5
    18
    New Castle, Delaware
    Nothing that concerns this place in the least.
    With a Hex Editor, I assume. I can't use one of those...Hex editing is just so friggin' hard for me. :(
     
  3. Is there a way to use downloaded gamesaves?
     
  4. LocalH

    LocalH

    roxoring your soxors Tech Member
    Yes, just place them in the same folder as your other saves, make sure it's named so that it can fit into one of the 'slots' (example: say you already have md8123.gs0 through md8123.gs5, you can name it md8123.gs6 through md8123.gs9), then just load that slot from the emu. Or, if the emu has a way to load a save with an arbitrary name, use that.
     
  5. LOst

    LOst

    Tech Member
    4,891
    8
    18
    I use a hexeditor.

    A Save State is a dump of the memory from the game at that moment you saved it.

    If you want to change for example, the time counter, it's just to search for the value the time had when you saved the state. Sooner or later you will find the right value.
     
  6. Mase

    Mase

    Member
    436
    0
    0
    Does anyone know a Mac emulator that uses savestates?
     
  7. LocalH

    LocalH

    roxoring your soxors Tech Member
    A popular technique is a similar one to trainers like that found in the many different versions of the AR - make savestates with the value you want to modify at known values (like, for example, 4 lives, 5 lives, 7 lives, 3 lives, etc). You can even repeat some values, that can help narrow it down. Then compare the savestates with one another (Hex Workshop's compare function is very nice), and you should be able to derive exactly which byte you want to modify.

    You can also easily convert such an address to a Genesis PAR code that you can use on hardware if you own a PAR. Because you're usually modifying RAM with this technique, subtract $2478 from the offset in a hex calculator. This gives you the RAM address as the system sees it. To make a PAR code from it, the code is FFXXXXYYYY where XXXX is the RAM address (the Genesis has 64K of RAM, so anything larger than FFFF is an invalid RAM address and can not be patched with the PAR) and YYYY is what you want to patch it to. If you only want to modify a single byte (like for lives), you use FFXXXX00YY.

    Unfortunately, you can't make valid GG codes with this method - the GG can only modify ROM, not RAM.
     
  8. LOst

    LOst

    Tech Member
    4,891
    8
    18
    Most of use are either using Windows or Linux. We can't help you :(
     
  9. LOst

    LOst

    Tech Member
    4,891
    8
    18
    The original Game Genie ROM can't hack memory, but the Game Genie function in Gens can :P
     
  10. LocalH

    LocalH

    roxoring your soxors Tech Member
    Well, true, I was referring to hardware.

    Still, it's a good method, if a bit tedious. And it only works well for data that you know the internal representation of (numbers that you see on screen are good because the only conversion is from decimal to hex usually).

    I've patched all the Sonic games to give me 65535 rings with this method :(
     
  11. LOst

    LOst

    Tech Member
    4,891
    8
    18
    I remember when I played number 65535 of S&K's Special Stage :P

    *shot*

    With hacking of course. You can probably hack it with Sonic Scenario
     
Thread Status:
Not open for further replies.