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.
wiz21c|2 years ago
But the joy of working on a machine that's part of your life, without the need to please end users (which is cool too but sometimes induce pressure), well, that's basically coding like when I was a kid. Except that now I have a TON more knowledge to work with !
And, while working on disk emulation I had the pleasure ot discover those many copy protections that "prevented" me to get many games :-)
BaseballPhysics|2 years ago
And the other thing I love about it is the communities are typically super open and collaborative. I remember back when I first got into GBA development, there was a ton of docs, tools, libraries, and other things that folks had put together and then shared with one another. It's a lot of very passionate people sharing some very niche interests, which can be incredibly fun (of course it can also be a drama filled nightmare but such is life with passionate people).
DanielHB|2 years ago
hashar|2 years ago
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.
dfxm12|2 years ago
I guess in my case, I had to find a hobby that was not exactly like work, even if it was work-adjacent.
0 - https://mkombat.plus/
minimaul|2 years ago
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 :/
Drakim|2 years ago
saagarjha|2 years ago
Nursie|2 years ago
Personal projects are often embedded coding of some sort, though I spent some time poking at the PS3 firmware when that was first cracked too.
Spending months reversing and emulating a console… that takes dedication I don’t have though. I guess these guys are really itchy? Or it’s in a really hard to reach spot?
jebarker|2 years ago
Barrin92|2 years ago
I think keeping a schedule that way has prevented me from every souring on programming in my free time.
robertwt7|2 years ago
These things excites me but i never got to start
lauriewired|2 years ago
youtube.com/@lauriewired
Self-promotion I know, but I hope someone finds it useful
hadlock|2 years ago
https://www.youtube.com/watch?v=HyzD8pNlpwI
johndoe0815|2 years ago
"Blue Fox: Arm Assembly Internals and Reverse Engineering" by Maria Markstedter
https://www.wiley.com/en-us/Blue+Fox%3A+Arm+Assembly+Interna...
BaseballPhysics|2 years ago
And software reverse engineering is just grunt work. I'd start with a very well known existing hardware platform with a very simple CPU design--the GBA is actually a really nice platform as the ARM has a very sane ISA and it's all memory mapped I/O--and get a devkit and start experimenting by writing software to run in an emulator so you can get a feel for how the hardware works.