VisualBoyAdvance用コードの暗号化手順 |
||||||||||||||||||||||||||||||||||||||||||||||
先ず、ふぁおのぺえぢさんや当ページからGBAPAR数値変換プログラムをダウンロードして下さい。 ダウンロードしたファイルは圧縮されていますので、Lhasaやeoといった書庫解凍ソフトで解凍し、 その後、解凍してできたファイル、gbapar.exeをクリックしプログラムを起動させます。 すると、以下の画面が表示されますので、 アドレス部にVisualBoyAdvance用コードのアドレス、データ部にValue(値)を入力します。 ここではスーパーロボット大戦Aの所持金コードを例に挙げてみたいと思います。 ※02000000 - 0098967F(このValueは16進、32bit表記。10進になおすと9999999) ただし、VisualBoyAdvanceのアドレスに関し注意点があります。 Valueが8bit(00〜FF)のコードはそのまま02000000で大丈夫ですが、 16bit(00〜FFFF)のコードなら12000000、 32bit(00〜FFFFFFFF)のコードなら22000000というように、 状況に合わせてアドレスの先頭を変更しないといけません。
この結果、02000000 - 0098967Fというコードは22000000 - 0098967Fとなり、 GBAPAR数値変換プログラムで算出された、 5F0A2B86 0BE519CCがGBA用PARコードになります。 それでは実際にいろいろなコードを変換してみましょう。(以下は改造例) なお、コードの中にはアドレスしか掲載されていないものもありますが、 この時は『好きな数値を入力して下さい』という意味ですので、 例えばアイテム変更系コードでしたらアイテムリストの数値を入力したり、 ステータス変更やアイテム個数系のコードでしたら、 HPやMPをいくつにしたいか?道具を何個持たせたいか?など、 これは人それぞれなので、ゲームに見合った(無理のない)数を入力して下さい。 例:ヒカルの碁 詰め碁100% ※ブルマンさんの投稿コードです。
この場合、アドレスが0200B0A0、 Value(データ部に入力する数値)が64というのは分かると思います。 暗号化すると51A357EE F183F831になりますので、これがGBAPARコードとなります。 ちなみにValueの64という数値は10進数で100を表していますので、 100%を99%にしたければ63(10進:99)、10%にしたければ0A(10進:10)というように、 この部分には好きな数値を入力することができます。 例:マジカル封神 お金MAX
一見すると、このコードは3行入力しないといけないように見えます。 もちろん1行ずつ暗号化してもGBAPARコードとしてご利用いただけますが、 入力が大変なので、せっかくですから3行のコードを1行にまとめてみましょう。 こういう複数行あるコードは先頭行が基本アドレスとなります。 02008A30 ←先頭行です 次にValue(データ部に入力する数値)なんですが、 ここにはその項目の最大値(【】内の数値)を16進数になおして入力してみて下さい。 0F423F ←999999(10進)を16進になおしたもの コードをよく見ると、 一番下の行のValueから上に上がっていった数値が、0F、42、3Fとなっていますよね? 実はGBやGBAなど多くのゲーム機のコードがこのような書き方になっているので、 この法則は覚えておくと良いかもしれません。 上のことを踏まえて実際にコードに表すと、 02008A30 - 0F423F ←アドレス部 - Value(データ部)の形 というようになり、あとは暗号化すれば良いだけなんですが、 その前に気をつけていただきたいことがあります。 ※GBAPARの仕様
この表の暗号化前という項目に着目して下さい。 Valueの桁数によって、アドレスの先頭が変化しているのが分かります。 0F423F(10進:999999)という数値は桁が6桁なので、 0yyyyyyy - xxでもなければ、1yyyyyyy - xxxxでもありません。 2yyyyyyy - xxxxxxxxにしか当てはまらないので、 この結果、02008A30 - 0F423Fというコードは22008A30 - 0F423Fとなり、 暗号化した7611FCAF 10216E4EがGBAPARコードになります。 例:バトルネットワーク ロックマンエグゼ2 戦闘後に手に入るチップの変更 ※F.Mさんの投稿コードです。
☆戦闘後に手に入るチップをクロスガンにしたい。 0200EFFE - 0006 ←リストを見るとクロスガンのValueは0006 これをGBAPARの仕様(Valueが4桁以上)にあわせると、 1200EFFE - 0006 ←16bitコードなら先頭を1に変更 よってコードは1200EFFE - 0006になり、暗号化するとEB74A442 C69F7F11になります。 例:ファイアーエムブレム 封印の剣 輸送隊のアイテム変更 ※羽さんの投稿コードです。
☆輸送隊アイテムの1個目をアンロック99個にしたい。 種類:02015D2A - 51 ←リストを見るとアンロックは51 個数:02015D2B - 63 ←99を16進にすると63 よって、このコードを暗号化すればGBAPARコードとなるわけです。 種類:3493E747 752A8832 個数:03B4EA0D AE31D685 また、覚えておくと非常に便利なのですが、 このようにコードのアドレスが連続しているものは 16bit(Valueはxxxx)で入力することができます。 (以下はゲームの改造に慣れてきたら挑戦してみて下さい) 0215D2A - 6351 ←Valueは下の行から先に入力(この場合は個数→種類の順) これをGBAPARの仕様にあわせると、 1215D2A - 6351 ←16bitコードなら先頭を1に変更 よってコードは1215D2A - 6351になり、暗号化すると6580477F FDBBD4EEになります。 本来なら2行必要とするコードをこの方法で1行にまとめることができます。 |