Go Back   Project64 Forums > General Discussion > Open Discussion

Reply
 
Thread Tools Display Modes
  #11  
Old 16th August 2017, 06:58 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
Default

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:
  • 0x6C0 to 0x7BF, the last 256 bytes of file 1.
  • 0x880 to 0x97F, the last 256 bytes of file 2.
  • 0xA40 to 0xB3F, the last 256 bytes of file 3.

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.

Last edited by HatCat; 16th August 2017 at 07:00 AM.
Reply With Quote
  #12  
Old 16th August 2017, 08:46 AM
TheLegendaryJames's Avatar
TheLegendaryJames TheLegendaryJames is offline
Member
 
Join Date: Mar 2011
Location: Anchorage, Alaska
Posts: 78
Default

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).
Reply With Quote
  #13  
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
Default

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
  #14  
Old 17th August 2017, 04:39 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
Default

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.

Last edited by HatCat; 17th August 2017 at 04:41 AM.
Reply With Quote
  #15  
Old 18th August 2017, 03:28 AM
TheLegendaryJames's Avatar
TheLegendaryJames TheLegendaryJames is offline
Member
 
Join Date: Mar 2011
Location: Anchorage, Alaska
Posts: 78
Default

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?
Reply With Quote
  #16  
Old 18th August 2017, 04:07 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
Default

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.
Attached Files
File Type: txt new-fixed.mpk.txt (32.0 KB, 3 views)
Reply With Quote
  #17  
Old 18th August 2017, 04:38 AM
TheLegendaryJames's Avatar
TheLegendaryJames TheLegendaryJames is offline
Member
 
Join Date: Mar 2011
Location: Anchorage, Alaska
Posts: 78
Thumbs up

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." Hopefully if I aquire 89 jiggies that 90th one will be in the game. And yeah that DexDrive is something else, I'm either selling it/giving it away or burning it. One of the biggest piece of craps manufactured and I understand that it was also manufactured around the same time of the N64. The whole process of getting saves on here was a mess anyhow. First I had to use a Gameshark 3.3 to extract my save to a knockoff memory card (the one that comes with the dexdrive), insert the dexdrive into my computer, but since the dexdrive has a DE-9 connector I also had to buy a DE-9 converter to USB, since my motherboard doesn't have that ancient port. Then I had to install modified drivers for the device to be recognized and a patched software version of the DexDrive software since the original only ran 16bit. Thanks though that really helped my out, finally get to play some Tooie from my original save now. If I knew you in real life I would buy you a :beer:. that is if you're into that kinda thing.
Reply With Quote
  #18  
Old 18th August 2017, 05:01 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
Default

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.
Reply With Quote
  #19  
Old 24th August 2017, 09:11 PM
TheLegendaryJames's Avatar
TheLegendaryJames TheLegendaryJames is offline
Member
 
Join Date: Mar 2011
Location: Anchorage, Alaska
Posts: 78
Default

"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.
Reply With Quote
  #20  
Old 25th August 2017, 01:27 AM
theboy181's Avatar
theboy181 theboy181 is offline
Alpha Tester
Project Supporter
Senior Member
 
Join Date: Aug 2014
Location: Prince Rupert,British Columbia Canada
Posts: 424
Default http://64drive.retroactive.be/

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/
__________________
Book recommendation!
https://www.amazon.com/All-Cats-Have.../dp/1843104814
Reply With Quote
Reply

Tags
dexdrive, eep, help me, save, sra

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump


All times are GMT. The time now is 10:21 AM.


Powered by vBulletin® Version 3.7.3
Copyright ©2000 - 2023, Jelsoft Enterprises Ltd.