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

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

図 7.1 「メダルをみる」ウィンドウ出現

「メダルをみる」ウィンドウ出現

図 7.2 No. 1 スライム (DQ4)

No. 1 スライム (DQ4)

GBC 版ドラクエ 3 独自のモンスターメダルシステムで、 なぜかドラクエ 4 のモンスターのメダルが存在する。 出現方法については、セーブデータのメダルデータ部分を手作業で書き換えるのが楽である。 もっとも、メダルデータ部分の最後でチェックサムを持つので、 手作業でのデータ改竄については細心の注意が必要だ。

図 7.3 No. 74 ミステリードール (DQ4)

No. 74 ミステリードール (DQ4)

図 7.4 No. 172 ピサロナイト (DQ4)

No. 172 ピサロナイト (DQ4)

モンスターメダルデータはドラクエ 3 とドラクエ 4 セクションに分けられている。 ドラクエ 4 セクションには 191 種類のモンスターメダルが定義されている。 番号 179 から 191 までは、一般には聞いたことのないモンスターである。

図 7.5 No. 188 ヘマトフィリア

No. 188 ヘマトフィリア

図 7.6 No. 190 エースドラゴン

No. 190 エースドラゴン

図 7.7 No. 191 クインメドーサ

No. 191 クインメドーサ

7.1.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  ................
...

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

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

データ イメージオフセット バイト数
ドラクエ 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

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

図 7.8 No. 69 メタルスライム (DQ4)

No. 69 メタルスライム (DQ4)

7.1.2. 参考サイト

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