かりゅうどの気まぐれ日記

FC2ブログのかりゅうどのおきがきから移転しました。ソシャゲとポケモンと日常の云々について書いていこうと思ってます。

USBGeckoノススメ【Pokémon Past Generation Advent Calendar 2022 3日目】

こんにちは、ハンターです。

 

本記事は下記企画3日目の記事となります。

 

adventar.org

 

このクソ忙しい時期にアドベントカレンダーの予定を2つも入れやがった自分をすごい恨んでいますが、やると言ってしまったので書きます、内容はかなり適当になってしまったけどゆるして

 

 

USBGeckoってなんぞ?

USBGeckoとは、一口に言うと「リアルタイムでGCのソフトの中身を確認できるツール」のことです。

だいぶマイルドに言ってますが、要はこれってメモリを直接覗いてそのまま書き換えを行ったりできるので、だいぶヤバめのツールです。

ただ改造をするくらいなら別にこれを用いる必要なんてありません、PKHexでもなんでも使えば良いでしょう。

ではこのガジェットを使う意味は何か?そう、実機でどのように数値が動いているかの確認を行うことが出来ます。

実は、エミュレータと実機環境では出力される結果に違いが出ることがあります。ポケモンボックスのメソ4乱数とかがイメージとしては近い感じですかね?

その他実機で調査を行う利点としては物理的な機器を接続した場合のデータを取れることなどもあるでしょうか。例えばGCケーブルを用いてGBAと接続を行っている際にメモリを弄って云々…みたいな感じで悪いことは無限大に楽しめます。

 

メモリを覗いてみよう

有効な範囲内のメモリを覗くことが出来ます。

確認が行える範囲は0x80000000~0x81800000の間になるようです。

基本的にはこのメモリ内に大体のものが集約しているので、これで特に困ることはないでしょう。

実際に接続して使用すると、

このようにメモリ内を覗くことが出来ます。

上記のメモリ(0x803F4E20~)に関しては、手持ちポケモン1匹目の情報が格納されている領域となっています。

例えば上記青色の箇所をF9→F8と書き換えると、

ルギアが

バンギラスに変化します。(見た目は変化していませんが、別画面に切り替えるとグラフィックもバンギラスに切り替わります。)

このように何かを弄って遊ぶことも可能ですが、例えば乱数関連で言うと、不定乱数を行う際に、実際にどのくらいの不定消費が絡むのかをリアルタイムに確認すること等が可能です。(ただ実際にUSBGeckoを用いて乱数をしようとした人曰く、現状の実行方法(Nintendontを経由した起動)では実機とはまた異なった結果が出るため、これを可能と言っていいのかは怪しいですがとりあえず…)

まあこんな感じで雑に遊ぶこともできれば、本格的な調査に用いることもできたりしちゃうのです。

最近は進化条件やら習得技を弄ることもできるみたいですね、るしあいす

 

欲しい情報の探し方

正確には「調査したいアドレスの探し方」、とかになる感じですかね。

以下の通りになると思います。

 1.チートコード等から読み解く(チートコードにはどのメモリに何を書き込むかを記述してあるケースが多いため、読み解くことさえできれば非常に大きなヒントとなります。)

 2.偉大なる先人たちの調査結果を用いて周辺に目的のデータがないか探す

 3.名称やわかっている数値を16進数に変更し、検索をかける

 4.一度対象の値を検索したうえで、絞り込みをうまいこと使う

…etc

対象を検索する方法に関してはさまざまありますが、とりあえず上記4つの手法を挙げてみました。とりあえず最初は分かりやすいやり方で欲しい情報入手していきゃええねん。

 

さいごに

ざっくりUSBGeckoで何ができるかはわかりましたかね 要はエミュで行う調査を実機でもできちゃうよって感じのツールです。

ちなみに僕のお気に入りはこれです。

 

 

今回はふんわりとしたことしか書いていないのですが、がっつりした内容は明日12月4日の記事、剣心君がやってくれるらしいのでそちらを心待ちにしましょう!!!!!

 

え?いくら明日剣心君が俺のケツ拭いをやってくれるとはいえアドベントカレンダーなのに記事の内容があんまりにも薄すぎて今回する価値なんてないんじゃないかって?

 

 

 

 

気にするな!!!!!!!!!!!!!!

 

 

 

次は2週間後、生きていればクソッタレFRLG孵化乱数の所感でも殴り書こうと思います。