There was some magical feeling back then that I think is hard to capture now. The manuals were really good for teaching you - I learned sine and cosine from the diagrams in the manual years before we covered them in maths. The memory layout and system variables were documented, as were all the Z80 opcodes. The first time I used LDIR to transfer data to screen from off screen memory was magical.
You really could master the whole machine and I feel that the limitations actually helped. I would spend summers writing large assembly language programs. Before I had an assembler (HiSoft DevPac) I would hand assemble programs by writing them out on paper and then figuring out the opcodes and calculate the jump relative offsets.
You too?
I didn't fully understand them, and thought they had more to do with circles than triangles, but yeah that circle drawing code in the Spectrum manual was my first exposure to sin and cos.
Sin/Cos were just the gateway drug. To do interesting stuff on the computer, I ended up learning matrix algebra (for rotating things on screen) and even simple calculus (filling out areas) years before they were mentioned at school. When school math caught up, my math grades shot thru the roof - while remaining a below-avg student on everything except math and science.
I used to literally bring the spectrum programming manual with me to all our vacations - using it to hand "assemble" assembly programs into machine code (I had never heard of an assembler - and I won't have had any way to get my hands on one even if I had known about them) so that I could type them in when we got back home.
My dad took the day off work to take me to the PC show at Earls Court in I think 1988. I spent my hard earned paper round money on the assembler and it massively improved my productivity.
I figured out how to do multiplies and divides on the Z80 while doing my paper round. In retrospect it was just long division but it wasn’t obvious to me at the time!
There were lots of other little math tricks that having a slow processor taught you. If you tried to draw circles by calculating sine and cosine it was too slow. Instead you rotated each point by a fixed angle and then used reflections to use that to plot eight points at a time.
All this stuff is still super useful. I drop down to look at the disassembly of x64 code all the time. Large code bases don’t scare me. You have source code! I had to disassemble games and ROMs to figure out how they worked - printing out fragments and then annotating them. The disassembler took 5KB of space so you’d have to load it in at different addresses to get at all the code.
But that is exactly right!
When you booted a ZX-80, 81, Spectrum, a VIC-20, a PET, or an Apple II+, you went straight into a BASIC interpreter (or REPL, for the initiated). You could enter a program, or issue commands at will. We rarely think about this, but the first UI you see in those machines is a programming language.
And we did program a lot with those machines.
With a CP/M machine or a DOS PC (there were about 2 people in the world with PCs without floppies ;-) ), you boot into an OS. It's not a programming environment, but one designed for starting applications someone else wrote. While most had a BASIC interpreter you could run, it was a standalone program and not THE language of the machine. And experimenting COULD harm the computer - you could delete files from your DOS boot disk, as many of us discovered the hard way.
I think if you booted in this mode, BASIC had no access to the floppy drive at all so you couldn't save your work (or we kids didn't know how). Better to boot from a floppy, then after it finished booting, swap the floppy for another one to save the silly BASIC games we were writing.
Later on, we saw models with two floppy drives, so you could leave the floppy containing DOS and BASIC in drive A: and save your work onto the disk in drive B: Eventually, PCs began to come with hard drives and these naturally became drive C: So if you've ever wondered why Windows typically refers to the hard drive containing the OS as drive C: it's because drives A: and B: were the floppy drives.
That's true. The PCs had a BASIC in ROM and a cassette port. That was dropped starting with the XT, which gave the puzzling "NO ROM BASIC" message in 80-column text when the hard disk was not bootable.
I was just talking about my own experience, but since you ask (and I’m certain this will bore but you did ask):
I got into tech due to having access to that computer, at that time, in an environment that otherwise wouldn’t have been amenable to learning about it at all.
In my case - our family Spectrum was later replaced by a SNES and after that a PS1. After the 48k, I didn’t have access to a PC at home for another decade, and wouldn’t have seen the point of saving enough to get it if not for having the Spectrum.
If I had gotten an Atari to begin with I wouldn’t have had those experiences. I guess something else inspired you along the way - for me it was this.
Especially because the Atari was very unpopular in Europe. The C64 was king. That also made it more expensive which was why I got the 800XL.
But it also meant much less software around which is how I started programming.
I totally forgot how Europe was not really one thing but totally different countries back then. Not to mention the eastern countries.
I remember when the guys that kidnapped Heineken fled to Paris and they couldn't be extradited back because there was no extradition agreement yet between France and the Netherlands.... :X Such different times.
It depends on your definition of "Europe" ;-) The 8/16-bit Atari was (and still is, in some circles) extremely popular in Germany, Poland, and former Czechoslovakia.
But the C64 was 600 guilders at the time and the Atari was 'dumped' on the market at one point for 200 so it was an easy choice :)
as an enthusiastic eight year old, i was perhaps not as good at soldering as i would have liked. good thing i was lucky enough to have the st to start with.
All the best music software was on Atari I think due to the excellent timing and MIDI support: Cubase, Emagic Notator/Logic (now only by Apple)
Though I guess both of those started on C64 but then migrated to Atari
The mainstream 8-bit machine with the best graphics was probably the Amstrad CPC. Here's a comparison with the Spectrum for example : https://imgur.com/a/D7Ocd
When it comes to arcade-style gameplay though, the C64 was often ahead because of its hardware accelerated sprites (and a legendary sound chip that was ahead of its time)
Santa brought my house a Spectrum 48k Lo Profile when I was a kid with a cool KnightRider style keyboard.
Over the years I haven’t seen it talked about much if at all, so I always assumed it was a fairly niche model. After hearing about Sir Clive, I looked it up to find out how many sold and was surprised to learn that it never actually existed as a standalone device.
My dad must have bought the add-on kit, and an 81, and quietly upgraded it and just never told us kids. I’m gonna call him when I’m done typing this.
All I ever wanted to do on it was transcribe the programs from my magazines and try to learn how to make something of my own someday. I’m not sure what I’d be doing now if he had just brought home an Atari, but I almost certainly wouldn’t be in tech.
Cheers, Clive. I hope I see you down the road when the last of my cyan and red bars have run out.
For anyone interested:
https://www.flickr.com/photos/anachrocomputer/2671208818