Winchester Disks – All You Need To Know

Winchester_001

More and more business microcomputers now offer a Winchester disk drive as an option or add-on. What difference do these devices make, and are they worth the extra money? Will your software still be compatible? Claire Gooding takes a user’s view.

The name ‘Winchester’ for most people in the computer industry conjures up not a cathedral city in Hampshire but a disk for storing masses of data.

The first generation of microcomputers has accustomed most users to floppy disks: not an ideal medium because of their vulnerability (not to be handled after eating fish and chips!) and the limits on the amounts of data they can hold. The size and capacity of floppy disks has increased enormously since the first versions became common in the mid-seventies, but for many users the capacity of even the largest floppy disks cannot cope with their needs.

People quickly became acquainted with the drawbacks of floppies: their tendency to run out of space, and worse, to announce ‘DISK ERROR’ at the slightest excuse. Serious business use of microcomputers made it essential to provide a more robust and efficient form of mass storage.

The first to produce a form of hard-disk storage were pioneers who were prepared to rig up custom-built hardware and write the necessary software to store and retrieve data – usually in the lowest possible form of language, machine code. Although software houses (who really needed more storage space) could probably cope with such demands, the average end user needed something off-the-peg.

By 1980 Winchester disk technology had moved far enough to provide 8” Winchester disks for micros, although they were highly unreliable. One manufacturer who supplied these 8” disks as an optional add-on to his microcomputer recalled that “at any one time we could be fairly sure that only half of the disks we supplied were actually working – the rest were either winging their way to us or back again after repairs!

Reliable solutions

As always, it didn’t take long for the technology to advance to the degree that within only a couple of years there were far more reliable solutions in Winchester form.

The users who clamoured for mass storage first were those who bad bought Apples and PETs (Commodore) in the first wave of microcomputing. At the time few had envisaged that the PET would become one of the most widespread business tools of its time, but its popularity – and the fact that it ran out of space very quickly – meant that Commodore had to do something.

The solution was the Shark disk, made by Mator. The people who had invested in PETs were resourceful and adventurous on the whole, but couldn’t really be expected to muck about with software – especially machine code – to get their programs to on on the hard disk.

“When Mator was approached with the idea of matching the PET with a hard disk, one of the prime requisites was that it should look like one of the existing drives,” explained David Briggs, Hardware Sales Manager, for Commodore. “That way there would be the absolute minimum of software compatibility problems – if it works on the standard floppy, then it should work with the hard disk.”

Meantime, Apple had found its own solution. First the Corvus hard disk came on the scene, then Apple followed with its own Profile.

Other suppliers developed Winchester bolt-ons for the many Z80-based machines. The only problem which such ‘afterthought’ bolt-ons might encounter was that most of the systems they were bolted to had never expected to talk to a Winchester. So unless the user was prepared to write his own Input-Output routines in machine language, he had to make sure that the manufacturer who supplied the disk also supplied a version of CP/M or whatever operating system was concerned, with the necessary BIOS (Basic Input Output System).

BIOS

The BIOS is a piece of software which allows the operating system to link with specific peripheral devices like disk drives and printers. It would be a pretty silly supplier who didn’t ensure that customers could use his wares, so the BIOS problem is not a great factor – you’ll find someone who can offer you a hard disk option among the many independent suppliers of bolt-on Winchesters which have sprung up in the last two years.

On the whole, moving to a Winchester shouldn’t demand any alteration in your applications programs, the exception being if you have bought a system where the protection built into the programs as a bar to illegal copying, is connected with the physical disk – as in the Silicon Office from the Bristol Software Factory.

It didn’t take long for the other manufacturers to realise that their systems would have an edge on competitors in the market place if they could offer Winchester disks as an option, so that buyers could later expand, even if they couldn’t afford mass storage to start with. By 1981 such configurations were common.

By 1982, not only was the hard disk option common, but manufacturers were striving to improve the service they gave. Not all the space on a Winchester is used up, partly because some sectors are always kept spare, ‘just in case’. Better organisation of data, so that operations are optimised, can mean an improvement on access times and throughput.

NEC offers such an ‘improved’ Winchester with its PC 8000, called DisCache. “What DisCache does is to keep the most commonly accessed pieces of data in a RAM buffer,” explained Marketing Manager for the PC, Alan West. “With this technique the most frequently used bits of data are likely to be in the RAM buffer, so there’s no disk access needed at all.” West describes DisCache as “the most intelligent implementation of a Winchester” because it also deals with the eternal problem of backup.

“DisCache keeps a note of the sectors to which data was written, for example, daily. So that at the end of the day, it’s only a matter of backing up that data, using only part of a floppy. With our system, backup becomes a simple end-of-day/month procedure. There’s a complete management system for recovery, so that it becomes a simple serialised restoration of data: it never needs more than twenty diskettes.”

Backup

Backup is one of the hidden costs of buying a Winchester disk. A complete backup needs as many diskettes as two dozen in some cases, and can be extremely tedious: prohibitively so if there’s a need to make a complete backup every day. The alternative is a tape streamer, which can be pricey.

Just as frustrating, is the rare occurrence of re-formatting when there is a disk problem on the Winchester. “First of all,” said one user, “you have to find the re-format program which you threw off the disk to make space months ago. It’s then that you discover that the re-format – if you find it – is a pig to use with lousy documentation. Of course, it’s so seldom used that you only discover this in real emergencies.”

Nevertheless Winchesters have lots of hidden advantages, too. One of the busiest development areas these days is in operating systems, and manufacturers are looking beyond multi-user systems to networking. Compared to the home computer user with his cassette or floppy, this is computing on a grand scale and couldn’t be envisaged without some form of fast storage and retrieval.

Newer operating systems – especially time-sharing systems like the up-and-coming Unix, tend to assume that their targets run on Winchesters.

Having more storage should also have an impact on the people who are doing the actual development of software applications. Being able to hold data together all on one disk has repercussions on the ‘integration’ of software. Eventually we should see more sophisticated systems which perform automatic updates, or create one-off reports with data from many different files. Relational databases – notoriously power-hungry and greedy for space – become another possibility, and that means that users should be able to make any combination of data items, or delate them, to make the kind of selective enquiry which most present systems are not flexible enough to allow.

Winchesters have already played a vital role in making software development easier, and it’s likely that they will even lead to an improvement in the quality of software… or that’s the theory, anyway.

What is it?

For those with an insatiable appetite for technical explanations, here’s a quick look at how a Winchester drive works.

Winchester_005

A Winchester disk drive is hermetically (airtight) sealed to keep out dust and grime. The recording head ‘flies’ just over the surface of the disk drive on a cushion of air.

The main thing that you need to know about Winchester disks is that they are larger – usually 5 to 10 times the capacity – than the floppies which have been the staple storage medium for most microcomputer users.

