Raspberry Pi goes old school with OS designed for first ARM chips

RISC OS, designed for ARM PCs in 1987, comes to the Pi.

The Raspberry Pi Foundation yesterday announced the availability of RISC OS for the tiny computer. RISC OS dates to 1987, having been developed for ARM-based personal computers by the now-defunct Acorn Computers.

Acorn helped start the ARM Holdings company which today dominates the market for mobile phone and tablet chip designs. Raspberry Pi founder Eben Upton wrote that he's excited about bringing RISC OS to the Raspberry Pi in part because "its origins can be traced back to the original team that developed the ARM microprocessor." Although it's not Linux, RISC OS is being made available for free to Raspberry Pi users on the official download page, alongside distributions of Debian and Arch Linux designed for the Pi.

RISC OS is owned by a company called Castle Technology and the code is maintained on a mostly volunteer basis by a group called RISC OS Open Limited, which is selling SD cards preloaded with the OS and ready for the Pi. So why use RISC OS on the Raspberry Pi? A post in the Raspberry Pi forums explains that the operating system is well-suited to the hardware because it is so lightweight.

"It's small. It's fast. RISC OS is a full desktop OS, where the core system including windowing system and a few apps fits inside 6MB," the post (written by University of Cambridge computer researcher Theo Markettos) explains. "It was developed at a time when the fastest desktop computer was an 8MHz ARM2 with 512KB of RAM. That means it's fast and responsive on modern hardware. The memory taken by apps is usually counted in the kilobytes. A 700MHz 256MB Raspberry Pi is luxury—what to do with all that memory?"

The post goes on to say that RISC OS is much simpler and easier to understand than modern operating systems such as Linux. "RISC OS gets out of the way. It's a 'co-operatively multi-tasked' OS. While that means one misbehaving application can stall the system until you kill it, it also means you easily write apps that take over the whole machine—for example controlling hardware where you need predictable timing. RISC OS is a single-user OS, which means there's very little security—not great for internet banking, but very handy when you want to dig around and program the internals of the OS."

Raspbian "wheezy," based on Debian, is still the recommended Raspberry Pi operating system for people just getting started, with Arch Linux available for more advanced users. But the arrival of RISC OS gives users more options, and it won't be the last addition. The Raspberry Pi Foundation recently said it aims to make it easier to port operating systems to the Pi by releasing more of its drivers as open source code.

Promoted Comments

RISC OS is wonderful. It has a really great GUI and to do this day has my favourite filer of all OSs. I used it on an ARM-based desktop machine with less than 32MB ram in preference to Intel Windows machines with hundreds of MB of ram as late as the year 2002 at least. The whole OS and essential apps fit in 6MB of ROM built into the motherboard, so you didn't even require a HD. And this was with equivalent end-user functionality to Windows XP (and featuring a better, much more consistent UI). In terms of desktop usability and responsiveness, the 200MHz ARM chips of the day could seemingly match your high-end GHz Pentiums for your basic tasks like email, browsing, word processing, drawing etc.

The only problem it has is that it /looks/ old-fashioned, but don't let that stop you enjoying it. FYI, mouse-click context-sensitive menus and the "task" bar at the bottom of the screen originated with RISC OS, and I still think its implementation of those features is unbeaten.

39 Reader Comments

We had a couple of Archimedes at my high school which ran this os and they were great. There were a few games available - lemmings probably being the standout one, and an e-type car racer and flight sim. There was also a lander type game which was really hard to control with the mouse, I think that was built in to the os.

I really liked the Acorn computers we had at school. I remember the user experience being leaps and bounds ahead of what the early IBM compatible PCs had to offer at the time. I also learnt to program in BASIC on the earlier BBC micro and then continuing on an Archimedes.

Was very sad to see Acorn go, but they did give birth to ARM (also based in my home city of Cambridge) who continue to do amazing things. I will be good to play with this OS again.

OK, let me see if I have this right, all these games are already written and for the right CPU architecture. Is the new architecture backwards compatible? Should be but I don't know. So these games could, in principle be dropped into the RP RISC desktop and run? And perhaps run even better than on the original ARM machines?

OK, let me see if I have this right, all these games are already written and for the right CPU architecture. Is the new architecture not backwards compatible? Should be but I don't know. So these games could, in principle be dropped into the RP RISC desktop and run? And perhaps run even better than on the original ARM machines?

What about copyright and assorted legal issues?

If these games become available maybe I can get the kids interested.

