ファミコンの完全自作ROM&カセットを作ろう!!その3 ~とりあえず動くromカセットができた~
以前、 ファミコンカセットを作ろう としてピンアサイン直読み直結で作ったものの、結局動かず悶々としてました。何かが間違っているのは確かで、なにが間違っているのかがよくわからないまま暫く、とある本が出版されそれを元にもう一度作り直したのがこちら。 はい、デカイですね!通常のファミコンカセットの 2 〜 3 倍のサイズです。中身は eprom が 2 つといたってシンプル。しかしながら重要なのはその上のジャンパ線で、ここにはファミコンカセット特有の機能を拡張できるように本来半田付けしてしまうところを外に出してあります。ざっくりいうとスルロールと音ですね。スクロールについては一枚の画面をひたすらループする方向を縦方向が横方向かどっちにするか、音については外部から音を追加で加える(体験してもらうなら、ゲームを起動して 2 コンのマイクに向かって喋ってもらうと、ファミコンを通して音が出ます。それみたいなもんです。)ですかね。もう一つ機能拡張のためピンを出しておいたのですが忘れてしまいました。 そしてこのカセット、実はどのマッパーにも属さない、変なカセットになっているようです。というのが、直繋ぎの場合 PRGROM と呼ばれる 6502 側の ROM は最大 16kbyte だそうですが、今回製作したカセットは 32kbyte が繋がるようになっています。(ドンキーコングやマリオブラザーズ がマッパー 0 らしのですが、いやどんだけ小さいプログラムに詰め込んだのか恐ろしくなります。)たぶんきちんと調べればあるんでしょうね。詳しい方教えてください… CHRROM と呼ばれるグラフィック ROM は 8kbyte でこれは変わりません。使ってみてわかったのですが、恐ろしく狭いです。背景はもちろん画面を埋められないほどしか画像を入れられません。スプライトも、 msx のように重ね合わせて色を増やすことができるのですがそもそも登録できるスプライト枚数があまりに少ないことと色の指定可能数が実質 12 色とぞっとするほど少ないことです。 これについてはバンク切り替えやカラーパレットの書き換えでトリッキーに増やすことができますが、素直にプログラムしたらザコいゲームしか作れません。それでも、ファミコン実機で動くところを見ると感動もひとしおで...