Right from the start, 
                    I had better explain that the ZX81 costs £50 in kit 
                    form and £70 ready-built and, as such, represents absolutely 
                    amazing value for money. Whatever shortcomings are highlighted 
                    in this Benchtest must be weighed against this fact.
                  Like the ZX80, its 
                    predecessor, the ZX81 will be available by mail-order and, 
                    by the time you read this, deliveries should be coming through. 
                    Clive Sinclair tells me that he plans to up production to 
                    10,000 units per month starting in April and that he'll be 
                    producing 10,000 ZX80s to satisfy overseas demand, so, providing 
                    that 10,000 or fewer of you order the new machine per month, 
                    delivery should be swift. 
                  Sinclair has been a bit cheeky in his advertisements. 
                    Under a column entitled 'New, improved features', he proceeds 
                    to mention three things that were included in the ZX80 when 
                    it was launched over a year ago! 
                  For the benefit of those unfamiliar with 
                    the ZX80, it was the first ready-built computer to break the 
                    psychological £100 price barrier. It was well-made but 
                    looked slightly cheap in its lightweight plastic case and 
                    with its shiny keyplate. The 'keys' were printed on a plastic 
                    membrane with a metallised back; when each 'key' was pressed, 
                    the metallic back came in contact with PCB tracks, shorting 
                    them to complete the appropriate circuit. The system plugged 
                    into the domestic television to give an extremely clear display, 
                    and program storage could be made onto the home cassette recorder. 
                    The ZX80 came with 1K of user memory (RAM) and a 4k operating 
                    system/Basic language chip. 
                  The main limitations of the ZX80 were the 
                    fact that it could not handle floating point numbers or cassette 
                    files. Also, when first launched, memory expansion came a 
                    bit expensive but this changed when the 16k plug-in RAM became 
                    available. The ZX80 certainly represented a great step forward 
                    and offered excellent value for money for people wanting to 
                    learn about computing. 
                  So what in the ZX81 is new, compared with 
                    the ZX80? First, an extra 4k of ROM is provided which allows 
                    30-odd additional functions to be incorporated. This will 
                    also drive the printer (expected in the summer). I couldn't 
                    test this, but I have seen it working. It is an electrosensitive 
                    printer requiring aluminised paper, the surface of which is 
                    burnt off by an electrical discharge to reveal the black paper 
                    underneath. Don't study the photos too closely, because they 
                    show a model, not the real thing. The ZX81 costs an amazing 
                    £30 less than the ZX80, thanks to some neat design consolidation 
                    in a Ferranti chip custom-built to Sinclair's requirements. 
                    The total number of chips in the basic system is four, against 
                    the ZX80's 21. The ZX81 and its peripheral products are all 
                    cased in sturdy black ABS plastic. And very nice it looks, 
                    too. 
                  
                  Hardware
                  Although physically smaller than the ZX80, 
                    the new machine weighs in at 13oz, about 2oz heavier than 
                    its predecessor. The system needs a UHF television, a cassette 
                    recorder and a power supply to make it usable. 
                  On my colour television the screen is a 
                    pleasant green and all characters are displayed in black. 
                    The machine offers no colour facilities and my guess is that 
                    you shouldn't hold your breath waiting for them. I suspect 
                    that a projection system based on three of Uncle Clive's miniature 
                    TV tubes might appear one day but, then again, I also suspect 
                    that he'd introduce another computer to take advantage of 
                    this. The display is 24 lines of 32 characters of which two 
                    lines are reserved for system messages and commands. Low resolution 
                    graphics are provided to give 64 by 44 plotting points. As 
                    with the ZX80, the display is very clear and rock-steady. 
                  
                  I'm pleased to see that the new power supply 
                    has its own flying lead for the attachment of a normal mains 
                    plug. (The ZX80 was awkwardly designed with an integral plug 
                    which often needed an additional socket or extension lead.) 
                    This power supply must give 600 mA at 9V but, since the ZX81 
                    draws close to this, the standard power supplies actually 
                    give 700 mA and I would recommend that readers using their 
                    own supplies go for the higher rating, too. 
                  Once again, the keyboard is formed by an 
                    underprinted plastic membrane which is everything-proof (water, 
                    chemicals, Coca-Cola, cigarette ash, monkeys, editors, etc). 
                    The keyboard layout is different from the ZX80's so, if you're 
                    upgrading, prepare to make a few mistakes at first. At the 
                    same time it is an improvement, since each keyword is frequently 
                    placed at or near its initial letter. (All you have to do 
                    now is learn the qwerty layout!) 
                  Here are a few ideas for Uncle Clive: a 
                    plug-in battery pack, a plug-in single-line LCD display and 
                    a remote (infra-red or ultrasonic) facility so that you can 
                    sit in your armchair beaming the display information at an 
                    aerial adapter on the television . 
                  Compared with the ZX80, the ZX81 looks very 
                    smart indeed - one could almost say tasteful. It has a nice 
                    shape and texture and the keyboard is made of a non-reflective 
                    material, a definite improvement. 
                  The plug-in 16k RAM pack fits to the edge 
                    of the PCB where it protrudes from the rear of the casing. 
                    The cursor takes a while to appear at switch-on because the 
                    system is checking to see how much memory is present in order 
                    to set certain system variables. If you're a machine code 
                    freak you can reset the RAMTOP variables in order to give 
                    you somewhere safe to tuck your precious program . 
                  Five screws hold the ZX81 together; three 
                    of them are hidden under the pads on which the machine stands 
                    (footpads? - surely not). You know what I mean - those non-skid 
                    things. There's a substantial heat sink for the regulator 
                    under the rear of the keyboard - it's a good place to warm 
                    your hands on a chilly morning. The PCB is held into the casing 
                    by two screws. The keyboard is separate from the main PCB 
                    and is connected to it by a couple of flat printed cables. 
                    The main PCB is well designed and neatly made. Assembly of 
                    the ZX81 is done very professionally by the Timex Corporation 
                    in Scotland (the same people that are making Sinclair's latest 
                    miniature television). 
                  
                  The basic ZX81 contains four chips - ROM, 
                    3.5 MHz Z80A CPU, 1K memory and the Ferranti custom-made chip 
                    - plus a limited assortment of bits and pieces. It's very, 
                    very simple - I think even I could build it. A few spare positions 
                    on the board give the manufacturer a certain amount of flexibility 
                    to tweak the machine to the requirements of different television 
                    systems and to be prepared in case a memory chip famine occurs. 
                    The Ferranti chip handles all the I/O and control signals 
                    between the various elements of the machine. Nosing around 
                    inside, I notice that it has a very cosmopolitan flavour with 
                    memory from Malaysia, the CPU and ROM from Japan, a UHF modulator 
                    from the Philippines, a regulator from El Salvador and the 
                    custom chip from Britain. The edge connector is not gold-plated 
                    (what do you expect for £70?); it's just the PCB printing 
                    taken out to the edge. The 16k RAM pack contains two boards 
                    connected at the edge. One board contains eight 4116s which 
                    are driven by the other board's assortment of seven chips 
                    which handle the memory addressing and refreshing. 
                  
                  Software
                  The ZX81 syntax-checking is excellent because, 
                    unlike the ZX80's, instead of operating on each character 
                    as it's entered, the system waits until NEWLINE is hit. Finding 
                    your way around the keyboard at first is a real hoot - some 
                    of the keys have five functions. As before, the single stroke 
                    keyboard entry is a joy to use and the automatic spacing inserted 
                    by the system makes program listings clearly legible. For 
                    example, if you tried to enter 10FORN=lTO10, it would appear 
                    as 10 FOR N=1 TO 10. Pretty neat, huh? 
                  Editing is very simple. You position the 
                    cursor on the line to be modified, hit the EDIT key and then 
                    make your corrections. Additional characters and functions 
                    are automatically inserted at the cursor position within the 
                    line while RUBOUT deletes the character or function to the 
                    cursor's left. A touch on the NEWLINE key confirms the changes. 
                  
                  The machine can be used as a calculator 
                    but shouldn't be bought for that purpose since the precision 
                    is less than one would expect of such a device. It is, however, 
                    far better than the integer-only ZX80, offering +/- 10+/-38. 
                    If numbers get out of hand it presents results in standard 
                    scientific notation. For those who can't readily visualise 
                    this level of accuracy it means numbers up to 4,294,967,295 
                    can be represented with complete accuracy. That's 2 32-1. 
                    The smallest positive number is about 4 x 10-39 . Five bytes 
                    are needed to store a number, which goes a long way to explaining 
                    why the Benchmark timings are slower than with the ZX80, which 
                    only required two. 
                  An enormous number of functions have been 
                    crammed onto this rather small keyboard. This has been achieved 
                    by using two special keys: graphics, which allows the user 
                    to key all the graphic characters as well as the normal characters 
                    as white on black; and function, which allows the user access 
                    to (surprise, surprise!) special functions. A normal mode 
                    of operation also exists. In addition to all this, the keyboard 
                    has a bog-standard shift key, thus increasing the range of 
                    options for each key still further. 
                  The character set is a one-off - it's not 
                    ASCII or anything I recognise. I think we'd be safe if we 
                    called it Clive code. The TV display isn't exactly memory-mapped 
                    - it tends to move around and change its size depending on 
                    what's going on. It is, however, possible to find the start 
                    of the screen area and then to access the screen by PEEKing 
                    and POKEing the screen locations in the buffer. 
                  
                  Basic
                  All but one of the ZX80's Basic functions, 
                    plus a substantial number of additions, have been incorporated 
                    into the 8k ROM which drives the ZX81. The following commands 
                    and statements are provided over and above the old ZX80 repertoire: 
                    ASN, ACS, ATN COS, EXP, INKEY$, PI, SGN, SIN SQR, INT, LEN, 
                    LN, TAN, VAL, <=, >=, < >, COPY, DIM A$, FAST, 
                    FOR . . ., TO. . . STEP, LLIST, LLIST n, LPRINT, PAUSE, PLOT, 
                    PRINT AT, PRINT TAB, SCROLL, SLOW, UNPLOT. The missing function 
                    is TL$, which was used to return a string minus its first 
                    character. This ROM plus an appropriate keypad overlay is 
                    available to existing ZX80 users who wish to upgrade their 
                    machine. They should note, however, that even with the new 
                    ROM they will continue to get the screen flicker which, I'm 
                    sure, they've grown to know and love by now. 
                  The machine can be operated in two modes 
                    - SLOW (sometimes called 'compute and display'), and FAST. 
                    FAST mode offers the world famous screen flicker every time 
                    you hit a key while SLOW mode keeps the screen refreshed at 
                    all times, resulting in a nicer display, moving graphics and 
                    a lot of irritating delays: see the Benchmarks for comparisons. 
                    If you need to see the screen continuously then SLOW mode 
                    is a boon. If you don't say if you were doing lots of calculations, 
                    then it's better to use the FAST mode. The two can be called 
                    from within a program thus offering the best of both worlds. 
                    The SCROLL feature removes the top line from the screen and 
                    moves each line up, leaving a blank bottom line. Without SCROLL, 
                    the display freezes when the bottom line is reached. A PAUSE 
                    instruction is provided which suspends a program's operation 
                    for a user-defined period or until a key is depressed. The 
                    screen is visible when in PAUSE mode regardless of whether 
                    the program is running FAST or SLOW. In SLOW mode the screen 
                    fiickers slightly when the PAUSE takes effect but in FAST 
                    mode it has to come on altogether. This means that you'll 
                    have to be careful not to have your PAUSEs too close together 
                    unless you actually enjoy watching the screen going absolutely 
                    bananas. The INKEY$ function is welcome since it can be tested 
                    to see if a key is being depressed and, if so, which key it 
                    is. This feature is great for fast-moving games since you 
                    need only hit the key you're interested in - there's no need 
                    to hit NEWLINE. 
                  There are no DATA or READ instructions but 
                    this can be circumvented by saving a program with all its 
                    associated variables and then using a GOTO to kick the program 
                    off when it's reloaded. (RUN automatically clears any variables.) 
                    Pressing CONT, not surprisingly, allows you to continue the 
                    program. PLOT and UNPLOT functions (0,0 is in the bottom left-hand 
                    corner) are provided, giving a graphics capability of 44 by 
                    64 points. Each point, or pixel (picture element), is a quarter 
                    the size of.a normal character. Hardly high resolution but 
                    better than a poke in the eye with a sharp stick! 
                  The cassette needs either 35mm sockets or 
                    an appropriate adapter. SAVE is offered but no VERIFY, so 
                    saving a long program can be a bit worrying. I suggest you 
                    first save a few short programs, just to make sure the controls 
                    are set properly. When loading a program, the pattern on the 
                    screen shows you when data is being recognised. The theory 
                    of cassette adjustment is that you play a data tape, gradually 
                    turning the volume up until the pattern appears. Then you 
                    turn it up a little more and it should be ready for use. 
                  The printer, when it arrives, will allow 
                    you to LPRINT and LLIST data and programs respectively. Even 
                    better, it will allow you to dump the screen contents to the 
                    printer using the COPY command either within the program or 
                    as an immediate instruction. Such a screen copy takes about 
                    12 seconds to produce. 
                  The only function to disappear is the TL$ 
                    command mentioned earlier. The same thing can be accomplished 
                    using the LEN and TO instructions. All trigonometric stuff 
                    is in radians and PI is provided to help you unravel the results. 
                    SGN = signum which can possess one of three values: -1, 0 
                    and +1. At one stage the new ROM (for the ZX80 and, subsequently, 
                    for the ZX81) was expected to offer DRAW, UNDRAW, DATA, READ 
                    and RESTORE features. Instead I think the idea of adding printing 
                    facilities became more important. After all, these features 
                    can be realised using the existing range of commands. 
                  A character string of any length may be 
                    used as a numeric variable name, providing it starts with 
                    a letter. String variable names are restricted to A$ to Z$. 
                    String and numeric arrays may be any number of dimensions 
                    - the limit is dictated by the amount of free memory available. 
                    String arrays are character arrays really, with the last entry 
                    in a DIM statement being the number of characters per array 
                    element. With a full 16k RAM and a small program (it fitted 
                    on the screen) I set up a string. array 100 x 6 x 25 characters 
                    long. I used this since each element would be about the size 
                    of a name and address record, allowing extra information like 
                    telephone number and birthday, for example. Substrings are 
                    handled using the TO function. LET A$ B$ (3 TO 5) would make 
                    A$ a three character string comprising the third to fifth 
                    characters of string B$. This opens up possibilities for giant 
                    strings and the use of string slicing to extract variable 
                    length fields. 
                  
                  Documentation
                  A programming book is provided with the 
                    system: ZX81 Basic Programming by Steven Vickers. The cover 
                    is a very odd photo (montage?) of what appears to be a couple 
                    of model delta-wing jets on top of a solitary skyscraper at 
                    night. Two red windows peer at you from the upper floors. 
                    It must be full of deep meaning which totally escapes me. 
                    Sinclair Research specially commissioned it. Can any psychologist 
                    readers tell us what it's all about, please? 
                  The book is written for the novice and it 
                    does a pretty reasonable job. It is infinitely better than 
                    the book given out with the ZX80. What a pity, then, that 
                    just as the reader is about to key something in for the first 
                    time, he encounters the most off-putting (and unnecessary) 
                    paragraph in the whole book: 
                 
                 
                  The style of the book isn't really to my 
                    taste although Steven reveals a lot about himself with his 
                    talk of dead tax collectors and expressions like 'Lor, love 
                    a duck'. Eye fans will be delighted with his reference to 
                    Talbot? on page 38 (I find the question-mark rather becoming, 
                    don't you?). Oddly, error codes are referred to as report 
                    codes. Perhaps the idea of associating errors with the machine 
                    was just too abhorrent, even if they do happen and even if 
                    they are usually the user's fault. Ho hum - more psychologist 
                    fodder. There are the usual typographical errors which didn't 
                    get cleared up but I couldn't find too many. The only other 
                    thing in the manual which actually troubled me was the reference 
                    to pounds, shillings and pence in one programming example. 
                    My kids (aged ten eight and six months) didn't know what it 
                    was all about and, let's face it, a lot of these machines 
                    are going to be bought by, and for, kids. 
                  
                  Potential use
                  Who would use this machine? Kids will love 
                    it (so will Dads) and, at this price I can't think of a better 
                    way of introducing them to the subject. Most courses on computers 
                    and especially on Basic programming cost more than the ZX81. 
                    In my view you can buy a ZX81, have a lot of fun, learn a 
                    bit about computers and Basic programming and decide whether 
                    you like it or not. If you don't like it or if you decide 
                    to move on to bigger and better things, you can always sell 
                    the machine (or give it to ComputerTown). The 16k RAM pack 
                    is a must for anyone doing anything remotely serious. The 
                    printer, when it arrives, will give you the chance to keep 
                    a record of all that interesting stuff you've got locked in 
                    the machine. The floating point arithmetic certainly makes 
                    the ZX81 a far more useful machine than the ZX80 and I suspect 
                    that many people will give it serious consideration as a result. 
                    You must bear in mind the sort of limitations imposed by the 
                    ZX81's inability to handle files. You can save a program with 
                    all its variables on tape, which gives you 16k for both programs 
                    and data. In my earlier example, I managed to get 100 records 
                    of 150 characters each into memory with a short program of 
                    20 lines or so. There's no reason why you shouldn't record 
                    the program again with another 100 records, which would overcome 
                    this particular limitation The only problem you'd be left 
                    with, then, is the fact that other programs cannot access 
                    the same data. I think that if you're really worrying about 
                    this sort of thing then maybe you require a more substantial 
                    system. 
                  Expansion possibilities for the ZX81 are 
                    limited at the moment to the printer and the 16k RAM pack. 
                    I asked Clive Sinclair if there was any chance of disks being 
                    developed and he gave the same enigmatic answer he gave a 
                    year ago when I asked the same question about the ZX80: 'We're 
                    working on it.' Draw your own conclusions. 
                  People who are wondering about its relevance 
                    to business or serious work at home ought to sit down and 
                    do a few calculations on just how much information they need 
                    to hold and how they wish to access it. You could hold 100 
                    or so names and addresses or keep track of around 600 financial 
                    transactions in one load of the 16k memory. These figures 
                    allow for a fairly simple entry and enquiry program in each 
                    case. By abbreviating information you can clearly cram more 
                    in. By splitting your information across several tapes you 
                    can build a substantial file of information but each tape 
                    would have to be managed by a separate version of the program. 
                  
                  If you know nothing about computers and 
                    you want to enjoy finding out about them, then this machine 
                    offers a value for money way of doing just that. Children 
                    will love the ZX81, there can be no question about that, and 
                    I suspect that more than a few people who are already familiar 
                    with computers will buy one, just to have a bit of fun. 
                  
                  Conclusions
                  He's done it again. Uncle Clive has come 
                    up with a lovely product which will have enormous appeal to 
                    people wanting to find out more about computers, but without 
                    it costing them an arm and a leg. The idea of producing a 
                    superior machine to the ZX80 and selling it for a lower price 
                    is absolutely wonderful. I'm full of admiration for the man. 
                    Most people would have upped the spec and held the price ('It 
                    really hurts me to do this') or even increased it slightly. 
                    The product is clearly aimed at the home market and I'm sure 
                    that it will do extremely well there, far better in fact than 
                    the ZX80. And that's rapidly becoming the biggest selling 
                    micro in the world! 
                  
                  Prices