Earlier quoted context omitted.
(not that you should take advice from random strangers on the internet, but) that sounds like classic ADHD hyperfocus to me. Giving a name to it might help in figuring out how to maximize its benefit.
I experience the same hyperfocus, but I don't have ADHD, I'm quite the opposite really. My background is design and when I was a child I could easily 'get lost' in various forms of art etc for hours. I've met plenty people over the years that are the same, so I'd argue it might be something more aligned with some creative and analytical thought process, and a drive etc to understand/solve the problem at hand. In term…
RyujinX – Open Source Nintendo Switch Emulator
121–130 of 215 posts
Re: RyujinX – Open Source Nintendo Switch Emulator
#122i 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…
Re: RyujinX – Open Source Nintendo Switch Emulator
#123i 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
Re: RyujinX – Open Source Nintendo Switch Emulator
#124Earlier quoted context omitted.
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.
It helps that many console devs don't bother with low-level optimisations, because they can get away with a bit worse performance. Just cap the framerate to 30 like most other console games do. It wasn't an option during the NES era. Every clock cycle counted back then.
Re: RyujinX – Open Source Nintendo Switch Emulator
#125i 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
> just hacking nights and weekends for 2 years straight? Yes. Believe it or not, the primary author of the ARM translation engine used in the other major Switch emulator is a medical doctor ("IRL white mage", as she sometimes puts it).
Could you share more info about this?
Re: RyujinX – Open Source Nintendo Switch Emulator
#126Re: RyujinX – Open Source Nintendo Switch Emulator
#127Earlier 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 guess in my case, I had to find a hobby that was not exactly like work, even if it was work-adjacent.
Re: RyujinX – Open Source Nintendo Switch Emulator
#128Earlier 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
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...
https://www.theregister.com/2023/08/31/a_star_star_domains/
"Maria Markstedter – a noted author, assembly language expert, and security researcher who's written extensively about Arm at the websites she operates – received a cease-and-desist demand from Arm's lawyers. Her offense? According to the letter she shared on Xitter, using the trademark "Arm" in the domain name arm-assembly.com that she used to promote a book she wrote about the ISA."
Re: RyujinX – Open Source Nintendo Switch Emulator
#129i 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
https://web.archive.org/web/20230518095046/https://boilingst...
archive.org link because boilingsteam.com isn't loading for me at the moment.
Re: RyujinX – Open Source Nintendo Switch Emulator
#130Earlier quoted context omitted.
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.
Having worked in industry for some multiple of decades, I can say with some confidence that if a small team were to successfully build and deploy their own JIT recompiler to solve an actual customer problem, they would be considered gods by management and given bonuses and promotions. Realistically the project would never get off the ground because their management would be pressuring them to hurry up and add some random new API within the next quarter. Most devs just looking at the existing code and are more or less doing a copy-and-paste with some minor tweaks for their new "feature." They're trying to slap together quick demos that are little more than, "And now this thing makes an RPC call to that thing." The level of performance I see from people who pull down well into 6 figures of income typically falls well below the level that I'm seeing in this Switch emulator project.
Usually for something like that to actually happen it takes a VP mobilizing an org of size 20+, with multiple layers of management taking a year or more to hire or steal talent from other orgs. Some companies are built differently (i.e., Apple) and can pull cross-org talent together for something like "get Intel binaries running pretty well on M1." But I find that tends to be the exception rather than the norm for larger tech companies.
Maybe I'm just working in the wrong places.