this post was submitted on 01 Oct 2024
158 points (100.0% liked)

games

20608 readers
304 users here now

Tabletop, DnD, board games, and minecraft. Also Animal Crossing.

Rules

founded 4 years ago
MODERATORS
 

After Yuzu got shut down I'm not sure what this leaves people with for switch emulators. I'm going to try and find archives and will update the post when I do.

Last windows build: archive.org

Slightly older, but has linux and mac builds archive.org

Okay there we go, a github mirror: https://git.naxdy.org/Mirror/Ryujinx

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 15 points 2 months ago (1 children)

Emulation specifically is wickedly hard and there's a reason basically every emulator has a team of dozens to hundreds of contributors and is in active development rather than capable of perfect emulation

[–] [email protected] 11 points 2 months ago* (last edited 2 months ago) (2 children)

Eh, it isn't black magic. It's just very labor intensive to nail down the broadest degree of compatibility possible. Requires tons of testing, and eternal vigilance against regressions (i.e. fixing one game breaks another). The fundamental concepts are well documented, and often times already available in generic implementations (CPU emulators / JIT recompilers / OpenGL / Vulkan implementations / compatibility layers, input libraries, etc). A project like WINE (famously not an emulator) is a lot more complex than a virtual machine which just runs the official binary system firmware.

Not to say it is easy, but it is an interesting subject with tons of literature and free software implementations to study. It has a lot of moving parts, but part of doing effective software development is understanding you don't need to roll your own JIT recompiler when llvm and gcc-jit exist. Most contributors will specialize more or less in one thing (cpu architecture / graphics / audio / networking / debugging / reverse engineering / etc).

[–] [email protected] 6 points 2 months ago

Yeah. It's not easy, but if you're a competent assembly programmer it's all fairly straightforward at the theory level.