I suspect they're not binary compatible, but surely could be recompiled targeting the RP.

OK, let me see if I have this right, all these games are already written and for the right CPU architecture. Is the new architecture not backwards compatible? Should be but I don't know. So these games could, in principle be dropped into the RP RISC desktop and run? And perhaps run even better than on the original ARM machines?

What about copyright and assorted legal issues?

If these games become available maybe I can get the kids interested.

It's been a long time between those CPUs and the modern ARM architecture, and there wasn't ever a strong need for backwards compatibility to that far back when they became a mobile CPU provider. I would be a little surprised if there weren't a few compatibility issues.

Interestingly ARM ltd was founded as a partnership between Acorn, VLSI and everyone's favourite tablet vendor Apple, after Acorn developed the ARM (originally Acorn Risc Machine) internally. Not sure that Apple held on to their stock after the Newton though.

I'm definitely tempted to get a Pi to try the latest RISC OS, Zarch almost definitely won't work on it, it stopped working on RiscPCs because of the video hardware being different. I'm not sure I'd be able to get Impression Publisher to work either since it had a hardware dongle for the printer port.

RISC OS is wonderful. It has a really great GUI and to do this day has my favourite filer of all OSs. I used it on an ARM-based desktop machine with less than 32MB ram in preference to Intel Windows machines with hundreds of MB of ram as late as the year 2002 at least. The whole OS and essential apps fit in 6MB of ROM built into the motherboard, so you didn't even require a HD. And this was with equivalent end-user functionality to Windows XP (and featuring a better, much more consistent UI). In terms of desktop usability and responsiveness, the 200MHz ARM chips of the day could seemingly match your high-end GHz Pentiums for your basic tasks like email, browsing, word processing, drawing etc.

The only problem it has is that it /looks/ old-fashioned, but don't let that stop you enjoying it. FYI, mouse-click context-sensitive menus and the "task" bar at the bottom of the screen originated with RISC OS, and I still think its implementation of those features is unbeaten.

Zarch almost definitely won't work on it, it stopped working on RiscPCs because of the video hardware being different. I'm not sure I'd be able to get Impression Publisher to work either since it had a hardware dongle for the printer port.

Updated versions of Zarch and Impression were released at some point to work on RiscPCs (et al) and the latter without hardware dongle. How you get ahold of these updates nowadays I've no idea.

Are there any applications for RISC OS that will run on the RP?This is beginning to get interesting, maybe I should get one.