The main difference between floppies and Winchesters is that Winchesters are made of hard metallic material – hence the term ‘hard disks’, whereas floppies are just that – if you extract one from its cardboard shield you’ll see something like those flimsy disks that used to be given away with magazines as advertising gimmicks.

The advanced technology used to create Winchester disks not only allows far more data to be packed onto a smaller space, but results in what should be a less troublesome medium than floppies. This is due to the fact that Winchesters are sealed in an airtight casing so that they operate in an immaculately clean environment. This means that the hard disk (in the raw it looks much like a brown LP) doesn’t deteriorate as fast as a floppy disk because it is not subjected to the same sort of wear and tear, caused by dust particles and other abrasive matter. The pros and cons of putting all your precious data on to a Winchester disk are tied closely to that ‘hard’ medium.

Winchester_002

Unlike a floppy disk unit, a Winchester frequently shows nothing on the exterior. Despite this, the level of noise is surprising high.

Winchester_003

Tape ‘streamer’ cartridges are probably the best form of back-up to a Winchester disk, though most people use a floppy drive for reasons of economy.

Winchester_004

New half-height Winchesters can be expected to appear on new microcomputers in a few month’s time.

IBM first developed the technology, and stories abound as to how it came by the name Winchester. Sorry, Anglophiles, but most sources, including IBM, seem to agree that it wasn’t named after a quaint Hampshire city: not directly, anyway. The engineers of IBM’s development team named it after the Winchester rifle because the prototype disk drive supported two disks of 8 megabyte capacity – 6:6. The name stuck.

IBM’s aim was to build an exchangeable disk pack with a very high data density. Previous attempts failed because the task of making the read-write head accurate enough to find the right track was almost impossible when the disk itself had to be exchangeable. The read-write head, which picks up data from the disk, had to be able to find the right track within thousands of an inch. Even if this were possible, the whole arrangement would go out of line as soon as the room temperature changed, because of thermal expansion.

Cushion of Air

IBM solved the problem by doing away with the disk-head alignment altogether. The head assembly became exchangeable, along with the disk. The sensor, which in older technology used to be part of the head assembly, was replaced with information held on the disk itself, and the head ‘flies’ across the disk on a thin cushion of air. The head must never actually touch the disk, which is travelling at about 100 mph – quite fast enough to cause a ‘crash’ which would damage the head and wipe out data.

The aluminium surface of a Winchester disk can be machined flat to a tolerance of around ten millionths of an inch, and the head flies about twenty millionths of an inch above the disk surface: about a hundredth of the diameter of a human hair.

The thinner the cushion of air on which the head flies, the more data can be crammed onto the disk, in greater density. The problems are that flying as close as twenty millionths of an inch, the head stands a fair chance of encountering an almighty piece of dust, or a mountainous flake of cigarette ash. The solution: assemble the whole thing in a ‘clean room’ atmosphere, then seal it for life.

The Winchester’s light low-flying head lands as gracefully as Concorde on the disk’s surface only when the disk is turned off and slows to a halt. As a result Winchester heads don’t need the expensive and unreliable mechanism, (rather like the needle on an automatic record-player) which on older-design hard disks was needed to lift and retract the head before the disk stopped.

So the development of the Winchester opened up possibilities of storing vast amounts of data in fairly robust conditions. It’s hardly surprising, given the technology involved, that the Winchester disk was expensive. But it didn’t take long for IBM’s competitors to get on the trail, and prices dropped as the technology improved.

Practical Use

The first disks were 14” – too large to be of any practical use to microcomputer users. But once the teething problems were over, Winchesters began to look like a very attractive alternative to diskettes. Storage rates of 5, 10 or 20 megabytes began to appear in much  smaller packages. By the end of 1980 8” drives which took up no more space than a standard floppy drive were becoming available in reasonable quantities. The price was relatively high, but the speed and capacity were ten times better than a floppy disk.

As the technology improves, the price is dropping as manufacturers make mechanisms simpler, and capacities have crept up from 40 to 80, and now even 450 megabytes.

The other thing that has changed drastically is the size. Winchester disks now come in even smaller sizes than the 8” drives. The next revolutionary step was the 5” or 5.25” disk drive, pioneered by Seagate, and now the 3.25” disk drives are making their appearance, heralded by Syquist’s prototype, which drew the crowds at the National Computer Conference in the USA in 1982.

Who needs one?

Winchester_006

Until recently, Winchesters were only available as add-ons from third-party suppliers (this Corvus unit is one of the most popular). Now more manufacturers will be offering their own.

Not everybody needs a Winchester disk – but if you have a large database or want an integrated accounts system then a Winchester should be high on your shopping list.

Who needs a Winchester? When you find yourself surrounded by a sea of floppies, when your accounting programs can’t be run without switching and swopping, and when your operating system is forever hung up looking for spare sectors, then perhaps it’s time you considered a Winchester.

It’s the sheer lack of space which drives most users to consider hard disk storage, that, and the fact that having their data on a Winchester gives them a nice warm feeling of safety. The sealed disk appears much less vulnerable than a series of small floppies, which can get bent, have cups of coffee spilt on them, and can very often suffer from disk errors. The business of backing up at the end of the day is also so tedious that many people simply get lazy about it, and come to grief when their floppies pack up.

The other factor that pushes some users to the decision of spending a lot of money on a Winchester disk drive is speed. This can become a crucial factor with a micro which is being used for several different applications in a business environment. Not only does the actual disk access take much longer on floppies, but operators can take an inordinate amount of time shuffling data around to squeeze things in.

If there is some question of implementing a multi-user system then a Winchester comes higher up the list of priorities. Not only is speed more crucial in a multi-user environment, but the volume of data and programs is likely to be so great that the system couldn’t work efficiently without a Winchester.

Database

The other software acquisition which demands a certain amount of hardware investment is a database. The pros and cons of running one’s business on a database are still debated up and down the land in mainframe installations, but for users who are considering a set of applications depending on one set of data, it’s a solution worth consideration.

There are several microcomputer databases (Logica’s Rapport, Pactel’s MDBS) but the use of any of them – or even the data files created to run, say, a stock system, can take up a great deal of space. Depending on the access method used and the number of data items, a large set of files can slow operations down considerably. “All I can say about anyone who tries to run a database off a floppy,” said one user, “is that they must be very, very, patient.”

Nevertheless the collection of your data and its organisation into a database can have some valuable spin-offs, especially to a business user. It opens up the possibility of ‘integrating’ operations. This means that instead of executing each task independently and perhaps only updating one file, updates which have a bearing on one set of data – for example the stock file and the supplier file – can be automatically posted. When creating a report, data from several different areas can be called on, and individual programs can all tap the same data.

There are great advantages in this approach, since expanding operations (perhaps adding a payroll) can use information that is already filed. A business user who wants to make the most of the great amount of information stored in his files can also think about such applications as modelling and forecasting; again, a very space-hungry sort of operation because of the mathematical formulae used to manipulate large amounts of data.

