RISC OS is an operating system that's unfamiliar to many people, so here comes a bluffer's guide...

What is RISC OS?

RISC OS is a new and different OS for the Pi. It isn't Linux, it isn't Unix, it isn't based on any other OS. It's the first ARM OS, begun in 1987 by the team who designed the original ARM processor. It's also a descendant of the OS used on the early 1980s BBC Micro... those who remember the BBC Micro might find some of its commands familiar. BBC BASIC is only a few keypresses away.

What's interesting about RISC OS?

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. 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?

RISC OS is also a lot simpler than modern OSes such as Linux. The pace of development has been a little slower than other OSes, which means there are fewer layers getting between you and the system. It's much easier to get stuck in and change things. It's also easier to understand. As a formerly closed-source OS, most of the interfaces are documented in a series of books called the Programmers' Reference Manuals (PRMs) which are included on the RISC OS Pi distro. That means you can change a lot of things without having to work on the OS code itself (which is available if you want it). It's very modular, so you can mix and match components, and the communications between modules are carefully documented.

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.

As a full desktop OS, there's also plenty of traditional desktop software available like drawing programs and desktop publishers. Features you've come to expect on a desktop like scalable fonts and printing are supported. RISC OS was big in UK education in the 1990s, and there's a large back catalogue of educational software.

OK, so what do I need?

RISC OS makes heavy use of a three-button mouse. If your mouse doesn't have three buttons, never fear - if it has a scrollwheel, pressing the wheel down counts as the middle button. The middle button is called 'Menu', for bringing up menus (which are context-sensitive everywhere - there are no menu bars). The other buttons are Select (left) and Adjust (right) - Select is the main button, Adjust often does something similar but different to Select.

After that, you're good to go. Note that RISC OS has no USB wifi support, so if you want to use wifi try an ethernet-wifi adaptor.

How do I get started?

Download and write an SD card for your Pi from the Raspbery Pi downloads section in the usual way. Once you've booted RISC OS, you'll find a file called 'welcome/html' on the desktop - double click this for a tutorial. The distro is supplied without ethernet enabled to speed the boot of Pis without network connections - the tutorial explains how to turn it on.

Apart from the mouse differences described above, RISC OS has several unusual ways of doing things. Apps are just directories whose name begins with ! (called 'pling'). They can live anywhere on any disc - every system can be different. They're launched by finding the folder on disc and double clicking them. RISC OS is centred around the Filer, the display of folders on your disc.

Along the bottom of the screen is the iconbar. Unlike other systems, these icons depict running apps. If you double click an app, all that will happen is it puts an icon on the iconbar, ready for you to do something (create a new document, start a new game, etc). A Select or Menu click on the icon is a good way to explore what these icons do.

RISC OS also makes heavy use of drag-and-drop... to save a document, drag a 'save as' icon from your editor to a folder on the disc - or drag the 'save as' box from one app to another to work on the edited document in a new program. You rarely need to make temporary files to save intermediate work.

There are many other design differences you can discover as you explore further into RISC OS.

You can even write multitasking windowing programs in BBC BASIC. (Using a proper editor, I suggest )

How do I get more software?

There are two package managers on the distro, called PackMan and !Store: PackMan will install and upgrade programs for you, while !Store allows you to organise the install yourself (and offers commercial software too). You can also install software manually - installing many RISC OS programs is as simple as copying files from a zip to your SD card (in RISC OS, don't unzip on other platforms).

Be aware that some old software won't run on the Pi, because ARM chips have changed in various ways between ARM version 2 (the original 1987 chip) and ARM version 6 (the Pi). Everything in !Store and PackMan should be fine, but that old floppy disc you found in the back of the cupboard...
There's a program called 'Aemulor' which will enable running older software - the developer is rumoured to be working on a Pi version. There's a list of tested ARMv6 safe software, which also gives links on how to convert old software.

Help, I'm stuck!

As well as this forum, there's the official Community Support board on the RISC OS Open Forum. Do drop by and ask for help if you need it.

Good luck

Last edited by theom on Mon Nov 05, 2012 12:12 am, edited 2 times in total.

Thanks Theo! We've got a bunch of materials we're going to be sharing from tomorrow on how to make RISC OS go - I hope people will persevere with it, 'cos it's a lovely, slick little operating system. (Theo: am I right in thinking that those without a middle mouse button can press R and L simultaneously for the same result?)

(Theo: am I right in thinking that those without a middle mouse button can press R and L simultaneously for the same result?)

This post has some discussion of how to emulate the middle mouse button (MENU) for those who only have a two-button mouse with no scroll wheel. http://www.riscosopen.org/forum/forums/11/topics/1408 This basically leaves the left (SELECT) and right (ADJUST) mouse buttons as intended, but means that a press on the 'MENU' key on the keyboard [you can choose any key] acts as if you had clicked the (non-existent) middle mouse button (MENU).

Ahhh - and there was me thinking that USB wi-fi support was one of the things you were finishing before releasing. That, and headless access should really be a priority IMHO. Quite a while back I remember someone asking about ssh. No doubt there are ways of doing this, and vnc/rdp sessions, but if it's not enabled by default then I'm going to have to dig out extra hardware before I can even start to play.

Even so - great news. Sounds like a good fit for GPIO and real-time stuff.

Firefox has been compiled, and works on the Pi - it's available via PackMan (though FF changed the architecture to make it harder to port beyond v2, and even that's a little flaky). There's the much lighter and more responsive NetSurf included on the RISC OS Pi distro.

