Ys IVのデバッグモードと未使用ボス

Ys IVのデバッグモードと未使用ボス

 

Je ne connais pas le français.
Je suis désolé, veuillez utiliser un site de traduction.


初めに 

先日の投稿( チートの話 ) にてセーブデータを使ったチートに触れたが、その掘り下げをしてみたい。
題材は PC-Engine の SuperCD-ROM² 対応ソフト Ys IV - The Dawn of Ys だ。
今でも持ってるCD-ROM²ソフトで、昔アホみたいに何度もやった。大好きだ。
現在は公式設定からは外れてしまっていて外伝的扱いらしいが、そこは気にしない。
今回はこのソフトのセーブデータ改造によってデバッグモードを使える様にしてみよう。

イースI・IIから見ると、魔法とリングの両装備、斜め移動等、豪華な変更がなされているが、意外な変更点として挙げられるのは、セーブデータの非パスワード化だ。
セーブはバックアップRAMのみ、と言うことだが、これは即ち前々作であるイースI・IIや前作イースIIIに有った「パスワード入力によるデバッグモードの発動」が出来ないと言う事だ。
ではどうするのか。
セーブデータを直接弄る事でデバッグモードが発動、デバッグメニューの使用とデバッグ版のYs4開発室(以下デバッグルーム)へ入る事が出来るようになる。


Ys4開発室

そもそもYs4開発室とは、一回でもクリアした状態であれば、セーブデータのロード画面でIIボタンを押すと出てくるメニューに追加される、オマケ機能だ。
選択すると、全ての装備と全てのアイテムを所持し最高レベルの状態で、(プロマロック~アリエダ間にあるような)ロムンの砦風の内装の建物内部からスタートする。
五階層の各フロアに散らばったキャラ(開発チームのメンバー)に話しかけると、プレイヤーへのメッセージを喋る。
サウンドルームにはサウンドテストをしてくれる滝本氏が隠れていたり(ブラックポーションは実際に使用せずとも、「使いますか?」さえ出せば登場する)、
ビジュアルルームの黒真珠ではビジュアルシーン再生や家の中、顔アップが見られるオマケ要素付き。
最上層最奥に行くとロビンが居て、ウハウハモードで最初から始める事が出来る。
そんな場所だ。
スタッフからプレイヤーへのメッセージなんかはFF4の開発室を思わせるが、当時はこう言うのが流行ったのだろうか?


もう一つの開発室、デバッグルーム

タイトル画面でBeginningを選択する(若しくはBIOS画面でIIボタン+RUNを押す)と、通常であれば定期船でドギと共にバルバドに到着する直前のビジュアルシーンから始まる。
しかしセーブデータに改造を施すと、住民が整列した状態のアリエダの村から始まる。
BGMは村ではなくミネアの街だ。
ここではロクな会話は出来ず、代わりに各シーンへのショートカットが表示される。
ロビンのウハウハモードを超えるターボモード?(仮)で始められたり、あちこちのマップに飛べたり、いきなりアレム第三形態と戦えたり、まぁホントにデバッグ用途だ。
(ちなみにアレムを倒すと普通にエンディングに繋がる。)
(個人的にはYsIVのエンディングはシリーズで一番好き。)

村内の建物に関しては、隊長の家に入ると謎のメッセージが出る。
フレア=ラルの医院に入ると本編後半に出てくるガーゴイル風のボス(スタチュー・オブ・サクリファイス)と、未使用ボスと戦える。
下はその動画。
ちなみにガーゴイルは何度でも戦える。
未使用ボスはトドメを刺さなければ何度でも戦える。
もしくは、このボスのフラグである45番を0にすれば戦える。
 
村長の家に入ると、同じアリエダの村に出るが、BGMが消えてオモテで整列しているメンバーが変わる。
話しかけるとサウンドのテスト再生メニューが出る。
開発室に居る滝本氏のメニューと違い、恐らくファイル名が直接出ていると思われるような選択肢で、CD-DA、PSG-MUSIC、SE、ADPCMが聴ける。
 
どちらのアリエダでもセーブすると、エリア名が上記開発室と同じ「Ys4開発室」になる。
ちなみにデバッグ状態で新規にゲームを始める方法は、データロード画面でIIボタンを押して出したメニュー内で新規スタートを選択すれば良い。


デバッグメニュー



デバッグ状態だと、アドルが操作可能なら大抵どこでもデバッグメニューが出せる。
旧来通り、Iボタンを押しながらIIボタンでメニューが出てくる。
アドルが操作出来る所なら大抵、と言う事は、BOSS戦でも出せる。
つまり、BOSS戦の最中にHPやMPを回復出来るということだ。
なんならレベルを上げる事だって出来る。
以下、デバッグメニューの解説。
STAT  - 障害物判定除去や敵キャラ停止、ADPCM再生のON/OFF等が出来る。
EXP   - 経験値+100(→キーを押しながらだと+1000)が出来る。
GOLD  - 所持GOLDを桁単位で操作可能。
HP/MP - HPとMPの操作が出来る(減らす事も出来る辺りにデバッグ機能らしさがある)。
GOODS - 全ての装備品とアイテムを入手出来る。
MUSIC - CD-DAとADPCM再生が出来る(CD-DAはガチでトラック順。つまり一曲目は警告メッセージ)。
FLAG  - 各種フラグを立てられる。0番~7番はワープの魔法の行き先。8番はダッシュ、10番は魔法使用可。
F-MAP - フラグの現在状態を確認出来る。


バックアップRAMの仕様