Program Generators

Most of the space needed to run integrated applications, or a database system, is taken up by the tables and pointers which have to be set up as a sort of index to link the various pieces of related data. The more links there are, the more space is needed for the tables.

The other way of creating applications which link together is to use a sophisticated applications generator. These have become very popular in the last couple of years, with products like the Last One, and Personal Pearl becoming almost household names. These can be very effective, but nearly all of them work on the same principle: menus which lead the user through the business of setting up a database, linking data and setting up ‘keys’ on which data is sorted (e.g. customer number or surname), and then actually creating the application.

In this case, not only do you need space for the files you create and the tables and indices that they use, but even more space for the heavy business of generating code. Code, which is generated rather than hand-written, tends to be less efficient because it has to be ‘ready-made’, and it will often take up more space and work more slowly than custom-built programs. If you are planning to use an applications generator then a Winchester disk may well be a necessity, since it is easy to run out of space on floppies when creating only one small system.

Software houses tend to go for mass storage of some sort for the obvious reason that they have far more to store, and will often keep several ‘development’ versions of one program, plus sets of test data.

If you have an accounting system or stock system which has been written specifically to run on a pair of floppy disks, then you should be able to manage quite well without hard disk storage. However, transferring the system to a Winchester will make a difference in speed and efficiency, though it probably isn’t worth the effort unless you plan to expand in some other way.

First published in Microcomputer Printout magazine, April 1983

Advertisements

An Impressive List of Features from Facit

The 4510 dot matrix printer allows you to keep your options open, says Andrew Tollyfield

Facit4510_001

The Facit 4510 – not aimed at any one user, but it avoids being a jack of all trades and master of none.

As the microcomputer market expands, companies which formerly made peripherals for larger computers are being forced to come ‘down-market’.

The Swedish-made Facit 4510 printer is a mid-range, high quality dot matrix printer. It is not cheap, but it offers a lot for the price.

The advertising literature for the Facit 4510 claims all the ‘extras’ come as standard. This is only a slight exaggeration.

The only feature lacking appears to be a software-definable character set, and the only disappointment is that it comes with no connecting lead. But since several different leads would be needed to cover the range of requirements, this is understandable.

Various leads are available at about £15 each.

The Facit is versatile, and has both parallel and serial interfaces, standard and high resolution text printing with proportional spacing if required, and block or high-resolution graphics.

This versatility and good print quality make the 4510 an attractive proposition, even at £498.

Setting it up

Beneath the printer’s adequate packaging is a reasonably compact machine with a smart two-tone plastic cover on a rigid metal base.

Most of the components, including the small DIP setting switches and interface connectors, which protrude at the rear, are on a single horizontal printed-circuit board mounted on the baseplate. The whole construction is fairly sturdy and weighs 5.5kg. The dimensions are 17 x 13 x 4.5 in. There is good access to the print head and large ribbon cartridge, and paper-loading is easy for either friction or tractor feed. Both options can be adjusted to take paper widths from 4in to 11in. An unusual and welcome feature is the inclusion of a paper-roll holder.

The documentation is exhaustive, but clearly aimed at the experienced user – explanations are too terse and occasionally confusing. The detail given is greater than average but a more logical presentation of sections would have helped.

Facit4510_002

With typefaces created under software control, this is just a small selection of the output available from the Facit. This printout shows extended, normal and condensed sans serif, and normal and extended serif faces, and block graphics.

Facilities

The printer has two LEDs, one of which indicates power-on, and the other on-line error. The latter flashes when an error occurs, such as displacement of the print-head.

The controls include a mains switch on the left-hand side and suitably recessed, an on/off line switch, line/form switch and a top-of-form/error override switch. The rotary mode switch sets the default printing mode.

By holding the error-override while switching on one can ‘self-test’ the printer.

The Facit has a 2K buffer, a parallel interface providing both Centronics and Epson protocols, and a serial interface which operates at between 110 and 9600 baud using 7-bit ASCII code.

The now-standard feature of several language sets is available here (including Swedish, Danish, German, Italian, French, Spanish), selectable by switches or software. A programmable ROM containing custom character sets can be inserted on the PCB and one can move between the main or auxiliary character sets under software control.

Any character set can be printed in elongated or underlined mode and the character sizes themselves can be 10, 12 or 17 characters per inch.

Block graphics symbols are printed at 7.5, 9 and 12 per inch, while high-resolution graphics have densities of 60, 72 and 100 dots per inch. The latter can also be double printed.

Forward or reverse full- and half-line feeds are useful for subscripts and superscripts, but reverse linefeeds can be used only with friction feed.

The left-hand margin has to be set manually, but the right-hand margin can be set by software. A special space code can be set at any size from 0 to 94.5 dot columns and backspace allows for overprinting a previous character.

This is an impressive list of features.

Facit claims 120 characters per second but linefeed time reduces this to around 80 CPS for full 80-character lines. The noise level is reasonably low and the quality of print is very good, particularly in the high-resolution modes.

The printer uses bi-directional printing in the text and block-graphic modes but automatically reverts to unidirectional printing in the high resolution mode in order to produce the best vertical alignment.

Overview

The 4510 is obtainable from Access Data Communications, Uxbridge, which is the distributor in the country. Service is also available from them on a contract basis but at £100 per year it should be more economical to return the machine for repair.

If faults occur during the six-month warranty period the printer will be replaced.

The Facit’s price is high compared with similar printers, but it offers a larger number of options.

In applications where a wide variety of printing requirements exist this printer would be an ideal choice.

Print for the finish

Picking a printer is an exercise in picking a horse for a course. There are four printer variables – price, speed, quality and flexibility.

You generally can’t get advantages in one area without losing out in others.

In striving to mix variables to suit different needs, manufacturers have developed a variety of ways to get words on paper.

Punching a raised metal cast through a ribbon is the most popular way of achieving ‘letter quality’. This daisywheel system makes a mess of the other printer variables, especially flexibility and price.

If, like most personal computer users, you are prepared to sacrifice a couple of variables you can get the all-important price down to pocket-size.

At the bottom end of the scale you find the thermal and electrostatic printers which ‘singe’ characters onto specially coated paper.

These cost less but only at a great sacrifice of all the other variables.

Although rudimentary graphics are possible, speed is bad and quality is offensive (correspondence is not to be entered into).

The matrix printer is a close cousin of the daisywheel but instead of fixed type it uses a row of pins which are programmed to punch dots to form characters or graphics.

Matrix printers are the most popular type and fill a wide range of user requirements from high-quality/expensive to low-quality/cheap.

First published in Personal Computer News magazine, 1st April 1983

Say it again SAM

SAM001

Nigel Cross lends an ear to a Shakespeare-quoting speech synthesiser for the 48K Apple II.

