Previous column ComputerAnswers    Next column ComputerAnswers

Logo

ComputerAnswers Column 7


COMPUTER ANSWERS JULY 1985



Copyright 1984-1989 Simon N Goodwin

GETTING STARTED

I am a complete novice interested in learning how a computer works. Unfortunately neither the 'computer experts' or the public libraries have been able to provide any adequate material. Either it is too brief or else too complicated. Could you suggest any books, magazines or organisations I could consult?
R.D Thomas, Otford, Kent.

A book like 'The Mighty Micro' by Christopher Evans (Coronet) should fire your imagination; it gives a good, enthuiastic beginners guide to computing. But you won't really see what all the fuss is about until you get the chance to use a micro yourself, preferably with someone around to help.

Go along to your local computer club or branch of ComputerTown UK and pick the brains of people there. You will soon find people willing to explain and demonstrate things; remember that they probably knew as little as you a few months before. New hobbies always seem complex at first, until the techniques fall into place in your mind. You can find the address of your local computer club from the Association of Computer Clubs - see the 'ACC NEWS' section later in this issue.

Buy a cheap computer (perhaps second hand) as soon as possible, since the best way to learn is from the machine. Most people prefer 'finding out' to 'learning'; this is especially true of computing. The Sinclair ZX81 and Spectrum are the best-documented machines for the beginner, but the model doesn't really matter if you've got someone to help you.



CHARACTER STUDY

I have read with most attention your interesting article on the Oberon Omni-Reader, in the April issue of PCW. I wonder whether you could advise me of a machine that can read printed or photocopied text (with no limitation of typefaces), and read dot-matrix printing? What exactly is the 'learn mode'? What interface software is available?
Jesus Maria Boccio, Brussels, Belgium

We've had quite a few letters on this subject. Sad though it is to say, we know of no reasonably-priced machine that can read 'any' text, regardless of size or style. In essence, the problem is that there's so much variation between typefaces that the differences between one style and the next outweigh the similarities between identical letters.

Computers find text which is skewed or patchy hard to read, while humans can compensate for such errors without much effort. There again, people often confuse characters which are mirror-images of one-another - 'b' and 'd', for instance - while computers see such distinctions as clear-cut.

Even the Omni-reader, which can only read one typeface at a time, makes an occasional mistake. There's little doubt that more general reading machines will be developed, but it will take some time. Sadly, much of the inovative work in this area is being done behind closed doors in government 'security centres', but it will no doubt escape into the public domain one day.

Generalised character recognition will certainly benefit from the availability of new microprocessors and algorithms (such as those used in speech and vision analysis), but it will be some years before the system you describe becomes available at a price comparable to that of a small computer. You should also bear in mind that such systems become less and less reliable as they are progressively made more flexible - a machine that can handle a mixture of four typefaces has more scope for error than one which confines itself to a single size and style.

A few people have written to ask if an equivalent device is available to read hand-written text. This is a real challenge for a computer system. As far as we know, this can't be done outside research laboratories (unless, of course, you have whiled away a few years as a Prisoner of War somewhere, learning to forge identity cards by writing exactly like a typewriter!). Experimental systems to read handwriting are costly and very unreliable at present, although simpler 'pattern matching' systems which can recognise signatures are creeping onto the market.

Even the most expensive character-readers (used by banks and very large businesses) are restricted in the character-sets which they can recognise. In fact the Omni-reader performs quite well in comparison with many such devices, which often require special 'OCR' character- sets - letter-shapes which have been re-designed so that their differences are accentuated. The oldest and tattiest of these shapes is called 'OCR A' - it is the blotchy, rectangular style of lettering used along the bottom of UK bank cheques.

Oberon hope to add a 'learn mode' to future models of the Omni-reader. This will allow you to 'teach' the machine a new typeface by presenting it with each symbol and telling the machine (probably via your computer keyboard) the corresponding character. This is likely to be a fairly intricate process, and it will take care to get results as good as those for the pre-programmed typefaces, but it should allow you to process, for example, documents printed in a specific dot-matrix typeface. At present we know of no price or delivery date for this feature.

The Omni-Reader uses a standard two-way RS-232 interface, which means that it behaves very much like a remote terminal or telephone modem. You'll need to find a cable to link the reader to your computer: the device has a standard '25 pin D plug'. Then almost any communications package should allow you to copy data from the device to a disk file on your computer. Oberon can supply specially- written software to link the reader with some common business computers. For further details you can 'phone them in the UK on 0442 3803.



A SLOW PROCESS

I have read several texts on the Z800 processor, which is said to be a direct upgrade from the Z80. I cannot find any information on its actual application: pin-out diagrams, instruction-set or schematics. Can you help?
Darren Brown, Keighley, West Yorkshire

