|
#11
|
||||
|
||||
![]()
Now as far as fixing it manually.
The MPK file from 0x0C00 to 0x0CFF needs replacing. It's all 0s only because the source .N64 file was truncated and had nothing to fill those with. Replace the 256 bytes between 0x0C00 to 0x0CFF using HxD with a copy and paste from one of:
One of those (likely not only one, either, depending on coincidence) should restore your lost bytes. In fact, I wager the first of those 3 bullet points is the only range you need to try, since the 11th byte of game section block 4 is 0x01 so file 1 was probably meant to be read over to that.
__________________
http://theoatmeal.com/comics/cat_vs_internet Last edited by HatCat; 16th August 2017 at 07:00 AM. |
#12
|
||||
|
||||
![]()
Dang I seriously thought this was gonna be it, but I tried all 3 and still no changes, hm. Using that B7 tool I found on Github restored part of my save which I thought was pretty weird, but as soon as I started the game you could tell a lot had changed (no health bar, random cutscene activations).
|
#13
|
||||
|
||||
![]()
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.
__________________
http://theoatmeal.com/comics/cat_vs_internet |
#14
|
||||
|
||||
![]()
OK, no waste of your time this time as I just tested this.
Do what I mentioned before with copying "0x6C0 to 0x7BF, the last 256 bytes of file 1", but also in addition to that replace the byte at 0x0B66 deep into the MPK file (or 0x666 deep into the extracted EEP file you're going to load into PJ64 or whatever) from 0x7A to 0x77, the old value from the last time you saved file 1 in the previous successful load and save. I tested this myself, and your save works. Who knows what progress you lost by redacting the value of the byte, but it's probably nothing that can't be repeated. And get that DexDrive to do its job right / buy something else! That A64 file you exported was 7 pages long when a 2-KiB Tooie save converted into a MPK note should have been 8 pages long so that also proves it.
__________________
http://theoatmeal.com/comics/cat_vs_internet Last edited by HatCat; 17th August 2017 at 04:41 AM. |
#15
|
||||
|
||||
![]()
Sorry for the long wait between the reply, but I'm not really sure I understand you correctly. I copied 0x77 to 0x7A over the 0x0B66 byte and it overwrites it, but I'm still not getting anything different. Would you mind attaching the .eep to see what I didn't do right?
|
#16
|
||||
|
||||
![]()
You didn't do it right because I didn't say the right thing (again lol...).
Not block 1 from 0x6C0 to 0x7BF but block 3 from 0xA40 to 0xB3F, should be copied to 0xC00 to 0xCFF. Block 1 actually has data for game save 3 (Mumbo's picture) while Block 3 has data for game save 1 (Banjo's picture). It was switched around as part of randomized re-ordering of the saved games order when you update the save chip, another annoying thing Tooie likes to do to throw people off. But I did attach it just for sanity purposes, with the changes made.
__________________
http://theoatmeal.com/comics/cat_vs_internet |
#17
|
||||
|
||||
![]()
Oh sweet thanks, it works! Now the only thing I'm afraid of is "Who knows what progress you lost by redacting the value of the byte, but it's probably nothing that can't be repeated."
![]() ![]() |
#18
|
||||
|
||||
![]()
The fact that that one byte you had lost the new value of was something I had never reverse-engineered tells me it must not be that important. I actually wrote an almost complete list of the things (mostly trivial) that I never implemented changing with my save editor program for Tooie. If you're concerned about the byte, see if it goes up whenever you collect musical notes or just increase the total game play time spent counter in the totals screens or whatever. I already know it can't interfere with jiggy counts or collection, so it's nothing that serious.
Yeah, I know nothing about DexDrives. I just know about them off N-Rage and the fact that's what all saves submitted to the GameFAQs website were formatted in. I would have liked to have had even a DexDrive for testing purposes in EEPROM and SRAM implementation and game debugging if I even had my physical N64 hardware with me these days, though I'm sure things like flash RAM are way outside the scope. The most alcohol I've ever drank is probably red wine salad dressing at a heart-healthy salad bar (which I was scared of eating since it contained alcohol). Or maybe the occasional accidental swallow of listerine mouthwash I had not completely spit out on my way running out the door to get to work. Edit: It's a pity you struck the worst possible game with learning about using hex editors to convert DexDrive saves to N64 save chip ones. Anything other than Tooie wouldn't have had nearly this much trouble.
__________________
http://theoatmeal.com/comics/cat_vs_internet |
#19
|
||||
|
||||
![]()
"The most alcohol I've ever drank is probably red wine salad dressing at a heart-healthy salad bar (which I was scared of eating since it contained alcohol). Or maybe the occasional accidental swallow of listerine mouthwash I had not completely spit out on my way running out the door to get to work."
That genuinely made me laugh a little bit, I don't really drink either anymore for good reasons. Yeah I doubt it changed anything weird in my game. If you were really interested about getting that DexDrive I wouldn't have any problem sending it to you. |
#20
|
||||
|
||||
![]()
I recommend you spending your money on this instead of the dexdrive. I'm unsure if the dexdrive is inexpensive or not though.
http://64drive.retroactive.be/ |
![]() |
Tags |
dexdrive, eep, help me, save, sra |
Thread Tools | |
Display Modes | |
|
|