DS改造コードを探す際は、主に以下のツールを利用する。



DS実機 + Datelトレーナーツールキット
Datelトレーナーツールキットを利用し、DSとPCをリンクすることで、
専用のツールを用いて改造コードをサーチ可能。
サーチ速度は遅いが、環境に左右されずに確実にサーチ作業を行うことができ、
プレイ中にリアルタイムで改造コードをチェックすることもできる。



DSエミュレータ + メモリエディタ
当初はデモプログラム程度しか動かなかったDSエミュレータも、
現在では市販ソフトが動作するレベルに達しており、それに伴って、
DSエミュレータを利用したコードサーチが主流となっている。



メモリエディタは汎用的なものを使っても一応はサーチできるが、
DSエミュレータ対応(実機と同じアドレス表記)のものもあるので、
そちらを用いると良い。 ※詳細は後述



逆アセンブラ
DISARM・ndsdis2などの逆アセンブラを用いてプログラムコードを直接解析する。
使いこなせば、通常の改造コードではありえない効果を得ることができるが、
サーチ前に最低限のARMプログラミングの知識はほしいところ。
と言っても、これを書いてる当人は中級者程度の技量しかないので、
ちょっと頑張れば誰でも挑める程度のものだったりする。
詳細は逆アセンブラを用いたコードサーチで解説しているのでご一読を。



      • -----------------------------------------------------------------------------


DS改造コードサーチには以下のメモリエディタを使用する。



メモリエディタ "hasteDS" (Irregular Child)
DSエミュレータ専用に特化したサーチツール。
no$gba、iDeaS、DeSmuMe、NeeDS、NeonDSに対応しており、
キャラクターステータスMAX・アイテム全取得・所持金MAXといった
一般的な改造コードであれば、このツールだけで十分サーチが可能。
ただし、このプログラムそのものは「dipstar補助ソフト」として作られているため、
改造コード書式がDSアクションリプレイと異なるので注意するべし。

DipStar
0XXXXXXX 000000YY ... アドレスXXXXXXXに1バイトYYを書込
1XXXXXXX 0000YYYY ... アドレスXXXXXXXに2バイトYYYYを書込
2XXXXXXX YYYYYYYY ... アドレスXXXXXXXに4バイトYYYYYYYYを書込

ACTION REPLAY DS
2XXXXXXX 000000YY ... アドレスXXXXXXXに1バイトYYを書込
1XXXXXXX 0000YYYY ... アドレスXXXXXXXに2バイトYYYYを書込
0XXXXXXX YYYYYYYY ... アドレスXXXXXXXに4バイトYYYYYYYYを書込
※DS改造コードWikiより抜粋



メモリエディタ "emuhaste" (Irregular Child)
hasteDSの後継で、DSエミュレータだけでなく、PS2やDreamCastのコードサーチも可能。
DSエミュレータはNo$gba、iDeaS、DeSmuMEの3種類のみの対応となっているが、
ユーザ自身で「コンフィグファイル」を作成し、追加してやることで対応可能。
(ユーザ自身で対応エミュレータを増やせることがemuhaste最大の利点)。



また「0-2コード効果反転」を有効にすることでコード書式がDSアクションリプレイ互換になり、
可変式アドレスを採用しているゲームに必要な「オフセット変更(Bコード)」を実装しているので、
汎用と謳いつつもDSコードサーチに適した仕様となっている。
レイアウトが若干hasteDSと異なるが、サーチ方法はほとんど変わっていない。



emuhasteサーチ手順と動画(DivX)
(その1)パラメータサーチ emuhaste01.avi
「直感ヒトフデ」でスコア99999999化する改造コードをサーチする手順。
数値入力のエディトボックスに L0 とか L720 と打っているが、このLは32bit(0〜4294967295)の意味。
マリオのコインみたいに小さな値であれば S = 8bit(0〜255) 、
キャラのステータスのようにほどほどの値であれば M = 16bit(0〜65535) を使うと良い。



(その2)増減サーチ emuhaste02.avi
「Newスーパーマリオブラザーズ」で本来選べないカーソル位置をムリヤリ選択する動画。
カーソル位置だけでなくエネルギーゲージのように、目に数値として見えない値は
こうやって探す必要があり、動画のようにサーチ候補がいくつも該当することがあるが、
その場合は、それっぽいものを勘で適当に試してみるしかない。
なお、上のパラメータサーチ項で説明した S / M / L は
emuhaste左下にあるBYTE WORD DWORDラジオボタンがその効果をもつ。
(大抵のカーソル位置は1バイトでも表現できるので BYTE を用いた)。



      • -----------------------------------------------------------------------------


ボタン判定(キー判定)コードについて
このWikiにアップされている改造コードには「セレクトボタンを押すと〜」とか「L+上ボタンで〜」のように、
ボタン入力に反応して発動するものがあるが、これはアドレス04000130(もしくは04000136)に格納されたボタン入力情報と、
9から始まる改造コード(9 + アドレス7桁 + 16ビットマスク + 16ビット判定値)の組み合わせで実現している。
また、各パラメータには以下の値が割り当てられている(MSB/LSBの説明が面倒なので思いっきり端折る)。

ボタン名称 A B セレクト スタート 右 左 上 下 R L
値 1 2 4 8 16 32 64 128 256 512

これらの値を足して16進数にしたものがキーコードとなる。
A+Bボタン同時押しであれば 1 + 2 = 3 で、94000130 00000003。
この下にA+Bボタンを押したときだけ発動させたいコードを記述し、最後にD0000000 00000000で閉じればOK。



別タイプでA+B同時押し "94000130 FFFC0000" みたいなのもあるが、これはマスクとの演算結果が0になるように
しているだけで、効果は上のものと変わらない。



計算が面倒くせぇ!な人はARDSのキー判定コードを作る支援ツール を使うと良い。

やくにたつといいなぁ。

結果

http://www.yahoo.co.jp/


関連スレッド

マリオのしりとりber.2
ピーチのかくれスライダーの自己ベストタイム
ワルイージは出るかでないか

この裏技・攻略を…

ツイートする

この裏技・攻略が…

役に立った(5人) 立たなかった

100% (評価人数:5人)