6502逆アセンブラ

| コメント(0) | トラックバック(0)
全然WebGLと関係ないのですけれど、最近ちょっとした事情で夜な夜なとあるファミコンのゲームのコードを読んでました(スペランカーではないです)。NES 回りとかさすがにもう枯れきってるはずなんですが、エミュはどれも完成度高いし最近は JavaScript 版なんかも使えるんですけど、逆アセンブラってあんまりいいのがないんですよね。もっとあったけどなくなってしまったのかもしれません。しかもたまたま使ったやつが微妙にバグっててちょっと悲しい思いをしました。

ndss1.png
JavaScript 版の逆アセンブラもすでにいくつかあるんですが、どちらかというとエミュ指向だったりして、今の自分のようにただソースを読みたいという場合にはあんまり向いていません。というわけで、3時間くらいかかりましたが作ってみました。

NES Disassembler  JavaScript 版

HTML5...といっても FileAPI 使ってるだけですけど、ほんとこういうツールはもうブラウザでいいな、って感じがします。

ちなみにこの逆アセンブラはどの辺がいいのかというと、
  • 2パス(以上)なのでラベルを解決する
  • 割り込みベクタからPC到達範囲を調べるので、データセクションを分離できる
  • その上ジャンプテーブルを使った間接ジャンプ先も結構追いかけてコードセクションを識別する
  • NES の IO アクセスをコメントで出してくれる
といった辺りが素敵な感じになっています。そしてこれが今後どうなるかというと・・・どうなるんだろう。。。とりあえずバンク切り替えに対応しないとですね。
あくまでエミュにせずにちゃんと解析していろいろする、というあたりに強いこだわりが感じられます(意味不明)

それではまた。

トラックバック(0)

トラックバックURL: http://www.gamilus.com/mt/mt-tb.cgi/11

コメントする

このブログ記事について

このページは、tejimaが2011年9月16日 01:09に書いたブログ記事です。

ひとつ前のブログ記事は「ちょっと速くする」です。

次のブログ記事は「2.0的逆アセってどうだろ」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

カテゴリ

ウェブページ

  • images
  • perskun
Powered by Movable Type 5.06