CODEの効果

Last-modified: 2017-10-06 (金) 22:26:15

コード名の表記

_SゲームID
_Gゲームタイトル
_C0 コード名自動実行しない
_C1 コード名自動実行する

http://cwcheat.myconsole.it/wiki/doku.php?id=english:code:psp_types


Constant Write(連続書き込み)

8bit0x0aaaaaaa 0x000000bbアドレスaaaaaaaに値bbを書き込み続ける
16bit0x1aaaaaaa 0x0000bbbbアドレスaaaaaaaに値bbbbを書き込み続ける
32bit0x2aaaaaaa 0xbbbbbbbbアドレスaaaaaaaに値bbbbbbbbを書き込み続ける

In/Decrement(加減算コード)

8bit0x301000nn 0x0aaaaaaaアドレスaaaaaaaの値にnnを加算し続ける
0x302000nn 0x0aaaaaaaアドレスaaaaaaaの値からnnを減算し続ける
16bit0x3030nnnn 0x0aaaaaaaアドレスaaaaaaaの値にnnnnを加算し続ける
0x3040nnnn 0x0aaaaaaaアドレスaaaaaaaの値からnnnnを減算し続ける
32bit0x30500000 0x0aaaaaaa
0xnnnnnnnn 0x00000000
アドレスaaaaaaaの値にnnnnnnnnを加算し続ける
0x30600000 0x0aaaaaaa
0xnnnnnnnn 0x00000000
アドレスaaaaaaaの値からnnnnnnnnを減算し続ける

Test Code(条件判定コード)

8bit(ver0.1.4以降)0xDaaaaaaa 0x200000ddアドレスaaaaaaaの値がddと等しければ下のコードを実行
0xDaaaaaaa 0x201000ddアドレスaaaaaaaの値がddと等しくなければ下のコードを実行
0xDaaaaaaa 0x202000ddアドレスaaaaaaaの値がddより小さければ下のコードを実行
0xDaaaaaaa 0x203000ddアドレスaaaaaaaの値がddより大きければ下のコードを実行
16bit0xDaaaaaaa 0x0000ddddアドレスaaaaaaaの値がddddと等しければ下のコードを実行
0xDaaaaaaa 0x0010ddddアドレスaaaaaaaの値がddddと等しくなければ下のコードを実行
0xDaaaaaaa 0x0020ddddアドレスaaaaaaaの値がddddより小さければ下のコードを実行
0xDaaaaaaa 0x0030ddddアドレスaaaaaaaの値がddddより大きければ下のコードを実行

Multiple Skip

16-bit0xE0nndddd 0x0aaaaaaaアドレスaaaaaaaの値がddddと一致するとき下のnn行分のコードを実行
0xE0nndddd 0x1aaaaaaaアドレスaaaaaaaの値がddddと一致しないとき下のnn行分のコードを実行
0xE0nndddd 0x2aaaaaaaアドレスaaaaaaaの値がddddより少ないとき下のnn行分のコードを実行
0xE0nndddd 0x3aaaaaaaアドレスaaaaaaaの値がddddより大きいとき下のnn行分のコードを実行
8-bit(ver0.1.9 REV.I 以降)0xE1nn00dd 0x0aaaaaaaアドレスaaaaaaaの値がddと一致するとき下のnn行分のコードを実行
0xE1nn00dd 0x1aaaaaaaアドレスaaaaaaaの値がddと一致しないとき下のnn行分のコードを実行
0xE1nn00dd 0x2aaaaaaaアドレスaaaaaaaの値がddより少ないとき下のnn行分のコードを実行
0xE1nn00dd 0x3aaaaaaaアドレスaaaaaaaの値がddより大きいとき下のnn行分のコードを実行

Address Compare+Multiple Skip(ver0.2.1A以降)

