Image: リバイバル・ザナドゥ(PC98/1995年) チートコード

リバイバル・ザナドゥ(PC98版/1995年)の自作改造コード。リバイバル版にもチートネームがあることは後で知りました(゜▽゜*)

これらの改造を適用しても武器やcrawnを集めるための探索に時間が掛かるので、すぐにクリアできるわけではありません。私の場合は7時間ほど掛かりました。まあ普通の人にとってはゲームを楽しむには十分でしょう(ぉぃ)

チートコード

操作対象のファイルはX_MAIN.EXE(43720バイト,1995/04/12)です。バイナリエディタやPATCHコマンドを使って適用して下さい。

ゲーム開始時の所持金(GOLD)やエリクサー(ELX)、鍵(KEY)の所有数を増やす

GOLDの上位16ビットを変えるコードを入れるために初期HPを設定するコードを削除しています。レベル1進入時はHPが0になっているので、Red potionなどで回復して下さい。

変更箇所

上段が元データ、下段が変更データ。

               +3 +4 +5 +6 +7  +8 +9          +d +e
45f0: A3 18 27 C7 06 10 27 DC  05 C7 06 14 27 DC 05 C7
               C7 06 1A 27 7F  00             FF FF
4600: 06 1C 27 64 00 C6 06 29  27 01 C6 06 2A 27 03 C6
               FF FF              FF             FF
4610: 06 74 27 0A C6 06 75 27  01 C6 06 2B 27 00 C6 06
               80              80
4620: 2C 27 00 C6 06 2D 27 00  C6 06 2E 27 00 C6 06 2F

アセンブルコード

元データは次の通り。

;Offset_45F0h
mov word[2718h], ax   ;A3 18 27 ;gold_l
mov word[2710h], 5dch ;C7 06 10 27 DC 05 ;hp_l
mov word[2714h], 5dch ;C7 06 14 27 DC 05 ;maxhp_l
mov word[271ch], 64h  ;C7 06 1C 27 64 00 ;food_l
mov byte[2729h], 1    ;C6 06 29 27 01 ;key
mov byte[272ah], 3    ;C6 06 2A 27 03 ;elx
mov byte[2774h], 0ah  ;C6 06 74 27 0A ;spectacles
mov byte[2725h], 1    ;C6 06 75 27 01 ;red potion

上の3行目はGOLDの上位バイトを書き換えるためmov word[271Ah], 7f00h ;C7 06 1A 27 7F 00に変更します。GOLDはオーバーフロー対策のため9999999ではなく中途半端な値にしています。必要ないかもしれませんが念のため。

ゲーム開始時の能力値設定上限を100から250に。

変更箇所

                                       +b
7c00 E8 6C 04 8B 1E 20 B1 80  BF 20 27 64 72 03 E9 92
                                       F0
                                    +a
7c50 44 B9 8B 1E 20 B1 80 BF  20 27 64 73 46 BB B4 20
                                    F0

アセンブルコード

;元データ
cmp byte[bx+2720h], 64h ;80 BF 20 27 64
;変更データ
cmp byte[bx+2720h], F0h ;80 BF 20 27 F0

アイテム装備・使用時に経験値を255(FFh)にする

変更箇所

                                 +9 +a
4bd0 85 27 3C 01 1A E4 80 E4  1E 0A C4 88 82 85 27 83
                                 B0 FF

アセンブルコード

;元データ
;Offset_4BD9h
or      al, ah            ;0A C4
mov     [bp+si+2785h], al ;88 82 85 27
;変更データ
mov     al, FF            ;B0 FF
mov     [bp+si+2785h], al ;88 82 85 27

PATCHコマンドを使う

NEC版MS-DOSに付属するPATCHコマンドを使って上記のコードを適用する方法です。

A:\RX_98>patch


PATCH version 1.00

対象ファイル名: x_main.exe

オフセットを入力してください: 45F3

0045FX  0   1   2   3   4   5   6   7      8   9   A   B   C   D   E   F
   OLD              C7  06  10  27  DC  -  05                  DC  05
   NEW              C7  06  1A  27  7F  -  00                  FF  FF

 x_main.exe への入力を続行しますか (Y/N)? Y

オフセットを入力してください: 4603

00460X  0   1   2   3   4   5   6   7      8   9   A   B   C   D   E   F
   OLD              64  00              -      01                  03
   NEW              FF  FF              -      FF                  FF

 x_main.exe への入力を続行しますか (Y/N)? Y

オフセットを入力してください: 4613

00461X  0   1   2   3   4   5   6   7      8   9   A   B   C   D   E   F
   OLD              0A                  -  01
   NEW              80                  -  80

 x_main.exe への入力を続行しますか (Y/N)? Y

オフセットを入力してください: 7C0B

007C0X  0   1   2   3   4   5   6   7      8   9   A   B   C   D   E   F
   OLD                                  -              64
   NEW                                  -              F0

 x_main.exe への入力を続行しますか (Y/N)? Y

オフセットを入力してください: 7C5A

007C5X  0   1   2   3   4   5   6   7      8   9   A   B   C   D   E   F
   OLD                                  -          64
   NEW                                  -          F0

 x_main.exe への入力を続行しますか (Y/N)? Y

オフセットを入力してください: 4BD9

004BDX  0   1   2   3   4   5   6   7      8   9   A   B   C   D   E   F
   OLD                                  -      0A  C4
   NEW                                  -      B0  FF

 x_main.exe への入力を続行しますか (Y/N)? N


 x_main.exe に対する変更データ

        0   1   2   3   4   5   6   7      8   9   A   B   C   D   E   F
0045FX              C7  06  1A  27  7F  -  00  C7  06  14  27  FF  FF

次のデータを表示します
どれかキーを押してください

        0   1   2   3   4   5   6   7      8   9   A   B   C   D   E   F
00460X              FF  FF  C6  06  29  -  27  FF  C6  06  2A  27  FF

次のデータを表示します
どれかキーを押してください

        0   1   2   3   4   5   6   7      8   9   A   B   C   D   E   F
00461X              80  C6  06  75  27  -  80

次のデータを表示します
どれかキーを押してください

        0   1   2   3   4   5   6   7      8   9   A   B   C   D   E   F
007C0X                                  -              F0

次のデータを表示します
どれかキーを押してください

        0   1   2   3   4   5   6   7      8   9   A   B   C   D   E   F
007C5X                                  -          F0

次のデータを表示します
どれかキーを押してください

        0   1   2   3   4   5   6   7      8   9   A   B   C   D   E   F
004BDX                                  -      B0  FF

変更データを訂正しますか (Y/N)? N


これらのデータで x_main.exe を変更しますか (Y/N)? Y
ファイル x_main.exe を変更しました


他のファイルの内容を変更しますか (Y/N)? N
A:\RX_98>

※コメント欄が表示されない場合はdisqusについてJavascriptが有効であることを確認して下さい。コメントはスパム防止フィルターによる承認制のため、投稿してもすぐに反映されない場合があります。

管理人 : Akamaki (akm)

は、PCとVTuberに夢中になっている電気技術者です。

私はレトロコンピューティングの愛好家ですが、そのようなリグはもう収集していません。

私の活動はトップページで見ることができます。読んでくれてありがとう!