On the flip side, the fact that those processors were enough to steer spacecraft make me feel like there’s also a decent amount of remarkable wtf in how much compute we have now and how little we get out of each instruction on average compared to what people were doing with these z80 equivalents.
When you don't have the overhead of an operating system with decades of backward compatibility cruft, a scheduler, a virtual memory controller, and a file system you can accomplish amazing things with simple processors. Bare metal is something I'd encourage every programmer to try.
I actually have a 8085 Primer Trainer that I built/used in the 90s for school. [1] Programmed with pushbuttons and 7 segment LEDs. No backup memory so if you shut it off it lost it's program and you had to start over.
Not a programmer by trade, I prefer hardware...had no idea until recently how valuable the training was. We learned BASIC and 8085 machine code as well as building logic circuits from discrete parts. Then I used basically no code myself for 15 years until I learned Arduino. Knowing the basics certainly helped me know what was going on. From there it was just syntax for languages.
[1] https://flic.kr/p/2mkG7gC
Yeah exactly, we now have so many layers of stuff. On top of vmem & OS, add high def displays, and today’s corporate firewall and malware scanning. I wouldn’t be surprised if just booting my Win 11 laptop, logging in, and launching Teams uses more compute than the entire Galileo mission used over its entire 8 year run. :P
Even without the layers & cruft though, the raw perf is astounding to those of us who remember 8 bit 1Mhz microprocessors. Today’s gamers are used to double-digit teraflops(!) of compute, just to render all the pixels for Minecraft or Fortnite.
I don’t know if there’s a better way these days, but for me Arduino has been an easy & super fun way to futz with a tiny bare metal microprocessor.
[dead]