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.

Shelton001

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.

Hardware

Shelton002

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.

Figure_001

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.

Shelton003

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

A>

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

A.C>

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.)

Shelton004

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).

Figure_002

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…’

Conclusions

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.

Benchmarks  
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

Advertisements

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.

Figure_001

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.

Figure_002

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.

Figure_003

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?)

Summary

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

Review – Tatung Einstein

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.

Conclusions

  • 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.

ColecoVision Preview – Qwerty Versus Donkey Kong

A plug-in keyboard would zap-up the new ColecoVision games unit, says Geof Wheelwright.

ColecoVision001

When you take the lid off, this games machine looks far more like the computer it really is. The big processing chip near the front is a Z80A and the front interface connects to peripherals – including the soon-to-be-released computer keyboard.

Don’t write off the ColecoVision video games system just because you want a programmable computer. That may have been the rule in the past, but this machine will sport a plug-in keyboard – one day.

At £130 the Coleco machine is a computer in video game clothing. CBS Electronics and Ideal Toys are due to launch it in June.

The vital clue is on the front of the machine – hiding just below the game cartridge socket is an innocent-looking expansion interface. This is where you can plug in a computer keyboard.

There’s no estimated price on the keyboard yet, but Ideal spokesman Richard Ault promises it will cost less than the games unit itself.

Electronics companies used to wean you onto the harder stuff – real home computers – by getting you to buy a games machine first. But now even the games machine companies are realising that more and more people are ready for the hard stuff, and can’t get it fast enough.

ColecoVision was released in North America last year, aimed at the Mattel and Atari video games market. But CBS and Ideal realise that it just isn’t on to bring out a non-programmable machine in the UK.

Despite this reasoning the keyboard will not be available for the ColecoVision launch. This means it will not be possible to access the machine’s computer capabilities immediately. The machine tested played games wonderfully and featured sophisticated high-resolution graphics. But when struck with the programmer’s natural itch to create, I could do nothing with it.

Mr Ault concedes that the success or failure of the machine in this country will depend on the arrival of the keyboard. He vows that it will be on sale by autumn.

He seems to shudder at the mention of Mattel’s long-standing – and unfulfilled – promise to supply a computer keyboard for the Intellivision games machine and swears Ideal will not ‘do a Mattel’.

But the ColecoVision promotional material currently available seems to make the same kind of vague keyboard promises that characterised Mattel’s no-show.

One example of this is that, although the other plug-ins for the Coleco are well documented, there is not even a mock-up of the computer keyboard in company promotional brochures.

So until that keyboard turns up you’ll have to be content with £20 CBS Electronic games cartridges.

The game supplied with our machine was Donkey Kong, a licensed version of the popular arcade game of the same name. CBS Electronics has the market cornered on this cartridge, and sells the same game for both the Mattel Intellivision system and the Atari VCS. Coleco’s version of the game seems better than the ones implemented on Atari and Mattel machines.

Even without a keyboard the ColecoVision can be credited with a good deal of ingenuity in design. Like any good computer, it’s adaptable and expandable – even using it as a games machine.

But software availability is the key to success, and Coleco’s designers have developed a highly versatile expansion module interface on the front of the machine. Plug-in modules allow the machine to play all the games cartridges currently available for both Atari and Intellivision machines.

You will also be able to plug in the computer keyboard and a “Turbo Drive’ module to the interface. The turbo drive module wasn’t available for our test, but looks like good fun. You plug the joystick into it to serve as a gearshift, and use the wheel and foot-pedal provided to drive down the on-screen highway generated by the computer.

We thought the hand-controllers were a nice compromise between the limiting Atari joystick and the rather pedestrian Intellivision keypad. The controllers consist of an eight-directional disc on a stick – a sort of upside-down joystick – at the top, two independently controlled fire buttons at the side, and a 12-key numeric pad which can handle the overlays needed for Intellivision games.

As a pure games machine, it’s unlikely you will find anything in the £130 price range to touch the Coleco machine’s quality graphics and playability. And if you want something that can turn into a computer when you’re tired of either buying or playing games, keep the Coleco in mind.