NetSurf is the browser of choice (as per other Raspberry Distros), anecdotal evidence has it that the RiscOS implementation is the best. There are a number of others available, an IIRC someone did get a firefox version going at one point. http://www.riscos.info/index.php/Mozilla_Firefox

P.S. One thing that surprised me is that it seems not possible to resize a window bigger than it needs to be - i.e., I can't make the "Resources & Apps" window real big. It is like it just stops the re-size operation if it can tell that all the icons fit in the window as it is. What this means is that to make it really tall, you have to make it really narrow...

And some folks need to stop being fanboys and see the forest behind the trees.

That's indicating a problem with the SD card of some sort (or how it was written).

Basically, the FAT partition (it's more complicated than that, though) is working, and the RPi is booting the RISC OS ROM, but RISC OS can't access the SDFS Filecore "partition" for some reason (which has all of the software except for a few things in ROM, as well as the !Boot structure (which configures the pinboard (backdrop and desktop icons) and some system settings, among other things)).

What brand, model, and size of SD card are you using, and what OS did you use to image it?

1) It looks like Android (in concept, obviously, not in specifics) to me. Which is not (necessarily) a bad thing, but it does feel limiting to me. I can certainly see the potential as an educational tool. I think it would be a fine "first OS" for anyone.

2) Is there a "Terminal" anywhere? I.e., a command line. I could not find it (one).
2a) I.e., is there any real, direct (non-walled-garden) access to the file system? For example, I installed DOSBox - and it booted up nicely to the Z: prompt), but I can see no way to install the program (an old DOS game) that I want to run under DOSBox, without command line access.

3) I figured out the method for running apps installed with PackMan; it is more than a little weird. I click on the app in the PackMan list, then middle click to get a menu, then scroll right to get the package menu, then click on Apps, which opens up a new folder view. From there, you see the app and can double-click it to run it (hopefully, that is... - see next note).

4) For several of the already installed apps, after following the above procedure, I double click on the app, but get error message "PackMan cannot execute the application".

5) Sound does not work.

6) What is the status of remote access? I assume it is going to be awhile before we can SSH in, but it seems some progress is being made on VNC and/or other "remote desktop" type solutions.

And some folks need to stop being fanboys and see the forest behind the trees.

2) Terminal: you have two choices, single tasking or multitasking in a window, available from the Task Manager menu (raspberry icon). Single tasking command prompt, shortcut is F12, multitasking in a window is Ctrl-F12. Press Return twice to get out of the single tasking prompt.

2a) Direct filesystem access - of course! Click the SD card icon to see the files on the SD and copy them, open them, etc. You can open application folders by holding down Shift and double clicking them.

3/4) Don't use PackMan to run apps, find them on the SD card (in the Apps or Utilities folder) and run them from there.

5) Not sure about this one - you might need a config.txt setting to route sound down HDMI or jack output

6) Remote access is a bit tricky... it's not a server OS, after all. If you ever drop into single tasking mode (eg hit F12 by mistake), the server won't get CPU time and your connection will die. VNC works after a fashion. It's a GUI-heavy OS so, while you can use the command line (there are telnet servers, haven't seen an SSH server), you lose a lot by not having the GUI.

I remembered (after posting previously) that, in Linux, I needed to put "hdmi_drive=2" in CONFIG.TXT, in order to get sound working. So, I added that to the CONFIG.TXT for RISCOS, and it seemed to work, sort of. I won't go into the details of what I mean by "sort of", but it still doesn't generate sound when I do the following test:

1) Open up the "Music" folder.
2) Drill down until I open one of the musical pieces. It opens up in a window.
3) Menu click and select "Play" - which causes the music to scroll (horizontally) in the window. At that point, shouldn't there be sound coming out of the TV?

Can you suggest a better test for sound from RISCOS?

And some folks need to stop being fanboys and see the forest behind the trees.

theom wrote:6) Remote access is a bit tricky... it's not a server OS, after all. If you ever drop into single tasking mode (eg hit F12 by mistake), the server won't get CPU time and your connection will die. VNC works after a fashion. It's a GUI-heavy OS so, while you can use the command line (there are telnet servers, haven't seen an SSH server), you lose a lot by not having the GUI.

Fair enough. So for a GUI-heavy OS, I'm looking forward to seeing what it brings to the GUI party... Having to learn yet another convention for sizing, dragging, clicking etc. doesn't necessarily excite me LOL! I was more interested in the realtime GPIO side of things. If I want to draw on the screen and open windows, giving up RDP and a familiar paradigm is quite a thing. Although if it's fasty-fast, that's something too.

Call me cynical but I suspect that what you lot like most about RiscOS is simply that it's RiscOS! You were all using it in the 80s so it's great for you to see it back!