update 2005.03.05

No.01 グラディウスIII&IV-復活の神話- 移動速度サーチ
概要
PCSX2で動作する市販ソフトとして有名なグラディウスIII&IVで、グラディウスIIIをサーチします。
動作は激重で、とても2D作品とは思えないほどの速度で動いてくれます(--;
能力強化よりも先にこのサーチで予め移動速度を限界突破まで早くしておけば、
自機だけは早く動くので、多少は後々のサーチ作業がスムーズになります。

準備
今回のサーチには以下のものを使用します。
・PCSX2言うまでもなくPS2エミュレータ本体。今回はVer0.7を使用しました。
・Phaste改造コードサーチツール
・グラディウスIII&IV通常版。SYSTEM.CNFに記載されたバージョンはVER = 1.02
なお、ベスト版や別バージョンではアドレスに違いなどが見られるかもしれません。

サーチ手順
大まかに説明すると、以下のような流れになります。
1.PCSX2を起動してグラディウスIII&IVを実行。
2.Phasteを起動してメニューの[PCSX2補足]をクリックしてプロセス補足&初期化。
3.グラディウスIIIをスタートしてカプセル取得→スピードアップ。
4.サーチパレットの『増加[++]』をクリック。また、変化を起こさず『不動[==]』もオススメ。
5.[3]〜[4]の手順を繰り返し、これ以上に上がらなくなったら、わざとやられてスピードを初期状態に戻す。
6.『減少[--]』をクリックし、候補をさらに削り落とす。
7.以上の作業を繰り返し、候補を出来るだけ絞り込む。

これらは最も基本的なパラメータサーチの手法でありグラディウスIII以外にも当然、活用できます。
しかし、実際に上記手順を試してみると最終的には該当件数0(サーチ失敗)になってしまうと思います。
その理由は、パラメータの型が合わないためです。

標準では「整数型 BYTE(1byte)」をサーチするように設定しており、範囲00〜255の値のサーチが可能です。
普通に考えれば自機スピードはLv1(標準)〜Lv6(最大)のたった6パターンしか存在しないため、
一見、BYTE型でサーチできると思えるのですが、実際にはこのグラディウスIIIのスピードは、
「整数型 HalfWORD(2byte)」で格納されています。
そのためサーチ前に予めこちらを選択しておく必要があります。
改めてHalfWORD型でサーチすると、アドレス 0100102C に絞り込むことができます。

詳細情報
アドレス 0100102C には自機のスピードアップレベルにより以下の値が入ります。
Lv1(Default)0001
Lv201C0
Lv30280
Lv40340
Lv50400
Lv6(Max)04C0
エクスプローダーの改造コードで表記するならば、
1100102C 000004C0
これで常時、自機はスピードが最大のままになります。

また、この値は限界突破が可能です。
本来の最大値は 04C0 ですが、1300ほどに増やしてみると、前代未聞の超速を味わえます。
むしろ、激遅のエミュレーションだからこそ制御可能で、実機では満足に操作すらできません。
移動幅が大きすぎるため、敵の弾を飛び越えてしまうのが昔のファミコン風味で良いですねぇ(ぉ

てわけで、改造コード(PS2-PAR用/暗号化済み)にすると以下のようになります。
マスターコード(必須コード)ECB78C40 1456E60A
移動速度が常時Lv64D979354 1456EBE5
移動速度が限界突破(↑と同時利用不可)4D979354 1456D4A5
おまけ L1を押すとバリア装備可能状態
(ゲームラボ2005年3月号に収録)
0C364AE8 1456E7A1
3D97938E 1456E7A3