Jump to content

A tool to backup HG/SS saves


Pokedoc

Recommended Posts

...yes, it is finally cracked!

Phew! After many months filled with frustratingly unsuccessful attempts, I finally understand how to access HG/SS saves. And guess what? It is ridiculously easy to do (once you know how to do it), but figuring it out took *much* longer than expected.

Attached to this post is the latest version of my tool, which includes a Readme file that tells how to set up (almost) everything. If you want to have a look at the source code, I am releasing it under the GPL V2, now hosted at Google Code (http://code.google.com/p/savegame-manager). If you want to write your own fork or just commit something, you should be able to do so without having to restart from scratch. (Finding a working file browser/micro FTP client library is nasty when you don't have a standard computer with an operating system that does everything for you.) And even though the license does not force you to adhere to the following, I have one request, though: Please do *not* add ROM dumping to this tool, since I do not support piracy. If you want to borrow some of my code using a different license, contact me, and we can figure something out.

Enough talking, feel free to try it out. If you have experience with Rudolphs tools, you should not need detailled instructions, and if you are new to this, have a look at the readme file included with the releases. It is not fully polished yet, but you should be able to work with it anyway.

------

Edit (12-8-2010) Uploaded version 0.1.1 (fixes semi-broken restore mechanism)

Edit (12-30-2010) Uploaded version 0.2 (WiFi mode, file browsing, and more). Leaving V0.1.1 in place, just in case something does not work as expected

Edit (1-9-2011) Uploaded version 0.2.1 (definitely fixes 3in1 on EZFlash V(i))

Edit (2-14-2011) Uploaded version 0.2.2 (Fixes more glitches with 3in1 non-plus versions, modifies FTP restore mechanism so that the save file is fully loaded before the game cartridge is touched. The maximum save size using FTP is now restricted to 2 MB, which should be enough for >99%of all games)

Edit (3-4-2011) Uploaded version 0.2.3 (Fixes a 3in1 bug introduced with 0.2.2, improves FTP connectivity, adds incomplete GBA backup/restore mode)

Edit (4-11-2011) Uploaded version 0.2.4 (fixes 3in1 backup when your 3in1 battery is dead, adds Readme file). Edited post to reflect recent changes.

Edit (4-30-2011) Announce hosting at Google Code

Edit (8-16-2011) Uploaded version 0.3.0 RC1, removed old versions. Source code is no longer included, you can get everything from Google Code.

savegame_manager_0.2.4.zip

sgm_0.3.0.RC1..zip

savegame_manager_0.2.4.zip

sgm_0.3.0.RC1..zip

Link to comment
Share on other sites

  • Replies 427
  • Created
  • Last Reply

Top Posters In This Topic

i must be doing something wrong. i hit A to continue as requested. and it goes to a screen that says "FTP mode unsupported" and then i can't do anything else. i have a couple of 3 in 1s i'm trying with that i know both work. what might i be doing wrong?

Honestly? I'm afraid I have no idea what might be going wrong here. The tool selects its mode approximately like this:

- If a DSi is detected with an SD card inserted, the tool enters DSi mode (currently defunct, since no one knows how to reliably access DSi mode yet)

- If a 3in1 is inserted in Slot 2, the app enters 3in1 mode (which should be working, at least it does for me)

- If a GBA module is inserted into slot 2, it enters GBA backup mode (defunct, although some code is in place)

- And finally, if nothing was found, the tool tries WiFi mode (defunct)

Since you are getting WiFi mode, my best guess is that your 3in1s were not successfully detected. I am using the file provided by EZFlash for homebrew developers and firmware hackers that everybody is using (dsCard.cpp), which should provide the necessary hardware detection - buy maybe my file is outdated. Personally, I have two different hardware revisions of the 3in1: the "Plus" version (the one which is smaller than a GBA module, which only fits into the DS Lite) and one of the full-size versions (same size as a GBA module), and both are detected successfully. Maybe EZFlash switched hardware again? What hardware version are you using? Do Rudolphs tools work for you (there is a hacked version supporting the 3in1+)? What hardware version of the 3in1 do they report?

And, on an unrelated note: Yesterday evening, I found a bug in the restore sequence. I added the title screen literaly at the last second, and this managed to interfered with the restore sequence (Press A to continue - Press A again after swaping the game cartridge - One button press registers as two, and the tool tries writing to the Flash card). Fixed it and replaced the file attached to the first post. Everybody who downloaded it, please try the new version. and restoring should work as expected. The title screen now uses the B button to get past, which no longer interferes with the "please swap cart" A button after the title screen. I have also made some additional checks to ensure that the .sav file size matches the physical save chip, and the tool should no longer try to restore a save to a flash card.

I will try to continue providing critical bug fixes as necessary, and maybe more. I am still hoping to get WiFi mode working as well, as soon as I find the time to look into FTP client mode. (If anybody is able to donate code or help in any other way, this would greatly accelerate things.)

Link to comment
Share on other sites

i've never gotten rudolph's tools working. i have an ez-flash v+ and vi, not an iv which they are supposed to work with.

my 3 in 1's are both the + version that fit snugly in the gba slot, not the big ones. i'm pretty sure that i've checked which revision mine are at some point and they're the newest. i'll have a look when i get home from work.

Link to comment
Share on other sites

Since you are getting WiFi mode, my best guess is that your 3in1s were not successfully detected. I am using the file provided by EZFlash for homebrew developers and firmware hackers that everybody is using (dsCard.cpp), which should provide the necessary hardware detection - buy maybe my file is outdated. Personally, I have two different hardware revisions of the 3in1: the "Plus" version (the one which is smaller than a GBA module, which only fits into the DS Lite) and one of the full-size versions (same size as a GBA module), and both are detected successfully. Maybe EZFlash switched hardware again? What hardware version are you using? Do Rudolphs tools work for you (there is a hacked version supporting the 3in1+)? What hardware version of the 3in1 do they report?

There are actually 3 hardware versions of the 3in1. The first is available in full size and Lite sized versions but the underlying hardware is the same. The second and third were only produced in Lite versions. The second version was supposedly due to chip supply issues while the third was an expansion of NOR capacity.

See here for more info: http://gbatemp.net/t130659-how-to-tell-which-version-of-the-3in1-you-have

I'll take a stab in the dark here and say that Pokedoc may be testing on the 2nd version and not the true "plus" (the 3rd version). Take a look at that link and you should be able to figure it out for sure.

Link to comment
Share on other sites

- If a DSi is detected with an SD card inserted, the tool enters DSi mode (currently defunct, since no one knows how to reliably access DSi mode yet)

Team Cyclops hacked DSi mode.

You should be able to get this feature working on the Cyclo DSi

Link to comment
Share on other sites

To clarify this, we figured out on IRC that Bond actually has the second version (EZ5C13) not the plus.

I have a 3in1pls (latest) and it works just fine. I think the issues may be with the second version. Still need to do more testing.

EDIT: We're at the end of our testing session and all we've come up with is that the bug seems to be in the ezflash team's code and it seems to prevent the EZ5C10, EZ5C11, and EZ5C13 from working. So basically, anything that isn't a phat version or a plus version doesn't work. This is only tested with one person's stuff so it may be an isolated incident.

EDIT2: Balrog found someone else with a EZ5C13 and your tool worked for them, so it does seem to be an isolated incident with that model. Until we can find someone else with a C10/C11 though we can't be sure there isn't a legitimate problem with them.

Edited by Poryhack
Link to comment
Share on other sites

wow gotta say thank you so much this tool, Pokedoc. I've tried this with the EZ5C13 type of 3in1 (the one that is identified as New3in1 by exploader)

edit: oops apparently, there is an error. I have succeeded in backing up the save file, but unfortunately the save file cannot be read by PPSE-DS and PokeGen. Anyone got the same error?

edit2: I've also tried to back up other games (Diamond, Platinum) and it worked perfectly.

Link to comment
Share on other sites

wow gotta say thank you so much this tool, Pokedoc. I've tried this with the EZ5C13 type of 3in1 (the one that is identified as New3in1 by exploader)

edit: oops apparently, there is an error. I have succeeded in backing up the save file, but unfortunately the save file cannot be read by PPSE-DS and PokeGen. Anyone got the same error?

edit2: I've also tried to back up other games (Diamond, Platinum) and it worked perfectly.

What save file are you having trouble with? Black/white?

Upload it and I can at least see what's wrong with the save, I can't fix the tool but if there is a genuine issue I'm sure it could be figured out/

Link to comment
Share on other sites

Thank you everybody for your feedback, so it seems like only one of the three 3in1 HW revisions refuses to work. To support additional testing, I have prepared a quick-and-dirty testing tool that reads the same magic values used by the default 3in1 detection code. Those of you who have a 3in1 that does not work: could you download and run the tool attached to this post, insert the 3in1 that is not detected and post the values it did dump?

Just for clarification: my own devices detect as the 512M-version (slim size) and one of the two 256M-versions (big site, not sure which hw version, though). I vaguely remember reading somewhere that the EZFlash demo code might be incomplete, maybe this helps in eliminating the last glitches. Anyway, it is good to read that it does work for some of you.

And on the Cyclops iEvolution: I did actually read about this new revision, as well as the rumors that it will support DSi mode. Since this seems to be verified now, this should help to support Team Cyclops as well. Let us just hope that somebody figures out why the classical backup methods collectively fail on the DSi when running in DS mode (and that the homebrew toolchain gets updated in time). TC giving out devices for free would fit quite nicely in my own scheme, actually: I have not yet bought a SC DSTwo and was already aiming towards an iEvolution (my current Evolution is starting to act strangely, sometimes not accepting regular cards).

@whatever: You were asking for support of other Slot-2 devices, and while it should be possible to do this, I am not sure if it is completely feasible. This weekend, I happened to come across a library that is supposed to add support for various Slot-2 devices when it comes to using them as a RAM expansion tool, but there seems to be no support for other functionality (and frankly, the code found there is already quite ugly). Due to a lack of the necessary hardware, I also do not have the abilities to test it myself (only got two 3in1 cards and an M3 GBA expansion pack myself). But you are right: in principle, it should be possible.

hwtest.nds.zip

hwtest.nds.zip

Link to comment
Share on other sites

comparing the HG save to my good .sav, there's a ton of extra junk at the end and interspersed throughout. a lot of lines that should be straight zeroes are:

04 00 7E 22 00 00 00 00 04 00 7E 22 02 22 01 22

e: actually, almost all the blocks that should be all zeros are overwritten with that junk, probably parts of the file with actual data, too. pokegen must check somewhere that pokesav doesn't to verify the file.

e2: the other 2 save files have the same junk throughout. maybe it's a product of your 3-in1?

e3: which numbers do you need from the hardare test?

well, here's what my output was:

C13:

testing 512m version:

2e 7008 ea00 1c58

testing 256m versions:

227e 227e

testing 256m revision:

2202 2202

VZ064 - r1

C11:

testing 512m version:

2e 18c0 ea00 1840

testing 256m versions:

227e 227e

testing 256m revision:

2218 2218

H6H6

Edited by Bond697
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...