※このページのコードは全て復号化状態のものです。→暗号化済みコード
 赤字は変更可能な部分です。各自で使いやすいように変更してください。
 2Pで操作したい場合は30C582→30C982に変更してください。
 なおパッドの値は
  D,Eで始まるコード→パターン(b)(マイナス形式)
       それ以外→パターン(c)
 を入れてください。

画面左上にアドレスと値を表示
A00FF600 27BDFF80
A00FF604 16400015
A00FF624 FFBF0000
A00FF628 FFA40010
A00FF62C FFA50020
A00FF630 FFA60030
A00FF634 FFA70040
A00FF638 3C04003D
A00FF63C 34844A1C
A00FF640 0C03FDC0
A00FF648 DFA70040
A00FF64C DFA60030
A00FF650 DFA50020
A00FF654 DFA40010
A00FF658 DFBF0000
A00FF65C 08046A8A
A00FF660 27BD0080

A00FF6F8 003D07C0	;初期アドレス
A00FF6FC 00000000	;初期アドレス
A00FF700 3C050049
A00FF704 24A54890
A00FF708 3C0F0010
A00FF70C 9DE6F6FC
A00FF710 9DEEF6F8
A00FF714 00CE3021
A00FF718 9CC70000
A00FF72C 3C0F0031
A00FF730 95EFC582	;C982で2Pで操作
A00FF734 39EFFFFF
A00FF738 00007021
A00FF73C 11C00015
A00FF758 31EE6000	;○/×(+sel)(押されていれば変化量1・違うならば変化量2)
A00FF75C 55C00002
A00FF774 31EEC000	;□/×(+sel)(押されていれば値減少)
A00FF778 55C00004
A00FF780 31EE3000	;△/○(+sel)(押されていれば値増加)
A00FF784 55C00001
A00FF7AC 080BB41A

A0159D7C 5000001A
A0159DF8 50000015
A0159DE8 54000021
A0159E64 0C03FD80
A0494890 58383025
A0494894 38302520
A0494898 00000058

L3でfloat形式で値増減モード
E00AFFFD 0030C582	;L3で以下のコードを実行
200FF738 31EE0001	;セレクトが押されているか(押されていなければ値操作しない)
200FF760 3C0E3C23	;変化量1(○/×) float形式の上4ケタ部分を指定する
200FF764 3C0E3DCC	;変化量2(△/□)
200FF768 448E0800
200FF76C 44871000
200FF770 00000000
200FF77C 46011081
200FF788 46011080
200FF78C 44071000
200FF790 ACC70000
R3で整数値で増減モード
E00AFFFB 0030C582	;R3で以下のコードを実行
200FF738 31EE0009	;セレクト/スタートが押されているか
200FF760 240D0100	;変化量1(○/×) 
200FF764 240D0001	;変化量2(△/□)
200FF768 31EE0008	;スタートが押されていれば変化量を16bit左シフト(=16進で0を後ろに4つ付けた数になる)
200FF76C 55C00001
200FF770 000D6C00
200FF77C 00ED3823
200FF788 00ED3821
200FF78C 00000000
200FF790 ACC70000

select+L3で値を0に、select+R3で3f800000にする
※整数モードではスタートを押しながらでも可能
A00FF740 31EE0002	;(sel+)L3
A00FF744 55C00012
A00FF748 3C070000	;00000000にする
A00FF74C 31EE0004	;(sel+)R3
A00FF750 55C0000F
A00FF754 3C073F80	;3f800000にする

2回に1回のみ処理
※必要な場合のみ有効にする
A00FF608 3C0F0010
A00FF60C 95EEF5FC
A00FF610 25CE0001
A00FF614 2DCD0002	;n回に1回処理
A00FF618 51A00002
A00FF61C A5E0F5FC
A00FF620 A5EEF5FC
A00FF71C 15A00023

