2-3.メモリマップ




ファミコンのメモリマップは下のようになってます。
アドレスサイズ内容
$0000$0800RAM
$0800$0800RAM($0000-$07FFのミラー)
$1000$0800RAM($0000-$07FFのミラー)
$1800$0800RAM($0000-$07FFのミラー)
$2000$0008I/Oレジスタ
$2008$1FF8I/Oレジスタ($2000-2007のミラー×$03FF)
$4000$0020I/Oレジスタ
$4020$1FE0拡張ROM用
$6000$2000バックアップRAM用
$8000$4000プログラムROM
$C000$4000プログラムROM
特に$4020-$7FFFはカードリッジに入ってるメモリマップコントラーラ(マッパー)使われ方が違います。
プログラムROMは32KByteのリニアアドレスですが、16KByte単位でバンク切り替えを行うことができます。
切り替え方は搭載されてるマッパーによって違います。
主なマッパーの仕様はこれを見てください。