CPU memory map: Difference between revisions
From NESdev Wiki
Jump to navigationJump to search
(cleaning up Special:Wantedpages) |
Hamtaro126 (talk | contribs) (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 || $ | | $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 | |||
|} | |} | ||
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 | ||
$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