This is one of my favourite games on the 3DS, so I thought I'd take a peek inside the save file. I did find a good starting reference: http://cloudmodding.com/zelda/oot3dsave
However, I can't figure out for the life of me how the save's checksum is generated. It seems to be made up of the last 4 bytes in the file (the last 2 are always 0, and the 2 before that vary, so it's likely a checksum; in addition, creating a new save file that differs only in the creation minute results in a differing checksum down there at the end, of course). I tried adding every byte together and seeing if the value generated by the game matched, and no dice. I tried adding every every two together (0x1234 + 0x5678 for example), as well as every four, but none of them match this blank save's value of 0x00002178. If anyone has any insight as to how the game might be figuring this value out, please let me know. I'd like to write an editor, but this is the last thing keeping me from generating "valid" saves.
Attached is save00.bin, which was created 1 minute before save02.bin. Both are unedited and un-started USA saves.
However, I can't figure out for the life of me how the save's checksum is generated. It seems to be made up of the last 4 bytes in the file (the last 2 are always 0, and the 2 before that vary, so it's likely a checksum; in addition, creating a new save file that differs only in the creation minute results in a differing checksum down there at the end, of course). I tried adding every byte together and seeing if the value generated by the game matched, and no dice. I tried adding every every two together (0x1234 + 0x5678 for example), as well as every four, but none of them match this blank save's value of 0x00002178. If anyone has any insight as to how the game might be figuring this value out, please let me know. I'd like to write an editor, but this is the last thing keeping me from generating "valid" saves.
Attached is save00.bin, which was created 1 minute before save02.bin. Both are unedited and un-started USA saves.