i have an NES project where the mirroring is vertical, but I just realized the mirroring on my desired cartridge is horizontal. I looked over my documents but couldn't find info on this topic.
Basically what I'd like to know is if my project could keep it's vertical mirroring despite the above fact or if I have to tune and set up my code to handle horizontal mirroring before making a hard copy?
Thanks for keeping these boards alive everyone!
Whether nametable mirroring is hardwired depends on the cart type (mapper). On NROM, UxROM etc the mirroring is hardwired, on AxROM, MMC1, MMC3 it's mapper controllable.
That said, you can rewire the cart to switch to vertical mirroring, see
http://nesdev.com/rom.txt for details. CIRAM A10 is the key.
Carts that don't have mappers with mirroring control can be soldered in different ways to use different types of mirroring (it's also possible to override the mapper and permanently set the mirroring). So yes, mirroring is hardwired in the sense that the software can't change the mirroring type as it runs (unless a mapper allows this), but the person making the cart can, using a soldering iron.
Tokumaru is right that discrete boards will usually have solder pads to select horizontal or vertical mirroring, though boards manufactured by Nintendo use the opposite nomenclature compared to the emulation community. Bridge the H pads to select horizontal arrangement (same as vertical mirroring), or bridge the V pads to select vertical arrangement (same as horizontal mirroring).
Say you were to put Lawn Mower (mapper 0, 16 KiB PRG, 8 KiB CHR, vertical mirroring) on an Ice Climber board (NROM-128, horizontal mirroring). You'd open it up and see a pair of pads bridged with solder, marked V. You'd desolder that pad and solder the H pad for horizontal arrangement.
Thanks guys!
Luckily I'm working with MMC3.
I'm a long way from finishing my project and this definitely helps.
NinToad wrote:
Luckily I'm working with MMC3.
Nothing to worry about then. AFAIK, only a couple of obscure MMC3 boards have hardwired mirroring, the vast majority of them leave mirroring selection to the mapper, so you just have to be sure to use the correct register(s) to select the type of mirroring you need.
tokumaru wrote:
NinToad wrote:
Luckily I'm working with MMC3.
Nothing to worry about then. AFAIK, only a couple of obscure MMC3 boards have hardwired mirroring, the vast majority of them leave mirroring selection to the mapper, so you just have to be sure to use the correct register(s) to select the type of mirroring you need.
You're probably thinking about TLSROM which uses the CHR A17 line to control CIRAM A10. So while most MMC3 boards toggle between Horizontal and Vertical mirroring, TLSROM MMC3 boards can toggle between single screen A/B similar to AxROM.
infiniteneslives wrote:
tokumaru wrote:
NinToad wrote:
Luckily I'm working with MMC3.
Nothing to worry about then. AFAIK, only a couple of obscure MMC3 boards have hardwired mirroring, the vast majority of them leave mirroring selection to the mapper, so you just have to be sure to use the correct register(s) to select the type of mirroring you need.
You're probably thinking about TLSROM which uses the CHR A17 line to control CIRAM A10. So while most MMC3 boards toggle between Horizontal and Vertical mirroring, TLSROM MMC3 boards can toggle between single screen A/B similar to AxROM.
There's also the NES-TEROM and NES-TFROM boards, which have 3 solder pads to select between H, V, and MMC3-controlled mirroring.
Quietust wrote:
There's also the NES-TEROM and NES-TFROM boards, which have 3 solder pads to select between H, V, and MMC3-controlled mirroring.
Shoot, I never noticed those before. I wonder why they even bothered. It only really saves you from a single mapper write at game start up. Doesn't look like any boards even used them anyways aside from the default mapper controlled jumper. Probably one of those 'brilliant ideas' that came from a manager that didn't have any real thought behind it and it wasn't in anyone's position to question it.
I wonder if they based TEROM/TFROM off an earlier PCB (one with solder pads for mirroring), and just didn't care about removing the now-unnecessary solder pads. I mean, they're literally just two traces and a pad for each, I doubt they were hurting on resources from that.
tepples wrote:
though boards manufactured by Nintendo use the opposite nomenclature compared to the emulation community.
Honestly that makes more sense to me, whenever I read about mirroring I need to think twice because the first reaction I get is that it's the direction in which it extends (e.g. if I read "horizontal" I think 2×1 screens, if I read "vertical" I think 1×2 screens).
Sik wrote:
tepples wrote:
though boards manufactured by Nintendo use the opposite nomenclature compared to the emulation community.
Honestly that makes more sense to me
I agree, but that's one of those things invented in the early days of emulation that has become a convention since then. If this person had bothered to do some quick hardware research (i.e. just open a cart!) before coming up with this...
I thought the going theory was that TEROM/TFROM was intended for compatibility with games developed for the
MIMIC, believed to be the predecessor to MMC3.
Ahh that does make a little more sense
Sik wrote:
tepples wrote:
though boards manufactured by Nintendo use the opposite nomenclature compared to the emulation community.
Honestly that makes more sense to me, whenever I read about mirroring I need to think twice because the first reaction I get is that it's the direction in which it extends (e.g. if I read "horizontal" I think 2×1 screens, if I read "vertical" I think 1×2 screens).
It can be confusing if you aren't familiar with the term mirroring. If you are it makes good sense. What doesn't is when you hear the term "Four Screen Mirroring". Four Screen is actually the lack of any mirroring at all. So usually you should just drop mirroring and just say Four Screen.
tokumaru wrote:
Sik wrote:
tepples wrote:
though boards manufactured by Nintendo use the opposite nomenclature compared to the emulation community.
Honestly that makes more sense to me
I agree, but that's one of those things invented in the early days of emulation that has become a convention since then. If this person had bothered to do some quick hardware research (i.e. just open a cart!) before coming up with this...
Or even common sense... Horizontal and vertical layout would have been both easier to understand and also still 100% accurate.
MottZilla wrote:
Sik wrote:
tepples wrote:
though boards manufactured by Nintendo use the opposite nomenclature compared to the emulation community.
Honestly that makes more sense to me, whenever I read about mirroring I need to think twice because the first reaction I get is that it's the direction in which it extends (e.g. if I read "horizontal" I think 2×1 screens, if I read "vertical" I think 1×2 screens).
It can be confusing if you aren't familiar with the term mirroring. If you are it makes good sense. What doesn't is when you hear the term "Four Screen Mirroring". Four Screen is actually the lack of any mirroring at all. So usually you should just drop mirroring and just say Four Screen.
I know what mirroring means. It still catches me off guard every time just because I expect the opposite convention.
When screen arrangement is reverse axis when you see the word mirroring and it's pretty simple then right? I know it is confusing at first but I think if you do enough hacking or tinkering or programming you start to remember it.