PPU memory map

From NESdev Wiki
Revision as of 22:15, 29 March 2010 by Banshaku (talk | contribs) (I think there was an error in original document. Attribures of table #0 should not be mirrored. Must figure out more about N later.)
Jump to navigationJump to search

RAM memory map

Address Size Description
$0000 $1000 Pattern Table #0
$1000 $1000 Pattern Table #1
$2000 $1F00 Name Tables
$3F00 $0020 Palettes


Programmer memory map

Address Size Flags Description
$0000 $1000 C---- Pattern Table #0
$1000 $1000 C---- Pattern Table #1
$2000 $03C0 ----- Name Table #0
$23C0 $0040 ----- Attribute Table #0
$2400 $03C0 -N--- Name Table #1
$27C0 $0040 -N--- Attribute Table #1
$2800 $03C0 -N--- Name Table #2
$2BC0 $0040 -N--- Attribute Table #2
$2C00 $03C0 -N--- Name Table #3
$2FC0 $0040 -N--- Attribute Table #3
$3000 $0F00 --R--
$3F00 $0010 ----- Image palette #1
$3F10 $0010 ----- Sprite palette #1
$3F20 $00E0 ---P-
$4000 $C000 ---F-


  • C = Possibly CHR-ROM
  • N = Mirrored (see Subsection ??)
  • P = Palette mirror
  • R = Mirror of $2000-2EFF (VRAM)
  • F = Mirror of $0000-3FFF (VRAM)

Note: First draft of the PPU memory map. Taken nesdoc format as example