We wouldn’t advise buying the Coleco machine on the assumption that you’ll soon be able to use it as a computer, but you can draw that conclusion if Coleco meets its summer deadline for release of the keyboard in the US.

First published in Personal Computer News, 25th March 1983

Unwrapping the Spectrum +

Speccy001

Chris Bourne puts the new Spectrum through its paces and questions Sir Clive Sinclair on the reasoning behind his Christmas surprise.

Looking for all the world like a truncated the new Spectrum burst upon an unsuspecting Sinclair User office on Monday 15th October. Well, not quite unsuspecting. There had been rumours for several months that Sinclair was going to put a real keyboard on a Spectrum, but the company has steadfastly denied them. The news was leaked on the Friday before the launch, and finally the tight-lipped men from Sinclair admitted that ‘something sexy’ was in the
post.

Sexy it ain’t, although like all Sinclair products there is something good and something less good about it. The Spectrum + a name which hardly rolls off tongue nor typewriter, is exactly the same old Spectrum 48K with a solid keyboard attached, the whole presented very much in the style of the QL with sharp rather than rounded edges and similar ribbed black plastic.

It is larger than the Spectrum measuring 320mm x 140mm x 40mm, nearly four inches longer. The keyboard itself is based directly on the QL keyboard, and utilises a rubber mat below the plastic keys rather than, the direct contact between key and switching usually associated with professional keyboards. It should, according to Sir Clive Sinclair, be compatible with all available software and any peripherals which will fit.

The touch is not as good as the very best keyboards already available for the Spectrum, although it is preferable to some of those at the lower range of the market. Because of the rubber mat, there is a certain amount of bounce in the keys, which is a cunning way of obtaining a semi-professional effect without paying professional prices for the parts. However, the weight required is not as even as it should be and the slight difference in give between different keys is mildly irritating for fast typing.

Sinclair has taken the opportunity to include a number of single function keys, which are a considerable advantage. They are DELETE, EDIT, GRAPHICS, INVERSE and TRUE VIDEO, CAPS LOCK, EXTENDED MODE and BREAK. The ENTER and CAPS SHIFT keys are suitably large, and there is a proper SPACE bar, although it is not as long as it would be on a real typewriter keyboard.

Further improvements to keyboard layout include giving a separate key each to “., and ; and bringing the cursor keys down to a position on. both sides of the SPACE bar. The other functions of those keys remain on the top row, as before.

The net effect of the changes is to make it much easier to write programs using graphics and colour control codes, because the several key shifts required on the ordinary Spectrum become easier to follow using single-key entry. The punctuation marks are not such a good idea. It was certainly an improvement to give them their own single-touch keys, but the ” and ; are tucked away in the bottom left corner, where nobody who had ever learned to type would think of looking for them.

The keywords and functions are all in white on the keys. Each key has a raised moulding contoured for fingers, and the legends within the moulding give the commands and letters obtained in K, G and L mode. The words outside the moulding are those features obtained in E mode. Unfortunately, Sinclair has abandoned the use of different colours to indicate the different modes.

Speccy002

“The keys are double-injection moulded,” says Sir Clive, “which means they can never wear out. The words are not printed but moulded within the keys.” Sir Clive says that if he had used that process with three colours the whole keyboard would have been much more expensive.

That makes the keyboard much more confusing to read and undoubtedly will take away some of the speed advantage gained by using hard plastic keys. Novice programmers in particular will find it more frustrating to learn their way about the keyboard than they do with the help of those colours as a prompt.

But the most extraordinary thing about the keyboard is that it is actually smaller than the original in one important sense. Although the keys are larger than the original rubber pads, those pads were spaced out well, making it easier to hit the correct one and also providing more room for the printed key functions. On the new version the distance between the centre of two keys is fractionally less. The original keyboard was criticised for being small and cluttered, and in that respect the new one is no improvement.

The only other hardware change to the machine is the inclusion of a reset button on the left hand side of the plastic casing. That is a feature which should have been included on the original, and it is a relief to see Sinclair recognising the problems of wear and tear on the power socket at last. There is still no ON-OFF switch, however.

