ファミコン用カートリッジ基板(Mapper2)を作ってみました。
以前のカートリッジと容量が全く違います。大容量カートリッジです。
PRG-ROMが32KBを超えるような大容量カートリッジを作るにはMapper0以外のマッパーを使うしかありません。
有望なマッパーとしてはMapper1やMapper4がありますが、これらは任天堂製の特殊チップ(MMC1やMMC3)を搭載しています。純正品の特殊チップは入手が難しいので、怪しい互換チップを使うことになります。ハード的な権利は既に切れていますが、、、これがどこまで合法なのか判断できません。
怪しい会社にお金を渡して、果たして大丈夫なのかどうか? 結局、計画を中止しました。
そこで、Mapper2を採用してみました。Mapper2なら特殊チップを使わず、汎用のロジックICで済ませることができます。
Mapper2の仕組みを理解するため、参考にしたのがこの「うっでぃぽこ」です。Amazonで340円で購入しました。33年前のハードなので、合法的に解析できるだろうという判断です。
殻割りに失敗してツメが折れてしまいました。うっでぃぽこは全8バンク=128KB(1Mbit)でした。ロジックICを2個搭載しています。こうしたカートリッジ基板は任天堂が製造を行っていました。
あと、以下のページを参考にさせて頂きました。
Enri's Home PAGE (ファミリーコンピューター ROMカセット マッパー2)
あと、「8bitworkshop」というWebブラウザだけでファミコンゲームが作れてしまうという凄いサイトがあるのですが、そこに「solarian game」というMapper2のゲームがありました。おもいっきりギャラクシアン似です。ここで、NESファイルをダウンロードすることができます。
https://8bitworkshop.com/v3.6.0/?platform=nes&file=shoot2.c
solarian gameは全2バンクだったので、自作のツールで8バンクに修正してROMに書き込んでみました。
無事に動きました。
しかし、このプログラムは実際に使っているのがバンク0だけで、バンク1にはベクタしか書かれていませんでした。Mapper0でも作れてしまいます。Mapper2の動作テストとしては少し不十分かもしれません。