this post was submitted on 27 Feb 2024
722 points (98.4% liked)
Games
32953 readers
1436 users here now
Welcome to the largest gaming community on Lemmy! Discussion for all kinds of games. Video games, tabletop games, card games etc.
Weekly Threads:
Rules:
-
Submissions have to be related to games
-
No bigotry or harassment, be civil
-
No excessive self-promotion
-
Stay on-topic; no memes, funny videos, giveaways, reposts, or low-effort posts
-
Mark Spoilers and NSFW
-
No linking to piracy
More information about the community rules can be found here.
founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
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.