目次

前回ファミコンソフトの逆アセンブラの記事を書きました。

その続きとしてファミコンのCPUのエミュレータを作りました。

homebrew でインストールできるようになっています。

$ brew tap takuyaohashi/SwiftNesKit https://github.com/takuyaohashi/SwiftNesKit
$ brew install SwiftNesKit
$ nes-cpu sample.nes

nes-cpuコマンドを実行するとリセットベクタにあるアドレスに飛んで、入力を受け付けるようになります。今は下記の3つのコマンドを使うことができます。短縮コマンドも対応しているので、ステップ実行するときはsでもstepでもいいようになっています。

コマンド 意味
s or step ステップ実行
r or reg レジスタダンプ
q or quit 終了

一応全部の命令セットを実装したつもりなんですけど、まだNES研究室のサンプルくらいしか動かしたことないのでバグってる可能性もあります。

ちゃんとテストを書いたほうがいいんですけど、まだそこまで手を付けられてません。

リポジトリはgithubにあります。興味ある人は見てみてください。

次はPPU(Picture Processing Unit)と呼ばれる画像を処理する部分を作っていきます。これができるとファミコンの画面を出力することができます。

同じカテゴリの記事