REVIEWS COURTESY OF ZXSR

ZX Spectrum 48K
Sinclair Research Ltd
1982
Your Computer Issue 6, Jun 1982   page(s) 20,21,22

The new Sinclair has arrived at last - a book-sized microcomputer 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.

SYMBOLS AND KEYWORDS

The keys on production models are to be light-blue, with the alphanumeric symbols and keywords marked in white. Function symbols such as ?, At, Then and + are in red.

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 alter 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,0

will 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.

LOWER-CASE LETTERS

The lower-case letters, formed on an eight-by-eight character grid, are fairly good, although the descenders only go down one pixel.

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.

CONCLUSIONS

With powerful colour and sound commands, the ZX Spectrum is a remarkable computer, exceeding the BBC Model A in specification.

Its use of a Basic very similar to that of the ZX-81 provides a ready-made source for software, though ZX-81 tapes cannot be loaded into the Spectrum.

Programs can be saved and loaded without the problems which plague the ZX-81. Built-in memory means that sudden program loss should no longer be a problem, but ill-considered keyboard design means that programs could still be lost by inadvertently keying New.

The moving-key keyboard is an improvement on the touch-sensitive board.

The one-touch entry system, retained from the ZX-81, is not suitable for the Spectrum and leads to complicated multi-shift operations when keying some functions. It should have been discarded.

Despite minor faults, the Spectrum is way ahead of its competitors. There is certain to be a rush for orders.


REVIEW BY: Tim Hartnell

Transcript by Chris Bourne

Sinclair User Issue Annual 1983   page(s) 53,54,55

SPECTRUM CLOSE-UP

The biggest micro news item of the year was the introduction by Sinclair Research of a colour and sound microcomputer, the Spectrum. While retaining many of the features of the earlier ZX-81, improvements were made in a number of areas. Two of our leading writers assessed its capabilities.

COLOURFUL ADDITION TO SINCLAIR RANGE

Robin Bradbeer impressed by value.

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 new machine it is clear that the rejection of the Sinclair 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.

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 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 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 makes 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; 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.

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 over-ride 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.

Editing is the same as for the ZX-81 but the addition of auto-repeat on every key makes editing easy, especially when the cursor is moved 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.

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 Spectrum has the speed of the ZX-81 in fast mode with the screen characteristics of the ZX-81 in slow mode.

The Spectrum 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. 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.

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.


REVIEW BY: Robin Bradbeer

Transcript by Chris Bourne

Sinclair User Issue Annual 1983   page(s) 55,56

SPECTRUM CLOSE-UP

The biggest micro news item of the year was the introduction by Sinclair Research of a colour and sound microcomputer, the Spectrum. While retaining many of the features of the earlier ZX-81, improvements were made in a number of areas. Two of our leading writers assessed its capabilities.

TAKING THE LID OFF

The Spectrum is very similar in shape and style to the ZX-81 and there are many similarities. Sinclair retained the original keyboard to save space but has provided a rubber sheet with moulded keys on it which fits over the top. The sheet is suspended over the flat keys - which on the Spectrum are bigger than the ZX-81 - so that when a key is pressed it bends to give some feel to the keyboard.

That, and the fact that the keys repeat if held down for longer than one second, even when using SHIFT, makes the keyboard much easier to use. The single keyword system has been retained and that saves memory, as all the Basic words can be stored as one byte. It also means that two SHIFT keys are required to reach all the functions; one is called CAPS SHIFT and the other SYMBOL SHIFT. They are at opposite ends of the keyboard and as they are often used one after another, it tends to slow the input speed as you are constantly swapping hands.

For instance, RUBOUT and the cursor movements use CAPS SHIFT and + -* are SYMBOL SHIFT. It would have been a better idea to put both on the left-hand side, as they often need to be used together and could be pressed with one hand while the other searches for the appropriate key.

The keyboard is an input-output mapped device, as on the ZX-81, and along with the ZX printer, which is the same for the ZX-81 and the Spectrum network R3232 interface, discs, loudspeaker, tape interface and border colours require only one address line to work. That means that you must make all of the lower five address lines a binary 1 to use your own devices.

The input-output map access has been improved greatly, however, with the addition to the Basic commands of IN and OUT. They give an instruction IN A[c) or OUT A(c) where registers BC give an address from 0 to 65535.

The memory-mapped addressing of the RAM/ROM occupies 0-16K and the RAM 16K-32K on the basic 16K model. There is provision for an extra 32K board to be plugged into IC sockets at the back of the printed circuit board. The 48K version will have the board fitted but to add it later will cost £60, which seems expensive.

There would be no difficulty in adding extra ports to the memory map, as on the ZX-81, above 32K - on the basic version - but for two things. There is no line, so that the extra RAM can be turned-off if required on the edge connector and the edge connector address lines have been moved to the outer edges so that it is incompatible with the ZX-81. The Spectrum has a 28-way double-sided edge connector of the same style as the ZX-81, with the keyway on pin 5. That makes any input-output device compatible with the ZX-81 but any memory-mapped devices would have to be rearranged. The edge connector also has a number of new signals on it which are not explained in the manual, plus a video output and colour outputs for VDUs.

All the voltages used on the Spectrum are also brought out, namely +5V, -5V, +12V and -12V. They are obtained from the same buzzing transformer as is used in the 16K RAM pack and most of that RAM pack seems to have been transplanted onto the Spectrum.

The obvious additions to the circuitry are the PAL colour mixer under the metal can, which contains the video modulator, and two crystal-controlled oscillators are used, one for the ULA, which controls the screen among other things, and the other for the colour mixer. The 14mHz clock for the ULA is also used to drive the Z-80A microprocessor after it has been reduced to 3.5mHz. That is 0.25mHz faster than the ZX-81. The Z-80A has also been freed of the job of putting-out the screen - by the ULA - and so no longer requires the commands FAST or SLOW, as it works at top speed all the time except when BEEP or PAUSE is used.

PAUSE and BEEP both cause the Z-80A to stop for a time determined by the programmer and so it will do nothing else while these commands are being done. BEEP commands should be kept short in a program for that reason; 0.01 seconds is a good speed to PRINT AT and BEEP at the same time.

As for programming the Spectrum, it can be considered as an extension of the ZX-81 Basic. The PAPER, INK, BRIGHT and FLASH commands for each character square are stored in a memory map above the dots for each character. They are all stored in one byte per character and can be read by the Basic word ATTR and altered either by Basic commands or POKEs.

The dot screen is a different matter, however, and cannot be altered so easily, as the dots are stored in peculiar order, so you have to use the graphics commands - which can define all the dots on the 22 line by 32 character screen available to the user - or the SCREEN command.

The screen takes up 6,912 bytes of the 16K memory and the system variables take up another 738 bytes. The rest of the memory is not free for the user to use as 11 other areas float above location 23733 and can expand and contract as required by the Spectrum.

The program and variables are sandwiched in the middle of those, so REM statements cannot be used for machine code. There is an area, however, which can be used for machine code programming above RAMTOP which is ignored by the Basic and its length can be defined by the user.

The user-definable characters area is stored above that so they can be retained from program to program.

There are many tape arrangements which can be made with the Spectrum. The program, strings or machine code can all be SAVEd, LOADed and VERIFYd separately. The variables and screen can also be stored on tape but cannot be VERIFYd. As each is SAVEd, a message to start the tape recorder will appear and wait for you to press a key.

SAVEing or LOADing causes the border to flash red and green or red and blue, depending at which part of the tape you are looking. All the tape programs LOADed correctly.


REVIEW BY: Stephen Adams

Transcript by Chris Bourne

All information in this page is provided by ZXSR instead of ZXDB