コードサーチ基本
・はじめに
改造コード(チート)とはゲームのデータをイジッて無敵や金全開などの状態にしてしまう便利なシロモノなのですが、一部のエミュにはコレらを入力する機能に加え、自分でコードを発見できる「コードサーチ」なる機能が付いています。
まぁ何やら小難しそうだと敬遠しがちですが、やり方さえわかれば大した事ありません。よほど特殊なモノでもない限り、旧ハードの「体力」や「所持金」程度のコードなどは小学生でも見つけられるぐらいの感じです。
落ちているコードを苦労して探すぐらいなら、自分でサーチ出来るようにしてしまった方が早いので、ヒマな人は挑戦してみましょう。
・コードの仕組み
ステータスやゲージ類、キャラの行動や背景など、ゲーム中に起こる全ての出来事にアドレスが存在し、その数値部分が常に変動してゲームも動いています。簡単に説明するとゲーム中でキャラの体力が100の時は体力コードの数値部分も100、死んだ時は0になってるといった感じです。
つまり、数値部は適当でも最大でも減らなくなる事には変わりありません。
一応、全て最大値にする方向で進めて行きますが、全開にしても「なんとなく気分がイイ」というだけの話しなので、適当でも問題ないです(笑)。
・コード形式
改造コードはどれもコードの内容を示す「アドレス部」と、その値である「数値部」の2つから成っていますが、ハードやエミュによって微妙に桁数や形式が違います。
とはいえ、こんなモンは見ればすぐわかるようになるかと思うので、無理に覚える必要も無いです。
・サーチの仕組み
まずは動いている全てのコードを取り込み、そこからワザと余計な行動を取って目的以外のコードを除外して行く作業になります。
例えば増減するゲージ類などを探したい場合、ワザと減らした状態でサーチ、増やした状態でサーチしたとします。
すると数値が減ってから増えたアドレスだけが残り、関係のないアドレスは検索対象から消えます。このように目的に関する数値をゲーム中で増減させてはサーチを繰り返し、最後に残ったモノが正解のアドレス。あとはそのコードの数値部を適当な値で入力&固定してやればOKというワケです。
といっても必ずしも正解のアドレス一つだけが残るとは限りません。
同じような数値で増減しているアドレスなんてのは他にもあるモノで、どうしても一つに特定できない場合も多々あります。
そんな時には迷わず、残ったアドレスを片っ端から入力&固定してやりましょう。その辺はおもいきりが大事です。
一昔前の実機&改造ツールを使うような時代には「ちょっと触ればバグる」「ちょっと触ればバックアップが飛ぶ」などと実にブチ切れやすい環境に恵まれていましたが、エミュには「どこでもセーブ」や「早送り」等の便利な機能が付いているので、多少の無茶は屁でもありません。
ある程度絞り込めたら、ガンガン「入力&固定」して探しましょう。
・16進数
一部を除いて、コード上の数値には16進数というヤツが使われます。
簡単にいうと通常は1~9の次が10ですが、16進数の場合は1~9の後にA~Fが入り、次が10といった具合に16で1ケタ繰り上がる計算になります。
例えば体力値を99にしたい場合、コードの数値部には99ではなく、16進数の計算で「63」と入力してやる必要があります。
まぁコイツのややこしさが初心者を挫折させる最大の壁になりますが、ほとんどの場合サーチ時は普通に10進数の入力で行けますし、困る事があってもPC付属の電卓を使えば2秒で計算できるので何も問題ありません。
上表の法則を頭に叩き込み、最低限「2A-1=29」「FF+1=100」といった±1~2ぐらいの簡単な算数が出来る程度にしておけば大丈夫かと思います。
便利な計算サイトなどもあるので使わせて貰いましょう。
「10←→16進数変換プログラム」
・バイト数
これも少々ややこしいですが、1バイトは1~255、2バイトは256~65535、それ以上は3バイトといった具合で、簡単にいうと数値部分の上限(桁数)みたいなモノです。
(機種によっては8、16、32バイトと表記されるモノもあるが基本は同じ。)
1バイトの所持金のコードを発見した場合、数値部にFFで最大値の255。
それ以上にしたいなら2バイト相当のコードも追加してFF.FFで65535。それ以上なら、更に3バイト相当のコードも追加して・・・といった感じです。
細かい数値に調節したい場合も同様で、変更したい値を16進数で計算し、順番にそれぞれ2桁ずつを数値部へ入れてやればOK!例えば、9999なら2コードの数値部へ27.0F、999999なら0F.42.3Fといった感じです。
まぁ意味がわからんと思うので、下表を見てください(笑)。
といってもコレはSFCコードの場合のみで、機種によっては1コードだけで3バイト以上の値を入れられるモノもあるので、なんとも言えません。
まぁ最低限、数値が1~255は1(8)バイト、256~65535は2(16)バイト、それ以上なら3(32)バイトという事だけ覚えておきましょう。
| コメント (0) | トラックバック (0)