Hey!
I've started looking at the NES a little for a school project (computer architecture). There are two things that I havn't been able to get an answer too on the web:
1. What is the purpose of memory mirroring?
2. Why is there a lpc and an hpc?
Thankful for any help!!
/Magnus
Some questions about the 6502
Re: Some questions about the 6502
repstosw wrote:
1. What is the purpose of memory mirroring?
Quote:
2. Why is there a lpc and an hpc?
1. Oh, sorry... Well, the NES (6502) memory has the range from $0000 to $08ff mirrored three times, up to $1fff. And at $2000 there is an 8-byte range that is mirrored every 8 bytes up to $4000. I don't understand why you would want to place the same data in several places in the memory! There must be some purpose of this, and I'd like to know what it is 
2. Aah I should've figured that one out myself!
2. Aah I should've figured that one out myself!
- GARTHWILSON
- Forum Moderator
- Posts: 8773
- Joined: 30 Aug 2002
- Location: Southern California
- Contact:
I can't claim any familiarity with NES products, but what you're describing is a common effect of address-decoding simplification done when you don't need the whole address space. Such simplification not only reduces the number of parts needed, but avoids added propagation delays through the levels of glue logic. The unwanted added delays can reduce the maximum operating clock speed.
Re: Some questions about the 6502
Also (in the case of the video RAM for the tile map) it gave the cartridge designer some flexibility with less RAM. For the PPU there's 2kB of internal VRAM in a 4kB address space. A full screen uses 1kB. The NES brings an address input to the cart edge, so you can set the screens to be mirrored horizontally or vertically, depending what kind of scrolling you want to do in your program.