maidbloke

Random thoughts of a Maidenhead man

My Sinclair ZX81 computer


Posted in Computers on Sunday 13 March 2011

The Mighty ZX-81

Creative Commons License 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:

Variables

'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

PRINT EGGS

If you want to know the cost of half a dozen eggs, then type

PRINT EGGS/2

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

LET EGGS=61

This does not reserve any extra storage space, but replaces the old value of 58 with 61. Now you can type

PRINT EGGS

confident in the expectation of getting the most up-to-date price available.

"LET EGGS=58" - I've always remembered that, no idea why. (Thanks to this PDF scan of the ZX81 BASIC Programming Manual from World of Spectrum for the above quote).

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.

ZX81

Creative Commons License 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

Further reading

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!)


web developer | father of 2 | cyclist | badminton player | choir singer | twitterer | aviation geek | only child
maidbloke
© 2004-2024