According to Sir Clive, the main target is customers thinking of buying the Commodore 64. “We did some market research last year,,” he says, “and discovered that although people thought the Spectrum was a superior machine they bought the 64 for the keyboard.” Once the QL keyboard was developed, it was decided to produce a version for the Spectrum.

The Spectrum + package also includes a new power pack to style, six commercial programs, the usual cassette and television leads, and a completely new manual and introductory cassette.

The manual has been written by one Neil Ardley and is published by Dorling Kindersley, publishers of the colourful Screen Shot series. It is much shorter than the old manual, having only 80 pages instead of 190.

It is written in four sections with colour-coded margins. The first is Get Going, and provides a coherent guide to plugging the machine in without blowing it, yourself, or the Christmas turkey up. There are diagrams of pink fingers pushing the correct buttons, photographs of what the screen should look like, and a flow chart for discovering the source of the problem. Following that there are some examples of short programs which produce pretty patterns to impress admiring friends and relations.

The second section deals with programming, and is much less comprehensive than the original manual. The section concentrates almost exclusively on graphics, with a short section at the end on sound. Concepts such as LET, FOR…NEXT loops and logical operations such as IF…THEN structures are mentioned almost in passing as the budding programmer is whisked through to the heady heights of assembling a program in which a spider descends to some pyramids while being shot at by a laser gun. Topics such as animation, attributes and user-defined graphics are explained, but it is not so much a guide to programming as an example of how to put a program together.

The third section is a brief explanation of the mechanics of the machine and the familiar diagrams of CPU, RAM chips and the like all connected by neat lines along which the information flows smoothly and in perfect discipline. It includes a memory map but no details of the system variables.

The final section gives a list of all the Basic commands and an explanation of how each one works. Brief examples are given, but even in combination with Section Two it falls way short of the uninspired but comprehensive guide provided by the original manual.

While the User Guide is a beautifully produced book with plenty of photographs and illustrations, its limitations are confusing. It seems aimed rather more towards a younger, games-orientated market, and does not, lamentably, provide a sufficiently organised course in programming to encourage newcomers to write anything very satisfying for themselves.

Dorling Kindersley intends to market the Guide separately for £4.95, which seems a bit steep considering that Spectrum owners will already have a copy of the old manual. If you are still puzzled by the Spectrum graphics instructions, you might be enlightened by the Guide, but there are plenty of other books available in the same price range on the subject which contains much more information besides those simple points covered in both manual and guide.

Speccy003

It is thus unclear as to who would really want the Spectrum +. Those who are only interested in playing games will find the rubber keyboard as easy to use as the plastic one, and a joystick easier than both. Indeed, many of the standard interfaces, including the Kempston joystick and Centronics interfaces, will not fit the new machine, because their ports are obscured by the new casing.

On the other hand, those with serious applications, be they professional or home uses, will probably obtain better value for money buying a 48K rubber key Spectrum and one of the commercially available keyboards. For the £50.00 price difference you can choose from a wide range of keyboards, many of which are much more professional than the Sinclair one. If they can obtain a Spectrum with the Six-pack offer they will get almost the same software as is offered with the Spectrum + as well. Once the Six-pack offer is discontinued it becomes a much more attractive proposition.

It is therefore worth considering the Spectrum + not as a £180 computer but as a £50.00 keyboard, Single-key entry commands are not available on any commercial keyboard for the price, but for £10.00 more you could have a Stonechip, which also includes a BEEP amplifier and Load/Save switch. Further up the scale, at about £70.00, the Transform keyboard will give you a more professional feel as well as a numeric keypad and an on/off switch.

On a more comparable price level the Lo>> Profile and Saga keyboards offer well-spaced keys with good touch but no single-entry keys. They make up for that deficiency by including several duplicate keys so that one or other of the SHIFT keys is always close at hand. Sir Clive is convinced that the Spectrum + will increase his lead over the Commodore 64 in Britain, and make inroads on Commodore domination of the world market. “We feel that there are more serious users about, and that is reflected in the current software available,” he says, “It could cut into sales of the QL, but then we are offering people a choice.”

