Jump to content
Pokedoc

A tool to backup HG/SS saves

Recommended Posts

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?

I can't find any of my IR cards or I'd test this myself, but are all HGSS saves coming out of this program like this? If it's only areas with zeros then it seems like some kind of weird masking issue (ie writing 00 over a non-00 byte won't change the byte) which could be an issue with the program.

Share this post


Link to post
Share on other sites

Mine were accepted by PPSE-DS. They look fine too.

@Pokedoc: Are you clearing the NOR flash before writing to it? though I don't think this is an issue...

Share this post


Link to post
Share on other sites

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

That is funny. You seem to have two versions of the 256M cart, and I have the C11 as well, which seems to be working fine for me.

@Balrog: Yes, I am deleting the NOR before using it. The main difference between my tool and other tools seems to be that I do not delete the entire 256/512M range, just as many pages as I need to fit in the save (which shouldn't affect anything). If there are indeed some hardware revisions which refuse to work, the best way might actually be to disable them or at least place a warning. Maybe I'll add a quick way to identify the hardware revision of the 3in1 in the regular tool.

@Bond697: Maybe something in your 3in1s is set by your flash card, but not by mine? I have tested the tool on my old CyclopsDS and my new(er) Acekard2i, and neither of them seem to mess something up. What flash card are you using?

I am getting more and more dissatisfied when it comes to this hardware. Right after flashing something to the NOR memory, I was unable to read back some of the data (two bytes!) I had just written there, which is why I included the "you need to restart" step while restoring data. If this bug appears even with non-IR cards, then it is definitely the 3in1 which is to blame. I'll try and experiment some more and try to understand it better.

@evandixon: I tried to get the file browser working for the current release, but it is considerably more complicated than expected. Unfortunately, the DS does not provide a built-in GUI toolkit where you can simply call "SelectFile(...)", but everything needs to be coded from hand. I am still hoping to get it working at some time, but I wouldn't count on it happening anytime soon.

On another note, I have successfully applied for a developers iEvolution, and will get it when it is available. Unfortunately, the very latest rumors from gbatemp seem to hint that the SD-slot is locked out by hardware. It is claimed that as soon something is executed from Slot-1 (i.e. the flash card), the SD-slot becomes unavailable, and that it is only available to the NOR. Well, we will have to see what it really looks like when the hardware is finally in our hands.

Share this post


Link to post
Share on other sites

so far i've mainly used an ez-flash Vi and V+(same company as makes the 3in1, so you would think...) and i've also tried an acekard2i and supercard ds2. also, it does look like that bug happens with non-IR cards too, since that guy's diamond save has the same junk written throughout.

e: congrats on the ievolution! looking forward to lots of cool stuff.

Share this post


Link to post
Share on other sites

I would still try deleting the entire NOR and doing some tests. Perhaps they are using a broken implementation of wear leveling? A test build which deletes the entire NOR would be useful for this case.

Also, I wouldn't count on the iEvo too much.

Share this post


Link to post
Share on other sites
Does it work on ARDSi?

It depends. You will need slot 2 memory as described in the original post/instructions. You will also need to DLDI patch it (somehow) with this patch that only works if your MicroSD is 2GB or less.

DLDI patching tools can be found at:

http://dldi.drunkencoders.com/index.php?title=Category:Tools

Share this post


Link to post
Share on other sites

Congrats on the tool, unfortunately, the HG save I got from my retail cartridge does not work.

I used the hwtest file on my EZ 3in1 (it's an EZ5C10), and it generated the following:

Testing 512M version:

7d48 0 1273 0

Testing 256M version:

227e 227e

Testing 256M revision:

2218 2218

H6H6

I made dumps of my HG save on both my R4 (original model) and Acekard 2i. The two saves I got from the two flash carts are identical after running them through a hash checker. So, for my case at least, I can verify that it's not a flash cart issue.

I've attached my save for those interested.

POKEMON HG.0.sav

POKEMON HG.0.sav

Share this post


Link to post
Share on other sites
Congrats on the tool, unfortunately, the HG save I got from my retail cartridge does not work.

I used the hwtest file on my EZ 3in1 (it's an EZ5C10), and it generated the following:

I made dumps of my HG save on both my R4 (original model) and Acekard 2i. The two saves I got from the two flash carts are identical after running them through a hash checker. So, for my case at least, I can verify that it's not a flash cart issue.

I've attached my save for those interested.

Your saves opens up fine in Pokesav. What was it not working in?

Share this post


Link to post
Share on other sites
Your saves opens up fine in Pokesav. What was it not working in?

It may open with Pokesav, but if you check my boxes, it's full of corrupted data. Also, as Bond697 has mentioned, Pokegen doesn't work either. It throws an "Invalid save file" error. I also tried running it through the Mystery Gift Editor, and that too throws an error.

Running the save file through an emulator and my flash carts forces me to start a new game.

Share this post


Link to post
Share on other sites

A new version of the tool is available (see first post), which I hope will fix most issues with the 3in1 some people are experiencing. Version 0.2 introduces the following new features:

- An ini file. If your flash card supports "argv", you can drop it in the same folder as the nds file. If you get an error, place it in the root folder. (The tool will complain if no ini file is found.)

- [Needs the ini file.] WiFi/FTP save dumping/restoring. Tested with smallftpd-1.0.3 and a Ralink-based WiFi stick in SoftAP mode.

- File browsing is now fully functional, both in FTP and 3in1 mode.

- First attempt to identify Slot-2 DLDI flash devices. (Based on your Slot-2 device returning a correct "argv" value. Please test this!)

- Added menu to GBA backup mode (it still does not do anything, though)

- Made some modifications to the 3in1 code, I hope that the glitches related to bad dumps are gone now.

As usual, feel free to test the new features. I didn't find the time yet to test it on any other card than my good old Cyclops DS. However, with the new WiFi mode and improved file browsing, there should be something for everybody now.

Barring critical bugs (or a sudden rush in inspiration), this will be the last update for some time. When I get my iEvo from Team Cyclops, I will see what can actually be done on the DSi. According to a news post on gbatemp, TC anounced to release "information and code snippets" so that the new DSi features should be ready for use soon, and that "Changes required to get homebrew functioning properly in DSi mode are actually quite minimal", so *crosses fingers* DSi support should be not too far down the road. At the very least, I hope to get WPA encryption in the WiFi mode up and running, so you don't need to buy a new WiFi stick (well, you do need an iEvolution, or maybe not - just read the latest news). Now all that remains is for TC to actually ship their samples.

And quite interestingly, another hacking group announced a new exploit which allows access to the NAND, install custom channels and finally access the DSi SD-Slot, so there are certainly interesing times ahead.

Share this post


Link to post
Share on other sites

Thanks for the new release Pokedoc.

Here are my findings with this version:

Using either my R4 or Acekard2i with my 3in1 still produces the same corrupted save file that I got with version 0.1.1. The checksums from the 0.1.1 dumps are the same as the ones I dumped with 0.2.

Dumping with Wifi works (awesome job Pokedoc!). I was able to make proper dumps with my R4 and Acekard2i. The wifi dumps produced a different checksum compared to the ones dumped with the 3in1. However, I can verify the wifi dumps are proper because they load error free with the applications I was having problems with before (Pokesav doesn't show corrupted boxes, Pokegen and Mystery Gift Editor don't throw save file errors anymore, and running the save files with an emulator or on a flash cart resumes the game from the save point).

To sum up, 3in1 dumping is still sketchy (for me anyways) and Wifi dumping is perfect.

Great job Pokedoc!

Share this post


Link to post
Share on other sites

I used R4 and FATDS, but have stopped with the first screen...

There is not reaction even if I push the B button..

I'm sorry for my poor English.

Share this post


Link to post
Share on other sites

Thought I'd post this for whoever is interested.

I did a hex comparison between my 3in1 and Wifi dumps and noticed that the junk data is written on a consistent basis. It seems that within the 3in1 save, at every 16KB, the junk data is written to the file. The starting point for where the junk data was written in my save was at 0x2000. Based on the established pattern of every 16KB, the next instance of junk data will occur at 0x6000, then 0xA000, 0xE000, 0x12000, etc., all the way until near the end, at 0x7E000.

The size of the junk data is also consistent as well. At the first instance (0x2000), the junk data ends at 0x3FFF. The difference between these two produces 0x1FFF, or 8191 bytes. This value remains constant for each instance of junk data. So, at 0x6000, the junk data ends at 0x7FFF, at 0xA000, it's 0xBFFF, at 0x12000, it's 0x13FFF.

That's it with my observations. I hope someone will find this useful. :)

Share this post


Link to post
Share on other sites

I too am having issues with 2.0 and am unable to press b.

I have a 'ph'at ds and a DSTT.

Version 1.1 works, but save file is only readable in pokesave, even if i resave it from there, the game does not recognize it. (Soul Silver if you're interested.)

Share this post


Link to post
Share on other sites

Would there be a way to modify this to work with AR DSi, so that when you run it with the AR, it can dump saves into the micro SD card plugged in the AR thats its being executed from?

Share this post


Link to post
Share on other sites

Not working for me, even with a 3in1+

Gets stuck on "Formating NOR memory"

Cart is a CycloDS, using version 2.0 of the tool.

Game is SoulSilver (J)

Edit: Worked now for some reason?

Save loaded properly on PokeGen.

Share this post


Link to post
Share on other sites
Not working for me, even with a 3in1+

Gets stuck on "Formating NOR memory"

Cart is a CycloDS, using version 2.0 of the tool.

Game is SoulSilver (J)

Edit: Worked now for some reason?

Save loaded properly on PokeGen.

I cant really recall any 3in1 homebrew I've used that hasn't had intermittent issues like this. You got things to work the same way I did; trying again.

Share this post


Link to post
Share on other sites

If it gets an error "File too small or no save chip", it means the battery in the 3in1 just died, right?

That error appears as soon as I press B.

When I don't get this error, I get an error that says "Thanks to some crazy bug, you will need to restart your DS and this app. Sorry." once it finishes formatting NOR.

Share this post


Link to post
Share on other sites

Got this working on my SuperCard CF (ancient, I know) using Wi-Fi FTP. Had to patch the binary with this DLDI first. Saving and restoring works great.

Finally, a way for me to backup my HG save. THANK YOU SO MUCH. You rock. anim_27.gif

Share this post


Link to post
Share on other sites

So what's the trick to getting FTP mode to work? I started a smallftpd server, I can connect to it from my other machine, the settings in the ini match, but my DS just sits there saying connecting to AP. Any chance the ftp server can be on the DS so you can connect to it from a pc like wooddumper?

Share this post


Link to post
Share on other sites
So what's the trick to getting FTP mode to work? I started a smallftpd server, I can connect to it from my other machine, the settings in the ini match, but my DS just sits there saying connecting to AP. Any chance the ftp server can be on the DS so you can connect to it from a pc like wooddumper?

It connected to my router right away, so I'm guessing it uses the Wi-Fi settings stored in your NDS. Double-check those?

Share this post


Link to post
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...