I am not sure to understand a concept of the NES 6502. It is stated that PPU's memory range $2000-$2FFF is mirrored to $3000-$3FFF which is great, but I am not sure to understand how I could benefit from that while programming?
Could someone explain to me while giving me an example of usage?
Thank you!
You can't. It's of no benefit to you whatsoever.
The PPU, in fact, has only eight registers and only needs three bits to select one of those eight registers. If you look at the pinout of the PPU, you will see pins for
A0
,A1
,A2
. These are directly connected to pinsA0
toA2
of the CPU.There's also a pin called
/CS
which stands for "not chip select". If it's high, the PPU ignores anything from the CPU and if it's low, it pays attention to what the CPU wants it to do./CS
is wired via some logic to the top three address lines of the CPUA15
,A14
,A13
and if they are001
/CS
goes low and the PPU is enabled.All the CPU lines in between, i.e.
A12
toA3
inclusive are completely ignored by the PPU and the chip select logic. Thus you can set them to any value and it has the same effect on the PPU. There's no advantage to you, it just means the decoding logic is much simpler which reduces the cost of manufacture slightly.