Popular Electronics Tests: The Sinclair Research ZX80 Personal Computer

Authors

Publication

Pub Details

Date

Pages

The Sinclair Research model ZX80 personal computer, is a no-frills Z-80A microprocessor-based system designed to be very inexpensive and easily portable. Like many video games and low-cost computers, the ZX80 comes equipped with a TV/GAME 60-dB Isolation switch that permits use with any TV receiver. For the few users that would be expected to do so, the manufacturer supplies an application note that explains how to derive direct video for use with a monitor.

The design is unique in not using a video controller for the display. Sinclair opted instead for using the refresh counter of the Z-80A to control the video display and update it about 60 times a second. When a program is running, the screen is blanked then rewritten after the process, since the Z-80A has to share its resources.

The ZX80 is housed in a nonimpact plastic case that measures 6.5 in. x 8.5 in. x 1.5 ‘in. The case also provides the necessary shielding to enable the unit to meet FCC class-B radiation requirements. The shielding is a thin metal coating that is apparently sprayed on the inside of the case. Necessary board grounding is effected via flexible grounding straps located on the r-f modulator metal enclosure. (This arrangement, although workable to a degree, has some inherent difficulties that we will discuss later.) The plastic enclosure houses a forty-key, pressure-sensitive keyboard, built-in r-f modulator, 1K bytes of RAM, 4K bytes of system ROM, and a cassette interface.

The price of the unit is $199.95 and includes the ac adaptor, cables for a tape recorder (not supplied), and an extremely well-written and useful 130-page user’s and programming guide. Since BASIC is contained in ROM, nothing else is required for operation except a TV receiver. As yet, Sinclair offers no options, however, an 8K-byte enhanced BASIC (in ROM) that reportedly will sell for $40, and a 16K-byte RAM expansion for less than $100 are in the works. Currently, software support, is available from various aftermarket sources.

General Description

The Z-80A microprocessor, operating at a 3.25 MHz clock rate, creates the screen image. The black-on -white display, which is upper-case only, is limited to 24 lines by 32 characters (768 characters per screen image) by the typical bandwidth (~3.5 MHz) of a typical TV receiver. The character generator also provides what Sinclair terms 24 standard graphic symbols. However, in reality, there are 10 graphic symbols and their inversions. The other four are the normal and inverse of the space character and the quote symbol. The graphic characters are formed on an 8 x 8 dot matrix that offers resolution somewhat better than that of the common 5 x 7 dot matrix though not quite the high resolution touted by Sinclair.

The integrated cassette interface operates at 250 baud. The basic tape format is frame sync information, pointers into the variable area, and compressed tokens representing both keywords and data. An interesting feature of the cassette system allows data and variable information to be saved at the same time, and restored at run time by invoking the GOTO (line no.) rather than RUN. The recorder volume setting has little or no effect on the operation of the system. The ZX80’s 4K integer BASIC is limited, but it can’t be considered a tiny BASIC. It is, rather, a subset of a full-scale integer BASIC with some unique attributes of its own.

For all practical purposes, the typical functions found in larger implementations of BASIC are included (string operators such as MIDS, LEFTS, RIGHTS, are not). Bit-wise Boolean operations are permitted using NOT, AND, or OR. The character string function CHRS becomes a main operator in most programs, and a unique function TL$ (s) which returns the string (s) minus its first character is provided. The TL$ operator, can be employed for creating unique displays, while the function CODE returns the ASCII code for the first character of string. This latter function essentially takes the place of ASC found in most BASICs. Even PEEK and POKE are included to permit the user to get to the memory. To further support these functions, USR permits the calling of a user-written machine language routine.

Interestingly, the BASIC is well suited to the machine architecture. To enter a program, you merely tap the Q key. This executes NEW and clears the work space for a new program. Next type in a line number, depress the letter O to generate the keyword PRINT. When you do this the cursor is displayed as an inverse K to indicate a keyword. Your next entry would, in this case, be a “quote” which would generate an inverse S, indicating that a syntax problem exists (there is no “end quote” yet), and remain displayed until you have finished the line and ended it with a quote. Once you have the line typed in, you depress the key marked NEWLINE. This key acts the same as RETURN on other computers.

When a line is entered, all the system variables, line numbers, and pointers to the next line are stored in an area below the user RAM area. Then the program is stored, as are the working variables (A$, for example) and an indicator for end of line. Next, a working space is opened to input new lines, or for editing, then a display area that holds 24 NEW – LINE characters is provided for screen updating. This is followed by a stack area that contains information for jumps and GOTOs.

