Hi, I'm a real newbie about NES programming but I'd like to create something. I know it may be a stupid question, but I can't understand what means "mirroring". The NES System Documentation says: Mirroring, also referred as shadowing, is the process of mapping particular addresses or address ranges to other address/ranges via hardware. Can someone explain me what does that means in practice, maybe with an example?
Thanks.
It means where 2 addresses point to the same memory location.
The main example is with the nametables. There's addresses for 4 nametables, but normally only memory for 2 of them. "horizontal mirroring" would mean that writing to (VRAM) $2000 would be the same as writing to $2400. Or with vertical mirroring, writing to $2000 and $2800 would be the same.
It also applies to the NES's RAM ($0000-$07FF). Writing to $0900 would be the same as $0100.
I hope my explanation makes sense.
Take a look on this discussion
http://nesdev.com/bbs/viewtopic.php?t=101 about Horizontal/Vertical mirroring.