PPU memory map: Difference between revisions

From NESdev Wiki
Jump to navigationJump to search
m (update)
m (update)
Line 23: Line 23:
|}
|}


=== Programmer memory map ===
=== Memory details ===
{| class="tabular"
{| class="tabular"
! Address || Size || Note || Description
! Address || Size || Note || Description
Line 49: Line 49:
| $3000  ||$0F00 || R ||  
| $3000  ||$0F00 || R ||  
|-
|-
| $3F00  ||$0010 ||  || Image palette #1
| $3F00  ||$0010 ||  || Background palette
|-
|-
| $3F10  ||$0010 ||  || Sprite palette #1
| $3F10  ||$0010 ||  || Sprite palette
|-
|-
| $3F20  ||$00E0 || P ||  
| $3F20  ||$00E0 || P ||  
Line 63: Line 63:
* R = Mirror of $2000-2EFF (N)
* R = Mirror of $2000-2EFF (N)
* F = Mirror of $0000-3FFF
* F = Mirror of $0000-3FFF
----
Note: First draft of the PPU memory map. Taken nesdoc format as example

Revision as of 22:07, 6 May 2011

PPU VRAM 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-$23FF $0400 Name Table A]
$2400-$27FF $0400 Name Table B]
$2800-$2BFF $0400 Name Table C]
$2C00-$2FFF $0400 Name Table D]
$3000-$3EFF $0F00 Mirrors of $2000-$2FFF]
$3F00-$3F1F $0020 Palette RAM indexes [not RGB values]
$3F20-$3FFF $0080 Mirrors of $3F00-$3F1F

Memory details

Address Size Note 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 Background palette
$3F10 $0010 Sprite palette
$3F20 $00E0 P
$4000 $C000 F
  • C = This memory is not in the NES but on the cartridge board. It can be CHR ROM or CHR RAM.
  • N = Mirrored nametables, in a manner controlled by the cartridge board (see Mirroring)
  • P = Palette mirror
  • R = Mirror of $2000-2EFF (N)
  • F = Mirror of $0000-3FFF