One more OS that I feel compelled to write about today: RISC OS.
I’ve been feeling a compulsion to take the time to write a lot of posts: so that first-time visitors to my site will have material to read, but also because I’ve realized that I wasted so much time posting my half-baked thoughts to Twitter that I could have instead composed and written about in a more professional, permanent form. At the time, I considered my tweets to be rough drafts, so I suppose it’s time to write for me to write the final copy.
So what’s interesting about RISC OS? It’s been available on the Raspberry Pi from the beginning, but it’s always been the OS that nobody cares much about. It was only after quality YouTube videos explaining how to use it, and I found out about RISC OS Open that I actually took the time to look at it. Here’s what I found out.
As an Amiga fanatic during the time period of the Acorn Archimedes and the successor Risc PC, I can safely say that, despite being somewhat plugged into the UK tech scene due to the lack of US-based interest in the Amiga, I never spent any time whatsoever thinking about these machines. They simply weren’t an option on this side of the Atlantic. They were entirely absent from our 16/32-bit scene.
RISC OS is noteworthy because the Acorn Archimedes launched the ARM processor that’s inside everything. This is before mobile phones and before the Psion Series 5 organizers. If you remember the early days of Windows CE, there were several different CPU architectures to choose from (confusingly), including low-power CMOS Intel x86 CPUs (the early BlackBerry two-way pagers used an Intel 80386EX CPU, and only switched to ARM when they became cellphones).
The ARM instruction set was designed by Sophie Wilson, and props to her for the clever design. Sadly, many of its interesting quirks, like the barrel shifter and conditional execution where streamlined or removed in the AArch64 64-bit instruction set that everyone has moved to. Such is life.
Sophie Wilson also wrote the BASIC that comes with the Archimedes, which goes back to the original BBC BASIC for the BBC Micro 8-bit home computer, which, again, was completely and utterly absent from North America. I really like BBC BASIC for a couple of reasons: it supported “structured programming” from the beginning, unlike the Microsoft BASIC that most American computer lines came with; it had instructions for graphics, unlike the BASIC 2.0 in my Commodore 64; and it had a built-in assembler so you could write assembly-language routines inline with your BASIC code, instead of having to use a separate assembler and then some sort of loader to integrate with BASIC, which was quite painful on the Commodore 8-bits as well.
It makes me a bit irritated that Bill Gates strong-armed the industry into bundling his clunky old BASIC with all its limitations. Their BASIC ports for Amiga and Macintosh were both terrible, and I wonder how many copies they actually sold of the Mac version, considering I never saw anyone use it or reference it, except in histories of the Mac that talk about better BASICs that might have been. Sigh.
Back to RISC OS: it’s intriguing in its history, being backward compatible at the BASIC level and to some extent at the system call level. There’s a recent GCC cross-compiler with some level of POSIX compatibility, that comes with an ELF executable loader so you can build shared libraries. Honestly, I’ve forgotten 98% of what I learned about GCCSDK and Autobuilder, sadly.
One reason I wanted to try to remember my time last year messing around with RISC OS is that there are actually cash bounties for people who want to implement features that it’s currently missing. I’m pretty sure I could snag a few of them and earn myself a couple thousand quid, as the Brits call their money. The GBP is really weak against the USD right now, sadly. Brexit messed y’all up.
Leave a Reply