For me LLMs have been an incredible relief when it comes to software planning—quickly navigating the paralyzing quantity of choices when it comes to infrastructure, deployment, architecture and so on. Of course, this only highlights how crushingly complex it all is now, and I get a sinking feeling that instead of people solving technical complexity where it needs solving, these tools will be an abstraction layer over ever-rolling balls of mud that no one bothers to clean up anymore.
tasty_freeze|3 months ago
Anyway, the point I'm getting to was it was glorious to understand what every bit of every register and every I/O register did. There were NO interposing layers of software that you didn't write yourself or didn't understand completely. I even wrote a disassembler for the BASIC ROM and spend many hours studying it so I could take advantage of useful subroutines. People even published books that had that all mapped out for you (something like "Secrets of the TRS-80 ROM Decoded").
Recently I have been helping a couple teenagers in my neighborhood learn Python a couple hours a week. After installing Python and going through the foundational syntax, you bet I had them write many of those same games. Even though it was ASCII monsters chasing their character on the screen, they loved it.
It was similar to this, except it was real-time with a larger playfield:
https://www.reddit.com/r/retrogaming/comments/1g6sd5q/way_ba...
miningape|3 months ago
I've never really worked on such a low level, the closest I've gotten before is bytecode - which while satisfying - just isn't as satisfying as having to imagine the binary moving around the CPU and registers (and busses too).
I'm even finding myself looking at computers in a totally different way, it's a similar feeling to learning a declarative, or functional language (coming from a procedural language) - except with this amazing hardware component too.
Hats off to you though, I'm not sure I'd have had the patience to code under those conditions!