2020年4月29日から2020年4月25日までの日記を表示中

2020年 4月29日 (水)

基板

バージョン違いの解析結果におかしな点がないかをチェックすべく、MAMEから切り出したSH向け逆アセンブラの関数をライブラリ化して、既存のバイナリで命令と推測されるところを逆アセンブルして、命令の並びにおかしなところ(遅延スロットに不正な命令が置かれているところなど)がないかチェックするプログラムを書いてみました。で、試しに初代ジョジョの解析結果に適用してみたところ、エラーになるところがボロボロと・・・。うーん、引っかかったのは実行されない部分なのか、それともわざわざ初代ジョジョを遊ぶ人が居ないからこの辺のクオリティが低いということなのか・・・。

2020年 4月28日 (火)

基板

CPS3解析を目的にしたSH-2の逆アセンブラ、命令数が少ないと思ったけど、いざ一から手で書き始めてみると表を見ながらの入力が意外と面倒だということがわかりました(汗)

そこで、ヘッダか何かを再利用して楽できないかとunidasmの中で呼んでいるSHの逆アセンブラのコア部 (sh_dasm.cpp) を見てみたところ、実はこれ自体が超シンプルで、ほぼそのまま使えそうなことが判明。外側の複雑さとのギャップが凄いというか、MAMEなのにこんなに読みやすいなんて・・・w

というわけで途中まで書いた自作品は放棄して、これを改造のベースにすること決定。最初からこうすれば良かったなー。

キーホルダー

テクノポリスさんとこの支援キーホルダーが到着。トライアングル・サービスとのコラボがいいですね。

テクノポリスさんのところのキーホルダー

2020年 4月27日 (月)

基板

unidasm、それ自体は悪くないんですが、CPS3の解析のためにSH-2に限定してもっと凝ったことを色々やるには弄りにくくてなかなか大変な感じです。・・・というか、そもそもSH-2って命令自体がかなりシンプルでドキュメントも整っているんだから、既存のものに頼らずに一から書いてしまったほうが早くて簡単だったりするのでは? というわけでちょっくら実装を始めてみました。

2020年 4月26日 (日)

基板

CPS3の解析の効率を上げるべく、任意の短いバイト列を、いちいちファイルに書き出すことなくその場で逆アセンブルしてくれるコマンドが欲しい感じ。というわけでMAME付属のunidasmをちょっと改造して、引数で与えた16進数の並びを逆アセンブルできるようにしてみました。プチハックだけどかなり便利でちょっと嬉しいw

2020年 4月25日 (土)

基板

これまでCPS3の電池切れカートリッジで動かしていたプログラムは海外で解析済みの情報(プログラムのバイナリ列の中のどこが命令でどこがデータか)を元に構成したものだったりするんですが、すべてのバージョンが解析されいてるわけではないようです。というか、ストIII 3rd以外は単一バージョンしか解析されていない模様。

一方で、あらゆる電池切れCPS3を復活させようと思うと、未解析のバージョンにも対応しなければなりません。もちろん未解析のバージョンであっても頑張れば一から解析できるとは思いますが、できることなら楽をしたいもの。

そこで、バージョン違いであるならば大きなプログラム上の差異は存在しないと仮定して、差分のみを抽出し、そこを追加で解析することで未解析のバージョンの解析を楽に行う方法を考えました。

差分は、解析済みのバージョンと未解析のバージョンの両方のプログラムを2Byte単位で区切った16進数に変換し、diff コマンドで差分を取ることで得られるはずです。後は、差分で置換・挿入・削除された箇所の属性(命令 or データ)を推測できれば・・・。

マリオ3Dワールド

読み込み不良だったWii Uのマリオ3Dワールド、ダメ元で任天堂に修理に出してみたところ、やはりメディア不良とのことで、何と有償でメディア交換となりました。かかった費用は送料込みでわずか1,000円ちょっと。任天堂、凄過ぎなんすけど・・・。ありがたや。

マリオ3Dワールド メディア交換で戻ってきた

交換済みのメディア。

メディア交換

おおお、認識された! よかったよかった。

メディア交換

2020年4月29日から2020年4月25日までの日記を表示中

中の人情報

名前:
nosuke (のすけ)
メール:
sasugaanijaのgmail.com
「の」は「@」みたいな
関連リンク:

カレンダー

2020年4月
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30    

<<先月分

翌月分>>

最新の10件のエントリ

最近の10件のコメント

過去ログ