Unique for microcomputers of the time, a number of different second processor (co-processor or copro for short) units could be connected to the BBC microcomputer (including the BBC Master) as to increase its performance so that programs ran faster, could handle more text, make better use of the high resolution graphics, grant compatibility with software designed for other computers, and so on. The BBC micro had a specialised interface for second processors known as the 'Tube' interface but the main Tube hardware (an ULA) was in the second processor unit, lowering the cost of the BBC Micro somewhat.
With a second processor connected, the CPU in the BBC micro became the 'host' and handled just the I/O (screen, keyboard, disk, etc.) while the second processor, the 'parasite', actually ran the main program. The second processor and BBC Micro communicate with each other over the Tube connection by sending messages to one another and this is done through a number of memory registers.
Whereas the original BBC Micro models had a single Tube interface for connecting an external second processor, the BBC Master also had an internal Tube connection into which a second processor board could be installed, allowing the user to switch between an internal and external second processor with a single command.
Please read the following sections to learn further about the various types of second processor for the BBC Micro and Master computers.
Unless otherwise stated the screenshots on this page were taken using an Elgato capture card using the BBC Micro's RGB video connection upscaled. Some of the images are available to download from the bottom of the page for better viewing.
You can email me at james.boshikoopa@gmail.com
The first second processor add-on for the BBC Micro was known as the '6502 Second Processor' and was available to buy in April 1984 for £199, which was about half the cost of a BBC Micro. The second processor is compatible with the BBC Model B and it is also compatible with the BBC Master. The 6502 second processor features a 3MHz 6502B (1MHZ faster than the BBC Micro's built-in CPU) and 64KB of integrated memory (same amount of RAM that the BBC Model B+ had as main memory). The unit is large, as deep as the BBC Micro itself, and earned it the nickname 'cheese wedge' due to its resemblance to a slice of cheese as well as, no doubt, its colour.
When the BBC Micro boots with a second processor connected and powered on the main language interpreter is copied to the second processor's memory through the Tube interface. Although the language program is transferred to the second processor's memory, taking up 16KB of memory, that still leaves 48KB of memory for programs.
The BBC Micro's main memory (32KB for model B) can now be used purely for I/O and the second processor's RAM for the program and its data to be run and this works with both the standard BASIC and HIBASIC. Because the BBC Micro's CPU is handling I/O, which includes responding to interrupts, programs can be executed much faster on the second processor, as much as twice as fast, or at least it was claimed - further on I give the results of some simple tests I did. Even standard BASIC programs, which have no awareness of a connected second processor will run faster and the added RAM can be used by newly written programs.
For power, the 6502 second processor runs off its own mains derived power supply (fortunately not the same as the one in the BBC micro so should be more reliable) and for communication it connects to the BBC Micro's Tube connector using a 40-way short ribbon cable. The connector, however, is not keyed so it's possible to connect the wrong way (although would require some effort) so make sure the triangle on the second processor connector matches the triangle indicator on the BBC Micro's underside.
Unlike the BBC Master which supports second processors without any upgrades, to use a second processor on a BBC model B/B+ the computer will need to have the Acorn DNFS ROM (or other, such as Watford DDFS 1.54T) fitted since it contains the required Tube software (the second processor was usually supplied with the required ROM). With the second processor connected you can power on the second processor and then the BBC Micro and you should be greeted with a message stating 'Acorn TUBE 6502 64K'. If you do not get such a message, power off the BBC Micro and second processor, double-check you've inserted the Tube connector the right way and all the way in and try power on again. You may have to troubleshoot further if the second processor still isn't detected such as by trying on a second BBC Micro, if you have one. It's a good idea also to inspect the BBC Micro Tube connector pins to see if any are bent or have become dirty, and clean as necessary.
Instead of powering on the second processor first you can turn it on after the BBC Micro is powered on and then press CTRL+BREAK to reset the computer which should then display the second processor message previously mentioned. If at any time you want to stop using the second processor and use the BBC Micro as 'standalone' then simply switch the second processor off and press CTRL+BREAK.
Originally supplied with the second processor is the HIBASIC ROM, also known as BASIC 3, which can only run on the second processor and has a number of bug fixes compared to the previous version and supports both COLOR and COLOUR keywords to select text/background colour to use (the BBC Micro was released in the US and its BASIC was similar to HIBASIC, support US spelling).
When using the HIBASIC ROM with the second processor you get over 45KB of memory for BASIC programs: PRINT HIMEM - TOP reports 45054. If you want to have both the BASIC V2 and HIBASIC ROMs fitted you will need to install some kind of switch to either enable the BASIC V2 ROM or the HIBASIC ROM and DNFS ROM since having both versions of BASIC installed will cause the computer to boot but freeze with a continuous bleep as it needs the second processor. Fortunately, my BBC Micro was already fitted with a switch to choose between the DNFS and DFS ROMs so with some ROMs switched around I can now switch between the two versions of BASIC. Note that even with HIBASIC and DNFS ROMs enabled the second processor must be switched on before turning on the BBC Micro otherwise it will freeze at boot with a continuous bleep.
Perhaps due to its high cost the second processor did not sell too well and not much commercial software was released that could take advantage of the second processor but examples of software that supported the second processor include an enhanced version of Elite, Econet fileserver (level 2 and 3) and a special version of View called Hi-View.
It's possible for software to detect the second processor's presence and adapt as to use the extra memory. This can be done with using OSBYTE call &EA and by setting Y=&FF, X=0. If the result in X is 0 there is no Tube device, if &FF then the Tube system is present.
To be able to run software on the second processor that was originally written without the second processor it must not access memory in an absolute, hard coded way and instead make use of the built-in O/S routines (OSBYTE, OSFILE, etc.).
Please see this link for the 6502 second processor manual:
http://chrisacorns.computinghistory.org.uk/docs/Acorn/Manuals/Acorn_65022ndprocUG.pdf
I did a number of very simple tests to see how much faster the BBC Micro is with a 6502 second processor connected and the results are interesting. Firstly, I wrote and ran the following program in BASIC:
FOR X=0 TO 10000:NEXT
When run on a BBC Micro B and the second processor turned off the program took roughly 6 seconds to complete and with the second processor turned on it took 4 seconds.
For the next test I used the same program but just made the loop run ten times longer:
FOR X=0 TO 100000:NEXT
The results are that with the second processor turned off the program lasted around 52 secs and with the second processor turned on the program took 38 seconds. So with both tests using the second processor did not result in the simple programs running twice as fast; this makes sense as the second processor is only 1MHz faster than the host CPU.
After doing the tests I came across a site that makes use of similar tests and it's a very useful read for speed comparisons with the second processor:
http://beebmaster.co.uk/BeebHelp/6502Test.html
In particular, it shows that graphics operations won't run any faster using the second processor since the (slower) host CPU still has to run them.
The 65C102 second processor was designed to be installed internally in a BBC Master (which transformed it into a Master Turbo), or used externally with a Master or BBC Model B/B+ (fitted with Acorn DNFS ROM) via a co-pro adapter, which was how I obtained mine from eBay. Powering the second processor board is a 65C102 (or 65SC102) running at 4MHz, along with 64KB of RAM, greatly enhancing a BBC Micro's performance when used with compatible software.
As mentioned, I got the 65C102 second processor and co-pro adapter from eBay, which cost me just over £121 ($160), which is good value considering I've seen multiple times just the second processor board without a co-pro adapter sell for £150 ($198). The kit I bought was sold without the power cord and as untested, and according to the seller: when plugged in there was a humming noise from inside but the switch/LED on the front did not appear to work. Fortunately, as we shall see later, both the 65C102 board and co-pro adapter are working, even with the damage the case suffered from the seller not using enough packaging.
The BBC Master 65C102 Co-Processor User Guide appears to be the manual that came with the second processor, a scanned copy can be found at:
https://archive.org/details/bbc-master-65C102-co-processor-user-guide/
The manual is brief but has some useful information including how to install and configure, along with the memory layout.
The 65C102 second processor board that I bought with the co-pro adapter was made by Acorn, and is issue 2, and is a double-sided PCB. It features a variety of chips, including a R65C102 CPU and a 2732A ROM (labelled as 'ACORN 65C102 BOOT 2201, 243-0'2), which are both socketed. There are also various TTL logic ICs, and TMS4164-12 (64KB x 1-bit DRAM, 120ns) x8, and AMI 2201,266 (Tube interface chip) x1. Although there is a 16MHz crystal, the 65C102 expects a x4 faster clock input so the processor runs at 'only' 4MHz.
Note that there is some variation of the components used even for the same issue. For example, a Ferranti ULA IC was used instead of the AMI chip on (it would appear) earlier issue 2 boards. Some boards feature a high power resistor (R1), which is supposedly not required for the AMI chip, however, I have seen online boards with R1 fitted even though they use an AMI interface chip.
There is a label stuck on the PCB which reads ‘01-ADC06-1003499’, there is also markings printed on the PCB which reads '6502, CO-PROCESSOR ISS 2', ‘0243,030 S1.ISS 2’, and ‘8709’. The latter is likely the date - 1987 - which makes sense considering the chip dates of ‘86 and ‘87.
I first tested the 65C102 board only by putting it into my BBC Master. Due to there being no retaining screws, the board had dislodged itself during the journey and bent the pins, so that added difficulty in putting it into the Master. It will fit in only one way round, the 65C102 board’s PL2 plugs into the Master’s SK2, and PL1 into SK1 - the 65C102 will be near the Master's speaker.
When I powered on the Master, with the Tube enabled and set to use internal Tube, it displayed:
Acorn TUBE 65C102 Co-Processor
at the top of the screen, which was a good sign.
I did some simple tests in standard ROM BASIC to compare the performance differences when the second processor is enabled/disabled. I only used the stopwatch on my phone to time how long each program took to run, so not the most accurate approach but the results are still telling.
To enable the second processor I used:
*CONFIGURE TUBE
CTRL+BREAK
To disable second processor I used:
*CONFIGURE NOTUBE
CTRL+BREAK
Here are the results:
Second processor disabled:
10 FOR I=1TO10000:NEXT 4.90s
10 FOR I=1TO100000:NEXT 46.22s
Second processor enabled:
10 FOR I=1TO10000:NEXT 2.69s
10 FOR I=1TO100000:NEXT 22.80s
We see that when the second processor is enabled, BASIC is about twice as fast.
I also checked PAGE and HIMEM with the second processor enabled/disabled:
Second processor disabled:
PAGE 4352 (&1100)
HIMEM 12288 (&3000)
Second processor enabled:
PAGE 2048 (&800)
HIMEM 32768 (&8000)
According to the 65C102 user guide, PAGE should be &E00 (3584) when the second processor is disabled, however, we have to remember that the values will be different depending on the screen mode. Nonetheless, we can see that with standard BASIC and the second processor enabled, much more RAM is available for BASIC programs (HIMEM - PAGE).
We can get even more RAM for our BASIC programs by using HIBASIC, which is the same as ROM BASIC except that HIBASIC is loaded higher up in the second processor's memory so that there is more continuous memory for BASIC.
To load HIBASIC, insert the support disk (I used Gotek), you can find a copy at:
https://acorn.huininga.nl/pub/disks/originals/Acorn/Master%20Turbo%20Support%20Disc/
Use:
*HIBASIC
Which for me took about five seconds to load.
With the second processor enabled, PAGE was still at 2048 (&800) but HIMEM was set to 47104 (&B800), giving us even more memory for BASIC programs.
The co-pro adapter appears to be a generic beige metal case with no branding, and has a stuck-on printed label on the front that reads ‘ACORN Computers 6502 co-processor’, giving a very amateur feel. The same seller was also selling an 80186 second processor for the BBC Micro in the same type of case.
The front panel, which is silver and has the label on it, has a toggle switch (to enable/disable the second processor), and a red LED (to indicate if the second processor is enabled). There are round holes either side likely for screws to hold the panel in but they weren’t included. The panel has a long piece of horizontally placed metal acting as a handle, the panel can be pulled out to access the internals.
The rear panel is brown, is held in with two screws, and is home to a 3-pin IEC fused mains power socket, and the Tube ribbon interface cable exits out of the back through a rectangular hole , terminating in a 20x2-pin IDC female connector, which plugs into the BBC Micro’s Tube connector. Unfortunately the seller didn’t pack the item well enough and the case was damaged in the rear corners.
On the underside there is a rubber foot in each corner, and four screws hold the two pieces of the case together.
As mentioned, the front panel can be pulled out, revealing the large circuit board, which the front panel is attached to with four screws and brackets, and the second processor board plugs into. The case looks like it can take multiple circuit boards and in different positions, depending on where the rails are placed. A mains cable attaches to the large board via screw terminals, the other end of the cable is attached to the mains power socket. What's interesting is that the internal mains cable uses brown and blue wires rather than the older red and black, the new colours didn't start to become standard until 2004 in the UK. The 80186 second processor sold by the same seller with the same looking co-pro adapter also uses brown and blue wires for the internal cable.
Note: the co-pro adapter isn't earthed despite using a 3-way power connector, although the case including the front and back panels aren't conductive the rear screws are.
The Tube interface cable attaches to the large board and can be removed since it's attached to a mating board mounted connector.
Another thing that adds to the amateur vibe is that the large board has bare copper tracks on both sides with no insulation, so likely the copper was etched from a double-sided copper board. There are blotches of copper on the large board top and underside where the copper hasn't successfully been removed. What appears to be the manufacturer of the copper board is printed on it: ‘WVS’, I think, it's hard to tell for sure.
There is a basic linear power supply on the large board - mains fuse in a holder, transformer (which looks like it can take a 120 or 240V input depending how its wired but of course it's wired for 240V), bridge rectifier, 78S05 voltage regulator with heat sink. There are also a couple of resistors, three capacitors (including a large electrolytic), Zener diode, and a 2N3704 transistor. Also on the board are two female interface connectors, brown one 10-way, black 12-way, which the actual second processor board is plugged into - these through hole connectors have been surface mounted and glued down.
Normally hidden by the plug-in second processor board, the large board also has four ICs - 74LS245 (octal bus transceivers) x3, and 74LS32 (quad 2-Input OR gate) x1. Traditional chip sockets haven't been used, instead individual socket-like pins. Only one of the chips appears to have a date, which is ‘83. Each chip has its own decoupling cap.
Lastly, there is a limiting resistor for the front panel LED, and wires connecting the switch and LED to the large board.
Most of the components, or at least the ones that have brand identification, including the Tube interface cable and mating interface board connector, were from RS Components (UK electronics company), and I would guess the case was also from RS.
Without connecting the co-pro adapter to a BBC Micro and without the second processor board plugged in I first did some basic checks to see if the adapter was working, which required access to the large board while it was powered.
Please do not work with mains powered equipment whether powered or not, unless you have suitable experience and know what you are doing.
With mains applied I measured 21V across the large electrolytic capacitor, 4.97V at the output of the 78S05 voltage regulator to GND, and no power across any of the four ICs; it looks like they get power from the BBC micro, as does the LED.
Confident that the co-pro adapter was likely working, I installed the second processor board into the adapter (with the power removed, of course), the female interface connectors aren't marked on the large board, take note. PL2 of the second processor board plugs into the black connector on the co-pro adapter large board, PL1 plugs into the brown connector, the R65C102 toward the Tube interface cable. This means two pins of the second processor board (pins 11 and 12 of PL1) don’t go into brown connector - these pins don’t have any electrical connection anyway but why they couldn't have just used two 12-way connectors I don't know. I found that the pins of the 2nd processor board go into the brown connector further than those that go into the black connector.
I tested on my BBC Master (you can of course use an original BBC Micro model) by powering off and plugging the co-pro adapter’s Tube interface cable into the Master’s Tube connector, the ribbon’s red stripe on the same side as the Master’s pin 1 marking on the computer. I powered on the co-pro adapter first by plugging it into the mains and put the switch on the front panel in the up position, and then switched on the Master.
I enabled the external second processor using:
*CONFIGURE EXTUBE
Don't forget, if you need to enable the Tube use:
*CONFIGURE TUBE
CTRL+BREAK will then kick in the second processor. I saw at the top of the screen:
Acorn TUBE 65C102 Co-Processor
Exactly as when using second processor internally, so the co-pro adapter was clearly working. Note that the co-pro adapter’s LED was lit.
Not surprisingly, PAGE and HIMEM gave the same results as when the second processor was installed internally and enabled, and the simple BASIC tests ran in about the same amount of time.
The second processor can of course be disabled with:
*CONFIGURE NOTUBE
CTRL+BREAK
The second processor when used in the co-pro adapter can be disabled when the front panel switch is in the down position (the LED will be off) - probably best to disable the Tube through a suitable command before flipping the switch even if the switch only cuts off communication between the co-pro adapter and the BBC Micro. Note that the LED on the co-pro adapter will only be lit if the adapter is enabled and the computer is powered on, the LED will be lit even if a connected BBC Master is set to use its Internal tube.
If you are looking to buy a 65C102 second processor, avoid those that have a Ferranti ULA IC, as they tend to be unreliable.
The 80186 second processor connected either internally or externally to a standard BBC Master 128 with a mouse and four software disks and formed what was known as the BBC Master 512. The intention was that it could be used both as a BBC computer (by having the internal tube turned off) and as an 8088/8086 PC compatible (by having the internal tube turned on) with the equivalent of CGA graphics emulated in software and equivalent of MS-DOS V2, in the form of DOS Plus. The 80186 second processor can also be used externally with a BBC B/B+ by using an adapter box provided that the micro is fitted with Tube software and a WD1770 disk controller with ADFS support in order to load the required software.
The Intel 80186 is a 16-bit CPU mostly compatible with the 8086 and on the second processor board it is clocked at 10 MHz. The 80186 second processor card has 512 KB on-board memory (forming 8 segments from the CPU's perspective), but up to 1MB in theory could be accessible with an appropriate add-on memory board, as required by software that needed the extra memory. You can see an 80186 second processor board with what looks to be an expansion RAM board fitted:
https://stardot.org.uk/forums/download/file.php?id=61912&mode=view
Interestingly, there are two ROMs on the expansion board which possibly replace the two ROMs that otherwise would be on the main 80186 board.
Costing £400 when it was first released, similar price to a BBC Micro, the 80186 second processor bundle was certainly an expensive purchase and considering that ideally two 80-track floppy drives were needed, that would have set you back even more. However, the BBC Master 512 gave better performance than a typical PC at the time and it was cheaper and had slightly better screen resolution. However, an issue with the 80186 second processor was that only PC software written to not directly access the hardware of a PC can run on DOS Plus but often PC programmers would try to get as close as possible to the hardware, which ruins compatibility with the 80186 second processor board.
The bundle disks contained software from Digital Research including DOS Plus which provided an MS-DOS type environment and allows a wide range of disk formats to be usable - 800K and 640K Acorn DOS Plus, MS-DOS, CP/M and RAM disc - with utilities to convert between the various formats. The other software in the bundle is the GEM (Graphics Environment Manager) operating system which made use of a two-button mouse that plugged into the user port and the business oriented operating system CP/M-86 which included a Z80 emulator (unfortunately it ran a lot slower than the equivalent real world Z80).
The 80186 second processor board contains its own software which as well as allowing DOS Plus or other software to be loaded it also has an 80186 monitor which can be accessed by pressing the break key. You will then get a star prompt that allows you to type BBC MOS commands as well as some monitor specific commands.
For further reading on the BBC Master 512:
http://www.cowsarenotpurple.co.uk/bbccomputer/master512/index.html
For software to be used with the BBC Master 512:
http://www.cowsarenotpurple.co.uk/bbccomputer/master512/software.html
I bought from eBay an external 80186 second processor unit made by Watford Electronics for £80 which is labelled simply as 'CO PRO ADAPTOR' so it's possible the enclosure is generic and can be used with any compatible second processor.
On this site you can see the co-pro adapter with an 80186 second processor board installed:
https://chrisacorns.computinghistory.org.uk/8bit_Upgrades/WE_CoProAdaptor.html
The unit is metal (and thus heavy) and measures approx. 200 x 220 x 65 mm (w x l x h), which is smaller than the 'cheese wedge' second processors. While being metal means the adapter box can take a lot more mistreatment, unfortunately mine has rusted and looking online the rusting seems common (and can be worse that what my one has).
Coming out of the back of the unit is the mains cable but the Tube interface cable can be tucked inside (the cable can be passed through a window on one side of the unit when the second processor is in use). The top of the unit is on a hinge so you can easily lift it up to access anything inside, which is very neat (but dangerous as mains voltages are involved). On the front is a power switch (which on mine needs replacing) and a red power LED.
Inside we find there are three PCBs, one of which is a fairly small power supply board which takes in the mains, rectifies and smooths it so it looks to be a very simple linear power supply. I would strongly recommend if you get one of these to service or have someone service the power supply by at least replacing the smoothing capacitor.
The second processor board is on top and looks to have been made by Acorn since the PCB is marked as 'Acorn computers 80186'; on the underside it's specified as 'iss 1' (issue 1). You can remove the board and install it internally in a BBC Master, which would be a good way to test it first, as I did. The chips of interest on the second processor board are:
80186-10 CPU by AMD. Note: the '1978'marked on the chip actually refers to the 8086 release date. Looking at photos I found online the printed text and logo on the 80186 is rotated 90 degrees compared to other photos which could be confusing should someone need to install the CPU in the socket (which is why you must always go by the pin 1 marker on the chip). Note that the 80186 does get quite hot to the touch even when it's idle.
ACORN AMI 2201.266 Tube interface chip.
x2 D2764A 8KB UV ROMs for software.
x16 HM50257 262,144 x 1 DRAM.
The third board, the biggest and the one at the bottom, has a 78S05 2A +5V voltage regulator, glue logic, the two headers for the second processor board and the tube interface connector; the power switch and power light also connect to the bottom board.
I installed the 80186 second processor board into my BBC Master, making sure that the pins protruding from the bottom of the board went in as far as possible into the two headers on the Master's motherboard. For reference I looked at some photos online which show the ROMs on the second processor PCB are toward the rear of the Master and I noticed a few interesting things about the 80186 CPU.
When I powered on my BBC Master I was greeted with (as seen in the following screenshot):
Acorn TUBE 80186 512K
Acorn 1770 DFS
BASIC
As soon as the Master is powered on with the 80186 active it will attempt to load software from a connected drive (drive 0) and you will see a flashing cursor while trying to load. If there is an issue loading the software or you just don't have the software or don't even have a disk drive connected, eventually you will get this error (or similar):
Disc error 50 at :0/000000
And you will be dropped into a star prompt, but if you find it hangs indefinitely then you'll need to hook up a disk drive even without a disc inserted.
The star prompt is helpful as you can issue O/S commands (the 'star' commands, but there is no need to type the star before the command). If you find the 80186 isn't detected then first make sure the tube is enabled using:
*CONFIGURE TUBE
You can also issue either *CONFIGURE INTUBE to set preference for the internal tube or *CONFIGURE EXTUBE for preference for external tube, but that only really matters if you have both an internal and external second processor connected. Press either press CTRL + BREAK or power off and on again and hopefully the 80186 will be detected. If not, you can check that the board is getting power by very carefully measuring the voltage on one of the 74 logic chips, which should be close to 5V. Even if you do get a suitable reading but the 80186 isn't detected, power off the machine, re-insert the second processor card and try powering on again.
If you are at the star prompt and want to disable the second processor you can use:
CONFIGURE NOTUBE
And then press CTRL + BREAK or power off and on again.
As mentioned, if the software isn't loaded as required by the 80186 you will end up with a star prompt, allowing us to issue commands. For e.g., you can type HELP and see what ROMs are installed - in the next image you can see what was returned for HELP when I ran it:
Note: the 'Not 80186 code' seen at the top is what the computer prints if you type BASIC and press return - likely it knows from the BASIC ROM header that it's not 80186 code.
The 80186 second processor provides a quite simple 'monitor' program called MON (you can see it listed when you use *HELP) which doesn't need running, you just need to use the provided commands, which can be listed with HELP MON. So we can use 'd', for example, which if typed on its own followed by return dumps the memory from address 0 in both hex and ASCII form as 16 bytes x 9 lines:
Since the 80186 accesses memory using the segment: offset approach that is how addresses will be listed and how you will need to specify addresses. So we can use:
d 0000: 1000
to dump memory from address 0000: 1000.
Or for a specified range of memory you can use:
d 0000: 1000 1010
to list the memory contents from 0000: 1000 to 0000: 1010.
The monitor has a few other commands but unfortunately it's lacking an assembler/disassembler.
Back to loading software into the 80186 second processor board, in particular DOS Plus, I intended to use my Gotek floppy drive emulator by loading the software I found at:
http://www.cowsarenotpurple.co.uk/bbccomputer/master512/method1.html
In the section 'In detail', click 'Download the package' to download the software which then needs to be unzipped. Since I was using a Gotek I just copied the image files to a flash drive to use in the Gotek.
If you find that the .IMG file doesn't boot then try the .ADL file. When I originally got DOS Plus to load I didn't take screenshots, but when I returned and tried again I couldn't get it to load using the .IMG file and had to use .ADL but I used a download from a different site so the DOS Plus version is 1.2 rather than 2.1.
I believe this was the site I got the download from:
https://www.g7jjf.com/512_disc_images.htm
The boot disc link is called ' BBC Master 512 Disc 1 - Dos Plus Boot Disc (268KB)'. As well as the boot disc, there is GEM Applications, GEM data, and Miscellaneous.
Making sure I had the Gotek set to use the disk 1 (boot) image file, I booted the Master and was pleased to see the DOS Plus boot strap loader shortly appear (after about 10 seconds) :
Which is followed by this screen where it sits for a short while before the A> prompt appears:
In total it took about 40 seconds from boot for the Master to load DOS Plus and reach the A> prompt, which should be familiar to people who have used MS-DOS.
DOS Plus commands can be entered in any case and are executed by typing the command and pressing return. To get a list of available commands use HELP:
After executing HELP, type the name of a command and press return to get help on the command, or just press return to exit HELP.
You may noticed that there are some special commands unique to DOS Plus for the BBC Master:
NOTUBE: turns off the tube and returns you to native mode (as if no second processor active). Note that you will have to use *CONFIGURE TUBE and then CTRL+BREAK or power off/on to get the 80186 to run again.
PCSCREEN: changes to one of the eight different screen modes, such as 40x25 text, 80x25 text, or 520x200 graphics. Example:
PCSCREEN 3
Changes to screen mode 3.
Yes, the system seems basic and a little slow, as it has to load the commands from floppy (the Gotek in my case) but we are essentially running PC programs on a BBC Micro, so it's still quite impressive.
You may not be surprised that DIR list files and subdirectories, it's a good idea to use:
DIR /P
to pause the listing when the screen becomes full of text, then you can press any key to show another screen full.
What I did have issue was when I tried to DIR the contents of disk 2, 3, and 4 I would either get an error or corrupted file names. Looking online, someone else had a similar problem and possibly the issue is that disk 1 works because it's in a dual format - one format for native BBC (ADFS) and another for DOS Plus but the other disks are in a different format (Acorn 800KB DOS format). I tried downloading other disk images including as recommended from:
http://www.retroclinic.com/docs/index.htm
For the above linked site you need to click the 'Boot disk images for various CoProcessor cores.' After downloading, unzip the file and try using the disk images in the CoPro 80286 folder, which have .hfe extension, and should work even on 80186 second processor. However, the files behaved just like the others one and I was still unable to access disks 2 to 4.
I wondered if the issue with not being able to access disks 2 to 4 was due to the Gotek not correctly reading the disk because it's in an unusal format: 800KB Acorn DOS format, a modified MS-DOS type of disk. You can read more about it at:
http://www.cowsarenotpurple.co.uk/bbccomputer/master512/format.html#acorn800
The solution I found was to take advantage of the Gotek's feature (or, at least the FlashFloppy firmware) in which you can can create an IMG.CFG file on the flash drive to specify exactly how a particular disk is laid out. You can read more about it on the Wiki:
https://github.com/keirf/FlashFloppy/wiki/IMG.CFG-Configuration-File
Rather than create the file from scratch you can use an example file and modify it. So I downloaded the FlashFloppy firmware from:
https://github.com/keirf/FlashFloppy/wiki/Downloads
by clicking on the latest release download link. After extracting the downloaded file I copied the IMG.CFG file in the examples folder to the flash drive I use with my Gotek. Then it was just a matter of opening the file in notepad and modifying the following values in the default section:
Number of sectors per track: change from 9 to 5.
Bytes per sector: change from 512 to 1024.
Using the modified IMG.CFG file, whenever the Gotek comes across .img or .ima files that aren't tagged it will use the settings in the default section. I must mention that I also had on the flash drive an FF.CFG file, also from the examples folder and I set host to be 'acorn'.
Now, after loading DOS Plus I was able to view the contents of disks 2 to 4 and I could now load GEM by selecting the disk 2 image, typing GEM and pressing return. GEM (see image below) takes about 34 seconds to load and while loading there is at first a white screen before the mouse pointer appears and then the various windows.
It's quite something to see a graphical O/S on a BBC Micro - even if boosted by the 80186 second processor - but of course you need a mouse to be able to do anything with GEM.
On disc 4, Miscellaneous, you will find Z80 and DEMOPROG folders, amongst the many files. In the Z80 folder is Z80.CMD and READ.ME. We can view READ.ME with TYPE:
TYPE Z80\READ.ME /P
READ.ME reveals that Z80.CMD is a Z80 emulator, which supports Z80 programs written for CP/M 2.2, so Z80 BASIC won't run, for example. It's claimed in READ.ME the emulator runs at a speed equivalent of 1.5MHz.
In the DEMOPROG folder are SIREN.A86 and SIREN.EXE. Running SIREN makes the computer output a siren sound from the internal speaker. SIREN.A86 is the 80186 assembly language program, which can be viewed with TYPE, for e.g. The program demonstrates using the BBC Micro’s sound within an 80186 DOS Plus program.
The Z80 second processor when released cost £300, was aimed at businesses and has a Z80 CPU clocked at 6MHz, 64 KB of RAM, runs off its own power supply and is connected to a BBC Micro via a ribbon cable connected to the Tube interface. As with the 6502 second processor, the Z80 version will work with a BBC Master without any modifications but an older BBC Micro needs O/S ROM version 1.2 and the DNFS ROM (which was included in the Z80 second processor pack) for the Z80 second processor to work.
Unlike the 6502 second processor which will still let you write and execute BASIC programs (assuming that the BBC Micro has a BASIC ROM installed) having the Z80 second processor active transforms the BBC Micro into a different machine since the Z80 is a very different CPU to the 6502 in the BBC Micro. In addition, the system will now expect software to be loaded from floppy, which was typically CP/M; supposedly, the BBC Micro being able to run CP/M was part of the BBC Micro's original design spec. As the software has to be loaded from disc each time the BBC Micro and second processor are turned on that is a big disadvantage over ROM based software.
As with the 6502 second processor the Z80 version connects to a BBC Micro by plugging the ribbon cable connector into the BBC Micro's Tube interface, ensuring that the triangle on the connector lines up with the triangle on the BBC Micro's underside near the Tube port. Then, you can either turn the BBC Micro on first and then the second processor and press CTRL+BREAK or have the second processor powered on first before the BBC Micro is turned on. Either way you should be greeted with a Z80 banner message, if not, double check the connections. If you want to turn your system back into an ordinary BBC Microcomputer, switch the second processor off and press BREAK. To go back to using the Z80, turn the second processor on and press BREAK.
For the Z80 second processor user guide please see this link:
http://chrisacorns.computinghistory.org.uk/docs/Acorn/Manuals/Acorn_Z802ndprocUG.pdf
Before we get into running CP/M, it's worth mentioning that the Z80 second processor ROM provides a simple monitor program, which is mentioned in the 'Advanced Reference Manual for the BBC Master' starting on page 122 in the Z80 Monitor section, linked below:
https://ftp.area51.dev/pub/bbcmicro/BBC-MCART4/Master/Advanced_Master_Reference_Manual.pdf
When the Z80 second processor becomes active it will attempt to load CP/M from disc but if it doesn't find the disc it will eventually time out (after almost a minute) and you will see the star prompt. Alternatively, after CP/M has loaded you can press the BREAK key, which will drop you into the star prompt.
*HELP will display something similar to:
Z80 TUBE 1.20
MON
'MON' is the built-in monitor provided by the Z80 second processor I previously mentioned but you don't need to run it, just use the commands from the star prompt, which can be listed with:
*HELP MON
Which gives:
CPM
Dump <start address> <end address>
GO <address>
Set <start address>
Note: commands can be entered in any case.
The CPM command attempts to load CP/M from disc. This is useful as it means we can run commands from the star prompt and then load CP/M, which allows for patching, for example.
Oddly, Dump is listed as a monitor command (or at least in my version), it should be just 'D'. D on its own displays eight bytes from the current address (starting at hex 0000), listing the address, eight hex values, and the ASCII equivalent. You can specify the start address, example:
D 5640
To dump from hex address 5640.
Or you can set a range, example:
D 2000 2040
To dump from hex address 2000 to 2040 (note that dump always displays in groups of eight bytes)
GO passes execution to the specified hex address, use very carefully.
The last command, Set, is actually just 'S', and allows editing of memory. You specify the start hex address and the current value at that address will be displayed in hex, and then you can type a new value without needing to press return as the digits are shifted in. The up and down cursor keys can be used to move to the next/previous memory address and any non hex character can be entered to exit editing memory.
In the following screenshot I have dumped memory from hex 1000 to 1010 (actually to 1017 since it shows eight bytes per line) using D 1000 1010. Then I have used S to edit memory from 1010 by using S 1010. From the D command we know 1010 contains FF, I then typed C0 to change the value. I then pressed the down cursor key a couple of times to get to 100E and typed a new value. I then pressed the return key to stop editing and followed with the D command to show the changes. Of course, shouldn't just randomly edit memory like I did as it could cause a crash.
Note at the top of the screen the Z80 boot banner specifying V1.20 ROM in the second processor.
There were seven CP/M system discs originally provided with the Z80 second processor, fortunately you can find digital copies online and use with a floppy disc emulator, such as a Gotek, if you do not have the original discs and disc drive. Indeed, that is what I used.
To boot CP/M have a system disc in the drive and power on, after a few moments you should see something similar to the following:
Acorn CP/M 2.2 - Bios 1.20
Followed by the A> prompt.
Note that I was able to boot CP/M using both .ssd and .dsd virtual floppies on the Gotek.
There are various commands provided by CP/M, such as DIR, to get a list of files on disc, and as can be seen in the next image there are a lot on disc 1:
There are other commands, including ERA to erase files, REN to rename files, see the user guide for more details.
There are also many programs, such as ASM, a CP/M assembler, MALLARD, Mallard-80 BASIC, and BBCBASIC, which is the Z80 version of BBC BASIC. In the above screenshot you can see that I have entered BBC BASIC using the BBCBASIC command and performed a simple PRINT. As can be seen the version of BBC BASIC is V2.20.
There are a number of BBC BASIC programs, example, 6502-Z80.BBC. You can load and run with:
BBCBASIC 6502-Z80.BBC
Which looks to be a converter.
Alternatively, first enter BBC BASIC with BBCBASIC then load the file:
LOAD "6502-Z80"
Another BBC BASIC program is SORT.BBC, which sorts strings, possibly for testing speed. I didn't know how to exit BBC BASIC so I pressed break and reloaded CP/M using the CPM command.
Notice that on system disc 1 there is 'MEMO', which should be the MemoPlan application, but when run it reported 'Can't open the swap file.'
This is possibly because the seven system discs are used to create 12 application discs using the PREPARE command, as mentioned on page 18 of the user guide. If you have seven numbered discs then likely the first disc is the main system discs and the others are data discs (not CP/M discs) to create the application discs.
This is confirmed on this site:
https://stardot.org.uk/forums/viewtopic.php?t=26508
Which confirms the 12 disc titles:
1. CP/M Utils
2. MemoPlan
3. FilePlan
4. GraphPlan
5. BASIC
6. COBOL
7. Nucleus Definitions
8. Nucleus Parameters
9. Nucleus Reporting
10. Accountant Programs
11. Accountant Data
12. Day Start Disc
In summary, some applications can be run from the first system disc but others have to be run from the dedicated disc created from the seven system discs using the PREPARE command.
This is how the user guide exaplins the main applications:
FilePlan is a personal filing system.
GraphPlan is a financial modelling program.
MemoPlan is a word processor.
Accountant is a book-keeping program for business or household accounts.
Nucleus is a system generator: it helps you to develop your own programs without needing specialised programming knowledge.
Professional BASIC runs programs written in a dialect of BASIC similar to those of the industry-standard BASICs developed by Microsoft and Digital Research.
CIS COBOL is the leading microcomputer version of COBOL.
You can find the system and application discs at:
https://www.g7jjf.com/acornz80_disc_images.htm
Note that you can boot from the application discs - there is no need to boot system disc 1 first.
The next disc I tried out was titled MemoPlan_Program_Disc.dsd, be aware that when you change discs - including when using a Gotek - you need to press CTRL + C to notify CP/M of the disc change. It will take a few moments after pressing CTRL + C before the A> prompt appears again.
To run MemoPlan, which is a word processor, use the MEMO command. For full details how to use MemoPlan see 'MemoPlan for the BBC Microcomputer with Z80 second processor' at:
https://archive.org/details/Acorn409005MemoPlan
Since MemoPlan makes use of the function keys it's a good idea to refer to the key strip:
https://mdfs.net/Docs/Books/Z80CoPro/Keystrip/Memo.jpg
If when you run MEMO you get error 'Swap file is invalid, please run RECOVER.' then use the RECOVER command, which you can see having run in the next image:
The swap file is used to back up your work, which it does perodically. I had to run RECOVER because I powered off without exiting MemoPlan and then upon powering on again I tried running MemoPlan again. After RECOVER has completed you can run MemoPlan as normal.
In following screen I pressed CTRL + F0 several times to enter Fill mode then I typed some text, pressed return to get to the next line, used the cursor keys to move around text, and DELETE to delete. To centre the title, I moved to it with the cursor keys and pressed SHIFT + F1.
As can be seen, MemoPlan is quite basic so there's not much I can show, even if I apply certain formatting (such as underline) it only shows in a printout. To exit MemoPlan, press CTRL + F9 and after few seconds the A> prompt will appear.
The next disc I tried was GraphPlan_Program_Disc.dsd, which contains a financial modelling program - GraphPlan-, which you can read in detail about at:
https://archive.org/details/Acorn409007GraphPlan
GraphPlan is run with the GRAPH command and can be seen below:
Unlike typical modern spreadsheets, you can't just type into cells, instead you must give commands. The menu to the right of the screen has lots of commands not even visible. The guide previously linked to walks through setting up the spreadsheet so I won't repeat the information here. But to summarise, you enter a menu number followed by RETURN. Depending on the selected menu you may have to enter more information, such as the values to place in the cells, or make a confirmation.
In the following screenshot you can see I have set up a simple spreadsheet (the values don't mean anything and are just for illustration).
Notice that on the right hand side it's showing the utility menu, which I called up bu entering 10 and pressing RETURN.
To exit the program type 9, press RETURN, and enter Y followed by RETURN. Note: it can take a few moments before a prompt appears after pressing RETURN.
This was a somewhat brief look at some of the software available for the Z80 second processor. Please see the Resources section for further information about the second processor as well as the Troubleshooting section to help with any issues getting the second processor working.
Accountant for the BBC Microcomputer with Z80 second processor
https://archive.org/details/Acorn409008Accountant
Acorn CIS COBOL Language Reference
https://archive.org/details/409004CISCOBOLLanguageReference
Acorn CIS COBOL With ANIMATOR and FORMS-2 User Guide
https://archive.org/details/409000CISCobolWithAnimator
Acorn CP/M 2.2 with GSX Graphics Manual
https://archive.org/details/409001CPM2.2WithGSXGraphics
BBC Micro Z80 Second Processor User Guide
https://archive.org/details/409010Z80SecondProcessorUserGuide
FilePlan for the BBC Microcomputer with Z80 second processor
https://archive.org/details/Acorn409006FilePlan
GraphPlan for the BBC Microcomputer with Z80 second processor
https://archive.org/details/Acorn409007GraphPlan
Nucleus System Generator for the BBC Microcomputer with Z80 second processor
https://archive.org/details/Acorn409009NucleusSystemGenerator
Preparing the BBC Microcomputer for the Z80 Second Processor
https://archive.org/details/409011PreparingBBC
Z80 BBC BASIC User Guide
https://archive.org/details/409003Z80BBCBASICUSERGUIDE
Z80 Professional BASIC User Guide
https://archive.org/details/409002Z80ProfessionalBASICUSERGUIDE
WARNING: ALWAYS DISCONNECT FROM MAINS BEFORE OPENING. DO NOT ATTEMPT TEARDOWN OR REPAIR IF YOU DO NOT HAVE EXPERIENCE WORKING WITH MAINS POWERED EQUIPMENT.
Please note: your Z80 second processor internals may differ due to different revisions.
To open up the unit remove the two black screws from the rear and the one screw on the underside nearest to the front; all three screws appear to be the same type and size. After removing the screws you can separate the two case pieces.
The internals consist of a linear power supply (PCB and toroidal transformer) and the main PCB. The power supply PCB has its own fuse, as does the main PCB, so it's worth checking both if the unit is dead. Also check the fuse (T250mA) in the socket at back of the case.
The power supply is very simple and there is provision for more components to be added so perhaps the PCB was also used in other products. On the power supply PCB underside it says:
ACORN
COMPUTERS LTD
2nd PROCESSOR
PSU
ONLY
MADE IN UK
BY
ST IVES WINDINGS LTD
VT 25698
The +5V rails are labelled and the fuse is labelled as:
O/P 1
FUSE
F1A
On the main PCB, as well as various 74 series logic ICs, there are:
12MHz crystal
MB8264-15 x8 64Kb DRAM
Z8400BB1 Z80BCPU (socketed) 6MHz 8-bit CPU
EPROM (socketed) with sticker: Z80 BOOT ISS 2
ULA9C018E-7 (socketed) tube interface ULA logic
Notes:
The chips have date codes of '83/'84.
The three chips mentioned above are socketed for easy replacement.
There are also various test points as well as:
SCR connector.
DISABLE solder points.
LD1 and LD2 solder points.
LK1, LK2 and LK3 solder points.
On the PCB it has written:
Z80 2nd PROCESSOR
209,000 Iss.2
Along with 'ACORN COMPUTER' and the logo.
At the rear of the case there are two closed off circular cuts and screw points, likely the case could be used for other products.
Running software
When it came to testing the Z80 second processor I used my BBC Master, thinking that I wouldn't have any issues as I've used other second processor units with it, but of course I was proved wrong. I was unable to load CP/M from the attached Gotek despite the Z80 boot message, after almost one minute from switch on I would get 'Disc error 50' error. This was especially odd as I could boot DOS Plus from the Gotek using the internal 80186 second processor card I had installed.
The fix was to enter the star prompt, which happens automatically after the disc error, and then issue:
* CONFIGURE FILE 15
As FILE was previously 11 but supposedly should be 15 according to online comments, but it depends on the Master's hardware configuration. Nonetheless, after making the change I was now able to boot CP/M using the Gotek. The reason why I needed to change the FILE setting was possibly because the CMOS batteries had run down and after changing them I hadn't restored all the settings.
Torch Computers released their own second processor board, the Torch Z80 Communicator for the BBC Micro (also works on the Master), in the form of a small PCB containing a Z80 running at 4MHz, 64KB RAM and a 16KB ROM which holds Torch's version of CP/M called CPN (Control Program Nucleus) that is compatible with CP/M and most CP/M commands but the disc format isn't compatible with Acorn's own Z80 second processor. CP/M was especially important at the time as it was a favourite of businesses so adding support for CP/M was very appealing and made available lots of existing software.
Even though CPN was stored in the Torch Z80's ROM, utility programs and other software could still be loaded from floppy disk or hard disk as the software stored in the ROM is only the main part of CPN. Nonetheless, having some code stored in ROM has the advantage that less data needs to be read from disk which reduces wear on the disk drive and disks.
Although the Torch Z80 connects to a BBC Micro via the Tube interface it doesn't use Acorn's Tube protocol (perhaps Torch did not have access to such information at the time), instead using an on-board 6522 to handle the interface. The Torch Z80 also requires that a ROM be fitted in the BBC Micro which handles the host side of the interface with the Torch Z80.
There appears to be at least two issues (versions) of the Torch Z80, issue 1 and 2, and you can see the differences at:
http://chrisacorns.computinghistory.org.uk/8bit_Upgrades/Torch_Z802ndproc.html
The site also has other useful information about the Torch Z80 so it's worth checking out.
The Torch Z80 board is designed to be fitted internally in a BBC micro by sticking the board with adhesive supports to the lid of the BBC micro and then running the tube cable internally with the connector on the end of the cable sticking out only to connect to the BBC micro's Tube connector.
I bought a Torch Z80 board for £33 which came as the board itself without a cable or enclosure. The PCB has the tube connector (which is keyed and has triangle marking pin 1). On the board it is marked as 'Z80 COMMUNICATOR MKJ 001 (C) TORCH'. and also '8715 ISS1' in one corner.
As well as glue logic it has these chips:
6522 Versatile Interface Adapter (VIA).
8255A Programmable Peripheral Interface (PPI). Similar to 6522 but more advanced and with more I/O.
Z80 8-bit CPU, 6MHz version (likely whatever chips were available were used). Note that some boards have a D780C-1 which is Z80 compatible.
AM2764 with label 'TORCH CCCP V1.02'. Contains CPN. 'CCCP' means Cambridge Console Command Processor.
MCM6665B x8. 64K x 1 bit DRAM. Similar to 4164.
Notice the 4MHz crystal for the Z80 CPU.
Despite claims of the Torch Z80 containing a 16KB ROM, my board at least, has an 8KB ROM but possibly a 16KB ROM was later used. If you are looking to buy a second hand Torch Z80 look to seem if the board has the ROM fitted and whether the host ROM is provided otherwise you will need to source EPROMs and burn with the appropriate software. You can find these ROMs at:
http://mdfs.net/System/ROMs/Torch/
If you look at:
http://mdfs.net/System/ROMs/Torch/TORCH.TXT
It lists what each type of ROM is and which to use. For even more information about the various ROMs please see:
https://stardot.org.uk/forums/viewtopic.php?t=17923
As I did not get the host ROM with the Torch Z80 board I first tried burning the host ROM software CPN071 and installed the ROM in my BBC Master into socket IC37 and set LK19 to the east position to map out the sideways RAM and map in 32KB of ROM into ROM slots 4 and 5. When I turned on Master it started up in mode 0 (80 x 32 characters) and displayed:
TORCH Computer System (v71)
Acorn ADFS
BASIC
Although nothing new showed up when I issued *HELP (possibly because the Torch Z80 board wasn't connected) when I used *ROMS, 'CPN 47' shows in ROM slot 7. This was with the tube disabled but even with the tube enabled and the Torch Z80 board connected it did not appear to be detected.
I issued *CPN, which is supposed to start CPN, but got the error 'I cannot run this code'. I could issue some other commands specific to the Z80 board (not sure if it's running from the host ROM): *TIME, which displayed the date and time, and *BASIC when printed 'BASIC' (usually used to exit CPN and return to BASIC). Looking online I found a site that mentions the 'I cannot run this code' error in conjunction with Torch Z80 and the fix is to change byte 6 is in the CPN071 ROM from 0xC4 to 0xC2. However, when I now issued *CPN I got the 'No Z80!' error.
Wondering if the CPN071 software wasn't completely compatible with my Master I did install it into my Model B and although it displayed the 'TORCH Computer System' message the system hung with a flashing cursor whether I had the Torch Z80 board connected or not. I thought that it may be trying to load software but there was no disk activity on my Gotek. There was no way to break out of the hang but I did find (as mentioned in the manual) if you hold CAPS LOCK while powering on the BBC or if you press CAPS LOCK + CTRL + BREAK you will get an 'AUTOBOOT' message but again there was no activity on the Gotek. I did also try CPN071 with corrected byte 6 (as mentioned above) but it made no difference, since the 'patch' is for the Master.
Next, I wanted to try the MCP122ABM version of the software that's designed for the Master but I had no new 16KB UV ROM and although I had a very large flash ROM I could adapt to behave as if it's a 16KB ROM it was too difficult making an adapter that would go in the ROM socket. Looking through my other UV ROMs I thought I'd test them to see if I had some working 16KB/32KB ROMs and then I could buy a UV erase lamp. I came across a D27256 which is an Intel 27256 32K x 8 UV ROM and oddly, when I read it in I found that the first 16KB was unused (the ROM only had a green sticker over the UV window so it's unknown what the ROM was used for). When you erase a UV ROM it sets all the bits to 1 and when you program the ROM it actually just set the bits that need to be 0. This particular UV ROM had the first 16KB blank (all 1's) so I was able to program it with the MCP122ABM software.
At boot I got 'Torch MCP V1.22 (ABM)' displayed.
Unfortunately, when I issued *CPN (or *MCP) I got the 'no Z80!' error continually.
If I issued *HELP I saw 'MCP V1.22 (ABM)' listed.
If I turned the tube off and pressed CTRL + BREAK the system hangs with flashing cursor; the same happens if the tube is enabled but set to use internal tube (no internal 2nd processor card fitted).
Before going into more detail about testing it's worth sharing the Torch Z80 circuit diagram that has been uploaded:
http://mdfs.net/Info/Comp/Torch/z80card.gif
Use with caution, however, as even on the diagram it is written as the top that the pin numbering is incorrect (some pins, that is).
Some of my observations in regards to the circuit:
Six inverters in series drive the DRAM CAS line and was possibly done to create a specific delay.
The schematic shows three links, for WE, CAS and RAS and although these links are present on the board it's unusual to show them on a circuit diagram as if they are option links or test points.
There are 18 100R resistors between most of the I/O connections between the 6522 and 8255 and are possibly used to limit current between the chips and could help prevent damage should the I/O be configured incorrectly (two I/O lines connected together set as outputs).
A multivibrator consisting of a resistor, capacitor and IC7 resets the Z80, 8255 and IC21a; IC21a controls whether the ROM or RAM (via IC3) is enabled. The ROM is initially enabled as that's where the Z80 runs code from at reset. The Z80 can then switch out the ROM or RAM as needed.
The 6522 is enabled as long as the appropriate Tube signal is low but the 8255 always has its chip enable (CS) low, however, its RD input determines whether the 8255 will output anything on its data bus.
I tried testing the Torch Z80 board itself by probing with my oscilloscope and even swapped the 6522 and Z80 with others I had as I wasn't seeing the activity I expected: no CAS and RAS signals, for e.g. I swapped the Z80 for yet another and now I was seeing those signals active. Unfortunately, the board was still not detected by the micro but at least the Z80 seemed to be running.
The other thing I tested was the 8255 but although I didn't have a replacement 8255 I tested it on breadboard and it appeared to be working correctly in mode 0 (which is supposedly what is used by the Torch Z80).
Through further tested it seems perhaps one or more of the DRAM chips are bad which could be due to old age or because the original Z80 was bad and that damaged the chip(s) as old DRAM can be damaged if not refreshed frequently enough. However, I did test the original Z80 that was installed in the Torch Z80 board in a ZX Spectrum +2 since that uses a socketed Z80 and that showed the CPU to work as the computer booted and I was able to execute BASIC commands.
I used my oscilloscope and looked at DOUT of each DRAM chip in turn and found that IC19 DOUT wasn't active and looking with my thermal imaging camera IC19 seemed to get slightly hotter than the other DRAM ICs. Note that if you do this test yourself, sometimes you won't see any activity on the DOUT lines and this is possibly because the Z80 has crashed. Just power off the BBC and back on and check for activity again.
I tested a spare 4164 IC I had using an Arduino; you can find details of building such a DRAM tester online such as found at this site:
https://forum.defence-force.org/viewtopic.php?t=1699
Knowing that I had a good DRAM chip I piggybacked it onto IC19; this is quite tricky to do to get the pins to line up so check with a multimeter with the power off for continuity. Although now there was activity on DOUT of IC19 the board still wasn't detected by the micro.
At this point I had not been able to get the Torch Z80 to work and I had come to the conclusion that I needed to replace one or more RAM chips which would mean desoldering the chips and soldering known working ones. If ever you need to carry out such a task yourself it's worth installing chip sockets just in case any replacement RAM chips go bad and I've actually seen online a version of the Torch Z80 (issue 1) which has the RAM chips socketed but whether they were in the original design or someone installed them at a later date is unknown. But as it would not be an easy task to replace the RAM chips I decided to leave it for a later date but be sure to read on to learn about the Torch Z80 disk pack which I was able to get my hands on.
If you do have a working Torch Z80 board but no software you can find downloads at:
Introduction
The Z80 Communicator board was sold with a twin 400K 5.25" disc drive, system software, and The Perfect suite of software from Perfect Software, consisting of Perfect Writer (word processor), Perfect Calc (spreadsheet) and Perfect Filer (database), as the Torch Z80 Disc pack (a.k.a. UNICORN ZDP240) and cost £299 at the time of release (£100 cheaper than Acorn's own Z80 2nd processor). The disc drives use standard DSD floppy disks (some sources claim that 800K is supported but likely they are referring to the total capacity of the two disc drives combined), The disc drive could also be used without the Torch board installed in the BBC Micro, provided an appropriate disc drive controller and ADFS/DFS ROM has been installed in the computer.
The user guide can be found at:
http://chrisacorns.computinghistory.org.uk/docs/Torch/Torch_ZDPUG.pdf
Also, there is some useful information here:
http://chrisacorns.computinghistory.org.uk/8bit_Upgrades/Torch_Z80Discpack.html
Interestingly, the manual describes how the disc drive's power supply can be used to power the BBC micro but depending on the BBC micro you have that may not be necessary and was possibly more recommended for earlier BBC micro revisions.
If you are able to get your hands on a Torch Z80 Disc pack but without the software fortunately you can find downloads at:
https://www.g7jjf.com/disc_images.htm
The two disc drives are housed in a large metal box and are accessible from the front, with their own activity lights, and there is a red power LED between them, and 'TORCH Z80 DISC PACK' is written bottom right. At the back of the unit is a 3-pin DC connector for powering the BBC micro (if its PSU has been removed) using the appropriate lead, the mains in socket, fuse holder (containing a 2.5A 250V fuse), and power switch. Also at the rear is a ribbon cable that connects to the BBC Micro's floppy disc port. On the underside is the model number, ZDP 240M, and the serial number.
Using the system
We will now look at using the Torch system but keep in mind that a lot of what is presented here will also apply to a using a standalone Torch Z80 Communicator. After powering on the BBC Micro and disc drive you will be greeted with the boot screen:
To run CPN, insert the system disk (V1.5 for me) into drive A (left drive), issue the *MCP command, and after some very brief disc access, you will get the 0A> prompt:
Keep in mind that it's always best to work with copies of the software discs (which I was fortunate to get with my Disc pack), the manuals for the various software describe how to duplicate the discs.
You can display a list of available commands using HELP, which list each command name and what information it requires:
Starting off simple, I changed the foreground colour using the F command, followed by the colour number, and the background using the B instruction with the colour number. After a number of attempts I found a colour that went fairly well with yellow (F 3): magenta (B 5):
Don't worry I'll change it back to the default using F 7 (white foreground) and B 0 (black background).
The default screen mode is mode 0, having 80 x 32 characters, which is ideal as it can fit the most amount of characters on screen at once. For the time of the system's release, having 80 characters horizontal was very desirable as it made working with spreadsheets, or word processing, much easier. The screen mode can be changed with the MODE command, example. MODE 1 for 40 x 32 characters.
VDU commands are also supported, which shows how Torch's CPN is tailored toward the BBC micro. Example, to make a beep from the speaker use:
VDU 7
For further information about VDU values see:
https://central.kaserver5.org/Kasoft/Typeset/BBC/Ch34.html
There are many other commands listed in the manual, including DIR to list files on disk, FORMAT to format a disc, and so on. It's important to remember that when using CPN, drive A is the left drive and B is the right drive. Lastly, it's worth mentioning that you can use *BASIC to return to BASIC.
It's a good idea to have a read through the user guide for more details on the various CPN commands:
http://chrisacorns.computinghistory.org.uk/docs/Torch/Torch_ZDPUG.pdf
The system disc has utility programs stored on it, so the disc must be in drive A to be able to run any of the programs. See the manual linked above for more details, but I'll go over a few here.
TORCHBUG is a monitor and debugger and is invoked with the TORCHBUG command, which will give you this screen:
Commands can be typed to access the various features or a function key can be pressed as a shortcut for some of them. To get a list of commands, enter HELP of press f1:
There aren't many commands but we'll look at the Modify memory option, accessed with M (without pressing return). It will prompt you for the start address, which must be entered in hex, followed by the return key. Then, 16 bytes will be displayed from the specified start address. Values can be entered to modify the memory contents or you can press return to display the next 16 bytes:
Use the full stop (.) key followed by return to end the Modify memory command.
Other commands display and allow editing of the CPU registers, execute a machine code program, and load and save a variety of files types. QUIT or f0 will return to the CPN prompt. Note that the text will remain in yellow, but MODE 0 is a quick way to reset to the default colour.
Another CPN command is MUSIC, which plays .MUS music files, by specifying the music file (either with or without the .MUS extension). For example, to play one of the samples enter the following command:
MUSIC TOODLE
The MUSIC command gives some feedback while the music is being played:
The ESCAPE can be used to interrupt the playing.
See the user guide for information on what makes up a music file.
Another utility program is MAPDISC, used for viewing the allocation map of a disc with the option of making corrections. Here is MAPDISC running after selecting the F option to show a full map of the disc:
Check the user guide for details of how to interpret the map.
The Perfect suite
Next, we will look briefly at The Perfect suite of software, which is made up of Perfect Writer (word processor), Perfect Calc (spreadsheet) and Perfect Filer (database), and can be thought of as the 'Microsoft Office' of the day. The software may seem very basic compared to what is available today but for the time it was quite advanced, featuring support for virtual memory, something that we would take for granted when using a hard disk/SSD based system, not a floppy disc as in the case of the BBC Micro. Virtual memory was especially significant in the BBC Micro days as RAM was very limited, so virtual memory allowed the user to work on large files that otherwise wouldn't fit in memory.
Let's first take a look at Perfect Writer. The manual for Perfect Writer can be viewed here:
http://www.bitsavers.org/pdf/perfectSoftware/Perfect_Writer_1983.pdf
Perfect Writer includes Perfect Speller and as well as the main disk, a lessons disk was included to train you on word processing.
To run Perfect writer, first boot into CPN, then replace the system disk with the Perfect Writer disk and type MENU then return. After some loading, you will be presented with the main men:
Type a letter representing the menu option, followed by return, to make a selection. I started a new file by selecting 'E' but instead of entering a filename, I pressed return. After making a selection there will be loading and then you will be presented with a new screen:
It looks very bare but typing is straightforward enough, like on a modern word processor, and there are a number of shortcuts to get used to in order to delete individual characters and lines, and to move forward and back a character, capitalise words, and so on, all explained in the manual.
Here is some text I typed:
There wasn't a means to change fonts or styles from what I could see but it is possible to embed control codes that a printer can take advantage of, such as to underline characters.
The second piece of software to look at from the Perfect suite is Perfect Calc, an electronic spreadsheet. Its manual can be found at:
http://bitsavers.informatik.uni-stuttgart.de/pdf/perfectSoftware/Perfect_Calc_1983.pdf
To run Perfect Calc, make sure CPN is running and put the Perfect Calc disc in drive A. I wanted to start a blank spreadsheet so I used the command pc with no filename specified, which presented me with this screen:
Again, very simple compared to what we are now used to. Shortcut keys are used to move about the spreadsheet (not the arrow keys as you might assume) and labels or values can be entered, followed by return, which will add to the selected spreadsheet shell. As well as labels, formulas can be entered, which the computer recognises by the equals sign, you can see an example below, where the formula 'b2-b3' has been entered:
Note that the cell names are case sensitive, so, for example, you cannot enter 'B2' to mean 'b2'.
As seen in the next screenshot, I have recreated the simple formula to calculate the remaining amount for each month but although you are supposedly able to enter the calculation once and copy it over automatically changing the referenced cells, I couldn't get that working and had to enter manually.
To quit Perfect Calc, use CTRL+X then CTRL+C and you will be prompted whether to exit wihout saving changes.
Lastly, we will talk about Perfect Filer, which is a record management system, not a file manager as I had first thought.
A copy of the manual can be found at:
http://www.bitsavers.org/pdf/perfectSoftware/Perfect_Filer_1983.pdf
To run Filer, put the Perfect Filer disk in drive A and type Filer followed by return. You will be prompted for the drive containing the database you want to load:
Enter the drive name (A or B) followed by return and then you will be presented with a new screen checking whether the date is correct:
You can choose whether to confirm that the displayed date is correct by pressing 'x' or press return and then 'x' to pick the option to modify the date. Unfortunately, as the manual points out, only years between 80 and 88 are valid, so I could enter the actual date other than the year, which I set as 84, the year of my birth.. Once the date is entered and confirmed to be correct, the program moves on to the individual member data base:
I chose the selection 'access individual members' so I could show creating a record:
It's straightforward to enter data and move between fields using the shortcuts (CTRL + N to move to the next field, CTRL + P to move to the previous).
To quit the program, press ESCAPE several times.
Repair
I was able to buy second hand a Torch Z80 disk pack (twin disk drive and software) with a BBC Micro Model B that has the Z80 Communicator board installed inside the computer as well as the necessary ROM to use the Z80 board. Upon powering on the BBC it doesn't auto boot into CPN (even if you have the disk drive on first and the system disk 1 inserted) but you will hear a double bleep, a reassuring sign the Torch board is working. To start CPN you must use the command *MCP which then displays the 0A> prompt after a bit of loading but you must have the system 1 disk in drive A (the left drive of the twin drive unit). If instead you use *CPN even with the system disk inserted it will try to load and then you will get a Bad command error.
Just to mention, if you read the start of this section, Torch Z80 Communicator, in which I talk about the first Torch board I got, after getting the Torch Z80 Disc pack I tested the first Torch board in the newly acquired BBC Micro (which has the necessary ROM installed) but the system hangs when you use *MCP. So, although it didn't display the No Z80! error, suggesting that perhaps there was an issue with the Master and the software I was using, there certainly is a hardware fault with the Torch board (likely bad RAM).
The disc drive is powered from a switched mode power supply and there are two 0.1uF RIFA capacitors that should be replaced as they have a tendency to blow while the unit is powered, read on to learn more.
Do not attempt to do the replacement yourself if you don't feel confident, as mains powered equipment can be very dangerous. Switch off and remove the power cable before opening up the disc drive.
To take the disc drive apart: there are four screws that need taking out, two at the left side and two at the right side, then the top cover can be lifted up. Now is a good time to become familiar with the internal parts: The main components are the two 5.25" floppy drives, PSU board, mains power connector with integrated filter, DC output connector (to power a BBC micro, switch and fuse holder.
The PSU has a single mains in connector (live and neutral) and DC output connector; the connector supplies power to the disc drives in a daisy chain manner (Black is GND, orange +12V, red +5V). In the next image you can see the aforementioned connectors, along with (from left to right) the 3-pin DC output connector, mains in socket, fuse holder and power switch.
On the PCB there is a label declaring it as ASTEC AC9251, rated for 115V/230V 0.6A 50/60Hz and there is a date of 83/4. The PSU was used in a number of different pieces of equipment and I even found some technical information about it at:
Note that toward the end someone has included a hand drawn partial schematic (looks to be the output stage) and included a colour photo.
In summary, the PSU is rated for:
+5V 6A, +12V 2A, -12V 1A, -5V 0.5A.
The PDF linked above gives the pinout of the connectors. The mains input connector has two pins, P1 and P2. The DC output connector consists of pins P3 to P14, but the Torch drive only uses P3, P5, P7, P8, P9, P10, P12, P13, P14.
P1 neutral
P2 live
P3 -5V
P4 -12V
P5 +12V
P6 +12V
P7 COM
P8 COM
P9 COM
P10 COM
P11 COM
P12 +5V
P13 +5V
P14 +5V
The Torch drive has the power LED (with limiting resistor inline) connected to P10 and P14. The 3-pin DC output connector has its white lead connected to P3, black lead to P7, and red lead to P12, supplying -5V and +5V, since 12V wouldn't be needed by the BBC micro as that would typically be used for a disc drive but of course the Torch disc drive has its own power supply anyway.
To remove the PSU board, take out the four screws in the corners, note that there is an earth lead held in by one of the screws holding the PSU board in. Unplug the two connectors - you may find it difficult to remove the large connector, so try prising from one end. On the back of the PCB we can see it's marked as '042 02014008'.
The RIFA capacitors that need replacing are: C4 (0.1uF, 250V), and C1 (0.1uF, 250V), they can be seen marked out in the below image While C4 will only take one size capacitor, C1 can take two different sizes. By the way, you may be able to make out strands of thin wire below the transformer, I have no idea where that came from and only noticed after taking the photo, it certainly wasn't part of the PSU.
For replacing C4, I only had a small capacitor but with long enough leads I could bend them to reach the holes. You can view the newly installed capacitors in this image:
After replacing the capacitors, when putting the PSU PCB back, make sure the earth connection goes back between the post and the PCB held in by the screw. Fit the mains in and DC connectors back into the PCB and put the main metal cover back on and then you can put the power cable back in and switch on.
For safety, it would be best to probe the 3-pin DC out connector at the rear; bottom left is GND, top is -5V, bottom right 5V. Note that the PSU needs a load connected to work, so make sure the disc drives are connected or replaced with a dummy load. If you need to check the 12V line (which is connected to the disc drives) then do so very carefully with the metal cover off.
Emulated Torch Z80
The BBC Micro BeebEm emulator has support for the Torch Z80 which you can read about at:
https://www.g7jjf.com/torch_z80.htm/
There is also an emulated version of the Torch Z80 that runs on the Raspberry Pi but I've only found mention of it on this site (you'll need to scroll down a bit for the link):
https://stardot.org.uk/forums/viewtopic.php?t=11491
Torch C Series
The Torch C Series ('C' meaning Communicator) is a computer combining a 6502 based BBC Micro with an additional Z80 running CPN (Torch's version of CP/M) and also featured integrated colour screen, modem and one or two disc drives while still providing the electrical ports you would find on a typical BBC Micro (video, analogue, cassette, and so on). Unfortunately the system does not use a 'standard' keyboard.
Model C-500 cost £3000 in 1986 and in effect was similar to adding a Torch Z80 Communicator to a standard BBC Micro whereas model C-68000 featured a 68000 with 256 KB RAM, cost £6000 in 1986 and was similar to the Torch HDP68K/Unicorn system.
There is an article reviewing the Torch computer at:
http://chrisacorns.computinghistory.org.uk/docs/Mags/PCW/PCW_Jan83_Torch.pdf
A 32016 second processor, the Acorn Cambridge Co-Processor, featured a 32016 CPU and 32081 FPU clocked at 6MHz and 1MB of RAM, and runs the Panos O/S as well as various programming languages (BBC BASIC, C, Lisp and Pascal). For more information please check out:
http://chrisacorns.computinghistory.org.uk/8bit_Upgrades/Acorn_ANC05_320162ndproc.html
More information:
https://www.4corn.co.uk/archive/docs/AMPAPP/150/APP031%20-%2032016%20Second%20Processor-opt.pdf
Another site covering the 32016 second processor:
http://cpu-ns32k.net/Acorn.html
A 32016 second processor wiki:
http://beebwiki.mdfs.net/32016_Second_Processor
Torch released the HDP68K/Unicorn that contained a 8MHz 68000 with 256 KB RAM (expandable up to 1MB), and Z80 with 64KB RAM, as well as a 5.25" 400K floppy drive, 20 MB hard drive in a 'tower' case and in a sense is an extension of the Torch Z80 Communicator. It connected to a BBC micro via both the Tube and 1MHz buses and could run CPN (Torch's version of CP/M) and Unix (at a more affordable cost than other options). The Z80 runs CPN and Unix executes on the 68000 but as the Unicorn connects to a BBC micro it is still bottlenecked by the processing done by the BBC Micro, limiting Unix's capabilities but allowing for backward compatibility.
You can find an article about the system at:
https://archive.org/details/AcornUser026-Sep84/page/n154/mode/1up
Rather than being a second processor add-on board in the traditional sense the 80286 was available as a second processor option in the Acorn Business Machine but it's mentioned here for completeness. You can find some information at:
http://beebwiki.mdfs.net/80286_Second_Processor
There are some additional photos here:
https://acorn.huininga.nl/pub/media/photo/Acorn/80286%20Second%20Processor%20(from%20the%20ABC310)/
The ARM Evaluation System was very significant as it contained an ARM 1 CPU and an early use of RISC processor; the CPU ran at 8MHz and included was either 2 or 4MB of RAM.
Some information with pictures:
http://www.computinghistory.org.uk/det/4617/Acorn-ARM-Evaluation-System/
For an overview of the ARM 1 including how it works at low level:
http://www.righto.com/2015/12/reverse-engineering-arm1-ancestor-of.html
The system manual:
https://www.g7jjf.com/acornArm/Acorn_ARMEvalSystemUG.pdf
Another manual:
Various pictures:
http://www.stumpie.com/armeval/
Reference manual which includes the circuit diagram:
System software and boot ROM:
http://www.dunnington.info/public/BBC/ARMeval.html
Getting your hands on the various second processors can be expensive and take up a lot of space so fortunately if you want to experience the joy of using a second processor without so much hassle you can make use of a Raspberry Pi to emulate various second processors. The project is called PiTubeDirect and the information can be found at:
https://github.com/hoglet67/PiTubeDirect/wiki
It emulates various second processors (6502, Z80, 80286 and more) and switching between the various processors is just a matter of issuing a command from the BBC micro.
Torch released the Torch Graduate upgrade for the BBC Micro model B to give IBM PC software compatibility with MS-DOS by way of either a single 320K disc drive unit (model G400) or double 360K disc drive unit (model G800) that integrated an 8088 16-bit CPU running at 5MHz, 128KB/2556KB RAM and connects to the micro using the 1MHz bus (no special ROM is needed in the BBC Micro). The disc drive unit also features two ISA IBM PC compatible expansion slots.
You can view an advert for it at:
https://archive.org/details/AcornUser026-Sep84/page/n13/mode/1up
For photos and additional information please see:
http://chrisacorns.computinghistory.org.uk/8bit_Upgrades/Torch_Graduate.html
While not a second processor unit itself, the Universal Second Processor Unit is an adapter that permits an internal second processor designed for the BBC Master to be connected externally to a BBC MIcro or Master. This meant that a BBC Micro could make use of internal second processors made for the Master and with regards to the BBC Master, if an internal second processor has already been fitted the second processor adapter allows an additional internal second processor to also be connected externally although only one of them can be used at once.
There were a number of different Universal Second Processor Units but generally they consisted of a box with integrated power supply that connects to the mains, buffer circuitry, connections for the second processor board and Tube cable. An example of a Universal Second Processor Unit is the Acorn ANC21, and uses the familiar 'cheese wedge' design, which can be seen at:
http://chrisacorns.computinghistory.org.uk/8bit_Upgrades/Acorn_ANC21_Uni2Proc.html
Another is the Watford Co-Pro Adapter which used a metal box:
http://www.beebmaster.co.uk/2P/Co-ProAdapter.html
Please also see the 80186 second processor section on this page for additional information.
All content of this and related pages is copyright (c) James S. 2020-2024