A Piece of the Action – The Multi-User Sig/Net

Terry Lang investigates the benefits – and drawbacks – of a shared access system from Shelton Instruments.


Front view of a multi-user system with hub and satellites stacked together.

In building their phenomenal success, microcomputers have had the advantage of needing only to provide an operating system which supports just a single user. This has enabled them to avoid much of the dead weight which encumbers mainframe systems. However, there has always been a need for micro systems to support a small number of simultaneous users – for example in neighbouring offices in a small business. (Such users will always need to share access to common data for business purposes. Sometimes users choose to share peripherals – eg, hard disks or printers – simply to save money, but the economic reasons for this latter type of sharing are likely to weaken as the technology continues to develop.)

Even in a shared microcomputer system, it has generally been economic to provide a separate processor for each user, and thus the spirit of simplicity in the operating system can be maintained. Nonetheless, the administration of the shared data does impose an additional challenge, and it is always interesting to see how this challenge is met.

In this article I will be looking at the way this is tackled by the Sig/net system produced by Shelton Instruments Ltd in North London. During a previous incarnation I was responsible for buying a large number of single-user Sig/net systems, which met all my expectations at that time, and I was keen to see how the multi-user combination would be carried through.



Rear view of multi-user system showing ribbon bus cable and terminal and printer ports.

The original single-user Sig/net is itself based on a ribbon-cable bus which connects together the internal components of Z80 processor and memory board, disk controller board, and communications boards (serial and/or parallel). In developing a multi-user system it was therefore a natural step to extend the bus cable to simply chain on other systems, each supporting a single user by means of a processor and memory board. This is illustrated in Figure 1.


Fig. 1. Modules making up the ‘hub’ and user satellite processors on a multi-user system.

The central or ‘hub’ system with one floppy disk and one hard disk fits in a case of its own. The satellite user systems fit three to a case, and these cases are designed to stack neatly with the ‘hub’ as shown. As many satellite cases as may be needed can be chained on via the bus cable. (I understand a 14-user system is the largest installed so far.)

The basic component boards, with the exception of the new ring-ring bus connector, are all those which have proved very reliable in the original single-user system (Since the company has a considerable background in process control reliability should be something it appreciates.) To my mind the cases do run rather hot but I am told this has not caused problems.

The bus cable runs at a maximum speed somewhat below 1 MHz, not particularly fast but adequate for the purpose, as I shall discuss below. More significantly, it has a maximum length of only a few feet. This is sufficient for stacking the cases as illustrated in the photographs, but does mean that all the processors and disks have to be sited in the same room. Of course the user terminals are connected via standard RS232 serial communications ports, and can thus be located wherever required (using line drivers or modems for the longer distances).

Alternatively, it is also possible to connect a complete satellite to the hub via an RS232 link. This would enable a satellite with its own floppy disk to be placed alongside a user and distant from the hub hardware, but it would mean that access to the files on the hub would be correspondingly slower.

Both the hub and the user satellites use Z80 A processors running at 4 MHz. For the purposes of the standard PCW Benchmark programs, which are entirely processor-bound and make no reference at all to disks, it didn’t matter at all that a multi-user system was involved, since each Benchmark program ran in its own satellite processor plus RAM board, unaffected by the rest of the system. The Benchmark times, with the programs written in Microsoft Interpretive Basic, are given in Figure 2.

These times are as good as one would expect from an equivalent single-user system and illustrate the benefits (or perhaps one should say the lack of drawbacks) of this kind of multi-user sharing. (Of course, where user satellites share access to the common hub filestore, then the user programs will slow each other down – this is discussed in detail below.)

The one-off end-user prices for multi-user and single-user Signet systems are given below. These represent very reasonable value for money. Much of the system is of British manufacture or assembly, which should help price stability. It should be emphasised that in addition to the prices quoted you would require an additional terminal for each user. (Integral screens and keyboards are of course not appropriate to this configuration of centralised hardware. This does permit a range of terminal choice according to need)

An important feature is the ease with which a single-user system can be upgraded to multiuser. The old single-user system simply becomes the hub, with one of the floppy disk drives exchanged for a hard disk. Multi-user satellites are then added as required. If you find a dealer who will give you a reasonable trade-in on the exchanged floppy, then the upgraded system should cost you the same as if you went multi-user straight from the start – a cost-effective upgrade path. Since a satellite case and power supply can be shared between three users, it is most cost-effective to add three users at a time, for a cost of £622 per user (plus terminals, of course).

For those who need such things, other peripheral hardware is also available – eg, graphics drivers, A/D converters, industrial I/O, S100 bus adaptor.


Inside view of case with three user satellite processors and common power supply.

Sharing a hard disk

So much for a single user accessing one file over the McNOS network. As the next step, I looked at the facilities for several users to access different files on one hard disk. McNOS provides for separate users to be identified by distinct system ‘user names’, and each user name is protected by its own password. All files remain private to their owner unless explicitly made public via the appropriate command.

Each user name is provided with both a main directory and with up to 16 subdirectories (just as if the user had 16 separate floppy disk drives) identified by the letters A to P. Thus instead of the traditional CP/M prompt of the form


where A identifies the logged disk drive, in McNOS this becomes


where A identifies the hard disk drive and C the default sub-directory for this user. Whenever the user creates a new file, space for this is taken from wherever it can be found on the drive. Some multi-user systems divide the hard disk up in advance, so that each user has a fixed allocation but whilst this protects other users against an ill-mannered user grabbing more than his share of space, it also means that space allocation has to be fixed in advance. In a well-ordered community, the McNOS approach is much more flexible.

To measure the effect of sharing the one disk. I repeated my Benchmark, with a different file on the hard disk for each of two users. When I ran the program for just one user alone, the execution time was 33 seconds: when I did the same for the second user alone, the time was 54 seconds. This very large difference was due to the different positions of the two files on the disk, thus requiring different amounts of head movement (This is one of the bugbears for would-be designers of benchmarks for disk systems!)

Then to measure the effects of sharing, I set the second user program to loop continuously and timed the program for the first user. With this sharing, the execution time increased from 33 seconds to 205 seconds. This increase is explained partly by the competition for buffer space in the hub, but I suspect largely by the greatly increased disk head movement as the head moved constantly between the two files. This is inevitable for physical reasons under any operating system. Sharing access to one disk is going to have a big impact if a number of file-intensive activities are run at the same time; but this should not be a problem for programs where disk access is only occasional (eg for occasional interactive enquiries).

Sharing a file

However, as I indicated at the beginning of this article, the real reason for a multi-user system is often to provide different users with shared access not just to the same disk, but to the same file at the same time (eg, for stock enquiry and sales order entry from several terminals). But if one program is going to read a record, alter the contents, and finally rewrite that record, then that whole updating process must be indivisible. (For if a second program read the same record at the same time and tried to rewrite its new data at the same time, the two processes would interfere with each other). To overcome this problem of synchronisation, a ‘locking’ mechanism (sometimes called a ‘semaphore’) is required, whereby a process carrying out an update can ‘lock’ the record until the update is complete, and whereby any other process accessing that same record at the same time is automatically held up until the lock is released.

On a mainframe database system it is generally possible to apply a lock to any record in this way. However, this can be rather complex (for example if two adjacent records share the same physical disk sector, then it is also important not to allow two programs to buffer two copies of that same sector at the same time).

In keeping with the spirit of micro systems, McNOS implements a simpler compromise mechanism, by providing one central pool of ‘locks’ stored as 128 bytes in the hub. A user program can set a lock simply by writing to the appropriate byte, and release it again by clearing that byte. It is up to programs which wish to share access to the same data to agree on which locks they are to use and when they are to use them In general the programs will by agreement associate a lock byte with a whole file rather than with an individual record as this avoids the problem of two adjacent records sharing the same buffer. It also avoids the problem of the restricted number of locks (even if a bit rather than a byte is treated as a lock, this still only provides 1024 locks).

McNOS maintains the lock record on the hub as if it were a file (of just one record) called LOCKSTAT. SYS, though this ‘file’ is in fact stored in RAM and never written to disk. A user program which wishes to set a lock simply generates a request to read this record. If the record is returned with byte zero set to non-zero, this indicates that some other process is itself busy setting a lock: the program must then wait and try again later. When the record is returned with byte 0 set to zero, this program may examine the bytes (or bits) it wishes to set and if it is clear to proceed set them and rewrite the record (The reverse process must be followed later to clear the bytes and hence release the locks.)

To measure the impact of this locking mechanism, I next changed the Benchmark program for the first user so that it shared exactly the same data file as the second user. McNOS provides a particularly convenient way of doing this, for it is possible to create in one directory entry a pointer not simply to a file, but rather to another file entry in another directory. Thus all I needed to do was to change the directory entry for the first user so that the original file name now pointed to the data file of the second user. Running the Benchmark for either user alone now took 54 seconds (ie, I was using the ‘slower’ of the two data files as far as disk head movements were concerned). I then changed the Benchmark program itself for the two users, so that each read/write pair was bracketed by a lock and an unlock operation as would be required for sharing the file. Now running the Benchmark for either user alone took 106 seconds – a measure of the overheads of using the locking mechanism.

Finally I ran the programs for the two users simultaneously. This meant that the overheads of the locking mechanism, of buffer sharing in the hub and of competing head movements were now all included resulting in a total execution time of 262 seconds. All of which simply shows that the sharing of data in this way consumes resources (as usual you do not get ‘owt for nowt).

Another important resource is of course software. Just because the operating system provides a locking mechanism does not mean that you can take any CP/M system, run it from two terminals, and neatly share simultaneous data access. This will happen only if the program is explicitly written in the first place to use the locking mechanism. At least two general data management packages are already available which use the McNOS locking mechanism: ‘Superfile’ from SouthData of London (reviewed in PCW January 1983), and ‘aDMS’ from Advanced Systems of Stockport (PCW review shortly).

Multi-user software