Despite its dubious acronym – Software Automatic Mouth – and its origins with a Californian company named Don’t Ask Computer Software, SAM turns out to be a pleasant kind of character.

In fact, this combined hardware and software package for the 48K Apple II is far better than its trite packaging (awful cartoon character on silver box) and slender instruction booklet indicate.

Setting it up

Once the box is discarded SAM manifests itself as a disk and a small PCB. The board has to be located in slot 4 of the Apple, then two pieces of wire are connected to the internal speaker pin and loudspeaker.

For best results a medium size speaker of four to eight inches is recommended to give an acceptably ‘rounded’ voice. A volume adjustment is also included so that if you don’t like your neighbours you can really give them a hard time.

For more volume you could wire the output to an amplifier – but be careful. The internal speaker is disabled and all sound output is passed through SAM.

Having got this far the disk can be loaded and the demo programs run. These programs include a short story about SAM and its capabilities. Another program is a small selection of famous speeches – Hamlet’s soliloquy was definitely interesting but SAM is certainly no Olivier.

The other two should be avoided if only for the content – Allegiance to the Flag and Gettysburg Address.

Up and Running

By this time most people would be falling about in fits of laughter, but don’t let this put you off. The real part of the package is very good and easy to use.

To make things easy a subroutine ‘reciter’ is included so that by encoding an alphanumeric string and performing a call. Reciter decodes English into phonetics, then SAM utters them through the speaker.

This method is very fast and its efficiency is something to marvel at. The English is decoded according to about 450 rules of English pronunciation and copes very well with all sorts of combinations of letters – even absolute gibberish.

An interesting note on this function is that ‘goodnight’ is pronounced correctly whereas ‘goodnite’ becomes ‘goodnit’.

This use of SAM is obviously limited by the nature of direct translation and does not incorporate much capability for stress, inflection and intonation – not to mention dialect.

However, strings of invective and expletives are wonderfully effective and, in fact, woke up someone in the next room.

Having decided to pass on to SAM itself, the booklet comes into its own. Data passed to SAM can be structured according to the dictionary and by the simple expedient of encoding a phonetic string then issuing a call.

SAM uses about 60 phonetic units, which are noted on a quick reference card, to produce its sounds.

By analysing the words, phrases and sense of what you wish your computer to say using the phonetic reference chart and the dictionary, comprehensive structures can be compounded.

A word of warning – SAM has a ‘breath’ capacity of only 2.5 seconds, so be sure to encode a pause within the time limit. Unexpected pauses ruin the overall effect.

Once the data has been encoded phonetically it is then possible to add emphasis on a scale of 0 to 9 to every part by including a digit of appropriate value at correct places in the data.

The phonetic writing of compound statements is not easy to start with, but after a little practice it almost becomes second nature (depending on your own accent) and the results turn out to be very pleasing.

As regards the ‘voice’ of SAM, the first impressions are very reminiscent of a tired and emotional Mexican speaking with his mouth full of chilli, but a bit of effort and thought makes it clearer.

Verdict

This package is very impressive with great scope available to the user for personalisation of program prompts or actual enunciation of data.

The ‘voice’ becomes clearer with use, but even using just the Reciter function all speech is understandable.

Within its capabilities this is one of the best-implemented speech synthesisers available.

  • Name: SAM (Software Automatic Mouth)
  • Machine: Apple II 48K
  • Manufacturer: Don’t Ask Computer Software
  • Price: £102.35 inc vat
  • Outlet: Pete & Pam Computers

First published in Personal Computer News magazine, 1st April 1983

The Basics in Splitting the Atom

BBCROM001

BBC Basic on an Atom? Reg Parsons finds the BBC ROM card a bit of a spanner in the works.

When Acorn advertised a ROM card for RUNning BBC Basic on the Atom I quickly placed my order.

I’d taken delivery of the 8K+2K Atom with floating-point ROM a few months earlier, and during the period of learning to drive it became aware of its limitations. I soon fitted a power utility ROM and expanded the RAM via the full Atom complement to an additional 32K offboard Timedata Dynamic RAM card, fitted inside the Atom case.

This was configured to occupy the whole of the lower text space, and provided 38K of continuous RAM. Then I added the 6522 Versatile Interface Adaptor and a printer buffer set.

The Atom ROM card seemed an attractive proposition, even though I knew that less than half the available RAM would be free for use in BBC mode.

When the board eventually turned up I immediately discovered two snags. First, there was no way in which it would fit in its intended slot inside the case while the Timedata RAM card was there. And although the ‘Comprehensive BBC-type Basic Manual’ gave detailed fitting instructions, it didn’t live up to its description – it was inadequate in providing working information on the BBC dialect. Nor was a circuit diagram supplied.

I had to remove the internally fitted memory board and house it externally, with a ribbon cable and socket connection to the external Atom bus. Meanwhile, I ordered a copy of the BBC Basic User’s Guide.

When the manual turned up I got down to the business of installing the board and evaluating it from the point of view of – by now – a seasoned Atom user.

When the board was fitted, all the internal lower text-space RAM was removed, including Zero Page, together with IC6, and the connection to pin 12 of IC5 was disabled in order to configure the Atom to use the external board.

These modifications remained, so the IC9 position on the BBC Board was left unoccupied, and in addition, the extra RAM supplied on the BBC board by ICs 5-8 was removed.

I chose to use the keyboard selection option for switching between BBC Basic and Atom Basic. I won’t tolerate the incongruity presented by making additional soldered connections to plug-in modules, so I fitted miniature single-pole sockets to the Atom board in appropriate positions, and mating plugs to the flying leads from the board.

BBCROM005

The BBC Basic conversion card sits piggyback-style on the main PCB of the Atom. In front of it is the back of the keyboard, so the entire assembly is actually upside-down in the case. A few jumper connections are necessary.

Power-up

BBCROM002

On power-up followed by BREAK, the BBC Basic banner was displayed. BREAK/CONTROL produced the Acorn Atom banner. To switch back, BREAK/SHIFT at first produced no result, but a second attempt returned to BBC Basic.

So – after the initialisation. BREAK/ SHIFT has to be executed twice to attain the desired result; no problem – but nobody said so. BREAK/CONTROL needs only one execution to operate. After executing BREAK only, no change takes place in the operating mode.

My first major discovery was that Mode 7 is not Teletext; it is Atom Mode 0. Similarly, Mode 6 = Atom ,Mode 1, 5 = Atom 2, 4 = Atom 3, and 3 – 0 are Atom 4. Characters per line remain at 32.

Mode 7 is the only text mode. There is no facility for defining text windows in graphics modes. The cursor remains the Atom cursor, and, although nobody says so, it can be turned off by the command ?&E1=0, and on again by ?&E1=&80 – equivalent to the Atom commands.

