If you are familiar with ARM processors, you may know of their early history at the 1980s British home computer manufacturer Acorn. The first physical ARM system was a plug-in co-processor development board for Acorn’s BBC Micro, the machine that could be found in nearly every UK school of the day.
For an 8-bit home computer the BBC Micro had an unusually high specification. It came with parallel, serial and analog ports, built-in networking using Acorn’s proprietary Econet system, and the co-processor interface used by that ARM board, the Tube. There were several commercial co-processors for the Tube, including ones with a 6502, a Z80 allowing CP/M to be run, and an 80186.
As with most of the 8-bit generation of home computers the BBC Micro continues to maintain a strong enthusiast following who have not stopped extending its capabilities in all directions. The Tube has been interfaced to the Raspberry Pi, for instance, on which an emulation of original co-processor hardware can be run.
And thus we come to the subject of this article, [Hoglet] and [BigEd]’s 150MHz 6502 coprocessor for the BBC Micro. Which of course isn’t a 6502 at all, but a 6502 emulated in assembler on an ARM which is in a way the very distant descendant of the machine it’s hosted upon. There is something gloriously circular about the whole project, particularly as the Pi, like Acorn, the BBC Micro, and modern-day ARM, has its roots in Cambridge. How useful it is depends on your need to run 8-bit 1980s software in a tearing hurry, but they do report it runs Elite, which if you were there at the time we’re sure you will agree is the most important application to get running on a BBC Micro.
We’ve featured the Tube interface before when we talked about an FPGA co-processor with a PDP/11 mode that was definitely never sold by Acorn. And we’ve also featured an effort to reverse engineer the primordial ARM from that first BBC Micro-based co-processor board.
BBC Micro image: Stuart Brady, Public Domain, via Wikimedia Commons.
Hardware features: Models A and B – “All motherboards had space for the electronic components, but Econet was rarely fitted” – https://en.wikipedia.org/wiki/BBC_Micro#Description
I’ve seen a few home BBC computers mostly A’s and B’s and I don’t remember any having any (optional) Econet being installed..
I just checked and it appears that all exported machines had that 100 kbit/s. Looks like closer to home, or older machines, they shipped without.
Econet was mainly fitted in machines used in schools, as it allowed files to be loaded from a central file server, avoiding the need for floppy drives on each machine. You didn’t see it on home machines – I don’t think many people had Econet file servers at home… The Master 128 series had Econet plug-in modules instead of just fitting chips and discrete components on the main PCB (which was the approach taken by the A, B and I think B+ models)
This is probably why I had it down as fitted to all BBCs. I only used them in schools, I was a Sinclair kid. So every BBC micro I ever used had econet. Sorry.
Getting Elite running was nowhere near as important as learning 6502 assembly. The Beeb had an assembler in its Basic ROM, and the school thoughtfully let us at the network specification books. Token Ring packet sniffing and impersonation soon became sport.
That perforated section next to the TAB key hides a ROM socket, into which I managed to install an SP0256 speech synth chip I got from Radio Shack (Then known as Tandy here in the UK) instead of the approved TMS5220, as I wanted full speech synthesis as opposed to select words read by a BBC newsreader (Kenneth Kendal).
I see they also have an ARM2 co-pro emulator. That’s not quite historically accurate, as the ARM co-pro was an ARM1. It’s unfortunate they don’t have an ARM co-pro ROM image (that I could see).
I think the ARM ROM image is in the code here:
https://github.com/hoglet67/PiTubeDirect/blob/58ddff72b4666829cd424fb61c878abacf1caaf8/src/tuberom_arm.c
Any chance that a 150Mhz 6510 replacement might follow this?
You can make your own words now, take my AstroBlaster for a spin on a beeb with a tms5220
Update – this copro now runs at 250MHz and [dp11] is still finding ways to optimise the code and crank the speed up.
Hrrrmm…150Mhz VIC-20…light bulb!
I do doubt that now that 6 months have gone past there will be anyone reading this, but this is sooo going to be my Christmas project! I have a Beeb as a conversation piece in my living room and a Pi Zero because of “ooh, RaspberryPi” and I have been scratching my head about what to do with both of them.
YAY!
Someone is always watching…
Have fun! :)
Now that they handle the tube code in the video core, they can go faster and all the other cores can be done much more easily meaning that they can be faster and more reliable on all pi’s.
I’m replying to this in 2020 for kicks. All these classics are very expensive now, even a replica of ZX Spectrum is now going for 100 pounds before shipping (eBay.com has become rather international). It’s not really worthwhile to buy one or even keep one without gadgets to increase its power. I’m wondering if you put up your Beeb for sale, or if it’s still running with it’s new co-processor. Oh here’s one $276.82Time left4d 6h left 4 bids From Australia+$94.17 shipping. Ah… No thanks. I don’t need to indulge in childhood nostalgia that much.