いかにして勇者の足跡は抹消されるか

http://d.hatena.ne.jp/orange-strange/20061029/1162087591
これはありそう。というか一度体験しました。ドラクエ4で。
やっと第五章だってところでデロデロデロデロ言い出したので、ギャーふざけんなもう1回1〜4章ですかああああそんなの死ぬ! 死んでしまうって思ってデロデロが鳴り終わる前にリセット連打したらその1回だけで助かりました。
まあ実のところ初回は1章をホイミンの存在を認識しないままクリアしてしまったので、やり直しても良かったのではありますが……。
この現象を完全に説明できていませんけど、途中まで説明すると以下の通りです。

まず、本当にかっきりデータが消えているのなら、プログラムはデータが消えたことを認識できないですよね? 完全にデータが消えているのなら、購入して初めて電源投入したのと同じ状態と言えるわけです。
ですが、初めて電源を投入した時にデロデロいうわけではありませんから、電源を投入して「ぼうけんのしょ」が存在しない状態だったらデロデロ鳴らす仕組みではないわけです。

ということはデロデロ言っている時点で何らかのデータが残っているということになります。

実は、セーブして終了する際には、セーブデータ以外にもセーブデータのチェックサムも保存しています。
そして再度の電源投入時に取っておいたチェックサムと、現在のセーブデータのチェックサムを照らし合わせます。これは何をしているのかと言うと、セーブデータがセーブした時から変化していないかチェックを行っている、と考えていただければ結構です。
で、ここでもし異なっていればセーブデータが何らかの要因で変化してしまっているということになります。
この場合、正しい処理でデータが変化しているわけではないので、このデータでゲームを再開させた場合何らかの不都合*1を引き起こすことが考えられます。となればこのデータで再開させてしまうわけには行きませんので、「おきのどくですが ぼうけんのしょ1は きえてしまいました」と表示してデータを消すのです。で、このデータを消すタイミングがメッセージを表示し終わったタイミングなのです。

ですので、復活しているのではなく、消えていなかった、というのが正しいところです。
で、これによってメッセージ消滅前にリセットした場合、電源の再投入時にデータが消えていないという仕組みは判明しましたが、データを消される前に何度もリセットすると何とかなるというのは謎。リセットしているうちにデータが修正される?*2 パリティチェックは何回かに1回不正動作する? どっちなんでしょうね。あるいは話が逆で、大抵の「ぼうけんのしょはきえてしまいました」は、正常データを不正データと誤チェックした上での濡れ衣削除ですか? だとしたら全国の良い子のデータが濡れ衣で消された恨みエネルギーだけでゾーマが65536回ぐらい復活できるな。
だがそのときはお前は年老いて生きてはいまい。 わははは………っ。ぐふっ!
追記:id:rerasiu:20061031:p2

*1:通常バグと呼ばれるでしょう

*2:ソンナヴァカナ