ファミコンエミュレータをつくろう(0)
はじめに
書くネタはいくつかあるのだがいざ書こうとするとなかなか腰が重いものである。
とはいえこのまま書かないと書かない癖がついてしまうので無理矢理書いてしまおう。
最初のノートでも触れたファミコンエミュレータについては一度ちゃんとまとめておきたかったのでまずはそこからやっつけようと思う。
さて肝心のエミュレータだが、オリジナルはCで実装しているものでしかも15年も昔の話なので詳細はすっかり忘れてしまった。
全部復習しながらとなるとほとんど1から作り直すみたいなもんだし、せっかくなので今風の言語で書き直してみようではないか。
Rustにしたい、が…
最近Rustにハマっている。(二重の意味で)
Rustのちょいネタがあると誰かの役に立つかもしれないし自分の理解度の確認も兼ねられるしで一石二鳥だなと、まあそういうわけでRustで書いちゃおうかなーと思ったのだがここで大問題が。
Writing NES Emulator in Rust
じぇじぇじぇ。
もうなんかあんじゃん。しかも結構有名っぽい。
まいったな先を越されたか。
しかしである。
エミュレータ作者としては俺の方が先輩だかんね!
二番煎じだろうがなんだろうが鋼のメンタルで乗り越えてやるぞい。
年寄りなめんな。
ファミュつくの方針
ファミコンの理解、単純なエミュレータの書き方の理解を目的にする。
わかりやすさを第一に。完璧なものは目指さない。
スーマリ、ドラクエ、FFがひとまず動くくらいまで。(クリアまで動くかは知らん)
マッパーは最低限実装。
音が出るとこまではやる。
「Writing NES Emulator in Rust」は資料としてもよくまとまっているので説明の際に参照しまくります。
まあこんな感じでのんびり進めていきます。
「Writing NES Emulator in Rust」の方がちゃんとしてる可能性が高いので内容に関しては期待してはいけない。
さてどうなるやら。