Now I’ve gained an understanding of assembly programming, let’s look at how they tried to teach us computer science in the 1980s…
I’m a programmer and the computer itself has always been a black box that I was insulated against, writing my code in a higher level language like C. I didn’t need to know about registers, or care much about where my code was being put in RAM.
I’ve always had a deep fascination with how things work at a low level though, and that’s what we’re looking at in these videos.
I’m trying to present technical information, but in a straightforward way – just like a 1980s computer manual. Nothing is dumbed down, but instead explained clearly enough that most people should be able to follow it.
You can get so much more out of a machine if you start trying to write code on it. It stops being a passive device like a TV, and instead becomes something you are in control of.
Z80 vs 6502
In the 80s there were two main competing CPUs. The Z80 made by Zilog, used in the ZX Spectrum line of machines and the 6502 made by MOS Technology used in things like the Apple2 and C64.
The Computer Literacy Project
Back in the early 80s the BBC started something called The Computer Literacy Project; a series of TV programs and literature with the aim of teaching the British public all about these new-fangled computers that were predicted to slowly take over their lives.
To do this they needed a computer specifically for the purpose and after some fussing and debate the BBC Micro from Acorn was the end result. Documentaries have been created about this and are worth finding and watching.
As a kid who grew up in the 80s I had no idea this was going on, I just thought computers were cool and that they were a thing people just used, like cars or TVs.
The BBC Micro is solidly built from beige and black plastic with real keys. You can see the machine was clearly designed to withstand ten year olds hammering away on it in classrooms. And hammer away on them we did. Schools would often have at least one, possibly an entire room with maybe as many as twenty! Hey, it’s the 1980s remember, we were still getting used to colour TV. Having an “interactive TV” was pure science fiction.
As it was designed to be an educational machine for people to experiment with, it featured many things other micros of the time lacked.
BBC Micro Specifications
For the time the machine had a modest but capable set of specs. Due to internal design, the 2MHz CPU could quite easily keep pace with Z80 machines running at twice the speed.
The main fun though was found in the number of expansion ports on the BBC. You see your typical micro of the time had the usual sprinkling of video, I/O and controller ports. Something to get data in and out, a way to see what the machine was doing and some kind of extension of the CPU’s bus for extra hardware.
The BBC had these and more. Having just one I/O port wasn’t enough, they added three. One of those was designed so other CPUs could be connected to the machine, another operated very much like the GPIO pins on a raspberry pi.
And if that wasn’t enough, users were encouraged to open the thing up and swap out ROM chips to add extra functionality. In a time when floppy disks didn’t hold much data, and load times were slow, putting software on physical ROM chips was popular. The BBC took it to the next level though and sold commercial software in this way, requiring users to open the machine and install the chips themselves.
Back in the 80s you weren’t an “end user” with restricted privileges or a “technical user”. You just used the machine, and if it required programming, or opening up, well that’s what you just did. After telling you how to plug the machine in, the first thing the manual gets new users doing is experimenting with commands to see what happens.