lidnariq wrote:But the developer might appreciate being sent an autodetection algorithm.
My
multi-mapper test ROM uses the method taught to me by Paul of InfiniteNESLives.com. For each mapper that has mirroring control (common ASICs and a few discretes such as AOROM and
Holy Diver), write to its mirroring ports, and see what value is put on A10 when reading $2000, $2400, $2800, and $2C00. If the mirroring behaves as expected for a particular mapper, dump and emulate it as that mapper.
If mirroring is fixed, and it's not one of the known oddball games, then it's probably either a GNROM subset (such as NROM or CNROM) or a Color Dreams subset (such as BNROM or UNROM, which can be emulated as an oversize BNROM if overdumped). My test ROM cheats by having the bank number at a predefined location in each PRG bank, but the loader can still dump other PRG banks to see where it's CCCCPPPP (Color Dreams, BNROM, UNROM) or PPPPCCCC (GNROM, MHROM, CNROM).
As for engineering priorities, your sense of priorities might change once you have to issue refunds. "I bought a copy of
Lizard and it won't even play on my Retron 5. What gives?"