The tone in which this blog post is written is very entertaining while being informative. Thank you to the Ryujinx team, and all emulation projects for that matter, for their work in game preservation!
The tone in which this blog post is written is very entertaining while being informative. Thank you to the Ryujinx team, and all emulation projects for that matter, for their work in game preservation!
In short, no - from my understanding, it does actually fix the underlying issue, rather than special-casing the game. I wouldn't be surprised if there are a few edge cases like that which are special-cased, particularly for older games (when "abuse" of CPU/GPU quirks was more common to eke out extra performance).
They learned from themselves after doing just that for many years. Lately they have been working hard to get rid of game specific overrides.
They still have a gazillion tho, see here: https://github.com/dolphin-emu/dolphin/tree/master/Data/Sys/...
Emulation benefits hugely from increases to processing power over time.
There’s a slew of different approaches to emulation, such as bytecode interpretation (you read the ROM on the fly and try to “do the intended thing” using platform native APIs), bytecode translation (you convert the ROM into platform native code), hardware emulation (you simulate the original chips directly, and the ROMs “just work”), and more. In many cases all those techniques are used together for different parts of the system (such as emulating a CPU vs a GPU). Depending on what the issue is, how well the hardware is documented (you may even hit an undocumented hardware bug!), and how difficult it is to create a general-purpose fix for your particular approach to emulation, or how computational expensive it is to emulate correct behavior, you may choose to add a workaround.
Some emulation projects put more emphasis on 100% correct emulation than others. Console emulators tend to be biased towards performance.
What's fun is, particularly with older games and hardware, it wasn't uncommon for devs to use hardware bugs to their advantage. DK64 is notoriously hard to emulate because of that.
https://www.reddit.com/r/n64/comments/t2owki/psa_dk64s_expan...