さて長々とゲーム内の開発室・デバッグルーム・デバッグメニューについて解説してきたが、そろそろデータ書き換えに移りたい。(書き換えが面倒な人は、この記事の最下部に書いたオマケを使おう。)
書き換えの前にまずはPC-EのバックアップRAMの仕様を解説する。下の画像はバックアップRAMをバイナリエディタで開いたモノだ。(ちなみに実機でやりたい場合はシステムカードのVer.1を使おう)
赤枠で囲った部分が、今回の改造目標のYS4.ENVファイルだ。
今風に言うと、セーブデータでなくシステムデータだ。
分かり易いように他のファイルは全て消してあるが、通常は一つ目にYS4.DAT.01等のセーブデータ、二つ目にシステムデータ、三つ目以降に再びYS4.DAT.02等のセーブデータが並んでいるハズだ。
赤枠の中を見てみよう。
最初の1バイトはこのデータの長さを示す。(2バイトかも)
この場合は$12なので、18バイト。
次に3バイト目と4バイト目はチェックサム。
この場合は$FDA1だ。(何故逆になるかはエンディアンで検索すると分かるだろう。)
チェックサムの値は、セーブデータの7バイト目(大抵はファイル名)から最後までの各値を$10000から引いた値だ。
全体のチェックサムを出す場合でも関数電卓(Windows付属のcalcで充分)を使って簡単に求められる。
(YsIVの個々のセーブデータは一つ75バイトなので、手入力でも問題無いレベル。)

私が知ってる、今回の改造で知っておくべき仕様は、以上。
データサイズとチェックサムが有る、チェックサムは減算方式、コレだけ。
(色々なデータを比較すると、一番上のヘッダの「HUBM」に続くところ、このデータの場合だとA0 5A 8Fの値が違っているので、本当はこの辺の仕様も明らかにしないとダメな気がする。)
※5/26追記:このデータは不正なデータの為、スタートは可能だがセーブ不可である。
正しいデータをオマケに仕込みなおした。

データ改造を行いたい人で既にセーブデータが有る場合は、赤い囲みの最後の値である08の次は4Bになっているだろう。
これは既に次のデータなので、弄ってはいけない。


データ改造、デバッグモード発動

では具体的にドコをどのように書き換えるべきか。
右の画像の赤枠で囲われた所、アドレスで言うと0x20の所だ。
ココの00という数値を書き換える。
書き換える数値は?何と書けば良い?
正解は、最下位ビットが1なら何でも良い、だ。
つまり設定するべき値は、1でも3でも5でも7でも9でもBでもDでもFでも、FFでも、どれでも良い。
要するに奇数なら何でもOK。
ちなみに最上位ビットが一般向けのクリアフラグの様だ。
(更に言うとデバッグモードフラグはクリアフラグも兼ねている模様)






一番簡単なのはココを01にすれば良い。


このままで起動するとチェックサムが働いて破損データ扱いになってしまうので、チェックサムも書き換えよう。
値の一つが1増えたわけだから、チェックサムは1減らせば良い。

コレだけ。完了。
 
 

終わりに

このポストを作成するにあたり色々と検索して情報収集(情報確認)をしたが、デバッグルーム(と言うよりデバッグビレッジ?)に居る未使用ボスに関しては、如何なる情報も掴めなかった。
当然開発側は知ってるワケだが、一般的には余り知られてないのでは無いだろうか。
ちなみに私自身もフレア=ラルの医院にガーゴイルが居る事は知ってたが、ダメージ部屋(医院内左側にある)と未使用ボス部屋(上の動画参照)が有る事は、
この記事を投稿する為にアレコレやっていて発見した。
 つまり私も以前から知っていたのではなく、2021年になって初めて知ったわけだ。
こういう事が有るから、改造は面白い。 
ちなみに他にも、
デバッグメニューのEXPで右キーを押しながらだと経験値+1000とか(普通にIキーを押すだけだと一回で+100)、FLAG 0~7がワープ先(一度訪れた)フラグとか、その辺りも今回のアレコレで知った。
 
最後になってしまったが、かつてデバッグモードについて記述されていてセーブデータを公開されていた(今は無き)ファルコム大好きっ!のサイト、及び管理人SUGIMO.氏に感謝を申し上げたい。
デバッグモードの存在自体をこのサイトで知り、デバッグメニューのSTATの解説と、FLAGの8番及び10番の解説はこのサイトに依る。
 
※オマケとして、上から三枚目の画像(アリエダで整列してるヤツ)に7zで圧縮したOotake用のセーブデータを埋め込んである。
WinRAR等のアーカイバで開けば取り出せると思うので、お手軽に再現したい方は活用されたし。

※5/26追記:オマケのセーブデータが壊れていてセーブ不可だったのを修正。

※5/28追記:当時のスタッフで実際にボスを作った方からお話を聞けました。
未使用ボスについて

・イース2に類似したボスが居た為に没に(ゲラルディ?) 
・登場予定箇所はガーゴイルの所(黄金の神殿) 
・動き等を後にサターンボンバーマンのボスで流用







御質問・御意見・御感想は@m_o_p_u までお気軽にどうぞ







 << 前の記事 次の記事>> 
イメージ  『空海の風景』を読んで An intruder has penetrated
our force field.
 
  イメージ




コメント

このブログの人気の投稿

ランドストーカー ~皇帝の財宝~

ランドストーカー ウォーキングシミュレーター on JavaScript 作成リポート

イース4のデバッグモードを実機で

ランドストーカー on JavaScript作成記(4)

An intruder has penetrated our force field.

ランドストーカー on JavaScript作成記(2)

ランドストーカー on JavaScript作成記(3)

自作の楽しさ

チートの話