INTRODUCTION
Overview
Sinclair Research set out to build a simple
to use personal computer, running BASIC and capable of breaking
the psychological barrier of £100. Well, they succeeded
with their ZX80. Why ZX80? No reason really except that it's
based on a NEC copy of the Z80 processor chip...and it sounds
nice.
Briefly
The machine is available through mail order
either ready made or in kit form; their are no firm plans
to sell it through shops - yet. A kit will cost you £79.95
while its ready built twin will come out at £99.95.
In addition to this you'll need a mains adapter ("600ma
at 9V DC nominal unregulated")... if you buy Sinclair's
it will cost you an extra £8.95. Deliveries of the kit
were expected to start in February, the ready-made in March.
The ZX80 is amazingly light, twelve ounces
in fact, and easily held in one hand. The low weight is achieved
through the use of a moulded plastic casing just 1mm thick.
It connects quite happily to the television
set and the cassette recorder, although it might take a few
minutes to find the optimal settings. Once attached to the
TV, it gives a rock steady display (more on that later).
HARDWARE
Specification
Keyboard
The keyboard is most interesting; it's one
of those waterproof, chemical proof, completely sealed units
and it's stuck on the main PCB. Made of a special tough plastic,
the under-surface is printed with the key symbols so as to
eliminate any rubbing off. Between this keyplate and the PCB
containing the metal contact strips (about five per key) is
a piece ofsticky plastic containing forty holes which line
up with the "keys". This material is about .006"
thick and is just sufficient to keep the metal underside of
the keyplate away from the contacts, except when touched of
course.
Typing gives a sensation of drumming your
fingers rather than of doing anything useful. This is a totally
mistaken impression because it really works rather well. For
those who are interested, I found that a "wiping"
action was more successful than the tapping movement usually
associated with typing. Typists may be pleased to hear that
the keys are in standard QWERTY layout although somewhat compressed
compared to, say, the office IBM.
Inside the machine
Looking inside the machine, I find that
it's controlled by a NEC 780-1 processor chip... a copy of
the well known and very successful Z80. This CPU, running
at 3.5 MHz, does all the work for the ZX80, including driving
the TV and the cassette recorder. You'll notice that if any
work is taking place, be it calculation, accepting input from
the keyboard or driving the cassette recorder, then the TV
picture disappears - only to return when the activity is complete.
This can be irritating to observers (at a demonstration for
example) but I found it positively beneficial when keying
in programs because it gave me positive feedback whenever
a key made successful contact.
The BASIC interpreter, operating system,
character set and editor are all held in a 4K byte ROM. If
you are feeling adventurous there's no reason why you shouldn't
pop your own ROM (TMS 2532) in its place.
Memory in the basic system comprises 1K
static RAM; you can add to it via the expansion port, giving
a maximum potential of 16K. The memory expands with the aid
of plug in modules, each designed to carry up to 3k in 1k
increments. This five modules would be required to give the
16K maximum. At switch-on the machine does a memory check
which also tells the system how much memory is online. Should
you reconfigure the memory, then the command NEW will execute
the memory check cycle again.
The "Outside World"
Moving on to the "outside world"
connections, there's a cassette interface, TV socket and a
hefty edge connector. The cassette interface comprises two
3.5mm jack plug sockets, securely mounted on the main (an
only) PCB. One connects to the "ear" socket on the
cassette recorder and the other to the "mic" socket.
There is no facility for remote control of the cassette motor.
Anyone with DIN sockets will have to buy a jack plug to DIN
connector lead.
Although I encountered one or two problems
at first, once working, the cassette interface proved trouble
free. My particular recorder had a nasty habit of recording
noises when the CPU was "sending out" silence. This
caused the system to get its knickers in a twist when reading
from the cassette because it expected silence just before
the file header record. After a couple of hours (what a confession)
the culprit was found - the "ear" lead, which acts
as a monitor while recording, was setting up some sort of
oscillation. Answer - simple - disconnect the "ear"
jack when recording. Another tip which ensures trouble free
loading is to move the tape into the silent section before
issuing your LOAD instruction. Rumour has it that the cassette
operates at around 250 baud - I believe it, although it doesn't
seem terribly important when you're only loading the 1K that
I was.
The television connector is simplicity itself.
Plug one end of the cable (supplied) into the ZX80 and the
other into the television aerial socket, tune to channel 36
and you're in business. The display is magic; rock steady
and very clear although reversed characters(white on black)
are not so good.
I have already mentioned the business of
the display switching off every time the processor needs to
do something else. If this drives you mad then you'll have
to forfeit some of the undoubted pleasures that this machine
has to offer. The screen is not memory mapped; it's treated
like a serial file - like a printer in fact - which means
that fast moving graphics are out of the question. No doubt
some clever Dick out there will take up the challenge and
fudge the system, just to prove me wrong. More about the reason
for this in the Software section, but anyone who is hooked
on white characters on a black background can suitably modify
the PCB, though why they should want to I'll never know. It's
a matter of cutting one track and making a small bridge to
another.
American Television (525 line) users are
catered for as well; all they need to do is solder in one
diode and the system is converted from 50 to 60Hz standards.
Do you take your computer camping with you? You'll be pleased
to hear it can run from a car battery, provided that the lead
regulates the supply. I believe you can buy a cigarette lighter
plug with the built in regulator... couple that with a portable
TV and a battery powered cassette recorder and you'll be the
envy of the campsite.
Now let's look at the hefty edge connector.
This is where the memory expansion modules fit in, each one
being "piggy backed" on the one previous. Thus there
are always 44 contacts available for outside use. There are
37 lines drawn from the CPU plus 3 power lines (at 0, 5V and
pV); the other lines comprise two earths, a "clock"
signal and an "external memory in use" indicator.
All in all, the Sinclair ZX80 is a well
designed, well produced personal computer. Memory addition
comas a bit expensive at £300 for the full expansion,
but Clive Sinclair tells me bigger RAMs are on the way - that
means cheaper expansion when they appear. If you like soldering
and are good at it, it'll probably take you an evening to
assemble the kit; if you're at all apprehensive then I suggest
that you stump up the extra cost and save yourself twenty
pounds worth of heartache by purchasing the ready built ZX80.
SOFTWARE
The software of the ZX80 comprises
the BASIC interpreter, the Editor and whatever it is that
does the rest of the work (Operating System seems too grand
a title).
Program entry
For two reasons, the keying in of programs
is an absolute joy! First you don't have to type in many of
the BASIC instruction codes, one key is sufficient; second
you cannot enter anything that is syntactically incorrect.
Some BASIC instructions have to be entered the long way (these
are listed above the keyboard) but 29 of the instructions
may be entered with a single key stroke, while only 8 need
to be keyed in full.
As with many micros most of the instruction
codes are stored in a single byte. Normal Z80 machine code
can be entered using the POKE statement and executed with
the USR instruction. This should keep the buffs happy after
they have tired of BASIC. Syntax checking is superb - it's
impossible to go wrong. Every character is checked on entry
and, it the interpreter thinks that you are going to make
a mistake, it signals with a reverse S (for Syntax) at the
point it thinks you have gone wrong. If, later in the same
line you correct the error, then the marker disappears. What
a grown up facility for such a small machine! Incidentally,
the program lines are displayed very clearly with line numbers,
instructions, operators and what have you being nicely spaced
out.
Code storage
Inside the machine, the lines of code are
held as compactly as possible with most of the commands and
operators occupying one byte each. The spaces are removed
and there are very few extra bytes needed - for instance the
new line code is one byte, although I did notice the "="
operator needed one extra for some reason. I'm sure there
are others, but I'm equally sure they are very few and far
between. An example of the storage requirement is as follows: