とりあえずスーパーマリオが動いて一段落したので覚えているうちに感想書いていく。 (この記事の情報量は、デバッグは大変、以上) 動機 単に好奇心。ただ、ファミコンのエミュレータに着手したのはこれで3回目になる。 1度目は10年前の身内ハッカソンのとき。このときはC言語で実装してて強引にHELLO, WORLD!を表示するだけで終わった。 実装の続きをしたかったけど、この後は忙しくなってしまって挫折している。 2度目は2年前で、過去の心残りを精算するためにGo言語で着手したのだけど、CPUの実装が終わった後ぐらいからまた忙しくなって挫折している。 今回は2年前のGoコードの続きからコミットを積んでここまで来たので、一応リベンジ成功....と言って良いんじゃないかな、たぶん。 過程 PPUの実装は最初からinternal register(v,t,x,w)を使う方法にした(PPU scrolli