2012年1月28日の日記の1番目の記事へのコメント
■E-SWAT
実家で待機している間、暇だったのでE-SWATの電池切れ対策をしてみました。E-SWATはFD1094なので、コード空間部分のみを見つけ出してデコードしてマージすればOKです。当初、手でちまちまと追っていたのですが、途中でデータとプログラムの境界に必ず「4e 71 (NOP)」が現れることを発見。これを利用して一気に切り分けが完了しました。ひとまずエミュレーター上で動かしてみたところ、あっさり起動。戻ったら実機で動かしてみましょう。
ちなみに、作業の途中で再びdis.xでaddi.bなどの一部が未定義命令となってしまう問題に遭遇しました。さすがに耐えられない感じだったので、調べてみたところ、どうもアドレッシングモードが Absolute Short のときに発生しているようです。その辺をヒントにソースを追ってみたところ、disasm.cでDisasm_ExactがTRUEになっているのがまずいっぽいことが判りました。この値をFALSEに変更してやったところ、無事未定義命令扱いが解消。いやー、よかったよかった。これでSDIの逆アセンブルの問題も解決ですね。
2012年1月28日の日記の1番目の記事へのコメント
[コメントを書く]