https://twitter.com/stephentotilo/status/1762576284817768457/
"NEW: Nintendo is suing the creators of popular Switch emulator Yuzu, saying their tech illegally circumvents Nintendo’s software encryption and facilitates piracy. Seeks damages for alleged violations and a shutdown of the emulator.
Notes 1 million copies of Tears of the Kingdom downloaded prior to game’s release; says Yuzu’s Patreon support doubled during that time. Basically arguing that that is proof that Yuzu’s business model helps piracy flourish."
These passages imply the writers of them lack basic computer literacy and don’t even understand Nintendo’s own systems.
“copied the game ROMs into Yuzu” Yuzu is not a VM or other container and the ROMs are simply stored on disk in their original dumped form… Yuzu doesn’t “store” or “contain” any games.
“any copy not on an authorized cartridge” LOL! What about games downloaded from your own digital marketplace, then?
What about a game you downloaded from Nintendo eShop and stored on an external SD card, which is a standard and well supported storage method on Switch? Is that SD card an “authorized cartridge”?
ROMs are indeed copied “into Yuzu”. They must be loaded into Yuzu’s memory in order for Yuzu to execute their code or render their assets. In copyright law, even loading something to memory constitutes a “copy”.
Also, almost every emulator is a VM; do you think those ARM instructions are running on your x86 processor and its desktop OS kernel natively?
I thought Yuzu was actually a dynamic recompiler? I remember this practice started in the days of N64 emulation, and these tools are more like debuggers than like VMs. So in this case, ROMs may only be copied “into Yuzu” byte by byte, not stored as a block in memory. At this point it’s really semantics, but that’s what the lawyers are supposed to figure out, right?
Unlike older emulators, Switch emulators don’t even support saving the emulator state, and their savegame data is stored right on the native filesystem. I believe they are actually more like Wine, and remember, Wine Is Not an Emulator.
Yuzu does recompile some parts during runtime by using a JIT, but the rest is still emulated.
You can’t compare them to Wine, since Wine acts as a compatibility layer by translating OS specific calls, but it does not translate between instruction sets.
Thanks for clarifying, I only have a casual knowledge of Yuzu internals and had been led to believe the ARM was translated rather than emulated.
The performance is honestly incredible for software emulating a different instruction set.