1時間でプログラミングするファミコンエミュレータの作り方
一時間でファミコンエミュレータをつくるには?
移植無しで0からコードを組んで、1時間でファミコンのエミュレータを作ってみようと思います。
完璧なものを作るのは1時間では無理なので、最低限1つのゲームが動作することを条件にしたいと思います。
ターゲットとなるソフトを決めてそれが動けばOKとして、そのソフトで使われていない機能についてはざっくり削ってしまいます。
CPU命令のうち、ターゲットのゲームを実行するのに必要最低限の命令だけ実装します。
前もって逆アセンブラで逆アセしておいて、使われている命令を調べて、それだけ実装します。
また、マッパー0限定にします。
PPUも同様に必要最低限の実装にします。
スクロールとか面倒なのは無しにします。
スプライトゼロヒット無しで、16ドットモードも無しにします。
音が出ても出なくてもゲームは動くので、APUは省略します。
さて一時間で作れるでしょうか?
まだちょっときつそうですね。
実装に必要となる資料は、前もって時間をかけて用意しておく前提にします。