Kevin's Research Blog

RISC-OS: Where the Adventure all began

So, this is my very first time really writing about RISC-OS publicly. I was at one point going to create a set of YouTube videos showing what I've learned about RISC-OS, but when it comes to video production, I can be a tad lazy in that department. I find it much easier to write than to go through a whole production process. Anyways, My name is Kevin, and I have been tinkering with RISC-OS for several years now, off and on, fell off the wagon for a bit, but I'm back into RISC-OS again.

As some may or may not know, RISC-OS is an operating system which is solely developed for the ARM CPU, although it is possible to get it running on a PC through the use of various emulators. Myself, I use it both natively on a Raspberry Pi 1, which runs amazingly well. If you have an older Pi in your collection that is just collecting dust, do yourself a favour and Download it today! It will bring new life to this aging hardware. The above link a flavour of the operating system which includes a lot of useful programs out of the box, and still supports all the older models. There is another version which you can download, which is aimed at the more modern Pis, but it does not run RISC-OS natively, and instead it will run on top of a Linux OS inside an emulator. Why? Because unfortunately RISC-OS isn't yet 64-bit compatible, and the modern 64-bit ARM processors no longer support 32-bit programs. Yeah, ARM is perhaps too forward thinking in that regard, where with the x86 platform, in theory you could still boot DOS on a modern 64-bit machine. Anyways, there is a project underway called Moonshot which aims to update RISC-OS so that it will run natively on 64-bit hardware.

I didn't grow up in the United Kingdom and unfortunately wasn't exposed to this rather amazing and truly underrated hardware and operating systems. I'll be writing more about the BBC Micro soon. My first exposure to what RISC-OS is was through various online articles, and screenshots, oh and of course the rather amazing ROX-Filer which was my go-to file manager on Linux for years, and I still do occasionally use it. You see, this rather stellar file manager is based on the Filer provided in the RISC-OS operating system. I believe I knew that at the time, and then briefly looked up some information on it, and assumed it was a dated UNIX variant and moved on with my life. Back then, in the mid-2000s, RISC-OS wasn't available for anyone to download and use, and as a result, it had very limited exposure online. I believe some emulators did exist back then, but there was no Raspberry Pis, and access to the ROMs was at the time a paid experience.

RISC-OS Advantages

So, now that RISC-OS is essentially available to everyone, why would you want to use it? Here are some key points that I will list on how it can be better in some ways to running just Linux on your 32-bit compatible Raspberry Pi, personally, I'm not sure if the version which boots from Linux inside an emulator on the 64-bit Pi 5 is entirely worth it, but might one day give it a shot to see...

Some of the reasons which you may not wish to use this on a Pi, although an original Pi with Linux can barely browse the web anyways...

The RISC-OS Legacy

RISC-OS is an operating system which was originally released on the Acorn Archimedes as the Arthur operating system, which was later renamed to RISC-OS 2 on the next version of that operating system. It had a fully graphical desktop environment, and at first glance, really seemed a head of it's time. It released in 1987, and had almost the same look that RISC-OS has today, with a modern looking dock sitting at the bottom of your screen, before even Microsoft or Apple had a similar concept of either a Dock or a Task Bar, and RISC-OS, then called Arthur had this. The Icon Bar as it is known functions both as a way to launch your applications, access your storage devices, and to see any of your running tasks. Albeit, Arthur was much more primitive, and from my own personal testing of it, had status icons on the bar, whereas RISC-OS 2, had a proper full-size icon-based task display.

It actually look me a bit of effort to even get a working Arthur environment, as it doesn't seem that easy to get it running under modern RISC-OS emulators. For those whom are wanting to give it a shot, I got it running under the Archie emulator which runs under MS-DOS, but works surprisingly well in DOSBox. Finding the Arthur ROMs is fairly easy, there are a lot of preservation sites hosting them these days. One thing to note is that Archie expects 4 ROM files for each of the ICs in the system, and Arthur was a rather small operating system and only needed a single ROM chip. What I did was after copying the ROM file into ic24.rom as the emulator needed, is to copy this file to ic25.rom, ic26.rom, and ic27.rom, and it was able to start-up fine. It wasn't very useful, as it is incredibly barebones, even when compared to the next version, RISC-OS 2. If you wanted to check it out, it will only be for educational purposes in computer history, I can assure you that.

Probably the most interesting part about the legacy of RISC-OS is it's backwards compatibility with the original BBC Micro, which I didn't originally expect. In fact, this is what really got me more curious in the BBC Micro, as the version of RISC-OS I got for my Pi included an emulator for the Micro, BeebIt. When I decided to give it a shot, I was shocked to notice that it shared some similarities with the modern RISC-OS. The so-called star-commands in RISC-OS originate from the Micro, and that isn't the only thing that is sort of backwards compatible either. Modern RISC-OS, and yes, even the ones released for the Pi, all support the same retro screen modes as the Micro! Furthermore, most BBC BASIC programs, as long as they don't use any specific hardware or in-line assembly should just work if run on modern RISC-OS! That is rather incredible. So, to recap, modern RISC-OS supports these in some capacity from the BBC Micro era:

In the modern RISC-OS flavour that I have, the developer of the project even included an icon to launch into BBC BASIC in RISC-OS that mimics how the BBC Micro's BASIC worked from boot. Even more, you can even set up specific system parameters to have RISC-OS boot directly to BASIC!

I'll be diving more into the BBC Micro in future posts, as this machine is absolutely incredibly and very forward thinking. It's a shame that a lot of people, including myself were never exposed to it back in the day. Which is actually the main reason I wanted to start writing this blog, as I wanted to write about my own experiences in exploring this eco-system that I don't think many others have noticed.

Future posts to look forward to

As a fun addition to this blog, which many other blogs don't do, is I will be concluding each post with this type of section. Think of it sort of like that cliff-hanger in that TV show you've been bingeing, a way to get you, the reader, excited for what will come next.

I am planning on writing more about RISC-OS of course, such as some basic tips on the operating on how to get started for the absolute beginner. RISC-OS is not like your traditional operating system and has some rather interesting conventions, that make more sense once you begin using RISC-OS. One such example is the use of all three buttons on your mouse, so you better get a three button mouse. Pushing in your wheel on a scroll mouse works too of course. This sort of thing might throw some new users off, but if you stick with it, it becomes rather fun to work with and makes more and more sense the more you use the system.

I will also be talking more deeply about the file system structure, and how it boots up. This one took me a fair amount of research, as there isn't a lot of information on this in a single place, and as a result, I actually dived directly into the !Boot application itself and followed each of the boot files to see how the thing works from the lowest level possible, so I am rather excited to write about this one.

I have some other ideas for other articles as well, but I think these should be fine for both a new user and an experienced user of RISC-OS to become excited for any future posts. For the moment, I will try my hardest to post a new article every day. I would have wrote more in this article, or even wrote more than one today, but I feel that it is best to both have these in separate articles and on separate days.

Happy RISCing!

#riscos