Wii版ドラゴンクエスト1・2・3のセーブに関する注意

ドラゴンクエスト1・2・3 - 中断データの使用方法に関するご注意

「冒険を中断してセーブする」では、各ソフトの冒険の書の記録内容も含めて、ソフトの状態をまるごと保存します。
つまり、「中断したところからはじめる」でゲームを再開した段階で、まるごと保存したデータをそのままソフトに戻しますので、冒険の書の記録も、中断データに含まれていたものに戻されることになります。


つまり

  1. 「冒険を中断してセーブする」でセーブ
  2. ある程度進めて、ゲーム中のセーブ機能でセーブ
  3. この状態で「中断したところからはじめる」をやっちゃうと2のセーブデータはすべて消え、残るのは1の時のセーブデータのみ


エミュレータのステートセーブだから、こんな分かり辛い機能になっちゃうのは当たり前なんだけど、正直解決できなかったのか。
こんなボッタクリ版買う人がこの仕様を理解できるとは到底思えないのだが。最初っからクイックセーブ機能を使え無くしちゃったほうが遥かにユーザーフレンドリーなシステムになる。


今のゲーム機(PCでも)のようにディスク上にデータを保存するのとは違い、ファミコン&スーファミのバッテリバックアップ機能っていうのは、、CPUメモリマップにマッピングされたカートリッジ(カセット)内のメモリ(SRAM)に直接データを書き込み、ゲーム機本体の電源が落ちている(カートリッジを抜いている)状態の時は内臓のバッテリでメモリに電気を送りデータが消えないようにしている。
PCで言う、スタンバイ状態からの復帰みたいなことをやっている。
エミュレータのステートセーブは、そのバックアップRAM部分のメモリマップを含めた全メモリマップのデータ(とCPUやその他チップのレジスタ内容)をファイルに書き出して、ロード時に再び全メモリマップを元に戻すというやり方を取っているけど、今回のドラクエの場合、ステートセーブ時にバッテリバックアップRAMのメモリマップ部分だけに関してはファイルに書き出さないで、ステートロード時は(通常のセーブ時と共有の)バックアップメモリの情報を保存しておいたファイルの内容を読み込むようにすればいけそうな気もするけどどうなんでしょ。
実際にそこらへんにあるソースコード、ステートセーブ付きのエミュを改造して試してみれば結論が出るんだけど、ソース見て改造するのがめんどくさい。