Thus in the Signet multi-user configuration we can see hardware which is a simple extension of a single-user system. However, the software extension is not quite so straightforward when moving from a single-user to a multi-user operating system. The need for such a system of course became apparent some considerable time ago. Unfortunately, the first attempts by Digital Research to extend CP/M in this direction ran into a number of difficulties. Therefore Shelton was obliged to look elsewhere, and eventually obtained the McNOS (Micro Network Operating System) system from its originators in the USA. McNOS aims to provide a file store and printer spooling system in the hub processor, plus a CP/M-like environment for each satellite user, and the necessary communications software to link them together. As others have found who have followed the same route, a lot depends on exactly what you mean by ‘CP/M-like’. While a well-behaved program may just use CP/M by calling on it in the approved fashion for any functions it needs to be carried out many other programs also call upon the internal subroutines of CP/M or utilise direct access to its internal data tables.

Indeed, in the early days of CP/M, many programs were forced to employ such dodges in order to work at all. (One well-known package reportedly follows each call to write to a file by a ‘close’ call in order to force the writing of any partially filled buffers; though the file is thus repeatedly closed and never subsequently re-opened, earlier versions of CP/M would still allow the following ‘writes’ to take place.) For such programs any strict implementation of CP/M is sure to stop them running. With additional work by Shelton, these problems were eventually overcome by relaxing the conditions of the CP/M-like environment to permit such dodges to be employed.

In the single-user versions of CP/M such dodges did little harm since, if the worst came to the worst, the user would only upset his own program. In a multi-user situation, however, it must be realised that such dodges, if incorrectly employed by a user program, can upset other users as well. This has to be accepted as the price of making sure that the whole wealth of existing CP/M software will continue to run in the multi-user environment.

Before looking at how disks and files can be shared between several users, I thought I should first check how much delay is introduced into file accesses for a single user with a file which is no longer on his own satellite system, but which is now accessed on the hub through McNOS over the connecting lines. For this purpose I constructed a file of fixed length records, and wrote a simple Basic program which read and then rewrote each record. Records were taken alternately from either end of the file, stepping up from the bottom of the file and down from the top until the two met in the middle, thus ensuring a reasonable spread of disk head movement. To provide a norm for my measurements, I first ran this program in a true single-user standalone CP/M Signet system with floppy disks, and obtained an execution time of 257 seconds. Next I transferred the floppy disk to the hub of the multi- user system and re-ran the program from a satellite. The first thing I noted (cynic that I am) was that the program still ran, and that the floppy format was indeed the same under McNOS as CP/M. Would you now care to guess the execution time running over the network? In fact it was 53 seconds, a reduction of almost 80%! The reason for this of course (and it may be ‘of course’ now, but I confess I didn’t expect it at the time) is that much of the 64K RAM in the hub system can be devoted to file store buffering, thus minimising the number of physical transfers actually needed. (If other users had been running at the same time, they would have taken their own share of these buffers. Where there is competition, McNOS sensibly arranges to keep in its buffers that information which has been most recently accessed.)


Processor/memory card, serial communications card and bus interface to support a single user.

The terminal command language

In the beginning were mainframes, which ran programs in batch mode. Because the user could not direct his program from a terminal but had to think ahead for every likely eventuality, the operating system provided a ‘Job Control Language’ to help in directing the compiling, loading and executing of programs. Some Job Control Languages were so elaborate that they could even be used to solve differential equations (or so rumour had it). Then came the micros and operating systems like CP/M, with very simple commands which could be used from terminals. This command structure could hardly be dignified with the title ‘language’ (even though SUBMIT and XSUB do give the possibility of issuing several commands at once). There does seem a need for a more comprehensive job control language, even on micros, for tailoring packages and giving the user turnkey systems. (Sometimes this is done through a specially written program, or via a general purpose ‘front-end’ package which sits on top of CP/M)

McNOS tackles this situation by providing its own job control language, complete with variables, arithmetic and assignment statements, conditional expressions, and subroutines. All this is of very great power, but at the cost of considerable overheads in processing time. To test this out in a pale imitation of those who solved differential equations with the job control language on mainframes, I coded one of the PCW Benchmarks in the McNOS command language. This ‘program’ is shown in Figure 2. I estimate (since I didn’t feel inclined to wait for the whole 1000 iterations to finish) that this program would have taken over 14,000 seconds to complete (compared with 9.6 seconds in Basic)! Time may not be so critical in more typical job control situations, but it must be possible to do better than this. However you do not need to use it if you don’t need it. It is perfectly possible to stick to a very small subset of the simple commands, which then makes the system very like CP/M. Unfortunately, of course, it can not be exactly like CP/M because it is necessary to maintain a unified underlying syntax capable of supporting the larger language too. As a fairly experienced user of CP/M I must say I had no difficulties with the differences, though they would prevent a novice user from working with a standard CP/M primer as a guide. (I have heard it said that at least one user was so impressed by the McNOS command language that he asked to have it implemented on his single-user CP/M systems as well).


Fig.2. Coding of PCW Benchmark Program 3 in McNOS Terminal Command Language.

Future developments

A user who is just starting on a microcomputer development which requires only one system now but which could expand to become multi-user later, could well choose a Sig/net system for its development potential. If Shelton maintains its record in exploiting its technical expertise, then it would be expected that other developments would be on the way. I understand that one of these developments is the provision of a local area network facility based upon the Datapoint ARCNET approach. This will be used instead of the current ribbon bus to provide high speed communication over much longer distances, and thus permit the siting of user satellite systems away from the central hub. I must point out however that this is not yet an available product or, as Guy Kewney so aptly put it in this same magazine ‘the future is not now…’


The Shelton Sig/net system is based on good hardware and provides good value for money. The system provides a convenient cost effective growth-path for the user who wants to start small but expects to expand to a multi-user system later. The McNOS multi-user operating system provides convenient facilities for users who wish to share data between a number of terminals and a number of CP/M programs, provided this can be done on a scheduled basis (ie, no file being used in update mode by more than one user at a time). It is also possible to share simultaneous update access to the same data files with programs written specifically to take advantage of the McNOS ‘locking’ mechanism. The powerful McNOS terminal command language would be useful in some circumstances, but can be slow to use.

BM1 1.1
BM2 3.4
BM3 9.6
BM4 9.3
BM5 10.0
BM6 18.1
BM7 28.9
BM8* 51.3
Average 16.5
*Full 1,000 cycles  
For a full explanation of Benchmark timings, see PCW November 1982


Prices – Multi-User  
Hub filestore, 1 x 400K floppy  
Hard disk, 5.25Mb (formatted) £2,695
Hard disk, 10.5Mb (formatted) £2,954
Hard disk, 15.75Mb (formatted) £3,195
Hard disk, 21Mb (formatted) £3,500
Satellite case  
1-user (Z80A, 64K RAM, 1 x RS232) £1,100
2-user £1,550
3-user £1,865
Single User  
Z80A, 64K RAM, 2 x RS232  
Floppies 2 x 200K £1,390
Floppies 2 x 400K £1,690
Floppies 2 x 800K £1,890

First published in Personal Computer World magazine, April 1983

Microtan 65 Review


Just another 6502 system? We think not. Microtan’s expandability is almost second to none and it could be a winner.

By Henry Budgett

The ideal system in most people’s minds is one that is as cheap as possible, provides the most facilities, is expandable to the limits of its design and can be obtained piece by piece as the money is saved. Up to now there have been several systems that have sought to achieve these varied aims, and the results have been many and varied.

The machine reviewed here is another contender in this field and certainly seems to be set for success where others have not. Based on the 6502 CPU, the same chip as used in PET and Apple among others, it has several very interesting items to offer.

Concept of A System

The usefulness of a computer on a board is limited, the usefulness of a system with attendant peripherals is much greater. The ideal balance is struck when the single board can become part of a system and thus have the capability of fulfilling the needs of both markets.

Microtan has been designed in this way, the complete system has been planned and is then offered board by board. This review is only going to cover the basic board but mention will be made of the available expansion to construct the system. Table 1 gives details of the various stages that are available, in their various configured forms.

Assembly Or Assembled?

I built the Microtan from a kit, something that I believe is worth doing as you not only save money but you do get an insight into how the hardware is strung together.

Presentation is superb and to anyone who is competent with a soldering iron this should represent no more than an evening’s work. Please note that the PCB is double sided and through-hole-plated so you must use a fine tip on the iron and fine solder otherwise you will have problems.

The manual that is supplied covers all the areas needed to construct the kit and get it up and running. It covers other areas that I will mention later. The only serious omission is the lack of a circuit diagram, but this is being rectified I gather. You will need a power supply, the 5 volt supply that we published in CT serves admirably or you can buy one from Tangerine.

The true test of any kit is whether it works, it did in its basic format and with the graphics option in place but it died when I tried to add the lower case option. Immediate thoughts of dead ROMs were not correct, the eventual culprit was a tri-state device that was permanently tri-stated. Quick work by Tangerine meant that I was back on the screen before the postman had called twice.

Micro Monitor

The old question of “How much can you fit into a pint pot?” rears its ugly head with Tanbug, the 1K monitor supplied as standard. The answer in this case is “Enough!”. At this stage you have a system that can only deal with machine code and a glance at Table 2 will show that there is only one possible omission from the monitor, that of cassette handling. Well, you don’t have a cassette interface yet so what are you worrying about? If you are going to expand to Tanex, which has that necessary interface, you get the routine for handling named files which you can either load up yourself or get in an EPROM that plugs in to a socket and is called through Tanbug. The cassette handling is at a choice of 300 or 4800 Baud so you can’t even boil the kettle let alone drink a cup of coffee while loading programs.

What does Tanbug have that sets it apart from other monitors? Two things really, you get a full listing of the firmware with notes and explanations and you don’t get any bugs, at least I haven’t found any yet. It does all that the Microtan user will require and if you ever get big enough to warrant it there is a bigger version called XBUG lurking in a dark corner.

Manual Means Handy?

The little orange covered book that is supplied is worthy of a mention in its own right. OK, it’s not perfect but it is detailed and concise. One or two errors have escaped correction but nothing that will cause the crashing of programs or other damage. The book fits into a ring binder and will be joined by the manuals for Tanex and the other family members, a neat concept in its own way.

For a change the manual is logical, it explains the concept of the board, then the system, then the details of the 6502 with the complete instruction set and then a very detailed chapter on the monitor and its uses – complete with the listing and finally it gives you a couple of games. It is essential to read the whole thing through from cover to cover before starting to play, the unit is complex and should be understood before anything is attempted.