The ROM chip came preloaded with various applications, for example:• Edit — a simple text editor (unlikely to have been updated for Unicode compatibility, correct me if I'm wrong). There appears to be a more advanced text editor called "SrcEdit", also free.• Paint — a simple bitmap painting program• Draw — a vector drawing program similar to LibreOffice Draw — though a bit simpler than modern applications, it was surprising what you could to with it because it derived both simplicity and power from plain vector mathematics. Check this out, for example:http://slyman.org/m_projects/TaylorValv ... el_PCB.pngThere's now a freeware utility for converting (Risc OS) Draw files to DXF (AutoDesk)... Draw2DXF

Those who want to run original BBC software like Elite or various OLD educational games might consider this instead:http://www.mkw.me.uk/beebem/— This emulator for x86 PCs is practically perfect, in my opinion. It can be configured to emulate practically any BBC microcomputer.

Updated versions of Zarch and Impression were released at some point to work on RiscPCs (et al) and the latter without hardware dongle. How you get ahold of these updates nowadays I've no idea.

Awesome, I can read my old school work again

Btw if any one's looking for a more modern version of Elite, Oolite runs on Linux, OS X and Windows.

Although I loved RISC OS from my A3000 to my (still working) RISC PC the "advantages" of RISC OS described in the article look suspiciously like the ones that were bandied around of Mac OS before OS X.

Software written for the pre-RISC PC machines won't run under the new RISC OS. The pre-RISC PC used a single 32-bit register to hold both a 24-bit program counter (giving 26 bits of program space because instructions are always word aligned, making the two least significant bits implicit) and 8 bits of status. The chip used in the RISC PC switched to a full 32 bits of program counter space with a backwards compatibility mode but that mode has long since vanished from the silicon.

Furthermore, given that 64mb was quite large for a single binary in the mid-90s (and still is now — a quick check inside the iTunes bundle reveals the binary to be 40.6mb, and that's famously bloated), it's probably a safe bet that many applications will have stayed with 24/26-bit program counter for across-the-range compatibility, regardless of whether they were updated during the RISC PC's lifetime.

Are there any applications for RISC OS that will run on the RP?This is beginning to get interesting, maybe I should get one.

The ROM chip came preloaded with various applications, for example:• Edit — a simple text editor (unlikely to have been updated for Unicode compatibility, correct me if I'm wrong). There appears to be a more advanced text editor called "SrcEdit", also free.• Paint — a simple bitmap painting program• Draw — a vector drawing program similar to LibreOffice Draw — though a bit simpler than modern applications, it was surprising what you could to with it because it derived both simplicity and power from plain vector mathematics. Check this out, for example:http://slyman.org/m_projects/TaylorValv ... el_PCB.pngThere's now a freeware utility for converting (Risc OS) Draw files to DXF (AutoDesk)... Draw2DXF

Those who want to run original BBC software like Elite or various OLD educational games might consider this instead:http://www.mkw.me.uk/beebem/— This emulator for x86 PCs is practically perfect, in my opinion. It can be configured to emulate practically any BBC microcomputer.

I've never actually used (or even seen) a BBC micro, although I've read about em for many years.

The emulator runs in Win 7 x64, but it looks like the graphics drivers die and you end up with a DOS like prompt

-- BBC Computer 32k

-- Acorn DFS

-- BASIC

-- >

Maybe this needs to be run from an XP VM to see the desktop.

Lots of great info posted BTW, thanx.

Edit: checked the FAQ and this baby needs some configuration for the display and storage. It does not look difficult, but I have some reading to do. Also, there may be some localization issues, I tried to echo the obligatory 'hello world' to the screen (I've not used basic recently) and the " echos on the screen as a divide sign, many of the shifted number keys give different symbols, including the pound sign.

There is no desktop on the BBC Micro. It's an 8-bit computer dating from 1981, comparable to the Commodore 64. What you're seeing there is the means you have of interacting with it.

If you want a desktop, use RISC OS.

Yeah, like my old Apple ][, but they eventually came out with a desktop for it, mouse, err, something, eventually evolving to GS/OS. I may still have the disks somewhere. It was rather primitive, but it worked.

As I said, I've only read about the RISC over the years, but I do recall a desktop.

No matter, this is a blast from the past, let's see what this baby can do.

Regarding compatibility: Cliff's notes: Your old games probably won't run on a Raspberry Pi, unless someone's made an updated version.

RISC OS software compatibility has been broken four times by hardware changes.

The first time was with the change from the original ARM2/3 (ARMv2) machines to the RiscPC, in 1994. The RiscPC had a somewhat different video controller, so some games and demos were broken.

The second time was with the release of the DEC StrongARM in the RiscPC, in 1996. It used split instruction and data caches, so self-modifying code often broke. (Mac users had already gone through the exact same problem a few years prior with the 68040.)

The third time was in 2002, when the first 32-bit-only RISC OS machine had been introduced. As was mentioned before, the first-generation ARM2/3 machines had 26-bit addressing and used the unused bits in the program counter for status flags. The ARM6/7 (ARMv3 - however, there are ARMv4T and ARMv5TEJ versions of the ARM7) and StrongARM (ARMv4) all had backwards compatibility for this 26-bit mode, as well.

But, the ARM9 was never actually produced in an ARMv4 version (only ARMv4T (Thumb), ARMv5TE (Thumb and enhanced DSP instructions), and ARMv5TEJ (ARMv5TE + Java acceleration instructions)), so it had Thumb instructions instead of the 26-bit addressing mode, and no subsequent processors were available in non-Thumb versions. Acorn had gotten out of computers in 1998, and Pace Micro ended up with the OS (intending to use it for set-top box use). End result, they fully 32-bitted the OS... and then scrapped that project in favor of a Linux-based STB. As far as I know, the end result was that Castle Technology, who had taken over production of Acorn's computers, ended up with both the OS and the motherboard design, which was then tweaked into an ATX design, and released in 2002 as the Iyonix PC. This broke almost all existing software, but the RISC OS community was still surviving fairly well, especially with new fast hardware being available, so a lot got updated.

The fourth time was with the ARMv7 CPUs (32-bit Cortex CPUs, among other things) which didn't become an issue until the BeagleBoard was adopted for a RISC OS port. The change this time was how unaligned (that is, not aligned to a word (32-bit) boundary) loads and stores worked. (Technical details from http://www.heyrick.co.uk/armwiki/Unaligned_data_access) Before ARMv6 (ARM11), unaligned loads read the same word as an aligned load at the start of the same word, but rotated. ARMv6 added support for true unaligned loads and stores, where it would work how you'd expect (albeit slower), but with a backwards compatibility mode to behave like previous CPUs. However, ARMv7 dropped that backwards compatibility mode.

That said, the Raspberry Pi uses an ARM11, and RISC OS Pi by default behaves according to the old rotated load/store method, meaning pretty much any RISC OS software compiled after 2002 works, and some programs have been patched to be 32-bit clean.

AnonymousRich: I think you're trying to emulate RISC OS, if you're expecting a desktop. BeebEm won't give you a desktop, it's emulating a BBC Micro, not anything that ran RISC OS (although RISC OS was derived from the BBC Micro's OS). You want RPCEmu for that, which can emulate a RiscPC.

AnonymousRich: I think you're trying to emulate RISC OS, if you're expecting a desktop. BeebEm won't give you a desktop, it's emulating a BBC Micro, not anything that ran RISC OS (although RISC OS was derived from the BBC Micro's OS). You want RPCEmu for that, which can emulate a RiscPC.

Thanx for the detailed life history of the ARM. No, I'm not trying to be sarcastic, it was very informative.

I'd some time free today waiting for the file ownership on 4TB of files to be fixed so I checked wikipedia on ARM and the Acorn. I was only aware of some of it, unlike the Apple ][ the Acorn was developed for years and there is a very wide range of capabilities from 1987 till they stopped making them. There also seem to be a lot of emulators (for Linux, Windows, and some OS-X), so the past is surprisingly alive and well. More than that, the RP is now the latest, greatest, and by far cheapest Acorn ever made.

I'd some time free today waiting for the file ownership on 4TB of files to be fixed so I checked wikipedia on ARM and the Acorn. I was only aware of some of it, unlike the Apple ][ the Acorn was developed for years and there is a very wide range of capabilities from 1987 till they stopped making them. There also seem to be a lot of emulators (for Linux, Windows, and some OS-X), so the past is surprisingly alive and well. More than that, the RP is now the latest, greatest, and by far cheapest Acorn ever made.

The interesting thing is how Acorn managed their architecture jump.

Apple, as we all know, decided to make an all-new, completely incompatible 68000 system, try to maintain two platforms for a while (including extremely major updates to the Apple II that made it far more capable than the "first-class" Macintosh in some ways), and then make the old platform a card that fit into the new platform.

Acorn designed their original 6502 platform with a really strong OS - even things like graphical abstraction were present. Then, they had an interface for attaching second processors that could just use the host CPU for I/O. (This interface was largely used for faster 6502s, but it was also used for Z80s (with CP/M instead of Acorn MOS), 32016s (with Acorn Panos instead of MOS), 80186s (with CP/M-86), and the first ARM prototypes (this time using MOS).)

Then, while this was largely accidental (the intent was to release an extremely modern and powerful operating system, as I understand, but their research division couldn't decide what "modern and powerful" was), RISC OS ended up being an ARM port of MOS, with a multitasking GUI running on top. This did wonders for compatibility with 6502 software. First off, they were able to emulate a 6502 second processor, which was basically just a CPU, some RAM, and some glue ROM and logic to the host's instance of MOS. This meant that old software that didn't break the rules could access everything in the modern hardware, as if it were native. Second, they were able to emulate the whole machine, but using the ARM side's filesystem, so less well behaved software also worked (as long as it worked with the newer filesystems).

So, it's theoretically possible for software written in 1981 for a BBC Micro, in 6502 assembly, to run on something as late as a Castle-produced Acorn RiscPC with 300 MHz Kinetic StrongARM card, made in 2003, and take advantage of the features of that machine. (I don't believe !65Tube has been updated for 32-bit addressing machines, though. If so, it'd run on a Raspberry Pi, at least.)

And, software written purely in BASIC, in 1981, could run on a PandaBoard (or BeagleBoard, or Raspberry Pi) today, and take advantage of all of the features of those platforms.

I recommend ordering whatever Pi's you want. The queue is still long, 6 months after launch. I ordered at launch and ended up eventually getting several (1 each from the 2 US and 2 UK vendors), but it took a few months. A guy at our Makerspace is using them in a project he needs to ship out as a Kickstarter reward, and he's been through about 20 - but he had to order them and wait 2-3 months for them to show up.

If you wait until they are IN STOCK READY TO SHIP NOW you'll probably be waiting a lot longer then if you put an order in and get it the queue...

You mean adjust-clicking? (Shift-clicking wouldn't actually be internally consistent with how RISC OS tends to work (there are cases where shift is used, though, such as the back button and close button, but I just checked on a copy of 4.39 in RPCEmu, it doesn't work), whereas adjust-clicking is consistent, and does work.)

(For those unaware, RISC OS names the buttons "Select", "Menu", and "Adjust". Menu is obvious, Select should be fairly obvious (it behaves like you'd expect a left button to), Adjust does things that are related to but different from Select (often this means the opposite thing, or when (for instance) traversing a directory structure, adjust-double-clicking opens the child and closes the parent, and adjust-closing closes the child and opens the parent).)

And also required to use RISC OS effectively. It is sad these days how hard it is to get a nice mouse with a proper middle button. RISC OS needs 3 good mouse buttons or you're in for a world of annoyance.

And also required to use RISC OS effectively. It is sad these days how hard it is to get a nice mouse with a proper middle button. RISC OS needs 3 good mouse buttons or you're in for a world of annoyance.

If I click on the wheel of my wheel mouse, is that not the same as clicking the middle button on a 3 button mouse?

And also required to use RISC OS effectively. It is sad these days how hard it is to get a nice mouse with a proper middle button. RISC OS needs 3 good mouse buttons or you're in for a world of annoyance.

If I click on the wheel of my wheel mouse, is that not the same as clicking the middle button on a 3 button mouse?

Yes, it does in most cases, at least for emulation's sake (same way that an Apple Mighty Mouse's roller-ball counts as a middle-click).

And for people wandering about compatibility of older software, it really isn't hard to recompile the programs themselves to run on new non-26-bit architecture. My partner Paul has a RISC Station under his desk and has slowly been migrating his software into the RPCemu ready for transition to the Raspberry Pi.

Admittedly this is taking a while since the only common interface between his 90s RS and his modern PC is the ethernet port, but since even the ethernet standards are so different he's having to FTP his files into his private webspace, and then download them again. -.-

For anyone in the UK wanting to order, I have an interesting tidbit of news: Element 14 is *technically* Acorn Computers, or what remains of them, so buying from them seems delightfully fitting if you're going to run RISC OS and not some flavour of Linux.

And as a final note for anyone else interested: RISC OS does support HiDPI monitors although some older system files will need their icons replacing manually. It is also rather easy (VERY easy, compared to MacOS) to change the entire UI file set to change the look of the GUI from the pin-bar upwards.

The wheel of a wheel mouse is the third button (not emulation of one, it just is one), but a lot of wheel mice suck to middle-click with on a regular basis.

For sharing between RISC OS machines and modern Windows, OS X, and *nix machines... I'd say that Moonfish (NFS server) and Sunfish (NFS client) are the best bet. RISC OS Pi is actually bundled with LanManFS, which in theory connects to Windows and Samba shares, but in practice, doesn't if you have any form of modern security in place, and I believe doesn't support long filenames.

The modern-day element14 (which is run by Premier Farnell (which in the US is Newark)) has no relation to the Element 14 that came out of Acorn's demise. However, that Element 14 ended up specializing in DSL equipment, and Broadcom bought them out. Yep, the same Broadcom that did the BCM2835 SoC that the Raspberry Pi uses. So, there's your connection between Raspberry Pi and Acorn. (I believe the DSL equipment is a separate division, but it'd be interesting to know if any engineers transferred over to whatever division did the BCM2835.)

Edit: Oh, I do have to correct one thing from early in the comments. RISC OS actually didn't pioneer the task bar (although, rumor has it that Win95's implementation of it was heavily inspired by Bill Gates actually seeing a RISC OS machine), Windows 1.0 did as far as I know - and it predated RISC OS by 3 years (Arthur (2 years after Windows 1.0) had the icon bar, but it wasn't a task bar - drives on the left as with RISC OS today, but desk accessories and an exit button on the right, not tasks).

And also required to use RISC OS effectively. It is sad these days how hard it is to get a nice mouse with a proper middle button. RISC OS needs 3 good mouse buttons or you're in for a world of annoyance.

If I click on the wheel of my wheel mouse, is that not the same as clicking the middle button on a 3 button mouse?

Yes, but mouse wheels don't make for very pleasant buttons. They're OK if you only have to press them like once a week, not if you have to press them every minute. 4+ button mouses are better, if you can configure them so the button by your thumb does 'middle' mouse-click.