|
I think that each game has a default mirroring in the header (vertical or horizontal). All writes to the nametable address space follow this mirroring criteria. However, when drawing the screen (i.e. "reading"), you only read from the the active "one-screen" specified by the mapper.
So if a mapper 7 game is loaded, you honor the mirroring it comes with by default (for all writing). This will always yeild different values in the nametables. If mapper 7 sets mirroring to 0x2000, then no matter what nametable you are drawing from (0x2000, 0x2400, 0x2800, or 0x2C00), you get your data from 0x2000.
I may be completely wrong on this, cuz I havn't yet gotten it working in my emulator.....
Have you gotten mapper 4 working? I have a few questions on it, if you do...
|