What You Get

Once the board is built and the manual read you are ready to go. All you need now is a black and white TV and a 5 volt power supply at about 1 amp. Connect up, turn on and hit reset. The screen is covered in a pretty pattern with the words TANBUG at the bottom followed by a prompt character. At this point we find the only serious problem with the system. You have a ? on the screen but you are told that you should have a square blob, have you blown it up? No, you haven’t got the lower case option. It is explained in the manual but it is very unclear and has caused much confusion and alarm both in the office and outside.

So, you have a working system. Machine code programmers can now go and have a ball, the rest of us start learning. If you are a dedicated BASIC person Tanex is a must, throw away the Hex keypad (superb thought it is), plug in the full ASCII, the system works out which you are using, and let yourself go with a 10K Microsoft BASIC.

Points worth of note, and praise, are the rock steady display on your TV, the VDU RAM is only accessed when the system RAM is not so you don’t get the usual flicker, the excellent Hex keypad and the almost unbelievable packing density. Because the system is based around the 6502 comparisons with the Acorn, reviewed in August 79, are almost inevitable. With Microtan you get a proper VDU as opposed to an LED display, a decent keypad that is separate and a slightly more powerful monitor but you do lose the cassette (at this stage).

The Guts Of The Matter


Fig.1. Microtan’s architecture, all on one board to!

Because of a lack of space on the board certain apparently ignored features are implemented at other points in the system. Figure 1 shows the architecture of the board, the keyboard interface is intelligent in that it detects what type is being used. The memory map of the system, see Fig.2, appears to be rather limited, full decoding is done on the Tanex board and gives the map shown in Figure 3. This is not the disadvantage that it might appear to be, it allows the contents of RAM on Microtan to be protected against DMA as are the I/O ports and the ROM area. Whilst on the subject of I/O it is worth noting that you get a 1K area that is addressable as I/O, this compares with a maximum of 256 on devices using the Z80 or 8080.


Fig.2. The simple memory map produced by Microtan


Fig.3. Once you’ve added Tanex you get a proper memory map, which is fairly impressive.

The system expansion is shown in Figure 4, full details of the bus structure are given along with notes for DIY people. The address bus buffer chips are supplied as part of the Tanex unit, so don’t worry about the empty sockets.


Fig.4. How you expand through Tanbus

On Board Options

Despite the fact that the basic Microtan packs in a 6502, keyboard interface, VDU, 1K of RAM and 1K of monitor ROM there is more to come! As seen from the previously mentioned Fig.4 the address bus buffers fit on, but that’s not the end. You can have lower case alphabetics, not essential at this stage, and pixel type graphics, sometimes called “high resolution” but really made up of little squares not dots. Tangerine are quite honest about them and call them “Chunky” which is a very apt description, they are good enough for Teletext simulations and games etc.

Because of the ingenious VDU design it is quite possible to run a program that actually resides in the screen memory without bombing everything, try that on your system.

Expanding Horizons

Glancing back to Table 1 you can see the basis of your system emerging. The rest is coming shortly and completes the story. Tanram will be the next board to go on sale and offers 40K of memory on a single board and this will have the capability of bank selection so RAM freaks can have the odd megabyte or six if they want. You may have realised that the system is now full, see Fig.3. Next on the stocks is Tandisc, offering you the floppies that you dream of, up to four double density units are planned.


The Microtan board installed in the mini-rack


Tanex fits on top in the mini-rack system, along with the power supply and Hex keyboard.

Housing all this exotic hardware need not be a problem either, the case that Tangerine supply will hold Microtan and Tanex complete with power supply. The other style that you could use is a card frame, I am building my system in a Vero unit, assembled from System KM4C parts which also offer such goodies as front panels and modules. However you could design your system to fit into a VDU case and have a self-contained system, it’s up to you.


The author’s system growing inside a Vero rack.

Summing Up

Microtan, and its attendant extras, offer the first time buyer a low cost entry point into computing. Taking a boxed two-board system with all the options, power supply and key board you have a more powerful unit than a PET, it has more I/O capability and at £350 it is a lot cheaper!

The product appears to have been launched with a great deal of thought and planning, in itself a change from some rivals, and seems to have found a niche in the market almost overnight. The only thing it hasn’t got is a “second generation” CPU such as a Z80 or 6809 but that doesn’t seem to be too much of a handicap, the dedicated machine code programmers among you might disagree but no-one else has!

Table 1. The various system configurations for Microtan
Board Microtan 65
Features 6502, 1K RAM, 1K ROM, 6 I/O ports
Options Pixel graphics, lower case alphas, address bus buffers
Need to run TV, Hex keypad, 5V PSU @ 1A


Board Tanex
Features 1K RAM, 16 parallel I/O, TTL serial I/O, cassette I/O, 2 by 16 bit counter timers, full memory map, data bus buffers
Options 6K RAM, 4K ROM, 10K Microsoft BASIC, double above I/O plus RS232/20 mA serial with full modem control


Board Tanram
Features 40K mixed static and dynamic RAM


Board Tandisc
Features Control of four drives
Extras Motherboard, case, power supply, Hex keypad, ASCII keyboard


Table. 2 The available monitor commands on Tanbug
Monitor Command Function
M(add)(term) Modify memory locations, terminator type allows step through, cancel or jump out.
L(add),(numb)(term) Lists the contents of specified memory locations in tabular form.
G(add)(term) Sets internal registers and executes program at address given. NB cursor disappears.
R Sets memory modify command to register mode. Allows the 6502s internal registers to be altered.
S Sets single step mode, see P & N
N Resets to normal mode from single step
P Causes monitor to execute next instruction, can be set to execute n instructions. Gives display of all registers and returns to monitor.
B(add),(numb)(term) Sets breakpoint at specified address, up to eight are allowed. All registers are displayed and P command may be sued to continue.
O(branch add)(dest add)(term) Calculates offsets between specified addresses for use in branch arguments.
C(start add)(end add)(start add dest)(term) NB (term) can be CR, LF or SP Copies memory locations and blocks.

 First published in Computing Today magazine, June 1980

Zenith Z89 Reviewed

Zenith Z89_001

Heathkit’s entry into the world of small systems could represent a breakthrough in affordable computing.

By Ron Harris

The Zenith Z89 is a dual processor system based upon the Z80 CPU chip. In effect it is two machines in one box. The VDU has its own controller, totally independent of the main CPU. Standard memory configuration is 48K of user RAM with 8K of system RAM and ROM. The keyboard is a fairly standard QWERTY affair, with a 12 key numeric pad also adorning the front panel. The VDU has… look – hold it here a minute. This machine has more facilities than I’ve had hot dinners and if I go on listing and describing we’re all gonna be here until the sun goes cold and England win the World Cup again.

Table One is a summary of the hardware features of the system and after you’ve glanced down it I’ll go over some of the more interesting abilities possessed by the unit.

Any Port In A…?

Zenith Z89_005

Expansion possibilities revealed

There now. That didn’t take long. One thing not mentioned are the output ports to allow for the hanging on of peripherals. These are RS232 standard with a data rate of between 110 and 9600 bps, user specified. Parity can be odd, even, or anything else you can dream up, it is flexible.

The system as a whole is exactly that – flexible. The machine makes use of its size to offer the user a flexibility and potential undreamed of – and undreamable – in the lower priced computer systems.

At this price, which could be described, at present, as lying above the high priced home machines, the Sorcerors and the rest and yet below the lowest end of committed business systems, who can be expected to seek out and purloin a Z89? Well, anyone needing a very versatile and powerful computing tool, with an excellent built-in disc facility and great ‘keyboard’ power would be advised to look here. The Z89 can be an absolute top-class home system, or a very useful business machine for the smaller company, take your pick.


Fig. 1. And this is just a system diagram!

It seems to fulfil what many of the earlier machines promised – but fell short of. It is truly a complete, yet expandable, computing system. It arrives with built-in disc drive and facility for adding on an external Z87 dual disc. Each ‘diskette’ has 100K of storage and is of ‘hard sector’ type, which means that the size of each sector is hardware determined by the PCB, not by the software controller. This in-turn means that the sector size is fixed. Sectors are allocated to files in ‘increments’ of two ‘256-bytes’ as required by the operating system.

What Comes With…

Heathkit supplied us with all the manuals you ever dreamed of, including the one for the WH 89 – the kit version of the Z89. Mind you, kit is a misnomer really, as most of the PCBs arrive assembled! Module assembly would be a better term. As usual for Heathkit, the documentation is faultless, if a little daunting in this case. We got a huge binder for CPM, one for HDOS, another two for BASIC and a three inch thick WH 89 manual with circuit diagrams. The latter are complete down to component level, with full overlay documentation.

Well, I’ll believe they’ve thought of everything – lest ten more manuals drop through my desk. You know, with all this paperwork – most of which contains a “What to do first” section, couldn’t they add just one more little bit? A small, totally separate, approachable little pamphlet for each configuration, telling you how to get it up and DOING something, as opposed to sitting there humming gently and looking smart. On behalf of all the people who will buy this machine, take it home, put the plug on, switch on get “H:” on the screen – and get that empty “Oh God what now?” feeling in the pit of the stomach, PLEASE Heathkit?

Still, back-up looks like being very good and I doubt if even the most obnoxious purchaser would find himself turfed out in the street, box in one hand and manuals in the other.

Heathkit were very helpful indeed to us – even putting HDOS onto each of the discs they loaned us to save messing about having to keep shuffling the source discs.

Zenith Z89_002

The hard sectored disc can be back up by two external brothers.

Zenith Z89_003

All neatly packed in with acres of room to service.

Soft Touch

After experimenting with both the CPM and HDOS we were provided with, I developed a preference for HDOS to the extent that CPM stayed in its folder after the first couple of runs, unbidden while HDOS spun its triumphant way across the heads.

Somehow HDOS is simply more usable and flexible – it lets you get at the material it is handling with the minimum of interference and the maximum facility. The perfect librarian, in fact – and what else can you ask from a disc operating system?

The folder for HDOS is very well written and produced and the opening chapters nicely sectioned with “First time through” lists every now and then to help a new convert learn his art. That little pamphlet I wanted could be no more than these sections extracted and re-presented. As it is, if you don’t know where to look you’ll never find it!

