裏技・バグ/【セーブデータ消失バグ】

Last-modified: 2019-10-14 (月) 23:01:25

FF6

65536分の1の確率でセーブデータが消失するというもの。
【視聴覚室】

FF6はセーブデータに破損が無いかを確認するため、チェックサムという方式で16ビット(0000~FFFF、10進数だと0~65535)の数値を計算しセーブデータの最後に格納している。
しかしセーブデータの存在・非存在を確認するフラグもこの数値を参照しており、初期値である0000ではそのセーブデータは存在しないものとして扱われる。
このためチェックサムで計算された数値が0000であると、セーブデータが存在しているにも関わらずシステム側から非存在として扱われてしまう。
 
なおチェックサムという計算はセーブデータに存在する数値の加算であり、数値がFFFFを超えた場合0000へループする。
つまり放っておいてもプレイ時間の経過などで勝手にチェックサムの数値が進行してしまい、また動画にあるように非常に短時間(動画ではニューゲーム開始後12分の段階でループしている)で桁あふれを起こすため、事実上どんなプレイをしていても1/65536の確率でセーブデータが消失してしまうことになるのである。
このバグ自体の発生を阻止する方法は存在しないが、セーブした時セーブファイルがきちんと保存されているか確認すれば、バグ発生時に再度上書きセーブすることで対策は可能。


厳密にはセーブデータ「消失」ではなく「読み取り不能」とでも呼ぶべきバグ。
動画を見ればわかるが、FF6ではセーブデータが一つも存在しない状態で電源を入れると自動でオープニングが始まる。
しかしこのバグでセーブデータが消滅している場合はOPが始まらない。
なので、OPを始めるかどうか=ゲーム内にセーブデータが存在するかの確認にはチェックサムを使っていない。
恐らくそれ専用のチェックフラグがあるか、ゲーム開始時に必ず書き込まれてずっと上書きされない何かの数値をセーブデータ判定に流用しているのだろう。
しかしロード画面になってもEMPTY表示なので、システム内では「ゲーム内にセーブは存在しているが読み出してはいけないデータ」と認識していることになる。