The proper way to recover that save file would be:
1. Make a new save file on a different card and remember the save file's header (first 4 or so bytes)
2. Create a raw disk image of the card you're trying to recover data from.
3. In the resulting disk image file, do a binary search for the header you got from step 1. It should be sector-aligned - meaning it starts at an address divisible by 512.
4. Read from the start of the header you found in step 3 to whatever the size of the new save file was in step 1 - there's your recovered save file.
That's the gist of how to do it. You will need to use a hex editor of your choice for steps 3 & 4. Note that if your save file has already been overwritten by something or was fragmented (unlikely) you're out of luck.
how would i make a raw image? do u suse win32diskimager for that? also, when u say "the save files header" do u mean its filesize? in this case, 512kb, ergo, 524,288 bytes?







