Home > Computers > MK 14 > Articles > PE 5/79

Science of Cambridge MK14
Practical Electronics, May 1979

By A.A. Berk B.Sc Ph.D.


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)