First time buyers should consider whether one of the other commercial keyboards would not be more suitable for their use. If you are looking for a word-processor you would probably put ease of typing at a premium and might prefer a keyboard such as the Transform, Saga or Lo>> Profile. But for programmers the Sinclair keyboard offers much greater flexibility of single-entry commands which will cut out some of the drudgery of programming, particularly where graphics are concerned.

Certainly no-one in their right mind is going to buy the Spectrum + if they already own a Spectrum. Sir Clive may have done the decent thing by typists’ fingers at long last but there are limits.

First published in Sinclair User magazine, December 1984

Review – The Sinclair ZX81

ZX81_001a

Sinclair unveiled the ZX81 in March, 12 months after the launch of the £100 ZX80. The ZX81 at £69.95 – £49.95 in kit form – represents another step forward in technology by Sinclair and offers a number of facilities which were unavailable on the ZX80. How good is it? In this review, Tim Hartnell takes a close and critical look at the latest Sinclair computer.

My conclusions are clear – the ZX81 is both a delight and a disappointment. Despite what I or any other reviewer says, Sinclair will sell 100,000 of them before Christmas.

Let us look at the disappointing side first. Late in December last year, 10 or so prototype new-ROM ZX80s – old ROM-ZX80s with EPROMs – were loaned, on strict pledges of secrecy, to develop software for Sinclair to sell. I had one of the new-ROM machines, and was in regular contact with two others who also had them. Within days, it was obvious to me that something was very, very wrong.

The amount of the original on-board 1K left for program use after filling the screen with blanks for the Print At function – POKEing into the display file via the ROM – was so small that use of the 16K pack was mandatory for any worthwhile use. The 3K memory expansion board Sinclair sold for the ZX80 will not work on the ZX81 – unless you manage to cut connection 23B.

With the 16K pack fitted, the prototype new-ROM ZX80s – and two of the three ZX81s we have used – displayed an alarming lack of stability. At any time, the program would just vanish. Several times I was not even near the computer when it happened. Without warning, the program just vanished, leaving a blank screen. The ZX81 then had to be unplugged from the power before it could be used again.

We rang Sinclair Research and pointed out that without data stability, there was no way the computer could ever be considered for serious use. I was asked to return the ZX80 so they could check it. After a week, I had it back in exactly the same state and subsequent telephone calls assured me I was making much ado about nothing.

When I told Sinclair Research the nature of the review I would be writing for Your Computer, a man was sent with a new ZX81 and 16K pack. While he was there, my ZX81 refused to crash.

The ZX81 you buy could perhaps be as unstable as the first two I tested. I could not test the third – it was constructed so you could not even plug the 16K pack in the back. The 16K pack seems to be at the heart of the instability problem. There seem to have been many problems with them – mostly of the “vanishing program” variety. The other strange behaviour they display is “the incredible shrinking RAM” when the available memory decreases to around 11K after a few hours use.

ZX81_002

I have mentioned that, despite whatever was written about the ZX81, Sinclair Research would sell 100,000 before Christmas. Let me explain why I think so.

It is undoubtedly a machine, albeit with display limitations, which will teach, in a very pleasant way, programming in a useful subset of Basic, which includes flexible string handling, a wide range of mathematical functions, and the use of additional commands like PEEK and POKE.

As well, there are the Sinclair-only delights of INKEY, Print At and Print To to master. There is no better way of getting to grips with computers and programming than to have one to play with – and the ZX81 is the least costly way to gain hands-on experience.

The ZX81 looks and feels good. It is about the size – 7in. by 7in. – and weight of a paper-back book, finished in matt black, with a matt-plastic keyboard finished in red and black. The power-supply, television and cassette in and out plug into the left-hand side.

Connection is simple, but you must be certain the plugs are inserted tightly, or the slightest movement of the computer will dislodge them.

There are many similarities to the ZX80. Line numbers are from 1 to 9999; the first word after a line number or after the word Then – such as Let, Print, Goto or Gosub – is entered with a single key-stroke, and each line is checked for syntax errors before being accepted into the main body of the program. The touch-sensitive keyboard is simple to use.

The only feedback you have is when the characters appear on the screen. You will obtain numbers, key words – the word above the keys – if it is the first keystroke after a line number or letters by using the keyboard in the non-shift position.

