The MK14 must surely
represent one of the most remarkable revolutions in Computer
technology to date. Much has been said about this little kit,
both in magazine articles by reviewers and word of mouth by
constructors. Whatever I or anyone else may say, the complete
computer for around £40 is a landmark of, at present,
unassailable proportions. The following, not uncritical article
pieces together my experience of the above device along with
the description of the cassette interface by Science of Cambridge
and and interface to the P.E. VDU giving, all in all, a very
cheap and powerful system.
The kit comes pleasantly and well packaged as a set of resistors,
capacitors, integrated circuits (without sockets), LED display,
keyboard, reset switch, crystal PCB and even contains a 5
volt 1 amp regulator. A "Micro Computer Training Manual"
for the MK14 is also included.
The manual has clearly been designed with
the absolute beginner in mind, including, for instance, a
good section on how to solder. However, it is generally agreed
that absolute beginners and even beginners in either hardware
or software alone, find it difficult to decipher some of the
more fundamental concepts introduced in the manual.
The kit uses the National Semiconductors
SC/MP II m.p.u. as its basis and the architecture and instruction
set is described in the manual in just nine pages. Everything
is there, but the beginner would do better to buy a full software
introduction to SC/MP programming. I would recommend, for
instance, Drury and Smart's "A guide to SC/MP Programming".
MEMORY MAP
The hardware of the MK14 is also described
in a cursory manner - even a complete memory map with addresses
is lacking and for those who are contemplating using the MK14
the memory map shown opposite may be useful.
In addition to this omission, until recently,
no pin numbers were included on the circuit diagram which
made it very difficult to expand in any way - I am very pleased
to see this rectified on the latest versions.
The upper four address lines of the system
are left encoded (they have to be demultiplexed from the data
bus anyway) and hence 12 BITs of address are available giving
4k of memory capability. The most significant hexadecimal
character of the address must be used may be anything - i.e.
the addresses 0123 and F123 are indistinguishable.
The map indicates the hardware available
in the kit. Included in the basic price of £39.95 +
£3.20 VAT and postage are 256 bytes of random access
memory (using 2 2111 chips). The display is a calculator type
9-digit 7 segment multiplexed l.e.d. display giving an adequate
readout for simple programming. Space is provided on the p.c.b.
for a further 256 bytes of RAM (two more 2111s) and an I/O
device which itself contains 128 bytes of RAM.
If the above additions are made, the final
system contains 640 bytes of RAM and 16 ports each of which
may be separately configured as an input or output line. "Handshaking"
is also possible via 8 of the se lines for communication with
an independent system of some kind - such as another MK14,
as the manual informs us.
The memory map also shows how much of the
4k of immediate memory is lost by repeats. The 512 bytes of
monitor, for instance, appears four times. This is due to
incomplete memory decoding adopted to keep the cost to a minimum.
However it turns out that a small change is sufficient to
free the extra monitor space and advice on this is given in
the Issue IV kit.
The issue number , by the way, is found
on the underneath of the p.c.b. This version explains how
memory expansion can be effected to make a further 1.5k of
RAM available in the address locations X200 to X7FF (and not
X2000 to X7FFF as stated in the note). This would give a total
of 2,176 bytes of RAM - quite respectable, given the machine's
size and basic cost, and excellent for the field of hardware
control.
POOR FEATURES
There are two features which let the kit
down, however. They are, firstly , the keyboard, which relies
on bridging P.C.B. tracks with "conductive rubber"
- and secondly, the extremely long lead times on delivery
of the kit. I received one in January which was ordered in
the previous Summer! Others have experienced waits from 2
to 4 months. The first of these criticisms is easy to overcome
and the second is sure to ease in time. You might even try
turning up at their doorstep or buying from a distributor
to speed matters. This delay does not extend to servicing.
I only waiter for about fourteen days for them to check the
monitor ROMs which I though were faulty.
The Issue IV board comes with a note to
the effect that a kit of metal domed switches may be purchased
from Science of Cambridge for £2. The p.c.b, does, in
fact, have an expansion edge connector net to the keyboard
to add an external keypad, and though the manual gives no
pin out diagram for the connector, the tracks are easy to
follow.
The kit is continually being updated. A
few small mistakes in the earlier boards have been ironed
out and the current p.c.b. is excellent - the only problem
is in the extreme thinness of some of the tracks, and great
care must be exercised no to break one of them.
One of the must important updates is the
revised monitor program, available on fusible link PROM and
pin compatible with the old one. This includes, among other
things, an offset calculation for easier programming, single
step facility (with some extra logic) and cassette tape interface
control. The monitor occupies the same space as before by
making some of the original routines more efficient.
CASSETTE INTERFACE
The photograph shows the cassette interface
being used; and although slow (about four characters per second)
it is very cheap, easy to use and of straightforward construction.
The use of cassette files makes a tremendous difference to
any machine, saving considerable amounts of time and energy.
The interface uses two integrated circuits and some discrete
components on a small single sided PCB. The only fault I found
was the marking of the positive end of the diode - wrong on
the pcb but correct on the circuit diagram. To store on cassette,
the length and starting address must be set up in three memory
locations. The starting location of the cassette routine is
then set up on the MK14's display and the recorder switched
on. Pressing "GO" causes the block to be recorder
- a l.e.d. on the cassette board flashes until the recording
is complete. Taking information from the tape is a similar
exercise. As the instructions implied, I found the volume
control, on playback, to be very critical. The machine does
work however and several others I have talked to agree.
One of the most spectacular uses of the
tape is in the direct loading of a block of information straight
to a VDU screen. A set of notes can be kept on cassette and
simply read back at leisure especially if the tape has a tape
counter for easy indexing. Another use would be for special
screen formats stored on tape and used for particular programs
to fill areas of the screen specifically set aside for different
functions. The programs involved would be very much simpler
than normally necessary as the various lines and patterns
used would not have to be generated in software - could be
useful in the sort of minimal system for which the MK14 is
ideally suited.
P.E. VDU - INTERFACE
Of course a VDU or some sophisticated means
of output is essential for anything but the most basic uses
of any machine and below is described an interface to tor
the P.E. VDU. The photograph shows that a 31-way Vero connector
which has been mounted on the top edge of the MK14 p.c.b.
This is not connected to the expansion edge connector in that
region but is bussed, via wire links beneath the p.c.b. to
the data, address and control lines of the SC/MP chip. In
addition a 4011 CMOS chip is mounted at the top right of the
p.c.b. and connected as shown in Fig. 1.
A spare gate in IC16 is used to enable the
VDU only when RDS or WDS is high - this prevents the address
and status information on the data bus from interfering with
the VDU RAM. The circuit shown enables the VDU as a 1k block
of memory replacing the top two copies of the monitor (each
of 512 bytes)
To connect the interface to the MK14 "A11"
must be disconnected from the enable inputs of IC2 and 3 (pin
13) and fed, along with "A10" to the 4011 as shown.
Pin 13 of IC2 and 3 is hen connected to an output of the 4011,
again as in the diagram. The VDU screen then occupies the
addresses X400 to X7FF, Later machines may have the monitor
correctly decoded to lie only in the lowest 512 bytes - I
have an issue V board which apparently has this modification.
You can check by viewing a few addresses between X200 and
X7FF to see if the monitor is there. If it is not then a simpler
interface may be used which does not involve IC2 and 3. This
is also shown in Fig.1. , the rest of the interface as is
before.
It should be noted that no buffering was
found necessary on any of th busses to drive the VDU as it
presents, almost entirely, low power loads.
CONCLUSIONS
The expansions described will produce not
only a reasonably sophisticated personal computer, but also
a control development system of some power. In my opinion
it is this latter area which has been somewhat neglected by
Science of Cambridge's Marketing Policy.
In conclusion, the MK14 is a well though
out product nicely packaged, and easy to use with the revised
monitor. Indeed my firm opinion is that no electronics enthusiast
or engineer should be without one in today's technology.
Memory Map
Only the first 12 bits of the program counter
are decoded.
000-1FF |
512 byte SCIOS ROM
|
Decoded by 0xxx |
200-3FF |
ROM Shadow / Expansion
RAM |
|
400-5FF |
ROM Shadow / Expansion
RAM |
|
600-7FF |
ROM Shadow / Expansion
RAM |
|
800-87F |
128 bytes I/O chip
RAM |
Decoded by 1xx0 |
880-8FF |
I/O Ports |
Decoded by 1xx0 |
900-9FF |
Keyboard & Display
|
Decoded by 1x01 |
A00-AFF |
I/O Port & RAM
Shadow |
|
B00-BFF |
256 bytes RAM (Extended)
/ VDU RAM |
Decoded by 1011 |
C00-CFF |
I/O Port & RAM
Shadow |
|
D00-DFF |
Keyboard & Display
Shadow |
|
E00-EFF |
I/O Port & RAM
Shadow |
|
F00-FFF |
256 bytes RAM (Standard)
/ VDU RAM |
Decoded by 1111 |
Keyboard Decoding
On a READ the switch levels are read onto
the bus via IC11 into bits D4-D7
On a WRITE the bits D0-D7 are latched (sort
of!) via IC9 and IC10 into the video display latches (D0=Segment
A,D7 = Decimal Point)
On any access the lower 4 address bits are
latched into IC12. These are decoded by IC13, dragging the
appropriate line low to light the segments selected via IC9
and IC10
IC11 is normally read as 1111xxxx - if a
key is pressed when the corresponding line is pulled low via
IC13 then bits will be read as zero - this indicates a key
is being pressed.
RAM Expansion
It is a standard Sinclair design that
the 3 ROM Shadows between 0200 and 07FF can be replaced by
RAM, giving a theoretical total of 1.5k (expansion) 1-4k (extended)
1-8k (RAM I/O Chip) 1-4k (Standard)