DS Savegame Manager

From GameBrew

DS Savegame Manager
Dssavegamemanager2.png
General
AuthorPokedoc
Last Updated2011/08/15
TypeSave Managers and Editors
Version0.3.0 RC1
LicenseGPL-2.0
Links
Download
Website
Source

This tool allows you to backup and restore saves from commercial Nintendo handheld game cartridges. Based on the devkitPro toolchain and other open source libraries, this program implements most of the features also found in the older (closed-source and abandoned) tools developed by Rudolph and other members of the DS homebrew scene. It does not (and will never) support ROM dumping.

Requires a DLDI-capable Flash Card and Nintendo DS Phat/Lite to use.

Features

  • Should support all known DS game saves, including some problematic games with exotic hardware.
  • Supports most GBA save types, with the exception of EEPROM type saves.
  • Supports 3in1 backup mode (DS saves, requires an EZFlash 3in1).
  • Supports WiFi backup mode (DS saves, requires a compatible access point and an FTP server).
  • Supports Slot 2 (DS saves).

Installation

Setting everything up:

Copy the savegame_manager.nds file to a convenient place on your microSD-card.

Copy the savegame_manager.ini file into the root folder of your microSD-card.

If you get a DLDI error on start, your flashcard is ancient and/or does not support auto-DLDI patching, meaning you will need to patch the program by hand.

For 3in1 mode:

The EZFlash 3in1 is a piece of hardware manufactured by Team EZFlash that serves as a memory expansion, rumble pack and GBA flash card, which is supported by pretty much every Slot 1 flash card out there.

Other than keeping the 3in1 in Slot 2, you don't need any additional work to set everything up. As of V0.2.4, it work even if your 3in1 SRAM battery is dry. To backup/restore your save, select one of the options on the lower screen, and follow the instructions.

For GBA mode:

There should be nothing to set up here. Please keep in mind that EEPROM-type saves are not supported yet (Rudolphs' GBA Backup Tool (0.2+) supports it though).

For WiFi mode:

You will need to set up two things: a compatible wireless access point, and an FTP server running on a computer (you can use something like smallftpd).

For Slot 2 mode:

To use Slot 2 mode, you need a Slot 2 DLDI-capable flash card. Track down the DLDI driver for the Slot 2 card (not your Slot 1 card) and manually apply this driver to the nds file.

After this, you must prevent your Flash Card from DLDI patching the program by itself. How this is done varies between cards (on the Cyclops DS, press Select when booting). Some cards do not support disabling DLDI at all, so you may need to apply an additional "no DLDI" patch as well, after you added the Slot 2 DLDI driver.

After these preparations, the program should be able to read from and write to Slot 2. Tested and verified working with an EZFlash IV miniSD.

Note that you may need to copy your ini/language file to the Slot 2 card.

User guide

No matter which mode the program is running in, the usage of the program is very similar. You will get a choice of three options on the lower screen: Backup, Restore and Delete. The first two options are for dumping your save or writing a save back to your retail cartridge.

Backup

First, you will be prompted to remove your flash card and replace it with a retail game cartridge. The program will identify the retail cartridge and the save chip (plus the infrared device, if you are using a Pokemon game).

In 3in1 mode, the save will now be written to your 3in1, and you will be prompted to reboot your DS and restart the program. Other backup model will directly continue to the following part.

You will now need to select an existing file to overwrite, or press (L+R) if you want to write a new file without overwriting anything. In FTP mode, it will take a few seconds to present you the existing files in your target directory.

If you selected a new file, the program will now search for an unused filename based on the game title. After finding the new filename, the save will be dumped. How long this takes depends on the save size and the backup path. (FTP, in general, is slower than other options.)

Restore

Restoring a save is easier than dumping it. You will first be prompted to select a filename, and then, this filename will be loaded into memory. Then you will be asked to replace the flash card with a target game cartridge. And finally, the save will be restored.

Delete

It is very likely that you will never need this. It will delete your save without backup, your cartridge will be reset as if you had just bought it. This might be useful to reset some once-per cartridge features (e.g. Manaphy Eggs on Pokemon Ranger).

For your own safety, this option is protected by multiple warnings and a quite unintuitive button combination.

Supported games

As of now, this program supports more than 99% of all known DS games. If your game was supported by Rudolphs' tools, it should be supported by this program as well. In addition, the program supports the following games with exotic hardware:

  • Walk with Me/Personal Trainer: Walking/Laufrhytmus DS (that Pedometer game).
  • Pokemon HeartGold/SoulSilver/Black/White.

The following games are not supported:

  • Band Brothers DX/Jam with the Band.
  • WarioWare: DIY.
  • Pokemon Typing DS (ships with a Bluetooth keyboard).

FAQ

Q. Is it safe?

It should be. A considerable amount of effort has been made to prevent saves from being deleted, and pretty much everything is double-checked before anything is done to your retail cartridge.

In FTP mode, the entire save is loaded from the server before your save is touched, so if your wireless connection should die at the wrong point, your game will remain safe.

Q. I am getting a zero-sized save size!

This means that Nintendo is using a new save chip, which is not known to the homebrew yet. If your game cartridge is identified as "Flash (ID:*id*)", you can fix this easily by taking the id given there and tracking down the capacity of this device.

In this case, uncomment the lines in the "[new chips]" section in your ini section, add the ID and the dual logarithm of the device capacity. (This means that the capacity is "2^n bytes", and you need the "n".)

Q. I can't dump saves using WiFi!

Make sure that you have WRITE access on your FTP server. Smallftpd only gives you read access by default.

Compatibility

For DS Phat/Lite only. DSi and 3DS are not supported.

Known issues

During the testing phase, several flash cards exhibit a weird behaviour, interfering with this program. What follows is a list of known issues with specific flash cards. If your card is not on this list, then everything should work (or no one has tested it on your card yet).

Various R4 clones - There are more R4 clones out there than anybody can count, some of which have various issues. There have been many fixes in this progrom however there is no guarantee it will work on your hardware.

Action Replay Media Edition/DSi - The version tested by the author does not allow homebrew and it is unlikely to work.

Changelog

Version 0.3.0 RC1 2011/08/14

  • Adds the ability to translate most parts of the user interface.
  • Adds Slot 2 backup mode (you will need a Slot 2 flash card; anything that has a DLDI driver should be supported).
  • Enables FTP restore mode for saves bigger than the memory buffer (usually 2 MB), it now uses multiple passes in this case.
  • Various stability fixes, especially aimed for R4 clones.
  • Many behind-the scenes improvements aimed to simplify further hacking.
  • Instruction file is no longer beta.

Version 0.2.4 2011/04/10

  • Modify 3in1 backup path so that it supports 3in1 with dead battery.
  • Make it clearer when FTP mode has hit a small delay and the program is trying to continue.
  • Program now makes use of lower screen for most messages, which allows longer, more detailled messages.
  • Adds a Readme file/Manual to the program.

Version 0.2.3 2011/03/04

  • Fix a 3in1 backup bug introduced with 0.2.2, dumping works again.
  • Improves stability of the WiFi backup/restore processes. The program will no longer freak out if something interferes with the transfer.
  • Adds partial GBA backup/restore mode (EEPROM is not supported yet).

Version 0.2.2 2011/02/12

  • Fix more glitches with older EZFlash 3in1s. Enable 1-pass restore process.
  • Add safety mechanism for WiFi restore process; if the file transfer fails, nothing will be deleted.

Version 0.2.1 2011/01/09

  • Definitely fix issues with EZFlash 3in1 mode on the EZFlash Vi (and probably several other cards as well).

Version 0.2 2010/12/30

  • Add an ini file (using libini by Simon White); drop it in the same directory as the homebrew or in the root folder if it does not work.
  • Add Wifi backup/restore mode (using ftplib by Thomas Pfau).
  • Add File browsing.
  • Add (very experimental) Slot-2 Flash Card detection routine. If this works as expected, I will add a full Slot-2 based backup mechanism later.
  • (hopefully) fix some issues with the EZFlash 3in1.

Version 0.1.1 2010/12/07

  • Fix broken restore sequence (you now need to press (B) on the start screen, instead of (A)).
  • Fixes and improvements to the restore function (verifies that .sav size >= save chip size, and that a save chip is present at all).

Credits

Many thanks to everybody who contributed to this development, either directly or indirectly:

  • Thomas Pfau, for his compact FTP library not depending on OS-specific functions.
  • Simon White, for his ini-parsing library which does not have special dependencies.
  • Everybody at projectpokemon.org who was willing to beta-test this software.
  • Everybody who has ever contributed on devkitpro.

External links