Holding down shift – and you must be careful to press Shift exactly – gives you access to the commands written within the keys, such as Stop, LPrint and To. Holding down Shift and pressing Newline – the ZX equivalent of Return – while doing so will give you the functions written below each key. To obtain the graphics, you need to hold down Shift then press the Graphics key which is on the same little square as 9.

From then on, until you press Shift and Graphics together again, you will obtain the inverse of letters, numbers, the dollar sign and the like. You must depress Shift again, while in the Graphics mode, to obtain graphical characters like the grey square on the letter A keypad. This sounds a great deal more complicated than it is in practice, even though many keys can produce five different effects.

ZX81_003

Despite the advertisements, the graphics are not high resolution. True, in the Plot mode, you use a grid of 64 by 42 as opposed to 32 by 21, but this is far from true high resolution.

Here is a program to show the PLOT function.

10 FOR A = 2 TO 120
20 LET B = A-PI/30
30 PLOT A/2, SIN(B)*20 + 20
40 NEXT A

This routine plots a sine curve.

One of the most frequent sources of complaints on the Z-80 was the flash which occurred every time a key was pressed, and the fact that the screen went blank when the computer was “thinking”.

Sinclair minimised the cost of the ZX80, in part, by using the same bit of computer to both think and handle the display – but it could not do both at once, so the display went blank during processing. A very important function on the ZX81 – but which is not provided on the new ROM as it requires hardware to operate – is the Slow/Fast option.

Fast, which you trigger either by entering Fast, shift F, in the direct mode, then Newline before running, or by including a line like 10 Fast in the listing, makes the ZX81 perform like a ZX80. Processing takes priority over display, so what you see during thinking time is a grey, fuzzy screen.

The Slow mode, in which ZX81 is automatic unless you input Fast, puts maintenance of the picture at a higher priority than processing. Although the ZX81 runs about four times slower in Slow than it does in Fast, this is unlikely to bother a user in the vast majority of cases.

The important thing is that the display is rock steady, without a hint of flicker, so animated displays of a kind can be produced. The display looks as if it is memory-mapped. The addition of Slow is, in my opinion, the most important development Sinclair has produced with the ZX81.

Sinclair ZX81 Basic allows only single statement lines, but judicious chaining with And, If and Then – lines may be up to 255 characters long – can simulate multiple statements, to some extent. The syntax-checking is superb. The computer refuses to accept an incorrect line which is better than computers which accept the line, then hang up when you try to Run it. It then puts an error marker next to the offending number or letter.

The Basic allows you to jump out of loops at will, with Goto or Gosub any syntactically correct statement. So you can say

IF X = INT(2*PI/(T – B)) THEN GOSUB Y**T
or
IF J = 9 THEN PRINT AT B, SQR(B)

The Basic compensates for non-existent Goto and Gosub destinations by going to the next highest line – a useful feature for programmers who chop and change lines a good deal when working.

Although ZX81 Basic has its own oddities, as do all Basics, it is a sufficiently standard version of Microsoft to enable a ZX81 owner to adapt easily to Microsoft-using computers. There is no Read/Data function, but you can compensate in part for this lack by PEEKing and POKEing REM statements. The first address after the word REM in the first line of a ZX81 program is 16514 – a fact you will not learn from the otherwise comprehensive manual.

String handling on the ZX81 is a great improvement on the limited string functions available on the ZX80. The very useful, if non-standard, ZX80 function TL$, truncate left, which progressively stripped a string of its contents character by character, has been dropped by the ZX81.

However, the ZX81 offers string arrays. You dimension them as you do numeric arrays, by the statement DIM A$(9). Numeric arrays are dimensioned by using the letters A to Z in the form DIM A(9). Subscripts for string, character and numeric arrays start at 1.

DIM A$(9) will allow you to manipulate a single word of nine letters. If, for example, you set up the array DIM A$(9) and placed in the next line

LET A$ = “123456789”

and the following line was PRINT A$(7), the ZX81 would output “7”. If you entered

PRINT A$(2 + 4)

you would obtain “6”.

PRINT A$(2 TO 5)

produces “2345”,

LEN A$

gives “9” and

VAL A$

gives

