Q&A

PS2DSPSP ‖ 改造コード入力済みデータ ‖ 改造コードQ&A ‖ 更新履歴 ‖ 質問・コード投稿・削除依頼
Q&Aページの続編です。
一ページ目はこちら。
ご要望やご質問などありましたら、質問・コード投稿・削除依頼のページからお願いします。

パッドアドレスとは?
以下の解説の例ではバイオハザード4の改造コードを使っています。
・使い方
パッドアドレスというのは、条件分岐に使うコードのアドレス部のことで、多くの場合押しているボタンを見分けるために使われます。(パッドコードのすぐ下のコードが動作する条件を振り分けるのがパッドコードです。)
と説明しても分かりにくいと思うので、例を使ってみましょう。
例えば以下のコードでは、
ロックカメラ
0CD4A3E6 1456B10A
3CD568D6 1456E73B
0CD4A3E6 1456B110
3CD568D6 1456E7A5

0CD4A3E6--一行目)というパッドアドレスに(1456B10A--一行目)を代入することで、(3CD568D6
1456E73B
--二行目)のコードをL2とL3を押すときだけに動作させています。
この操作を利用すると、常にコードをオンにしたくないときなどにうまく動作を振り分けることができます。
・押しているボタンの振り分け方
パッドコードにはマイナス形式とプラス形式があります。それぞれのxxxxとかいてある部分に以下の値を代入すると、ボタンで動作を振り分けられます。
1、プラス形式
L1(0004)
L2(0001)
L3(0200)
R1(0008)
R2(0002)
R3(0400)
〇(0020)
×(0040)
△(0010)
□(0080)
select(0100)
start(0800)
↑(1000)
↓(4000)
←(8000)
→(2000)
2、マイナス形式
L1(0400)
L2(0100)
L3(0002)
R1(0800)
R2(0200)
R3(0004)
〇(2000)
×(4000)
△(1000)
□(8000)
select(0001)
start(0008)
↑(0010)
↓(0040)
←(0080)
→(0020)
パッドコード作成の例:
D04520C2 0000xxxx
↓  マイナス形式の△(1000)を代入 
D04520C2 0000FEFF
↓  暗号化
0CD4A3E6 1456B10C
・代入のやり方
1、プラス形式
プラス形式は(0000)にそれぞれ値を足していくやり方です。
例えば、startボタンを判定したい場合は、xxxxに(0800)を代入します。
startと↑を同時に押したときを判定したい場合は、xxxxに(0800)+(1000)=(1800)を代入します。
2、マイナス形式
マイナス形式は(FFFF)からそれぞれ値を引いていくやり方です。
例えば、startボタンを判定したい場合は、xxxxに(FFFF)-(0008)=(FFF7)を代入します。
startと↑を同時に押したときを判定したい場合は、xxxxに(FFFF)-(0008)-(0010)=(FFE7)を代入します。
※数値は「押しているボタンの振り分け方」を参照。
・結局なにをすれば使えるのか(作成手順)
D0431C64 0000xxxxを利用して、L1とL2を押したときに所持金がMAXになり、R1とR2を押したときに所持金0になるコードを作ってみましょう。
所持金MAX 1CD56854 14BE598C
を複合化してみます。→ 2042E72C 0098967F
データ部を10進数に直してみます。→ 9999999
ここで、9999999が所持金になるという意味ですから、データ部に直接値を書き込めばこのコードは動作してくれそうです。
所持金MAXコードのデータ部に(0)を代入。→ 2042E72C 00000000 暗号化 → 1CD56854 1456E7A5
これで、所持金が0になるコードとMAXになるコードができました。
1CD56854 14BE598C MAX
1CD56854 1456E7A5 0

以上のコードをパッドコードと組み合わせてボタンによって振り分けられるようにします。
まず、L1とL2を押したときに所持金をMAXにしたいので、
D0431C64 0000xxxx
のxxxxに代入する値は、(FFFF)-(0400)-(0100)=(FAFF)となります。
D0431C64 0000FAFF を暗号化します → 0CD69F8C 1456AD0C
上のコードと所持金MAXコードを組み合わせて、L1とL2を押したときに所持金がMAXになるコードができました。
0CD69F8C 1456AD0C
1CD56854 14BE598C
次に、R1とR2を押したときに所持金を0にしたいので、
D0431C64 0000xxxx
のxxxxに代入する値は、(FFFF)-(0800)-(0200)=(F5FF)となります。
D0431C64 0000F5FF を暗号化します → 0CD69F8C 1456BA0C
上のコードと所持金0コードを組み合わせて、R1とR2を押したときに所持金が0になるコードができました。
0CD69F8C 1456BA0C
1CD56854 1456E7A5

さらに、以上のコードとL1とL2でMAXになるコードとを組み合わせて、L1とL2を押したときに所持金がMAXになり、R1とR2を押したときに所持金0になるコードができました。
0CD69F8C 1456AD0C
1CD56854 14BE598C
0CD69F8C 1456BA0C
1CD56854 1456E7A5
このようにパッドコードを使えば改造コードがもっと楽しくなるかもしれませんよ。
Mってなんなの?
Mというのはマスターコード(master code)の略称です。たまに用いられるときがありますので、覚えておいてください。
プレイステーション2のコードの場合、マスターコードは必須入力ですから、必ず入力して、オンにしてください。