CPU memory map

From NESdev Wiki
Revision as of 07:52, 20 July 2012 by Hamtaro126 (talk | contribs) (Major revision to include better mapping, and more!)
Jump to navigationJump to search
Addr Size Device
$0000 $0800 2KB internal RAM
$0800 $0800 Mirrors of $0000-$07FF
$1000 $0800
$1800 $0800
$2000 $0008 NES PPU registers
$2008 $1FF8 Mirrors of $2000 every 8 bytes
$4000 $0018 NES APU and I/O registers
$4018 $BFE2 Cartridge Space: PRG-ROM, PRG-RAM, and Mapper Registers (See Note)
$FFFA $0006 6502 Vectors: NMI, Reset, and IRQ/BRK, After this is the end of space for the CPU

Note: Most Common Boards address ROM and Save/Work RAM in this format, Especially in Common INES mappers:

$6000-$7FFF = Battery Backed Save or Work RAM

$8000-$FFF9 = Usual ROM, commonly with Mapper Registers (see MMC1 and UxROM for example)

Vectors are at the end of the rom, like so:

$FFFA-$FFFB = NMI vector

$FFFC-$FFFD = Reset vector

$FFFE-$FFFF = IRQ/BRK vector