Jump to content

NES Programming/Memory Map

From Wikibooks, open books for an open world

CPU Memory Map

Address Size Description
$0000 $800 2KB of work RAM
$0800 $800 Mirror of $000-$7FF
$1000 $800 Mirror of $000-$7FF
$1800 $800 Mirror of $000-$7FF
$2000 8 PPU Ctrl Registers
$2008 $1FF8 *Mirror of $2000-$2007
$4000 $20 Registers (Mostly APU)
$4020 $1FDF Cartridge Expansion ROM
$6000 $2000 SRAM
$8000 $4000 PRG-ROM
$C000 $4000 PRG-ROM

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

PPU Memory Map

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