My advice to any new or aspiring owner of a Z89 is to sit down, with a cup of tea and the HDOS manual and READ IT. It is approachable and conversational in style and easy to digest, managing to avoid the usual half incomprehensible flood of abbreviations and jargon that swamps some rival efforts. A new user needs to be told what he has obtained for his money, not shown what a clever little boy the manual author can be. Heathkit could hold classes for the opposition on producing manuals – if any of them would bother to go, that is.


Fig. 2. Schematic of the elephant’s brain!

Side One, Track One

Supplied with the Z89 is a ‘distribution diskette’ as they call it, containing the operating system, HDOS, with a few very useful little ditties, like BASIC, DBUG, EDIT and ASM. I’m afraid that in the space I have in this magazine I can do little but whet your appetite as to the scope of these files. Suffice it to say:

  • BASIC an extended 16K BASIC with all that implies. This is the ‘Benton Harbour BASIC’. Microsoft BASIC 80 is also available, but requires 28K of RAM, and thus will run best on the minimum of a 32K system. No problem with a Z89. This includes line renumbering, amongst other things, and sufficient facilities to make any BASIC nut offer up an arm or two.
  • DBUG makes use of HDOS to allow for full debugging of machine-code programs. Will display and alter the contents of any specified memory location, or 8080 compatible register; will execute a program either completely, or line by line; will load or dump programs onto discs, printers VDUs etc; and will insert ‘breakpoints’ executing several instructions then halting with control returned to DBUG.
  • EDIT the Heath Text Editor. Will do nicely as a word processor, providing good editing facilities with 15 editing commands. You could write the annual report on this – or a note home to granny asking how the budgie is doing. Works very well too for editing BASIC programs.
  • ASM Heath Assembly Language Program. Once you’ve got used to the EDIT you can use ASM to run source programs on the Z89. For best use you will have to know the 8080 pretty well.

As I said before there is much much more to these titles than I could get into a single issue. All I can do is recommend the supplied software very highly. It is well thought out and nicely tailored to the system. Useful and useable.

Hard Times

Zenith Z89_004

One of the two main circuit boards with its daughters

With the hardware configured as two interactive portions we have a potentially very powerful beast and a potentially confusing one. The key to the whole operation is a little key tucked at the top left of the keyboard. Called OFF LINE, it means exactly that. Press this down and you disconnect the computer from the keyboard and screen (Fig. 3). This means of course that you can go on typing until your fingers drop off but the computer is totally ignoring you.


Fig. 3. A Trap for the unwary

The advantages are great. The cursor can be shifted around, lines cleared – even screens cleared – without code transmission and hence the program knowing about it. Of course if you forget to put it back on-line………………………

There are eight user definable keys strung along the top of the board, which you yourself can set up to be something worth using – instructions are of course provided to do this.

Having an intelligent keyboard takes some getting used to after more basic systems, but it is a luxury you soon learn to live with, I promise you!

First Blows

It might be illuminating to go through how you get the Z89 to run a program from scratch. Let’s choose BASIC as an example, assuming that your distribution disc supplied with the machine contains Microsoft BASIC (MBASIC).

At switch-on “H:” appears in the top left of the screen and nothing else. You place your disc into the drive – getting it the RIGHT way around and type “B”. The screen turns this into “BOOT” and a RETURN will bring you a “TYPE SPACES TO DETERMINE BAUD RATE”. You now have to hit the space bar repeatedly for a few sections so that the system can pick up the speed at which your terminal operates. Then “ACTION? < BOOT >” appears and a RETURN gets you “DATE [DD-MMMYY] ?” This is simply so the system can preface all your files with the origination date. Type it in and RETURN. A “ > ” now appears and you have loaded HDOS.

HDOS contains a test and a diagnostic routine, but we’re after BASIC, so all we have to do now is type in the file name, MBASIC and wait until the clicking and flashing from the drive ceases. The screen will display the header for Microsoft BASIC, telling you which issue it is and how much RAM you’ve got left to play with. If you’re a small systems man, being told that 21K remains free will probably induce feelings of inadequacy. Fear not. It is all under your control………(isn’t it?)


Impossible to do. Summarising a machine only slightly less complex than the Secret Of Life is too much for me to cope with. My own impression of the Z89 is that it is a well designed, flexible, well supported computer that knocks the opposition sideways. It would be equally at home on a dining-room table or an office desk and should be examined very carefully if you have this amount to spend on a system. It is worth the extra for its flexibility and power.

I wonder if Heathkit would accept a slightly used soul as down payment…………..?

Table 1. All these features add up to an awful lot of power and flexibility.
Processor Z80
Clock 2.048MHz
Memory 48K bytes RAM. 8K for systems ROM and RAM. 8K reserved.
CRT 12” diagonal, P4 phosphor
Display Format 24 lines of 80 characters, plus 25th user status line.
Display Size 6.5” high x 8.5” wide
Character Size 0.2” high x 0.1” wide (approximate)
Character Set 128 (95 ANSII, plus 33 graphics)
Character Type 5 x 7 dot matrix (Upper case); 5 x 9 dot matrix (lower case with descenders)
Keyboard 72 keys (60 alpha-numeric, 12 function control) plus a 12-key numeric pad
Cursor Blinking or reverse video block or off
Cursor Controls Up, Down, Left, Right, Home, CR, LF, Back Space and Tab, from keyboard or computer
Cursor Addressing Relative and direct
Tab Standard 8-column tab
Refresh Rate 60Hz at 60Hz, 50Hz at 50Hz line frequency
Edit Functions Insert and delete character or line
Erase Functions Erase line, from beginning of line to end of line, erase page from beginning of page to end of page
Bell Audible alarm on receipt of ASCII BEL
Video Normal and reverse character

First published in Computing Today, June 1980

Samson Reviewed


Underneath a new exterior the Samson reveals itself as an original ‘Mighty Micro’.

By John Fitzgerald

When the Editor slipped me a Samson-1 with a request to review it, I wondered what I was getting. It was a pleasant surprise to discover that the Samson is just a Sym-1 in a smart plastic case. I had played with a Sym for a few days some months before and was pleased to get my hands on one again. If you are thinking of spending your hard-earned cash on one of these space-age toys, you need to know one thing. Is it any good? I am happy to report that the Samson is good – very good.

The Samson-1

For the technically minded, a functional block diagram of the system (Fig.1) shows the major hardware features of the Samson and indicates some of the many expansion options available. The computer is housed in a two-piece plastic case. The upper section is pivoted on two plastic studs making it “click-fit” and thus easily removable. A clear plastic cover may be slid down to cover the keyboard and display. I found it easier to remove the lid completely as even with the cover slid out of the way, access to the keyboard is severely limited; requiring an awkward vertical stabbing motion.


Fig.1 System architecture of the Samson/Sym. Enough to satisfy most single boarders.

The Samson is supplied fully assembled with two comprehensive manuals and a programmer’s reference card included. The only extras required are a 5V 1.5A power supply, suitably protected against overload, and a cassette recorder for low-cost program and data storage.

A high quality, double sided printed circuit board holds all the components including a 28 key ‘spongy-plastic’ keypad and a 6 digit 7 segment display. Also included is a piezo-electric ‘bleeper’ similar to those used in digital alarm watches. This gives an audible response each time a key is pressed making use of the keyboard a much more certain operation. Of course, it is all under software control and yes, you can play tunes on it! The ‘debug’ function is achieved with a hardware connection and this key does not give an audible response. However, the reference manual includes details for connecting a LED indicator which would easily remedy this omission. Though designated on the functional block diagram as a ‘Hex’ display, the on-board LED display consists of six standard seven-segment units resulting in the usual ‘abbreviated’ representation of the alphanumeric character set. The red display is nonetheless quite bright and easy to read. Use of a small piece of Polaroid would make it even better. A red plastic filter was included with our unit.

Sockets are provided for the MOS integrated circuits. Make sure the chips are fully inserted before applying power. A nice feature is the provision of blank sockets on the board enabling the memory to be expanded up to 4K and extra input-output to be fitted by simply plugging extra chips into the appropriate sockets. Extra RAM and a port expansion and connector kit are available as part of the Samson system. The overall layout of the printed circuit board is clean and uncluttered and component and connector positions are clearly marked on the component side in white ink.


Fig.2 The Sym/Samson keyboard layout.

The documentation supplied with the Samson deserves a special mention. As well as a reference card containing op-codes, system addresses, etc, two manuals are supplied. One features all the information that you will ever need to know about the processor’s instruction set while the other contains essential data for the hardware orientated enthusiast as well as complete data sheets on the major LSI chips. Both are produced on good quality white paper with a wealth of diagrams and useful hints. These are the kind of books that cost you a fiver each in the shops and they come as standard issue with the Samson computer.


The heart of the system is a 6502 microprocessor running at a 1MHz clock frequency. This will be familiar to computer buffs as the 6800 derived powerhouse used in the KIM, PET, Apple, Acorn and Tangerine systems. (I wonder why hard-headed manufacturers choose such fruity names!) There are two 6522 Versatile Interface Adaptors in the basic system which handle input-output. These also contain software programmable timers which can be configured in numerous ways. In short, as their name suggests, they are versatile – very! Provision is made on board for insertion of a third 6522 if you can think of a use for it that is not already provided for. The board fairly bristles with connectors. These are high quality double sided, gold plated pads and mating sockets are provided either with the basic unit or are available as part of an expansion kit. Also present is a 6532, RAM, I/O, timer array which offers many features comparable to those offered by the 6522. What makes the 6532 special is the inclusion on-chip of 128 bytes of random access memory. This is software write-protectable and is used by the monitor to store system vectors and as scratchpad memory.


As well as the RAM contained in the 6532, 1K of RAM is provided in the basic system in the form of two 2114 (1024 x 4) chips. One 4K ROM chip holds the ‘Supermon’ monitor and there are spare sockets for an 8K BASIC interpreter and a resident assembler-editor. Pairs of 2114 chips are available as the ‘Samson Static RAM memory’ enabling expansion of the on-board RAM in 1K blocks up to 4K.


