Modern handhelds are not like the older ones, there's actually an OS involved and a lot of per-system settings that uniquely identify your Switch-- especially when it connects to Nintendo's servers or authenticates if you're allowed to play a digital game.
Always wondered about that. I have no doubt all current systems do this sort of thing. How does the emulator handle it?
Lawsuits involving this system had really interesting results. In one case, the judges not only ruled that the trademark infringement was fair use, they said that SEGA made the trademark infringement necessary in order to produce compatible games due to their own security system. The infringement was SEGA's own fault!
The world used to be great before DMCA criminalized even the attempt to cricumvent these things.
I'm not a lawyer so I don't fully understand the laws here. I found they were quite easy to read though.
Sony Computer Entertainment v. Connectix Corp.
https://scholar.google.com/scholar_case?case=716676913673727...
Sony complained that Connectix copied their copyrighted code during the reverse engineering process. This is obviously necessary in order to reverse engineer the code, access the unprotected ideas embodied in it and produce compatible products. It was ruled as fair use.
Sony Computer Entertainment America v. Bleem
https://scholar.google.com/scholar_case?case=118372240780525...
Sony complained about their use of screenshots of copyrighted games in advertising. This is comparative advertising intended to show that the emulator performs as intended, which is obviously good for consumers. It was ruled as fair use.
Despite this precedent, I still see companies issuing DMCA claims to emulator developers whenever they find some screenshot on an emulator website! It makes me wish some judge would award the developers millions just to punish the audacity of these companies. They're wrong but they know the developers won't ever take it to court so they take advantage of the situation.
Also, at no point is the legality of emulators ever disputed. It's not even a gray area. Emulators are competitors. They compete directly with the original hardware. They even try to argue that these competing products will tarnish their trademarks!
Sony lost all lawsuits yet they won in the end, because judges granted injunctions which prevented the smaller companies from selling their emulator software. That led to their ruin and the discontinuation of their emulator development. This was their goal all along. Their arguments are clearly insane, they just wanted some shoddy excuse to take their competitors to court and burn their money. In a just world, the judges would calculate the amount of lost profits caused by Sony and make them pay with interest.
However, older systems were also much simpler. The GBA BIOS functions may have been simple enough that it was not difficult for the emulator developers to reverse engineer and reimplement them natively. Newer systems such as the PlayStation no doubt had extremely complex software controlling hardware like the disc drives. I've even seen references to C standard library functions in the debugger documentation and many notes detailing how buggy they were. I have no doubt there are games which rely on those bugs. Reimplementing all this software would be a significant undertaking. Easier to just make the user obtain a copy of the original software. That's how its done to this day even though the PlayStation is already 5 generations behind.
It's definitely possible to emulate or reimplement this software, it's just hard and the focus of emulator projects is usually on the hardware. There are other projects which aim to do this stuff though! I've seen game engine emulators which are open source reimplementations of the engines of older games. Users are expected to plug in the copyrighted game assets themselves. Perhaps one day consoles will be nothing but standard PCs under the hood and emulating them will consist of reimplementing the APIs the games use to interface with the operating system just like Wine and the Windows API.