March 30, 2020, 09:13:42 am

0 Members and 1 Guest are viewing this topic.

So a single line of text mentions "RECORD CENTER" while the others consistently use "RECORD CORNER"?

Not quite what I was expecting to see, but here it is:The glitchy text box in 1.0 is caused by the text running off the edge of the screen and overwriting the text box graphics.As for what this thing is doing: First, the “internal battery” text is a red herring; this is all to do with the cartridge’s flash memory. The original Japanese message is 「バックアップきのうの こしょう または じゅみょうが きました。セーブすることは できませんが このまま ゲームを あそぶことはできます」, which seems to say roughly that “the backup function has failed or reached its end-of-life”. Chalk it up as yet another localization error.The code that writes to the flash memory verifies each byte as it’s written, and retries if it’s not. After a few tries, if the data is still not written correctly, it gives up and flags the sector as bad. This triggers the “Save failed” screen.“Checking the backup memory” appears to mean trying to zero out any bad sectors. If this succeeds, then it will attempt to save again. If the zeroing fails, or if the save fails three more times, then “The backup memory is damaged” and “Gameplay cannot be continued. Returning to the title screen…” If the save succeeds, then it shows one of the two “Save completed” messages, but I don’t know how it’s determined whether gameplay can be continued.The bitfield of bad sectors is at $3005EA8; you can write a non-zero value to this address during a save to force the “Save failed” screen to appear.It seems that no$gba isn’t able to emulate the zeroing process correctly; it gets stuck on “Checking the backup memory”, or at least the “Time required” is a lot more than “1 minute”. VBA-M, on the other hand, finishes in just a few seconds even if all 32 sectors are flagged.

Yes, “The save file has been deleted…” is shown when both save files or corrupt, or one is corrupt and the other doesn’t exist. (A save file “exists” if the value $08012025 has been written at offset $FF8 of at least one block; this prevents the error from being shown on a brand new cartridge, or one that’s been erased using Up + Select + B.)Nothing is actually deleted from the flash memory when this happens; it just removes the “Continue” option from the main menu. If you still have the file, it could potentially be recovered by using a tool like PSavFix to fix the checksums.

PSavFix -fix -RS "ind-pref-bak.sav"Running in RS ModeLoading: ind-pref-bak.sav...Autofix: ONSize: 890 Segment: 00 Calc: 0000 Found: 0000 Sig: 00000000 - OKSize: 890 Segment: 00 Calc: 0000 Found: 0000 Sig: 00000000 - OKSize: 890 Segment: 00 Calc: 0000 Found: 0000 Sig: 00000000 - OKSize: 890 Segment: 00 Calc: 0000 Found: 0000 Sig: 00000000 - OKSize: 890 Segment: 00 Calc: 0000 Found: 0000 Sig: 00000000 - OKSize: 890 Segment: 00 Calc: 0000 Found: 0000 Sig: 00000000 - OKSize: 890 Segment: 00 Calc: 0000 Found: 0000 Sig: 00000000 - OKSize: 890 Segment: 00 Calc: 0000 Found: 0000 Sig: 00000000 - OKSize: C40 Segment: 04 Calc: 78A7 Found: 78A7 Sig: 08012025 - OKSize: F80 Segment: 05 Calc: 0000 Found: 0000 Sig: 08012025 - OKSize: F80 Segment: 06 Calc: 0000 Found: 0000 Sig: 08012025 - OKSize: F80 Segment: 07 Calc: 0000 Found: 0000 Sig: 08012025 - OKSize: F80 Segment: 08 Calc: 0000 Found: 0000 Sig: 08012025 - OKSize: F80 Segment: 09 Calc: 0000 Found: 0000 Sig: 08012025 - OKSize: F80 Segment: 09 Calc: 0000 Found: 0000 Sig: 08012025 - OKSize: F80 Segment: 0A Calc: 0000 Found: 0000 Sig: 08012025 - OKSize: F80 Segment: 0B Calc: 0000 Found: 0000 Sig: 08012025 - OKSize: F80 Segment: 0C Calc: 0000 Found: 0000 Sig: 08012025 - OKSize: 7D0 Segment: 0D Calc: F131 Found: F131 Sig: 08012025 - OKSize: 890 Segment: 00 Calc: 1639 Found: 1639 Sig: 08012025 - OKSize: F80 Segment: 01 Calc: 1A0E Found: 1A0E Sig: 08012025 - OKSize: F80 Segment: 02 Calc: B831 Found: B831 Sig: 08012025 - OKSize: F80 Segment: 03 Calc: 9386 Found: 9386 Sig: 08012025 - OKSize: C40 Segment: 04 Calc: 78A7 Found: 78A7 Sig: 08012025 - OKSize: F80 Segment: 05 Calc: 0000 Found: 0000 Sig: 08012025 - OKSize: F80 Segment: 06 Calc: 0000 Found: 0000 Sig: 08012025 - OKSize: F80 Segment: 07 Calc: 0000 Found: 0000 Sig: 08012025 - OKSize: 890 Segment: 00 Calc: 0000 Found: 0000 Sig: 00000000 - OKSize: 890 Segment: 00 Calc: 0000 Found: 0000 Sig: 00000000 - OKSize: 890 Segment: 00 Calc: 0000 Found: 0000 Sig: 00000000 - OKSize: 890 Segment: 00 Calc: 0000 Found: 0000 Sig: 00000000 - OKSize: 890 Segment: 00 Calc: 0000 Found: 0000 Sig: 00000000 - OKNo Problems found :)

I don’t know how you would have done that, but it seems the first eight blocks of the first save file and the last block of the second save file (plus the Hall of Fame data, if there was any) are deleted. The missing block from the second save file is block 8, which is part of the PC box data and was probably empty anyway, so you’d be able to fix that in a hex editor by writing 08 at offset $1BFF4, and copying $1AFF8–$1AFFF to $1BFF8–$1BFFF.