Many readers of this forum will remember the generation of computers that booted to BASIC and had a clock frequency of less than 4MHz.
You could write a monitor program in BASIC, allowing you to poke carefully hand crafted hex into RAM, and spend a whole Sunday afternoon wondering why your code wouldn't run.
Coincidentally, around about the same time, Sophie Wilson and Steve Furber were taking the first steps in simulating the ARM 1 instruction set - written in just 808 lines of BBC BASIC.
As an 18 year old, I bought an "end of line" ZX81 kit, immediately upgraded it to 2K RAM and spent my college days exploring the exciting world of programming with BASIC, Forth and assembly.
I then became a hardware engineer, and left the art of programming to those far more qualified than myself.
As a hobbyist, I tinkered with C in Arduino, and some 5 years ago purchased a Discovery F4 board which was my first introduction to the ARM. It took me a week of online searching and cutting and pasting code to blink my first LED, thereafter I made significantly faster progress - but it was still an uphill struggle. I went back to pcb design and handed the F4 to a work colleague who crafted it skillfully into the heart of a new instrument.
I've since watched the progress of the STM32 range of mcus, and created a few pcbs around them. A couple of years back, I heard about the new H7 range, with a 400MHz clock and available in a relatively easy to use LQFP package. A recent article about emulating the Gigatron computer on an STM32 rekindled my interest:
https://forum.gigatron.io/viewtopic.php?f=4&t=82So I bought a couple of H7 Nucleo dev-boards to tinker with. Priced around £20 each, they represented a similar investment to what I'd made in 1983 with my ZX81 kit - and despite 35+ years of inflation, they seemed like a worthwhile purchase.
The STM32H7xx is a beast of a processor. It will clock at 400MHz (slow by laptop and Raspberry Pi standards) but it represents probably the fastest cpu that a hobbyist could hope to hand-solder onto a pcb. Compared to my ZX81 - it has 2 or 3 orders of magnitude more processing resources:
Clock 100X
ROM 256X
RAM 1024X
But - there is a major fly in the ointment, it's probably one of the least friendly devices on the planet. The tool-chain to support it is the best part of a gigabyte. It is not yet supported by mBed, and only flakily supported by Arduino. I tried to compile a blink example, which fell over at the linking stage, and required 13KB of binary to flash an LED.
After two disappointing and mostly fruitless afternoons, the Nucleo H743 board is no closer to being tamed, nor flash its first LED.
Seeking solace, I turned to the anycpu forum, and read some interesting posts about the origins of the ARM. I also read about BigEd's foray into programming the Discovery F4 board to emulate a 6502 at 18MHz. So potentially with the 400MHz H7, there's a possibility of a 6502 emulated at about 43MHz or better.
To get over this hump, I will probably just have to download Atollic True Studio, - the official STM IDE, and consume several more Gbytes of my hard drive, just to get this thing to execute code.
I'm probably just having a mid-life "Chuck Moore" moment - There HAS to be a better way......