'So unfortunately, I can't end this article with a solution. It's an open problem in emulation.'
'So unfortunately, I can't end this article with a solution. It's an open problem in emulation.'
I've even had it non-jokingly suggested to provide netlists of the game cartridges. But well, that's great if you don't mind your SNES emulator never reaching 60fps. And good luck asking most emulator developers to simulate full-on netlists and logic chips directly, instead of a single-byte in a header that lets you turn that into a few if((address&mask)==range) checks.
Further, in practice, getting emulator developers to all agree on a solution is like herding sheep. The NES has a long history of very strong opinions on how this should be done, and in my earlier, more boisterous days, I did as well.
These days, I've taken to the more pragmatic yet developer-intensive approach of just supporting as many options as possible and letting the user decide. I do the best I can and when things fall through the cracks due to missing information, it just is what it is.