■GBAのPARコード生成ツール-----ダウンロード
GBA用のPARが発売されたはいいが、あいかわらず暗号化されている・・(--;)
ということで、コードの暗号化・複合化を行うプログラムを作成してみました。
このツールを使うと、VisualBoy Advance(以下VBA)でサーチしたコードをPAR用のコードに変換することができます。(あいかわらずDOS窓用です・・・)
とりあえず、参考になるとは思いますので、ソースも置いておきます。
誰かGUIなツールを作成してください。(^^;)
なお、適当に作成しましたので、正常に変換できない場合もあるかもしれません。
■注意点
PARの場合、データ部の長さを明示的に指定する必要があります
・PARの改造コードの形式(単純書き込み)
0xxxxxxx 000000yy バイト書き込み((8bit)
1xxxxxxx 0000yyyy ハーフワード書き込み(16bit)
2xxxxxxx yyyyyyyy ワード書き込み(32bit)
VBAのチートコードはデータ部の長さに関係なくアドレス部を指定していますので、変換する際には、データ部の長さを指定するコードを付加する必要があります。
たとえば、VBA用のコードが
02000D78 03E7
をPAR用のコードに変化する際には、アドレス部を
12000D78
として変換する必要があります。
■マスターコード・・・現状でわかっていること
マスタコードの形式は
Faaaaaaa
bbbbbbbb
ccccccc
dddddddd
aaaaaaa フックアドレス
bbbbbbb 不明・・・・00000101が汎用的に使用されている
cccccccc ゲームコード
dddddddd 不明・・・・001dc0deが汎用的に使用されている
となっているようです。
3,4行目は、PARに登録されている改造コードの中から、挿入しているタイトルのゲームの改造コードを自動選択するのに使われるだけなので、なくとも良いです。
※ゲームコードはゲームごとに異なるコードが使われています。たとえば、ブレスオブファイアは「4142464A」(ABFJ)、タクティクスオウガ外伝は「41544FAA」(ATOJ)となっています。なお、変換する際には上位と下位バイトを入れ替えて、入力する必要があります。たとえば、ブレスオブファイアの場合「4A464241」と入力します。
■コードの種類
コードの種類については「かぢゃぽんのお部屋」のほうで詳しく解析および解説されています。マスタコードをサーチするツールも作成されていますので是非訪問してみましょう!