Multiplan

Mike Liardet looks at Multiplan – Microsoft’s entry to the spreadsheet fray.

After releasing the Apple version of Visicalc about three years ago, Visicorp enjoyed at least 18 months completely unchallenged in the market for what has now become known as spreadsheet software. But in the last year and a half there has been a steady stream of Visicalc rivals arriving on the scene and, naturally, some of the established companies have been getting involved in this growth area.

Probably the best known of all the micro software companies, Microsoft’s pedigree goes right back to those prehistoric days of ‘core-store’, paper-tape and teletypes – 1975 in fact, when the first of a million microcomputer systems was equipped with a Microsoft Basic interpreter. Now Microsoft has augmented its own spreadsheet system: Multiplan. Will Multiplan further enhance Microsoft’s reputation for excellence? Will it be another Ford Edsel? (You should get this point if you have heard of a Ford Edsel and you definitely will if you haven’t!)

The first thing that strikes you when confronted with a copy of Multiplan is the packaging: Microsoft has obviously invested a lot of effort (and money as well, I am sure) in presenting its ‘new baby’ to maximum advantage. A heavy-duty transparent plastic case holds a substantial ring-bound manual, system disks, various leaflets and a few pieces of carefully positioned cardboard mouldings – simply there to mask out awkward gaps and present an uncluttered appearance through the transparent box. Readers who are concerned by such a flagrant wastage of the world’s resources on a mere piece of marketing-hype will doubtless be relieved to learn that you need not throw the box away after purchase – it readily converts into a sweet little bookstand to support your manual!

Anyway, underneath the packaging we eventually find the disks – my review copy was for the Apple II (DOS 3.3), but Multiplan is also available for The Apple III, CP/M systems and, of course, Microsoft’s MS-DOS. All versions are evidently functionally identical, with just a few pages at the start of the manual outlining any minor differences, so non-Apple owners should still bear with me! (I also had the opportunity to take a quick look at the MSDOS version on a Sirius, so have made occasional references to this, too. In particular, I have included benchmark results for the Sirius version, specifically to check out Multiplan’s performance with a new generation (8088) processor and all that extra memory capacity.)

Getting started

Getting started proved fairly easy – the ‘First Time’ instructions were not on page 1, where I like to see them, but a little bit of page-thumbing soon tracked them down. A bit of disk copying, data disk initialisation, and two or three minutes later I was faced with a reassuringly familiar display of a spreadsheet. The only hold-up in all this was to have a good chuckle at the latest piece of computer jargon, encountered in the instructions for seeking the system for optional (on the Apple) 80-column display mode: ‘Recable’ – to exchange 40-column video cable connection with 80-column!

The initial display is of the top left hand corner of the spreadsheet, showing seven spreadsheet columns and 20 rows, all completely blank. The remainder of the display is devoted to helpful prompts: the names of twenty different ‘commands’, a ‘what to do now’ message and status information, such as percentage of storage space remaining, current cursor position, etc. Both rows and columns are identified by numbers, unlike many systems which use the alphabet for column headings. The repercussions of this are fairly great, since whereas ‘Q99’ is unambiguously a reference to a specified cell, ‘1799’ clearly is not. Multiplan provides several alternatives for identifying cells, but the simplest is that they be written as ‘RyCx’ – eg, ‘R17C99’ – a little bit longer than ‘Q99’!

Moving around

Moving the cursor around the spreadsheet is very simple – single control-key hits (ie. simultaneously pressing ‘Control’ and one other key) move the cursor left, right, up and down, with the VDU screen window being ‘pulled along’ by the cursor if an attempt is made to move to a cell off the edge of the screen. Sensibly, the keys that achieve this movement are arranged in a diamond (on the Sirius the arrow keys are used) – easy to remember and easy to touch-type when you are looking at the screen. Further investigation reveals that there are also control-key hits to ‘home’ the cursor to the top left hand cell and to the bottom-right, and a ‘Go-to’ command where destination coordinates can be typed in, as well as a rapid scrolling facility where the cursor is moved several cells at one go.

Also of particular interest is a very powerful split-screen facility. The screen can be subdivided into display areas (called ‘windows’ in the manual), each displaying different parts of the spreadsheet, and the cursor can be quickly ‘jumped’ from one to the next. There are many possible uses for this: locking row and column headings for continual display, quick movement between different parts of the spreadsheet, and keeping totals or whatever continually in view when other parts of the spreadsheet are being modified. Moreover each window can be displayed with a nice surrounding border, and can also be ‘linked’ to another window so that columns or rows in both always line up correctly. If all this sounds a little confusing to the newcomer, then take heart. You can completely ignore the facility at first, but once you are ready for it, the chances are that however you want to lay-out your display then Multiplan will accommodate you.

Entering data

As with most spreadsheet systems, the ‘bread and butter’ activity centres on entering or changing numbers, titles and formulae. To achieve this, simply move the cursor to the cell to be changed and start typing whatever is required there. The only thing to watch out for is that text entry must be preceded by selecting ‘Alpha’ mode (simply press ‘A’ before typing the text) otherwise the chances are Multiplan will assume you are entering a command – occasionally disastrous. For example, a sensible abbreviation for Total-Costs-Yacht could be ‘TCY’. Enter this without pressing ‘A’ and Multiplan does a ‘Transfer-Clear-Yes’ wiping out the entire spreadsheet! Don’t believe it could happen? A PCW editor (I’ll spare his blushes) did it! Well, it probably wasn’t a yacht, but a yo-yo or a yard-of-ale or something…

