Jump to content

NES Programming/Memory Map

From Wikibooks, open books for an open world

CPU Memory Map

[edit | edit source]
Address Size Description
$0000 0x800 2KB of work RAM
$0800 0x800 Mirror of $000-$7FF
$1000 0x800 Mirror of $000-$7FF
$1800 0x800 Mirror of $000-$7FF
$2000 0x8 PPU Ctrl Registers
$2008 0x1FF8 *Mirror of $2000-$2007
$4000 0x20 Registers (Mostly APU)
$4020 0x1FDF Cartridge Expansion ROM
$6000 0x2000 SRAM
$8000 0x4000 PRG-ROM
$C000 0x4000 PRG-ROM

* Mirrored 1023 times, not including $2000 - $2007.

PPU Memory Map

[edit | edit source]
Address Size Description
$0000 $1000 Pattern Table 0
$1000 $1000 Pattern Table 1
$2000 $3C0 Name Table 0
$23C0 $40 Attribute Table 0
$2400 $3C0 Name Table 1
$27C0 $40 Attribute Table 1
$2800 $3C0 Name Table 2
$2BC0 $40 Attribute Table 2
$2C00 $3C0 Name Table 3
$2FC0 $40 Attribute Table 3
$3000 $F00 Mirror of 2000h-2EFFh
$3F00 $10 BG Palette
$3F10 $10 Sprite Palette
$3F20 $E0 Mirror of 3F00h-3F1Fh
[edit | edit source]