The mode equivalents are listed in the supplementary manual, which also says that the graphics screens are scaled, so that PLOT statements refer to the same screen location in all graphics modes. In this context, the screen size is 1280 x 1024.

The Atom character font is used, but the production of inverse characters, representing lower-case letters, is inhibited and they are printed to the screen as normal capitals. This means that a printer will not print lower-case characters. This seems to be due to the fact that inverse characters and block graphics characters are used as key-word tokens in BBC Basic. Acorn says this is because the Atom OS is used by the board.

The number of characters permitted per line when input from the keyboard considerably exceeds the Atom limitation, and appears to be a maximum of 128 characters (four screen lines). After this, entry is allowed to continue up to 240 characters or more, although editing is no longer possible.

A strange feature is that certain shifted characters seem to cause a notional but not physical CR, so that entry again becomes valid.

No statement of the maximum number of characters permitted can be found anywhere, and Acorn will not commit itself to one. The company says that the shifted character anomaly results from the fact that the Atom OS is used.

Mixing modes

BBCROM003

When I tried to LOAD an existing program in Atom mode, it failed. A memory test indicated that, in this mode, memory was accessible only up to #4000. This was totally unacceptable, and again I turned to Acorn and also to Timedata.

Acorn told me that the presence of the BBC board in the Atom inhibited the addressing of any off-board Eurocard, even in Atom mode. Not one word to this effect appears in any of its advertisements for the board, and no such limitation is mentioned in the instructions that accompany it.

Timedata carried out a thorough investigation and eventually produced a comprehensive set of notes concerning the use of its boards in conjunction with the BBC board.

The connection to pin 11 of IC14 on the BBC board must be disabled, and that pin must be connected to pin 12 of IC12, also on the BBC board. There is a conveniently located plated-through hole on the BBC board, connected to pin 12 of IC12, and a short wire was soldered from there and terminated on a single IC socket removed from a DIL unit, which was clipped to the bent-up pin on BBC IC14.

Full Atom memory was now available from 0 to #97FF but. of course, the maximum memory location normally available in BBC mode remained at &4000.

However, by raising HIMEM to &57FF, continuous memory is accessible up to that location. When I asked whether the screen section could be used for Basic programs, as in the Atom, Acorn refused to comment.

I have tried it; sometimes it works, sometimes it doesn’t. It’s impossible to say why, because when it fails it produces the diabolical BAD PROGRAM error and all is lost. At least it should be possible to store data and/or machine code in this area, but this has not yet been tried.

I am aware that criticism of that error message – or rather of its consequence – is more a criticism of BBC Basic than of its implementation on the Atom, but I still think the action taken is ridiculous, and I cannot think of any logical reason for it.

I suspect that the error occurs on the BBC board for reasons over and above the one defined in the User’s Guide. For instance, tidying up a program by adding an END statement will sometimes allow it to make one more run, and then report BAD PROGRAM, and that’s your lot. Acorn attributes this to the use of the Atom OS.

The Atom utility ROM has to be transferred to the BBC board and occupies memory space from &6000 to &6FFF. Because of the address contents- if for no other reason – the ROM is unusable and inaccessible in BBC mode, and the valuable address space is wasted. Worse still. Atom COS, which runs at 300 baud, is the only one available in BBC mode.

Since for the last eight months or so I have been *LOADing and *SAVEing all Basic programs as unnamed files at 1,200 baud with absolute reliability, I do not take kindly to returning to the tedious 300baud.

It has been reported that, by careful manipulation of addresses, it is possible to save programs in Atom mode, using the utility ROM fast COS. To date. I have not been able to do so; this could be due to some unexpected effect of the use of off-board memory.

Acorn’s advice is again that this is due to the use of Atom OS. The lack of FAST COS will ensure that very little use is made of the board by me.

Hex numbers could not be INPUT from the keyboard direct to a variable. The answer is to INPUT to a string variable, and make the variable = EVAL (string variable). It seems that this is a standard feature of BBC Basic; nobody says so anywhere.

Command control

BBCROM004

None of the BBC *FX commands is available, and the only VDU commands available are those corresponding to the Atom control codes, plus one which places the cursor in a specified position on the screen, and one which mimics the command MODE 3, VDU31 and VDU16 respectively.

If there are others, I have not found them. A nice feature is that VDU can be abbreviated to V.; V.00 is much easier and quicker to type than P.$00.

Other commands not implemented are ADVAL (understandable because there is no analog to digital converter), COLOUR. ENVELOPE (resulting in severe limitations to the SOUND command), EOF, EXT#, PTR (all because there is no provision for DOS). GCOL, POINT and POS.

Commands only partially implemented are VDU (already discussed), INKEY, INKEY$ (input of negative numbers not supported), SOUND (only one channel and no Envelope parameter).

As has already been implied, the hex operator is ‘&’ instead of ‘#’. The latter is used in the assembler to denote immediate addressing mode instead of ‘@’.

The following OS routines do not exist: OSGBPB and OSARGS. OSRDCH and OSASCI appear to be implemented by Atom’s OSWRCH. OSNEWL has also disappeared, but its limited functions are obviously absorbed elsewhere.

VDU21, besides its normal function (P.$21), deletes the whole of the current line up to 128 characters in length, during program entry only.

Most keywords can be abbreviated on entry, but these are printed in full when listing; this makes them less readable, as does the use of variable names – which is not only permitted but positively encouraged by BBC Basic. Variable names are extremely wasteful of memory space, and I cannot understand why they should be so encouraged.

Long before computers existed I was taught to allocate letters or alpha-numeric combinations to variables. While I concede that variable names may have a limited use, I shall continue to use alpha and alpha-numeric variables.

In general, BBC error codes, except for the BAD PROGRAM abomination, seem to be more helpful than their Atom equivalents, but there is one message that is not only useless but a nuisance. When LISTing in BBC mode, Atom OS as usual is used, and exit from the List is by ESCAPE. BBC Basic prints out the unnecessary message ESCAPE AT LINE 00, and in doing so, it scrolls the listing up, by up to three lines – not disastrous but irritating and time-wasting. Acorn says that the message cannot be inhibited and that it is due to the use – you’ve guessed it – of the Atom OS.

There is a ‘bug’ in versions of the ROM that pre-date December ’82, which causes a LINE FEED to be sent to the printer. This results in undesired double-line spacing in some printers. Line feed to the printer, says Acorn’s technical department, can be inhibited by the command ?&FE=0.

Acorn says that user-accessible vector addresses are the same as Atom equivalents. They refuse to supply information on Zero Page addresses, which they say is not available.

Positive points

Despite all my criticisms, however, there are desirable features.

Print formatting is a pleasant feature after the Atom’s almost total lack of any such facility, as is the implementation of ‘proper’ string handling, and the total independence of string variables on integer variables. The freedom of choice in selecting both integer and FP variables is a welcome innovation, as is the freedom
from the need to dimension strings before, use.

