CNROM のキャラクタROM

他事に集中していて忘れそうなので書いておく。 CNROM と互換品でキャラクタROMのサイズが32KB未満(以下ではなく未満)のものを redump にご協力していただいた。

調べていただいた結果は下記。

  • アルカノイドとピーパータイムの2つだけミラーが発生。
  • それ以外はA14までフルデコードしている。
  • フルデコードといっても有用な page は 1 つか 2 つ。
    • 有用な page 番号はバラバラ
    • 無用な page は ROM から 0xff を出しているのか bus open で pullup の関係で 0xff になっているのかは要調査 (ファーム書き換えるのめんどい)
  • 有用無用を考えずに単純に 32KB+32KB の ROM をつくったら全て mapper #3 で動いてしまう

ダイオードはともかくとして無用/有用データ page(bank) なんて考えない方がすべてうまくいっているのよね。0x8000 byte ぐらい15年前の HDD でもけちる必要なんてないのに。

nes file の仕様が ROM image 2 つを連結、というのが肝で ROM 領域だけ含めるのか、ミラーや 0xff とか 0x00 で埋まっているのを含めるのかなんて当時なんて真面目に考える必要なんてないのになんで mapper #185 とか作るかなー。

とりあえずこちらの調査がちゃんと終わったら文書を作ります。作りかけで非公開の wiki に書きまとめてから一般今回かしら。