【CWC】
多重ポインタ
0x6aaaaaaa 0xvvvvvvvv
0x000t000n 0x0000zzzz
0xS000iiii 0xS000jjjj
....
0xS000ssss 0x00000000
aaaaaaa=ポインタアドレス、第1ベースアドレスがあるところ
t=最後に書き込むbit数、CWC参照
n=追跡する回数、ベースアドレスを読み込む回数
vvvvvvvv=書き込む値
S=オフセットの+/- 2でプラス、3でマイナス
iiii=第1ベースに+/-するオフセット
jjjj=第2ベースに+/-するオフセット
ssss=第(nn-1)ベースに+/-するオフセット
....
zzzz=最後+/-するオフセット(tに依存)
第1ベースアドレス=aaaaaaaにある値-0x8800000
第2ベースアドレス=第1ベースアドレス+/-iiiiにある値に-0x8800000
第3ベースアドレス=第2ベースアドレスから+/-jjjjにある値に-0x8800000
.....
最終書込アドレス=最後に来た第nベースアドレス-0x8800000+/-zzzzになる
多重ポインタは基準アドレスの管理しているアドレスにまたポインタの基準アドレスがあってそれを繰り返すときに使う。
意外と簡単なものだ。
0x6aaaaaaa 0xvvvvvvvv
つまりだなaaaaaaaがポインタの基準アドレスだろ
vvvvvvvvが書き込みたい値
0x000t000n 0x0000zzzz
tは基準アドレスの管理しているアドレスにまたポインタの基準アドレスがあってそれの最後に行き届いたときに書き込むbit数
zzzzは基準アドレスの管理しているアドレスにまたポインタの基準アドレスがあってそれの最後に行き届いたときのオフセット値
オフセット値とは
アドレスが0x0000だったとする
オフセプラス0x200だった場合0x0200になる
0xS000iiii 0xS000jjjj
S=オフセットの+/- 2でプラス、3でマイナス
iiii=第1ベースに+/-するオフセット
jjjj=第2ベースに+/-するオフセット
iiiiは基準アドレスの管理しているアドレスのオフセット値で
その先にポインタの基準アドレスのそのまた管理しているアドレスのオフセット値をjjjjに書き込む
よく分からない人用(オフセット)
0x60
123452 0x0000
11110x000
10001 0x000000
A0だった場合
まず基準アドレス
0x123452の管理している変動アドレスは
0x00034501だったら
オフセプラスなので
0x00034501に
A0を足したら
0x000345A1になります。
で、アドレス
0x000345A1に値
1111を書き込む
....
0xS000ssss 0x00000000
ssss=第(nn-1)ベースに+/-するオフセット
nn-1のベースにオフセをつける。
つまりssssは16bitだから
0x6aaaaaaa 0xvvvvvvvv
0x000t000n 0x0000zzzz
0xS000iiii 0xS000jjjj
....
0xS000ssss 0x00000000
これが永遠に続く
0x6aaaaaaa 0xvvvvvvvv
0x000t000n 0x0000zzzz
0xS000ssss 0x00000000
もうだめ・・・俺の説明力の無さに(ry
まあ、大体は分かったんじゃないか?
いや・・・まじで多重ポインタは簡単だから(慣れてくると・・・
以下コピペ略
CMFusionRR15TEST専用
多重ポインタ
0x6aaaaaaa 0xvvvvvvvv
0x000200nn 0x0000iiii
0x0000jjjj 0x0000kkkk
....
0x0000zzzz 0x00000000
aaaaaaa=ポインタアドレス、第1ベース
vvvvvvvv=書き込む値
nn=追跡する(ベース値を読み込む)回数
iiii=第1ベースに足すオフセット
jjjj=第2ベースに足すオフセット
kkkk=第3ベースに足すオフセット
....
zzzz最後に足すオフセット
第1ベースアドレス=aaaaaaaにある値-0x8800000
第2ベースアドレス=第1ベースアドレス+iiiiにある値に-0x8800000
第3ベースアドレス=第2ベースアドレスから+jjjjにある値に-0x8800000
....
最終書込アドレス=第nnベースアドレス+zzzzになる
#ポインタシリアルとコピーバイト併用が出来なくなる。RR16以降より廃止,CWCと同じ形式 --------------------------------------------------------
FREECHEAT080323版以降専用
多重ポインタ
0x6aaaaaaa 0x00000000
0x000u0000 0x0000iiii
0x60000000 0x00000000
0x000u0000 0x0000jjjj
0x60000000 0x00000000
0x000u0000 0x0000kkkk
....
0x60000000 0xvvvvvvvv
0x000t0001 0x0000zzzz
0x90000000 0x00000000 ←オプションを入れることが可能。
aaaaaaa=ポインタアドレス、第1ベース
t=書き込むbit数、CWC参照
vvvvvvvv=書き込む値
u=オフセットの+/- 6でプラス、7でマイナス
iiii=第1ベース+/-するオフセット
jjjj=第2ベース+/-するオフセット
kkkk=第3ベース+/-するオフセット
....
zzzz=最後+/-するオフセット(tに依存)
第1ベースアドレス=aaaaaaaにある値-0x8800000
第2ベースアドレス=第1ベースアドレス+/-iiiiにある値に-0x8800000
第3ベースアドレス=第2ベースアドレスから+/-jjjjにある値に-0x8800000
.....
最終書込アドレス=最後に来たベースアドレス+/-zzzzになる
シリアルやコピーバイトも追跡先で使用できる。