The Z800 'super Z80' was announced by Zilog in 1981 - at about the time when their rivals Intel announced the IAPX range of plug-compatible processors, 'super' versions of the 8086 processor. The IAPX chips have since appeared, but the Z800 is nowhere to be seen. It promised the most exciting specification of all, with a clock speed of 17MHz - eight times faster than the standard Z80 of the day - and a plethora of useful extra instructions for memory- addressing and fast arithmetic.

At the time, I wrote to Zilog for further information, and heard nothing. More recent enquiries also drew a blank. Until Zilog come up with some more information I will continue to think that the Z800 is nothing more than a figment of a Marketing Manager's imagination.

A conventional NMOS processor could not run at 17 MHz unless there were major advances in semiconductor design. It is possible to increase processor throughput to some extent simply by running the same design at a higher speed - witness the Z80B, a 50 per cent faster version of the Z80A, and the 6809E, which is a fast 6809. But this trick won't work for ever - after a while a fundamental re-think is needed. A 17MHz Z80, with extra instructions, would have to be quite a different beast from the normal version. One of the biggest problems would be simply keeping such a chip supplied with current and cool air.

If the chip worked at all, it couldn't just be plugged into the Z80 socket - it would need a new clock signal. More importantly, it is unlikely that the memory and peripheral chips for a 4MHz Z80A would be able to work at 17MHz, unless they were exposed to the same radical re-design. So hardware compatibility is not likely to be great.

The Z80 is probably the most idiosyncratic processor ever produced - at least, I hope so. With its hundreds of ad hoc 'extra' instructions, bolted onto the specification of Intel's 8080, it would be extremely hard to design an efficient new chip which supported them all. Even assuming Zilog solve all these problems, it is usually about two years between the appearance of 'sample' chips and full availability. We haven't even seen sample Z800s yet.

You might consider getting in touch with Hitachi, since they recently announced a 'super Z80' chip rather like the Z800. The Hitachi HD64180 may have a boring name but the specification looks good. The chip supports all the Z80 instructions plus a few new ones including an eight-by- eight bit multiply. It is a low-power CMOS chip yet it runs fast, at 6MHz.

Unlike the Z80 the HD64180 uses internal 'pipelines' which means that it can manipulate memory at the same time as internal results are calculated. This is the technique used on the 6502 and 6809 to give high throughput at a low clock speed. It improves performance considerably. The Hitachi chip also has extra hardware, including built-in serial ports, timers and memory controllers.

The real test will come when samples are delivered, and people try to wire the HD64180 into a Z80 socket. Then we'll discover all the incompatibilities that didn't get mentioned on the data sheet...



TWO FACED PRINTER REQUIRED

I need a good and reliable daisy wheel printer which has a daisy wheel (or more than one) on each end of the shaft on which they move. Some other means of automatically changing daisy wheels would do. This is to enable the printer to be used to produce the master material for offset printing of scientific text in which it is a convention that the names of species are printed in italics.
J.H Atkinson, Ystrad Meurig, Dyfed.

A year ago Diablo made a printer capable of changing its own daisy wheels in mid-document - the Diablo ECS model. This is rather hard to obtain since the distributors refuse to lend demonstration models to dealers. In turn, the dealers are reluctant to buy expensive hardware on the off-chance that they will be able to sell it. The Byte Shop chain quote an approximate price of #2,300 for the ECS.

This is a very high price when you consider that reliable, good-quality daisy wheel printers such as the Juki 6300 retail for under #400. The Juki comes with the 'Courier' typeface, but you can use many other faces, including an italic one called 'Joan Italic 10/12'.

The snag of standard daisy wheel printers is that you have to change typefaces by hand. However, most of them support a 'shadow' or 'bold' print which can be used to obtain a contrasting face without a change of wheel. This could be used for species names if you decide that a diffential of #1,900 is a high price to pay to conform with convention.

Alternatively, if you're confident wielding a scalpel, you could print out the italic text in a separate run and glue words over the top of the main (non-italic) draft before printing. This is fiddly but it can give good results; any competent offset printing firm should be able to remove the shadows caused by the montage of individual words. You should use good-quality paper for the overlays; make sure that you use the same pitch (character spacing) when printing the italics and the body of the text.

Another possibility would be to use one of the new very high-resolution dot matrix printers. These 'dual mode' printers allow fast printing in normal dot matrix styles, or slower 'near letter quality' printing, where extra densely-packed dots are used, so that it is hard to tell that characters are made up from individual dots. They can support almost any typeface by assembling characters from dots, although special 'driver' software may be needed. In particular, look at 'NLQ driver' packages for the Epson range, the new Anadex printers, and printers designed for use with Apple's Macintosh system.