[操作先アドレス変更]
L1/R1でアドレス値増減
D030C582 0000FBFF	;L1判定
30400004 000FF6F8	;アドレス値減少
D030C582 0000F7FF	;R1判定
30300004 000FF6F8	;アドレス値増加
特定アドレスへ移動
D030C582 0000xxxx
200FF6F8 yyyyyyyy	;ここのアドレスへ移動
xxxx=パッドの値(マイナス形式) yyyyyyyy=移動先アドレス
※FF6F8+FF6FCが操作先アドレスになります。
 移動量・アドレスは必ず4の倍数(下1桁が0,4,8,C)にしてください。それ以外だとフリーズします。
 移動量は$4だけでなく大きく移動できるもの($80,$100,$1000など)も追加したほうがいいでしょう。
 (ちなみに私はL2/R2で$40移動、セレクト+L1/R1/L2/R2で$100,$1000移動できるようにしています。)

 アドレス指定部は2箇所ありますが、これは片方のアドレスを基準に移動したいときに使います。
 例えばキャラ座標や回転角などの情報は1Pと2Pで10E80離れた場所にありますが、FF6F8の値を1P側のアドレスにし、
 FF6FCの値をパッド判定で0と10E80に切り替えることで1P側と2P側のアドレスを行き来できます。


説明:
このコードを有効にすると画面左上に2つの値が表示されます。(下の画像参照)
左側がアドレス、右側がそのアドレスに格納されている値です。(4バイト単位で表示・値は16進)
コード使用時
アドレスはL1/R1で移動できます。
L3でfloat値増減モード、R3で整数値増減モードになり、
セレクト(スタート)+○/×/△/□のいずれかを押すとそのアドレスの値が増減します。(○/△:増加、×/□:減少)
デフォルトでの変化量は以下の通りです。
[floatモード]
select+△/□ 3dcc0000(=約0.10)
select+○/× 3c230000(=約0.01)
[整数モード]
select+△/□ $1
select+○/× $100
start+△/□  $10000
start+○/×  $1000000
アドレスによっては値を変えるとフリーズしてしまうことがあります。特にアドレス指定をしているもの
(6,7ケタの値の場合はその可能性が高い)やプログラム領域はなるべく変更しないほうがいいでしょう。

値は4バイト単位で表示されますが、1バイト単位でみると値は桁の低い右側からから左へ埋まっていきます。
なので上の画像の「003D30E0 40490034」の場合は
 003D30E0=$34
 003D30E1=$00
 003D30E2=$49
 003D30E3=$40
となります。(003D30E0=$40ではないので注意してください)

なお、全てのアドレスの値を変えられるわけではありません。
プレイ中に(特に毎フレーム)上書きされてしまうアドレスには基本的に効果がありません。
そのようなアドレスに対しては、プログラム中でそのアドレスへの書き込みが行われる部分を探し、
無効にする(nopで潰す等)必要があります。→メモ


・起動時に画面が真っ暗のまま停止する
 →いろんなコードと併用すると起動に失敗することがあります。(コードが長いのが原因?)
  併用するコードの数を減らしてください。また、他のコードとアドレスが重複していないかも確認してください。

・□などを押すと攻撃するし、スタートを押すとポーズになってしまうので使いにくい
 →プラクティスモードを2P側で始めれば1Pキャラは動かない上、スタートを押してもポーズはかかりません。
  (バトルシアターを2Pで始め、プレイヤー操作の状態を変更する方法でも可)
  また、コードで使うボタンを変更する(またはゲーム自体のキー設定を変更する)という手もあります。

・どんなに短く押しても値が2回分変わってしまい微調整ができない(整数値が±1単位で変更できない)
 →2回に1回のみ処理のコードを使用してください。

・コードが長すぎる
 →ごめんなさい。最初は決まったアドレスの値を表示するだけのコードだったのですが、
  (ff6f8〜ff718と494890〜494898の部分だけで、15d008辺りにあるsprintfへのジャンプに割り込んでました)
  値を変更できるようにしたい→変化量は2段階くらい欲しい→floatと整数の両方で変更できるようにしたい→
  一部モードでしか表示されないのを常に表示できるようにしたい…、と後付けしていくうちに長くなってしまいました(汗
  構造も結構汚いので一から作り直せばもう少し短くなるかもしれませんが…(aレジスタの退避は一部不要かも)

戻る