The ‘Supermon’ monitor is the largest I have come across in a single board computer… and it does not stop there. Expansion is possible through the use of eight undefined keys (USR 0 thru’ USR7). These normally return control to the monitor via a vector address written into system RAM. By changing this address to point to a user written routine you can expand the facilities offered by the monitor in any desired way. Excellent and extensive hardware is provided on the Samson board and this is well used by the monitor which supports the following input-output and storage media:-

  • TTY – selectable current loop
  • VDU – RS232 interface. Baud rate is automatically determined by the monitor at log on.
  • Paper tape – data is stored as pairs of ASCII characters.
  • Audio cassette – two formats are available. The low speed system is KIM compatible and operates at 8 bytes/sec. A high speed mode is also provided and runs at 185 bytes/sec. A simple program is included in the reference manual enabling the generation and use of SYNC tapes facilitating adjustment of the cassette recorder. One with both volume and tone controls is recommended.
  • Oscilloscope display – this enables a single line of text containing up to 32 characters to be displayed on a conventional ’scope which is all you need to supply. A suitable software driver is included in the reference manual and instructions are given for generating your own character set.

The extensive use of command vectors enables the Samson owner to direct input-output to any chosen device(s). Some examples of how to do this are given in the manual which also contains a complete and legible listing of the monitor. This facilitates the use of monitor routines in your own programs and is an aid to anyone learning to use machine code. Table 1 shows the monitor commands and their function.

KIM Compatibility

The Samson is designed to be generally upwards compatible with MOS-Technology’s single board KIM computer. In practice this means that some of the connectors are different; for example, the Samson uses a separate connector for the power supply, and some of the signals are absent or renamed. Though both machines use the same microprocessor, the 6502, they are not directly software compatible. Inconsistencies include timer addresses and a number of monitor routines. Those most likely to concern the prospective user are the keyboard and monitor sections which feature most strongly in pre-written KIM software; for example, in the ‘First Book of KIM’. It is possible to use programs from this source. However, you will have to provide some software links to the Samson system. These are best provided in the form of subroutines which can be called when required. Here’s a tip. Remember that you must call ‘ACCESS’ before you can even begin to think of getting at the LED display.


For anyone who turns white and shivers at the first mention of machine code, those nice people at Samson (Synertek – why pretend?) have come up with an 8K BASIC Interpreter. Supplied in the form of two 4K ROMs, it only requires plugging in to the sockets provided and a couple of wire jumper changes to be up and running.

With BASIC installed, following power-on, a TTY is logged on from the Hex keyboard or a VDU is logged on by typing ‘Q’. The monitor responds with a prompt Now if J 0 (CR) is entered, BASIC responds by asking for the memory size to be used. Any value greater than 512 bytes may be entered. BASIC will use all contiguous memory from location 0200 (Hex) to the value specified. This enables space to be reserved for machine code routines. You will then be asked to specify terminal width which determines the output line width for PRINT statements only. There is a default value of 72 characters though any value between 1 and 255 may be used. BASIC will then type out the number of free bytes, Synertek’s banner and ‘OK’. The prompt character (.) is replaced by a flashing cursor if you are using the Samson terminal.

There is no space here for a full description of the BASIC. It seems to have everything you would expect from an 8K interpreter and includes commands enabling you to use machine code routines in your programs. A sixty-page manual contains a brief history of BASIC with notes on its implementation in the Samson system and some worked examples and details of common pitfalls. There is certainly nothing wrong with the BASIC provided and it is good to see it offered as part of what looks at first glance like a simple development kit. However, I cannot help feeling that, if you want to talk BASIC, you should just go out; buy a PET, put the Programmer’s Toolkit on it and talk to that. PET speak heap good BASIC!… and the screen editing and graphics capabilities are excellent for a black and white system. The Samson is a superb piece of hardware with excellent software support and it seems foolish to ignore all that just to talk pidgin English!

Samson In Orbit

The Samson Satellite consists of yet another Synertek product, the KTM-2, in another plastic case. This is a full-size keyboard mounted on a single PCB which also contains circuitry to drive a display monitor. There are two models differing primarily in the number of displayed characters per line. The 40 character version may be used with an ordinary television while the 80 character unit requires a video monitor. An RF modulator is not supplied with either unit and must be purchased separately. Power requirements are simply 5V at about 1 amp.


A typical screen dump showing the squashed display. The Hex pair on the right is the checksum.

The keyboard consists of 54 keys which enable the full ASCII set and 128 graphics characters to be generated. Graphics and alpha-numerics may be displayed simultaneously and the cursor may be software driven using absolute or relative addressing. There are two full-duplex serial communication ports enabling the Satellite to interface to a computer and printer simultaneously. Transmission rate is adjustable between 110 and 9600 baud. There are eight ranges selected by three switches. Other switch selectable functions include:

  • even, odd or no parity
  • interlaced or non-interlaced display (an interlaced display may appear to flicker on a screen with a short persistence phosphor.)
  • line truncate or wraparound
  • choice of 50Hz or 60Hz frame rate.

Almost everything in the Satellite responds to automatic control. The cursor may be moved, screen cleared, graphics selected or deselected and reverse video turned on or off: all under software control. You enable the auxiliary communications port with an ASCII control code too!


How characters are made up on an oscilloscope display.


What you get when you jump to BASIC.

As you will see from our photos, the Satellite’s character rows are very close. This was done primarily for the graphics characters to connect in a vertical direction but does result in a rather cramped display with an awkward aspect ratio. One or two extra scan lines may be added by re-configuring some jumpers on the PCB. Full details are given in the 40 page A4 size manual which includes all the technical data required and adds some hints for users operating Synertek BASIC.


Fig. 3. The graphics set of the Satellite terminal.

The Satellite is a well produced unit offering many sophisticated features and makes a good companion to the Samson-1. In conclusion, the Synertek BASIC and Satellite terminal are good. The Samson (Sym-1) is very good indeed and deserves to find wide acceptance in this country. If this article has whetted your appetite, all you have to do now is come up with the cash, go out and get one!

Table 1. The Supermon command set.
Command Function
M Display-modify memory
R Display-modify user registers
G Restore user registers, resume execution from PC
V Display 8 bytes of data with their checksum
D Deposit data from keyboard to memory
C Calculate using Hex arithmetic, displacements etc.
B Block move in memory
Jump (0-7) loads PC with address from system RAM
SD Stores a double byte
F Fills block of memory with chosen byte
W Write protect user RAM in 1K blocks
E Adjusts monitor to receive input from RAM
51 Save cassette tape KIM format
52 Save cassette tape high-speed
L1 Load KIM format tape
L2 Load high-speed tape
SP Save paper tape
LP Load paper tape
CR Carriage return
+ Advance 8 bytes
Retreat 8 bytes also used as delimiter
> Advance one byte or register
< Retreat one byte
USR0-7 User defined keys
SHIFT Select upper case
RST Reset
DEBUG Hardware debug function
ASCII Next two keystrokes combined to form one ASCII character.


Program to make the bleeper bleep, alter value at 011C to change note pitch
  100 20 88 81 JSR SAVER
  103 A9 0D   LDA 0D
  105 20 A5 89 JSR CONFIG
LOOP 108 A9 08   LDA 8
  10A 8D 02 A4 STA PBDA
  10D 20 1B 01 JSR
  110 A9 06   LDA 6
  112 8D 02 A4 STA PBDA
  115 20 1B 01 JMP LOOP
  11B A0 50   LDY 50
  11D 88     DEY
  11E DO FD   BNE FD
  120 60     RTS

First published in Computing Today, June 1980

Music Hardware


Kendall Wrightson opens the lid on electronic music

Major electronic musical instrument manufacturers such as Yamaha, Roland and Sequential Circuits have not been slow in incorporating the latest technology into their machines. The rate at which synthesisers, sequencers and drum machines appear is almost as staggering as the facilities they offer.

Most home computers have sound facilities. The better ones, musically speaking, like the CBM-64 can produce reasonable results if you have the patience and aptitude to write your own programs.

Dedicated synths involve a lot of clever hardware as well as software and the more professional musical home computer packages either include extra hardware such as voice cards to transform the micro into a synth, or use the micro to control a dedicated synth as we shall discover.

Synthesisers utilise many techniques to create imitative sounds. The most common method, known as subtractive synthesis, involves control of the frequency of one or more oscillators from a music keyboard, guitar or computer.

The oscillators produce wave forms of complex harmonic structure, like triangle, sawtooth and square waves. These wave forms are then modified by a sort of special tone control called a filter.

Varying the filter’s cut-off frequency removes harmonics of the complex wave form – hence the term subtractive. However harmonics may also be greatly emphasised by increasing the filter’s resonance or Q.

The filtered tone then enters an amplifier, but will sound uninteresting to the human ear, because it is static. This is overcome by generating modulation signals which can be routed to the filter, the amplifier and the oscillators. These modulating signals may be generated by low frequency oscillators or LFO’s, velocity and pressure sensors fitted to the keyboard, and by performance controls.

One special kind of modifying signal is an envelope – so called because of the way it shapes sound. The envelope’s parameters, attack, decay, sustain and release – ADSR – are set up by the user. When applied to the amplifier, the envelope shapes the volume of the sound applied to its input in the following way – having played a note, the attack rate controls the time taken for the sound to reach a maximum level. Decay is the time taken for the sound to reach a sustain level. The sound will remain at this sustain level until the key is released whereupon the sound will die away at a rate dependent upon the release setting – see figure 1.


Figure 1. ADSR envelope.

A collection of control settings is called a patch. Before the advent of the microprocessor and cheap memory, a change of patch involved twiddling all the control knobs to their appropriate positions – a somewhat time consuming activity, particularly during a live performance!

These days life is made easier because patches are stored in memory and may be instantly recalled. Modern synths also allow patches to be saved to and loaded from tape.

Other methods of synthesis include frequency modulation techniques or FM, additive synthesis and more recently, the sampling of real sounds. However, the terminology described above may be applied to any method of synthesis.

Simulating drum sounds electronically is extremely difficult. For this reason contemporary drum machines use samples of real drum sounds. The sounds are digitised through an analogue to digital converter – ADC – and stored in Eprom. So when you hit the trigger pad or press the button, the Eprom’s contents are clocked out through a digital to analogue converter, or DAC, under microprocessor control.