Finally, you might consider word-processing our document as usual and having it typeset automatically. Some firms can set type directly from popular micro-computer disks. The price is generally far less than that for traditional typesetting and the chance of typographic errors is reduced, since the information does not have to be re-typed by the operator of the typesetting machine. You specify changes of typeface with simple 'control sequences' in your document. Your printers should be able to put you in touch with such 'budget typesetting' firms.



OPERATING SYSTEMS EXPLAINED

I have used home micros for quite some time and recently came face to face with the 'business micro', an altogether different proposition. As part of my course at Teeside Polytechnic I am using an ACT Sirius, and I am becoming more and more confused about operating systems.

Because a program is either 'CP/M 86' or 'MSDOS' does it mean that it is useable on other systems which use either CP/M-86 or MSDOS? For instance, I use a Cobol compiler provided by the college, which happens to work with MSDOS. Can it be used on certain other MSDOS machines? I cannot imagine that manufacturers have made machines compatible to the extent that software is directly transportable, but get the feeling that I'm missing something.
John Masterman, Hemlington, Cleveland.

Most home computers are deliberately made incompatible with one another. This encourages purchasers of the hardware to buy peripherals and programs from the original manufacturer. It also means that makers can cut costs by using the latest design tricks in new machines.

This situation may seem mad from the point of view of anyone other than a marketing magnate. It persists because most home computer software sells in large volumes at low prices; there are always plenty of programmers willing and able to convert or re-write simple programs for such a mass audience.

Home computers are sold on the strength of features such as price, or graphic or sonic resolution; differing design requirements make the machines mutually incompatible. There's no real reason why micros should be made and sold in this way, since the differences have little real significance to users. However, it makes life easy for advertising agencies, who can then compare between computer models, rather than try to answer the more difficult question of why anone should want a computer in the first place.

The marketing situation is different where business computers are concerned. These machines cost more and generally sell in much smaller numbers. The programs are complex, hard to write and expensive, since most of them are only of use to a small proportion of computer owners; almost anyone can find a use for a Space Invaders game, but fewer people would be interested in a Cobol compiler or a hotel booking package.

It is vital that complex programs run on as many different types of computer as possible, both from the point of view of the manufacturer of a new machine, who can't afford to translate all the complex and esoteric software available for other machines, and the software house launching a new product, who would like it to run on as many different computers as possible, since it will only sell a small number of copies on each one.

This need for compatibility is greater than the need for specific features, since the average business user is less concerned with sound-effects and colour than with the availability of a package broadly suited to his or her needs. But the manufacturers can't produce identical machines, since that would make their products indistinguishable and thus impossible to advertise distinctively.

The solution is to build them differently but include a program which provides essential services in a standard way regardless of the hardware details. This program translates 'primitive requests', in a standard format, into actions giving fixed results regardless of the hardware being used. Primitive requests might do things like 'print a character', 'open a disk file' and so on. The program, or Operating System, translates these generalised requests into specific operations which vary according to the hardware being used.

Most of the operating system is just concerned with distinguishing between requests, so it can be identical on every machine. Individual sections within the operating system may differ, reflecting hardware differences between the computers. These are the only sections which must be re-written when a manufacturer launches a new machine; other programs should work since they will call the appropriate operating system routine rather than try to communicate directly with the hardware.

So long as software houses use these request-codes to perform machine-specific operations, their programs will run on any computer with the correct operating system. The snag is that the translation of these request-codes slows down the programs which use them. The request-codes must be standard for all computers, so they might not provide control over hardware which is not available on all machines. For example, CP/M does not have a generalised facility to 'read' the character at a given position on the display, so it is hard to write a 'screen editor' like those for many home computers.

These restrictions tempt programmers to communicate directly with the hardware, running the risk of making their software incompatible with some machines. Parts of the program which do not interact with specific hardware are written in machine-code. This code will run on any computer with the appropriate processor.

The first popular operating system was CP/M, which contained request codes to perform input and output in programs written for the Z80 or 8080 processors. CP/M was not originally written for sale - it was rudimentary and inefficient for many purposes (since the 'primitive' requests were not well thought-out) but it did work, and in the early days of computing that was enough.

CP/M-86 is a development of CP/M which provides standardised input and output facilities for programs written in machine code for the Intel 8086 and similar processors. These are used in most new business machines.

MSDOS is a competitor - a similar but incompatible program. It only caught on because IBM used it in their personal computer. Like CP/M, MSDOS is rudimentary but it works. It was based upon an experimental system called QDOS, standing for Quick and Dirty Operating System! Operating system requests are slow and inflexible compared with machine-specific routines. In business programming the advantage of compatibility between computer models more than outweighs these snags; it is more important that programs are widely available than that they run quickly or take full advantage of special hardware.


Link to the top of this document    Link to the main index
Previous column ComputerAnswers    Next column ComputerAnswers