CPU memory map
From NESdev Wiki
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