Many of the more useful commands, such as DEL, ELSE and ON ERROR already appear on most of the utility ROMs and will not be new to Atom users.

DEF and the associated FN and PROC are potentially useful, but as yet I have not experimented with them, and because they open up a totally new programming concept I am reluctant to do so.

No doubt, though, that reluctance will be overcome given time.

PAGE is a welcome simplification of the ?18=#00 routine.

CHAIN, which will accept an empty string as its argument, and which is equivalent to ATOM’S *RUN without the hassle, is a potentially useful command, but it is restricted in its usefulness by the lack of FAST COS.

Overview

BBCROM006

The BBC board for the Acorn Atom is an excellent idea, potentially of great value and interest to Atom owners. But the project has brought forth a half-baked product.

I accept that the Atom can never be a BBC micro. Nevertheless, with a little more dedication on Acorn’s part it could have been much closer to it than it actually is.

There is room in the memory map, and even a socket for an extension OS ROM. Also the space occupied by introducing the Atom utility ROM into the BBC memory could have been usefully employed in extending the OS.

Acorn says it has no plans for any extension at the moment.

In the final analysis, everything depends on the view one takes of ‘BBC Basic’. Acorn appears to consider that it should be a minimum implementation of the dialect within the limits of Atom’s existing hardware, and indeed the company virtually says so.

I believe it should be the maximum possible implementation of the dialect within the physical limitations of the Atom – a very different thing. The crunch question is if I had known then what I now know, would I have bought the board?’ The answer must be No.

If you are considering buying it you must form your own conclusions. If you have a fully expanded Atom (12K+12K with VIA) and no intention to expand further than the BBC board, then it may be just what you are looking for. Otherwise, be warned.

There’s life in the Atom yet

Acorn’s Atom has more recently been overshadowed by its grander TV-star relation the BBC micro, but it’s a fine little micro in its own right.

For only £174 you get a full-travel keyboard, between 2 and 12K of RAM and a 6502-based processor. You also get one of the fastest (but most idiosyncratic) Basics around, and enough programmable I/O to satisfy anyone.

Of course, it isn’t all milk and honey. For example, there isn’t enough space inside the case to take any more than a couple of the available expansion boards, and one in particular, the colour card, generates too much heat for the rather inadequate ventilation.

That said, the Atom is a very ‘open’ machine, meaning that (provided you can get the information) there are no tricks preventing you from programming it to do anything you want.

The lack of memory will limit how much code can be squeezed into the little box, but tight programming can make it fit. The system has also been available to run Acorn’s Econet since last year, but since the development of the BBC it isn’t much used for that purpose.

The Atom was in many ways a test vehicle for a lot of the facilities now offered on the BBC micro. For instance, Econet was first configured on the Atom more than a year and a half ago, using much the same system available for the BBC. In fact, the Atom is still used as a control keyboard for the System 5 file server system on a large BBC micro Econeted system.

Although the Atom is likely to become obsolete with the development of the Acorn Electron – the company’s next under-£200 micro – it will remain until then one of the better-equipped machines in that price range.

Looking much like an anonymous Commodore Vic-20, the Atom has only 60 keys and those used for the cursor. It is not equipped with quite the range of graphics keys available on a more modern machine such as the Vic.

Colour problems

The Atom has also suffered from problems in implementation of colour. Atom colour card’s VDU driver chip, 6847, was originally designed to be used on an American colour system and has proved difficult to use on PAL systems. Unless modifications are made, it is also frustrating for use with RGB-type monitors.

The BBC micro has solved this colour problem by offering RGB, PAL and composite video signals as standard outputs.

Although it is not expected to be used with disks as often as the BBC micro, the Atom can accommodate a disk drive. An Atom disk drive pack from Acorn will give you 92K of storage on a standard 5.25in single-sided 40-track floppy disk using an Olivetti disk drive with its own separate power supply.

Unfortunately, the disk pack costs almost twice the price of the micro, which is likely to keep most Atom owners from using such a drive.

Images by Kieren Phelps

First published in Personal Computer News magazine, 1st April 1983

Vic has got a lot O’ Gottle

Under the tutelage of Karl Dr Doolittle’ Dallas, the Chatterbox turns out to be no dummy.

Chatterbox002

Chatterbox – targeted at the nappy-user or the computer user? Let it speak for itself.

Experimentation is the name of the game with the Chatterbox speech module. Within minutes of power-up I was getting intelligible sounds – although some of them sounded like the ventriloquist’s ‘gottle o’ geer’.

Its powerful features are done no favours by the Chatterbox name and the ‘court jester’ logo, however. It looks as though it is targeted at the nappy user rather than the computer user, and you get the impression that plugging it into an unsuspecting Vic-20 will be the cue for snatches of panto dialogue.

But let its potential speak for itself.

The Chatterbox is about the size of a cigarette case and plugs into the expansion socket of the Vic. It will also plug into the motherboard if you already have a RAM pack fitted.

There are two dongling plugs – actually, a 5-DIN plug and 5-DIN socket – for which no explanation is given in the brief
but clear documentation supplied. You just connect the Vic’s audio/video-out socket to the monitor A/V-in, and sounds come out of the monitor speaker.

If you’re using a demodulator for normal TV display, you plug the Chatterbox into the socket, and plug the demodulator’s 5-pin into the Chatterbox socket.

Chatterbox001

PCN surgery reveals the electronic vocal chords of Curragh’s Chatterbox.

In use

Speech is synthesised by typing ‘allophones’. These are alphabetical symbols which stand for 62 unique sounds, including five pauses from ten to 200 milliseconds long. The allophones are separated by oblique strokes, so my name becomes:-

‘C/AR/U/L/P5/DD/P2/A/LL/U/S/S/’

P5 and P2 are pauses of 200 and 30 milliseconds respectively, the latter representing the small explosion that follows the initial letter ‘D’ in a word.

For some reason the allophone /C/gave a happier initial sound to my first name than /K/, though both can be used. The /AR/ sound (why not /AH/, since it contains no ‘r’?) seemed to need a brief ‘uh’ before the final ‘I’ – represented in orthodox phonetics by an upside-down ‘a’, and here by the allophone /U/.

The whole name is stored in a string, and voiced by calling SYS 41000. To voice strings longer than the capacity of a single VIC program line, you can concatenate them into sentences. But you must remember to insert pauses between the words.

Any mistake will terminate the computer’s interest in saying your word at the point where the mistake occurred, as will failure to terminate each word with an oblique.

I never managed to get a satisfactory ‘w’ sound, but ‘/OO/EE/’ sounded more like ‘we’ than the more obvious ‘/W/EE’.

The voice itself is completely toneless, and despite the north-eastern origins of its (presumed) inventor, has a slightly mid-Atlantic flavour.

