Authors
Publication
Pub Details
Date
Pages
WE SEEM TO HAVE come upon a watershed of computer marketing… it’s getting to the point where we reserve about three pages in each issue for “Computer of the Month”. It’s not all that unrealistic though; innovative small systems are springing up like magic mushrooms. Many cause hallucinations, too.
The Sinclair ZX81 is, first off, about the least expensive computer you can buy. $149.95 gets you the whole works… in kit form, mind you, including a very well written user’s manual on how to write programs in the, ahem, unusual BASIC that comes with it. An AC adapter is ten dollars extra. Other add ons include a memory expansion to take the 1K on board to 16K, for $169.95 (requiring a juicier power pack for $19.95), a colour card, a sound board, character generator, disk drive and a full size keyboard. There are several advanced programming books also available. (Incidentally Gladstone Electronics give a $20.00 discount on the 16K expansion if it’s ordered with the basic system.)
Kats and KITtens
Obviously, before you can begin writing hat fabulous program to solve the riddle of creation, it is necessery to get the bits and pieces soldered onto the board, and connect up the works. The kit is not at all difficult to complete, by virtue of the machine’s being incredibly simple. There are four or five chips (depending upon which version you get) for the whole scene. Everything is socketed, of course. There is no interwiring, and the board is screened and masked. The directions are a bit dismal (only a bit), but they can be puzzled out, and reading them through once before lighting yonder propane torch and commencing to solder is of great value.
We did the kit in about three hours, and only came up with one problem, a crack in one of the ribbon cables that connects the keyboard to the main PCB. Fortunately, these are quite long, and it was possible to cut the thing back beyond the broken area. We have decided that we probably caused this break ourselves during the initial period of fumbling, probing and holding the pieces up to the light. We’ve checked with a number of people who’ve built the kit and no one else has had this problem.
Upon Plugging It In
There are several aspects of the ZX81 which are most unusual, at least in comparison to other computers we’ve had a peer at. First off, the keyboard. The keyboard consists of two flexible membranes separated by a perforated spacer. Stuck to the inside surfaces of the membranes directly over yon perforations are conductive pads. Pushing down on the mem- brane over one of the perforations causes the two pads to come into contact, simulating a key closure. Cheap but effective.
The keyboard, while best appreciated if you are a munchkin, is not as difficult to use as you’d think once you get used to it (and your fingers flatten out). Don’t plan on implimenting word processing with it, though.
The keys each do a variety of things. First of all, they are BASIC keyword tokens. If, for instance, you want to print something, type “PRINT”. You hit machine types “PRINT” and the on the screen. This is analagous to using “?” as a PRINT command. If you actually type out a keyword, the machine gives you a syntax error to mull over.
This wants some getting used to, but is ultimately quite an advantage on a system that doesn’t lend itself to prolonged typing. The arrangement of the tokens on the keyboard is fairly well thought out, such that all the ones that start with “R”, REM, RUN, RAND and RETURN are nearby to the “R” key, all the ones that start with “L” are near the “L” key, and so forth.
The neat thing about the token mode is that the machine slips into it whenever it’s appropriate for one to be entering BASIC keywords, and back out when it isn’t, all without any prompting or stabbing of buttons. Once the appropriate token has been entered, the keys produce letters, and the whole works is set up in largely the familiar QWERTY style. The SHIFT key does most of the symbol set, like “*”,’=, “$” and so on. It also takes care of a few of the lesser used BASIC keywords, like and “OR”. “THEN” At first, one needs do some hunting, as the shifted symbols and words are not laid out in any particularly logical pattern.
There are two supershifted modes, FUNCTION and GRAPHICS. The FUNCTION mode allows the use of BASIC math and string functions, like TAN, RND and CHR$. These, like the other BASIC keywords, tokens, and hitting the are designated key in the function mode produces the whole word on the screen. The function mode is such that if the machine is put in it, and a function is caused to function itself onto the screen, the thing will then drop back into normal entry mode of its own accord. This saves a keystroke, as there is no situation in BASIC calling for two consecutive functions to be entered without at least one normal character in between.
The GRAPHICs mode is like the FUNCTION mode in that it makes the keys produce yet another different character set. The computer does not drop out of GRAPHICS mode after a key is hit, though, and must be returned manually. Obviously, one may wish to enter more than one graphics character at a time.
The graphics characters aren’t bad for a machine this size. They resemble some of the PET/VIC characters, and can be used to produce simple diagrams, graphs and so on.
One For The Mode
There is one other mode involved in entering text into the machine, this being the all important EDIT mode. A bit unusual, this. It should be clear, if you think about it, that whenever you add a line of text to the screen on a computer, move the cursor around, scroll, or make any changes to the appearance of the display, the machine is usually reprinting the whole screen… very fast. Well, such is true of the ZX81, except that its speed leaves something to be desired. Having LISTed the text we wish to EDIT, it is necessery to move the cursor down from the top to the line we want to modify, utilizing shifted “6” and “7”. However, every time the cursor moves, the screen blanks out and is reprinted, taking a second or two. This isn’t a serious drag, but it does slow things up a bit.
Once the cursor is in place, the EDIT key is hit, and the line is copied on the bottom of the screen, where it can be cursored through and changed (and bits INSERTed). This aspect of the EDIT mode is very quick and easy to use.
See the Computer RUN
The first thing that needs be said about the running of the ZX81 is about its speed, or lack thereof. If you harken back to the kit building part, you’ll remember the scarcity of chips. One aspect of the fallout of this is that there ain’t no CRT controller to speaks of. The CPU drives the screen directly, meaning that it can only do other stuff, like running programs, during the retrace intervals, which are very short. This means that things don’t execute terribly fast if there’s much happening on the screen. There is a way around this: the FAST instruction throws the works into a mode whereby the CPU ignores the screen until further notice, but this means that the tube blanks out (shades of the ZX80).
One of the evaluatory programs we wrote for the ZX81 was a PONG ball bouncing about the tube. The maximum speed attainable was equivalent to about one step above beginner level on a home video game. In short, fast real time animation on the ZX81 requires some machine code programming. Perhaps recognizing this, there has emerged a book dedicated to this very subject. Alright, now, one question what does this program do?
10 PRINT "TRUDEAU WILL SAVE US"
20 GOTO 10
On any other system, it would print an obvious lie over and over again until the BREAK key was actuated, or until the cat chewed through the power cord. On the ZX81, it would reproduce the lie until it filled the screen, and then it would stop, and print 5/10 and wait, mysteriously, for further directives. What this means is that there is an error number 5 in line number 10. And error number 5 means “no more room on the screen”.
Which is to say that the little fellow wants to be given a special SCROLL command if it’s to keep ongoing. The thing with the slash through it is called a “report code”, and tells you what exactly your program did. The first chacter can be 0 to F, with 0 representing “everything ran cool, boss”. The second number is the lineat which trouble occured if everything didn’t run cool.
Oddities
Every system’s BASIC has a few little uniquenesses, and the ZX81 is no exception. In this case, none are unfathomable or unpleasant, and most are useful to some degree. PLOT and UNPLOT are usually reserved for high level graphics commands. . . a feature the ZX81 certainly does not have. In this case, they are subsets of PRINT AT, in which the thing PRINTs a black box at the specified co-ordinates for PLOT, and erases it for UNPLOT. PAUSE n waits for n frames of the TV scan, with n being any number up to 32768. PAUSE without a number after it waits til the cows come home. PAUSE 32768 would vegitate for some 11 minutes. The nice thing about PAUSE is that it can be interupted by hitting any key.
String manipulation, while possible, is a mite unusual. Gone are the LEFT$, MID$ and RIGHT$ functions, banished, never again to be entered. In their place lies TO. This TO will be recognizes as being a component of the FOR NEXT loop syntax. Well, here it is again, tireless worker. To get the right 3 characters of the string “AARDVARK”, you would say, for instance, A$ =”AARDVARK”(TO 3). A$ would then equal “AAR”. If the brackets contained, say, 3 TO 5, it would extract the third, fourth and fifth characters.
Expansion
There several things that can be added to a ZX81 to make it more fabulous and a better servant of humanity. The first is a memory expansion. This increases the rather meagre 1K to 16K. The error code for memory being full is among the favourite of the machine’s repertoire in its unexpanded form, and anyone seriously planning to get into ZX81 programming would be well to do this trip.
Next, there is the a ZX81 printer, which is expected to be available shortly. It does 32 characters per line, 9 lines to the inch, and prints at 50 characters per second. The printer is fully supported by the ZX81’s existing BASIC, which has LLIST, LPRINT and COPY, the latter of which reproduces the screen on the printer. The printer dangles on the memory bus using a stackable connector, permitting it and a RAM expansion pack to be used simultaneously.
The printer will probably cost about the same as the computer.
Toy or Tool
On one hand, it’s a real live computer for $150.00. On the other hand, every other computer going costs upwards of two and three times that much. You might be puzzling over whether or not you should be thinking about lathering up the Visa card and buying one. Is it a real, useable system, or just a wedding gift for a young couple in the data processing industry?
The biggest problem in answering this question is in deciding where you draw the line between a game and a serious machine. If you had in mind some moderately complex opperation, such as driving a fusion plasma torus or searching for spelling errors in the sum of man’s knowledge, even a fully equipped Apple II or an IBM with a six digit price tag could be considered a toy. The nature of a tool is defined by its uses.
The uses to which an unexpanded ZX81 can be put, first off, are fairly limited because the available BASIC storage space is very, very tiny. A lot more can be done in machine code with this, but machine code programming isn’t really something you’d want to do for fun. A 1K machine can run simple demonstration and learn ing programs, do some interesting abstract graphics, and play a few games.
The capabilities of the ZX81 change radically, however, if you pop for the 16K RAM expansion. Programs to do very complex calculations, play quite absorbing games (chess, for example, is available for the expanded system) or do quite a bit in the way of visuals can be realized. The large block of memory can hold quite a lot of data, which can be manipulated. Attached to its printer, the ZX81 is quite capable of handling operations which entail producing reports, charts and similar hard copy things.
It may seem a bit silly at first to computer a complex programmable calculator, but, in fact, this is a very practical application for the ZX 81. First off, it’s inexpensive. It’s much easier to program, and its programs easier to debug, than is the case with most programmable calculators. The display is easier to read, and capable of displaying much more information. With 16K of RAM it can handle much more information, and storage of both programming and data is relatively easy.
One very practical application for the ZX 81 is in harsh environments, especially where it’s likely to get things spilled on its keyboard, as, owing to its simple design, it is fairly impervious to liquid accostations.
Probably the greatest interest in the ZX 81, however, is from people who have never owned a computer, and are considering buying one ofthese because it’s a cheap way to try one. Will learning BASIC on a ZX 81make you a fuller human being and equip you to take a meaningful place in our technological society, you ask. . . Well you might.
No matter what machine you learn on, the principals of programming are the same, and the nature of BASIC, despite many syntactical variations, is also pretty well constant. If you are familiar, for instance, with ZX 81 BASIC, you should able to fathom most of, say, PET BASIC in a couple of hours. Most BASIC’s are about 90% identical.
The error messages and other diagnostics on screen for the Sinclair are not as easily understood as those of a VIC or a TRS-80, and not as easy to use. However, these things occupy a lot of opperating system in those machines, and, obviosly, economies must be made somewhere. On the other hand, there are some features of the ZX 81, such as its refusal to accept inaccurate syntax, and its one statement per line programing structure that actually makes debugging software easier. You can learn just as much of the fundamentals of programming on a ZX 81, but you are much more likely to become frustrated doing so.
Being an inherently simpler machine, the ZX 81 has both advantages and disadvantages. You will run out of the capabilities of the BASIC much sooner, but you will, as a result, be booted into learning about machine language and system architecture all the earlier on, and these are very useful things to know about.
A Bouncing Baby Computer
In short, the practical applications of the ZX81 will be defined by exactly what you have in mind; it may be more than adequate, or just a toy. The learning potential of it, especially with the myriads of documentation and literature available for it, is good. At the very least, it can teach you about the fundamental considerations of computers; if you do outgrow it, you’ll be in a much better position to choose a larger system intelligently.
Software
The software and literature backup for the ZX81 is very impressive. Although the first systems were not available in North America until recently, it has been on sale in Britain since the spring of 1981. With production of the ZX81 running at a reported 50,000 units a month dozens of companies and individuals are latching on to the system.
The books we have seen are very good. They include Machine Language Programming Made Simple, Understanding your ZX81 ROM, Get Acquainted with your ZX81, The ZX81 Pocket Book and Stretching your ZX81 or ZX80 to its Limits.
We’ve also tried some of the software. Some falls into the demonstration type which is interesting but not engrossing to a chess program which is excellent with selectable skill levels. We can assure you its very humiliating to be thrashed by a kit you’ve built – yourself. New books and software are being added literally every week.