This page is a mirror of Tepples' nesdev forum mirror (URL TBD).
Last updated on Oct-18-2019 Download

Mirroring

Mirroring
by on (#75168)
Is there any advantage to having diagonal mirroring?
That is:

AB
BA

rather than the traditional horizontal/vertical mirroring

After looking it over, it looks like it would allow nearly flawless 4-way scrolling. You'd still have tile/palette glitches in the corners of the screen, but at least you could have the left 8 pixels of the screen unmasked, and you'd have minimal scrolling artifacts since the absolute top and bottom rows of tiles are offscreen on most NTSC televisions anyway.

However, given that I can't think of any game that uses this type of mirroring, it must not have been a good idea. :P

Edit: Son of a bitch, I just saw that this was mentioned in the wiki. None the less, that means at least two people have come to the same conclusion. I'd like to test this out somehow (and maybe even use it), but do any other non MMC5 boards allow this type of mirroring?

by on (#75169)
I think the reason diagonal mirroring is not widely used is because not many mappers support it. I can only name the MMC5, but I wouldn't be surprised if a couple o Japanese mappers supported it too.

by on (#75170)
Quote:
After looking it over, it looks like it would allow nearly flawless 4-way scrolling. You'd still have tile/palette glitches in the corners of the screen, but at least you could have the left 8 pixels of the screen unmasked, and you'd have minimal scrolling artifacts since the absolute top and bottom rows of tiles are offscreen on most NTSC televisions anyway.

However, given that I can't think of any game that uses this type of mirroring, it must not have been a good idea.


I'm still waiting for someone to write a demo that proofs this.
Everytime I've wanted to write a bidirectional scrolling demo, I ended up failing. If the mirroring you use is something very weird like this it would certainly make things even more complex, and updates being even more of a headache.

I'm not saying it's not possible to avoid graphical glitches using this trick, I'm just saying it might not be as easy as it sounds on paper, and maybe not even possible.

by on (#75172)
NES Play Action Football board (MMC3-based TKSROM/TLSROM boards, Mapper #118) uses the top bit of CHR banks to set which internal VRAM page is mapped into each nametable for all 4 nametables. So it could do diagonal mirroring. In practice, it just used this feature mainly to get single screen mirroring.

by on (#75173)
To set up diagonal mirroring, you'd need to connect (PA10 XOR PA11) to VRAM A10, and connect /PA13 to VRAM /CE.

This is different from just simply connecting /PA13 to VRAM /CE and either PA10 or PA11 directly to VRAM A10 (a XOR means a logic gate, which usually means an IC), so that's probably why it's not used.

Plus, I think it may be entirely impossible to have a nametable-based status bar with this.