1234567890.

The STR$ function – and note that all these functions are single-key entries – changes a number, e.g., 9, into a string, so

LET A$ = STR$(9)

sets A$ equal to “9”. These functions are easy to use, but for some weird reason, the explanations are split up between two sections of the manual, 99 pages apart. You can also add strings, so

LET C$ = A$ + B$

is valid. You need to dimension the length of strings for proper string arrays, so

DIM A$(9.5)

will give you an array of nine words, each up to five characters long.

The manual is a great improvement over the much-criticised one provided with the ZX80. For a start, it is comprehensive and covers all the functions available on the computer. It gives a proper list of system variables and addresses, has a brief chapter on machine code, includes a memory map and overall, does not make the assumption – which the ZX80 manual did – that ZX81 owners are unlikely to ever progress beyond the most straight-forward use of Basic.

The style of the manual is attractive, and is generally very friendly. It admits, where necessary, the limitations of ZX81 Basic. The only real disappointment is that very few of the programs given in the manual actually do anything except illustrate a specific command. There are no games, even of the excruciating standard of the Nibble the Cheese variety given in the ZX80 manual. So, even when you have worked through the manual, you still have practically nothing you can Run on the ZX81.

Sinclair Research dispatched the EPROM new-ROM ZX80s to programmers to create a library of software to sell. There are four cassettes available; three games cassettes – two for 16K, one for 1K – and a “serious” pack containing Telephone, Note Pad and Bank Account.

Unfortunately, the instability of data within the ZX81 means, in my opinion, that you would be unwise to enter information of value into the Telephone or Note Pad programs. The programs do little, except use a clever, extremely fast machine-code search routine, which you could not do with a piece of paper or card system. Bank Account is more attractive, but you would lose the state of your accounts if you could not Load the program at some stage.

The games programs are more interesting – and not just because I wrote a few of them. Cassette 4, for example, contains Lunar Landing, 6K, Twenty-One, 3K, Combat, 3K, Substrike, 2.5K, Codebreaker, 2K, and Mayday, 2K. They are good value indeed for £3.95, and although I could not Load them all – the Load reliability of the ZX81 is much better than the ZX80, but still far from perfect – the ones I ran made good use of both the mathematical abilities of the ZX81, and the enhanced display using Slow. The 1K pack contains a superb Life, plus five other games.

Sinclair Research is working on a “computer learning laboratory” book and cassettes combination, as well as program packs suitable for teaching young children. As with the ZX80, a whole cottage industry will arise to produce ZX81 and new-ROM software. This time, however, the price structure will be dictated by Sinclair’s very low price.

The printer was introduced in part to make the ZX81 useful in computer-science courses which demand computer printout as part of their assessment program. It will have much wider use than this, and if the quality of the of-the-shelf printer is as good as the demonstration model I have seen, there is going to be a huge demand for it.

The printer works in a radical way. It is about the size of two cigarette boxes lying on their sides stacked on top of each other. A little ribbon flies around inside the printer base, with two needles protruding from the ribbon.

The needles “scan” the paper the same way a TV screen is scanned. When the printer meets a black dot on the TV screen, the needle darts forward and puts a similar dot on the 10cm. aluminised roll of paper. It takes about 12 seconds to print one screenful, and can either print the display – a screen at a time – or reproduce the entire listing.

The printer can be driven by both the ZX80 with new-ROM, and the ZX81. The commands LPrint and LList are just like Print and List, except they use the printer instead of the television screen.

Conclusions

  • The apparent lack of stability, and the still-imperfect Load, seem the only real problems with the ZX81. It is unfortunate that the 16K RAM pack was released apparently before being fully tested; it also seems unfortunate that Sinclair Research does not demand even more rigid quality testing before allowing ZX81s on to the market. My first computer had a bubble in the keyboard overlay, and one of the three we used was so constructed that a 16K pack could not be added.
  • The ZX81 is a very good first computer and will open the world of computing to many who would be denied access to it by cost.
  • It has a flexible Basic, and when the ZX81 owner decides to upgrade as many will in due course – he or she will find the language he has learned will stand him in good stead on his new machine.
  • It seems a pity that Sinclair Research does not work to produce other than ephemeral computers: a simple machine, using Microsoft, with reliable Load/Save, a memory-mapped screen and a proper keyboard would sweep the market.
  • If you have never used a computer, by all means buy a ZX81. You will learn a good deal, have considerable fun, and when – in eight months or so – you are ready to move on to another machine, you will have enough knowledge to know exactly which computer to buy.