Real time recording on a drum machine means hitting pads or buttons to an accompanying metronome click. The data provided from this activity is then stored in memory. Thankfully, timing errors can be automatically corrected if desired.

Individual rhythm patterns are each assigned a number so that they may be chained together to form a “song”.

For those of us with no intention of hitting buttons in time with a metronome, some machines offer step time programming. In step time, a number of beats to the bar is chosen. Then decisions are made regarding which drums should sound on which beats.

A home computer could make step time programming easier by displaying information on a monitor. Software is becoming available for the Apple IIe, which links via RS-232 to the Drumulator machine, to perform this very task.

MPC Electronics went one step further by incorporating a ZX-81 as an integral part of the percussion computer. The ZX-81 is connected via an interface unit which also contains the software it runs. The addition of the Sinclair 16K RAM-pack increases the machine’s memory, while the software allows the loading and saving of patterns, as well acting as a visual aid to composing.

Sequencers, like drum machines, record data with respect to time. The difference is that sequencer data represents keyboard depressions and the length of time that keys are held down, so why not make a conventional analogue recording?

Well, first, a sequencer can play back at different tempos, without affecting pitch. Secondly, the sequence may be played back using a different pitch to the one it was programmed with. Thirdly, sequencers offer the non-musician the chance to compose music through step time note entry, where pitch and timing information is entered separately.

Again, like drum machines, sequences can be chained together to form “songs”. The sequence order can be changed if it is unsatisfactory.

Originally, synthesisers used to generate a control voltage or CV – proportional to the pitch played, and a gate signal – in proportion to the length of time a key was held down. It was these signals, after analogue to digital conversion, that sequencers used to record. This was fine for synths which were capable of playing only one note – monophonic – since it would require only four cables to connect a synth to a sequencer for record and playback.


Modern integration developments have led us to eight and 16 note polyphonic synths. The problems encountered in connecting up 32 cables from an eight-note polysynth to sequencer do not encourage musical spontaneity! The situation is further aggravated when you discover that different synths use different CV and gate voltages!

However these, and other problems have recently found a solution in the development of a data protocol for electronic musical instruments called MIDI or Musical Instrument Digital Interface.

MIDI is a new word to add to your vocabulary of computer-speak. It came about, like MSX, out of a need to standardise a very non-standard world. Things begin to get very exciting when synths, drum machines and sequencers operate together as an integrated unit. However, before MIDI was agreed by the major synth manufacturers, it was difficult to get excited about such things due to the inherent non-compatibility of products.

Each drum machine had its own way of telling the outside world it had started, then there’s the sequencer problem mentioned earlier.

MIDI cures such problems, as well as allowing the transfer of much more specific messages.

Physically, MIDI appears as two or three 5-pin 180 deg. DIN sockets on a synth, drum machine or sequencer – MIDI In, Out and Through. The MIDI Through socket outputs a direct copy of data entering the MIDI In socket. A manufacturer does not have to fit a MIDI Through facility. Only two of the five DIN pins are used, so MIDI transmits and receives data serially.

This particular facet of MIDI was heavily debated because it was felt by some manufacturers that a serial link would be too slow. In practice there have been complaints of noticeable delays when transmitting keyboard data to more than three synths at once. However, the convenience of using single 5-pin DIN leads rather than multicore cables must have tipped the balance for the supporters of serial transmission.

MIDI runs at 31.25 Kbaud asynchronous. The word format is shown in figure 2. So, to MIDI-fy your micro, wire up an asynchronous communications interface adaptor or ACIA, like the Motorola 6850 to the expansion orifice of your micro. Address the ACIA nicely and tell it to transmit and receive as in figure 2, i.e., one stop bit, one start bit and no parity.


Figure 2. MIDI serial

Wire the ACIA transmit output and input to appropriate 5-pin DIN sockets.

Don’t forget to opto-isolate the MIDI In input otherwise nasty earth loops could develop. Now write some brilliant software and make lots of money! Seriously though, for anyone considering designing their own interface, the MIDI hard and software specification is available from the MIDI Users Group, 8426 Vine Valley D.R. Sun Valley, CA91352, U.S.A.

The MIDI data format is divided into two categories – channel commands and system commands. The channel command format allows for 16 unique channels for communication between instruments.

One of the most fundamental tasks MIDI must allow is for one synthesiser to play another. The channel command structure gives three ways or modes of performing this task.

In omni mode, all synthesisers connected together will transmit and receive on all channels. In poly mode each synth is set by the user to receive on only one channel. The synth will therefore ignore any incoming data which is not on its assigned channel. Figure 3 shows a typical poly mode set up. Note that Synth A. is used as the MIDI transmitter!


Figure 3.

Mono, the third possible mode, allows the allocation of different MIDI channels to individual voices within one synth. This opens up the exciting opportunity of one synth playing different patches on each voice. However, at the time of writing, the only reasonably priced synth capable of mono mode operation is the Sixtracks made by Sequential Circuits.

Let’s take a meaningful example – suppose a middle C is played on a synth. In the MIDI scheme of things this is called a note on event. Three bytes will be transmitted from the synth’s MIDI Out socket to represent this:

First Byte – 1001 nnnn

Where 1001 means note on event and nnnn is the MIDI channel number (0 to 15)

Second Byte – 0kkk kkkk

Where kkk kkkk is the key number – 0 to 127 semitones

Third Byte – 0vvv vvvv

Where vvv vvvv is the velocity at which the note was played (0-127 levels). So, if you delicately stroked the key, you would generate a velocity byte equal to 1. If, however, you hit the key with a large mallet, you would generate a velocity of 127 – this practise is not advised.

Synths which do not have velocity sensitive keyboards transmit a velocity byte of 64 (decimal) as a de-fault value. So, if a middle C was played on a non-velocity sensitive synth set to MIDI channel 1, the data transmitted would be:

144,60,64. (decimal)
90,3C,40. (hex)
10010000, 00111100, 01000000 (Binary)

Other channel commands include note off event – 3 bytes – and patch change request – 2 bytes.

The second category of commands, systems commands, is divided into three types: system common; system exclusive and system real time.

System common commands are those intended for all devices in the system. An example is asking synths to tune their oscillators, a tune request – 1 byte.

System exclusive commands are those applicable between instruments of the same internal design. The system exclusive command, 240 (decimal) is therefore followed by a number representing the manufacturer – Sequential Circuits’ number is 01.

The number of bytes which follow is dependent on the nature of the data to be transmitted. An end of system exclusive is flagged by transmitting 247. Examples of system exclusive information are patch dumps and specific control knob changes.

The third category of system commands, system real time, are those messages concerned with synchronisation. They can be transmitted at any time by sequencers or drum machines. Examples are, Start, Stop, Reset and Timing Clock. The timing clock pulses are sent at a rate of 24 clocks per quarter note. Most MIDI drum machines and sequencers have Trigger, Clock or Sync outputs like their non-MIDI counterparts so as not to alienate customers with pre-MIDI equipment.

A micro fitted with suitable MIDI interface could perform wondrous tasks as part of a MIDI set up. Here are some examples:

  • Sequencer
  • Patch data dump to take on disc.
  • Patch data display.
  • Music transcription.
  • Intelligent arpeggioator.
  • Educational software.

The following is a survey of commercially available interfaces and software for home micros. The list is not exhaustive, the criteria being to cover as many micros as possible.

CBM 64

Sequential Circuity, the pioneer of MIDI, has taken the CBM-64 under their wing and come up with a 400C note real time sequencer called the Model 64.

The Model 64 allows overdubbing, auto time correction and transposition. Its six tracks can be chained together and both sequences and songs may be dumped to tape or disc. A drum machine sync input is provided, although sequences may be recorded without a drum machine connected.

Passport Designs – designer of the Soundchaser software – will shortly be launching a MIDI card for the CBM-64. The card includes MIDI In, Out and drum sync connections. The MIDI/4 software provides 16 real time tracks, each of which can be assigned its own MIDI channel and instrument name.


The MIDI/4 software can also run on an Apple II or IIe using Passport’s Apple interface card. This card is also used for music transcription software called Polywriter. The software is a four note polyphonic version of the Notewriter monophonic transcriber for the Soundchaser system. Polywriter allows printouts in eight different formats, ranging from single, treble and bass clef parts, to large orchestral stores.


The ZX Spectrum is popular among the small entrepreneurs, like Upstream whose software consists of a six track, 3500 note real/step time sequencer. The interface, which is included in the overall price of £179, boasts a trigger output along with MIDI In, Out and Through connections. Optional extras include editing facilities and a dot and stave graphics display.

XRI Systems is asking £108 for its MicronMidi interface and software for the Spectrum. Micron is an 8,000 note real time sequencer with MIDI In, Out and Through connections as well as a trigger output. The Micron can also handle step time note entry in eight tracks, each of which can hold 3,000 notes. Tracks may then be merged or “bounced’’ onto on track to make space available for further recording.

Yamaha CX5

If you are considering changing your micro, then Yamaha’s MSX computer, the CX5 may well be worth the wait, it is expected in November.

The CX5 is actually going to be marketed as a musical instrument as well as a home computer in this country, due to the fact that it comes fitted with MIDI interface and an FM voice module as standard.

The Yamaha CX5 is not the same as the Yamaha Y1S503 MSX computer reviewed by the British computer press recently.

Having typed Call Music, the CX5 becomes an eight note polytechnic, 48 patch synth. There is also a rhythm box which unfortunately is rather weak.

The CX5 also allows 48 of your own FM synth patches which are used in the CX5’s built-in real time sequencer. The CX5 is expected to retail for about £560, fair dos for its synth facilities alone.


The BBC Model B gets the MIDI treatment from Electro-Music Research (EMR). Its Miditrack software is step time only onto six tracks, however dynamics can be programmed. The Interface which connects to the Beeb’s 1MHz Bus, provides MIDI In, Out and drum machine synchronisation facilities. The interface and software is expected to go for about £120.


  • MIDI, though still very young, has definitely caught the imagination of both manufacturers and public. Its now almost impossible to sell any electronic musical instrument that doesn’t feature MIDI in its specification.
  • Both the Soundchaser and PDSG systems are likely to incorporate MIDI shortly.
  • At present, the cheapest polyphonic synthesiser with MIDI is about £650; the cheapest MIDI drum machine is £950. So, assuming you use a MIDI home micro as the sequencer, a professional set up is going to cost about £1,750. However, the prices of synths and drum machines has been falling sharply over the past five years and this is a trend that is sure to continue.
  • It’s clear that there are plenty of ways of getting extremely musical with your micro, even if your micro has not expressed a musical bent in the past. Why not take the plunge? It could prove to be a very rewarding experience.

