hasteDS マニュアル


☆はじめに

DSエミュレータDeSmuMEiDeaSに対応したパラメータサーチツールです。
これでサーチしたアドレスは、DS用改造ツールProject-DipStar-で利用できます。

☆hasteDS使用の手引き

まず、DSエミュレータ『DeSmuME』『iDeaS』『NeeDS』のいずれかを実行して改造したいゲームを始めておいてください。
続いて『hasteds.exe』を起動して、メニューの[ Snap DeSmuME&iDeaS&NeeDS ]をクリックします。
これでDSエミュレータのプロセスメモリを解析して、ベースアドレスを探し出します。
終了すると音が鳴り、ヘキサダンプとアスキーダンプが表示されてサーチが可能になります。
それでは、サーチ方法を説明しましょう。

☆数値検索

右側にあるサーチパレットの一番上に「数値検索」ボタンと、
そのすぐ右に入力欄があり、それらを使ってサーチを行います。
この入力欄には以下の形式の数列・文字列を入力することができます。
16進数数列最大256バイトの16進数数列 (例)[E703]→E7 03を検索
S0〜S2551バイト(00〜FF)の10進数表記 (例)S99→63を検索
M0〜M655352バイト(0000〜FFFF)の10進数表記 (例)M999→03E7→E7 03を検索
t-3.40282×10^38〜
t3.40282×10^38
不動小数点数(単精度実数)を検索(10^38は、10の38乗を表す)
L0〜L42949672954バイト(00000000〜FFFFFFFF)の10進数表記
(例)L99999999→5F5E0FF→FFE0F505を検索
$文字列文字列の検索です。 (例) $銅の剣→"銅の剣"を検索

これらの数値(文字列)検索には「絞り込み」と呼ばれる機能があります。
例えば、キャラクターの体力が 150 なので S150 を検索したところ165000件該当してしまい、
とても165000箇所も確認できない〜…といった場合でも、続けて、その体力を 109 まで減らして S109 を検索すれば、
165000件の中から 109 に変化した箇所だけをさらに絞り込みます。
「無関係の値を除外する」ことでどんどん該当件数が減ってゆくので、これでラスト1件まで減らすのが理想です。

実行すると、このすぐ下にある「サーチ結果」のリストに該当したものが表示されます。
もしサーチを始めからやり直したい場合は[サーチ結果クリア(初期化)]ボタンを押せばOKです。
なお「カーネル領域をサーチしない(デフォルト)」のチェックを外すことで、
アドレス00000000〜000fffffがサーチ可能になりますが、
あまり意味はないのでそのままで良いでしょう。

☆比較検索

先ほどのサーチパレットの画像に、数値検索以外に「増加、減少、不動、変動」のボタンがありましたが、
これは主に数値として目に見えないパラメータをサーチする際に用います。
例えば、戦力エネルギーゲージなどのグラフィカルなパラメータ、好感度パラメータなど目に見えない情報、
カーソル位置などをサーチするには、この比較検索を使いましょう。

このサーチ方法では、とにかく絞り込みに慣れが必要です。
まず「サーチしたいパラメータのバイトサイズの予想」をします。
例えば「良い・普通・悪い」のように安直なパラメータであれば1バイト、
画面の端から端まであるようなエネルギーゲージなら最大999(2バイト)だったり、
ひょっとしたらつくり手の気分で上記の条件であっても4バイトだったりするかもしれません。

これらを見定めたらサーチパレットのラジオボタンから目的のバイトサイズをチェックします。
PCのゲーム改造に慣れていると違和感がありますが、BYTE(1)/WORD(2)/DWORD(4)ではなく、
BYTE(1)/HalfWORD(2)/WORD(4)という扱いになります。

また、目に見える値と実際の値が違うこともあります。
全然ヒットしないときは増減サーチをうまく活用したり、FLOAT型でサーチしてみるのも良いでしょう。

☆簡易メモリ書替

アドレスを絞り込んだら、続いて実験的にそのアドレスに任意の値を書き込んでみましょう。
phasteのメニューの中にある[ 簡易メモリ書替 ]をクリックすると、
アドレスの入力欄とパラメータの入力欄などが表示された小さなウインドウが開きます。
ここのアドレスには先ほど調べた値を入力し、データのところには「数値検索」と同じ書式で
任意の値を入力します。 (例)経験値を99999999にしたい→L99999999

これで「書き込み」ボタンをクリックすれば目的のアドレスに値が書き込まれます。
また、「改造コード追加(SML限定)」をチェックしておくと、それと同時に、
改造コードマネージャ(詳細は後述)へ、この改造コードが生成されます。

☆アドレス移動

ヘキサダンプでアドレス 0015E7AC を見たいけど、スクロールバーだけで探すのは大変・・・
といったような場合は、メニューの [アドレス移動] を使いましょう。
アドレス入力欄と「OK」と「キャンセル」しかない非常にシンプルなウインドウが開くので、
任意のアドレス値を入力して「OK」を押せばヘキサダンプがその位置まで移動します。
ただそれだけです(^^;;

☆簡易改造コード動作チェック

サーチして求めたアドレスを書き換えるテストと、改造コードの作成に使う機能です。
「簡易メモリ書替に頼らなくても即、改造コード入力でチェック!」
という人は、こちらに慣れるととても手早くチェックを行えるのでオススメです。
基本的には「アドレス8桁 + スペース + 16進数で書き込みたい値8桁」の書式で記述します。
以下のコードをサポートしています。
0xxxxxxx 000000yyアドレスxxxxxxへ1バイトyyを書き込み
1xxxxxxx 0000yyyyアドレスxxxxxxへ2バイトyyyyを書き込み
2xxxxxxx yyyyyyyyアドレスxxxxxxへ4バイトyyyyyyyyを書き込み
Axxxxxxx yyyyyyyyアドレスxxxxxxへ4バイトyyyyyyyyを書き込み(本来は[起動時に1回だけ書き込み])
をサポートしています。

コードを入力したら「改造コード更新」ボタンを押せばそれが有効になります。
デフォルトで0.5秒に1回の頻度で繰り返し書き込みますので、このボタンを押したときにだけ
実行したい場合は、「常にコードを有効にする」のチェックを外してください。

あとの2つは説明するまでも無いですが「クリップボードへコピー」を選ぶと、
改造コードがコピーされますのでそのまま別のエディタに貼り付けることができます。
「コード全消去」は改造コードを全消去します(元に戻らないので注意してください)。


MailAddress : hs_mana@hotmail.com
WebPage  : http://hp.vector.co.jp/authors/VA018359/