これはアクションリプレイ誌で過去に書いた物と同じ方法なので 掲載誌発売後しばらくしてからの公開になりました。 この方法もシンボル情報を移植するか残っていないと探せないので Pad1やPad2の新旧シンボル残りのソフトから移植して これから紹介するラベルが存在するか確かめて下さい。 ただしPad2の場合は詳細がまだ未確認なので パッドアドレス特定法BでPad2_infoで探して下さい。 今回の題材は「Grand Theft Auto3」です 先に言うとトルネコの大冒険3で該当するシンボルが移植されます。 関数ラベルの移植処理が終わったら 「scePadPortOpen」というラベルが貼られている場所に飛びます GTA3では「0011F208」にこのラベルが貼られていました。次にこの関数の先頭を参照先に設定しF3で検索します すると00286A78と00286A8Cの2箇所のjal命令が引っかかりました。 次に、この周辺でa2レジスタに値を格納する命令が無いか調べます luiとaddiuの組み合わせで格納する事が殆どなので 慣れないうちはaddiu命令を目安にすると分かり易いかと思います。
さて、画像を見れば分かるとおり a2レジスタには00501A00か00501B00のどちらかが格納されるようです 候補が二つありますが、複数見つかった場合は 数値の低い方、今回は00501A00が最有力候補になります。 最後にこの数値に2h+して下さい、これでパッドアドレス特定終了です。 ただし万が一にこのアドレスで効果が無いと困るので 実際に条件判定コードにして動作を試してみて下さい。