Casio – ZX Spectrum

Casio has been producing electronic keyboards by the million in the last few years. Indeed a recent survey asking young people to list their favourite toys, had portable keyboards up at the top of the list along with micros and BMX bikes.

It is good to know that you can now link a Casio MT-200 portable keyboard to a ZX Spectrum – and most other popular micros – via the Casio PA1 interface. The software, listed in the MT-200 manual turns the Spectrum into a sequencer with editing facilities.

Alternatively the software is available on cassette from Micro Musical Limited, which is also working on a system called Microlink 2. This will allow the linking of two existing Casio models – the MT800 and PT-80 – to the Spectrum to provide a sequencer which can also turn the Casio auto-rhythms on and off.

Soundchaser for the Apple

The Soundchaser turns an Apple II or IIe micro into a dedicated synth, through the insertion of three cards into the Apple’s magic slots. Also provided is a four octave music keyboard.

Passport Design’s Four Track Performance Software makes the Apple act like an eight voice polyphonic synth. There are two soft oscillators per voice, each with independent ADSR’s and one LFO which can independently frequency modulate either oscillator.

Because the oscillators are soft, you can edit existing waveforms or waves on the VDU, using a joystick or create your own. You can also build up a wave by controlling the amplitudes of a table of 16 harmonics. This is additive synthesis mentioned earlier.

All waves displayed may be printed, as can voice parameters.

The Soundchaser also provides a filter, and although you cannot control it dynamically with the ADSR envelopes, it’s possible to type in the cut off frequency then see as well as hear the result. It is this combination of both additive and subtractive synthesis which makes the Soundchaser produce such a wide variety of sounds.

Also included in the software is a fourtrack real time polyphonic sequencer, although step time editing software is available. The sequencer allows four different patches to play up to eight notes simultaneously. All voice and sequencer information can be stored on disc as wave or track files.

The Hardware and Four Track Performance Software comes to £1,369, which may seem a lot, but comparable dedicated systems cost between £3,000 and £8,000.

PDSG for the BBC

A similar system to the Soundchaser is being developed for the BBC Micro by Clef Products. The Programmable Digital Sound Generator or PDSG, allows 8-32 note polyphony from a five-octave music keyboard which is included in the provisional retail price of £400. Software being developed includes waveform creation and sequencing. It will be interesting to see how the PDSG compares to the Soundchaser when it is formally launched.

First published in Your Computer magazine, September 1984.

Psion Organiser


Kathleen Peel tests the pocket computer that fills the same space as £100.

Psion the software company that produces much of the Sinclair Spectrum official software and the bundled software – Quill, Archive, Abacus and Easel – for the new Sinclair QL, has branched out into the computer hardware business, an area that has seen many recent failings by both large and small companies.

The excursion into the apparently risky hardware manufacturing side of the business comes about by the desire to produce what Psion describe as a new type of computer product called the Psion Organiser.

The Psion Organiser is a calculator-sized pocket computer featuring a 16-character LCD display, a 36-key keyboard and an 8K plug-in Eprom memory pack or datapak. The calculator-type keys are protected while in the pocket by a sliding cover which, when withdrawn, exposes the plug-in memory underneath the keyboard and the display contrast adjuster control on the right-hand side of the display. Complete withdrawal of the cover gives access to the PP3 9 volt battery compartment.


The computer is based on the Hitachi 6301X CMOS 8-bit processor, which contains 4K of on-chip ROM. This is supported by 2K of RAM for the calculator working registers, system variables and an 8K Eprom for program and/or data storage.

For £100 the user gets a bare bones calculator with a 16-character alpha-numeric LCD display – no scientific functions with parenthesis limited to a depth of two – and a built in database facility, capable of searching the 10K of character storage – 8K Eprom – for a specific number or character string within five seconds.

The Organiser is activated by using the On/Clear key and powers up with the display showing the time, date and month. The time may readily be adjusted as indeed it needed to be. The machine provided for review stopped the real-time clock from running when the machine was switched off, the replacement machine had no such problems.

The Mode key selects the current operating mode, that is:

  • Enter for general purpose free format database entries and editing.
  • Call for performing calculations.
  • Off which the user Executes to switch off.

Each individual process is performed by use of the Execute key – calculations are entered in the normal manner and the Execute key pressed instead of the more usual calculator = or Enter key.

Data is simply typed while in the Enter mode using the alphanumeric keyboard, each file being saved using the Save key with the display indicating whether the data is saved in datapak 1, or 2 if two datapaks are installed, according to the user’s choice.

The database needs to be fairly static, data changes simply overwrite the existing data in memory to make it unreadable and the new file is written into a clean area of memory. Fast changing databases will become extremely wasteful of memory.

The database in each datapak must be consistent; the user can store telephone numbers, train timetables and appointments together within one datapak but there is no way of restricting a search to a specific segment or groups of files in an individual datapak.

Find2 string$ will find every occurrence of string$ within all the databases in datapak 2. Therefore as an electronic notepad, the user is required to keep with the Organiser all the necessary databases separately which could become expensive in terms of datapak cost, and add considerably to the amount the user has to carry around.

The 8K Eprom can store about 200 names, addresses and telephone numbers. A search may be conducted using the Findn string$ function, every record containing string$ will be displayed, otherwise the computer keeps searching for a match. If there is no match, the message “not found” is displayed. If a string$ is not given for the search, the computer will step through every file within the database.

By adding a program pack – £30 Finance, Mathematics or Science Paks are available – the Organiser is provided with further modes of operation:

  • Copy for copying between datapaks.
  • Cat used to access programs.

The Organiser is also capable of performing the same trigonometrical and scientific functions as found in the more comprehensive calculators.

And lastly a procedural language POPL is added. Each procedure is limited to a length of 200 characters, with an individual line not exceeding 100 characters. POPL supports 26 variables and can pass parameters between procedures – there is Goto a label and looping facilities.

Under normal conditions, rewriting code is not a problem as the program storage media is reusable. With the Eproms it is not and once written to, that space cannot be re-used until the datapak is re-formatted which clears the whole of the datapak ready for a fresh start.

The Organiser may be expanded to incorporate two 16K Eprom datapaks, these cost £20 each but increases the in memory storage capacity up to 40,000 characters. The user may install 8K Eprom datapaks which cost £13, but either way strikes me as being pretty expensive for storing data.

The datapaks may be reused up to 100 times by reformatting – wiping clean all of the Eprom; remember you cannot selectively erase. This will cost £3.50 if done by your local stockist or the large user may purchase a Formatter for £45 which can reformat two datapaks in 30 minutes.

The manual supplied is 1/4 A4 size of about 50 pages of text and diagrams. Most details are explained twice but for those who so far have shown no interest in computing, the documentation will be difficult to understand. The average computer user will find no problems other than the programming requirement of learning yet another language, POPL, which can hardly be of use in any other context.

The RS-232 expansion unit, which costs £25, permits the user with a modem to downline load data via a telephone line to a remote computer. Computer to computer data transfer is also possible.


  • Although very simple to operate as a database with a single integrated data file, the Organiser cannot handle separate databases residing on the same datapak.
  • The database being searched needs to be fairly static, if it is going to change daily as a stores inventory might do, then the necessary changes to the database are going to use up the available memory space extremely quickly.
  • Program development is likely to suffer the same fate. It is not possible for a user to write and enter a program without faults, and the Organiser will allow the user to work on only one procedure in RAM at any one time.
  • The Organiser is going to be very expensive to run as a computer. The development of software which is
    always subject to change and revision does not lend itself to the type of storage media employed in this computer design.
  • The use of Eproms as the storage media imposes restraints on the programmer, a requirement for a local Eprom formatting service and fairly substantial power requirements on the hardware designer.
  • The Organiser appears to fit those types of market where data security is essential and, of course, using
    Eproms gives a very high level of security, but logistically I’m not sure. The data typed in is secure, but whether it can be entered correctly using the calculator-type keyboard and very small screen display without a lot of careful checking at the time of data entry, which the average person is unlikely to perform, is doubtful.

First published in Your Computer magazine, September 1984

Review – Tatung Einstein


Single 3in. disc, 64K, colour and sound: Bill Bennett meets Einstein and talks relativity.

You would never guess it from the name, but the Tatung Einstein is a British micro. Made by a Taiwanese company based in Shropshire and named after a German, Jewish, American scientist, the Einstein is the usual electronic cocktail of exotic components from around the world. Disc drives from Japan, Basic from Torquay and chips from all over the shop.

I opened the box with some apprehension. Here was a mid-priced, mid-range computer complete with a disc-drive. The last time I looked at a cheap system with integral discs I had to spend three days soldering wires before it would work. The Einstein presented absolutely no problems. I timed myself and it took me less than two minutes to unpack the micro, plug it in, connect it to my TV and get a picture.

It took slightly longer to retune the TV to optimise the display but, before three minutes were up, I had managed to insert the system disc that comes with the machine, and load the directory. A number of things helped. For a start the plug was already connected. Many micros come without plugs so you have to hunt around for one to “borrow” for the computer. But, most of all, the integral disc saves worrying about cables, interfacing and the like.

Albert Einstein would never have won a beauty competition and neither would his computer namesake. However, the design of the machine is elegantly utilitarian. It is moulded out of a fairly tough-gauge plastic so you can comfortably sit a monitor or TV on top. I would not recommend this though as you would have to sit much nearer to the screen than is good for you.

Above the keyboard are two LEDs that do little more than tell you that the computer is working and what mode the keyboard is in. Next to this is the disc unit. It accepts the little 3 in. Hitachi-style microfloppies which are posted into the slot like letters into a pillar box. A button below the slot unposts the discs for you when you need to swap them.

