I guess I'm starting to work on a VC save generator. Edit: (
other stuff)
Right now I'm working on a save game generator that hopefully we can use to generate VC saves. So far I've been able to use
FE100 to decrypt and extract VC saves and load them straight into PJ64, but I haven't been able to create VC saves that the wii will allow you to copy over yet.
Once I'm able to copy my injected saves to the Wii, my plan is to try and work on a more dedicated program to generate save files. If I can figure out how FE100 decrypts/encrypts the files, I could write a program that generates both a valid VC save and a .sra for emulators. Otherwise I'll just have to generate a .sra or something and make you guys inject it with FE yourselves. But before I can even do that, I'll need to figure out the save file format.
Here's what I've figured out from the save file so far.
IMPORTANT: PJ64's .sra files store save game data differently from how the Wii stores it. In PJ64, every 4 bites is mirrored, like this
These values are based on how they're stored on the wii.
0x0 - Appears to be a 32 byte header
0x20 - Start of the first of 6 game files (Save slots 1-3, and then repeated). Each is exactly 5200 (dec) bytes long, so adding 0x1450 to the following values should allow you to modify the other save games.
0x3C - The word "ZELDA" appears here, only appears next to filenames that have been created
0x42 - The death counter is stored here (2 bytes)
0x44 - The player name is stored here (8 bytes). Name "cutscene" = C7 D9 D8 D7 C7 C9 D2 C9, the capital letter "A" = AB, and the terminating character is DF repeated if the name is less than 8 characters
0x58 - Some sort of clock value (2 bytes) is stored here.
0xC0 - This row stores data for various quest/inventory items. It appears that the memory address 11A670 corresponds with 0xC0, which is awesome, because it means we can most likely use existing codes to map out the .sra format, and for the values we don't know we can just use a memory watcher/gameshark codes, instead of having to change values, save, then view the .sra file in a hex editor