#オープンソースのファミコンエミュ。コードリーディング
###概要
タイトルどおりのことをチャレンジしようとしたけど
2019/10/18現在。結果的には挫折している。
したがって、本記事は執筆時点ではただのリンク集的なものとなっている。
###経緯
久々にソースコードリーディングしようと思って
適切なオープンソースソフトウェアを探していた。
どちらかというと、低い層のプログラム(OSやドライバ)のが良い。
x86のエミュレータであるQEMUを考えていたが、コード量膨大なので
僕らのファミコンであれば、もう少しお手軽なのでは?
と安易に考えただけであった。
言語的には、C/C++ が良かったが、いざ探してみると
C#の実装のものや、今回の調べ物で初めて知ったrustなる言語による実装もあった。
コードリーディングするにしても、実際にビルド&動作させながら行いたいので
まずはビルドなのだが、どれもそれでつまづいた。
時間かけて、調査、試行錯誤すれば乗り越えられそうだが
当面やりたいのは、動かしながらコードリーディングだったので
QEMUを対象にすることとした。(これは別記事とする。)
###オープンソースのファミコンエミュレータ
実際にソースコードダウンロード→ビルドまでチャレンジしてみたのが以下の4つ
どれも特徴があって面白い
My Nes
My NesはC#で書かれたポータブルでオープンソースのNES/ファミコンエミュレータ
NESTOPIA
C++で実装。オープンソースで開発されている、最も完成度が高いといわれるファミコンエミュ。
VirtuaNES
C++で実装。国産のファミコンエミュ。
rustynes
Rust/WebAssemblyで作られたファミコンエミュレータ
###参考記事リンク
以下もとても面白い
特に、@bokuwebさんのHelloWorld記事は、これを見ながら手を動かすとNESエミュレータそのものが目的であれば
かなり参考になる。