First published in Your Computer magazine, June/July 1981

Lynx

Lynx001

Fun at home – effective in the office. Will the Lynx’s wonder ingredient CP/M make Camputers’ claims for its elegantly-styled 48K colour computer wash whiter? Bill Bennett put it to the test.

There are two ways of making money from engineering – and the same rules apply whether you are a car manufacturer or a computer designer. The first way is to produce some astounding new idea or gimmick, and pray that the idea catches on. This is a risky business, but it can pay huge dividends: for example, there was the ZX-81 and the model T Ford.

The other way is less fraught with danger, but then the designer stands to gain less too. It involves looking at existing engineering ideas and combining a number of them in a new way. This is what has happened with the Lynx.

The Lynx is simply a good micro. It has no wonderful outstanding qualities, but in every department of its specification it ranks alongside the best. It is as though the designers took the best features of all the popular micros and put them together in the one box.

So the Lynx represents a consolidation of previous advances as well as a tiny advance of its own. By utilising technology that has already passed the test of time, it should have fewer teething troubles than some micros which aim to break new ground.

The standard Lynx has 48K of user RAM, which leaves 16K for programs and data when in the high-resolution graphics mode. This can be expanded inside the case in steps of 64K up to a total memory size of 192K. The high-resolution graphics mode really is high resolution with 248 by 256 pixels.

Excellent track-record

The Lynx is based on the Z-80A microprocessor, which has an excellent track-record as the chip at the heart of the Sinclair Spectrum. The choice of processor has a number of implications. First, and probably in the long run, most importantly, it means that the Lynx is CP/M-compatible.

CP/M is the operating system most widely employed by the larger microcomputers used in business. It handles files of data on the floppy discs those larger micros use. The most important thing to bear in mind is that in theory a program written in CP/M on one machine can be transferred to another machine with the minimum of fuss.

Of course in practice there is nearly always a good deal of fuss, but it does allow the user access to thousands of computer programs and systems, as well as a growing number of databases that are being made available on CP/M. CP/M is far from perfect, but it is the operating system that comes nearest to ironing out all the differences between various microcomputers.

To run CP/M, a computer needs a minimum of 64K of RAM – hence the importance of the ease of memory expansion on the Lynx. The upper limit of 192K means that some very substantial software packages will run on the machine.

Most people thinking of buying a Lynx will probably not be interested in CP/M software immediately. It is, however, very reassuring to know that should your hobby ever become more than just that, you will not have to throw your Lynx away and buy a new micro.

The second significant implication of that Z-80A processor is that it makes the Lynx a possible upgrade for those ZX-81 users who do not want a Spectrum. The Lynx is more powerful than the Spectrum but then it costs £50 more. But what will attract people is a simple-to-use machine-code facility.

Machine code is the language a computer uses internally, as opposed to the Basic which is really there for the benefit of humans who, unlike computers, do not normally think in binary. When a program is written in Basic, each line has to be converted into machine code every time it is acted on, and that conversion takes some time. As anyone who has played a machine-code game will be able to tell you, machine code works much faster than Basic.

The monitor in the Lynx’s ROM allows the user to write and edit programs written in machine code. It also means one can save and load these programs to and from tape. The other advantage of machine code is that programs require far less space than Basic programs – and with 48K of RAM at your disposal, some substantial programs can be written.

Lynx002

Code-shy manual

The manual rather coyly shies away from the subject of machine-code programming. There is a chapter on the subject, but this is only for those who already know something about it.

Some interesting commands are available to the brave souls prepared to grapple with machine code, all of which are available from Basic. This means that the main part of the program can be written in Basic, with machine code routines handling those features which require speed, such as graphics or sound. Not only is there the Poke command – which will be familiar to experienced programmers – but also the DPoke command which Pokes to two bytes at a time.

