View Single Post
Old 17th August 2017, 04:26 AM
HatCat's Avatar
HatCat HatCat is offline
Alpha Tester
Project Supporter
Senior Member
Join Date: Feb 2007
Location: In my hat.
Posts: 16,236

I see what's going on.

It's been so many years. I didn't remember that Tooie not only takes a copy of file 1/2/3 and buffers a "copy" of it over to file slot 4 with the undestroyed magic number but ALSO uses that slot as the replacement with any new data from saved data changes since the last time you wrote the file.

Your slot 4 is almost identical to slot 1, except for one single byte: game_data[0x26]. Now I haven't reverse-engineered that byte, so I don't know what that pertains to (it's shortly before the eggs counts for the different egg types, so maybe it's trivial?).

Because Banjo-Tooie ends each save block with a 64-bit checksum summarizing the entire block of bytes hasn't been corrupted somehow, Tooie thinks your save is corrupt because the checksum you copied doesn't match the entire rest of the bytes you filled in all because of that one stupid byte.

Which means that the cut-down slot 4 at the end of your DexDrive's EEP file is missing unique data: The new 64-bit checksum reflecting that one changed byte.

Either blame your DexDrive for throwing out required data needed to get the save to work and just call it a day, or replace that one byte to the old value as well.
Reply With Quote