では早速変換の話に。

VBA→XTA
前回も言ったようにVBAコードは
0*******:********
0*******:****
0*******:**
の形式で表されます。
値が2桁、4桁のときは前回言ったことを覚えていれば分かります。
値が2桁のとき
ヘッドコードを0から3に変えます。
0******* **→3******* 00**
値が4桁のとき、
ヘッドコードを0から8に変えます
0******* ****→8******* ****
値が8桁のとき、
これが少し複雑です。X-TAコードは値を4桁にしなくてはいけないので、8桁を4桁づつにわけます。
80000000 00010002
このようなコードがあったとすると
80000000 0002
80000002 0001
といった具合に分けます。*を使わなかったのは、説明しづらいからです。
まず、ヘッドコードは8にします。(上記のように値の上二桁が00なら3でもいいですが、僕はいつも8にします)次に、1行目のコードのアドレスには手を加えずにそのままにしておきます。2行目のコードのアドレスは1行目のコードのアドレスに「2」を足してください。この時、アドレス部も16進法が適応されていることに注意してください。最後に値は下4桁を1行目に、上4桁を2行目に入れてください。
これで出来上がりです。
では実際のコードで例を見てみましょう。
020007D8:14C1A79F
変換↓
820007D8 A79F
820007DA 14C1
1行目はヘッドコード8でアドレスはそのままの「20007D8」。値は下4桁の「A79F」をいれます。
2行目はヘッドコードは8でアドレスは1行目のアドレス「20007D8」に2を足して「20007DA」になります。(16進法なので8に2をたすとAになります)値は上二桁の「14C1」をいれます。わかりましたでしょうか?他のコードは勉強中です。


VBA→生PAR
これは前回の話で片付きます。XTAとは違いPARコードは値を8桁にしなくてはいけません。そのときは値の前に8桁になるように0をつけて下さい。
値が2桁のとき
ヘッドコードは0のままです
0******* **→0******* 000000**
値が4桁のとき
ヘッドコードは0から1に変えます。
0******* ****→1******* 0000****
値が8桁のとき
ヘッドコードは0から2に変えます。
0******* ********→2******* ********

前回も説明しましたが、PARには生コードと暗号化コードがあります。生コードのままではPARにいれても効果がありません!これを暗号化しなくてはいけないのですが、この暗号化の仕組みがまたとんでもなく複雑らしいです。ですから、この暗号化の仕組みは理解しなくても大丈夫です。そもそも暗号化の解説してくれるようなページはそうそうありません。ではどうやって暗号化するのか?有りがたいことに、暗号化ツールがインターネット上にあります!「GBAPARコード変換スクリプト」というのがオススメです。インターネット上で使えるのでDL不要です。ここで上記のように変換した生PARコードを暗号化コードに変換して使えるようにします。

PARのヘッドコードは他にも色々とあるようですが理解していません。PARは実機を持っていないため、これからも多分勉強はしないかと…

生PARとXTAの変換は書かなくてももう分かりますよね?わからねぇよ!!って方は一回VBAコードに直してからほしい方のコード形式にしてください。

暗号化PARコードとXTAコードを相互変換してくれるツール「PAR⇔XTA生コード相互変換 というものがあります。これはとっても便利です。XTAのヘッドコード4にも対応してくれる優れものです