The new Sinclair has arrived at last - a book-sized micro-computer with colour and sound and an extended version of ZX Basic. It came through its test well ahead of the competition but, as Tim Hartnell found, even Sinclair Research cannot work miracles.
LAUNCHING THE SPECTRUM, Clive Sinclair confessed that there had been considerable disagreement within his organisation over the name of the new computer. "At one point", he said, "we thought of calling it `Not the BBC Micro'". In March last year, Sinclair unleashed an angry tirade against the BBC for giving Acorn the right to make the computer for the TV series, saying that he had told the BBC he could produce a computer - within their specifications - for just over £100. The ZX Spectrum is the fulfilment of that promise.
The Spectrum has eight colours, a built-in sound generator and loudspeaker, and the closest Sinclair Research has come to a "real" keyboard. Its specifications exceed those of the Model A BBC machine, and come close to the Model B in many areas. At just £125 for the 16K model, the Spectrum is the same price as a ZX-81 with 16K pack when first launched. With 48K the Spectrum costs £175.
The Spectrum uses a "superset" of ZX-81 Basic, and any ZX-81 program can be typed in with the minimum of changes; ZX-81 tapes cannot be loaded into the Spectrum. The new computer loads and saves much more quickly than does the ZX-81, at 1,500 baud as against around 250, and the upward compatibility of listings should mean a lot to organisations like Muse which are building up a library of educational ZX software. Publishers of ZX literature or ZX software breathed a sigh of relief on hearing that ZX-81 listings could be entered directly.
The Spectrum works in upper- and lower-case letters, and does so like a typewriter: capital letters appear only when you use the shift key. The computer does not differentiate between upper and lower case when naming variables - so A$ is the same as a$ - and will ignore spaces in variable names.
The range of characters is standard, and symbols such as ! and # are available on a ZX machine for the first time. There is a range of three different curly brackets and a cute little © copyright sign.
The © sign, and the words "Sinclair Research Ltd" appear on the screen in black letters on a white ground when you first turn it on. Pressing New LList or Copy produces some remarkable flashing-border displays, and in Save and Load you are treated to a lollypop-striped screen in reds, blues and yellows.
The error codes are fascinating, and in English rather than the odd little numbers and letters of the ZX-80 and ZX-81. If all goes well in a Load, a Save, a program execution or whatever, the computer prints "OK" at the bottom of the screen. If you manage to make it swallow an incorrect line or parameter - which is difficult to do, because all lines are checked for syntax before being accepted into the main body of the program - the computer prints the delightful line
Nonsense in BASIC.Whoever wrote the ROM had a sense of humour.
There is much in Spectrum Basic to tempt you to enhance your programs. It includes Beep, a single-channel "music" command with both duration and pitch under user control, Ink to determine the colour of the Print output and Paper for the background colour. The Border command allows the area round the main display to be independently coloured and changed, Flash sets all Printed material flashing into its inverse colour, and Bright intensifies the colour of selected pixels.
All commands can be put into a Print, or Input statement, such as
PRINT PAPER 4;INK2:AT 10,10;"hi there"for red letters on a little green strip just underneath the letters, or can be entered within the program to alter everything that comes afterwards. A line reading Ink 1 followed by Paper 6 will make all printed matter blue, and the whole screen yellow; Border 2 puts a bright red frame around the screen. The colours are easy to use, and the keys are clearly marked, with the colours they represent.
The screen is memory-mapped and the
computer runs as fast as the ZX-81 does in
Fast mode, but with a rock-steady permanent
display. Nevertheless, the ZX Basic is
considerably slower than BBC Basic. High-resolution graphics of 256 by 192 can be
achieved, and the Plot command works on a
grid this size, but the control is not available to
the same resolution. Colour works on a grid of 32 by 22, the same grid as for letters. Read, Data and Restore are available, as well as Def FN and FN, and enhance the capabilities of the computer considerably.
It is obvious that Sinclair has listened to those who have criticised some shortcomings of the ZX-80 and ZX-81. The Load and Save procedures on the earlier machines, in particular, left a great deal to be desired. The Spectrum Loads in blocks, sets the record level automatically and suppresses noise. Once you think you have a program successfully on tape - and before you New it from the computer - you can play it back into your computer using the Verify command, to make sure it is there safely. The very first program I attempted to save on the Spectrum Saved, Verified and Loaded successfully at first attempt.
The new Load and Save, along with the fact that the memory can be relied on not to drop out unexpectedly, make working with the ZX Spectrum a pleasure. The awful fear that your carefully keyed-in program is about to vanish into thin air has been banished. The 16K or 48K memory is permanently fixed inside the Spectrum. You cannot use the ZX-81's 16K pack, though the new computer does operate the ZX printer.
The ZX Spectrum is small and flat, rather
wider than the ZX-81 but not as deep. The
keys are rubbery, and appear to press on to a standard ZX keyboard. You can use them without looking at the keyboard, once you know your way around it, and a touch-typist will soon feel at home. The key action is positive - although you need to squeeze the keys rather than press them - and there is no need to keep checking the screen to see that each keystroke has been entered.
All keys have auto repeat, which is a boon for running out parts of lines or for moving the cursor along the long line you wish to edit. The Spectrum makes a clicking noise while auto repeat is working. If you start the auto repeat with a key which requires Shift such as Delete you can take one finger off the Shift and just leave it on the Delete key once the auto repeat is underway. The Edit facility is the simplest to use of any computer on the market, it is better than that on the BBC Micro, except that you cannot join together parts of separate program lines.
Sinclair invented the "one-touch key" system for the ZX-80, which ensured that the computer knew that the first key pressed after a line number, or after the word Then, would produce a keyword, such as Let, Print, Poke or Goto. This meant that programming was fast and positive. The ZX-81 demanded a sequence of key presses - such as Shift, then Function, then a key - to get the results you wanted. Sinclair is obviously wedded to the one-touch entry system, but it is really not suited to the Spectrum. The sequence of key presses required for Ink and Atn, for example, requires the same number of key presses as would be needed to type the word in directly.
There are now two Shift keys, a white one and a red one. The white one works like the standard shift key on a typewriter, turning lower-case letters into capitals and, in the Graphics mode, producing the graphic rather than the number from the keys 1 to 8. The red Shift key, on the bottom right-hand corner of the keyboard, is used for words such as At, Or, And, Then and Step, along with the full stop, the colon for multi-statement lines, and the $ sign. The = sign is also accessed by using this shift, then pressing L, but as these are next to each other, you will soon find yourself pressing both keys at once with your right hand to enter the = sign.
You must press both shift keys at once, followed by another key press, to enter words such as Int, Rnd, Chr$ and Codes. Other commands, such as Ink, Paper and Beep, require both shift keys to be pressed at once, then the red one to be held down while the relevant key is pressed.
Unfortunately, the command New is as easy to access as Print and Goto - no Shift keys or juggling needed. This is sure to result in programs being wiped accidentally, especially as New lies between Copy and Plot. By contrast, the harmless Stop command, on the same key, needs two key presses. Designing the New like this suggests that not enough thought has been given to human behaviour.
Other aspects of the keyboard show more care in their design. The Then and Goto are on the same key, as these are often accessed one after the other; the same goes for For and To. There is a single apostrophe - a wise lesson learned from Atom and BBC Basic - to move the Print statement down a line, so
PRINT ' ' "HI"will skip two lines before printing the word "HI".
The List command takes some getting used to. Pressing List will give you a page of program, then the message
scroll?will appear in the bottom left-hand corner. Pressing any key except "n" allows the listing scroll to continue, page by page. The current-line cursor, an inverse > symbol on the ZX-81, has been replaced by the same symbol displayed in normal mode. It is not particularly easy to see, and you can spend a lot of time running your eyes up and down the column after the line numbers to find it. Using List n to find a line you have requested is almost comically difficult.
The Beep command is simple to use, and the volume from the internal speaker is adequate. The sound output can be tapped from both the Mic and Ear sockets at the back, to drive an earpiece or to feed into an amplifier. The word Beep is followed by two parameters. The first is the duration of the tone in seconds - fractions of a second, such as .05 or 17/36, are also accepted - followed by a comma, followed by the frequency. Middle-C is a 0, so
Beep 1,0will play middle-C for one second. Higher numbers produce higher notes, with negative numbers for notes below middle C. There is a range of around 130 semitones, and fractions of a tone are accepted.
The graphics are a development from those of the ZX-81. All the standard ZX symbols are there, made from quarters of a character square, with black and grey, along with their inverses. The new Draw command draws a remarkably fine line from the co-ordinates of the Plot command and can therefore be used as a substitute for Move. The Draw command can also be used to draw parts of circles by adding a third parameter, the angle to be turned through. The Circle command - naturally enough, it draws a circle - needs three parameters: the x and y co-ordinates of the centre, and the radius. The circles drawn appear very close to true circles, especially if a fairly large radius is used.
You can define up to 21 of your own characters, using a remarkable function called Bin - for binary - which allows character shapes to be Poked into position. The new character can be assigned to any key. Chr$8, is a back-space which does not erase the character, and you either overprint, using the command Over, or underline. Far more sophisticated than on the ZX-81, the Spectrum graphics will prove a boon for improving screen and printer output, although they will also be more difficult to master.
It is good that Sinclair has decided not to kill the ZX-81 as it is still the ideal first computer. Those who know how to program a ZX-81 will find they can gain reasonable facility with the Spectrum within a couple of hours. After countless hours staring at the black, greys and whites of the dumb ZX-81, the brilliant colours and the Beeps from the Spectrum will ensure that even your dullest programs at least look interesting.