Acorn Second Processors
Dave Daniels looks back a long tradition.
Microcomputers were new and exciting in the early 1980s. 1982 and 1983 saw a boom in the number of manufacturers and the range of machines available. A quick perusal of your local microcomputer emporium showed the rich and varied choice on offer, a dozen, perhaps twenty or more microcomputers with names such as 'Oric' and 'Newbrain' to tempt the wide-eyed geek. Most of the machines on offer were physically little bigger than the notebook computers of today, yet there was one whose sheer size set it aside from all the rest: the BBC Micro. It was certainly a large beast, and it was a serious machine with serious intentions. Its bulk hid a variety of sockets, one of which had the mysterious name 'Tube'. The 'Tube' was some hardware that enabled you to turn your BBC Micro into an entirely different computer. The idea was simple: you could expand the machine's capabilities by plugging in a second, cut-down, computer, a 'second processor' as it was called. The BBC Micro would act as the keyboard for the second processor, drive printers for it, read from and write to disks, in short carry out all the input and output functions and leave the second processor to concentrate on crunching numbers and manipulating data. In some regards the BBC Micro can be seen to have been designed for use with a second processor: it was a very capable machine in its own right, but turn everything up to maximum and there was precious little room for programs. Add a second processor and you had it all: there was plenty of room for programs and you could have disk drives, use memory-hungry screen modes such as mode 0 and so on without any worries.
An Acorn publicity shot of a BBC B with 2nd Processor
Acorn released four second processors, the first using a 6502 processor the same as the BBC Micro, another using a Z80, a third based around a 32016 processor and, at the end, one using the original ARM-1 processor. The 6502 and Z80 second processors were the most popular. They were launched in early 1984 costing £200 and £300 respectively. The 6502 one ran 50% faster than the BBC Micro and it gave programmers a huge amount of space for Basic programs, 44 kilobytes. The BBC Micro gave them 28 kilobytes at most and there was always a trade off between the amount of screen memory and program memory so 44 kilobytes at all times was most welcome. The Z80 second processor allowed people to run what was then the de-facto business microcomputer operating system, CP/M. The BBC Micro looked like a computer running CP/M; it was a computer running CP/M. (CP/M would look familiar to people today as the first version of MSDOS could be described as a 'reimplementation' of it. 'Copy' is another word used.) Acorn hoped that this would allow the BBC Micro to be taken seriously as a business computer. There were plenty of commercial applications available for CP/M such as 'Wordstar', which was a word processor, and 'dBase', a database system. There was a large amount of public domain software available for CP/M as well. The problem was that CP/M required disk drives and at the time disk drives for the BBC Micro cost hundreds of pounds each, typically in the £200 to £400 range depending on size (forty or eighty track, single or double sided.
The other two second processors were more rare. The 32016 second processor was also launched around this time.
A 32016 second processor unit
The ARM second processor came out in 1986 and gave people the first look at the new ARM chip.
An ARM 1 second processor board (image copyright Robert Sprowson)
Acorn were not the only company to produce second processors: Torch produced their own Z80-based one, and there were others such as the fabled 68000-based one. The importance of the second processor cannot be underestimated. Not only were there publicly available second processors, but Acorn had their own internal ones, and these reputedly led to Acorn deciding to develop the ARM.
In late 1988, Acorn User published a three-part history of Acorn and in that it said that the Tube and second processors allowed Acorn to evaluate various types of microprocessor available at the time (which was around 1983 or '84). Their conclusion was that it was not worth switching to any of them as the 6502 used in the BBC Micro was better than any of them. As a result of rejecting all the alternative processors available then, Acorn decided to design their own processor, the ARM. .
In early 1986, Acorn released the successor to the BBC Micro, the BBC Master. From the point of view of this story, the BBC Master had two Tube interfaces in it: there was an internal one in addition to the external one of the BBC Micro. This meant that you could have two second processor attached to one BBC Master, one fitted internally and the other in a separate case.
Acorn BBC Master
Only two second processors were released that made use of the internal connection, a very fast 6502 one and the other using a 80186 that turned the BBC Master into a 'PC compatible' machine. The operating system that came with it was called 'Dos Plus'. This was written by a company called Digital Research, who were the developers of the original de-facto standard microcomputer operating system, CP/M. Dos Plus was a MSDOS lookalike. PCs were beginning to become popular then, not because of their technical excellence or capabilities but because they were brought out by what was then the largest computer company in the world, IBM. IBM truly dominated the world of IT back then and this gave people in business the confidence to use IBM PCs and the so-called 'compatibles' or IBM PC-lookalikes produced by other companies. Acorn ventured into this with the Master 512, their 80186 internal second processor. It was very good and ran most legally written software. Here, 'legally' does not mean 'not bought from some dodgy bloke down the pub' but written to use the officially documented software interfaces. The problem with IBM PC was its wretched performance and software developers routinely exploited short cuts to speed up their programs.
This sort of program was bound to cause problems. The 80186 in the Master 512 was one of the quicker second processors and ran at a clock speed of 10Mhz, which was quite respectable for the time. The Master 512 was not a great success as it was very expensive (around £400) but Acorn halved the price which made it a much more attractive proposition.
One piece of software supplied with the Master 512 was a Z80 emulator. This ran a CP/M-like operating system. This meant that you could have a BBC Master pretending to be an IBM compatible PC pretending to be a Z80 CP/M computer... The Z80 emulator was not a supported Acorn product, but you could send comments and bug reports to 'The Inmate, Nacro Computers'.
1987 saw the launch of the Archimedes. It did not have a Tube interface although one was available as an optional extra on a podule. One of the early pieces of software available for the Archimedes from Acorn was a PC emulator. It was very good but slow on an Archimedes. It came with MSDOS although it was capable of running Windows version 3.0 (albeit it at snail's pace). Acorn developed several versions of it over the next few years. It ran well on the RiscPC but it was one of the programs that did not work on a StrongARM processor due to the changes in how that processor worked. It is a pity in some ways: the performance jump from the ARM 600s and 700s to the StrongARM was astonishing and far greater than simply looking at the numbers would suggest. It would have been interesting to see how fast the PC emulator ran. However, by this time Acorn had had alternatives for the PC emulator available for some time, firstly in the form of podules with PC processors on them and later the PC card for the RiscPC.
The PC emulator was good. It ran various flavours of DOS and could cope with Windows 3.0 but nothing later than that. The reason for this was that it emulated an early PC processor, the 80186. This was a sixteen-bit processor. Intel moved to thirty two bits with the 80386 and later processors, and a 80386 was required to run Windows 3.1 or later. It is possible to emulate a 80386 in software but the task is far more complex. But, why emulate when you can use the real hardware?
In 1992, Aleph One released their PC podule, a card with an Intel 80386 processor and a megabyte of memory on it. It came with DRDOS, Digital Research's successor to DOS Plus. The podule allowed an Archimedes or A5000 to run DOS or Windows. The software Aleph One developed to control the podule later formed the basis of the software for the RiscPC PC card.
The RiscPC was launched by Acorn in 1994. One of the selling points was its slot for a second processor... In the end, only two processors were released, the PC card from Acorn and Aleph One and the Hydra board from Simtec. This allowed you to have multiple ARM processors in your RiscPC but which could really only be used by an operating system that supported multiple processors. Unfortunately RISC OS had no support for this and as far as is known, the only operating system that made use of the Hydra was NetBSD. The PC card, on the other hand, was much more successful. .
486 PC card for a RiscPC
The PC card came out in 1995 and the original version had a 33Mhz 80486-type processor on it. The card itself consists of the processor and a custom integrated circuit called the 'Gemini' chip that allows it to share the RiscPC's memory with the ARM processor. There is a RISC OS application called !PC that provides access to the RiscPC's keyboard from the PC card, the printer and serial ports, reading from and writing to disks... Does this sound familiar? However, the PC card is much more sophisticated than the BBC Micro second processors. There is software running on the PC card that effectively adds support for the card to the operating software running on the PC card in the form of 'drivers'. These drivers talk to the RISC OS side of !PC to make it all run faster and more smoothly. The 'operating software' referred to here is Windows or MSDOS. The cards share everything with RISC OS: disks, CDROM, Ethernet port and serial and parallel ports. The PC card display can either be a window on the RISC OS desktop or it can work full screen, but with RISC OS still in charge. It is also possible for the PC card to take over the screen completely and it uses this to support DirectX in Windows.
The PC card can run a variety of PC operating systems from MSDOS to DRDOS to various flavours of Windows up to Windows 98. It does not support Windows NT or any of the Unix-like operating systems such as Linux. It turns a Risc PC into a fully-functional PC. Windows 95, for example, runs well on it. It feels a bit sluggish compared to almost any PC today but it is more than usable. It is superb when you run DOS instead of Windows and is useful for running old DOS-based programs such as Flight Simulator 4. One advantage of the X86 processors on the cards is that they had floating point hardware. They run anything that uses floating point numbers extensively far faster than any RISC OS versions of the same program. This is a small point but it is useful to have this available.
A second revision of the card was released later that had a much faster processor that ran at 66Mhz. There were also cards with processors running at 100 Mhz and finally 133 Mhz. Aleph One continued to develop their software for driving and controlling the PC Card, releasing version 3 in 1999. They carried on working on it up to about the year 2000. The last official release was 3.06, which included support for Castle's Kinetic RiscPC cards. Aleph One were generous enough to make the software 'open source' after this. The software continued to work with versions of RISC OS up to RISC OS 4.39 but changes in RISC OS 6 caused it to start failing. The main cause of the problem was the substantial changes to the way RISC OS 6 drives the screen. Fortunately, it has been possible to modify !PC to accommodate the RISC OS 6 changes and the PC card is once again usable. The changes have been made by a third party and not by either Aleph One or RISCOS ltd and neither of these companies support them. The door is not shut completely on making enhancements to !PC but nothing is planned at present.
An updated version of the !PC application is included in the software directory of this issue of Foundation RISCWorld.
The latest second processor
You might well think that the days of the Acorn second processor are now over and in many ways they are, but a good idea never quite dies. If you take a look at www.sprow.co.uk/bbc/armcopro.htm you will find that Robert Sprowson has produced an Arm 7 second processor unit for the BBC range of machines. The Arm7 is similar to the chip used in the current range of A9 machines. The processor is an ARM7TDMI running at 64Mhz, that's an amazing 16 times faster than the 6502 in the BBC itself. In terms of processing power the ARM7 co-processor can run at 200 times the speed of the 6502 processor.
ARM 7 second processor (image copyright Robert Sprowson)
The ARM7 co-processor for the BBC really is a marvel, even more amazing is that you can actually buy one for a mere £87.50 including UK postage and packing. Whilst you won't be able to run RISC OS, or RISC OS applications, if you are still using a BBC machine and have software written in BBC BASIC then then ARM7 second processor could be a very useful purchase.
From the launch of the BBC Micro, Acorn always offered some form of second processor for their machines, be it a external box that plugged into the Tube interface of the BBC or, in its final form, a extra processor for the RiscPC that sharing the machine's resources with the ARM processor. As has been seen, they played a major role in the decision to create the ARM in the middle years of the 1980s. Other manufacturers did release second processors, for example, Commodore had their 8086 second processor for the Amiga (Sidecar), but no one had them as tightly woven into the corporate DNA as much as Acorn. Second processors are still useful now and they are the sort of thing that make Acorn computers so interesting today. It is likely that the last chapter of their story has now been written, but the ARM7 second processor is a recent development, Iyonix machines have podule interfaces, early PC cards were podules, Aleph One open sourced their PC code. So perhaps the story isn't over...