Address Equal0xDaaaaaaa 0x4bbbbbbb
0x000000nn 0x0000000Y
アドレスaaaaaaaにある値とアドレスbbbbbbbの値を比較して一致するとき、
下のnn行分のコードを実行する。Y =0(8bit), 1(16bit), 2(32bit)
Address Not Equal0xDaaaaaaa 0x5bbbbbbb
0x000000nn 0x0000000Y
アドレスaaaaaaaにある値とアドレスbbbbbbbの値を比較して一致しないとき、
下のnn行分のコードを実行する。Y =0(8bit), 1(16bit), 2(32bit)
Address Less Than0xDaaaaaaa 0x6bbbbbbb
0x000000nn 0x0000000Y
アドレスaaaaaaaにある値とアドレスbbbbbbbの値を比較して少ないとき、
下のnn行分のコードを実行する。Y =0(8bit), 1(16bit), 2(32bit)
Address Greater Than0xDaaaaaaa 0x7bbbbbbb
0x000000nn 0x0000000Y
アドレスaaaaaaaにある値とアドレスbbbbbbbの値を比較して大きいとき、
下のnn行分のコードを実行する。Y =0(8bit), 1(16bit), 2(32bit)

Multi Address Writes(シリアルコード)

8bit(ver0.1.6以降)0x8aaaaaaa 0xbbbbyyyy
0x000000dd 0x000000ee
アドレスaaaaaaaからbbbb個のアドレスになるように、
yyyyアドレスずつずらしながら値ddを書き込み続ける。
このときddもee分ずつ増加して書き込まれる。
16bit(ver0.1.6以降)0x8aaaaaaa 0xbbbbyyyy
0x1000dddd 0x0000eeee
アドレスaaaaaaaからbbbb個のアドレスになるように、
yyyy*2アドレスずつずらしながら値ddddを書き込み続ける。
このときddddもeeee分ずつ増加して書き込まれる。
32bit0x4aaaaaaa 0xbbbbyyyy
0xdddddddd 0xeeeeeeee
アドレスaaaaaaaからbbbb個のアドレスになるように、
yyyy*4アドレスずつずらしながら値ddddddddを書き込み続ける。
このときddddddddもeeeeeeee分ずつ増加して書き込まれる。

Boolean Commands(論理演算コード)

8-bit OR0x7aaaaaaa 0x000000vvアドレスaaaaaaaの値とvvの論理和を書き込む
8-bit AND0x7aaaaaaa 0x000200vvアドレスaaaaaaaの値とvvの論理積を書き込む
8-bit XOR0x7aaaaaaa 0x000400vvアドレスaaaaaaaの値とvvの排他的論理和を書き込む
16-bit OR0x7aaaaaaa 0x0001vvvvアドレスaaaaaaaの値とvvvvの論理和を書き込む
16-bit AND0x7aaaaaaa 0x0003vvvvアドレスaaaaaaaの値とvvvvの論理積を書き込む
16-bit XOR0x7aaaaaaa 0x0005vvvvアドレスaaaaaaaの値とvvvvの排他的論理和を書き込む

Pointer Commands(ポインタコード)

8-bit0x6aaaaaaa 0x000000vv
0x00000001 0xiiiiiiii
アドレスaaaaaaaに入ってる値を基準アドレスとし、
値vvを基準アドレス-0x8800000+iiiiiiiiに書き込む
16-bit0x6aaaaaaa 0x0000vvvv
0x00010001 0xiiiiiiii
アドレスaaaaaaaに入ってる値を基準アドレスとし、
値vvvvを基準アドレス-0x8800000+iiiiiiiiに書き込む
32-bit0x6aaaaaaa 0xvvvvvvvv
0x00020001 0xiiiiiiii
アドレスaaaaaaaに入ってる値を基準アドレスとし、
値vvvvvvvvを基準アドレス-0x8800000+iiiiiiiiに書き込む

Reverse Pointer(ver0.1.8 REV. C以降)

8-bit0x6aaaaaaa 0x000000vv
0x00030001 0xiiiiiiii
アドレスaaaaaaaに入ってる値を基準アドレスとし、
値vvを基準アドレス-0x8800000-iiiiiiiiに書き込む
16-bit0x6aaaaaaa 0x0000vvvv
0x00040001 0xiiiiiiii
アドレスaaaaaaaに入ってる値を基準アドレスとし、
値vvvvを基準アドレス-0x8800000-iiiiiiiiに書き込む
32-bit0x6aaaaaaa 0xvvvvvvvv
0x00050001 0xiiiiiiii
アドレスaaaaaaaに入ってる値を基準アドレスとし、
値vvvvvvvvを基準アドレス-0x8800000-iiiiiiiiに書き込む

