カートリッジ > メモリバンクコントローラ > MBC2

0000-3FFF - ROM バンク 00 (読み込み専用)


この領域には、カートリッジ ROM の最初の 16 KB が常に接続されます。

4000-7FFF - ROM Bank 01-0F (読み込み専用)


この領域には、カートリッジ ROM の 16 KB 以降の領域が接続されます。
最大 15 個のバンクが切り替え可能で、約 256 KB まで容量を増やすことができます。

A000-A1FF - MBC2 チップに内蔵された 512x4 ビット RAM (読み込み/書き込み可能)


MBC2 は外部 RAM をサポートしていません。
代わりに、チップ内に 512x4 ビットの RAM が内蔵されています。
電源 OFF 時に内容を保存しておくため、外部バッテリーが必要になります。

データは 4 bit の値で構成されていて、バイト単位でアクセスする内の、下位 4 ビットのみが使用できます。

0000-1FFF - RAM 有効 (書き込み専用)


アドレスの 2 バイトのうち、上位バイトのビット 0 の値が 0 の時、カートリッジ RAM の有効・無効を切り替えます。
例えば次のアドレスが、カートリッジ RAM の有効・無効の切り替えに使用できます。

  • 0000 - 00FF
  • 0200 - 02FF
  • 0400 - 04FF
  • ...
  • 1E00 - 1EFF

MBC2 RAM の有効・無効を切り替える時には、 0000 - 00FF を使用するのが良さそうです。

2000-3FFF - ROM バンク番号 (書き込み専用)


2000 - 3FFF の範囲に、 下位 4 ビットでバンクの値を書き込むことで、
4000 - 7FFF の範囲に出現する ROM バンクを選択することができます。

書き込む時のフォーマットは XXXXBBBB のようになります。

  • XXXX: どんな値でも OK
  • BBBB: バンク番号

アドレスの 2 バイトのうち、上位バイトのビット 0 の値が 1 の時、ROM バンクの選択ができます。
例えば次のアドレスが、 ROM バンクの選択に使用できます。

  • 2100 - 21FF
  • 2300 - 23FF
  • 2500 - 25FF
  • ...
  • 3F00 - 3FFF

ROM バンクを切り替える時には、 2100 - 21FF を使用するのが良さそうです。
最終更新:2017年08月31日 00:58