Since the code is compacted, a fair amount can be input into the 1K of available RAM. Sinclair exaggerates a little in saying that you can enter 100 32 -character lines (which would be 3500 bytes, assuming two bytes for a line number, 1 byte for NEWLINE terminator and 1 byte per character), but you can come close to 3000 bytes. This is fairly easily done, since all the operators are stored as tokens and in a manner to provide maximum packaging. One technique used is to drop spaces and set bits to indicate where a space should appear.

Because of the unique implementation of the BASIC, editing is fairly simple. You LIST the program (depress the letter A), and then enter the editing mode by holding the SHIFT key and depressing NEWLINE. The cursor is moved to the desired line by holding down SHIFT and depressing one of the arrowed keys, 5 for left, 6 for down, 7 for up, and 8 for right. The chosen line then is redisplayed at the bottom of the screen, and can be edited by moving the cursor over the desired area and typing over material to be changed, including the line number. This gives you a quick way of copying lines into new line numbers.

When a program is run or a new line entered, the screen is blanked. For example, if you wrote a program to draw a maze, when you RUN, the screen will blank for a few seconds and redisplay with the maze drawn. Should your program ask for an input, the same thing happens once the data is entered. This is a bit disconcerting at first, but is not a disadvantage. It can be useful for creating certain games.

Quite honestly, the 130-page, spiral-bound operating manual supplied with the ZX80 is the best we have seen so far. The authors, realistically, assumed that the buyer of this machine would be a novice and wrote accordingly. Thus, the manual explains not only how to use the ZX80 but the basics of computer operation in general. In addition, there is a maximum of practical examples and a minimum of theory.

Evaluation

Basically, the ZX80 is easy to use – remove it from its box and plug it in. The keyboard, although small and not very well designed from a mechanical point of view, gives a good presentation of the keys. You can see at a glance what to do to get certain things to happen. For example, to print a “greater than” character (>), you would clearly have to depress the SHIFT key and the letter M. This is evident since the keys are color-coded to indicate which functions go together. Many keys “triple shift” in that one key serves three functions. For example, the Q key not only generates the letter Q, but contingent on how you handle the SHIFT key, also generates the BASIC command NEW, and a graphics symbol as well, However, this multiple use and automatic keyword feature is complicated by the diminutive keys. Adult fingers are hard-pressed for maneuvering room. Also, the touch takes some getting used to.

Although the display is reasonable in design, as the system is delivered it may not work properly. When we first turned the ZX80 on, we found that the display was erratic. Compressing the case in our hands improved matters, which suggested a grounding problem.

On opening the case, we found that the grounding straps, which are nothing more than strips of light metal, were not making proper contact with the case. The remedy was to bend the straps on the top of the r-f modulator can in a horseshoe, and solder a wire across the bottom straps to hold them rigid and provide a longer ground plane contact.

Still, the thin metal shielding inside the case is not really adequate. Although the ZX80 carries a notification that it has passed FCC certification for class-B operation, we found it noisy.

Another difficulty we encountered relates to the use of channel 2 as the base frequency of the r-f modulator. In the U.S., channel 2 is a major vhf channel, especially in metropolitan areas. At the fairly low level of video drive the ZX80 provides, the display is interfered with by local channel-2 TV transmissions. There are two ways the user can get around this: either offset the TV receiver slightly via the fine tuning, or wrap about 10 turns of number 14 copper wire around a small plastic tube, mount it in parallel with the coil in the modulator can, and then experiment by spreading or compressing the coils to offset the r-f frequency to some unused vhf channel in your area. Of course, you can follow the instructions in the manual for deriving direct video for a monitor.

A factor which will greatly affect the quality of the picture is the television receiver used. Specifically, if your receiver is of the so-called hot chassis variety, it is subject to interference from the power line.

With respect to processing speed, the unit performs much as Sinclair claims. Since the company used benchmark programs created by Tom Rugg and Phil Feldman (“BASIC Timing Comparisons,” Kilobaud, October 1977, page 20), we did too. We found execution times that were, in most cases, within .1 sec of what was specified.

We could find no operational fault with the BASIC, and, in fact, consider it one of the better implementations available. However, like most BASICs, it has its idiosyncracies-for example, the lack of conventional control characters.

Comments

Some math applications are precluded since the integer BASIC doesn’t support floating-point calculations. Nor is the machine viable as a building block for a larger system. Although it does have a 4 -pin extension bus connector, no suitable peripherals are currently available.

The design philosophy of the ZX80 is sound, innovative, and commendable. Had the quality and workmanship of the hardware matched the basic design, the machine could have been spectacular. As it stands, the ZX80 may be a good choice for beginners who want to dip a toe into Computer Lake at low cost.

Products

 

Downloadable Media

 

Image Gallery

Scroll to Top