PPU memory map: Difference between revisions

From NESdev Wiki
Jump to navigationJump to search
m (I think there was an error in original document. Attribures of table #0 should not be mirrored. Must figure out more about N later.)
(Included address range.)
Line 1: Line 1:
=== RAM memory map ===
=== RAM memory map ===


{| border=1
{| class="tabular"
! Address || Size || Description
! Address range || Size || Description
|-
|-
| $0000 || $1000 || Pattern Table #0
| $0000-$0FFF || $1000 || Pattern Table 0 [lower CHR RAM bank]
|-
|-
| $1000 || $1000 || Pattern Table #1
| $1000-$1FFF || $1000 || Pattern Table 1 [upper CHR RAM bank]
|-
|-
| $2000  ||$1F00 || Name Tables
| $2000-$2FFF || $0F00 || Name Tables [4 banks of $400 bytes]
|-
|-
| $3F00  ||$0020 || Palettes
| $3000-$3EFF  || $0F00 || Mirrors of Name Tables
|-
| $3F00-$3F1F || $0020 || Palette RAM indexes [no RGB]
|-
| $3F20-$3FFF  || $0080 || Mirrors of palette
|}
|}




=== Programmer memory map ===
=== Programmer memory map ===
{| border=1
{| class="tabular"
! Address || Size || Flags || Description
! Address || Size || Flags || Description
|-
|-
Line 51: Line 55:


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


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

Revision as of 00:55, 3 April 2010

RAM memory map

Address range Size Description
$0000-$0FFF $1000 Pattern Table 0 [lower CHR RAM bank]
$1000-$1FFF $1000 Pattern Table 1 [upper CHR RAM bank]
$2000-$2FFF $0F00 Name Tables [4 banks of $400 bytes]
$3000-$3EFF $0F00 Mirrors of Name Tables
$3F00-$3F1F $0020 Palette RAM indexes [no RGB]
$3F20-$3FFF $0080 Mirrors of palette


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 (read below)
  • P = Palette mirror
  • R = Mirror of $2000-2EFF (N)
  • F = Mirror of $0000-3FFF

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