Live data from Hacker News

RyujinX – Open Source Nintendo Switch Emulator

ryujinx.org

71–80 of 215 posts

Re: RyujinX – Open Source Nintendo Switch Emulator

#71
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

I started programming mainly because I wanted to make a bot on an online game. I learned how to use Wireshark, how network protocols worked (the game used a binary protocol I learned to reverse engineer, and I wanted my bot to integrate with IRC which uses a text protocol so I read its RFC), I learned how to decompile and read obfuscated code (the game was an SWF, and I could get my hand on bots made by other people), and even some design patterns to make my code slightly maintainable.

I did it to have fun with my bot on the game, but in the end I barely used the bot, I had way more fun making it and learning how to improve it.

I suspect the people making these emulators spend way more time writing the emulators than using them, that's where the actual fun is.

Re: RyujinX – Open Source Nintendo Switch Emulator

#72
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

Most of the people that work on emulators do it for fun, not to get paid. Some do, but almost all have other jobs to support them, or are in places in their life where they are supported by other people: children and students, for example.

There’s a lot of work that goes into a modern emulator, for what it’s worth. Obviously there are people that reverse various parts of the console but it’s really an amalgamation of all sorts of talents. Someone’s going to be a graphics expert. Someone is going to be a compiler and codegen genius. Someone needs to work on reimplementing APIs and improving game compatibility. Someone needs to do UI work. Someone needs to port the emulator to platforms people want to run it on. Someone needs to do design, and PR, and copywriting, and translation. For smaller emulator projects many of these roles may be performed by the same person. For a large project it’s really a team of people working together, often organized in an ad-hoc fashion. It’s really a gem of open source development, where people can bring their own skills to the table and make something better than the sum of their parts, all the while improving themselves.

Re: RyujinX – Open Source Nintendo Switch Emulator

#73

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

I don’t code all that much at work. Personal projects and open source work are my opportunity to make things I want.

Re: RyujinX – Open Source Nintendo Switch Emulator

#74

Earlier quoted context omitted.

where do you start learning reverse engineering things? I'm also curious, as a software eng focusing on web stuff and api, it's getting quite boring. These things excites me but i never got to start

So, to be clear, I spent my time reverse engineering software rather than the hardware itself. That said, my observation is that a lot of hardware reverse engineering is software reverse engineering since the software helps you understand how the hardware works (the Asahi guys literally built a hypervisor so they could watch macOS interact with hardware). And software reverse engineering is just grunt work. I'd start…

GameBoy Advance is also nice in that whenever you get really stuck most of the answers are available online ;)

Re: RyujinX – Open Source Nintendo Switch Emulator

#75

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

> 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

Namely passion, curiosity and probably not having much more other hobbies beside programming or hacking stuff around.

I recently went to try to improve a Linux kernel input device driver for a USB headphone: adding unit tests (whose execution is nearly instant). I have learned a ton of things about Linux development, C (I don't know C at all), input devices driver system (hid), the USB protocol and my device specifications.

I have never managed to boot it live to test with my actual device. That is despite spending probably despite spending probably 40 hours including a 10pm - 4am session on a Saturday night. But I had lot of fun doing it and I think that was the point.

I guess you can't beat passion and curiosity.

Re: RyujinX – Open Source Nintendo Switch Emulator

#76

Earlier quoted context omitted.

This must depend on your jurisdiction. But if you own the game, does it matter how you got the ROM?

> 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.

Does it matter from a legal standpoint?

You aren't reproducing, distributing, performing, publicly displaying, or making a derivative work. *The uploader is the one reproducing the work, see Disney v. VidAngel

And under fair use 3 of the four points would be in your favor, but that isn't determinative

Re: RyujinX – Open Source Nintendo Switch Emulator

#77

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.

where do you start learning reverse engineering things? I'm also curious, as a software eng focusing on web stuff and api, it's getting quite boring. These things excites me but i never got to start

If you're specifically interested in reverse engineering for ARM-based systems (32 and 64 bit), this book is a pretty good introduction:

"Blue Fox: Arm Assembly Internals and Reverse Engineering" by Maria Markstedter

https://www.wiley.com/en-us/Blue+Fox%3A+Arm+Assembly+Interna...

Re: RyujinX – Open Source Nintendo Switch Emulator

#78

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.

where do you start learning reverse engineering things? I'm also curious, as a software eng focusing on web stuff and api, it's getting quite boring. These things excites me but i never got to start

I've made a lot (50+) of videos on Reverse Engineering, with a heavy focus on ARM assembly as well as mobile platforms.

youtube.com/@lauriewired

Self-promotion I know, but I hope someone finds it useful

Re: RyujinX – Open Source Nintendo Switch Emulator

#79
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

[deleted]

Re: RyujinX – Open Source Nintendo Switch Emulator

#80
post #62

Earlier quoted context omitted.

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'.

So you can pretend it is not clear and you don't know it is illegal then?

I promise I thought that website was legit and was offering free licences for Super Mario![1]

[1] Apparently it works with software, you can purchase licence keys of Microsoft products (OS, Office) at roughly 5% of the original price through "reputable vendors".

Post reply on HN