The article... well, it doesn't bury the lede, but it does completely omit it outside of the headline. For anyone who doesn't know the context: The BBC Micro was built by Acorn Computers, which proceeded to design the Acorn RISC Machine -- later renamed to Advanced RISC Machine and thence to simply "arm".
In many ways, the tuple (BBC Micro, Acorn Computers, arm) is analogous to (IBM PC, Intel, x86).
> In many ways, the tuple (BBC Micro, Acorn Computers, arm) is analogous to (IBM PC, Intel, x86).
There was a radical difference in the relationship between the two corporations in each tuple. In the BBC-Acorn relationship, Acorn designed and manufactured the computer; BBC just offered their brand, did marketing, and supplied some high-level requirements. In the IBM-Intel relationship, IBM designed and manufactured the computer, and Intel was the CPU vendor, with many other customers. The 6502s used in the pre-ARM BBC systems were from MOS Technology–or one of their licensees, such as GTE/CMD–so those companies were really the Intel equivalent here
CMD in this case being California Micro Devices, who bought GTE’s microprocessor business in the mid-to-late 1980s, and then was acquired by onsemi in 2009. The BBC Master used their CPUs
There is another CMD, Creative Micro Designs, who sold aftermarket peripherals for
Commodore 64/etc
Well the ARM's original goal was to run BBC BASIC faster than the BBC B could run assembly code.
To that end the ARM instruction set was heavily inspired by the 6502 in the Beeb and cruicially the BBC Micro was used to simulate the ARM before it went into production.
Latter the original ARM development kits were connected as second processors to Beebs courtesy of the Tube connector.
I think it's fare to say that without the BBC Micro there would be no ARM processors.
Sophie Wilson discusses it here[1] but I've read it in other places too. You'll have to find them yourself though.
> The second thing they didn’t do was that they weren’t fast, they weren’t easy to use. We were used to programming the 6502 in the machine code and we rather hoped that we could get to a power level such that if you wrote in a higher level language you could achieve the same types of results. So you could write 3D graphics games. You could do whatever you wanted to do without having to go all the way down to assembly language and for these processors that were on sale at the time that wasn’t true. They were too slow. So between the two things we felt we needed a better processor.
Thanks for the quote which is very interesting. Not being pedantic but this isn’t quite what your original comment said. Sophie is saying ‘same type’ of results and not having to use assembly for certain applications which doesn’t imply that BASIC on ARM would be faster than 6502 assembly just that it was fast enough for their purposes.
I think it’s possible that some applications would be faster - floating point for example due to the ARM’s 32 bit registers and the 6502’s lack of even 16 bit arithmetic - but probably not in general.
The ARM1 ran at 6MHz, three times as fast as the 6502 in the BBC B.
It also had more (16 user registers vs, counting optimistically, 3) and larger (32 bit vs 8bit) registers, compared to the 8 bit registers of the 6502, and a 3-stage pipeline.
I expect that means the BASIC interpreter kept the current program position in a register, where the 6502 one used memory (likely in self modifying code), and could fetch the next token in a single cycle vs at least 5 or so for the 6502 version.
Having a faster CPU and more memory also may have meant they could be smarter in the way programs get stored.
I guess all that combined means there are programs were that goal can be met, for example programs computing a Mandelbrot image.
You can probably make it happen. If your program uses all the same tricks that worked with 6502 BBC BASIC to reduce the interpreter overhead, the ARM BASIC version will run as well as it can. Then imagine your program does a lot of integer maths with the resident integer variables, multiplication in particular, and (for whatever reason) it needs the full 32 bit integer precision - I'm sure you would stand a chance! 32 bit operations are cheap on the ARM, and it's got a multiply instruction. No such luck with the 6502.
I don't know the internals of BBC BASIC, but many Microsoft-derived BASICs do keep track of the current location in the program text with self-modifying code; the routine is copied to a reserved portion of zero page on 6502 machines for speed. On the C64 this routine lives at $0073 and the pointer is at $007a. Because it's in RAM, this makes it a popular location for wedging in additional behaviour or commands (hence the term "wedge" for such extensions). On some systems like the PET, this was the only way to accomplish it.
It could be the point of what optimizations would be possible on the interpreter.
One of the optimizations Google introduced on Android 7, when they backtracked for AOT at installation time introduced in Android 5, was that the DEX interpreter was rewriten from scratch in cleverly manually written Assembly, before handing it over to the JIT/AOT infrastructure.
BBC Basic was also one of the few that allowed direct inline Assembly, instead of having to go through DATA blocks.
BBC BASIC wasn't JIT'd etc so not sure how all the Android comparisons come in!
Just to make the comparison more concrete the ARM1 ran at 8MHz and was 32-bit and with a lot more registers compared to the BBC Micro's 6502 running at 2MHz. It was a lot faster but not fast enough to make BBC BASIC run at BBC Micro Assembly language speed.
Missed the part about writing interpreters in Assembly?
Most folks nowadays wouldn't even think that is an option, hence the comparison with a product several decades later doing that instead of C kind of approach.
Back to ARM v1, maybe the design did take into account how to improve the developer's life of those writing in Assembly, which was critical for implementation of the whole userspace, meaning BBC Basic.
I have used both when I was a kid. There were nothing alike really.
I owned a BBC Micro Model B (was given one when a friend was given a 486 PC) and I used the Archimedes at school. The BBC Micro was archaic compared to the Archimedes and PCs of the time.
The Archimedes was called a "BBC Micro" because it was part of the BBC's home computing initiative, but architecturally, it had nothing to do with the original BBC Micro.
I don't recall the Archimedes ever getting called a "BBC Micro". I remember the introduction of the Archimedes. We had an Acorn Electron, and we'd seen the introduction of various "BBC Masters"; BBCs with more memory, more powerful hardware, but still a BBC. The Archimedes, was always marketed as something completely new, as far as I recall.
My brother had one. Really cool machine, and as far as I remember, on a completely different level than anything that had existed before it. Soon succeeded by the Risc PC, which I mostly remember for being able to accept various configurations of additional processors (it could get either an x86 as co-processor, or several additional ARMs).
Hardware architecture not, for very obvious reasons. But if you wrote BBC Basic you'd have felt right at home and this continuity was one of the reasons they sold quite well, lots of people that were using the BBC Micro in ways that it wasn't intended for had run into the limitations of the platform and wanted something similar but bigger and faster. The Archimedes was that - and more. To get maximum performance (still very anemic by today's standards) out of a 6502 based BBC you'd have been programming in assembly and that of course did not port at all to the ARM based machines.
As I wrote in another comment I was pretty close to the fire and had very early access to the ARM architecture based beebs courtesy of a friendly contact but I realized soon enough that the future for home computing and SMB business computing did not lie with either Acorn, Atari, Commodore or any of the other contenders. In '88 or so (my memory is a bit hazy about the dates, there was a lot going on in my life back then) I moved to x86 professionally with a side of Atari ST (using the fantastic Mark Williams C compiler + documentation) for more fun stuff and with the advent of the availability of the internet for the masses I ran SGI Irix for a couple of years until I settled on Linux which has been my daily driver for decades now. Hardware architecture used to be a super important factor for me, now the only thing that matters is whether or not I can run Ubuntu and whether the hardware is sufficiently powerful to get me through my working day. The fact that my daily driver is a 12 year old laptop is a nice indication of how far we've come, it is pretty rare that I put together machines where performance really matters.
But regardless of all of that I have a fond spot in my heart for the BBC, regardless of processor used, it was the machine that allowed me to finally do some more structured programming and explore other languages without breaking the bank.
It goes further back than that, just not as backwards compatible. 4004 -> 8008, 8080 and so on. Just like the 6800, 6809, 68000 etc progression. All of these are families that have more in common with each other from one generation to the next than with other such families. It's logical: usually those were the same teams designing them with better tools and more money at their disposal, as well as a vastly increased transistor budget. Notable exception: the 6800 is in many ways simply an improved 6502 but by a different manufacturer.
Fair point, that's true in the direct lineage sense, but, 6809 to 68000 is a similar jump, there is nothing to say the one was based on the other except for general ideas and some addressing modes that turned out to be handy (when writing compilers, rather than writing assembly). Every widening of the databus caused a redesign from the ground up, even if some of the concepts survived. The 4004 was early enough that there was not much installed base to worry about so a clean start for a new chip made very good sense.
But in the 65XX family there is the 65816, a chip that tried really hard to maintain as much backward compatibility as possible. It saw some commercial deployment (Apple, Nintendo). At that point in time backwards compatibility began to have real value and intel really made some lucky calls: the weird addressing modes resulting from the lack of register width eventually culminated in a setup that worked very well for CPUs that were running multi-tasking OS's. The 386 was a very nice match for such code and this model was a major factor in the success of the line (which really was creaking badly with the 80286 out vs the 68K, which effectively had a 32 bit flat model built in because of its ability to run position independent code).
But in 1987, when the 80386 hit GA it was pretty much game over for the rest even if it took a while for the other empires to crumble, only ARM survived and that is mostly because Acorn had a completely different idea about power consumption and use of silicon than Intel did. The current crop of x86 hardware is insane in terms of power consumption and transistor count, ARM is so much more elegant (in spite of its warts).
And a nearly opposite business model too: IIUC ARM was more or less the first company to behave like it actually wanted customers for its CPU-design licenses.
Yes, that's a very good observation, ARM was always an IP company rather than a one-stop-shop and that in turn served as a very effective avenue for the evangelism of its architecture.
Some parts of the lineage are nevertheless very important. When I wrote a 8086 assembler, I’ve come across the idea of of writing the instruction encodings in octal instead of hexadecimal purely by accident, described as some sort of little-known neat trick hidden from the casual reader of the CPU documentation. It’s only by reading the manual for the Datapoint 2200 much later that I found a confirmation that this was very much intentional and (in the distant past) documented.
100%! There is clear lineage back to the Datapoint 2200 which is remarkable given that it wasn't even an Intel design and CTC gave away the rights IIRC.
Notably, no mention of Sophie Wilson, who played a pivotal role in designing the original ARM ISA.
Remarkably, the movie Micro Men also overlooked much of Sophie Wilson’s role, despite her work on ARM becoming one of the most significant technological advances in computing history, accept for a token cameo role as the pub landlady.
At the time of the original ARM ISA, Sophie Wilson was pre-transition and still a man named Roger Wilson. Not trying to be harsh, but it's really not exactly historically accurate to portray a woman being involved in the process at that time.
Acorn was doing stuff in Cambridge UK until more recently than I'd realised - it effectively incubated a load of talent that went on to find other companies. Famously ARM span out of it but many others also went on to do cool things - my current company was founded by Acorn people.
As a schoolboy I was one of a handful who were in the computer club. We had a CBM (PET) 3016, a few Acorn System Ones and a UK101 that was built by our physics teacher.
One day this big grey prototyping keyboard case turned up. There was a microcassette unit fitted for loading and saving programs, and the whole thing was connected to a colour TV via an umbilical cord that looked like a vacuum cleaner hose.
We were given task sheets with projects to complete on this unit, and we could control the TV from the keyboard, read Teletext pages AND download programs.
It was a fun piece of kit that stayed with us for a couple of months.
In hindsight, I realised that the unit was a pre-production BBC Micro and we'd been part of a pre-launch test programme thanks to that same physics teacher.
Wow! I have heard about these but have never seen one. And I was pretty close to the fire at the time so amazing that you actually worked with one. I did get a pre-production Archimedes when it was still in development and had a great time porting stuff to it.
I always loved Acorn computers. My schoolfriend and I released a commercial game on the Archimedes, and in 1994 I wrote a 3D demo suite for Acorn's new RiscPC machine (powered by ARM, of course). The good old days of hacking around!
I remember seeing their first RISC machine, the Archimedes at a computer show. Everyone thought RISC was going to be the future of computing because it was just so fast. Eventually it was I guess but x86 delayed it for a while.
The BBC micro was revolutionary. Had a few of these in school in the 1980's. This was the first machine I came across where you could program inline assembly, out of the box. Got me started on adventures with the amazing 6502 family, assembly language, RISC, hardware and a ton of fun things.
I can remember attending a meeting of the Cambridge University Computer Society (in 1985?) when a presenter from Acorn (Steve Furber?) talked about the new CPU they had developed.
I think the right adjective for the reaction of those present was 'incredulous'. A small team with no previous experience had created a powerful 32-bit design from scratch when 8-bit architectures were still commonly used.
Had anyone told us that 40 years later we'd all be carrying around the 'descendants' of that first Acorn RISC Machine in our pockets then we'd have been utterly astonished.
On the one occasion I met Steve Furber, he told me about how when they connected up the very first chip, he was surprised that the it started running before he had even connected the power.
Turns out the design was such a low power design that just the voltage from the data lines was enough to run the chip.
The American equivalent of the BBC Micro was very much the Apple II. Both based on the 6502, both dominated the market of ‘first computers purchased en masse by schools’ in the 1980s in their respective countries.
I always get the impression though that while the UK and European home computer era continued from a diverse eight-bit era of C64s, Spectrums, Amstrads and BBCs to the sixteen-bit era of Amigas and Atari STs, before the PC became dominant, in the US the early eight-bit home machines gave way much earlier to consoles - the NES at first, then the SNES and Megadrive.
At the time the Archimedes blew the nascent PC and every other machine out of the water, and yet couldn't get a toe-hold in the US market for reasons I've never quite understood. At the same point MS Windows looked shoddy at best in comparison to RiscOS.
Acorn didn't so much drop the ball as that the industry took off in a way that they simply could not have dealt with for the exact same reason that your EU start-up that is successful usually ends up being acquired: lack of access to easy capital. SV was well established by the time that the personal computer took off and even though they found their own nice niche (education) they never started out to conquer the world, they achieved their goals - and then some, see linked article - and managed to pivot fast enough and well enough to eventually give intel a run for their money, which is no mean achievement.
RiscOS wasn't even on the table for the likes of IBM and that is what it would have taken to succeed in the business market. But for many years the preferred machine to create Videotext or ATEX (automatic typesetting system) bitstreams was to have a BBC micro and there were quite a few other such interesting niches. I still know of a few BBCs running art installations that have been going non-stop for close to 45 years now. Power supplies are the biggest problem but there are people that specialize in repairing them, and there are various DIY resources as well (videos, articles).
In the 1990s, Acorn had a big deal with Oracle... Oracle NCOS was rebadged Acorn RiscOS
But I just don't think Oracle were able to sell it – and Oracle's sales people are really good, if they can't sell your product, the problem is likely the product or market fit not their sales ability
RiscOS simply had to start the whole OS cycle from scratch, it wasn't as good as what was already available on the Amiga and it wasn't Unix. It was fun to work with if you came from the BBC Micro it all made good sense and was a step up. But when looking at it from a corporate angle it wasn't quite what you'd expect from a workstation and it didn't run anything that you needed right there.
It was part of the Oracle-led Network Computer project, the main thing ported to it was the JVM, to run Java business apps. IBM also sold them (IBM Network Station), and Sun - although I believe Sun Network Computers ran JavaOS not NCOS, but still used ARM CPUs
I don't think Acorn "dropped the ball". They were doing amazing things, but they simply weren't IBM, and their PC wasn't an IBM PC. The corporate world was rapidly standardizing on PCs and MS DOS, and that it was crap didn't really matter; it was more powerful than what the corporate world before, and it had all the support it needed for business applications. Superior architecture didn't matter; killers apps did. I wish it was different and really hoped the Archimedes would be the new standard. Well, decades later the ARM would finally become the new standard.
I had a BBC B as my first computer and would likely have enjoyed having an Archimedes greatly, but in retrospect "IBM compatible" was winning the day even then.
There's a very important distinction to be made between the Beeb and the Apple II (or most other 8 bit micros).
The Beeb was a very well engineered machine, including the BASIC (which allowed in-line assembly and also allowed its functions to be called from assembly, ie other programs).
> in the US the early eight-bit home machines gave way much earlier to consoles
That’s my understanding as well. In the US the NES was huge in the late 80s, but in the UK home computers were dominant. The NES never sold well in the UK.
The 16-bit consoles did later on, though. So did the 8-bit Sega Master System, but not until the early 90s - it wasn’t a predecessor to the 16-bit machines, but a budget-friendly contemporary.
The first time I started up an Archimedes and ran Lander it really felt like the future had arrived. The smoke particles in particular (heh) were very impressive.
The Sinclair QL was a 68k machine, not an 8-bit (and famously what Linus Torvalds had before he got a 386 based PC).
Edit: 8-bit data bus though, which I didn't know until reading up on the Motorola 68008 just now! Trust Uncle Clive to cheap-out as usual...
I cut my teeth on a ZX81 and even had a Spectrum +3 later on - that was the last gasp of the 8-bit Z80 Sinclair line, although the IP was owned by Amstrad by then.
The BBCs were niche products in Britain where they were mostly used in education. They were too expensive so parents bought Sinclair Spectrums and Commodore 64s. Even the cheap BBC Model B, the Electron, was a poor seller.
We had an Electron. It was a fun little machine, that you could expand to a fun big machine. Originally 32kB RAM and 32kB ROM, ours eventually ended up with 224kB ROM due to all the expansions you could hook on the back of that thing. Didn't really help its stability, though.
The Amiga was more 2nd gen. I think the Micro equivalent was more like an Apple I/II. TRS-80/Tandy Color, or Vic-20/C64. The Amiga was Motorola 68000 based and at a clockspeed that really outran those zlog and 6502 based early devices.
The Amiga was a pretty impressive device with an OS that was fairly advanced. You could probably use it still today for word processing and sound design and not feel like you're missing much. The OS looks a lot like one of those super low-resource linux DE's.
The article... well, it doesn't bury the lede, but it does completely omit it outside of the headline. For anyone who doesn't know the context: The BBC Micro was built by Acorn Computers, which proceeded to design the Acorn RISC Machine -- later renamed to Advanced RISC Machine and thence to simply "arm".
In many ways, the tuple (BBC Micro, Acorn Computers, arm) is analogous to (IBM PC, Intel, x86).
> In many ways, the tuple (BBC Micro, Acorn Computers, arm) is analogous to (IBM PC, Intel, x86).
There was a radical difference in the relationship between the two corporations in each tuple. In the BBC-Acorn relationship, Acorn designed and manufactured the computer; BBC just offered their brand, did marketing, and supplied some high-level requirements. In the IBM-Intel relationship, IBM designed and manufactured the computer, and Intel was the CPU vendor, with many other customers. The 6502s used in the pre-ARM BBC systems were from MOS Technology–or one of their licensees, such as GTE/CMD–so those companies were really the Intel equivalent here
GTE: General Telephone & Electronics
CMD: Commodore Micro-Devices
CMD in this case being California Micro Devices, who bought GTE’s microprocessor business in the mid-to-late 1980s, and then was acquired by onsemi in 2009. The BBC Master used their CPUs
There is another CMD, Creative Micro Designs, who sold aftermarket peripherals for Commodore 64/etc
Commodore manufactured chips either under the MOS Technology or Commodore Semiconductor Group (CSG) names.
> In many ways, the tuple (BBC Micro, Acorn Computers, arm) is analogous to (IBM PC, Intel, x86)
Except the BBC micro didn't use an ARM processor - it used a 6502. Whereas the IBM PC did use the Intel processor.
Depends how nitpicky you want to be. There was an ARM “BBC Micro”.
https://www.retro-kit.co.uk/page.cfm/content/Acorn-BBC-Archi...
And the IBM PC used an 8088.
https://en.m.wikipedia.org/wiki/IBM_Personal_Computer
Let's be serious, the BBC micro is awesome but it's no more the ancestor to my phone than an Apple II.
Well the ARM's original goal was to run BBC BASIC faster than the BBC B could run assembly code.
To that end the ARM instruction set was heavily inspired by the 6502 in the Beeb and cruicially the BBC Micro was used to simulate the ARM before it went into production.
Latter the original ARM development kits were connected as second processors to Beebs courtesy of the Tube connector.
I think it's fare to say that without the BBC Micro there would be no ARM processors.
https://arstechnica.com/gadgets/2022/09/a-history-of-arm-par...
> Well the ARM's original goal was to run BBC BASIC faster than the BBC B could run assembly code.
That seems an unlikely goal given BBC BASIC was interpreted! Happy to be proven wrong but I've never heard one of the original team say that.
Sophie Wilson discusses it here[1] but I've read it in other places too. You'll have to find them yourself though.
> The second thing they didn’t do was that they weren’t fast, they weren’t easy to use. We were used to programming the 6502 in the machine code and we rather hoped that we could get to a power level such that if you wrote in a higher level language you could achieve the same types of results. So you could write 3D graphics games. You could do whatever you wanted to do without having to go all the way down to assembly language and for these processors that were on sale at the time that wasn’t true. They were too slow. So between the two things we felt we needed a better processor.
https://archive.computerhistory.org/resources/access/text/20...
Thanks for the quote which is very interesting. Not being pedantic but this isn’t quite what your original comment said. Sophie is saying ‘same type’ of results and not having to use assembly for certain applications which doesn’t imply that BASIC on ARM would be faster than 6502 assembly just that it was fast enough for their purposes.
I think it’s possible that some applications would be faster - floating point for example due to the ARM’s 32 bit registers and the 6502’s lack of even 16 bit arithmetic - but probably not in general.
The ARM1 ran at 6MHz, three times as fast as the 6502 in the BBC B.
It also had more (16 user registers vs, counting optimistically, 3) and larger (32 bit vs 8bit) registers, compared to the 8 bit registers of the 6502, and a 3-stage pipeline.
I expect that means the BASIC interpreter kept the current program position in a register, where the 6502 one used memory (likely in self modifying code), and could fetch the next token in a single cycle vs at least 5 or so for the 6502 version.
Having a faster CPU and more memory also may have meant they could be smarter in the way programs get stored.
I guess all that combined means there are programs were that goal can be met, for example programs computing a Mandelbrot image.
ARM2 added a hardware multiplier.
The interpreter is doing a lot that you’ve not mentioned here; parsing the BASIC source code for example.
You can probably make it happen. If your program uses all the same tricks that worked with 6502 BBC BASIC to reduce the interpreter overhead, the ARM BASIC version will run as well as it can. Then imagine your program does a lot of integer maths with the resident integer variables, multiplication in particular, and (for whatever reason) it needs the full 32 bit integer precision - I'm sure you would stand a chance! 32 bit operations are cheap on the ARM, and it's got a multiply instruction. No such luck with the 6502.
There was no self-modifying code. BBC BASIC was in ROM.
I don't know the internals of BBC BASIC, but many Microsoft-derived BASICs do keep track of the current location in the program text with self-modifying code; the routine is copied to a reserved portion of zero page on 6502 machines for speed. On the C64 this routine lives at $0073 and the pointer is at $007a. Because it's in RAM, this makes it a popular location for wedging in additional behaviour or commands (hence the term "wedge" for such extensions). On some systems like the PET, this was the only way to accomplish it.
It could be the point of what optimizations would be possible on the interpreter.
One of the optimizations Google introduced on Android 7, when they backtracked for AOT at installation time introduced in Android 5, was that the DEX interpreter was rewriten from scratch in cleverly manually written Assembly, before handing it over to the JIT/AOT infrastructure.
BBC Basic was also one of the few that allowed direct inline Assembly, instead of having to go through DATA blocks.
BBC BASIC wasn't JIT'd etc so not sure how all the Android comparisons come in!
Just to make the comparison more concrete the ARM1 ran at 8MHz and was 32-bit and with a lot more registers compared to the BBC Micro's 6502 running at 2MHz. It was a lot faster but not fast enough to make BBC BASIC run at BBC Micro Assembly language speed.
Missed the part about writing interpreters in Assembly?
Most folks nowadays wouldn't even think that is an option, hence the comparison with a product several decades later doing that instead of C kind of approach.
Back to ARM v1, maybe the design did take into account how to improve the developer's life of those writing in Assembly, which was critical for implementation of the whole userspace, meaning BBC Basic.
It is a bit closer link than that, the same people designed the BBC micro and ARM1.
If he'd been talking about the Acorn Archimedes, he'd have had a point.
No, he'd have even less of a point.
Except, of course there was the Archimedes. Which was a BBC Micro on steroids.
Besides, it did say 'in many ways' so I think that this is really needless nitpicking.
I have used both when I was a kid. There were nothing alike really.
I owned a BBC Micro Model B (was given one when a friend was given a 486 PC) and I used the Archimedes at school. The BBC Micro was archaic compared to the Archimedes and PCs of the time.
The Archimedes was called a "BBC Micro" because it was part of the BBC's home computing initiative, but architecturally, it had nothing to do with the original BBC Micro.
I don't recall the Archimedes ever getting called a "BBC Micro". I remember the introduction of the Archimedes. We had an Acorn Electron, and we'd seen the introduction of various "BBC Masters"; BBCs with more memory, more powerful hardware, but still a BBC. The Archimedes, was always marketed as something completely new, as far as I recall.
My brother had one. Really cool machine, and as far as I remember, on a completely different level than anything that had existed before it. Soon succeeded by the Risc PC, which I mostly remember for being able to accept various configurations of additional processors (it could get either an x86 as co-processor, or several additional ARMs).
Hardware architecture not, for very obvious reasons. But if you wrote BBC Basic you'd have felt right at home and this continuity was one of the reasons they sold quite well, lots of people that were using the BBC Micro in ways that it wasn't intended for had run into the limitations of the platform and wanted something similar but bigger and faster. The Archimedes was that - and more. To get maximum performance (still very anemic by today's standards) out of a 6502 based BBC you'd have been programming in assembly and that of course did not port at all to the ARM based machines.
As I wrote in another comment I was pretty close to the fire and had very early access to the ARM architecture based beebs courtesy of a friendly contact but I realized soon enough that the future for home computing and SMB business computing did not lie with either Acorn, Atari, Commodore or any of the other contenders. In '88 or so (my memory is a bit hazy about the dates, there was a lot going on in my life back then) I moved to x86 professionally with a side of Atari ST (using the fantastic Mark Williams C compiler + documentation) for more fun stuff and with the advent of the availability of the internet for the masses I ran SGI Irix for a couple of years until I settled on Linux which has been my daily driver for decades now. Hardware architecture used to be a super important factor for me, now the only thing that matters is whether or not I can run Ubuntu and whether the hardware is sufficiently powerful to get me through my working day. The fact that my daily driver is a 12 year old laptop is a nice indication of how far we've come, it is pretty rare that I put together machines where performance really matters.
But regardless of all of that I have a fond spot in my heart for the BBC, regardless of processor used, it was the machine that allowed me to finally do some more structured programming and explore other languages without breaking the bank.
Somewhat more than that. RISC OS was MOS on steroids too.
Sort of true, but yet, what does my eye spy on an early Archimedes A310 keyboard?
(detail: https://www.retro-kit.co.uk/user/custom/Acorn/32bit/A310/310... )
(full article for reference: https://www.retro-kit.co.uk/page.cfm/content/Acorn-BBC-Archi... )
... and besides, it runs BBC BASIC!
Sure, but modern x86 has very little in common with the 8088.
Depends on how you define "common" but the entire lineage 8080 -> 8086 -> 8088 are backwards compatible and therefore are very much related.
It goes further back than that, just not as backwards compatible. 4004 -> 8008, 8080 and so on. Just like the 6800, 6809, 68000 etc progression. All of these are families that have more in common with each other from one generation to the next than with other such families. It's logical: usually those were the same teams designing them with better tools and more money at their disposal, as well as a vastly increased transistor budget. Notable exception: the 6800 is in many ways simply an improved 6502 but by a different manufacturer.
The 8008 is not a 4004 descendant, though: it was a new design originally done for the Datapoint 2200!
Fair point, that's true in the direct lineage sense, but, 6809 to 68000 is a similar jump, there is nothing to say the one was based on the other except for general ideas and some addressing modes that turned out to be handy (when writing compilers, rather than writing assembly). Every widening of the databus caused a redesign from the ground up, even if some of the concepts survived. The 4004 was early enough that there was not much installed base to worry about so a clean start for a new chip made very good sense.
But in the 65XX family there is the 65816, a chip that tried really hard to maintain as much backward compatibility as possible. It saw some commercial deployment (Apple, Nintendo). At that point in time backwards compatibility began to have real value and intel really made some lucky calls: the weird addressing modes resulting from the lack of register width eventually culminated in a setup that worked very well for CPUs that were running multi-tasking OS's. The 386 was a very nice match for such code and this model was a major factor in the success of the line (which really was creaking badly with the 80286 out vs the 68K, which effectively had a 32 bit flat model built in because of its ability to run position independent code).
But in 1987, when the 80386 hit GA it was pretty much game over for the rest even if it took a while for the other empires to crumble, only ARM survived and that is mostly because Acorn had a completely different idea about power consumption and use of silicon than Intel did. The current crop of x86 hardware is insane in terms of power consumption and transistor count, ARM is so much more elegant (in spite of its warts).
And a nearly opposite business model too: IIUC ARM was more or less the first company to behave like it actually wanted customers for its CPU-design licenses.
Yes, that's a very good observation, ARM was always an IP company rather than a one-stop-shop and that in turn served as a very effective avenue for the evangelism of its architecture.
With Datapoint’s own ISA of course!
Another similar exception is the Z80 to the 8080.
That's Zilog, not Intel!
8080 -> 8086 not compatible although assembly code translation was possible.
Some parts of the lineage are nevertheless very important. When I wrote a 8086 assembler, I’ve come across the idea of of writing the instruction encodings in octal instead of hexadecimal purely by accident, described as some sort of little-known neat trick hidden from the casual reader of the CPU documentation. It’s only by reading the manual for the Datapoint 2200 much later that I found a confirmation that this was very much intentional and (in the distant past) documented.
100%! There is clear lineage back to the Datapoint 2200 which is remarkable given that it wasn't even an Intel design and CTC gave away the rights IIRC.
The 16-bit mode instruction set of a modern x86 is almost entirely a superset of the 8088.
Notably, no mention of Sophie Wilson, who played a pivotal role in designing the original ARM ISA.
Remarkably, the movie Micro Men also overlooked much of Sophie Wilson’s role, despite her work on ARM becoming one of the most significant technological advances in computing history, accept for a token cameo role as the pub landlady.
At the time of the original ARM ISA, Sophie Wilson was pre-transition and still a man named Roger Wilson. Not trying to be harsh, but it's really not exactly historically accurate to portray a woman being involved in the process at that time.
Acorn was doing stuff in Cambridge UK until more recently than I'd realised - it effectively incubated a load of talent that went on to find other companies. Famously ARM span out of it but many others also went on to do cool things - my current company was founded by Acorn people.
Well, I still own the ancestor - a BBC B.
As a schoolboy I was one of a handful who were in the computer club. We had a CBM (PET) 3016, a few Acorn System Ones and a UK101 that was built by our physics teacher.
One day this big grey prototyping keyboard case turned up. There was a microcassette unit fitted for loading and saving programs, and the whole thing was connected to a colour TV via an umbilical cord that looked like a vacuum cleaner hose.
We were given task sheets with projects to complete on this unit, and we could control the TV from the keyboard, read Teletext pages AND download programs.
It was a fun piece of kit that stayed with us for a couple of months.
In hindsight, I realised that the unit was a pre-production BBC Micro and we'd been part of a pre-launch test programme thanks to that same physics teacher.
Wow! I have heard about these but have never seen one. And I was pretty close to the fire at the time so amazing that you actually worked with one. I did get a pre-production Archimedes when it was still in development and had a great time porting stuff to it.
Was this the one:
https://chrisacorns.computinghistory.org.uk/Computers/A500.h...
At Netherhall?
I always loved Acorn computers. My schoolfriend and I released a commercial game on the Archimedes, and in 1994 I wrote a 3D demo suite for Acorn's new RiscPC machine (powered by ARM, of course). The good old days of hacking around!
Do you mind sharing what game that was?
Of course. It was Redshift, released by Minerva software in 1990.
Someone uploaded a video of it in action
https://www.youtube.com/watch?v=VeENpUXvYhg
I remember seeing their first RISC machine, the Archimedes at a computer show. Everyone thought RISC was going to be the future of computing because it was just so fast. Eventually it was I guess but x86 delayed it for a while.
The article says, "ARM-based chips are found in nearly 60 percent of the world’s mobile devices".
Does this 60% number include laptops? If not, I'd wager that number is greater than 95%.
There's a good BBC emulator in your browser here, for those who want to play:
https://bbc.xania.org/
The BBC micro was revolutionary. Had a few of these in school in the 1980's. This was the first machine I came across where you could program inline assembly, out of the box. Got me started on adventures with the amazing 6502 family, assembly language, RISC, hardware and a ton of fun things.
I can remember attending a meeting of the Cambridge University Computer Society (in 1985?) when a presenter from Acorn (Steve Furber?) talked about the new CPU they had developed.
I think the right adjective for the reaction of those present was 'incredulous'. A small team with no previous experience had created a powerful 32-bit design from scratch when 8-bit architectures were still commonly used.
Had anyone told us that 40 years later we'd all be carrying around the 'descendants' of that first Acorn RISC Machine in our pockets then we'd have been utterly astonished.
Notably it was the first CPU they designed and the first silicon worked out of the box.
On the one occasion I met Steve Furber, he told me about how when they connected up the very first chip, he was surprised that the it started running before he had even connected the power.
Turns out the design was such a low power design that just the voltage from the data lines was enough to run the chip.
A BBC micro was my first computer. Americans had Amegas or something, but I had a BBC and a big book with example BASIC programs.
The American equivalent of the BBC Micro was very much the Apple II. Both based on the 6502, both dominated the market of ‘first computers purchased en masse by schools’ in the 1980s in their respective countries.
I always get the impression though that while the UK and European home computer era continued from a diverse eight-bit era of C64s, Spectrums, Amstrads and BBCs to the sixteen-bit era of Amigas and Atari STs, before the PC became dominant, in the US the early eight-bit home machines gave way much earlier to consoles - the NES at first, then the SNES and Megadrive.
For whatever reason, Acorn dropped the ball.
At the time the Archimedes blew the nascent PC and every other machine out of the water, and yet couldn't get a toe-hold in the US market for reasons I've never quite understood. At the same point MS Windows looked shoddy at best in comparison to RiscOS.
Acorn didn't so much drop the ball as that the industry took off in a way that they simply could not have dealt with for the exact same reason that your EU start-up that is successful usually ends up being acquired: lack of access to easy capital. SV was well established by the time that the personal computer took off and even though they found their own nice niche (education) they never started out to conquer the world, they achieved their goals - and then some, see linked article - and managed to pivot fast enough and well enough to eventually give intel a run for their money, which is no mean achievement.
RiscOS wasn't even on the table for the likes of IBM and that is what it would have taken to succeed in the business market. But for many years the preferred machine to create Videotext or ATEX (automatic typesetting system) bitstreams was to have a BBC micro and there were quite a few other such interesting niches. I still know of a few BBCs running art installations that have been going non-stop for close to 45 years now. Power supplies are the biggest problem but there are people that specialize in repairing them, and there are various DIY resources as well (videos, articles).
In the 1990s, Acorn had a big deal with Oracle... Oracle NCOS was rebadged Acorn RiscOS
But I just don't think Oracle were able to sell it – and Oracle's sales people are really good, if they can't sell your product, the problem is likely the product or market fit not their sales ability
I didn't know that, thank you.
RiscOS simply had to start the whole OS cycle from scratch, it wasn't as good as what was already available on the Amiga and it wasn't Unix. It was fun to work with if you came from the BBC Micro it all made good sense and was a step up. But when looking at it from a corporate angle it wasn't quite what you'd expect from a workstation and it didn't run anything that you needed right there.
Did Oracle port any applications to it?
It was part of the Oracle-led Network Computer project, the main thing ported to it was the JVM, to run Java business apps. IBM also sold them (IBM Network Station), and Sun - although I believe Sun Network Computers ran JavaOS not NCOS, but still used ARM CPUs
That is such a bit of neat lore. Thank you.
I don't think Acorn "dropped the ball". They were doing amazing things, but they simply weren't IBM, and their PC wasn't an IBM PC. The corporate world was rapidly standardizing on PCs and MS DOS, and that it was crap didn't really matter; it was more powerful than what the corporate world before, and it had all the support it needed for business applications. Superior architecture didn't matter; killers apps did. I wish it was different and really hoped the Archimedes would be the new standard. Well, decades later the ARM would finally become the new standard.
The 80s were crazy. In 1981 Sinclair had a market with a 1KB machine and in 1985 the Amiga came out.
That's 4 years! The 386 came out in 1985 too.
I think Acorn did quite well and its legacy still lives on through ARM. Where's IBM in the desktop or CPU market?
I had a BBC B as my first computer and would likely have enjoyed having an Archimedes greatly, but in retrospect "IBM compatible" was winning the day even then.
There's a very important distinction to be made between the Beeb and the Apple II (or most other 8 bit micros).
The Beeb was a very well engineered machine, including the BASIC (which allowed in-line assembly and also allowed its functions to be called from assembly, ie other programs).
> in the US the early eight-bit home machines gave way much earlier to consoles
That’s my understanding as well. In the US the NES was huge in the late 80s, but in the UK home computers were dominant. The NES never sold well in the UK.
The 16-bit consoles did later on, though. So did the 8-bit Sega Master System, but not until the early 90s - it wasn’t a predecessor to the 16-bit machines, but a budget-friendly contemporary.
Yep, Acorn competitor to the Amiga and ST would was the Archimedes (followed by the A series and Risc PC).
The Archimedes was powered by a 32-bit ARM 2 and it was awesome. :D
The first time I started up an Archimedes and ran Lander it really felt like the future had arrived. The smoke particles in particular (heh) were very impressive.
The Archimedes was too expensive and not very well supported. The Amiga and ST wiped the floor with it.
The Amiga was much bigger in Europe/UK than the US, though.
The Apple II would be an example of the opposite.
Currency exchange rates in the early 80s meant that most US machines were much more expensive than their European equivalents.
Commodore, the owner of Amiga, was an American company but they had factories in Europe.
Commodore Amiga and Atari ST were 16-bit 68000 chips.
The BBC Micro was 8 bit and a 6502 chip, that era had at least the following:
BBC Atom, Micro, Electron, Master
Commodore Pet, Vic32, Commodore 64
Atari 400/800 XL
Tandy TRS80
Oric Atmos
Sinclair ZX80, 81, Spectrum, QL
Amstrad CPC 464
Dragon 32/64
MSX machines
The Sinclair QL was a 68k machine, not an 8-bit (and famously what Linus Torvalds had before he got a 386 based PC).
Edit: 8-bit data bus though, which I didn't know until reading up on the Motorola 68008 just now! Trust Uncle Clive to cheap-out as usual...
I cut my teeth on a ZX81 and even had a Spectrum +3 later on - that was the last gasp of the 8-bit Z80 Sinclair line, although the IP was owned by Amstrad by then.
The QL indeed had a 68008, and at the time there was a lot of debate about what bitness it really was. Bit the real cheapskatery was the microdrives.
The BBCs were niche products in Britain where they were mostly used in education. They were too expensive so parents bought Sinclair Spectrums and Commodore 64s. Even the cheap BBC Model B, the Electron, was a poor seller.
We had an Electron. It was a fun little machine, that you could expand to a fun big machine. Originally 32kB RAM and 32kB ROM, ours eventually ended up with 224kB ROM due to all the expansions you could hook on the back of that thing. Didn't really help its stability, though.
The Amiga was more 2nd gen. I think the Micro equivalent was more like an Apple I/II. TRS-80/Tandy Color, or Vic-20/C64. The Amiga was Motorola 68000 based and at a clockspeed that really outran those zlog and 6502 based early devices.
The Amiga was a pretty impressive device with an OS that was fairly advanced. You could probably use it still today for word processing and sound design and not feel like you're missing much. The OS looks a lot like one of those super low-resource linux DE's.
Who were the people behind it? Is there a "Woz and Jobs" story to tell here?
Not exactly, but close, the BBC made Micro Men (2009) which covers the whole era, in a relatively accurate way... https://en.wikipedia.org/wiki/Micro_Men
I still think about how great Castle Quest for the BBC was. That game was killer
I had one of these as a kid. Fond memories.
10 PRINT "COMMODORE 64 > *"
20 GOTO10
RUN
It would have been more apposite had you written it in BBC BASIC.
Is that not polyglot? Maybe needs GOTO(space)10