The formulae themselves can be built up using a wide range of maths and other functions, including trig, standard deviation, string concatenation, logical and table look-up, etc. The notation used is the classic keyboard version of school maths notation, easily learned by anyone not already familiar with it. As we have already mentioned, formula references to cells require an RyCx’ notation – eg, the formula to add the first 2 cells on the first row could be written as ‘R1C1 + R1C2’. However, there is a little trap lurking for experienced spreadsheet users – the replication facility does no formula adjustment whatsoever. Thus, if the above formula was located at R1C3, and then copied to 99 cells below, each and every copy would be ‘R1C1 + R1C2’ and the expected Column 3 = Column 1 + Column 2 would not be achieved. It turns out that the original formula, quite correct if no replication is envisaged, should be ‘RC[-2| + RC[-1)’, meaning ‘add cell in current row two columns back, to one in current row one column back’. Now, wherever this formula is located, it will add together the two previous values on the row, and in particular, if replicated right down column 3 it will do the column sum correctly.

If typing ‘RC[-2] + RC[-1]’ seems like a bit of a fingerful (tactile equivalent of mouthful) then Multiplan to the rescue! Instead of working out ‘RC[-2]’, etc, simply use cursor moves in mid-formula entry and Multiplan will type in the formula for you. In the above example only the ‘+’ need be entered from the keyboard, the rest of the formula being built up by using the cursor to point to the cells to be referenced.

It is also possible to refer to cells by their row or column name and thus build up formulae like ‘profit = sales – costs’. Since (a) this is immediately comprehensible and (b) always replicates correctly, the extra typing involved is well worth it!

In conclusion, I must say that I did not greatly like Multiplan’s methodology for referencing cells. It should be noted that cell references occur not only in formulae, but are also required by the majority of commands (see below), so a major part of one’s time at the keyboard is spent using them. In fairness I must point out that (a) my previous spreadsheet has been with the Visicalc style of cell-reference and (b) that Multiplan has some compensations for this minor irritation with some excellent other features and facilities.

Commands

Thus far, we have looked at Multiplan’s basic essential facilities, but of course there are many other, typically more peripheral (in both senses!), functions needed to provide a comprehensive spreadsheet system. These extra functions are provided for by Multiplan commands, and invoked by selection from a command-menu.

Actually, in passing, we have already touched upon four commands provided by Multiplan – ‘Go-to’ cell, ‘Alpha’ for entering text, ‘Copy’ for replicating cells, and ‘Window’ for the split-screen facility. There are in fact 20 in all, each starting with a different letter of the alphabet, and all permanently displayed at the bottom of the screen. Bearing in mind that there were only six letters of the alphabet to spare, the implementers have done a pretty good job of choosing 20 sensible names – probably the worst one is ‘Alpha’ (it couldn’t be ‘Text’ because that clashes with ‘Transfer’ and ‘Transfer’ couldn’t be ‘File’, ‘Storage’ or ‘Disk’ because F, S and D are in use, etc).

Anyway, in the unlikely event that a command’s meaning is unknown, or in the more probable event that the precise method of usage is unclear, there is an excellent ‘Help’ facility available. Basically the list of command names has its own cursor, which can be shifted along by pushing the space bar. Commands can be selected by moving the command-cursor then pushing ‘Return’ (or by just typing the command’s first letter – much quicker). However, if ‘?’ is hit instead of ‘Return’ the spreadsheet screen is replaced with a ‘help’ screen for the currently indicated command. Moreover the information is not just a few cryptic instructions, but a fairly comprehensive run-down which in some instances extends to several pages. By the way, all the help-screen information is read from disk when needed, and does not affect the precious memory allocation for the spreadsheet itself.

To get some idea of the command facilities available, here is a quick rundown of all 20:

  • Enables text to be entered at the current cursor position.
  • Blanks out one or more cells. Contents are blanked out, but display format assigned to cell is unchanged. Not the same as Delete since, in particular, the following rows or columns are not shifted.
  • Copies cells from one place to another (ie, replication). Relative-copy is not possible (see text above) – must do absolute copy of relative formula!
  • Deletes a row or column of cells, moving all subsequent rows/columns back by one.
  • Instead of correcting a long formula by retyping from scratch, this command can be used to apply the changes quickly.
  • Numerous different display formats are possible: different column widths, centre, left, right justify, scientific, integer, financial, primitive bar graph, and more besides! As an extra convenience, a default format can be specified, assigning the format you most expect to use to all cells not explicitly reformatted to something else.
  • Go to cell specified by its name or coordinates.
  • Gives general help information, not covered by the help-screens, for each specific command.
  • Inserts a blank row or column, moving all subsequent rows/columns along by one.
  • Locks or unlocks specified cells. Can permanently lock all formulae – useful for turnkey systems.
  • Moves a row or column to between two other row/columns.
  • Enables a cell or group of cells to be given a user-supplied name. This name can be used in formulae, and also by the ‘Goto’ command. It saves confusion if the name here is the same as the visible title.
  • Used to set basic operational features, eg, switch off auto-recalculation or audible error beeps. The former is very useful when the spreadsheet is getting fairly full and every change takes several seconds – not to be registered on the screen, but for its effects to permeate through the system. The latter is absolutely priceless if you work at home and your family ‘can’t stand that incessant cheeping’ (to quote my good lady).
  • Can print to printer or disk file. Option to print the formulae as well as the calculated values. This is useful for documenting or debugging the model. It’s also possible to print selected areas.
  • Finish – back to resident operating system (eg, CP/M, MS-DOS, etc).
  • Sorts calculated or entered numbers or text by suitably shuffling rows.
  • Load, save, delete and other disk file operations. Of particular note: Multiplan can read Visicalc data files, or read/write files in a well-documented external interchange format, as well as using its own internal disk format. As it can also print to disk, it is extremely versatile in its file-handling.
  • Can optionally be used for entering formulae or numbers.
  • Split screen facility.
  • Used to read in answers calculated by one spreadsheet as raw input data for another. Can be used for ‘consolidation’.

Documentation

The documentation is comprehensive, clear and well-written. The bulk of it is in a stout ring-bound manual (minor niggle – the rings are not circular and tend to snag the pages when you are turning them quickly). It has obviously been put together with the sort of thoroughness we would expect from Microsoft, right from the Contents page at the front to the Index at the back. The basic material provided is:

  • System-specific instructions. How to create your working disks under your particular operating system.
  • Organised as seven lessons. Gives you key by key instructions, starting with simple cursor moves in lesson one through to multiple work-sheets at the end. Well illustrated.
  • In alphabetical order, everything you need to know about the command, key-strokes and formula-functions. Also includes a list of all system messages, together with advice on what to do when you encounter them.
  • Extra helpful information, including a glossary and notes for Visicalc experts – a nice touch!
  • Quick Reference Guide. A separate pocket book (16 pages), being a condensation of the reference section in the main manual.
  • Help Screens. Comprehensive instructions on-screen for every command and a few of the other facilities.
  • With this breadth of documentation, there should be something to please all levels of user. Complete beginners can try the tutorial. Experts will probably just use the quick reference guide or help-screens and everyone can make good use of the comprehensive index.

Sirius slip-up

Having given the Apple version a thorough work-over, I arranged a joyride on somebody else’s Sirius. The article was nearly complete – I just needed to pencil in the Sirius Benchmark times and then off to Mustique for yet another three weeks.

First problem: Sirius version of Multiplan manual temporarily mislaid. Well, I should know the system well enough by now. So, in preparation for Benchmark 1, I quickly set up the first 12 columns by 200 rows of the spreadsheet. (Readers familiar with the benchtests will know that this results in a display of 1.. 12 in the first row, 13. . 24 in the second, etc.)

Next I needed to set up column 13, each cell in it being the sum of the previous 12 in the row. Easy! Just use the row-sum function in column 13 of row 1, and then copy it down to all cells below it. Unfortunately I couldn’t remember the correct syntax for using it. Anyway, after experimentation I found that ‘SUM(C1:C12)’ at least did not give a formula error message, but it did seem to be displaying the wrong answer. Okay – time to copy it. Well, much disk-whirring and clanking, then watch the calculation count-down on the VDU display. 45 minutes later; I’m still waiting and the disk is still whirring and clanking and countdown’s still not finished – I’m frightened to switch off in case I corrupt the disk (it’s not mine, anyway) – can’t stop it at the keyboard, etc. Anyway it took about 50 frustrating minutes.

So, what went wrong? Well, basically a minor slip-up in my use of the SUM formula. I eventually got it right (by using a help-screen, what else?): ‘SUM(RC[-12]:RC[-1])’ and the whole test was over in under a minute. The formula I had originally used did not add the row up, but calculated the whole 12 x 200 array of numbers, and of course this formula was then copied 200 times down the column – a bit of a hefty number-crunch!

Anyway, the moral of this story is: make a good effort to learn Multiplan’s cell referencing – it could save you a long wait!

Conclusion

We have taken a fairly fast swoop right through the major facilities and features of Multiplan; so fast that some very valuable features, not generally available in mere state-of-the-art spreadsheet systems, may have gone unnoticed. Just for the record.

Multiplan gives you:

  • If you need to sort columns of figures or text then it is impossible to do this without a ‘Sort’ command.
  • Multiple worksheets. Results from one worksheet can be communicated to another, useful for consolidation.
  • Multiple split-screens. Very flexible facility to design VDU screen display of spreadsheet.
  • Flexible file handling. In particular data interchange with other software is feasible, and Visicalc data files can be read (but not written! – no doubt Microsoft doesn’t want to encourage users to migrate that way!).
  • Available on 16-bit microprocessor (8088/6). The new 16-bit processors can handle a lot more memory, and spreadsheet systems which have been properly installed on them can use this extra memory for setting up bigger spreadsheets (see Benchmarks).
  • Comprehensive help-screens. In addition to these. Multiplan also provides more mundane, but by no means universally available, facilities – such as cell references by names, formula protection, formula printout, print to disk and formula editing.

Certainly Multiplan has a lot of facilities to offer, but what is it like to use? Well some minor complaints here: the row/column numbering scheme increases the amount of typing for formulae. You have to consider replication consequences when you enter a formula, rather than when you do the replication, you have to choose the ‘Alpha’ command before you enter text (okay, it’s only one extra character, but most other spreadsheet systems don’t do it this way). To balance these minor grumbles are comprehensive error messages, and understandable prompts for all input.

So finally, my advice to spreadsheetless owners of Apples, CP/M or MS-DOS systems, or to anyone looking for an upgrade: put it near the top of your list!

Benchmarks and other measurements

These tests were run on an Apple II system with 64k of RAM (which is in fact mandatory) and an 80-column display card (which is optional). Available space for the spreadsheet itself amounted to 21k. Figures are also included for the Sirius (with 128k of RAM, and theoretically extendable to 800k+), running MS-DOS and allowing greater storage space for the spreadsheet. Where the Sirius figures are different they are appended in parentheses after the Apple figures.

Incidentally, a Sirius retails for around £2500, and the nearest equivalent Apple system (but with lower disk capacity, half the RAM, 8-bit processor) would be around £1750.

  • Spreadsheet size: 63 columns wide by 255 rows.
  • Numeric precision: 14 digits.
  • Max column width: 32 characters.

The benchmark tests are described in ‘Which Spreadsheet’, PCW Feb 1983.

Benchmark 1: (a) max rows accommodated: 95 (235); (b) recalculation time: 60 (55) seconds – ie, 1.5 (4) rows per second: (c) recalculation time: 60 (55) seconds; (d) vertical scrolling: 6 (6) rows per second; horizontal scrolling: 4 (4) columns per second.

Benchmarks 2: max rows of text accommodated: 190 (Sirius not tested).

Benchmark 3: max rows of numbers accommodated: 190 (Sirius not tested).

Price: Around £150.

Checklist

Documentation: 400+ pages, contents, tutorial, reference, index, quick reference and help-screens. Well-illustrated. Excellent.

User-friendliness: Consistent and easy to use — cell-referencing can be a little tricky!

Error-handling: 20+ error messages. Erroneous calculations (eg, zero-divides) displayed as special error values.

Facilities: Arithmetic and other functions: +, -, *, /, %, string operations, logic, descriptive statistics, trig, logs, look-up and more besides!

Configuration: version tested easily configured for different types of Apple screen.

Graphics: a let-down compared with the other facilities!

Interface to other software: specifically can read Visicalc files, and print to disk. Can also be interfaced to other software using data interchange format (requires programming skills to do this).

Spreadsheet overlays: yes – can do consolidation or merge information into existing spreadsheet.

Turnkey: Apple version is turnkey with all disk formatting, copying, etc, achievable without recourse to Apple DOS.

Insertion, deletion and replication: yes.

Display flexibility: just about everything you could possibly want. Excellent.

Protected cells: yes.

Formula printout: yes.

Formula editing: yes.

Automatic/manual recalculation: yes.

Out of memory: memory left permanently displayed. Recovers correctly when it runs out of memory.

Long jumps: can jump directly to any specified cell.

Sorts, searching and logic: yes.

First published in Personal Computer World magazine, April 1983

Advertisements

Data Management to the Rescue?

Kathy Lang checks out a flexible new CP/M package.

Regular readers will know that many of the packages I’ve reviewed in this series have particular areas of strength that make them well suited to certain areas of data management. This month’s offering, a British package called Rescue, which comes from Microcomputer Business Systems and runs under CP/M, is a general-purpose, menu driven data management package which has much in common with others in this field. But it has unusually flexible provision for different types of information, and its data validation is among the best I’ve seen.

Rescue comes in three parts: the first deals with configuring the system for your computer, and is not needed again unless you make major changes. The second part covers the creation and amendment of the data files, and of the screen and report formats, while the third permits record amendment and display. This separation makes it easy to set up a system in which most users have access to the information in the files, but cannot change the format of those files or interfere with any provision for protecting parts of the data for security reasons.

Data is stored in fixed-length records in Rescue, but some ingenious methods are used to keep data storage to a minimum – I’ll say more about that later. Once you’ve set up a record format, you can still add fields to the end of the records, but you can’t change the sizes of existing fields unless you’ve made provision for that in advance. (MBS is apparently about to release an option to permit more radical changes to existing files, but it isn’t available yet). You can access the records in two ways. Individual fields may be used as keys, and any one of them used to access a particular record for display and/or editing. You can also select subsets of the data by setting up a set of selection rules, which are used to extract a set of records for browsing on the screen or for printing. You can set up as many screen and report definitions as you please for any set of data; these definitions need describe only a few fields in a record if necessary, and any or all of these descriptions may be password protected.

Rescue is used through menus, but users can set up their own menus through quite simple procedures. Thus you can set up a series of operations to be activated by one menu option. You can’t at present access one file from another, so that the current version of Rescue does not have true database capabilities.

Constraints

Figure 1 shows the major constraints imposed by Rescue. The maximum record size of 1024 is the same as several others I’ve reviewed, but Rescue’s dictionary capability makes it more economical of data storage than many.

Some people will find the limitation of 60 characters in a field more serious. I haven’t included in the figure a full list of the field types allowed, as it is very lengthy. Virtually any kind of data format can be expressed with one of the field types provided. I’ll say more about them in the next section.

File creation

The process of file creation is shown in Figure 2, which is a ‘road map’ of all the menus associated with the data definition part of Rescue.

The first stage in file creation involves setting up a data description file, specifying the basic format of each record and the keys it will have. At this stage you must assign a data type to each field. There are four main groups of data alphanumeric, numeric, date, and dictionary. There are several forms of data type in each group; for instance, character data may be just that and contain any valid ASCII character, or they may be alphanumeric, in which case they may only contain letters or digits and any attempt to enter invalid data will be rejected by the system. There is quite a variety of numeric fields, too, including money (sterling). You can specify that a field is to conform to a mask, to ensure that such items as account references, which often have prescribed formats, are entered in a valid form.

Probably the most unusual type of data is the dictionary field, which permits the person entering data to include only certain values. There are two kinds of dictionary field; a short form, which permits up to 29 characters in total to be used for each field, and a long form, which allows up to 255 entries, each of up to 60 characters. The latter are shared among all the fields in the file, so supposing one has a series of questions each with the same range of answers – for example, answers ranging from Poor to Excellent in a market research survey – you only need one dictionary entry for all the fields to refer to. Each response takes up only one character in the record in the data file for either type of dictionary, so the method is really a way of combining coding with captions for codes.

Every field within the record must also fall into one of four entry categories: mandatory (ie, the field must always have a value), optional (the field may be empty), calculated or display-only. Calculated fields are derived from calculations on constants or on other fields in the same record. Display-only fields are provided so that for certain modes of access fields can be shown but not altered – account numbers might for instance be protected in this way. Any field in a record may also be linked to others in a number of ways.

Direct linkage provides for situations where some fields only have values if another field – said to be the controlling field – has a certain value. For instance, details about a property might say if the property were freehold or leasehold but only if it were leasehold would it be sensible to ask for the life of the lease and the annual charge. This approach can also be used to deal with records with lists of information; you might want to store the names of all a person’s children where some people might have as many as six, without asking six questions about childless people. Most packages expect you at least to hit one key for each question when entering data from the keyboard but with the Rescue approach entry can be more finely tuned to stop
prompting for answers if they are not needed.

During file definition you must also specify the fields which are to be used as keys. Rescue treats the key field which is physically nearest to the beginning of the record as the main key, in that you have to ask specifically for other keys when you come to access the file; so it can save a little time to think about what order to store fields in the record. Up to 10 fields may be defined as key fields. Keys may be either unique or duplicate, and Rescue checks when supposedly unique key values are entered. All the key fields are referenced from a single index, which is automatically kept up to date when data is added or amended.

The next step is to define screen and print formats for the records; you can have as many of these as you wish, and each may describe only parts of the record – for instance, to prevent confidential information being seen by everyone. Next, you tell Rescue to set up an empty data file and structure the index file, and finally you construct any custom-defined menus you will need If you do specify more than one screen or report definition, then you will have to do some customisation of the menus in order to use the alternative formats, but this is quite a straightforward process.

Input and editing

The provisions for data validation given by the dictionary facilities, by the variety of data types and by the range checking which can also be set up at file definition time, are extremely powerful – it’s always possible to get the data wrong in a logical sense, but Rescue makes it quite hard to get it wrong in any other sense. That said I did find the mechanics of correcting data a bit clumsy; if you’ve made a mistake and go back to edit a record you can say where in the record you want the editing to begin but from there you must work sequentially through – you can’t work back up the screen either when entering or editing data. Since the program requires you to have a terminal which can move the cursor left and right, it seems a bit strange not to utilise cursor movement up as well, since no terminal is likely to have horizontal movement but not vertical…

When you retrieve records for amendment, you do so by specifying a particular key value; you can specify the use of any key, but you have to get the value of the first four or five characters exactly right (except that Rescue is ‘case-blind’ in this situation, so it will for instance match Smith and smith). Even when matching exactly on a key value you may retrieve more than one record, as duplicate keys are allowed. But searching for field values within ranges is only possible when you want to look at records, not when you want to change them.

Screen display

I said that you can have several definitions for a single file, so that records can be displayed on the screen in different ways for different users or applications. These screen definitions can be created by copying existing definitions and amending them, but I couldn’t find a way to see what definitions I already had except by going out to CP/M and using the Directory command. Screen layout is specified by giving row and column coordinates for each field you want to display, which I found much more difficult to use than the ‘paint-a-screen’ approach which has become fairly common. The coordinate approach also makes it more difficult to amend the layout, though Rescue does have one provision to make this a little easier by letting you specify a re-ordering of the display without changing the absolute coordinates.

The screen layouts are set up in the ‘definition’ part of Rescue. However, they are invoked from the main part of Rescue, through executing one of the options in the menus shown in Figure 3. Display can be of records specified either by matching one key, or by selection using the selection and extraction procedure which is described later.

Reporting

Rescue uses the same mechanism for printed reports as for screen display, so both are strictly record based. The only provision for aggregated information is totalling of numeric fields. It is possible to force page-breaks when values of particular fields change, but subtotalling is not provided. There is, however, a very flexible facility to interface with Wordstar and Mail/Merge, so it is easy to use them in combination with Rescue to write circular letters and concoct sets of standard paragraphs.

Selection

Rescue provides the ability to select parts of the data file for browsing, printing or further selection. The main method of doing this is to set up a set of selection rules in a file, and then to apply these to the data file to produce another file containing the selected records. The selection rules are very flexible: you have all the usual comparison operators (less than/greater than/equal to/not equal to) and data values can be compared with constants or with the values of other fields in the same record. Rules can be combined to provide ANDing and ORing within and between fields, and these combination facilities together with the NOT operator make it possible to select virtually any combination of values you could need. However, personally I don’t like the need to set up rules in a file, as it is rather cumbersome in practice; if you are using the standard facilities menus you must go to the ‘Maintain Rules’ menu (at the third level of menus), create the rules, then go back to the first level of menus and down to the third level ‘Extract and Sort’ menu to actually extract the records you need. Finally (from the same Extract menu) you can display or print the records that have been found. This provides a sharp contrast to the command language approach, in which one command will extract your records and a second at the same level will display them. However, you could tune the menus in Rescue to avoid some of this ponderousness, so it’s better in that sense than menu systems which you can’t adapt.

While actually comparing fields, upper and lower case letters are regarded as equivalent. You can use wild codes: ? will match any one character, * will match one or more characters. For dictionary fields, the order for comparison purposes is the order in the dictionary, so if you have a set of answers with Poor as the first and Excellent as the last Poor will be regarded as ‘less than’ Excellent even though P comes after E in the alphabet. This is usually what you want and with much coded data would be a very valuable feature.

Sorting

Rescue can sort a data file on up to five fields in one operation; the process is similar to selection and you can also combine selection and sorting to give a sorted extract file. Sorting is either in ascending or descending order, as with selection dictionary fields sort in their dictionary order (Poor before Excellent) rather than in alphabetical or numeric order. In addition ordinary character fields can be given a sort value which is different from their simple alphabetical order. This could be particularly useful where you had fields such as book titles which often have prefix words such as A or The, which you want to ignore for sorting purposes but wish to include as part of the field for printing (In most packages these prefix words must occupy a separate field, which will be empty for titles without a prefix word.)

Calculations

The calculation facilities in Rescue are quite powerful in the input phase, and practically non-existent after that. When you set up a data definition file, you can specify that a field is to be calculated from constants, or from combinations of other fields (including dictionary fields) in the same record. All the usual arithmetic operators are available. After input the only calculation you can request is totalling on printed reports; this is activated by requesting totalling of a field when a description file is set up. Up to 10 fields in any one description file may be set to be totalled.

Security

Protection in Rescue is of two kinds. It is possible to take the programs used in the Define stage off the run-time disk, so that the ordinary user can use file definitions and screen and report formats, but not amend them. At a more detailed level, password protection can be provided for particular data files, for individual description files (so that a user can be given access only to part of the data in a file) or for particular menu items in custom built menus (so that some users may have access to some functions but not others, while other users have greater facilities, but all within one menu). This is a flexible and powerful scheme, and should provide for most needs.

Stability and reliability

I didn’t have any problems over reliability with my use of Rescue. As to stability, new versions of Rescue, which are ‘cost options’, are intended to be compatible with existing versions. New features in the pipeline include a version for MS-DOS and a multi-user version.

Tailoring

As usual, the first task is to tailor Rescue for your particular terminal. This appeared quite straightforward (although, as is the common bad practice, you can’t be sure the tailoring has worked until you actually run the main Rescue suite). However, I had one misunderstanding which I never managed to sort out; this resulted in repeated prompts being printed on the same line as the error messages, which were thereby overlaid so that I couldn’t read the error message. I wasn’t able to discover whether this was an error in the software, the documentation or my interpretation of them and my Sirius manual, but it hasn’t happened to me before. While tailoring for the terminal, you can tell Rescue about cursor movement left and right but not about which keys move the cursor up and down, so much potential editing flexibility is lost.

Once into Rescue, the main tailoring facility is the ability to set up sequences of activities on custom-defined menus. This gets round some of the inflexibilities associated with menu-driven systems, and I found the approach quite easy to use.

Relations with outside

Rescue can write files in standard ASCII characters, using the ‘comma delimited’ format required by many other packages including specifically Wordstar’s Mail-Merge option. Thus you can set up files of information which you want included in circular letters or standard paragraphs, and then fire them off to Wordstar or another similar package.

Within Rescue you can include on a menu the ability to run another program, so it would be possible to tailor a menu to carry out a selection/printing sequence of this kind, called by Rescue ‘record processing’, without the user having to go back to CP/M. You can’t at the moment read external files of ASCII records into Rescue, though there is a menu option to do this already shown, which I’m told will be implemented in the very near future.

User image: software

Once again, your overall reaction to Rescue will be governed by whether you like menu-driven packages or not. I found the ability to tailor menus to provide facilities oriented to particular requirements a big help in mitigating the inflexibilities of menus. However, most users are likely to follow the well-established principle of ‘satisficing (a word coined by Herbert Simon the psycho-economist to describe the tendency to accept adequate or satisfactory results rather than go for the best possible) and only set up extra menus when they absolutely have to, for instance to access alternative screen layouts. So I suspect that mostly people will use the rather cumbersome standard menu facilities. I also had a rather mixed reaction to the complete separation of description of and access to the data files. Within an organisation which has a database administrator (who might simply be the boss in a small business) this could be a useful separation for security reasons, but it would be less helpful where the same person organises the data files and puts information into them, perhaps in a small office, one person business, etc.

Within the package itself, I as usual found some goodies and some nasties. The progress through the menus was orderly and logical and was made straightforward by the provision of the two ‘road maps’ which I show as Figures 2 and 3. The process of prompting was easy to understand. It would have been even easier if, when a question has a default response, this was displayed before the question is posed – in many cases the default is not shown even after you’ve accepted it unless you go back and edit the record concerned. Allowing the use of identifiable abbreviations, both for field names and for data values, is sensible.

I didn’t like the use of row and column coordinates when formatting screen displays and printed reports, especially as there is no default format so you always have to supply one. The ‘paint-a-screen’ approach is much easier in general than coordinate specification and if this is not supplied then there should at least be a default format with records displayed one field per line starting at the left of the screen or paper. I also found the inability to move back within a record when editing a real nuisance.

Documentation

The manual is basically a reference document but written in so much detail that it could be used to teach yourself about the package if you were reasonably familiar with data management terminology. However, the amount of detail makes it rather difficult to find your way around. Two goodies help a little in this: the use of emphasis within the text to call the readers attention to the most important parts of each section, and the printing of chapter headings right-aligned on each page (a real help to browsing at a general level). But the chapter names didn’t always make it easy to guess where a particular feature would be described, and since there was neither a detailed table of contents relating to each chapter nor an index, it was very hard to get from ‘now I’ve seen something about that feature somewhere’ to the exact part of the manual in question. Part of the remedy is close at hand, since if the ‘road maps’ (which perform most of the functions of a reference card) were annotated with the numbers of the sections documenting each menu item, readers would find it very much easier to locate the particular piece of information they need fast (As this article went to press, MBS issued an index for the manual, which should help.)

The other problem I had was that while each feature is documented in detail with examples of the particular feature, there are no examples of the display or use of groups of features. For instance, all the features of data entry are described in turn, but there is no figure showing how data definitions are displayed on the screen. Nothing bolsters a user’s confidence like some complete examples shown in real screen pictures!

I can’t resist ending this section by awarding MBS second prize so far in this year’s contest for manual typo errors, with ‘Data Validification’.

Costs and overheads

Rescue costs £295, and is available from MBS. To be realistic, you would need a disk system with the regular double-sided, double-density capacity of 370 Kbytes per drive on a two-drive floppy disk system, to enable you to have all the Rescue software on one disk drive and use the other for data I found the system very slow in loading individual program modules, which seemed to happen whenever I changed from one sub-menu to another. I was told that this was specific to the Sirius-Z80 card method of disk access, but I haven’t noticed the problem with other packages I’ve used. The times for actually running the Benchtests are shown in Figure 4. (Details of the tests were given in PCW December 1982.)

Conclusions

Rescue provides data management facilities through individual files. Data description facilities are very powerful. Rescue provides a variety of data types and validation features more extensive than any I have found before. These features also help to make Rescue much more economical on data storage than is usual in programs which use fixed length records. You can select and sort the data to provide pretty well any required subset but the process is rather cumbersome. Screen and report formats can be varied according to the needs of particular users, which makes it straightforward to protect particular data items; you can also permit users access only to certain Rescue features. Screen and report formats are described in a rather rigid way, and there are no default formats for easy initial use.

On the other hand, the ability to send data to and run Wordstars Mail-Merge option from within Rescue could be very valuable in some environments. Apart from the calculation features on data entry, the only calculating power within the package is the ability to total particular fields. The system is menu-driven, which can be ponderous in use, but you can if you wish design your own menus to mitigate this disadvantage to some extent. Rescue is in the main a single-file system – you cannot reference one file through data values in another. Provided this limitation is not a problem, you would find Rescue worth investigating, particularly if the variety of data types and the extensive data validation would be beneficial in your application.

Fig.1. Constraints  
Max no. files in one menu structure 20
Max file size CP/M limit or disk size, whichever is smaller
Max no. records 32760
Max size record 1024 characters (but good data compression methods)
Max no. fields 100
Max field size 60 characters, 14 digits
Max no. keyfields 10
Field types See text – several varieties of character, numeric, date (day/month/year), monetary (sterling), dictionary

Figure_002

Fig.2. ‘Roadmap’ of menus

Figure_003

Fig.3. Menu options

Fig.4. Benchmark times
BM1 Time to add 1 new field to each of 1000 records Setup time
BM2 Time to add 50 records interactively Scrolling time
BM3 Time to add 50 records “in a batch” NA
BM4 Time to access 50 records from 1000 sequentially on 25-character field 1 min 20 secs
BM5 Time to access 50 records from 1000 by index on 25-character field NA* (1-3 secs)
BM6 Time to index 1000 records on 25-character field 12 mins
BM7 Time to sort 1000 records on 5-character field 4 mins 10 secs
BM8 Time to calculate on 1 field per record and store result in record NA
BM9 Time to total 3 fields over 1000 records NA yet
BM10 Time to import a file of 1000 records NA yet
Note: NA=Not available. NA*=Not available as tested – key must match exactly.

 First published in Personal Computer magazine, April 1983

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

OKI IF-800

Oki001

Equipped with an unusually high level of sophisticated hardware, this integrated microcomputer system is clearly designed to appeal to a wide range of business and technical users. John Dawson finds out whether its practical performance matches up to the advanced specification.

The OKI IF-800 Model 20 personal computer is an eight-bit machine intended as a small business computer, for scientific purposes, and for diverse applications such as instrument control and running business colour-graphics software. It uses a Z-80A CPU running at 4MHz, backed up by 64K of dynamic RAM for program store and 16K for the monochrome display, or 48K if you have the colour monitor. There is a 2K bootstrap ROM.

The IF-800 has a built-in printer which uses a five-by-seven-dot matrix, and consequently produces no lower-case descenders. The printer provides for both tractor and friction paper feed. The other input/output facilities for the computer are listed in table 1.

Two 5in. double-sided, double-density mini-floppy disc drives are built into the computer. Each drive has a capacity of 280K, giving a total on-line storage capability of 560K. With four floppy-disc drives in place, the machine can access 1.12Mbyte. A brochure accompanying the computer, dated November 1981, offers a 5.25in. hard-disc drive with a capacity of five or ten megabytes.

The computer is delivered as two units: the first incorporates the keyboard, printer and CPU/memory. The second unit contains the VDU and the two floppy disc drives mounted on a plinth to raise them above the keyboard. Power and data connections are brought neatly down the inside of one leg of the plinth to plug into the back of the computer/keyboard unit.

Eight-colour image

The computer is supplied with a mains lead wired directly to the machine and a continental three-pin plug at the far end of the lead. Despite this, the IF-800 contains a 240-volt power supply and the first job you will have to undertake after unpacking the computer is to cut off the plug to substitute a standard U.K. plug.

Oki002

An eight-colour image is available on the IF-800 with a high-resolution display – 640 horizontal by 200 vertical pixels. Alternatively the machine can be supplied with a green monochrome display with the same resolution.

The story, however, does not end there. The colour mask in the colour cathode-ray tube is perceptible to an operator using the computer, and the effect of this is to lower the apparent resolution. When this is combined with the absence of lower-case descenders in the VDU type fount, the result is to make the machine unsuitable for use over extended periods by, for example, a word-processor operator.

Any computer should have an easily legible character set that will not cause fatigue when used for a number of hours at a stretch – nothing less is acceptable, certainly not in the prestige, up-market product range to which the IF-800 aspires. The poor quality of the 80-character IF-800 alpha-numeric display is a serious shortcoming.

Oki003

In addition to the normal typewriter keys on the IF-800 keyboard, there are 10 user-programmable “soft keys” and 32 special-function keys, including a numeric keypad. Three keys are dedicated to printer functions: to print the current contents of the VDU on the printer; eject a “form” length of paper from the printer; and echo whatever is typed in at the keyboard to the printer.

The soft keys are repeated along the bottom edge of the VDU screen, and some of the CRT control options allow a label field to be displayed across the bottom of the VDU indicating the function of the 10 programmable soft keys. The keys along the bottom edge of the VDU are particularly useful when a menu of commands is provided for a user to choose from. The first three characters of the command are displayed when the CRT display is in 40-character mode, and the first seven characters of a maximum
of 15 are displayed when the VDU is in the 80-character mode.

A reset switch and a key to break into the operation of a Basic program are located on the left-hand edge of the computer. A diverse and comprehensive set of sockets scattered round the computer will allow you to plug in additional peripheral devices such as a light-pen, an acoustic coupler or British Telecom Modem, laboratory instruments, a printer with a Centronics interface, or the two additional floppy-disc drives.

Oki004

Hard information

Two manuals are supplied with the computer. The Operation Manual contains 200 pages packed with hard information about the system and example Basic programs. The second manual is the Basic Reference Manual which devotes about 30 pages to a general explanation of the OKI Basic interpreter, and a further 100 or so to a more detailed description of the use of each command and intrinsic function.

The IF-800 is likely to be marketed into offices, scientific and hospital laboratories, and possibly executive conference rooms. Many of the machine’s users will be intelligent and capable people who are quite ignorant about computers. The documentation supplied with the machine is crucially important, particularly where small detail is concerned, because this group of users is unlikely to have the accumulated wisdom that will allow them to disregard red lights and to cope with unexpected error messages when following programs in the Operation Manual.

For example, there is a caution that you should not attempt to remove a disc from the disc drive when the drive-select light is on. Yet the red light remains on the whole time on drive 1, presumably to indicate that the drive is selected rather than that the head is in contact with the disc, reading or writing material. Even if it were possible to select the second drive manually this is an incredibly clumsy way of removing a disc. There is no cross-reference in the manual to tell you how to overcome the problem.

Additional boards

The Operation Manual does improve when it reaches the technical description of the various additional boards that can be attached to the basic system. There is plenty of information, well set out, on the pin connections, voltage levels and timing patterns that are expected by the D-A and A-D boards, the IEEE-488 interface and so on. A technician in a polytechnic or university laboratory should be able to interface the IF-800 to other equipment without difficulty after consulting these sections of the manual.

There are, however, numerous other small discrepancies in the Operation Manual and generally too little attention has been given to a user approaching the computer for the first time. The poor introduction to the documentation has been overcome to some extent by an impressive training program supplied on disc. The program demonstrates some of the Graphics Macro Language commands, described later, and many of the other Basic commands concerned with drawing on to the screen. The screen photographs were taken while this program was running and you should be able to see the command in the lower portion of the screen, with explanatory comments and the effect of the command in the upper half. Training by the company supplying the machine is still necessary for other aspects of the computer’s operation.

The IF-800 is supplied with an extended Basic interpreter based on Basic-80 developed by Microsoft. The version of the language supplied allows various screen formats with either abrupt or smooth scrolling, and a Basic command which will access a Graphic Macro Language. Circle, for example, will draw a circle or arc on the screen, given coordinates for the centre, the radius of the circle and the colour of the line.

A further parameter allows you to set the elongation of the vertical axis of the circle, and the ratio of the vertical to the horizontal axes can be set between zero and one. Zero will make the computer draw a straight line while, a ratio of one will draw an ellipse. In the same way, the angle of arc that is to be drawn can be set, where zero represents 90 degrees, 0.25 represents 180 degrees, and 0.5 starts or stops an arc at 270 degrees.

Another basic command, DEF CHR$. allows you to redefine the graphics characters held in the machine. The eight-by-eight screen matrix can be controlled by a character string consisting of eight bytes expressed in hexadecimal notation, concatenated into a string.

The Basic interpreter contains many commands peculiar to the machine. Although the machine runs CP/M and has a vast quantity of software available through Lifeboat Associates, it is unlikely that WordStar, Fortran-80, Pascal, muSimp/muMath or the Peachtree financial packages will make adequate use of the special hardware and software features available on the IF-800.

For example, the Pen commands in OKI Basic will return the horizontal and vertical position of the light-pen on the screen to a resolution of one pixel. It should be possible to use the light-pen for editing purposes in a word-processor program, selecting first a command at the top of the screen such as Delete, and then selecting the character or word to be deleted anywhere on the screen.

In the same way, it should be possible to scroll the screen in any direction merely by placing the light-pen on the appropriate boundary. Obviously WordStar does not have this facility in the form in which it is implemented on a Superbrain or Cromemco. In the absence of software designed specifically for the IF-800 it is constrained into the mould of a straightforward business computer with a colour display.

The OKI Basic interpreter has two commands for storing and retrieving machine-code programs from disc, and has both Call and USR commands which transfer program execution to a user machine-code subroutine. There are no details in the manual to tell you how to return to the Basic program at the end of the machine-code subroutines.

VARPTR returns the address of the first byte of data identified with a variable name. VARPTR can be used to obtain the address of the variable array so that it can be passed to an assembly-language subroutine. For example the instruction

VARPTR (A (ZERO) )

identifies the lowest element of the array.

Conclusions

  • The IF-800 costs £4,300, including VDU, printer and double disc drive
  • The comprehensive input/output facilities on the IF-800 will be attractive to scientists wishing to gather and display complex information in graphic form. Business executives may find the colour display a useful presentation device for their colleagues.
  • The tidy appearance of the computer must be set against the fixed relationship between the keyboard and the VDU which is poor ergonomic design.
  • Operation of the machine is quite separate from programming it, and the confusion over details such as the orientation of the label on a floppy disc and the drive-select light on the floppy disc units is an unnecessary burden on a small business looking for a robust system for the first time.
  • The 80-character display is not backed up by a sufficiently high-resolution display on the colour VDU to make it acceptable for prolonged use as a word processor or for other applications which demand reading or correcting text.
  • Dot-matrix print is acceptable for memoranda and papers that will be used within an office, but the lack of lower-case descenders on the IF-800 printer makes documents tiring and annoying to read.
  • Despite its length, the documentation supplied is inadequate to allow anyone unfamiliar with microcomputers to operate the machine successfully.
  • A wide choice of C/PM software should be available, but this is unlikely to take advantage of the sophisticated hardware features of the IF-800. Software that is specific to the machine will take longer to emerge, but when available will provide a powerful and versatile system.
  • The IF-800 appears to be strongly made and should be reliable in operation.
  • If the price/performance ratio is attractive to you, and if you have the facilities to write appropriate software without needing too much support from the system manuals, the IF-800 is worth considering.
Table 1. Dimensions and input/output channel specifications

Two built-in mini-floppy double-sided, double-density disc drives – 280K per disc. An extra two disc units can be connected.

Loudspeaker: Can switch a tone on and off with a frequency range from 65Hz to 1,976Hz.
Calendar clock: A hardware clock is fitted, powered by a NiCad battery. It displays the year, month, day, hour, minute, second and day of the week on request.
ROM cartridge: Holds 20K, the interface is said to be addressable to 1 Mbyte.
RS232C interface: From 110 to 9,600 baud under software control.
External I/O interface: Three slots for optional cards to give a Centronics-type parallel interface, an IEEE-488 interface, and a two-channel, 12-bit D-to-A board or
an eight-channel, 12-bit A-to-D board.
Audio cassette I/O: Uses non-standard BMC protocol; cassette recorder motor control by Basic instruction.
Printer: Five-by-seven-dot matrix; tractor/friction feed; paper up to 9.5in. wide; no lower-case descenders.

Dimensions: width 20in. (51cm.); depth 26.7in. (68cm.); height 19.9in. (50cm.). Weight: 77lb. (35kg.) with monochrome display; colour display weighs an extra 111b. (5kg.).

First published in Practical Computing magazine, April 1982

LSI M-Four

LSI M Four001

Jane Bird tackles a heavyweight British newcomer to the 16-bit market

The M-Four is built by British micro manufacturer LSI, based in Woking, Surrey. The company intends it primarily as a single user system for business applications such as word-processing, stock control and accountancy. Other possibilities include instrumentation control. It is the centrepiece of a new family of machines anticipated by LSI.

In the beginning was the M-One, a single user business computer that ran only proprietary software. Then came the M-Two, a multi-user system, but also restricted to LSI’s own software. Those two systems sacrifice the advantages of supporting a standard operating system such as CP/M with the abundance of associated software in favour of higher performance from proprietary software. LSI claims that the standard operating system for networks, MP/M, in particular, is less efficient for multi-users in a business environment than the company’s own operating system.

With the 8-bit Z80- based M-Three LSI moved into general purpose desk-top machines. The M-Three was launched two and a half years ago and has sold nearly 3000 units to date. Its successor, the M-Four, which offers both an 8-bit Z80B processor (twice as fast as the Z80) and a 16-bit Intel 8088 which controls the Z80B, was first exhibited last September. Production got underway in January. About 50 had been sold at time of going to press.

The M-Four supports two standard operating systems, CP/M86/80 from Digital Research and MS-DOS from Microsoft. In addition it supports the not truly compatible 8-bit CP/ M which actually runs on the 16-bit processor. The total system thus supports an enormous range of standard software.

According to LSI, this machine is only the first in a whole family of machines anticipated by the company. Rather than continually upgrade the M-Four the company expects to launch other machines in the range. Even so LSI may introduce an 8Mhz version in the future. (The 8088 functions at the standard 5MHz in the M-Four – the same speed as in the IBM Personal Computer and the Sirius.) Throughout, the priority with the M-Four is to keep price down as it is intended to be a single user system. For this reason, LSI has no plans to switch from the 8088 to the higher performing but much more expensive 8086. The latter, it thinks, is only really necessary for multi-user systems or number crunching applications. Intel’s iapx 80186 will be used as the basis for a different machine in the family.

The Z80B is under the control of the 8088 in the M-Four. The system has 128 Kbytes RAM with parity as standard and an option of 256 Kbytes RAM. There is also a real-time clock and calendar with battery back-up.

During the second half of this year we can expect to see other members of the family beginning to appear, with networking a major component of the new developments. Networks may include other processing units as well as M-Fours. In addition to MS-DOS and CP/M-86/80. LSI is currently implementing its M-Two multi-user software ELSIE on the M-Four. It is also implementing MP/M, against its better judgement, because of market demands.

Hardware

Perhaps I should explain the disturbing pattern of events that led up to the moment of bench testing the M-Four. It must have been way back last September that PCW first expressed interest in looking at the machine and there followed a fiasco of being sent two (or was it three?) M-Fours one after another, none of which worked. By the time we got a machine that lit up when you switched it on we had already lined up a whole lot of other micros to look at first and that is why you won’t be reading this until March at the earliest (When will manufacturers learn not to launch machines before they’re working?) The machine I tested was a pre-production model which may excuse some of the defects. Once I did start to put the poor thing through its paces, I found that the keyboard had several duff keys – but more of that later.

The M-Four comes in two parts – the main unit houses two disk drives, a 24 x 80 screen and the processors; the keyboard is separate and plugs in at the front of the main unit.

The main unit is housed in mushroom-coloured polyurethane. But the final keyboard I received clashed horribly, being ivory pale. Apparently the production machines now come in a two-tone breed of the mushroom colour. The unit weighs a ton! Well actually it weighs 35kg (77 lbs) including keyboard. It is also massive, being 642mm wide and sporting a keyboard to match.

The disks are arranged vertically on the right-hand side of the main unit with the left-hand drive housing the system disk. I tested an M-Four 250/4 series machine which gives a maximum formatted capacity of 2.4Mbytes on its two 8in floppy drives. Other models offer 5.25in drives at the lower end or a 10Mbyte Winchester at the upper end.

The screen is to the left with the qwerty keyset directly in front of it In the centre of the main unit is the on/off switch and below that a badge bearing a billowing Union Jack to remind you where your heart was in buying the LSI machine.

Beside the connector for the keyboard, at the bottom left hand side of the main unit is a dial for controlling the contrast on the screen – but you can’t control brightness. LSI dictates that the brightness has been ‘pre-set during manufacture for optimum operating conditions’. In fact, I found that brightness and contrast are satisfactory though the screen does have a sheen across it that tends to cause reflection. A gauze cover might alleviate this.

At the back are the interface plugs for connecting peripheral devices. My system had two standard RS232 serial ports with 25-way D-type connectors. It also had a parallel printer port with a 36-way Delta socket. The latter gives connection to any Centronics compatible parallel printer. Also available is an RS422 asynchronous/synchronous interface which you need for networking.

LSI M Four002

Rear view of the M-Four

Removing the lid of the main unit to examine the innards of the machine was quite a challenge. The machine is sealed and solid as though it were expecting an armed raid, which is almost what you need to get in. Eventually I located some allen keys of the right dimensions and was able to remove the top which turned out to be excessively thick and strong. Should you so wish, you could easily stand on it, which is a resilience quite unnecessary in a part of the machine that serves basically to keep the dust out of the components.

Inside, confirming all my suspicions, there is lots of empty space. It’s almost as if LSI had built a big machine to give the purchaser the impression of buying lots of electronic goodies. Still, I suppose this make room for enhancement should LSI dream up some plans. The main processor board sits inside the bottom left of the machine. On it are clearly visible the 16 64k RAM chips in the 128kbytes version with space for another 16 in the 256kbyte model (The Z80 can be programmed to use any block of 64k RAM within the main memory). You can also see the 8088, and the Z80B is located next to the PROMs in the middle of the board.

It is good news for fast servicing that the processor and memory are all mounted on the one board – allowing the whole lot to be swapped in and out at once. All the main processor and memory chips are socketed rather than soldered and could be yanked out with a screwdriver. This also facilitates maintenance by allowing you to switch chips in and out. The inside is a bit of a rats’ nest on wiring but is not as bad as some I’ve seen. There was no obvious patching of last minute bugs and the overall effect is very clean. The power supply is also mounted on its own board but the strength and solidity of the thing is reminiscent more of a Victorian viaduct than a modem microcomputer!

Disks

Once you have switched on, the screen asks for a system disk to be inserted. This goes in the left-hand drive: take care if you have to open the drive first by pressing the illuminated door button – the door springs back violently.

Inserting the disks is another clumsy task with this machine which has drive doors so hard to close that you have to concentrate real force into the fingertips and slam the doors across as if ramming home a winning goal. Once you’ve done this there emanates a pandemonium of clicking, clunking and thumping with deep echoes giving the impression of lofty caverns inside the machine. Each disk access is accompanied by a resounding clunk. It is bad that the drives keep the disks constantly spinning even when not in use since this tends to wear them out inside their jackets. It also promotes wear to the bearings of the drive – and drive B will keep spinning unused for a whole session if you don’t need it. Other manufacturers provide auto cut-out after a few minutes if you don’t access the disk.

Disk formats are unusually flexible on the M-Four – undoubtedly one of its finer points. Immediately after loading the system disk the screen presents details of available disk formats. The review machine restricted itself to double sided and double density for the left hand drive, but in addition to that could also handle double sided single density, single sided double density and single sided single density disks on the right hand drive. You specify which one you want by the prefix B:, C:, or D: respectively before the file name when accessing. The M-Four also reads IBM 3740 disk formats.

The maximum number of files allowed on a double sided 8 in disk for the M-Four is 256.

It was not very auspicious when the manual gave the incorrect information on how to switch on the system. ‘Depress the “power-on” switch so that it lights up’, it said. Unfortunately my machine switched on by means of a key and didn’t have a light. When you switch on, the machine emits a high-pitched bleep just to let you know it’s alive. The cooling fan also whirs into action and the M-Four starts off in the tradition it intends to follow as a rather noisy machine that likes to assert its presence.

Keyboard

LSI M Four003

The M-Four has a magnificent 109 keys on its 642mm wide keyboard

The keyboard has been carefully designed to be just as wide as the machine – a magnificent 642mm. This makes it almost totally impractical to rest the keyboard on your lap, although being an armchair programmer I persistently tried to do so.

A thick unwieldy piece of cable attaches the keyboard to the main unit. There is space underneath the keyboard to push in the spare cable but the whole arrangement is a bit primitive. It would be better with a flexible, coiled telephone-style cable to connect the two.

I also found that, although the keyboard is attached to the main processor by over 600mms of cable, it is rather heavy and so long that if you try to use the qwerty part of the keyboard in a central part of your lap the whole thing cascades to the floor on your right!

The keys are grouped in three banks across the front, with a row of function keys across the back. The left-hand bank is the standard qwerty keyboard, just to the right is the numeric pad and then further right again is a bank of function keys, a HOME key, and four cursor arrows. The arrows are much too far away and it is impossible to move the cursor about the screen without watching where you put your fingers on the keyboard. There are 24 function keys across the back of the keyboard which can be programmed to perform different functions in the SHIFT and normal positions. There are seven more to the right and one at the foot of the qwerty cluster, giving a total of 32 programmable function keys that can either be programmed by the user or by LSI as in the case of Wordstar. There are also 32 control codes which are addressed by using the CTRL key in conjunction with the alphabetic keys or @, [, /, ], ^, and . The control codes can be assigned to functions as dictated by the resident software. ‘ESCape’ generates the same control code as ‘[’ but provides two keys for the same function – one either side of the keyboard – which can save time in use.

There is a caps lock as well as a shift lock. The caps key allows you to type everything in upper case but the top row of the qwerty cluster still generates numbers. It puts on line most of the keys you need to write a program (although unfortunately not brackets, inverted commas or $).

The main keybank includes both DELete and BACKSPACE keys. The DELete rubs out text immediately preceding the cursor, and the BACKSPACE simply moves the cursor backwards without affecting the text it traverses. According to the manual in some software the DELete key causes the same character to appear on the screen again, but either way it will be considered by the system to have been erased. Then there is a LINE FEED which corresponds to CTRL J and therefore gives quick access to the HELP menu when using Wordstar. BREAK is a special function key on the main section which generates code outside the ASCII range.

The numeric pad to the right generates the same ASCII codes as the qwerty cluster but is separated off for fast data entry.

The first keyboard I had included a raised pip on the central key of the numeric keypad for touch-key entry but the new keyboard seemed to have reneged on this useful idea and all numerics were smoothly indistinguishable to the touch. Confusion is certainly caused by the apostrophe key being indistinguishable from the comma key – both have the punctuation symbol marked in the lower part of the key and I kept forgetting which was which. In all the M-Four has a magnificent 109 keys!

If keys are held down for more than 0.5 seconds they repeat. The repeat key is said to operate about three times per second.

I mentioned earlier that the keyboard on the final machine turned out to be defective. This took some time to sink in. Incredulous at the apparent defect in the nth machine, I paused before pressing the offending keys 20 times without result. Then I took a deep breath, walked twice round the room, approached the machine gently and gave a perfect short sharp jab. This produced a character – or rather several characters all the same.

It took LSI a little over 24 hours to deliver a new keyboard. Unfortunately this one had a defective shift lock which caused problems when using the Wordstar function key set – I kept accidentally saving the exiting Wordstar when I only wanted to save and resume, or deleting the character at the cursor when I wanted to delete the one to the left.

Operating system

The manual contains a partial guide to CP/M-86/80 which is the standard operating system for the M-Four. CP/M-86/80 maps out RAM into three areas: the main system management program modules, the system data, and the user programs and data(TPA). Within the first of these three areas are three main program modules, the console command processor (CCP) the basic disk operating system (BDOS) and the basic input/output system (BIOS). The CCP recognises the commands input by the user and initiates the appropriate program from within BDOS. BDOS calls BIOS if access to external data is required.

Programs from disk have to be loaded into RAM before they can be run. If they are to be run by the 16-bit processor then the space available to them in TPA is the total memory size (128 or 256kbytes) minus the space occupied by the operating system – about 30kbytes, depending on the release. If they are to be run by the 8-bit processor then they get 63kbytes because the operating system resides outside the Z80 address space. The remaining 1k is taken up by the bare minimum of CP/M needed to accept the user program.

The M-Four also supports MS-DOS, which bears a remarkable resemblance to IBM Personal Computer DOS. This is hardly surprising since Microsoft wrote the IBM operating system! M-Four users will be able to benefit from the vast amount of software that will be, and indeed already has been, written for the IBM PC.

Software

The M-Four allows you to run 16-bit and 8-bit software without changing disks. Program files are identified by the file extensions .CMD for CP/M 86 and .COM for CP/M 80. In fact, CP/M 80 programs are run in 16-bit mode under an 8-bit like environment. There isn’t an 8-bit operating system sitting at the top of the 64k associated with the Z80B processor. It gets translated into CP/M 86 sitting alongside the 64k on the Z80B.

LSI claims that its method of CP/M emulation is more efficient than other manufacturers’ because it leaves 62.5kbytes of TPA in the Z80B’s RAM as opposed to about 52kbytes of TPA left on a typical 8-bit machine. The Z80B also improves functionality over other machines because it operates at 5MHz as opposed to 4MHz for the Z80A and 2.5MHz for the Z80. The larger amount of TPA allows programs with large databases to do large disc access. The spare memory can be used to hold the actual matrix, in SuperCalc for example.

Basic

Although LSI gives you interpreted Microsoft Basic for both CP/M-86/80 and for MS-DOS, the 8-bit Z80 compiled Basic is much faster than the MS-DOS Basic. This is because, to provide Basic on the 16-bit processor, Microsoft simply did a semiautomatic translation giving very poor 8086 code. The same thing has happened with Wordstar and LSI reckons that Wordstar on the 8-bit processor is 1.6 times as fast as the 16-bit version. However, I had a more recent version of Microsoft Basic on the MS-DOS disk LSI sent than on the CP/M disk – 5.21 as opposed to 4.51. This created an anomalous situation. All the Benchmarks ran under MS-DOS at the same speed or slower than they did under CP/M-86/80. All, that is, except for Benchmark 8 which took 50.8 seconds under CP/M and only 29.2 under MS-DOS. A Basic compiler is also supplied under MS-DOS.

The screen is software-controlled on the M-Four so you can build display functions such as absolute cursor positioning and partial line erasure into your applications programs. The facility is intended to be used if you are designing a system to be used by operators working directly from the screens. When you write your application program you can include an ESCape H, for example, to move the cursor to the Home position in the top left hand corner and present your user with a completely screen. Other ESCape screen functions include ESC E to erase the screen, ESC J to erase the screen from the current cursor position to the end, and ESC A, B, C, D to move the cursor non-destructively up, down, right and left respectively.

The manual mentioned two other ESCape functions. There is the cursor address (ESC Y) and the graphics mode (ESC F). The cursor address supposedly allows you to move to a position using x, y co-ordinates. Graphics mode provides 32 graphics symbols using lower case alphabetics and six punctuation keys. Regrettably the manual refers the user to two appendices for further explanation of these facilities, but the appendices are not there – even in the final version of the manual!

You can store two different fonts in RAM at the same time – they take up 2k each – and these live in a file with the extension .FNT, and are loaded into RAM using the LOADFONT utility. You can then switch from one font to another in an application program by means of ESCape p. This displays all subsequent characters using the second 2k of font RAM, until it is switched off again by ESCape q. Under normal conditions the second 2k of font RAM contains the reverse video ASCII set so you could use ESCp and ESCq to toggle in and out of reverse video, giving clarity to applications on screen.

System utilities

There are three different aspects of the M-Four that the user can change: key programming, the character set displayed on the screen and system parameters. The last of these covers areas such as serial ports, logical/physical device assignment, cursor characteristics (flashing or steady, blocked or underlined) and the way the screen behaves in certain conditions like wrap-around at the end of a line.

The information relating to these aspects is stored in the following three different file types: .KEY, .FNT and .PRM.

On your system disk you get three utility programs for generating and editing these files. The programs are KEYGEN, FONTGEN and PARMGEN. These are interactive programs with a series of friendly and explanatory menus detailing how to use the utility. They are useful for generating the files the first time and also for going back to edit them later.

The first time you switch the system on it goes into AUTOEXEC. SUB as defined by LSI. But you can also create this file and edit it yourself.

LSI told me that the keyboard is delivered with a set of plastic overlays for the programmable function keys. The only overlay I had was for Wordstar and my main criticism of it is that it doesn’t specify which set of functions are executed by holding down the SHIFT key in conjunction with the function key, and which functions are executed by holding down the function key alone. Of course, I eventually learnt that SHIFT was for the bottom set of functions and that if you didn’t use it you’d get the top set executed instead. But all this took considerable time, trial and error and caused much annoyance. Also I kept forgetting every time I came back to the machine after a few days’ break. LSI also intends to provide an overlay for the spreadsheet package SuperCalc and for its own Modular Accounting Package (Map). You can get hold of blank overlays for your own special function programming.

The set of functions you have programmed into the keys are stored in a special file identified on the directory by the file extension .KEY. You can have as many of these files as you like and you load whichever one you want into the system by typing its name from CP/M. There are 511 codes available to the function keys and although they do not have to be shared equally, a complex sequence for one key will deprive the remainder.

KEYGEN is very friendly and leads you through a set of options. ‘T’ allows you to set an ERASE key other than BACK SPACE to help in a programmed key code sequence. ‘R’ is to call up a key function table which has already been created under KEYGEN. ‘I’ provides information on how to use KEYGEN and ‘F’ goes directly into key function programming mode. However, I found the utility much less friendly when it came to saving and exiting my KEYGEN file. When you have finished with the file you are given a two-option menu: ‘A’ to give the file a name and save it, or ‘E’ to abandon. Naturally you press ‘A’. But the menu comes straight back and if you genuinely don’t want to abandon the file you press ‘A’ again and go on looping the loop, conspicuously failing to get back into CP/M. Eventually I realised that after pressing ‘A’ to save, ‘E’ changed its meaning and became E to Exit to CP/M not E to abandon. So that needs tidying up.

KEYGEN is well laid out and at the top of the screen it displays a pictorial representation of the programmable keys with a pointer indicating which key you are currently programming and whether it is the SHIFT function (upwards arrow) or the normal function (downwards arrow).

A KEYGEN file is loaded into memory simply by typing LOADKEY followed by a space and then the filename.

The PARMGEN utility is for setting up the system’s parameters such as baud rate, word length or cursor characteristics. Again it is organised in a friendly series of options. ‘A’ is for cursor personality, ‘B’ is for the serial port, ‘C’ is for logical/physical input/output device assignment; ‘D’ is to change drive B to single/double sided, and ‘X’ is to overwrite existing parameters.

Logically enough, a file that has been created under PARMGEN is loaded into memory with the system command LOADPARM followed by the filename.

Devising the font is the third aspect of the system that the user can manipulate, and it is the most fun, if not the most vital. FONTGEN allows you to create all your own characters for the entire ASCII key set. In the top left it provides a visual representation of each location available in the file. On the right is a diagram of the character cell and you switch bits in it on or off using an ‘X’ or a ‘.’. At the bottom left hand side of the screen is information giving you the location of the current character you are working on in both decimal and hex. I designed a hieroglyphic style font which was wonderfully spidery and spikey. It would have been a good font to use while writing a ghost story – I’m sure Mervyn Peake would have approved. Sadly, you would of course need a more than ordinary printer to actually produce the characters on a printed page. But you could wake up sleepy users by fixing it so that important messages suddenly appear on the screen in scrawly handwriting style! I also designed a graphics font but there was a problem remembering the ASCII locations of the graphics.

My only complaint about the FONTGEN utility relates to the display it provides of the existing character’s font that you wish to edit (or blank set of locations waiting for characters in an empty file) eight pixels across and 13 down. If you think 13 is a strange number, it should be made clear that LSI wanted to have 14 with the extra line giving space for clarity between characters. However, the extra electronics involved in providing this would have added unacceptably to the cost of the system. The annoying thing here is that moving the cursor around the display of the font file has to be done using CTRL E, X, S, and D for up, down, left and right respectively.

I did hit another problem due to my own stupidity. I accidentally loaded an empty font file so that there was nothing on the screen. I could find no way out of this other than to switch the machine off and start again. I wonder what happens if you accidentally load an empty font file into your submit autoexec program! Which reminds me, one oddity of the M-Four is that it has no reset button!

Files created with FONTGEN are loaded with the LOADFONT command. This command has several options. As mentioned you can have two fonts loaded at the same time, with Font 1 occupying the first 2kbytes and Font 2 occupying the second 2kbytes. By default, two fonts are loaded. But if you follow the LOADFONT command with /1 this loads Font 1 only, and /2 loads only Font 2. You can also use ‘U’ to underline the loaded font and ‘R’ to reverse the loaded font. You can compound these specifiers to create /1 R for example which loads in Font 1 in reverse video.

The other utilities on the system disk were FORMAT, HELP, TIME, PIP, RDCPM and STAT. These are all menu driven and easy to use. HELP can be used for virtually anything on the system, but LSI seems to have lost interest halfway through the explanations. They go into things in some detail and at the end ask you if you want to see examples. I dutifully asked to see examples every time – but I never found any and always ended up back at the first HELP menu or back to CP/M.

As an example of the clear and unpompous way that HELP is written, look at the explanation of STAT. First you get a long paragraph describing the purpose of the STAT utility: ‘To supply information about the disk drives, files and peripheral devices attached to the computer. STAT also changes attributes of files and devices…’ and it goes on to explain the command line parameters. Then you are told that STAT gives you the free space ‘in kbytes (1024 bytes or 1k) for all online disks since CP/M was loaded’. It describes using STAT to set drives to Read/Write or Read Only, and how STAT VAL shows the possible external devices that can be assigned to your computer.

The manual also describes the utility DISCOPY but I did not find this on any of my system disks.

PIP is a standard CP/M utility to copy, combine and transfer files between peripherals. RDCPM allows you to read CP/M files from MS-DOS.

TIME refers to the real time clock system which tells you the date and time whenever you switch the system on. One pleasing feature about it is that you input the initial date and time in digits it is printed on the screen at the beginning of a session with the day of the week printed in English. Unfortunately my clock had a few problems. On one occasion it told me, on booting the system, that it was 02.59.04 on Monday July 15th 2058!!! LSI assures me that the fault has been patched and now functions properly on production machines.

Conclusions

LSI regards the dual processor as the big selling point of this system and although a similar facility is available on the Digital Equipment Rainbow LSI claims to be in the lead with a machine that is up and running and in the marketplace. Also the Rainbow only uses a 4MHz Z80A. LSI says the M-Four is definitely faster than the Rainbow when running in 8-bit mode and the M-Four is also cheaper for the 128k version (The Rainbow starts at a 64k version, which LSI thinks ridiculous for a 16-bit processor.) LSI also claims the M-Four is cheaper than IBM.

I did find my patience somewhat stretched with the reliability of the machine although the fact that I was testing a preproduction model probably gave me an unfair impression of the system before final bugs had been disguised.

Aesthetically, I thought it an ugly machine which takes up far too much space – especially since the M-Four is being marketed as a single user tool and therefore ought to sit easily on a desk top. It needs a table all of its own about 130cms wide to accommodate the main unit, keyboard and a small printer. It is also very deep, 683mm counting the main unit and keyboard together. The unwieldly bulk of the keyboard and the long stretches involved amount to a significant handicap.

Undoubtedly the major advantage of the M-Four is the amount of standard software it will support Most people should be able to find a package to do more or less what they want under CP/M-86/80 or MS-DOS. It is also useful to be able to use a variety of different density disks in the same drive. On price it matches up respectably against the competition.

Prices

These prices apply to the LSI M-Four with 8088 and Z80B dual processors, 128k RAM, real time clock, Centronics printer interface, two RS232 interface ports, screen, keyboard two disk drives and CP/M-86/80.

  • Model 150/4 (5!4in double sided drives, two 400k byte disks – £2390
  • Model 250/4 (8 in double sided drives with two 1.2Mbyte disks) – £3475
  • Model 650/4 (10Mbyte Winchester formatted capacity, 8 in double sided with 2Mbytes) – £4875
  • Model 160/4 (5.25in quadruple density double sided disks, not yet in production) – no price available.
  • Model 652/4 (21Mbyte Winchester disk, 8in double sided disk) – no price available.

Options

  • Extra 128kbytes RAM, one RS232 interface, one RS422 interface – £500
    MS-DOS – £500

Technical specifications

  • CPU: 5MHz Z80B, 5MHz 8088
  • RAM: 128k expandable to 256k
  • ROM: 4k bootstrap loader
  • I/O Ports: Centronics parallel printer ports; 2 x RS232 and 20mA Current loop async ports; General purpose interface bus – optional; RS422 serial port – optional.
  • Disks:25in 8in
  • O/S: CP/M-86/80, MS-DOS
  • Languages: Wide range available under CP/M and MS-DOS
Benchmark timings
BM1 1.9
BM2 4.8
BM3 11.5
BM4 11.5
BM5 12.4
BM6 19.8
BM7 30.9
BM8 50.8
All timings in seconds. For an explanation and listing of the Benchmark programs, see PCW November 1982.

First published in Personal Computer World magazine, April 1983

Atari 520ST – A Hands-On Report

ST520Main

“We aren’t selling home computers. We aren’t selling business computers. We’re selling personal computers. People can use them for whatever they want.” With those words, Jack Tramiel launched the ST series and a new beginning for Atari. Here’s a close look at the first computer in the ST series and the most powerful Atari ever.

By Tom R. Halfhill, Editor

The old stereotypes about home computers are being challenged. There’s a new generation of personal computers emerging that combines massive memory, high speed processing, fast floppy disk drives, hard disk interfaces, considerable expansion potential, stunning graphics, and sophisticated sound. These computers are powerful enough to run state-of-the-art business software and versatile enough to excel at running entertainment and educational programs.

The Atari 520ST was the first of this new breed. Announced at the Winter Consumer Electronics Show last January, it is now becoming widely available. Here are the standard features:

  • 512K of Random Access Memory (RAM), half a megabyte.
  • Motorola 68000 microprocessor. This 16/32-bit chip is clocked at 8 megahertz and can directly address up to 16 megabytes of memory without bank-switching. It’s the same central processing unit found in the Apple Macintosh and Amiga from Commodore.
  • One of the fastest floppy disk drive interfaces in personal computing. Although the interface bus is serial, not parallel, it transfers data at a megabit per second, faster than some hard disks. The basic 520ST system comes with one external drive that stores 400K (unformatted) on a single side of a 3½-inch micro-floppy disk. Double-sided drives which store 800K per disk have also been announced.
  • One of the fastest hard disk interfaces in personal computing. It transfers data at 1.33 megabytes per second, more than eight times faster than the floppy interface. Although hard disks aren’t yet available for the ST, Atari plans to introduce a 10- to 15-megabyte drive by early 1986, possibly for as low as $399. This price is feasible because the hard disk controller is already built into the computer. The hard disk interface can also be used for memory expansion or a CD-ROM (Compact Disc-Read Only Memory). Atari has shown a prototype CD-ROM that stores up to 550 megabytes of data on a single compact disc. (See “Monster Memory,” August 1985.)
  • Built-in Centronics-standard parallel port and RS-232 serial port for printers, modems, and other peripherals. These ports are compatible with IBM cables for printers and modems.
  • Built-in Musical Instrument Digital Interface (MIDI) for attaching keyboard synthesizers, sequencers, drum boxes, and other electronic musical devices. Because the MIDI ports transfer data at a very high speed (31.25 kilobaud), they’ve also been considered for such future applications as extremely inexpensive local area networks (LANs).
  • A slot for cartridges containing up to 128K of Read Only Memory (ROM).
  • Intelligent video output port that recognizes whether a colour or monochrome monitor is plugged into the computer and allows the operating system to adjust itself accordingly. This port also has pins for audio input/output.
  • High-resolution monochrome monitor. With a screen refresh rate of 70 hertz – about 16 percent faster than normal monitors and TVs – this monitor is capable of unusually sharp displays. An analogue RGB (red-green-blue) colour monitor also is available.
  • Screen modes with high resolution (640 x 400 pixels, monochrome), medium resolution (640 x 200, four onscreen colours), and low resolution (320 x 200, 16 on screen colours).
  • Palette of 512 possible colours. Any of the four colours in medium resolution or 16 colours in high resolution can be selected from this palette.
  • Three-channel General Instruments sound chip, the same as found in the Texas Instruments TI-99/4A, IBM PCjr, and MSX standard computers. Envelope registers allow the chip to simulate various types of waveforms.
  • A disk-based operating system called TOS (Tramiel Operating System) which combines Digital Research’s CP/M-68K and GEM (Graphics Environment Manager). CP/M-68K is the 68000 version of the popular Z80-based operating system, CP/M (Control Program/Microcomputers), similar to the MS-DOS used on the IBM PC and compatibles. CP/M-68K is vastly expanded, however, with provisions to support up to 16 disk drives with 512 megabytes per drive and 32 megabytes per file. To make this operating system easier to use, it is linked on the 520ST with GEM, a Macintosh-like user interface with icons, windows, and drop-down menus. GEM can be manipulated from the keyboard or with a mouse controller that comes with the 520ST. The two-button mouse plugs into one of the two controller ports built into the computer.
  • Digital Research Logo and Atari BASIC programming languages on disk. (At this writing, BASIC wasn’t finished, and the 520ST was being shipped with Logo only. Atari has said that BASIC will be added to the package when it’s done and offered as an upgrade to early ST buyers as well.)
  • An 84-key keyboard with cursor keypad, numeric keypad, plus ten special function keys.

The price for the complete system (520ST, disk drive, monochrome monitor, mouse, and system software) is $799. A 520ST system with RGB monitor costs $999.

ST520Turtle

Turtle graphics in logo: This geometric figure was created in the Atari 520ST’s low-resolution mode (320 x 200 pixels, 16 colours).

If you’ve never used a Macintosh, working with the Atari 520ST for the first time will be an unfamiliar experience. When you switch on most personal computers, you find yourself either in BASIC or some type of disk operating system (DOS). But the 520ST doesn’t wake up with a READY prompt, command line, or DOS menu. Instead, the first thing you see is the GEM desktop.

Icons along the edges of the desktop screen show a trash can and file drawers. The drawers represent floppy disk drives and hard disks, depending on your system configuration. Menu titles appear across the top of the screen. Floating above the desktop is an arrow that you can move by rolling the mouse or by pressing certain keys. It represents an extension of your hand on the screen.

To view a menu, you move the pointer to the desired title. Instantly, the menu drops down over the screen. (The 520ST’s drop-down menus are summoned slightly differently than the Macintosh’s pull-down menus: You don’t have to click and hold the mouse button.) As you move the pointer up and down the menu, it highlights various options. Some options may be invalid for a particular operation, so they appear in dim print and cannot be highlighted. To select an option, you simply highlight it and click the left button on the mouse.

To call a disk directory, you move the pointer atop the appropriate file drawer icon and do what’s called a double-click – pressing the mouse button twice in rapid succession. The disk drive hums, and a window appears on the desktop. Various types of icons inside the window denote data files, executable program files, and sub-directories on the disk. If you prefer a more conventional disk directory, you can drop down the View menu and select View As Text. The file icons change into a list of filenames which includes such information as file lengths in bytes and the dates on which the files were last updated. Other options on the View menu let you sort the directory by filename (alphabetically), file type, size, or date.

If you’re working with a two-drive system, you can call the directory for drive B by double-clicking on its icon. When this window appears, it overlaps the window for drive A. But the drive A window isn’t erased; by pointing to it and clicking the mouse button once, it moves atop the drive B window. A similar click on the drive B window brings it to the fore. You can flip back and forth between several windows in this manner, like shuffling papers on a real desktop. Options selected from menus, such as View As Text, affect the window which is currently on top of the pile.

All other functions in the GEM desktop work in similar ways: You point to a menu option or icon, then click the mouse button once or twice. For instance, to run a program, you point to its icon or filename in the disk directory window and double-click. The desktop disappears and the program runs. When you exit the program, the desktop reappears.

Some operations, such as deleting a file, require a mouse manoeuvre known as dragging. First you select the icon – in this case, the file you want to delete – by pointing to it with the mouse and then clicking the mouse button. While still holding down the button, you can roll the mouse to drag an outline of the file icon along with the pointer. To delete the file, you would drag it to the trash can icon and release the mouse button. A window appears and asks “Are you sure?”, warning that the file will be erased if you click on a marker labelled “OK.” If you don’t want to delete the file, you can click on a marker labelled “Cancel.” The first choice irretrievably erases the selected file off the disk; the second choice restores everything to normal. (Unlike the Macintosh, you can’t retrieve files from the trash can. As the 5205T manual points out, the 520ST trash can is more like an incinerator.)

This dragging technique is used for other operations as well. You can copy a file from one disk to another by dragging the file icon from the source disk’s directory window to the destination disk’s window; you can copy the contents of an entire disk by dragging its file cabinet icon atop another disk’s icon; and you can organise files into sub-directories by dragging their icons into a folder icon.

You can also manipulate windows as easily as icons. The “active” window – that is, the one on top of the pile if several are displayed – has various control bars and squares along its edges. Pointing to the square in the upper-right corner and clicking the mouse button expands the active window to full-screen size. Clicking this corner again restores it as a window. Dragging the lower-right corner lets you adjust a window’s size, making it larger or smaller. Dragging the top bar lets you move a window anywhere on the screen. Clicking on the small arrows displayed along the bottom and right bars will scroll the material displayed in the window, assuming some of it is hidden due to the window’s size. And clicking on the upper-left corner removes the active window from the screen (“closes” the window).

ST520GemLoRES

In low res, the GEM desktop has a 40-column screen. The Control Panel is a pop-up menu that lets you adjust various system functions.

ST520GemMedRES

In medium resolution (640 x 200 pixels, four colours), the GEM desktop has an 80-column screen. Note the two disk directory windows.

ST520TypeStyles

The 520ST is capable of displaying numerous type styles, as seen on this hi-res Logo screen.

One unusual feature of the 520ST is its intelligent monitor interface. When you boot up, the operating system checks whether a monochrome or colour monitor is attached to the computer and adjusts itself for one of three possible screen resolutions.

With the monochrome monitor, the operating system automatically configures the GEM desktop for high resolution – 640 x 400 pixels, black and white. The display is extremely sharp and stable because of the monitor’s 70 hertz refresh rate, which means it redraws the screen image 70 times per second rather than 60 times as on standard monitors and TVs. (This is possible because the monitor uses its own 70 hertz oscillator instead of synchronising with the 60 hertz power line.) Furthermore, the display is paper-white, not blue-white, easier on the eyes. When the monochrome monitor is hooked up, the operating system won’t let you enter the medium- or low-resolution modes, which have colour.

If the 520ST is booted up when plugged into its RGB monitor, it defaults to medium resolution – 640 x 200 with four simultaneous colours. Because this screen has the same horizontal resolution as the monochrome mode but only half the vertical resolution, the aspect ratio is slightly distorted. Icons appear tall and skinny, and characters are narrower.

The low-resolution mode – 320 x 200 with 16 simultaneous colours – also requires the RGB monitor. (The RF modulator included in pre-production 520STs has been eliminated from production models, so it can’t be attached to ordinary TVs. There’s also no direct output for standard composite monitors, although one could probably be rigged from the RGB pins.)

To enter the low-res mode, you boot up in medium-res, then drop down the Options menu and select Set Preferences. A small window appears with markers for low-res, medium-res, and hi-res (the hi-res marker is dimmed to indicate it’s not available with this configuration). To change modes, you click the mouse button while pointing to the appropriate marker.

If you want your 520ST to “wake up” in low-res instead of medium-res, you can drop down the Options menu and select Save Desktop. This selection saves all adjustments you’ve made to GEM onto the operating system boot disk. Other preferences can be saved this way, too. By dropping down various menus, you can specify whether warning windows should appear when copying or deleting files; turn the keyboard click and error beeps on or off; adjust the keyboard’s auto-repeat delay and repeat rate; set the mouse button’s response speed for double-clicking; choose the desktop’s foreground and background screen colours from the 512 available hues; set the real time clock’s time and date, which is automatically stamped on disk directories whenever you save a file; and configure the RS232 and parallel ports for certain peripherals.

The 520ST doesn’t have sprites or player/missile graphics, but animation is possible in any of its screen modes by a technique called bit-block transfer. Like sprite graphics, it allows you to move objects around the screen without erasing the background. The mouse pointer and the bumblebee icon that appears when the disk drive is busy are examples of bit-block animation. Unfortunately, these capabilities are not supported in Logo, the only language shipped with the 520ST at launch. The Logo is actually a translation of Digital Research’s Logo for the IBM PC, and it has no commands for animation or sound. Reportedly, the BASIC being prepared for the 520ST is a translation of Digital Research’s BASIC for the PC.

ST520Doodle

This low-res picture was created with Dr Doodle, a simple drawing program written by Digital Research and included on an ST demo disk.

ST520Gem

In high resolution (640 X 400 pixels, monochrome), GEM closely resembles the Macintosh desktop.

ST520Error

Error messages on the 520ST are usually more helpful than the cryptic error codes of days past.

When the 520ST made its first appearance at the Winter CES, it was hard to believe that anyone could design a system like the 520ST and throw together a prototype in only about six months – the time that had elapsed since ex-Commodore President Jack Tramiel had acquired Atari from its parent company, Warner Communications.

Forced to trim down from several thousand employees to several hundred, Atari accelerated development on the 520ST by taking advantage of some ready-made parts. The 520ST came along just in time for Digital Research’s CP/M-68K and GEM. This is important in understanding the underlying structure of the 520ST, which has been nicknamed the “Jackintosh.”

Although the Atari’s desktop screens can easily be mistaken for the Macintosh’s, the 520ST is actually quite different from the Mac. True, GEM has all the icons, windows, menus, and other Macintosh screen graphics. But GEM is really just a shell – a layer between the user and the real operating system, CP/M-68K. In fact, it’s possible to leave GEM and enter this lower level. All the fancy graphics can be made to disappear and you see a screen prompt, A>. This prompt is familiar to users of CP/M and MSDOS/PC-DOS (a descendant of CP/M). You can enter commands such as DIR to call a disk directory or TYPE to display a file. Like CP/M and PC-DOS, CP/M-68K allows programmers to perform various system functions by calling routines in the Basic Input/Output System, or BIOS. Digital Research even says that CP/M file structures are upwardly compatible with CP/M-68K.

GEM, too, is a module that has something in common with other systems. Digital Research sells a version of GEM for the IBM PC and compatibles, and publishes guide lines for writing application programs to work with GEM.

All this doesn’t mean that the 520ST can run CP/M or PC-DOS programs, of course – the machine languages are completely incompatible. But it does mean that programs written in compiled languages such as C can be adapted for these various systems without complete rewriting. If software companies take advantage of this, it could significantly boost the amount of software available for the 520ST.

Another consequence of the 520ST’s shell-like operating system structure is that the machine has not been designed around its user interface. The computer is functional without the mouse, and the key board includes such traditional features as cursor keys.

Combining ease of use with real power, speed, and the potential for future expansion, the Atari 520ST is an important addition to personal computing. It lends itself to users who prefer to buy their software off the shelf as well as to programmers – a versatile representative of the new generation.

First published in Compute! magazine, October 1985

Toshiba T100 – Heavy Metal Micro

Richard King tests a Japanese newcomer and finds it fast, full-featured and built to last.

Toshiba’s T100 micro is built like a tank. It’s movable, not portable, and is obviously well able to survive quite severe bashings. The casing of the disk unit is painted metal, though, so it’s liable to scratch.

Presentation

The system tested consisted of the central processor, a disk-drive unit, an American voltage colour monitor and a dot-matrix printer.

Each was packed in a separate box to the normal Japanese standard, and would be satisfactory for shipping. All cables and plugs were included.

Documentation

The documentation consisted of three sets of ring-bound photocopies. The owner’s manual presented the most precise step-by-step instructions for assembling the system’s components, and an equally precise treatment of trouble-shooting.

Evidently Toshiba intends this system to be sufficiently simple for even the most non-technical of people to assemble, and I feel they’ve succeeded.

It even has a one-page description of each process which the more experienced person would find valuable, though these would have been better grouped together rather than printed separately at the end of each section.

The Basic manual was split into two parts – a description of the Basic and a reference manual for Basic functions.

Both were arranged as alphabetical listings, with syntax diagrams and so on as well as an example of their use.

I can’t help feeling there is a gap between the owner’s manual and the Basic manuals. The former is aimed at the novice, while the latter would be useful only to a fairly fluent person.

Construction

The construction of the main processor unit is remarkable for its robustness. There must be several square feet of sheet metal inside it, and the circuit-board is surrounded by sheet steel.

The housing consists of a steel tray which carries the PCB, perforated on the sides for ventilation. The upper half of the casing is plastic, much as usual, except for a small blackish window at the top, which swings backwards to reveal a deep well.

At the bottom of this are two multi-pin sockets, one rather longer than the other. The documentation reveals that these are for the RAM-pack and the ROM-pack, of which more later.

Getting started was simple.

The cables were easy to connect. This disk and printer-cables had bolts at either end which screwed into the associated threaded holes to prevent their weight putting a strain on plugs and sockets.

On throwing the switches, the machine went through a five-second self-test, then booted the disk.

A point that was not obvious until I studied the documentation was the fact that the power switches must be thrown in a particular order, at least as far as the disk-drive and CPU go.

The others don’t matter, but if the disk-drive is not powered when the CPU has finished its self-check, then it assumes you have no disks, uses the built-in version of the Basic and reverts to a tape-based machine.

Keyboard

Toshiba001

Top right is a hinged panel which opens to reveal sockets for the ROM and RAM packs. The cursor movement keys and some editing functions are neatly collected below it.

The keyboard is well-made. It feels solid under the hands, which is not surprising as this also has a steel chassis. There is a normal alpha keyboard which appears to be a sensible compromise between the needs of the real world and the rarefied musings of ISO.

On the right is a number-pad. with the cursor-keys clustered in the top right corner and various special keys above. At the left hand end are the green GRAPH and ESCAPE keys, with the eight double-sized function keys in the centre. On the right-hand side is an unlabelled key which appears to be GRAPH-LOCK, COPY, LABEL and BREAK.

Screen

Toshiba002

The VDU tilts and swivels to prevent cricks in the user’s neck.

Despite being a 60Hz monitor, which would have a natural tendency to wobble in a 50Hz country, the display was good and quite sharp for a colour-tube. The maximum resolution obtainable is 640 x 200 which is sufficient to display 80 characters.

Lower resolutions of 288 x 192, 160 x 100 and 72 x 96 are available. The number of characters on the screen can be altered by the WIDTH command. It defaults to 36 when T-BASIC is first called, but may be set to 80.

Graphics characters may be generated either from the keyboard or by the CHR$(n) function. These include solid, dashed and double-line characters for drawing out forms, a complete alphabet of lower-case Greek letters, a selection of upper-case Greek letters as used in mathematics, the four card-suits, and block-graphic characters.

Colours – the usual primaries, secondaries. black and white – were very good, as they should be. Text was readable even at 80 characters a line in any colour.

Storage

Data and program storage is on tape if you have the basic machine, or on the disk unit. This is a large metal box which has its own power-supply and connects with the CPU through a half-inch cable.

The disk drives are standard height, and the kind which rotate constantly. This has always seemed a bad idea to me. Granted, the head is not loaded unless the disk is to be read or written, but even so the disk must be subjected to more wear than is necessary. Certainly, it doesn’t make them faster, which can be the only possible justification.

Expansion

Toshiba003

The Toshiba T100 system dot matrix printer – large, solid and reliable

At the back of the CPU are a number of different connectors. The most impressive is a huge three-row D-connector which carries the disk signals and also serves as the system bus. The printer socket is almost as large, which seems a bit excessive for an ordinary parallel.

The other sockets are mostly DINtypes, connecting to things such as the monitor, RS232, tape and LCD display. This was not available for test, but I understand it’s a 40 x 8 line 7 x 9 display, which clips into two small sockets on the back of the plastic housing.

The power socket is a three-pin, as usual. The only other features are the tiny reset button and a very small unlabelled hole with two Molex pins just visible.

Plugging the RAM-pack into the well in the casing gives you a kind of RAM-disk… a piece of memory which can be read and written as a disk. It looks like a disk to the program, it even has a small NiCad… which makes it almost better than a disk.

The ROM-pack is used for major programs, and Toshiba has plans for dedicated programs. I was told that OA-Basic will be the first program to be sold this way, but unfortunately none were available for this test. There will be a word processor to follow and games cartridges are planned.

Software

The T100 is effectively two machines in one, since it will run CP/M as well as its own Basic-cum-operating system. The former is so well known that I’ll just say it seems to be fairly well implemented, with no obvious snags.

T-Basic, the alternative mode of operation, is Microsoft’s Basic 5.2, or so close as makes no difference. Basic 5.2 is sometimes known as Gee-Whizz Basic, since it contains so many commands.

The odd fact is that Basic 5.2 is reputed to run only on a pseudo-16 such as the IBM, on which it takes up an enormous amount of memory – about 50K. So certain was a colleague that he insisted on having a look inside to check there wasn’t an 8086 there.

The only processors in the T100 are ‘outdated’ Z80As, honest. Two of them, to be sure, but only one runs the Basic, the other being concerned with input/output.

I wonder why T-Basic occupies only 32K and will do 10,000 14-digit additions in 40 seconds, when the PC and the rest of that motley crew take 43 seconds?

I’m not especially keen on it: it has rather the same feel as PL/1 – too big to be useful. Also, I can’t bear Basics which insist on spaces. I know it’s to allow for long variable names, but I don’t see why these can’t be in lower-case, thus avoiding the clash.

T-Basic will not recognise NEXTN, for example. This will cause an FN error. No, not a function error, that’s FC. This one means FOR without NEXT. It has a little friend, too: NF. That means NEXT without FOR.

Such clear, useful messages make T-Basic a real swine to work with, quite apart from the fact that it remapped the keyboard so that certain punctuation characters did not correspond with the keys. Toshiba said this was because I had a Japanese machine which normally displayed Kanji characters.

Included in the Basic are two subsidiary languages, GML and MML. Graphics Macro Language and Music Macro Language can be manipulated to produce fascinating effects, since their commands are stored as ordinary Basic strings.

It’s possible to perform complex musical operations, such as inversion and transposition, by applying the ordinary string functions to MML command-strings. The equivalent operations may be performed with GML.

In fact, Basic provides a control environment for both MML and GML, permitting loops and conditional testing.

Support

Maintenance and support will be through the dealer or from the Toshiba main repair centre. The warranty period is 90 days.

Overview

The Toshiba Tl(X) is a solid machine, which appears to have been well thought out in most respects. The few peculiarities of T-Basic must be cleared up before that language will be usable, but there seem to be no such problems in OA-Basic or CP/M.

In these latter environments the machine is rather ordinary, but that’s no bad thing. At least it’s predictable and probably reliable. There is an enormous amount of rather cumbersome software available under CP/M, which will make it useful for business applications.

The built-in graphics and music features and the comprehensive Basic give it a much wider audience.

Overall, it’s a good buy… it has a solid base behind it and will certainly last.

My main feeling after this test was that the machine did not seem to have any real ‘personality’. Perhaps it’s self-indulgent to talk of such attributes in boxes full of highly refined sand, but Sinclair and Apple owners wouldn’t think so… nor would many others.

This is not a business machine alone. Nor yet a home machine. In fact it’s a direct competitor for the Apple II market, but unless the makers encourage similar attitudes. it won’t be such a big seller.

Toshiba’s moving picture show
Graphics Macro Language has several commands which are used much like any other Basic keyword
GROUP 1 DRAW
  U – Up
  D – Down
  L – Left
  R – Right
  E – Up and Right
  F – Up and Left
  G – Down and Left
  H – Down and right
Prefix B – Move without plotting
  N – Return to original point after plotting
Prefix is optional, and will default to plotting and leaving the cursor at the last plotted point.
Distance Number of dots to plat. Default is 1
M(±)X, (±)Y Draws a line from current position to either absolute position X,Y or relative if sign is included.
GROUP 2  
A 0, 1, 2, 3 Rotate coordinates 0-3 times 90 degrees
C 0… 7 Set line colour to value between 0 and 7
S 1… 255 Set step factor for drawing
X string Execute a string as GML commands.
There are a number of associated commands
SCREEN 0 Text mode (either 36 or 80 depending on width)
SCREEN 1 Low resolution mode (160 x 100, 8 colours)
SCREEN 2 High resolution mode (640 x 200, 2 of 8 colours)
LINE (X, Y) (X, Y1) Draw a line from point to point
PSET (X, Y) Plot a dot
COLOURT I, P Set foreground colour to I, background to P (background colour is optional)
CIRCLE X, Y, radius, (colour), (start), (end), (aspect) Draw a circle with its centre at X, Y which starts at a point (optionally). Aspect will make ellipses if required. All items in brackets are optional
PAINT X, Y (paint colour), (border colour) Fill an area enclosed by the border colour with a paint colour. The place to start is at X, Y
  • Price – £2,575 with colour monitor, disk-drive, console
  • Processor type/speed – Z80A at 3.99MHz
  • Standard RAM/max RAM – 32K or 16K RAM-pack optional
  • Text screen – 80 x 24 or 36 x 24
  • Graphics screen – 640 x 200, 288 x 192, 160 x 100, 72 x 96, 8 colours
  • Keyboard – 89 full-travel keys (8 programmable function keys)
  • Storage – Two double-sided, double-density drives, 285K per disk
  • Interfaces – 1600BPS cassette with remote control, RS232, Centronics parallel, system bus
  • OS/Language – T-Basic, CP/M
  • Other languages – as on CP/M
  • Distributor – Toshiba
  • Software supplied – CP/M 2.2, OA-Basic, T-Disk Basic

First published in Personal Computer News magazine, 25th March 1983