CPU memory map: Difference between revisions

From NESdev Wiki
Jump to navigationJump to search
(cleaning up Special:Wantedpages)
(Major revision to include better mapping, and more!)
Line 16: Line 16:
| $4000 || $0018 || [[APU|NES APU]] and [[2A03|I/O registers]]
| $4000 || $0018 || [[APU|NES APU]] and [[2A03|I/O registers]]
|-
|-
| $4018 || $FFFF || Cartridge PRG ROM, cartridge PRG RAM, and [[MMC|mapper registers]]
| $4018 || $BFE2 || Cartridge Space: PRG-ROM, PRG-RAM, and [[MMC|Mapper Registers]] (See Note)
|-
| $FFFA || $0006 || 6502 Vectors: NMI, Reset, and IRQ/BRK, After this is the end of space for the CPU
|}
|}


$FFFA - NMI vector
Note: Most Common Boards address ROM and Save/Work RAM in this format, Especially in Common INES mappers:


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


$FFFE - IRQ/BRK vector
$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

Revision as of 07:52, 20 July 2012

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