Magazine: Electronics & Computing Monthly
Date: December 1982
"We have thought seriously about calling this machine NOT THE BBC COMPUTER", said Clive Sinclair when he announced the Spectrum. It was generally taken as an example of Clive Sinclair's dry wit at the time; but I think he meant it. GUY KEWNEY E&CM JULY '82
The Spectrum in context
The first thing which a prospective buyer would notice about the Sinclair (any Sinclair) if they took one home for a week, is that there is only one thing to learn. On all other computers, you have to learn the language, and if you are not already familiar with typewriters, you have to learn the keyboard. On this machine, the language is the keyboard.
In other words, instead of typing PRINT, you press the P key, and the machine types PRINT for you.
It sounds wonderful, until you realise that there are around 90 different words in the Basic language. There are 40 keys on the Sinclair keyboard, and they also have to carry the number 0 to 9, the letters A to Z, all the punctuation, calculation, and editing functions, plus colour codes. At that point, only the fact that you have spent all your money on the machine persuades you to stick at it, and learn the way round the keyboard.
But the advantages go deep, for all their apparent elusiveness. On a Sinclair, you are never suddenly stuck for a command, and have to page through the manual to find it and how to spell it (and how many brackets (not forgetting how many layers of bracket (assuming you only use one form of bracket))) because it's there in front of you. Nine times out of ten, if you do use the command incorrectly, the machine will show you exactly where you have gone wrong.
To illustrate this point: on the Acorn BBC micro, it is possible to put spaces into Basic statements where spaces should not be. PRINT TAB 20 should move you 20 spaces along the line on the screen. But it must not have a space between TAB and 20, or the machine thinks TAB is the label of some specified number (a variable) and hunts through the list of variables before stopping the program with a terse message to say that there is no such variable.
It can take a very long time before you realise that a space is causing your problem. And this is exactly the sort of frustrating thing which the Sinclair design prevents.
The drawback of the system can be seen from a glance at the keys with numbers 2, 3, 4, 5, 6, and 7 on them. Each key has six different possible meanings, and you can search for the one you need for minutes at a time before you find it.
Fortunately for Sinclair, he doesn't have to argue about the fact that users find this acceptable. His ZX81 sales have proved it.
Features of the new Spectrum can be placed into 7 categories:-
The first, unfortunately, is one we have to take on trust. Unfortunately, because it is undoubtedly the most important - a direct access storage device for £50 - the thing called the Microdrive.
The second is an enhanced Basic language. It still omits the one thing which I think essential in such a machine, and that is easy access to machine code, but for all its faults, Basic is useable, and widely known. "Better", here, risks becoming the enemy of "good" (as Adam Osborne always tells me when I suggest possible improvements to something) and obviously Basic is good enough to use. Especially with new features.
The third is colour and programmable graphics.
Fourth, a respectable keyboard. Not a good keyboard, and with its faults, but at least you can use it without wondering if your finger has slipped off the key.
Fifth, sound generation. There is a silly design fault here, and it is one which I can't forgive - the sound is inaudibly soft, and it takes a tedious performance of plugging and unplugging to amplify it.
Sixth, an operating system. We never had one on the ZX81, and sadly we missed it too. We get screen handling, tape handling, terminals handling, and network handling where previously we only had program save and load.
Seventh, we have auto-repeat on keys. Perhaps I should have put this first - it's something I'd pay extra £25 for, on the ZX81, without asking any more questions beyond "who do I make the cheque out to?"
And of course, there are a bag-full of other little things. Words Can have small (lower-case) letters as well as capitals. You can time things. You can write your own Basic commands. You don't have to plug the add-on memory pack on. There is a network. And a lot more.
Here are some of the new keywords, first the functions, then the statements.
- Defines the next number as a binary number, so that 100 is 4, etc. You would normally use it for defining your own graphics character, with the "1's going where you wanted INK dots. The manual includes a nice version of this for turning the graphics version of P, N, R, K. Q, and P into chess pieces.
- A number from 1 to 7 which sets the colour of the border round the edge of the screen.
- Some people say they can see the difference between the dark and bright versions of the eight available colours. I must have the wrong television set.
- Disk command.
- Specify the centre point and the radius of a circle, and watch it draw itself there.
- When used with a number, moves RAMTOP to that address, giving room for machine code routines or whatever, above.
- Disk command.
- Same as old CONT, but politer.
- A new (conventional) way of storing data in a program rather than the old REM statement fiddle which users got accustomed to on the ZX81.
- DEF FN
- Probably the most useful single addition. It allows the user to define a new Basic instruction and say how it works, and what variables it needs when it is used. The BBC micro has this. The BBC micro also has a PROCedure function, just as useful, which shares some of the work of the Sinclair FN.
- INPUT AT
- On most civilised systems, stops the cursor at the point on the screen specified. So when the user of the program starts typing, the answer appears at the point where the question was asked. Not on this one. INPUT always produces a prompt on the bottom line, whether INPUT AT or not.
- Like the colours, INVERSE is a bit tricky to manage - it switches the INK and PAPER status round. The problem is to work out how much of the screen will be affected. Sometimes, it is just the character blob: other times, it's the whole graphics area.
- See tape handling, above.
- More tape handling, above.
- Disk command.
- Disk command.
- Disk command.
- One of the new graphics commands, it draws a line or an arc. Unlike BBC micro graphics, however, you have to take great care that you don't draw over points which aren't on the screen, or the program will stop with an error message. And because this machine has no ON ERROR GOTO function, your error trapping routine has to be absolutely foolproof. Thoughtless.
- Disk command.
- Exactly what it sounds like - one character at a time.
- Of course the ZX81 had INPUT! But this time, the difference is startling, because we have INPUT AT and INPUT "Hello, can I have your number"; number, and several complicated and powerful permutations of that.
- Gives direct control over the wires at the back of the computer. Anybody designing a machine cental system will be glad of this.
- Should somebody one day put the language APL on the Spectrum, he will be glad of this, because APL uses overprinting - one character on top of another - and this will allow it. Put a double quote on top of an O and you get an Umlaut, says the manual. I got a wonky rabbit, but I'm sure my German friends wouldn't mind.
- See INK.
- Before buying a Spectrum, it would be a good idea to see somebody do some Plotting. As long as you stick to monochrome plotting - that is, without changing paper and ink colours throughout the operation, Sinclair's claim is quite true. Sinclair says that his machine is superior to the BBC micro, because his hi-resolution graphics use less memory. So, he says, when you use high resolution graphics, on a BBC Model A, you only have 3 Kbytes of memory left for your program.
It's a noticeable improvement on ZX81 Basic. That was pretty good. I don't think the speed of Basic matters too much to most people, which is just as well for the Spectrum. The only thing slower is a Casio pocket Basic calculator, or the ZX81 in SLOW mode. In FAST mode, the ZX81 beats it comfortably. And any model BBC micro is between four and ten times faster, judged on the standard benchmarks originally published in Kilobaud. I wouldn't mention this, but Clive did say his machine was "more powerful" than the BBC.
The BBC micro has a built-in assembler. It runs slowly, but it runs. This machine has no assembler.
Better than average despite some excruciating puns by Steven Vickers, which escaped the censor. Some were quite nice - comparing strings, for example, Vickers asks "Which of these is the lesser? EVIL or evil?"
The new keyboard is made of rubber, and it squishes. Whatever colour the keys eventually are, I think you will need good light and good eyesight to read the characters in red on the keys themselves. They are little, fiddly characters like the equals sign, the commas, colons, multiplier, minus, <> and so on. The layout is logical enough. Start a command like PRINT, and you will find the quote makes on the same key as the PRINT command. The often needed semicolon is right next to it. Similarly LET and = are on the same key, THEN and GOTO are on the G key, FOR and TO on the F key with STEP next to them on the D key.
To say that the keyboard is "typewriter pitch" is to mislead. Yes, it is, but the space bar is missing, the ENTER key is where you expect a semicolon, comma and full stop are SHIFT characters on N and M, and anyway, you have to press the keys in the middle to be sure that they register. It's a great improvement on the ZX81, but that's all I can really say for it.
- Width 233mm Depth 144mm Height 30mm
- Z80A microprocessor running at 3.5MHz. 16K-byte ROM
containing BASIC interpreter and operating system.
16K-byte RAM (plus optional 32K-byte RAM on internal expansion board) or 48K-byte RAM.
- 40-moving-key keyboard with full upper and lower case with capitals lock feature. All BASIC words obtained by single keys, plus 16 graphics characters, 22 colour control codes, and 21 user-definable graphics characters. All keys have auto repeat
- Memory-mapped display of 256 pixels X 192 pixels; plus one attributes byte per character square, defining one of eight foreground colours, one of eight background colours, normal or extra brightness and flashing or steady. Screen border colour also settable to one of eight colours. Will drive a PAL UHF colour TV set, or black and white set (which will give a scale of grey), on channel 36.
- Internal loudspeaker can be operated over more than 10 octaves (actually 130 semitones) via basic BEEP command. Jack sockets at the rear of computer allow connections to external amplifier/speaker.
- Point, line, circle and arc drawing commands in high-resolution graphics. 16 pre-defined graphics characters plus 21 user-definable graphics characters. Also functions to yield character at a given position, attribute at a given position (colours, brightness and flash) and whether a given pixel is set. Text may be written on the screen on 24 lines of 32 characters. Text and graphics may be freely mixed.