Did not know English, could not read anything, but still spent hundreds of hours first playing, and then tinkering with it.
There was no OS to mess up, and it booted instantly to a Sinclair BASIC prompt.
Ironically, the BASIC + Assembly combo continues to this day, even if done in different tongues.
So I switched to HiSoft Pascal and line and circle became instantaneous but still I didn't dare program Tetris in graphics mode. So I used text/character mode, compiled from Pascal and was fast enough to play. (In regular BASIC, I couldn't make it work).
Then I installed HiSoft BASIC compiler and my regular BASIC was now fast enough for TETRIS. On the other hand if you think that in 48Kb of RAM they had to fit the video RAM about 8 Kb, the BASIC compiler, my BASIC code, the compiled code and use some RAM for stack and variables ... crazy. Fun times...
I had a Spectrum, and then when the QL got relatively cheap, I got one too. Loved 68K assembly.
Given that the 68K instructions were always a multiple of 2 bytes, in its 48K ROM you could have a maximum of 24576 instructions. Now remove the space needed for the bitmap font and some lookup tables, and in the remaining space you had:
- A multitasking operating system (no memory protection, of course), with networking (not TCP/IP of course) and media (microdrive) management, and generic channels kind of in the Unix file spirit
- A (non-re-entrant, single instance) “SuperBASIC” with procedures and functions with LOCal variables, a switch construct (SELect ON), FOR loops with epilogues that would run if not broken out of the loop, and other goodies, which SuperBASIC was also the system shell
- A collection of system calls and a system library, from windowing functions to software floating point (the 40-bit format) operations
Not having a lot of money for software but with the help of some book from the library (titled something like Assembly Programming on the Sinclair QL, don't remember exactly) I even wrote a disassembler in SuperBASIC to decode and grok the ROM. My mind was blown with the density of the ROM code.
I had to mention this when I learned of Daniel J. Bernstein advocating, almost 20 years after QDOS, non-blocking nonblock_read()/nonblock_write() additions to the POSIX model, so that your I/O model wasn't something that you had to coördinate and share with every process that might have the same open file descriptor.
* https://jdebp.uk/FGA/dont-set-shared-file-descriptors-to-non...
There were all sorts of little innovations in the operating systems world back then. Helios was another interesting one, with capabilities.
Other computers of the time (C64, Apple II, BBC / Acorn) had distinct text vs graphics modes, although some had a user-defined font which kind of makes the distinction less firm.
But the spectrum only had a graphics mode.
I recently ported my teaching raytracer to the Spectrum [0], not even using assembler, but the horribly slow native BASIC. It was a ton of fun! It's super slow especially when run on the original hardware, but even then I can't remember something like this from back in the day (and I'd bet something like Microhobby would have listed this as some kind of curiosity); makes me think the Spectrum's limitations weren't even fully explored. Raytracing people were probably working on beefier machines and more serious projects.
https://bizzley.42web.io/assets/it_s_behind_you___the_making...
But that's very different from working in a properly commented and 'macro-assisted' Z80 or 6502 assembly code base.
Well, we didn't have Visual Studio Code, and we couldn't summon Claude to help us through the tricky bits. We used whatever tools were available and a LOT of trial and error in order to master the machine. Because computers were amazing, and having one on your desk you could play with was even more amazing.
I didn't have a Spectrum, because I'm a bloody Yank. I had a VIC-20 and later a TI-99/4A. In the States we had Apple, IBM, Tandy, TI, and Commodore, with Apple pretty much the dominant force in home computing until PCs got cheap enough. Everybody else was pretty niche, so even when affordable computers came out -- like the Timex Sinclair and Timex Sinclair 2068 (which was based on, but not broadly compatible with the Spectrum), there wasn't a huge library of software nor a large programmer/hobbyist community like there was with the Spectrum in the UK. The "bedroom coder" phenomenon was still a thing, but I think the wide availability and low price of the Spectrum enabled more Brits from a variety of backgrounds and socioeconomic strata to become "bedroom coders" than Americans, for whom home computers were pretty much expensive toys.
I had one and it came with a spectrum 48K emulator cartridge that was pretty good but had a bug in the graphics emulation.
The keyboard was much better.
A good discussion about the setup for Manic Miner by the author is here:
https://www.youtube.com/watch?v=LymCezUg7HI