If you are interested in how a computer works at the hardware grass-roots level, past all the hardware and software abstractions intended to make them easier to use, you can sometimes find yourself frustrated in your investigations. Desktop and laptop computers are black boxes both physically and figuratively, and microcontrollers have retreated into their packages behind all the built-in peripherals that make them into systems-on-chips.
Maybe you’d like to return to a time when this was not the case. In the 8-bit era your computer had very accessible components, a microprocessor, RAM, ROM, and I/O chips all hanging from an exposed bus. If you wanted to find out how one of these computers worked, you could do so readily. If this is something you hanker for then happily there are still machines that will allow you to pursue these experiments in the form of retro computers for hobbyists. Most of the popular architectures from the 1970s and 1980s have been packaged up and made into kits, returning home computing to its 1970s roots. Breathe easy; you won’t have to deal with the toggle-switch programming unless you are really hard-core.
When you have built your retro computer the chances are you’ll turn it on and be faced with a BASIC interpreter prompt. This was the standard interface for home computers of the 8-bit era, one from which very few products deviated. If you were a teenager plugging your family’s first ever computer into the living-room TV then your first port of call after getting bored with the cassette of free educational games that came with it would have been to open the manual and immerse yourself in programming.
Every school had similar machines (at least, they did where this is being written), and a percentage of kids would have run with it and become BASIC wizards before moving seamlessly into machine code. If you have a software colleague in their 40s that’s probably where they started. Pity the youth of the 1990s for whom a home computer was more likely to be a Playstation, and school computing meant Microsoft Word.
The trouble is, in the several decades since, 8-bit BASIC skills have waned a little. Most people under 40 will have rarely if ever encountered it, and the generation who were there on the living room carpet with their Commodore 64s (or whatever) would probably not care to admit that this is the sum total of their remembered BASIC knowledge.
10 PRINT "Hello World"
20 GOTO 10
If you have built a retro-computer then clearly this is a listing whose appeal will quickly wane, so where can you brush up your 8-bit BASIC skills several decades after the demise of 8-bit home computers?
A good place to start would be a period manual for one of the popular machines of the day. Particularly if it’s a machine you once owned. These are all abandonware products, many of which were produced by now-defunct manufacturers, so you’ll have to use your favorite search engine. In this you are unlikely to be disappointed, for the global community of 8-bit enthusiasts have preserved the documentation that came with almost all machines of the day on multiple sites. It’s easy to be diverted into this particular world as you search.
These manuals usually have a step-by-step BASIC programming course, as well as an in-depth reference. They will often also have information on the architecture of the machine in question, and its memory layout. It’s worth reminding that each machine would have had its own BASIC dialect so there may be minor quirks peculiar to each one. But on the whole, outside some of the graphics and sound commands, they are fairly insignificant. It is after all as the name suggests, basic.
One thing worth commenting on is the iconography of these manuals, it’s striking with nearly four decades of hindsight that these were exciting and forward-looking products. Computers had not become boring yet, so their covers are full of gems of early-80s futuristic artwork. Our colleague [Joe Kim] is carrying on a rich tradition.
When 8-bit machines were current, it’s important to remember that for the vast majority of computer users there was no Internet. The WWW was but a gleam in [Tim Berners-Lee’s] eye, and vanishingly small numbers of parents would have bought their kids a modem, let alone allowed them to dial a BBS. Thus the chief source of technical information still came from printed books, and the publishing industry rose enthusiastically to the challenge with a raft of titles teaching every possible facet of the new technology, including plenty of BASIC manuals.
Just as with the computer manuals mentioned above, these can often be found online by those prepared to search for them. Better still in the case of the iconic computer books produced by the British children’s publisher Usborne, some of them can even be legitimately downloaded from the publisher’s website (scroll down past the current books for links). Nowadays their computing titles teach kids Scratch on their Raspberry Pi boards, however for the 1980s generation these were the 8-bit equivalent of holy texts. In no other era could a title like “Machine Code For Beginners” have been a children’s book.
There is a further period source of BASIC programming information from the 8-bit era. Computer magazines didn’t come with a cover disc — or cassette — until later in the decade, so they had a distinctly low-tech approach to software distribution. They printed listings in the magazines, and enthusiasts would laboriously type them line by line into their machines. The print quality of listings reproduced in print from photocopies of dot-matrix printouts was frequently awful, so the chances are once you’d typed in the listing it wouldn’t run. It was an annoying experience, but one which taught software debugging at an early age.
Thanks to the Internet Archive we have a comprehensive set of period computer magazines freely available online, so finding listings is simply a case of selecting a title and browsing early 1980s issues. They often have a mix of code, from articles explaining algorithms to reader-contributed listings. It’s easy yet again to get sidetracked into the world of period peripherals and first-look reviews of now-retro machines. The cover art is still futuristic in the same way as the programming manuals, it would be a few more years before pictures of grey-box PCs became the norm.
If you’ve managed to tear yourself away from a wallow in 8-bit nostalgia to get this far then we hope you’ve been inspired to try a little BASIC on your retro computer board. It’s a language that gets a bad press because it’s not exactly the most accomplished way to program a computer and it certainly isn’t the fastest, but it does have the advantage of being very accessible and quick to deliver tangible results. When your computer is as much a toy as the home computers of the 1980s were, tangible results are the feature that is most important.
[Header image: Sinclair ZX Spectrum keys with BASIC keywords: Bill Bertram CC-BY-SA 2.5, via Wikimedia Commons.]