Extra Pointer(追加オプション,Ver0.2.1以降)

type null0x6aaaaaaa 0xvvvvvvvv
0xqqq2nnnn 0xiiiiiiii
0x00000000 0x00000000
nnnn>1のとき何もしないがqqqを入れる場合必要となる?
アドレスaaaaaaa+qqq*4(n-1)に入ってる値を基準アドレスnとする
multi adress write0x6aaaaaaa 0x000000vv
0xqqq0nnnn 0xiiiiiiii
0x9sssssss 0x000000ww
nnnn>1のときオフセットiiiiiiiiをssssssずつずらしながら書き込む。
vvもww分ずつ増加して書き込まれる。
0x6aaaaaaa 0x0000vvvv
0xqqq1nnnn 0xiiiiiiii
0x9sssssss 0x0000wwww
nnnn>1のときオフセットiiiiiiiiをssssss*2ずつずらしながら書き込む。
vvvvもwwww分ずつ増加して書き込まれる。
0x6aaaaaaa 0xvvvvvvvv
0xqqq2nnnn 0xiiiiiiii
0x9sssssss 0xwwwwwwww
nnnn>1のときオフセットiiiiiiiiをssssss*4ずつずらしながら書き込む。
vvvvvvvvもwwwwwwww分ずつ増加して書き込まれる。
copy byte0x6aaaaaaa 0xvvvvvvvv
0xqqq00002 0xiiiiiiii
0x1sssssss 0x00000000
基準アドレス-0x8800000+iiiiiiiiにある値を基準アドレス2-0x8800000+ssssssssにvvvvvvvv分だけコピー
multi pointer(0.2.2REVA以降)0x6aaaaaaa 0xvvvvvvvv
0xqqqt00nn 0x0000zzzz
0xS000iiii 0xS000jjjj ... 0xS000yyyy
t=最終到達アドレスに書き込むbit数,0xS=オフセットの加減 0x2でプラス 0x3でマイナス
aaaaaaa=第1ベースアドレスがあるポインタアドレス、vvvvvvvv=最終到達アドレスに書き込む値
nn=追跡する回数,iiii=第1ベースから足す/引くオフセット,jjjj=第2ベースから足す/引くオフセット
yyyy=第(NN-1)ベースから足す/引くオフセット
zzzz=最後に足す/引くオフセット,最終書込アドレス=第nnベースアドレス-0x8800000+/-zzzzになる

Joker Code(パッドコード)

0xD00000dd 0x1nnnnnnnnnnnnnnはパッドの合計値、ボタンを押下後dd+1行分のコードが実行される

Inverse Joker Code

0xD00000dd 0x3nnnnnnnnnnnnnnはパッドの合計値、ボタンを押下後dd+1行分のコードが無効になる

*Joker CodeとInverse Joker Code のボタンとパッド値

ボタンnnnnnnn(パッド値)
セレクト0000001
スタート0000008
0000010
0000020
0000040
0000080
L0000100
R0000200
0001000
0002000
×0004000
0008000
HOME (PS)0010000
HOLD0020000
NOTE (♪)0800000
SCREEN0400000
VOLUME UP0100000
VOLUME DOWN0200000
WLAN UP0040000
REMOTE HOLD0080000

Copy bytes(コピー)

0x5aaaaaaa 0xnnnnnnnn
0xbbbbbbbb 0x00000000
アドレスaaaaaaaからbbbbbbbbbにnnnnnnnnバイト分コピーする

Code stopper(停止コード)

0xCaaaaaaa 0xvvvvvvvvアドレスaaaaaaaの値がvvvvvvvvでないときコードが停止する

Time command(遅延コード)

0xB0000000 0xnnnnnnnnnnnnnnnn分だけ遅らせる,0x100で10秒