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