「ぼうけんのしょがきえる」の悲劇! ファミコンカセット「保存データ」消失の真相とは
「バッテリーバックアップ」を搭載したファミコンのゲームカセット。当時は画期的な機能でしたが、その反面データが消えたという話を多く聞きます。いったい何が原因なのでしょうか? よく内蔵電池が切れたと聞きますが、実はそれよりも大きな原因があったようです。
「内蔵電池の寿命」よりも大きな原因があった
1980年代に流行したファミコンには、当初「セーブ」という概念がありませんでした。しかしゲーム規模の拡大に合わせ『ドラゴンクエスト』の「ふっかつの呪文」で有名な、パスワードを自分でメモする方式が一般化し、その後ついにゲームカセットの内部にデータを保存できるようになりました。これを「バッテリーバックアップ」と呼びました。
カセットに入っているさまざまなデータは、一度ファミコン本体のRAM(ラム)と呼ばれる場所に読み込まれ、CPUという装置がそこからデータを取り出してゲームを表現します。RAMはパソコンで言うメモリです。ここにはプレイヤーのデータも入っています。スコア、何面までクリアしたか、経験値はいくつか……などなど全部です。しかしRAMはあくまでも一時的な置き場なので、電源を切ると中身が消えてしまいます。
そこでこのRAMから、「プレイヤーの遊んだデータを抜き出して保存できないか?」ということで生まれたのが「電池をカセットに搭載して、電源が切れないようにしたRAM」なのです。バッテリー(電池)を積んでデータをバックアップする(控えておく)から「バッテリーバックアップ」というわけです。今は電源不要のRAMもありますが、当時はこれが技術面・コスト面で最良の選択でした。
さてこのバッテリーバックアップですが、当時をご存じの方は経験があるでしょう……よくデータが消えるのです! これは「電池切れ」が原因だと言われることが多いのですが、実はそれは小さな問題です。電池は何年も保ちます。主原因は、ファミコンの仕様とゲーム開発側の安全対策というべきでしょう。
動いているファミコンは常に通電しています。CPUがデータを保存する時もそうです。ところが電源を切った瞬間、電気ノイズが流れてCPUが保存データの一部を書き換えてしまうことがあるのです。これは、ファミコンがバッテリーバックアップを前提とした設計になっていないからでした。
ただし、リセットボタンを押している間はCPUが動作を停止します。そのため、バッテリーバックアップを備えたゲームでは「リセットボタンを押しながら電源を切るように」と警告されていたのです。なお、次第に新型のRAMが搭載され、データを書き込みたい時だけ書き込むことが可能になりました。例えば『ドラゴンクエストIII』(1988、エニックス)にはそのRAMが積まれた「後期型」と呼ばれるカセットがあり、初期型よりデータは消えにくいそうです。