Robin Bradbeer looks at Sinclair Research's new ZX Spectrum and finds it 'incredible' value at £125
THE SPECTRUM is a colour and sound computer for the incredibly low price of £125. At that price it undercuts the BBC Microcomputer Model A, its direct competitor, by around £175. In designing the ZX-82 it is clear that the rejection of Sinclair's offer to build the BBC Micro was foremost in the company's mind. The specification is very similar and will certainly affect sales of the Acorn-based machine. It is as if Clive Sinclair has turned to the powers that be in the Government and BBC and said "I told you so".
The Spectrum is a small computer, measuring 233 x 144 x 30mm, or slightly wider but not so deep as the ZX-81. The basic model has 16KB of RAM and 16KB of ROM. That compares to most other common computers for ROM but it is more RAM than most models in the less than £300 price range.
RAM indicates the amount of memory available to the user for working data and programs and ROM is an indication of the power of the computer to run that program and manipulate the data.
Another 32KB of memory is available at around £50 and that plugs into some sockets already built into the main board. The 48KB RAM model, therefore, is potentially as powerful as the very common Apple II computer costing around three times the price.
The main difference between the ZX-82 and the ZX-81 is immediately obvious. The keyboard has 40 keys, the same as the ZX-81. Some of the keys, notably the enter key, are slightly larger than the others. Whereas the ZX-81 had a touch-sensitive keyboard, the ZX-82 has a keyboard with keys which are about half the size of typewriter keys. They move downwards firmly and feel like the keys on desk-top calculators.
The other noticeable feature is the number of functions on the keyboard. More than 250 functions are available and some of them require three shifting operations. The colour coding of the keys and their functions makes life very easy, however, and with the single-key access to all functions, which is similar to the ZX-81, you soon become familiar with the conventions and could easily prefer them to the more normal way of doing things.
For example, to obtain the square brackets symbol involves going into extended mode, accessed by pressing the symbols shift and capitals shift keys at the same time. Then you have to press either shift and the Y key. Although that may seem rather long-winded it is still shorter than typing VERIFY, which is achieved in a similar way to the square brackets but is on the 'R' key as a single function.
Colour coding is effective in this case and the designers are to be complimented on the ergonomic strength, as well as for the design of the whole package, which feels very comfortable to hold and looks very presentable on a desk.
The Spectrum plugs into a normal UHF TV tuned to channel 36 and all characters are shown lower-case unless specified by using the capitals shift. There is a capitals lock, which is very useful. The Basic is based on that of the ZX-81 and some of the features lacking on the original model have been included in the latest one.
|'The 48Kb RAM is potentially as powerful as the Apple II costing around three times the price'|
The screen can display 24 lines of 32 characters, although the individual pixels which make up each character - 64 in all - can be accessed and changed at will. That means that 256 x 192 pixels is available for graphics.
The screen format is very similar to the Commodore Vic, with a border area and the active screen within the border. At switch-on, the system automatically enters a mode where border and screen area, or paper as it is called, are white and the letters, or ink colour, black. That overcomes the strange effect noticeable on some colour computers where the border area is different from the working area, which makes the screen look smaller than it is.
The colours of the border, paper and ink can be changed easily with commands of the same name. Eight colours are available, although judicious use of the graphics characters available make intermediate colours, like orange, possible. It is also possible to have 21 user-defined graphics characters, which will allow Greek or other alphabets to be used.
Unlike some computers built in the States, the Spectrum also has a £ sign on the keyboard; everything can be printed on the ZX printer, which can be used for the ZX-82 as well as the ZX-81, although the ZX-81 expansion memory pack cannot be used with the Spectrum.
Many commonly-used routines in the graphics are available automatically. For example, a circle can be drawn with the 'circle' command by specifying the centre and diameter. Lines can be drawn with the 'draw' command by specifying start and end locations.
The colour control commands are very simple to use. Brightness can be at two levels, and the character can be steady or flashing. The attributes of the character are stored as a single byte and can be accessed and changed from the Basic.
In addition to the ink and paper commands, the Basic has brightness and flashing commands. Other useful graphics functions include an over command which allows characters to be super-imposed at any point. The six colour control commands can be used over the whole active screen area or locally within each individual 8 x 8 pixel group which makes up each character.
Like the ZX-81 the plot command accesses one pixel at a time and the attributes of each block can be used to control the characteristics of that pixel. Colour control codes, which can be accessed directly from the keyboard, can be inserted into text or program listings and, when displayed, will override the globally set colours until another control code is encountered.
All control commands can also be used within strings and it is entertaining to define a string which has different-coloured characters and background colours in it. A simple print command using that string causes it to be printed to screen just as stored.
Another powerful use of colour in listing is that certain sections of the listing can be picked out in different colours -both the colour of the character and its background. It is also possible to have flashing REM statements. Any colour used in the listing is not used when running the program.
The eight colours are given numbers from 0 to 7 and they are shown clearly above the keyboard numbers. The order gives a graded grey scale on a monochrome TV display. They are black, blue, red, magenta, green, cyan, yellow and white. All eight colours may be on the screen at the same time, with some areas flashing, some steady, some normal brightness and some extra bright.
|'The ZX Spectrum is a very fine computer and will give Commodore, Acorn/BBC and Atari a run for their money'|
Editing is the same as for the ZX-81 but the addition of autorepeat on every key makes editing easy, especially when moving the cursor around a long line.
Some additions to the Basic include the means to enter a binary number directly. That is the method of generating the user-defined characters, of which there can be 21 directly-attributable to some of the keys on the keyboard. The 8 x 8 matrix is made up by defining the character as a series of eight bytes, each byte being one line of the character. A 1 indicates a pixel and a 0 the absence of one. Other new functions include READ, DATA and RESTORE, something which was sorely missing on the ZX-81. FN and DEF FN are also there.
Crowds trying to see the ZX Spectrum at the Earls Court Computer Fair
One of the best new additions to the specification is the ability to type in lower-case. That certainly makes reading and writing programs easier, especially as the keywords are still capitals. So strings, variables and arrays can be specified in a way which is simpler to use.
Unlike the ZX-81, the Spectrum uses true ASCII codes for its alphanumeric characters and control codes. That means that ZX-81 cassettes cannot be read into the Spectrum. Other than the absence of SLOW, FAST and SCROLL, however, the Basic is identical. There is no need for FAST or SLOW, as the memory-mapped screen overcomes the need for screen writing during interlacing, as on the ZX-81. The ZX-82 has the speed of the ZX-81 in fast mode with the screen characteristics of the ZX-81 in the slow mode.
One of the problems with both the ZX-81 and its predecessor, the ZX-80, was the rather idiosyncratic working of the cassette storage. The Spectrum incorporates a new cassette interface which is incompatible with the ZX-81. A tone leader is recorded before the information to overcome the automatic record level fluctuations on some recorders.
An electronic circuit, called a Schmitt trigger, is used to remove noise on playback. All saved information is started with a header as to its type, title, length and address information. A number of types of information can be stored on cassette - programs, blocks of memory and arrays.
The MERGE function allows programs to be merged and the VERIFY function allows stored data to be checked before being erased from the computer memory, so programs and arrays may be merged from tape to combine them with the existing contents of memory; where two-line numbers or variable names coincide, the old one is erased.
Programs can also be saved with a line number to allow execution to start anywhere in the program on successful loading. By storing the screen memory, it is possible to road a screen image without having to run any program required to generate that image.
The ZX-82 has an expansion port similar to the ZX-81, with the addition of the colour video information. Thus a colour monitor could be attached to give a high-quality display. Full data, address and control buses for the Z-80 processor are available and the ZX printer can be plugged-in directly.
The LPRINT, LLIST and COPY commands work with Spectrum Basic, with the additional bonus that any user-defined graphics will also be printed. It is also possible to run a number of other peripherals at which Sinclair has only hinted. There will be an RS232C interface, so that standard printers can be attached. There will also be a network with an interface which fits on the expansion port, as will the ZX-Microdrive, to be launched later this year. It is possible to access all I/O ports by using the IN and OUT commands in the Basic.
The Spectrum has a very basic sound capability. The internal speaker emits a 'raspberry' like sound, set normally at a frequency of middle C. The pitch and duration of the note can be defined in the Basic with the BEEP command. The centre frequency being middle C, any other note can be defined by the number of semitones above or below that frequency. It is also possible to have fractional intervals so that unusual scales can be generated.
In summary, the ZX Spectrum is a very fine computer and at the price will give Commodore, Acorn/BBC and Atari a run for their money.