Written by David Tebbutt, Personal Computer World 06/82 - scanned
SINCLAIR ZX SPECTRUM
Once again Sinclair offers value for money with a vengeance - colour, sound and graphics for £125!
Well, he's done it again, hasn't he?
Uncle Clive has gone and shown the world how to produce a decent colour personal computer at the sort of price only he can conceive. Two versions of the Spectrum are available - 16k and 48k at £125 and £175 respectively, including VAT. If you want to upgrade your 16k machine to 48k later on, it will cost you £60. At the moment, the machines are available only by mail order. The Spectrum (ZX Spectrum to be precise) offers colour, high resolutions graphics and sound and, at the price it has just got to be the best value for money around.
Like most computers at this level, the Spectrum plugs into the domestic television and uses a normal cassette recorder. The ZX printer can be attached and, with a little modification, ZX81 programs will run happily on the Spectrum. A £50 miniature disk drive (the ZX Microdrive), communications facilities and an RS232 interface will be announced later on.
The Spectrum measures just 233x144x30mm and weighs in at 520 grams excluding the separate power supply and cables. It looks extremely elegant and, unlike its predecessors, it has keys that actually press down.
You'll not be surprised to learn that there are hardly any components inside the machine: 14 chips, a UHF modulator, a piezo-electric 'speaker' and an assortment of capacitors, resistors, diodes, crystals and coil make up the complement. I swear that some of my crystal sets had more in them. All this is mounted on a single board and, looking underneath this production prototype, I notice that there's not a single patch. The only odd thing about it its that there's a big blob of green plasticine stuck around the coil. The coil on the review machine does whistle a bit but I understand that production machines come with suitably lacquered coils to eliminate this problem.
A hefty edge connector at the back brings out just about every signal you could wish to have. This is used for printers, communications and disk drive connections. Inside there are two spare sockets which accommodate each end of the 32k memory expansion board. This is a great improvement on the ZX81 memory expansion which tended to drop off the back of the machine at the least provocation. Talking of sockets (well I was, just now), every chip except the ULA is socketed. The reason the ULA isn't is because it gets darned hot - putting it on the PCB allows the heat to dissipate better.
The keyboard comprises a one-piece grey rubber moulding mounted over a pressure-sensitive membrane. The keys poke up through holes in a black metal plate and I must confess the feel is more that of a calculator than a typewriter. Most keytops have three symbols on them and, in addition, most of them have another two associated inscriptions printed on the metal surround. If you're anything like me you'll find yourself reading the whole keyboard each time you want to find a function. You do get used to it after a while: in my case it took a couple of days. I found that red symbols on grey keytops are quite difficult to read and, thinking my eyesight might be going, I showed the machine to a number of friends, all of whom had the same difficulty. I showed it to my 11-year old and he thought it was just fine, though.
A power supply is included in the price, so there's not a lot of point risking one of your own and blowing the Spectrum up. The two cassette leads terminate in 3.5mm jack plugs so be sure that they work with your recorder before you embark on any major programs. It took me four or five tries before I found the right volume setting on my tape recorder. Once this was found, though, program loading presented no problems.
I tried the Spectrum on three televisions and the results matched the quality of the sets used. The display comprises 24 lines of 32 characters with the bottom two lines reserved for messages and entries. The display can also be regarded as 176 x 256 resolution for graphics work. High resolution graphics work is best done in two colours as you will see in the Firmware section of this review. The screen, border and individual characters can each take on one of eight colours and, in addition to this, characters can be bright or flashing. Other screen attributes like inverse and overprinting relate to the whole screen. More on these later.
The single channel BEEP facility is about what you'd expect from a piezo-electric speaker. It does sound slightly better amplified from the cassette port but it's still pretty awful. A couple of octaves around middle C aren't bad, but the other eight are best used for sound effects. At the high end they warble and at the low end they grate. BEEP is a refreshingly honest description.
Really, there's not a lot more to say about the hardware. It is a very professional job; looks smart, works well and manages to squeeze 191 legends on to just 40 keys!
Here's a new section for PCW Benchtests. All the software on the review machine was in the ROM chip which also contained the character set. This time Sinclair has gone for a basic ASCII set (upper and lower case) with the addition of both built-in and user defined graphics characters. Outside of the range SPACE to QUOTES (32 to 126), many of the codes have special values relating to Spectrum keys and functions. For example, you'll find a copyright symbol key. (Now why didn't anyone else think of that?) You can define up to 21 characters of your own.
Two screen tables are maintained in memory, one for the displayed characters themselves and the other for the attributes which describe how they're to be displayed. These attributes can be tested from within a Basic program. The character colour is referred to as INK while the background colour is called PAPER. Isn't that sensible? Each character can have its own value for INK, PAPER, FLASHING, BRIGHTNESS, INVERSE and OVER. The last two should be explained: INVERSE simply means that the dots which form the character are printed in the PAPER colour while the PAPER is printed in the INK colour. OVER is special: it allows you to merge a new character with the one already at the screen position. The rules are that two INKs or two PAPERs print PAPER otherwise it prints INK. This means that you have a neat way of removing the last thing printed and restoring what was there before it.
By now you have probably realised why it is best to stick to two colours when doing graphics work. Since the colour of the INK and PAPER relates to a whole character position, then each time a new colour graphics point is set, all other set points with the boundary of that character are set to the new colour. This makes for a very curious effect to say the least.
Mathematical accuracy is to 9-1/2 decimal digits and a fairly full range of mathematical functions is accessible from the keyboard. While on the subject of keyboards, this one had a built-in software 'click', an upper-case lock key and automatically repeating keys. Like the ZX80 and ZX81 before it , the Spectrum makes great use of single stroke keyword entries, In fact, I think every standard function and command is obtainable in this way. You'll even find things like >= and <= occupying their own pieces of grey rubber.
The Spectrum comes with a very useful version of Basic. It will be quite familiar to anyone who is used to the Microsoft types of Basic and doddle to learn for those new to the language.
Rather than go through all the features and functions of the language, I have summarised them in a separate box. here, I'll just comment on the unusual and interesting aspects of this particular implementation. Unlike some Basics, it is a teeny bit strict about things like using LET before assigning a value to a variable name or putting GOTO after THEN. My view is that this is all jolly good discipline and it is more than compensated for by the fact that Spectrum pops in all those spaces which make programs so much easier to read. Of course, once you've found your way round the keyboard, the single stroke keyword entry is a joy. (I've got a feeling I said that in my last two ZX reviews).
SAVEing and LOADing cassette tapes gives plenty of scope on this machine. You can save a program normally, you can save it so that execution starts automatically when it is reloaded, you can save arrays, you can save particular chunks of memory and if you want to keep a pretty picture you've created then you can use the SCREEN$ option to save that too. All saved programs can be verified after saving. The screen save can't be verified because the display is changed during the verify program and it would not then match that held on tape. The LOAD command can, of course, handle any tape created by SAVE. The MERGE command allows you to merge a program on tape with one already in memory. Program lines which are duplicated are overwritten while all others are suitable interleaved.
The graphics facilities are great fun. You can draw straight lines, curves and circles on the 176x256 pixel (PICture ELement, or dot) window. Position 0,0 is at the bottom left-hand corner of the screen. You can define up to 21 graphics characters of your own which is a superb feature if you're into writing your own Space Invader or Pack-Man games. I had a lot of fun drawing and animating little people on the screen. The nice thing is that you can do all this sort of thing without leaving Basic. A BIN (binary) notation has been introduced which allows you to define numbers as series of 0s and 1s - just the ticket for designing funny characters. Each character comprises eight lines of eight points, so a succession of eight BIN numbers is all you need to define such a character. Another use for user-defined graphics is to squeeze some extra colours out of the machine. If you lay out the 64 pixels like a chess board and choose suitable INK and PAPER colours then you can get some interesting effects. Most of them will be awful but persevere - some will be good.
You won't be surprised to learn that line drawing and circle plotting are achieved using the DRAW and CIRCLE commands. A PLOT command allows you to plot a single points. POINT enables you to find out whether a particular pixel is set. You always DRAW from where Spectrum thinks you are on the screen. For example, a command DRAW 10,10,pi would draw a semi-circle ending up 10 places to the right and 10 above the current position. A fraction of pi would provide a different arc while zero, or no third argument (DRAW 10,10) would draw a straight line. The curve can be drawn on either side of the argument by using a positive or negative number.
The CIRCLE command uses three arguments: x-axis, y-axis and radius. Remember, the OVER command can be used to erase something already drawn. I used this feature in conjunction with DRAW, PLOT and CIRCLE to create cartoon effects. OVER is also useful for embedding text in a drawing. When set on, the text merges with the existing lines in the drawing. When set off it prints the full 8x8 character, completely replacing anything already displayed at that position. Incidentally, SCREEN$ can be used to return details of the contents of a character position. Used in conjunction with the PRINT AT command, this could be a good way of making your program find a suitable place to print a sort of 'label' on a drawing. The AT allows you to define the row and column at which printing should start.
A few instructions I particularly noticed as I went though the manual were READ, DATA, RESTORE and VAL$. READ and DATA are old friends although I can't remember them being on previous ZX machines. Using the DATA command you can provide lists of information at the beginning of a program. Each READ instruction takes the next word from this list RESTORE can be used to set the DATA pointer to any DATA statement. VAL$ baffles me as it strips the outside quotes from string expressions and returns the string value of the result. Perhaps some kind reader would care to suggest a worthwhile application for this feature.
Now let's have a look at our honestly named friend, BEEP. There's not a lot to tell, really, except that you can control both pitch and duration. Notes below middle C are represented by negative numbers, those above by positive. Twelve numbers make an octave. (If you look at a piano keyboard you'll find that there are seven white notes and five black notes per octave.) Middle C is zero. The duration is expressed in seconds or fractions of a second. As I mentioned earlier, the sound isn't brilliant but it has the saving grace of being fairly quiet (Computer Towns please note). You can pick this sound up from the cassette ports if you so wish I'd say these facilities are more likely to be used for sound effects than composing symphonies.
That's really all I have to say about the Basic. It is a very good implementation for a machine of this size. A PAINT instruction would have been nice to fill in graphics shapes, but I think it would look a bit weird in multicolour mode with the colours changing at each character boundary. A routine to do this should be simple enough. I think the screen resolution is quite adequate for most personal users of the machine. In fact you can churn out some quite stunning effects using DRAW, PLOT, CIRCLE and the user defined characters
Before moving on to documentation here's a list of the disk commands just to whet your appetite: CAT, CLOSE, DELETE, ERASE, FORMAT, MOVE, OPEN. CAT is probably short for Catalogue which lists the files on a disk. MOVE probably copies a file from one place to another. The others are self explanatory.
Two manuals come with the Spectrum: a thin but useful introduction for the complete novice and a thicker one which explains things in depth. A lot of effort has been put into this latter manual. It is professionally presented and easy to read. Unfortunately, I was given a photocopy of the final proofs and it contained no index and no table of contents. I read the whole manual a couple of times before starting the review and I found it a real problem to find things that I knew were there somewhere. I must admit that the style wasn't to my liking, it's a little verbose and the individual chapters seem to lack structure. I also found the inevitable errors which might cause a beginner problems: things like a minus sign being printed instead of equals, for example. The manual certainly seems to cover everything, so if a table of contents and a comprehensive index are added you'll probably find it adequate. It's certainly an improvement on many manuals on the market.
This is the first machine that I've reviewed since the Atari two summers ago that I would actually buy, in fact I will have probably ordered one by the time you read this. I would use it for fun, for fooling around with graphics and for programming in Z80 code. I would treat it as a hobby machine, a way of relaxing. My children have already become very interested in the graphics capability and I see this as a way of giving them a real understanding of mathematics. A Logo system on this at the right price would go down an absolute treat - if anyone out there thinks of doing it, I'd love to review it. Of course, there are those who want to learn to write programs. Once again, this is an excellent machine to cut your teeth on. I think that schools and homes have got to be the prime targets for the Spectrum at the moment.
Later on when the disk drives appear, this may change. At a predicted £50 for a 100k drive, a lot of people who will have written the Spectrum off as a hobby machine will have to think again. Add to that a £20 combined RS232 and communications facility, and you could be talking about some very interesting and fairly sophisticated networks. At that stage, it becomes a very real prospect for schools looking for a fairly grown-up system, but one which can involve as many pupils as possibly. At Sinclair's prices could we possibly be heading for the 'one on every desk' scenario painted by so many futurologists?
Until those disks arrive there is no great office potential for the Spectrum. Once they're on stream then it's probably just a question of appropriate software. Information management and Visicalc-type applications would seem to be most likely and, because of the price of the television, they will probably be used with portable black and white machines. No doubt the dedicated will tale their Spectrums (or is it Spectri?) home to plug into the colour TV. Most people will probably wait until Sinclair announces a flat screen colour television. The network idea could then be useful in offices for things like telephone directories, noticeboards and memos.
PRICES (inc VAT)
16k Spectrum £125
48k Spectrum £175
32k Memory £60
Microdrive disk £50 (estimated)
RS232 + Comms £20 (estimated)
ZX Printer £59.95
Well, for the benefit of those who only read the first and last paragraphs of these reviews here are my conclusions: Clive Sinclair has produced a very good 16k personal computer which offers colour, high resolution graphics and limited sound for just £125. That represents very good value for money provided that this is the sort of machine you want. It is ideal for people who want to learn about computing and have a lot of fun while they're doing it. Given the sort of graphics-based educational software, it can bring people very pleasurable ways of learning subjects such as mathematics and geography. Once the games programs start to appear, a lot of people will use it just for that, although it does seem a bit of a waste.
Later on, the provision of disk drives and communications facilities will make it an even more serious contender for the school markets and it will begin to creep into business. When the flat screen television appears then I suspect that the business interest will rise because the price will be far more appropriate. Bulletin boards, memos, telephone directories, spreadsheets calculation and information management seem to be the most likely applications.
The 'proper' keyboard is a distinct improvement on its predecessors, but it still doesn't achieve - or try to achieve - the quality of an IBM. All the old regular Sinclair features are included - the single keyword entry and the automatic syntax checking as you enter each command, for example.
My verdict? The best value for money you can find today!