There is a space on the right-hand side of the machine to add an extra disc unit. This would be almost essential if you were using the Tatung as a workaday business computer but a bit excessive for the home user. Between the disc and the potential disc is a grill which I thought was probably there to help aircool the insides. It turned out to be a loudspeaker, loud being the operative word.

I thought that the Oric was a touch strident with its built-in speaker but the Einstein is positively in the Motorhead class. In front of this is the keyboard. Topped by a row of seven function keys, the keyboard contains no surprises. I don’t like to see the graphics characters printed on the front of the keys, it looks messy, and most people only use them occasionally anyway. However, it does seem to be de rigueur in micro circles. I doubt if anyone will miss the Tab key, which the Einstein doesn’t have.

Along the rear of the micro are a number of interfaces. If you are going to make use of them I would suggest that you find a permanent home for the micro. They are not the sort of things that take kindly to being constantly plugged in and unplugged. There is, of course, a printer port, an interface for more disc units, up to a total of four drives and a user input output port. Just what you need to run a power
station or a cruise missile launcher.

Right in the middle of all these ports is something called the Tatung “pipe”. It sounds like a copy of the Acorn “tube”, but is much nearer in concept to the port on the back of the humble Spectrum. Like Sinclair’s port, the pipe is not much more than a simple extension lines from the Z-80.

Down the tight-hand side of the machine are two more ports. Ostensibly these are for joysticks, but are actually analogue to digital converters. If the Tatung Einstein has one obvious application, it is in the science laboratory. With all these ports around the machine it would be excellent for the control and monitoring of experiments. It is a pity the micro is named after a theoretical scientist, when it has so many practical features.

Next to the analogue ports is the almost obligatory RS232 port, though it uses a DIN socket so you will have to worry about soldering your own cables to make use of it. And, best of all, a volume control knob. Until I found this, I actually had a neighbour come round and complain about the noise.

Nobody will be surprised to discover the TV output on the right-hand side of the micro’s case, but I was disappointed to find that there is no monitor output. A computer with as many user ports as the Tatung Einstein could do with a simple RGB output as well. There is a special Tatung colour monitor to go with the Einstein, costing £240, but because there is no RGB output you cannot easily use any other manufacturer’s monitor.

The Einstein is a “soft machine”, that is its resident language and operating system are not actually resident at all. They come on disc and are loaded into the machine in a ritual the user must perform each time he or she uses the micro. Yet there is an 8K ROM which includes the machine-code monitor system. This makes the Einstein an attractive micro for the enthusiast but hardly ideal for the beginner.

Should you want to develop machine-code software, you could do so without ever entering the disc operating system. But most people will want to use Basic at some time and it has to be loaded from disc. To do this you must first load the disc operating system or DOS.

XtalDos is the operating system used by the Einstein. Because it comes supplied on disc, there is no reason why you couldn’t use another operating system. No others are available at the moment, but should XtalDos mark II appear, or should some enterprising programmer devise a version of CP/M for the micro, you will only have to pay for that disc.

XtalDos is remarkably similar to CP/M, so much so that I managed to get started knowing only CP/M and not XtalDos. But XtalDos – pronounced crystaldos – is not CP/M and will not run all CP/M software. This is a bit naughty because on the computer’s box is the boast: “Ability to run CP/M software”. There are more than 5,000 CP/M software packages available so you could be forgiven for thinking that buying an Einstein gives you access to a huge back catalogue of programs.

The Einstein does have the ability to run some CP/M software, it is just that you cannot buy genuine CP/M for it yet. What is more, it will not be cheap when it is available – CP/M system discs generally cost around the £50 mark. Further to this is the fact that, as yet, there is no CP/M standard for 3 in. discs. This means that even if there was a true implementation of CP/M for the Einstein, you would not be able to stroll down to your neighbourhood store and buy a software package off the shelf with any confidence that it will run on your micro.

I hope that someone does implement CP/M just as soon as the 3 in. standard is decided because, quite frankly, XtalDos is a minority operating system. There will never be enough XtalDos systems in circulation to justify a large software base.

There is one other possibility. The Einstein is physically able to run MSXDos. The micro has most of the right hardware and it would be a logical direction for Tatung to move in.

Despite my severe reservations about minority operating systems, XtalDos is jolly neat. So is Xtal Basic, the native language of the Einstein. It has met with a degree of acclaim from programmers but is not a good language for beginners. I found that it contained a lot of commands that could be found elsewhere but are not standard.

Xtal Basic may be better than other Basics but there will be precious few games listings published in it and there will be hardly any good books about it. But, again, because Xtal Basic comes on disc and not ROM, it is an option. There is no reason why standard Microsoft Basic could not be implemented on the Einstein or, for that matter, Forth, Pascal, Prolog or Logo. Any versions of these languages developed for CP/M could be adapted fairly easily, though it might not be an economic proposal.

The system disc comes with a few example programs which don’t show the Einstein off to its best advantage. I realise that Tatung must have bent over backwards to trim the costs to achieve the sub-£500 price tag, yet it would have been so much better if the supplied software was more imaginative. The Othello game was easy to beat and the snakes game downright boring.

I may be asking a lot but for this price I would like to have a second disc containing a word processor and a spreadsheet. This way you would be able to buy a complete system, ready to work on and for a good price.

Xtal Basic is not new, I remember seeing a version ages ago on the Sharp MZ-80K. It has a lot more commands than common or garden Basic, complete with things like Deek and Doke which are two-byte versions of Peek and Poke, strictly for the enthusiast. However, Xtal Basic is very good at handling the sound and graphics of the Einstein.

Sound is often the Cinderella feature on a computer, so my heart naturally warms to Tatung’s serious treatment of it. The Basic commands and the sheer volume and the flexibility of the hardware are all plus point for Tatung. Unfortunately, the other half of the sound and vision equation is not so good.

For a start, the colours are dingy. The red is more like a washed out pinky orange than the colour of the people’s flag and the blue just isn’t true blue at all, but a weedy purple tint.

The Basic commands controlling graphics are extensive and flexible enough and 32 sprites should keep most zappers in aliens for days. Apparently, the Einstein uses the same video chip as MSX machines. If that is the case then the Japanese invasion will be nothing to fear because the high resolution isn’t all that high, the colour not very colourful and the sprites none too spritely.

Maximum resolution on the screen gives 192 by 256 pixels – hardly high resolution for a £500 micro. There are 16 colours but, because they are so dull, it is difficult to tell some of them apart. Although they are easy to control from Basic it isn’t enough for 1984’s model.

While the graphics might be a little disappointing from the point of view of the games player, they are not all that useful for the business user either. You can select either 40 or 32 columns across the width of the screen, but both sets of characters do not look as attractive as those to be found on other micros. More importantly, I found my eyes were feeling the strain after about an hour’s use. So word processing – which anyway should really have 80 columns – on the Einstein might not be a serious proposition.

The colour resolution of the Einstein is only to the nearest character position. That is colours are defined on a 32 by 24 or 40 by 24 grid. This is about the same as on the Spectrum – hardly impressive. Drawing a diagonal line results in the chunkiest graphics you have ever seen because the lit pixels fill the whole of their row within a character space.

The manuals don’t help much either. They are so unbelievably boring that I thought they must have been written by Jeffrey Archer.

The “DOSMOS” booklet, now there’s a name to conjure with, is much more useful than the introduction book yet every bit as dull. It contains information about the machine-code monitor and how to use the disc operating system. A third book is supplied with the machine called the Basic Reference Manual. It is the programmer’s bible, yet suffers from the same shortcomings as the other two books; it is dull, contains no index, and no sensible appendices. It should at least contain a section full of memory map diagrams, screen address diagrams and the like.

I was impressed by the inclusion of a quick reference card, similar to that sent out with the Dragon 32. However, it turned out to be not as useful as I expected with no adequate description of the Basic keywords. This would be especially useful as certain Xtal Basic keywords are slightly exotic.

Although I have reservations about this micro, it does compare favourably with other systems in the same price range. The machine sits uncomfortably between computers like the BBC Micro, which is definitely a home computer with business possibilities, and the £700 ACT F1 which is a business computer with home possibilities. You can now buy a BBC for around £350 or less. It has better graphics than the Einstein, similar sound, better Basic and better manuals. But it doesn’t have discs, nor does it have as much memory as the Einstein which comes with a full 64K plus 16K of video RAM. In practice this means a 64K memory, because the video RAM lies parallel to the main RAM.

Although the BBC has a wide user base and all the advantages that brings, add-ons are expensive. The Einstein will be able to use standard add-ons thus reducing costs considerably. If you want compatibility with educational users the BBC would be a better buy, but hackers might choose the disc-based system.

Compared with the Sinclair QL, the Einstein is not very racy, but its 3 in. discs are a sight more standard than Sinclair’s Microdrives. They are also more useful, more likely to last and can hold more – 190K per side as opposed to 100K per cartridge. If you want to play games the QL will be a better bet but for serious use the Tatung should win.


  • The Einstein does not fit into the current spectrum of available micros very well being neither a good enough games machine nor a powerful enough business system. The cop-out answer is that it is an educational computer but that is one role it is particularly unsuited to fill.
  • Anyone purchasing the Einstein may have to reconcile themselves to owning a ghetto machine. I cannot see the dedicated software base ever getting large enough to be anything else. And as for CP/M compatibility, someone is going to have to copy each package across into the Einstein disc format and, in many cases, rewrite the software for the 40- or 32-column screen.
  • In my opinion there is a serious design fault. Had the disc drive been a standard 5.25 unit, then users would have immediate access to all the available CP/M software. I realise that this would have added to the cost but it would also add greatly to the utility of the machine.
  • There is one other problem that will be familiar to owners of the Sharp micros which have a lot in common with the Einstein, thanks to versions of Basic not stored in ROM. Should Tatung ever be tempted to make changes to Xtal Basic – the installed version is 1.11 – then software may no longer be transferable between machines.
  • All these reservations aside, the Einstein is a very low-cost way of buying a disc-based system. It is built from reliable tested technology and is unlikely to have the teething troubles of the QL. It is especially suited for control purposes and will thrill the hacker with its Xtal Basic and extensive machine-code monitor.

First published in Your Computer magazine, September 1984.