Posted in Computers on Sunday 13 March 2011
photo credit: WEBmikey
The Sinclair ZX81 is 30 years old this month. Happy birthday!
The ZX81 is a small simple computer in a moulded black box with a touch sensitive keypad. It was launched in 1981, hence its name. It came with 1kB RAM (today's computers come with around 4GB RAM - 4 million times as much memory) and leads so you could connect it up to your TV and a cassette player for loading/saving programs.
It also came with a BASIC programming language instruction book.
I was given one of these by my parents - probably in 1981, I can't recall for sure. It's probably still up in mum and dad's loft.
My ZX81 gave me the bug (lame computer-terminology pun intended) to learn about computer programming. As a web developer now (2011), I owe this 20cm black plastic box a lot.
I remember sitting in front of it, learning about variables. The BASIC Programming book explained that you could allocate the price of a dozen eggs to a variable:
'My pocket calculator,' you will be saying, 'can store a number away & remember it later. Can your ZX81 do that?'
Yes. In fact it can store away literally hundreds, using the LET statement. Suppose that eggs cost 58p a dozen, & you want to remember this. Type
LET EGGS=58 (& NEWLINE, of course)
Now first, the computer has reserved a place inside itself where you can store a number, & second, it has given this place the name 'EGGS' so you can refer to it later. This combination of storage space & name is called a variable. Third, it has stored the number 58 in the space: we say that it has assigned the value 58 to the variable [whose name is] EGGS. EGGS is a numeric variable, because its value is a number.
Do you want to know how much eggs cost? Type
If you want to know the cost of half a dozen eggs, then type
In fact, should you want to know the square of the cosine of the price of one egg, you can type
PRINT COS (EGGS/12)**2
'How very easy,' you must think, & you will be wondering what to do next, when in rushes your housekeeper saying 'Glory be, eggs have just gone up to 61p a dozen.' Well. There is no time to lose. Type
This does not reserve any extra storage space, but replaces the old value of 58 with 61. Now you can type
confident in the expectation of getting the most up-to-date price available.
All text that you typed in to the ZX81 was in UPPER CASE. Not because you were ANNOYED with the plastic keyboard, but because it only had an UPPER CASE character set. A lower case set would have been too expensive resource-wise.
Another of the ZX81's quirks was that at the beginning of each line a keyboard press produced a whole keyword - LET or PRINT for example.
photo credit: Villenero
Despite its little idiosyncrasies, the ZX81 was a fantastic learning tool for me and thousands of other spotty youngsters. I remember the elation when I worked out how to fill the screen with my name:
10 PRINT "PAUL ";
20 GOTO 10
(Notice the ; at the end of line 10 - that means the next print statement would not start a new line but continue along the same line and notice the space after PAUL).
I also remember my uncle setting me the task of writing a program to print out all the times tables from 1-12. That took some working out, but I got there in the end.
Thanks, ZX81 and happy birthday :) xxx
See also this BBC News article: ZX81: Small black box of computing desire. And The Register has written an interesting article on the computer with some lovely photos.
I also recommend trying to catch the BBC "comic drama" (their description) Micro Men. A delightful look at Clive Sinclair's work in the 1980s, his obsession with his C5 car (ulitmately a commercial failure) and his fight with ex-colleague Chris Curry who went on to form Acorn and produce the mighty BBC Micro computer (which, incidently, I also owe a lot to!)