Pressing ‘F1’ causes each letter to be voiced as it is typed in, as well as screen-edit commands such as RETURN or CURSOR. (For some reason this acts only in the unshifted mode, so that CsrDn is voiced, but not CsrUp.) The constant vocal commentary can become distracting if one is typing in a program, but it can be turned off by pressing ‘F3’.

The documentation consists of a 20-page cassette-sized booklet, which begins with a three-page introduction to the theory of allophones. This can be skipped. Tables of the actual allophones and example words are also included. The words are printed with the allophones separated by dashes rather than obliques, and this could lead users astray.

I found a few minor errors and confusions. The suggestion that ‘/DD/ sounds good in initial position and /D/ sounds good in final position, as in ‘daughter’ and ‘collide’ is confusing, since ‘daughter’ has no final /D/. It should have read ‘respectively’.

The allophone table suggests that /DH/ is the ‘mu’ sound in ‘muM’ and /DHH/ the ‘mer’ sound in ‘merM’. but they’re the short and long versions of a voiced ‘th’. This turned out not to be a printing error. The maker differs with me on what /DH/ actually sounds like.

There are two programs, one demonstrating each allophone in turn while printing demonstration words on the screen, the other a speaking clock, which uses the VIC’s internal jiffy-counter to say things such as:-

‘TT/II/M/P5/I/I/S/S/NN/II//N/P4TH/ER/TT/EE/N/P/ER/EE/S/II/S/L/EE/’

When I keyed in the demo program. I kept getting a syntax error on a perfectly normal data line. I couldn’t find the cause, but I think I spotted an error in line 565 of the clock program (‘PA5’ where, presumably, they mean ‘P5’).

The manual also says that the allophone /S/ can be doubled to /SS/, but it produced an error when I did this, and I had to use /S/S/.

Verdict

It’s a pity the manufacturer doesn’t supply a suite of demo programs on cassette, since it is irritating to have to key in a long and at first meaningless (and therefore error-prone) program before you can explore the module’s full potential.

I can imagine wanting to use this neat little add-on (I had it talking within a six-line program in a few minutes) in interactive programs, and I’m quite jealous that I can’t plug it into my business PET. But it should be possible to dissect how it works and write a routine machine code. This would be hard on its inventors, but is, I suspect, inevitable.

  • Machine: Chatterbox Speech Module for the Vic-20
  • Price: £57.45 inc. postage and VAT
  • Available: from branches of Spectrum shops
  • Manufacturer: Curragh Computer Components

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

Smartmodem 1200 and Smartcom II

Hayes001

Although modem users in the UK will be familiar with Hayes protocols, Hayes’ products are still relatively unknown here. Peter Tootill looks at the Smartmodem 1200 and Smartcom II, a terminal program package for Hayes’ or Hayes-compatible modems.

Hayes is a new name in the UK, but will be familiar to anyone who has come into contact with the US telecomputing scene. Hayes was one of the pioneers of the ‘intelligent’ modem – that is, one that has a built-in microprocessor and can respond to commands from a computer. The command system that Hayes devised to control its modem has been followed by other manufacturers, and now Hayes protocols are the standard for intelligent modems and software designed to be used with them.

The demand for Hayes-compatible modems has come with software such as Symphony with its built-in communications features which allow the user to dial numbers stored in its database files. Hayes is making a concerted effort to push into the UK modem market and is not only working through a distributor, but has set up a separate company run, initially, by US staff. The company’s three introductory products are: a modem (Smartmodem 1200); a terminal program (Smartcom II); and a database package called ‘Please’. In this review I’ll look at the first two.

Smartmodem 1200

The Smartmodem 1200 is a single-standard V22 (1200 bits/sec full duplex) type. It is a very smart-looking modem, measuring only 5.5in x 9.5in x 1.5in, and has an external power supply. The UK version of the very popular US Smartmodem 1200 has lost its 300 bits/sec capability and gained BABT approval. The front panel carries eight LED indicators for transmit and receive data, autoanswer on, terminal ready, modem ready, carrier, off hook and high speed. The last one seems to be a hangover from the US version; it indicates that the modem is working at its highest speed – which in this case is its only speed, so it is rather superfluous. The front panel is removable, giving access to a row of 10 switches which allow you to configure various modem parameters such as auto-answer, how the DTR and CD lines operate, and so on. The rear panel has a standard 25-way, RS232 connector, an on/off switch, a socket for the external power supply, and the telephone cord with a normal BT plug on the end. There is no socket to plug a telephone into, so you will need a double adaptor if you require a handset on the same line. The modem’s case is made from sturdy aluminium and plastic.

Removing a couple of screws allows the modem’s PCB to slide out. Inside, the modem is of the same high quality as the exterior.

The modem supports the basic Hayes command set – it is, of course, Hayes-compatible (not all Hayes-compatible modems are fully Hayes-compatible – just as not all IBM-compatibles are completely compatible) and should work with any Hayes software that doesn’t expect the extended command set of the Smartmodem 2400 (a V22/22bis modem soon to be launched in the UK). It doesn’t have a number store, but as most smart terminal programs have telephone directories built-in, this is not-a significant omission.

The Smartmodem 1200 supports tone and pulse dialling, detects dial tones and engaged tones, and also has a built-in speaker so that you can monitor call progress. The volume of the speaker can be changed under software control by the computer.

In use, I found that the modem worked reliably, although I experienced a small problem when calling a US system: it couldn’t pick up the carrier from the other end – I must admit it is rather faint, but my old British Telecom 4124 modem doesn’t have any difficulty.

The current recommended list price of £575 (excluding VAT) is rather on the high side. It compares reasonably well with single-sided V22 modems from other manufacturers, but when you consider that you could get more features for a similar price with a WS3000 or, for a little more, a Steebek Quattro, it does look a bit steep.

A spokesman for the company stated that the price included a two year warranty and excellent support. He also said that Hayes products in the US have a high second-hand value. However, I wouldn’t be surprised to see the price reduced before too long, as the modem market is in a state of flux at present with new manufacturers coming into it and prices dropping significantly. (The US Smartmodem 1200 is available in the States, from mail order companies, for around $400, and the Smartmodem 2400 for about $600.)

The documentation is clearly presented and is of a high standard. There is also a comprehensive index.

Smartcom II

Smartcom II is a ‘smart’ terminal package designed to be used with Hayes’ intelligent modems. The UK version of the US product, Smartcom II, has all the usual smart terminal features such as up and downloading of files, including XModem protocols. Details of up to 25 systems can be stored and these can be dialled and logged-onto automatically. DEC VT52/100 terminal emulation is also provided, but unfortunately Viewdata is not.

The program is menu-driven, which makes it very straightforward to use. However, as with any system, the menus can be a bit of a burden when you get used to the way the program works, especially as frequent disk accesses are involved.

