I learned to code in the late 70s on computers using BASIC, then got into Z80 assembly language. Sure, the games were wrote back then were nothing like today's 10GB, $100M+ multi-year projects, but they were still extremely exciting because expectations were much lower back then.
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:
I'm currently coding a Gameboy (which kinda has a Z80) emulator and it's so much fun! (I'm in my mid-20s for context)
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!
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...