トップページ

サイト内検索

メニュー


タイトル50音順

あ行 か行 さ行
た行 な行 は行
ま行 や行 ら行
わ行 英数
海外ソフト

データベース(CWCheat形式)

»
2011
 »1月
過去
+2010年

データベース(JPCheat形式)


データベース(UMD ID)

UMD_ID.csv形式(jp onry)
»2011/01/27 07:40:00

UCJx ULJS
ULJM(1) ULJM(2)
Uxxx

その他


リンク


カウンター

TOTAL -
TODAY -
YESTERDAY -
ONLINE -

シリアル化


※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

v0.1.6から導入されたmulti adress writeを使用することで
既存のコードを短く纏めることが出来る

multi adress write書式


32bit 
0x4aaaaaaa 0xbbbbyyyy 
0xdddddddd 0x00000000
アドレスaaaaaaaからbbbb個のアドレスになるように
yyyy*4アドレスずつずらしながら値ddddddddを書き込む

16bit
0x8aaaaaaa 0xbbbbyyyy 
0x1000dddd 0x00000000 
アドレスaaaaaaaからbbbb個のアドレスになるように
yyyy*2アドレスずつずらしながら値ddddを書き込む

8bit
0x8aaaaaaa 0xbbbbyyyy 
0x000000dd 0x00000000 
アドレスaaaaaaaからbbbb個のアドレスになるように
yyyyアドレスずつずらしながら値ddを書き込む


魔界戦記ディスガイアポータブル
_C0 MANA 01-10 
_L 0x20153000 0x0098967F 
_L 0x20153750 0x0098967F 
_L 0x20153EA0 0x0098967F 
_L 0x201545F0 0x0098967F 
_L 0x20154D40 0x0098967F 
_L 0x20155490 0x0098967F 
_L 0x20155BE0 0x0098967F 
_L 0x20156330 0x0098967F 
_L 0x20156A80 0x0098967F 
_L 0x201571D0 0x0098967F

このコードをよく見るとアドレスの下三桁が
000,750,EA0と+750hになっていることがわかる。
よって、このコードはアドレス0153000から750hアドレスずつずらした
10個のアドレスが並んでるということになるので

_C0 MANA 01-10 
_L 0x40153000 0x000A01D4 ※1D4*4=750 
_L 0x0098967F 0x00000000

と表すことが出来る

このコードの利点はコードが短くなるだけではなく、例のような場合
bbbbの値がそのまま適用人数となるので、人数が増えたときのコード適用が
容易になる等が挙げられる

ポインターコードのシリアル化

例:みんごる1の風
_C0 WIND DIRECTION 1-9HOLE
_L 0x604BF1B0 0xvvvvvv00
_L 0x00020001 0x00000314
_L 0x604BF1B0 0xvvvvvv00
_L 0x00020001 0x00000318
_L 0x604BF1B0 0xvvvvvv00
_L 0x00020001 0x0000031C
_L 0x604BF1B0 0xvvvvvv00
_L 0x00020001 0x00000320
_L 0x604BF1B0 0xvvvvvv00
_L 0x00020001 0x00000324
_L 0x604BF1B0 0xvvvvvv00
_L 0x00020001 0x00000328
_L 0x604BF1B0 0xvvvvvv00
_L 0x00020001 0x0000032C
_L 0x604BF1B0 0xvvvvvv00
_L 0x00020001 0x00000330
_L 0x604BF1B0 0xvvvvvv00
_L 0x00020001 0x00000334
アドレスの右下部に注目すると+4hずつ増えているので、
このコードは(アドレス4BF1B0に入っている値)-0x8800000+0x314から+4hアドレスずつずらした
9個のアドレスが並んでるということになるので下のようにまとめることが出来る。
0x9sssssssのsssssssにはmulti adress writeの32bit時のように(ずれている分,ここでは4)÷4、sssssss=1になる。
_C0 WIND DIRECTION 1-9HOLE
_L 0x604BF1B0 0xvvvvvv00
_L 0x00020009 0x00000314
_L 0x90000001 0x00000000

ポインターアドレスのシリアル化

下のように書き込むbit数,値,オフセットが変わらずポインターアドレスだけが+4hずつずれている場合まとめることができる。
1人目のポインターとなりが2人目ポインターになっている時などに使うことができる。
_L 0x6aaaaaaa 0xvvvvvvvv
_L 0xqqq200nn 0x000iiiii
_L 0x90000000 0x00000000
aaaaaaaポインターアドレス,vvvvvvvv書き込む値,qqq=ポインターアドレスのオフセット÷4
nn=何ポインターアドレス分
例:
_L 0x60001000 0xvvvvvvvv
_L 0x00020001 0x0000iiii
_L 0x60001004 0xvvvvvvvv
_L 0x00020001 0x0000iiii
_L 0x60001008 0xvvvvvvvv
_L 0x00020001 0x0000iiii
↓
_L 0x60001000 0xvvvvvvvv
_L 0x00120003 0x0000iiii qqq=4÷4=001
_L 0x90000000 0x00000000

コメントページ・フォーム
管理人報告 サイトについての表記間違い/要望など
雑談 雑談など
PG-追加要求 コードについて質問/要望/不具合など
PG-編集議論 コードについて編集方法など
DB-追加要求 データベースについて質問/要望/不具合など
DB-編集議論 データベースについて編集方法など

+更新履歴

更新履歴

取得中です。
取得中です。