Emulator projects should all add a clause in their EULA that specifically forbids Nintendo from using their software, then they can sue Nintendo for breaching their license. Give them a taste of their own medicine.
The article notes that they are likely using a proprietary in-house emulator.
I personally don’t think it’s so likely that Nintendo would write and maintain a Windows emulator just for their museum if an open-source project exists that they could legally use for free under that project’s license terms. Only someone with insider knowledge would be able to say for sure though.
They don’t need to, they have their own studio that makes all their emulators called NERD: https://en.m.wikipedia.org/wiki/Nintendo_European_Research_%26_Development
Those emulators most likely have always worked on Windows since they need to be tested somewhere.
That team writes emulators that run directly on Nintendo consoles, so they would likely test it on development versions of those consoles the same way actual console games are developed and tested. Otherwise they would be testing a Switch version of an SNES emulator running inside a Switch emulator on a Windows PC that would introduce it’s own errors.
The Switch is ARM and uses several components from FreeBSD and Android. It would not be surprising to learn that they have the ability to compile system components like Virtual Console for an ARM Linux with stubs for Switch-specific stuff.
The SNES Classic is also ARM, and has much less going on than the full Switch OS (Horizon). That could be the core of what they use for the museum displays, considering there’s an ARM version of Windows too.
Either way, devs gonna dev. If you can’t get feedback at your workstation and always have to deploy to your target platform to test anything, you’re gonna move too slow to catch and fix bugs or build flexible enough systems to prevent them.
So much of dev testing is about trade-offs between rapid iteration and thorough fidelity. You need access to both.
From my own experience, I’ve done stuff like:
- built mobile apps that can also be deployed as desktop apps or web apps for the sake of dev testing
- built testing tools for car systems that fake out sensor input
- built HTTP wrappers for cloud-deployed services to allow them to be run locally
- faked out camera feeds for AR apps
It can get janky, cuz not everything works the same way, but most of what you work on is not platform-specific anyway and a good architecture will minimize the portion of code that only works on the target platform.
Could it be that they only hate it when others emulate their games? Am I being ridiculous?
Their entire operating systems are essentially emulators.
I mean, the problem isn’t emulation, it’s unauthorized emulation. They build emulators for older games on their own consoles.