When you run the program, the main menu is displayed at the top of the screen. One of the entries is highlighted, and underneath is a brief description of what it does. There is a comprehensive built-in ‘Help’ function available by pressing the F2 help key.

The program must be configured to suit your particular system before you are ready to go. Options include the serial port the modem is attached to, a parallel or serial printer, the number of disk drives, and various modem parameters such as tone or pulse dialling, loudspeaker volume and time to wait for a carrier to be detected. You must also edit the parameter sets to suit the systems you want to call – there are 26 in all, one of which cannot be altered; many of the other 25 are already defined when you buy the program. These definitions include a number of systems such as Telecom Gold, Telecom Gold via PSS, Dialog and Nexis. If any of these suit you, all you have to do is edit the phone number and enter your account and password (which can be hidden from prying eyes) in the auto-log-on section.

Going online is simply a matter of selecting T for ‘Begin communication’, followed by ‘O’ for Originate and the letter for the system you wish to call. The software then tells the modem to dial the number. When it is connected it will automatically log you on – marvellous if, like me, you are a bit ham-fisted, or can never remember the PSS code for the system you want to call. I have to admit that, before I started using them, I used to think that auto-dial modems were gilding the lily, but now I am converted. The cursor keys can also be used to step through the menus; the current option is highlighted, and can be selected by pressing ‘Return’.

The auto-log-on feature is just one of 26 macros that can be stored for each of the 25 definable systems. The macro features are very powerful. Up to 48 characters can be transmitted and you can choose the prompt character, the time to wait before assuming the prompt has got lost on the way, and whether or not a carriage return is required after the data. A number of lines of data can be used for each macro.

Once connected to a remote system, all the usual features are available. Prepared messages can be uploaded continuously or line by line. XModem (or Hayes’ own) error checking protocols are available for file transfer. The printer can be toggled on and off by pressing a function key, so can spooling of data to disk. The status line at the bottom tells you how much disk space is left, the state of the printer buffer, the name of the system that you are connected to, and whether the Caps & Num Lock keys are active – a nice touch if, unlike the Philips PC I was using, you don’t have LEDs on the keys.

Another very useful feature is the ability to scroll back through information which has disappeared off the top of the screen. The manual says that the amount of incoming data that can be viewed in this way depends on the amount of memory in your computer. I had 256k and on one test counted over 60 screens full, without filling the data buffer. This is a feature that should be much more widely available on all computer systems, not just on a terminal program like this. Why should data be lost just because it has scrolled off the top of the screen?

As well as macros, you can set up ‘Batch’ files. Each can store up to 500 keystrokes, and if this isn’t enough, they can be chained together. A batch can be set to run at a predetermined time, which is potentially a very powerful feature. You could set up a batch to call a system, log-on, read all your mail into a disk file and log-off again, completely unattended. Unfortunately, batches seem to be a late addition to Smartcom II, and they haven’t received the same care and attention to detail as the rest of the program. The way they are created is by actually going online and recording your keystrokes as you read your mail, for example, so any typing mistakes you make are recorded in the batch. Unlike the parameter sets for systems, batches can’t be edited or copied. Also, there is little provision for dealing with errors induced by line noise. This means that, unless you are sure of a good line, it isn’t advisable to rely on them working unattended. However, they are a very efficient way of reducing connect time when calling systems normally.

Smartcom II also supports remote access using the auto-answer facility of the modem. You can use it from a remote system (also running Smartcom) as if you were sitting at the keyboard of the host machine. A password can be set to prevent unauthorised access, which enables file transfer, viewing of disk directories, and viewing and erasing files. Smartcom II is designed to work with Hayes’, or Hayes-compatible modems. The problem here is that Hayes currently only sells a V22 (1200 bits/sec full duplex) modem in the UK. The software – in its autodial mode – only supports 600, 1200 and 2400 bits/sec. It can be used with 1200/75 systems, with a V23 modem that buffers the 75 bits/sec line to 1200 bits/sec. It needs to be Hayes-compatible, of course, and I had mixed results here. Smartcom recognised a Miracle Technology WS3000, but for some reason the modem wouldn’t respond to the auto-dial commands. A Steebeck Quattro wasn’t even recognised; I just got ‘Smartmodem not responding on COM1’. On paper, the Quattro seems to be virtually 100 per cent compatible with the Hayes Smartmodem 2400 (not yet available over here). I didn’t have time to pursue these problems in detail, and it may be that they could be overcome. However, it is obvious that you should try before you buy, if you want to make full use of a ‘compatible’ modem.

In fact, Smartcom II can be also used with non-Hayes’ and ‘dumb’ modems by choosing the ‘direct connect’ port option. This still enables you to use all the features of the program, apart from auto-dial. It is also possible to use a non-Hayes’, auto-dial modem by setting up one of the macros to issue the dial command. You could even set up a batch file to take you through the log-on process, which would avoid the need for Hayes compatibility.

Nothing is perfect, but Smartcom II has very few things missing. The most obvious omissions are Viewdata and full 300 bits/sec support. Viewdata is one area where Hayes does seem to have misjudged the UK market and it is likely to be added in a future release. 300 bits/sec support for Hayes-compatibles is another matter: I doubt that it will appear unless Hayes introduces a 300-baud modem of its own. There is also no provision for translation tables (to filter or amend the data streams) but control codes can be filtered out. The only thing that ‘niggled’ me was the fact that, although the modem detects the absence of the dial tone when trying to dial, the software doesn’t recognise this feature.

Smartcom II is a very nice package, carefully designed and implemented. The documentation is, for the most part, excellent, with a comprehensive index. Hayes maintains a help line which puts you straight through to people who know enough about the company’s products to be able to answer most questions easily; Hayes in the US has a good reputation for support. Smartcom II runs on the IBM PC and compatibles. Apparently they do have to be pretty compatible – it worked fine on the Philips P3100.

The recommended retail price is £140 (excl VAT) which is reasonably competitive (but I’ve seen it advertised in the US for $70! I don’t know how different the British version is to that one). It comes with vouchers for Telecom Gold, Nexis, Dialog and Knowledge Index.

First published in Personal Computer World magazine, May 1986

Review – The Sinclair ZX81

ZX81_001a

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

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

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

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

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

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

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

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

ZX81_002

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

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

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

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

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

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

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

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

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

ZX81_003

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

Here is a program to show the PLOT function.

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

This routine plots a sine curve.

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

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

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

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

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

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

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

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

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

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

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

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

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

LET A$ = “123456789”

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

PRINT A$(2 + 4)

you would obtain “6”.

PRINT A$(2 TO 5)

produces “2345”,

LEN A$

gives “9” and

VAL A$

gives

1234567890.

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

LET A$ = STR$(9)

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

LET C$ = A$ + B$

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

DIM A$(9.5)

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

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

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

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

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

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

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

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

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

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

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

Conclusions

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

First published in Your Computer magazine, June/July 1981