update 2004.07.31

Chankast 改造コードサーチ講座 第2回 〜パラメータサーチ その2〜


概要
前回は数値として目に見えるパラメータをサーチしましたが、
今回はエネルギーゲージや好感度パラメータといった
「図としては見えても、正確な数値がわからないもの」
をサーチします。

準備
今回は以下のツールを使用します。
・DBxSTAND たにしげ師匠作のプロセスメモリエディタ
・ChanCalc ChankastのメモリアドレスをDreamCastの実アドレスに変換します
・DreamHacker スクリプト型の改造コード実行ツール
プロセスメモリエディタにはDBxSTANDを用いていますが、基本的に「何でもOK」です。
Googleでメモリエディタとでも検索すればいくつかヒットするでしょう。
ただし、サーチ範囲を指定できるものが理想です。

ターゲット 機動戦士ガンダム 連邦VSジオンDX
BOOST残りわずかっ
機動戦士ガンダム 連邦VSジオンDX(以下、連ジDX)は自キャラのパラメータは
数値で表示されているので前回と同じ方法で簡単にサーチできるのですが、
ブーストゲージや戦力ゲージは数値として目に見えないため、
プロセスメモリエディタの増減サーチを活用します。

ひとまず、前回の講座を参照して、
・Chankastで連ジDXを開始してChanCalcで基本アドレスを取得。
・DBxSTANDで基本アドレスから始まるサーチ領域の確保
の作業を済ませておいてください。

作業1 増減サーチを行う

まず、アーケードで適当なシナリオを選択してメイン画面(戦闘)まで進みます。
ブーストが満タン(地上に立っている)状態になったらDBxSTANDを開き、
サーチ方式でラジオボタン「2BYTE長」をチェックしてから新規[N]を押して、
サーチエリアのパラメータ情報を記録します。

次に、Chankastでジャンプ(バーニア)してブーストゲージが減るのを確認すると同時に、
メニューからRun→Pauseを選択してエミュレーションを停止させます。
ここでDBxSTANDの減少[-]のボタンをクリックします。
これで何万件かヒットするのでChankastのPauseを解除してさらにブースト、
ゲージが減少してからRun→Pause、そして減少[-]ボタン……
とまあ、こんな感じに絞り込んでゆきましょう。
一旦、地上に降りてブーストゲージを回復させてから増加[+]を実行することで、
減少し続ける無関係の数値を候補から取り除くのも有用です。

しかし増減だけでサーチしても恐らく候補が20件以上残ったまま減らないので、
そこで、空中でブーストゲージを減らしてサーチしてから、
地上にしばらく立ってブーストが満タンになるのを確認してから増加[+]
さらにそれからしばらくその場を動かずに 不動[=] を実行しましょう。
これにより、キャラの動きや背景などの無関係の情報をバッサリ切り落として、
該当件数3件まで絞り込めます。
んで、この3件のうち1件はダブり(該当アドレスと1バイト分ズレて該当)なので、
実際には2件に絞り込まれたということになります。

基本アドレス04190000でサーチした場合、アドレス04561F12とアドレス04561F14に、
連続で A0 0F A0 0F という値が並んでいる箇所がヒットしているのが確認できます。
こういう場合は大抵2つとも当たりだったりするので両方とも書き換えちゃいます。
大雑把ですが、サーチにはこういうアバウトな方法は有効なのです。

RPGのパラメータと違い、ブーストなどのように常に増減するものは、
DBxSTANDのタイマー書き換えを活用してチェックします。
ブーストの値と思われるヒット箇所(私の場合はアドレス04561F12)をクリックして、
SHIFTを押しながら[P]キーを押しましょう。
「パスワード」というウインドウが開くので、4561F12%A00FA00Fと入力します。
パスワードウインドウ
これでDBxSTANDのコードエディタにタイマー書き換えパラメータとして登録されます。
この状態でバーニアを使っても途中でブーストゲージが回復するようになれば成功です。
ブーストし放題

DreamHackerの改造コードを作る
まあ特に難しいことも無く、前回と同じように、ChanCalcの変換機能を使って実アドレスを求めて、
コピペ機能で登録してやるだけです。

ChanCalcの変換機能を用いて…
アドレス判明
これでブーストゲージを格納している実アドレスが003D1F12であると分かりますので、
以下のコードをDreamHackerにコピペします。

/連邦VSジオンDXの改造コード
*ブースト減らない
003D1F12 0FA00FA0

これでDreamHackerの改造コードが完成です。
(まあ、標準で連ジDXのコードを同封しているので無意味ですが…)

さいごに
次回は、Dコードを用いた条件分岐と、応用でキーの任意のボタンを押すとコードが発動を説明します。
これを使いこなせば、自分で裏技コマンドを作っちゃったりもできます。
(LとR同時押しで一撃で敵が倒れる、など)。

おたのしみに〜

TOPに戻る