øAslickproductions.org/forum/index.php?PHPSESSID=5f0fck550j2m4m2fpbtkj2vkm1&topic=2362.0e:/My Web Sites/Slick Productions - FFIV Message Board/slickproductions.org/forum/index1e2d.htmlslickproductions.org/forum/index.php?PHPSESSID=5f0fck550j2m4m2fpbtkj2vkm1&board=8.40e:/My Web Sites/Slick Productions - FFIV Message Board/slickproductions.org/forum/index1e2d.html.zxu$h^ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÈð�2lOKtext/htmlISO-8859-1gzip@øÕ2lÿÿÿÿÿÿÿÿTue, 10 Mar 2020 23:52:45 GMT0ó°° ®0®P®€§²ð®t$h^I2l Rapid Save/Reset glitch?

Author Topic: Rapid Save/Reset glitch?  (Read 267 times)

13375K31C43R

  • Ultros
  • *
  • Posts: 675
  • Gender: Male
    • View Profile
    • Leet Sketcher's Final Fantasy III Patches
Rapid Save/Reset glitch?
« on: May 13, 2017, 07:11:58 PM »
Gi Nattak referred me to this glitch a short while back. From what I gather, the reason it works seems to be because somehow the data from two save files are getting mixed together into one. Specifically, what seems to happen is, when the game saves, the X and Y index registers are set to point to the start of the save slot and the start of the current saveable game data, respectively, and iterate through until 2,560 bytes are copied. Despite this, somehow in the alternating reset-interrupted copy iterations of slots 1 and 3 into 2, what's getting saved is a chunk of slot 1, then a chunk of slot 3, then a chunk of slot 1 etc. when these chunks should be overwriting each other.

This doesn't make sense to me because slots 1 and 3 don't seem to be getting affected in any way, and the index registers are always supposed to start at the beginning, therefore the chunks should be overwriting each other in slot 2. Anyone have any idea what's really going on here?
"Do not meddle in the affairs of wizards, for they are subtle and quick to anger." -Gildor from The Lord of the Rings

assassin

  • Bane of Retards
  • *
  • Posts: 1,033
  • space bears are not gentle!
    • View Profile
    • My Barren Webpage
Re: Rapid Save/Reset glitch?
« Reply #1 on: May 14, 2017, 03:04:50 AM »
from a youtube comment on doing the mid-frame resets in chrono trigger (via http://tasvideos.org/3606S.html):
"
Rhyok
For those of you wondering what happened, imagine every time you saved, someone writes down what happened. Now imagine that you were able to stop that person's hand while they were writing, and after doing this multiple times while the person was in the process of writing at the same location on the paper, what resulted was the paper reading "You win!". Welcome to save corruption.
4 years ago"

------

so are you sure something like the following isn't happening?

play on slot 1
overwrite bytes 0-100 of slot 2 with progress from slot 1
play on slot 3
overwrite bytes 0-70 of slot 2 with progress from slot 3
play on slot 1 more
overwrite bytes 0-20 of slot 2 with progress from slot 1
etc

this could achieve alternating data from two source slots, with the limitation that the most recent partial save instance will always be affecting the earliest bytes of a slot.



13375K31C43R

  • Ultros
  • *
  • Posts: 675
  • Gender: Male
    • View Profile
    • Leet Sketcher's Final Fantasy III Patches
Re: Rapid Save/Reset glitch?
« Reply #2 on: May 14, 2017, 01:59:24 PM »
I guess that kind of makes sense... I didn't think about that, probably because, as the video shows, there are about four iterations before slot 2 shows a party; until then it shows "Empty", and only when it does not show "Empty" is it actually loaded. What I thought was happening was that the party members weren't getting saved until the fourth iteration or so.

Upon further inspection and reading, I now realize the purpose and use of the SRAM checksums to check for corrupted save files. So yes, that seems to be what's happening: shorter and shorter chunks are overwriting each other, and the save file gets corrupted, but after a few iterations a checksum collision occurs and then the save file looks OK.

Unfortunately, that's just an inherent problem with the checksum: collisions are possible. I don't really know what to do about that other than maybe add a "saving in progress" flag, if that would work.
"Do not meddle in the affairs of wizards, for they are subtle and quick to anger." -Gildor from The Lord of the Rings