Tutorial! Backup those precious N64 save games!

Discussion in 'Modding and Hacking - Consoles and Electronics' started by Madsmaten, Dec 10, 2014.

  1. Madsmaten

    Madsmaten Enthusiastic Member

    Joined:
    Sep 6, 2012
    Messages:
    501
    Likes Received:
    150
    Hey there everyone!
    If you are like me, then the Nintendo 64 is your favorite console!
    And then you probably played some of it's games for hours and hours.
    Inside the N64 cartridges sits a battery, which contains your save file, once the battery's dead all of your saved content will be gone as well.
    I figured is was time we found a way to backup those saves, and here you have it!
    So let's get started then, shall we? :D

    You will need a couple of things to begin with.

    A N64 Passport or Gameshark with a memory manager. In this turtorial I will be using the Passport III.
    A N64 game you want to back up a save from (In this case: Goldeneye).
    A Everdrive 64.
    A N64 controller Memory Pak (It does not need to be official Nintendo).
    A Hex Editor on your PC.

    [​IMG]These guys make a great team, don't they? :D

    1: You should start by checking you actual game cartridge, to make sure that the save is intact.
    [​IMG]


    2: Put you game on top of the Passport, and turn on the Nintendo.
    Go to your memory manager. Then select Gamepak on the left, and controller 1 (or where you have your memory pak plugged in) on the right.
    [​IMG]

    3: Copy the content. It will take a few seconds.
    [​IMG]

    4: Now then remove the Passport, and plug in your Everdrive 64.
    Press "Z" and find the CPAK Manager option.
    Save the file to SD.
    [​IMG]

    Remove your SD card from your Everdrive and put it in your PC.
    Go to your ED64 folder, and find the CPAK directory.
    In there you will find a file called "JOYPAD1.MPK"
    Copy it over to pc.
    [​IMG]

    Now you will need to download this file: https://www.mediafire.com/?p3d2rbqb8d7obvp
    It contains a zip folder of N64 save games.
    You will also need to download a HEX editor program.
    It should be easy enough to find one for free. I will be using Hex Workshop, but anything goes really.
    You should find the save file that matches your game.
    [​IMG]

    Now then open up your Hex Editor, and open the "JOYPAD1.MPK" and the "eep" save game from the folder we just downloaded.
    Take notices of what the eep says at the begining.
    It will be different from game to game, on Goldeneye it says: ".$83.RxHB".
    [​IMG]

    Start scrolling in the JOYPAD1.MPK hex file until you see a matching set of characters.
    [​IMG]

    Copy everything from that point, and paste it in to the "EEP" save we downloaded.
    Save it, make sure it is saved as a "eep" file.
    [​IMG]

    Make sure to rename your new file, to whatever your rom names the save as, and make sure you put it into the right directory.
    I tested mine on a Emulator.
    [​IMG]
    Succes!

    I hope some of you could use this!
    Let me know if there is any problems!

    NOTICE: A huge shout out to rso and sanni! They were the guys helping me figure all of this out!

    Thank you for joining! :)

    - Madsmaten
     
    Last edited: Dec 10, 2014
  2. rso

    rso °

    Joined:
    Mar 26, 2010
    Messages:
    2,210
    Likes Received:
    472
    I'd like to add two things:

    First, make sure the controller pak you use is empty. If there's already data on the pak, the passport might end up splitting the eeprom over multiple, non-consecutive slots, meaning you would have to find - and piece together - parts of the eeprom data from all over the pak.

    Second: As an added bonus, if the pak is empty before backing up the eeprom, the passport will always write it to the same address, so you can skip the step where you go hunting for significant characters and just use an offset of 1280 (0x500h) bytes. Which is great news for the lazy (like me :b) since you can just do "dd if=JOYPAD1.MPK of=mario.eep bs=1 count=4096 skip=1280", e.g. in a script.
     
  3. Madsmaten

    Madsmaten Enthusiastic Member

    Joined:
    Sep 6, 2012
    Messages:
    501
    Likes Received:
    150
    It has come to my attention, that a few titles won't support this.
    This i caused that some games, uses a 1 mb flash ram, since the Controller pak is limited to 256kb, it simply doesn't fit.
    These are the games that uses flash ram, and therefor aren't supported:

    Command & Conquer
    Jet Force Gemini
    Ken Griffey Jr's Slugfest
    Legend of Zelda: Majora's Mask, The
    Megaman 64
    NBA Courtside 2 featuring Kobe Bryant
    Paper Mario
    Pokemon Puzzle League
    Pokemon Snap
    Pokemon Stadium
    Pokemon Stadium 2
    Starcraft 64
    Tigger's Honey Hunt
    WWF: No Mercy
    http://www.micro-64.com/database/gamesave.shtml

    However! If you happen to own a Datel 1 or 4 Mb memory, it should in theory work.

    See here: http://www.nesworld.com/n64-datel4megcontrollerpak.php

    Other manufactors have made a 1mb Memory card, but it contains of 4x256 kb, which is switched.
    Those won't work either, however the Datel one, is switchless, but also ekstremely hard to find (Specially in working condition).

     
    Last edited: Dec 11, 2014
  4. protivakid

    protivakid Spirited Member

    Joined:
    Apr 22, 2013
    Messages:
    100
    Likes Received:
    2
    I just got my Datel 1MB memory card in the mail and can confirm that it still does NOT work.
     
  5. koifish

    koifish Newly Registered

    Joined:
    May 28, 2016
    Messages:
    2
    Likes Received:
    1
    Having some trouble with this method. Blast Corps went over fine, but the rest come up with a message "No controller connected!" when I try to select the game pak.

    EDIT: It works for most games, just not for SRAM games. So Smash Bros. and F-Zero X for example aren't being detected correctly.

    EDIT: I'm also having trouble with Mario Party 3. When copying, the Passport actually freezes. On restart, I can inspect the memory card and find the save data on there, but then I can't seem to copy the data into the ED64 save file. I can get the byte count just right but on boot the game says that a memory error occurred and the data was erased. This happens on both ED64 and in emulator.

    EDIT: I seem to have figured out the issue. For some reason, even if I delete all save data from a controller pak using an in-game save manager, or even if I use the ED64 to format the pak, it still holds a lot of residual data, and it appears that either games aren't copying correctly or the games are getting their data mixed up inside the cart. Not sure which is happening, but either way I can't copy any more save data, and question the integrity of that which I've already copied. If anybody has experience or advice on this then I'd love to hear it.
     
    Last edited: Jun 11, 2016
  6. Mord.Fustang

    Mord.Fustang Fiery Member

    Joined:
    Feb 17, 2013
    Messages:
    826
    Likes Received:
    186
    Thanks! This came in handy to get a Goldeneye save from physical cartridge to use it on Everdrive.
     
    Madsmaten likes this.
  7. Mord.Fustang

    Mord.Fustang Fiery Member

    Joined:
    Feb 17, 2013
    Messages:
    826
    Likes Received:
    186
    Picture links are dead btw.
     
  8. rso

    rso °

    Joined:
    Mar 26, 2010
    Messages:
    2,210
    Likes Received:
    472
    OH NO TEH HUGE MANATEE! Whatever are we gona do?
    ...how about nothing? The text has 99% of the necessary info anyways :shrug:
     
  9. Mord.Fustang

    Mord.Fustang Fiery Member

    Joined:
    Feb 17, 2013
    Messages:
    826
    Likes Received:
    186

Share This Page