CNROM は任天堂製基板の名前です。ファミコンのバンク切り替えとしては初期に見られる手法で、 PPU の Charcter 領域を区分けすることなく、最大 4 つの page を持つ簡単な仕組みです。CPU 側のバンク切り替えはありません。
汎用ロジック IC 74161 だけで構成できて単純なので、他社生産品でも使われています。他社製では当然ながら CNROM の名前はありませんので互換品です。
あまり目立たないのですが、 CNROM にはダイオード2つをつける場所があります。
汎用ロジック IC 74161 だけで構成できて単純なので、他社生産品でも使われています。他社製では当然ながら CNROM の名前はありませんので互換品です。
あまり目立たないのですが、 CNROM にはダイオード2つをつける場所があります。
74161 には CPU D5:4, D1:0 が接続されており bit5:4 のほうがダイオードに影響します。このダイオードの方向はソフトによって個別に設定でき、CPU から write bit 5:4 とダイオードの出力が一致していないと Charcter ROM の上位アドレスが不定になってデータが正しく出てこない、という仕組みのようです。
これらのゲームは CNROM が登場した初期のタイトルで用いられていますが、プロテクトしては弱いのでダイオードの設置はすぐにやめてしまったそうです。
CNROM 初期のドラゴンクエスト(初代, 1986/05/27発売)はダイオードが 1->2, 3->4 となっている。
CNROM 初期のマイティボンジャック(1986/04/18発売)は 1<-2, 3->4 となっている。
CNROM としてはかなり遅めに出たエジプト(1991/05/31発売)にはダイオードがないが、設置場所は残っている。
これらのゲームは CNROM が登場した初期のタイトルで用いられていますが、プロテクトしては弱いのでダイオードの設置はすぐにやめてしまったそうです。
CNROM 初期のドラゴンクエスト(初代, 1986/05/27発売)はダイオードが 1->2, 3->4 となっている。
CNROM 初期のマイティボンジャック(1986/04/18発売)は 1<-2, 3->4 となっている。
CNROM としてはかなり遅めに出たエジプト(1991/05/31発売)にはダイオードがないが、設置場所は残っている。
UNROM は CNROM から1か月ぐらいおくれて市場に出てきた基板で、初期のバンク切り替え手法を持ちます。Charcter が RAM になったので、ソフト側での自由度が高くなったのかもしれません。
74161 に加え 7432 が増えましたが、構造は単純で CPU 側の ROM 領域を半分に別けて1つを可変バンクにしただけです。CNROM 同様他社製互換品があります。
74161 に加え 7432 が増えましたが、構造は単純で CPU 側の ROM 領域を半分に別けて1つを可変バンクにしただけです。CNROM 同様他社製互換品があります。
クレイジークライマーでは同じ UNROM でも 7432 (quad-or-gate)の部分に、同じピン配置の 7408 (quad-and-gate) をつけています。基板にも U4 (74)LS32 と書いてあるのに、HC08 を載せています。
ソフトウェア的には可変バンクと固定バンクの位置が逆になり、普通の UNROM のソフトとは互換性がなくなります。74161 の電源投入直後の値は不定ですから、 ROM の全てのページの末尾にベクタテーブルを書いておく必要があります。
おそらくこれもプロテクトの目的で作ったと見られますが、これ1本だけです。7432 とピン配置が同じ 2入力1出力4ゲート IC は他にもたくさんありますので、実用はされなかったものの攪乱することは可能だと思われます。
このように部品を少し変えると言うことも可能で、わずかなソフトがこういう手法も使ってきます。基板名だけでわからないものに H/V のジャンパがあります。これは他の基板にもあり、重要度はかなり高いので nes header の仕様にとりこまれています。
かなり極端な例として挙げましたが、こういう例外はごく一部でして、MMC1 や MMC3 を使う場合は基板の名前を書くことの方がわかりやすいなど、規格や名称にも一長一短があります。わかりやすいものを選ぶというのが現状となっています。
かなり極端な例として挙げましたが、こういう例外はごく一部でして、MMC1 や MMC3 を使う場合は基板の名前を書くことの方がわかりやすいなど、規格や名称にも一長一短があります。わかりやすいものを選ぶというのが現状となっています。
- nesdev wiki - CNROM http://wiki.nesdev.com/w/index.php/CNROM
- nescartdb のリンクを貼った各ページ. バードウイークはダイオードがないのに mapper 185, バナナはダイオードがあって方向が変なのに mapper 3 はたぶん間違いです。