Live data from Hacker News

RyujinX – Open Source Nintendo Switch Emulator

ryujinx.org

61–70 of 215 posts

Re: RyujinX – Open Source Nintendo Switch Emulator

#61
post #43
post #13

i gotta ask, what kind of career path does one have to have to figure out how to make this sort of thing? just hacking nights and weekends for 2 years straight? because i dont know how anyone gets paid to do this and yet there is so much incredible depth to learn that is probably undocumented because of legal issues

Probably worked in a company that made Switch games or in Nintendo itself.

Unlikely. You do not want to be caught reimplementing stuff after having looked behind the curtain.

Emudev projects often outright kick people out if it's determined they've peeked.

Re: RyujinX – Open Source Nintendo Switch Emulator

#62

Earlier quoted context omitted.

> But if you own the game, does it matter how you got the ROM? It does from a legal standpoint. In many countries, making your own backup copies of your games for personal use is legal (although anti-circumvention laws like the DMCA blur the lines here) but obtaining a backup copy from someone else, regardless of whether or not it is a copy of a game you already own, is not; at best it is a legal gray area.

I'd be curious which one you are talking about? Most countries allow downloads. They usually specifically target torrent users because a typical torrent user is making the file available to others while downloading. It doesn't apply if you download with a protocol (like http/https/ftp) that doesn't make you share the file.

Lots of countries don't. In the Netherlands, it was allowed but later changed to prohibit 'downloading from clearly illegal sources'.

Re: RyujinX – Open Source Nintendo Switch Emulator

#65
post #13

i gotta ask, what kind of career path does one have to have to figure out how to make this sort of thing? just hacking nights and weekends for 2 years straight? because i dont know how anyone gets paid to do this and yet there is so much incredible depth to learn that is probably undocumented because of legal issues

You start spending all your time programming in middle school. By the time you enter college you know everything needed to write simple emulators, and then you meet other students that motivate you to up your game and complexify your projects, like working on a Nintendo Switch emulator.

It doesn't require being a genius or a fast learner, it just requires the good fortune of having programming be your passion.

If you want to catch up to these guys when you only start to learn programming in college, it's doable but it requires you to be a fast learner and also be somewhat passionated in programming.

Re: RyujinX – Open Source Nintendo Switch Emulator

#66

I wouldn't have guessed C# would be a good fit for something like this, but neat to see!

I believe Ryujinx actually translates the ARM code to .NET IL, which is then JIT compiled to machine code by .NET. As far as I know it’s a pretty innovative approach to emulation! And on Apple Silicon, it just runs the Switch’s Arm64v8 instructions natively using a hypervisor! [1] [1] https://blog.ryujinx.org/the-impossible-port-macos/

This isn't true anymore. It was their first approach, but since then they have switched to their own JIT recompiler. You can read their rationale here: https://github.com/Ryujinx/Ryujinx/pull/693

For the MacOS port, they also added an ARM-to-ARM JIT in case hypervisor runs into issues.

Re: RyujinX – Open Source Nintendo Switch Emulator

#67
Early emulators had to emulate the super funky hardware that early consoles had.

Now a days consoles are pretty similar to consumer computers (I though the switch was basically a Nvidia Jetson)

Is the emulation now more like Wine - about providing the necessary APIs and then running on a VM, or is there actual hardware emulation ?

Re: RyujinX – Open Source Nintendo Switch Emulator

#68

Earlier quoted context omitted.

Yes, just hacking nights and weekends. I've done my fair share of console reverse engineering, developing software for console devices (mostly GBA and NDS development, but a fair bit of SMS and Genesis reverse engineering), etc, and it's seriously some of the most fun I've had as a developer. But it takes an enormous amount of tenacity to push through the inevitable challenges.

how do you guys find the energy to hack nights and weekends? I do enjoy hobby programming but it takes me at least one week of vacation to detox from the work grind so I end up doing it only when I have extended vacation

Honestly I agree with this.

When I was more junior, or not doing programming as a full time job, I was more motivated to work on personal projects. Now I am more senior and programming/managing people full time, I can't get motivated to work on code-related projects in my downtime. It sucks :/

Re: RyujinX – Open Source Nintendo Switch Emulator

#69
post #2

Having tried both, I prefer Yuzu for playing Tears of the Kingdom: https://yuzu-emu.org/ Both are great, though, and the rapid speed of development on both projects means that whatever impressions I formed earlier this year are likely already out of date!

Yuzu also has an android build although I believe it runs only on snapdragon devices. https://yuzu-emu.org/entry/yuzu-android/ On desktop at least it has an early access programme via patreon (but available here https://pineappleea.github.io/ ) Skyline runs on Android but I've never managed to get it to work on any device. It's no longer in development https://skyline-emu.one/

Yes, for Yuzu you need a Snapdragon SoC otherwise the games crash instantly. If you have a Mali GPU you have to wait until they add support for it. Skyline supports Mali but performance is reduced. Btw Skyline ceased development, some of the devs forked it and will continue development on Strato (https://strato-emu.com). If you guys use Android handhelds I recommend using Beacon Game Launcher (https://play.google.com/store/apps/details?id=com.radikal.ga...)

Re: RyujinX – Open Source Nintendo Switch Emulator

#70
post #67

Early emulators had to emulate the super funky hardware that early consoles had. Now a days consoles are pretty similar to consumer computers (I though the switch was basically a Nvidia Jetson) Is the emulation now more like Wine - about providing the necessary APIs and then running on a VM, or is there actual hardware emulation ?

It's more high-level than it used to be but GPU is the main problem. The graphics APIs that games use usually expose various hardware specifics so games could be fine-tuned to get most out of that specific hardware. It takes a lot of work to translate these hardware-specific API calls into OpenGL/Direct3D/Vulkan/Metal.
Post reply on HN