NESDev and Strangulation Records messageboards
Forum Index | FAQ | New User | Login | Search

Previous ThreadView All ThreadsNext ThreadShow in Flat Mode*


SubjectRe: Memory (pc & maps)  
Posted byquietust
Posted on5/27/03 6:09 PM



Eh, I sense a few typos:

0000-1FFF - 2KB of RAM
* 0000-07FF - RAM
* 0800-0FFF - Mirror of RAM
* 1000-17FF - Mirror of RAM
* 1800-1FFF - Mirror of RAM
2000-3FFF - PPU I/O interface
* 2000-2007 - I/O registers
* 2008-200F - Mirror of I/O registers
* ...
* 3FF8-3FFF - Mirror of I/O registers
4000-4017 - CPU/APU I/O interface
* 4000-4013 - APU input registers
* 4014 - Sprite DMA macro (write $XX and it reads 256 bytes from $XX00-$XXFF and writes each one to $2004)
* 4015 - APU control register
* 4016-4017 - Controller I/O (and APU IRQ control)
4018-FFFF - Not mapped internally (i.e. bounced to cartridge)
* 6000-7FFF - If the cartridge has an extra 8KB RAM chip (not CHR RAM), it goes here
* 8000-FFFF - PRG ROM usually (well, pretty much always) gets mapped here

SPR-RAM and VRAM (nametables) data are dedicated to holding graphics rendering information, so they don't really count as general-purpose memory. I/O registers also do not count, since they generally can *not* be used to store arbitrary data - you sent commands and retrieve status data through them (the APU registers 4000-4013 are not even readable). CPU registers don't count either, since using them to store permanent data would not be feasible.

Effectively, the NES has 2048 bytes of 'general purpose' memory, and 4352 bytes of 'total' memory (not including registers).

--
Quietust
P.S. If you don't get this note, let me know and I'll write you another.

-
Entire Thread
Subject  Posted byPosted On
*Memory (pc & maps)  EmuHackMan5/27/03 4:54 PM
.*Re: Memory (pc & maps)  EmuHackMan5/28/03 03:53 AM
.*Re: Memory (pc & maps)  Memblers5/27/03 6:14 PM
..*Re: Memory (pc & maps)  Memblers5/27/03 6:18 PM
..Re: Memory (pc & maps)  quietust5/27/03 6:09 PM
Jump to

Memblers' homepage             Contact Me

Forums powered by WWWThreads Demo