5.30. ドラクエ 4 のモンスターメダル

5.30.1. セーブデータ改造によるメダル採取
5.30.2. 参考サイト

GBC 版ドラクエ 3 で密かに存在する「ドラクエ 4 のモンスターメダル」について記す。 あまり多くは語らない。

5.30.1. セーブデータ改造によるメダル採取

エミュレーターによるモンスターメダル出現方法を説明する。 素朴な方法だが、普通にプレイして得られるセーブデータファイルを、 エミュレーター外部のツールで編集するというやり方を取るのが手っ取り早い。 その改竄データをエミュレーターに解釈させることで、 無理にすべてのモンスターメダルを出すのだ。

まずは、以下のものを準備する。

  • GBC エミュレーター。ただし、非圧縮セーブデータファイルを生成するものがよい。 よくわからなければ、2.1 ゲーム機エミュレータ を当たって欲しい。

  • 言うまでもなく GBC 版ドラクエ 3 ロムイメージファイルが必要だ。 ファイル容量は 4 MB あるハズだ。

  • 同エミュレーターで用いる、適度にプレイして得られた GBC 版ドラクエ 3 のセーブデータファイル。 おそらく 32 KB ある。

  • セーブデータファイルを「編集」するためのバイナリエディター。

バイナリエディターを用いて、普通のプレイで得られるセーブデータファイルを修正する。 セーブデータの最初のほうは以下のようになっている。 注目するのは $00000036 からの 3 バイト、01 04 02 である (この値は、記者のプレイ内容がそういうメダル枚数になっていたということなので、 数値は読者によって異なる)。「メダルの書」と照合すれば、 このオフセットにドラクエ 3 のメダル番号 1「スライム」のメダル枚数が金・銀・銅の順に格納されていることに気付く。 続く 3 バイトはメダル番号 2 「おおがらす」のそれである。 このようにして、ドラクエ 3 の全モンスターメダルの枚数が記録されている。 なお、FF は「一度も手に入れたことがない」を意味すると思われる。 「メダルこうかん」等で減って 0 枚になった状態とは区別される。

[offset]: +0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +A +B +C +D +E +F  0123456789ABCDEF 
----------------------------------------------------------------------------
00000000: 44 52 41 47 4F 4E 20 51 55 45 53 54 20 49 49 49  DRAGON QUEST III 
00000010: 20 53 41 56 45 20 57 4F 52 4B 20 41 52 45 41 2E   SAVE WORK AREA. 
00000020: 01 01 00 4D 65 64 61 6C 46 69 6C 65 43 72 65 61  ...MedalFileCrea 
00000030: 74 65 64 FF FF FF 01 04 02 01 02 02 01 01 01 01  ted   .......... 
00000040: 03 02 01 01 00 01 02 00 01 01 00 01 01 01 01 01  ................ 
00000050: 00 01 02 00 01 01 00 01 01 00 01 01 01 01 01 00  ................ 
00000060: 01 01 01 01 01 01 01 01 00 01 01 00 01 01 00 01  ................
...

少し試行錯誤すればわかるが、以下のような構成に基づいてデータが定義されているらしいことが判明している:

表 5.39 モンスターメダルデータ領域

データ イメージオフセット バイト数
ドラクエ 3 モンスターメダルデータ領域 $000033-$000224 3 * 166 == 498
ドラクエ 4 モンスターメダルデータ領域 $000225-$000464 3 * 192 == 576
チェックサム $000465-$000466 2

ちなみに、ドラクエ 3 とドラクエ 4 それぞれのスライムのデータはそれぞれ $000036, $000228 から始まる。 その直前の 3 byte はダミーかもしれない。

チェックサムの定義方法は、メダルデータ領域の 1 byte 値を単純に加算していけばよい。 そして、最終的な和の下位 2byte だけとればよい。 例えば、全モンスターの全種類のメダルをそれぞれ 254 枚欲しい場合は、 254 * (498 + 576) == 272796 == 0x4299C となる。この 299C だけを使えばよい。 バイナリエディターで

  • $000333-$000464 をすべて FE,

  • $0004659C,

  • $00046629

という具合に、各オフセットの値を上書きすることで簡単に改造できる。

図 5.47 メタルスライム (DQ4)

メタルスライム (DQ4)

5.30.2. 参考サイト

ドラクエ 4 のモンスターメダルデータに関する情報を提供するページへのリンク集である。 以前はもっとたくさんのページがネット上に存在したはずだが、減ってしまったのだろうか。