Lynx003

Music-making

The command Code allows you to store machine code in a Basic line. LCTN is in effect a pointer to the first byte of machine code stored in a Code line: it is used like an ordinary variable. Type Call to tell the computer to execute the machine-code subroutine held in one of the Code lines, which is specified by LCTN.

Bytes of data can pass into and from the Lynx via the I/O port at the rear. This can be done using the commands INP and Out. The music-making facility of the Lynx is limited when in Basic. A Beep statement is all that is open to you. This is a major disappointment on a number of counts.

First, the box in which the Lynx is supplied promises a digital-to-analogue sound converter. This turns out to be little more than a small speaker. The Beep statement also disappoints because rather than entering a note name – or even a number corresponding to a particular note – you have the following format:

BEEP wavelength, number of cycles, volume

The volume can be any number between 0 and 63. To be able to hear anything you are obliged to use 63 all the time, which is regrettable as it reduces the flexibility. The wavelength and the number of cycles have to be calculated beforehand. Furthermore, I am not convinced that the wavelengths are that accurate in practice.

If microcomputer manufacturers paid a little more attention to the sound possibilities of microcomputers, the results would be astounding. A good example of this is the way in which sounds can be “synthesised” using machine code on the Lynx.

The Sound command is a good idea, which allows interesting possibilities, but a few Basic statements could be a more powerful. Sound works by outputting a number of bytes of memory through the speaker. With a memory of 48K, relatively complex sound patterns can be achieved. Sadly there is only one voice channel, but even with this restriction good effects are still possible.

Speech synthesis

Speech synthesis is also a feature according to the manual, but the output is so quiet that you may never hear it. By connecting a analogue-to-digital converter, the Lynx could take noises, store them in memory and replay them. Even processing of stored sounds is possible. I managed to synthesise white noise by feeding the loudspeaker a series of random numbers.

The documentation concerning the Sound command is woefully short in the manual. For a command like this giving no examples is really not good enough. More to the point, those who use the Beep command are not even given a list of which wavelength corresponds to which note in the musical scale. On the whole the manual is not as comprehensive as it should be.

It is a glaring failing for a home computer manual like this one not to have a proper index which allows users to find the information they require quickly. It might be right to omit information which is readily available elsewhere, but I cannot see why facts relevant to the Lynx are missing. As a teaching manual, for someone who wants to learn about computers, it is adequate, and certainly better than the Dragon manual.

The Lynx has a number of commands and language features not seen elsewhere, giving the machine a particularly strong, if a little odd, version of Basic. I like the structures, Repeat-Until, and While-Wend. They give Basic a class not normally associated with it. I also like the automatic indenting. It really does make programs easy to read and, more importantly, easy to debug.

Old favourites

Lynx Basic has all the old favourite commands, including the now essential Trace to let you know where things have gone wrong. Swap is interesting as it allows you to swap the values of two variables. Pause will hold up the computer for a specified amount of time. UPC$ is a string function that converts all the letters to upper case.

Among the commands used in the tape operating system are Append which permits you to add subroutines to the end of a program, and MLoad which loads machine code from tape. The baud rate can be selected using the Tape command. Like the BBC micro, the Lynx allows Procedures, which will keep the educationalists happy – they like structured programming.

The graphics on the Lynx are perhaps its strongest feature. Resolution is high, and unlike most other home computers all eight colours can be mixed on the same screen. There are 256 by 248 pixels, and a good set of commands to use them to create some very good graphics.

Window is a strange command which disables part of the screen, allowing writing only within the window area specified. Print@ allows printing to start at any given pixel location on the screen. This means it is possible to print subscripts and superscripts, a useful facility for writing mathematical or chemical formulas on the screen.

There are commands which let you play around with the cursor, and a VDU command which is not as complicated as the BBC VDU command.

Conclusions

  • The Lynx is an attractive little machine, but offers nothing spectacularly new.
  • It is good value, and does have some very interesting expansion possibilities – especially when it becomes part of a CP/M system.
  • The real keyboard, high resolution, and machine-code monitor make it a natural “next computer” for people wishing to upgrade on last year’s model.

First published in Your Computer magazine, February 1983