fc2ブログ
PS2の改造コードを調べてます。
注意事項
当ブログではPlayStation2、Wiiの改造コードをメインとしています。
PlayStation2の改造コードを使用するには
XT(エックスターミネーター)
PAR(プロアクションリプレイ)
などが必要です。なお当方のコードはXP(XT)で復号化した状態でのみ動作確認を行っています。
オンラインではコードを絶対に使用しないでください。
コード使用によって生じた損害等に当方は一切責任を持ちませんので
各自の責任の元で行ってください。
転載は禁止です。
リンクはご自由にどうぞ。

人気ブログランキングへ ブログランキング【くつろぐ】
コード更新履歴


スーパーロボット大戦Zの機体名設定の説明。
需要ないだろうなと思い簡単に説明して終るつもりだったのですが
コメントがあったのでもう少し詳しく説明します。

機体の能力値のアドレスは
機体の基準アドレスから
+04:機体名(2)
+08:HP(2)
のようになっていることは前回で説明しました。

さてHPなどは値を直接アドレスにいれれば良いのですが
機体名の場合は違います。
機体名のアドレスに入る値は、文字列の先頭アドレスが値として入ります。

例えば"ガナーザクウォーリア"の場合
機体名のアドレスは0072A2FC
そこに入っている値は007446C0
となっています。

ではアドレス007446C0の値がどうなっているのか
実際に見てみます。
roboz-s1.jpg
とこんな感じで文字列が入っています。

そこで機体名を変更するには
roboz-s2.jpg
コードにすると
207446C0 83835683
207446C4 EA904183
207446C8 55837097
207446CC 45834E83
207446D0 5B814883
207446D4 41838A83
207446D8 00000000
としてこのアドレスを直接書き換えても可能です。

ただしこの方法だと問題があります。
それは文字列の長さによっては次の機体名も書き換えてしまうことです。

そこでその対策として
空きアドレス
000F8000~000FFFFFの任意の場所に
文字列を格納して
機体名の値としてそのアドレスを指定します。

つまり"ガナーザクウォーリア"を"シャア専用ザクウォーリア"にするには
まず機体名の文字列を空きメモリに書き込むコード
200F8000 83835683
200F8004 EA904183
200F8008 55837097
200F800C 45834E83
200F8010 5B814883
200F8014 41838A83
*空きアドレスは00で埋められているので文字列の終わりを示す00は省いています。

そして機体名にそのアドレスを値として指定するコード
2072A2FC 000F8000
の2つが必要になります。
スポンサーサイト