Raspberry Pi: Hands-on with RISC OS

Raspberry Pi: Hands-on with RISC OS

Summary: A unique alternative operating system - not a Linux based one, but one with a long history.


In the previous three posts about exploring my Raspberry Pi, the operating system has always been Linux; first looking at Raspbian, the Debian GNU/Linux spin for the Pi, then Arch Linux ARM and Pidora, and then Raspbmc and OpenELEC, two Linux-based XBMC Media Center versions.

Now the focus is going to change: to borrow a quote from Monty Python, "time for the penguin on top of your television set to explode", because this is not Linux. 

The subject today is RISC OS Open, an operating system which actually has an even longer history than Linux. 

It was originally developed in the 1980's at Acorn (Cambridge, England), by the team that developed the ARM microprocessor. It started as a proprietary operating system, but over the years, after passing through various hands and companies it is now owned by Castle Technology Ltd and has finally landed as an open source project at Risc OS Open Limited.

The specific version that we are interested in is RISC OS Pi, which of course is the distribution for the Raspberry Pi. As with the operating systems in the previous posts of this series, I installed RISC OS from the NOOBS distribution, which was dead easy. It is also avaliable from RISC OS Open as a stand-alone version on its own SD card.

When you boot RISC OS Pi, it runs through a short boot splash sequence and then you get this initial screen:

The RISC OS Pi desktop

Then the problem is what to do next?  This is a totally different operating system, with a totally different approach and underlying concepts and assumptions.

You can try clicking around and see what you can figure out, but unless you are a heck of a lot better or luckier than I was, you won't get very far. One thing you might discover fairly quickly is that networking isn't even enabled in the initial configuration.

There are two "Introduction/Getting Started" posts which I think are probably better, and more authoritative, than most. First from RISC OS Open Limted themselves, Welcome to RISC OS Pi. This explains that networking is disabled in the default configuration, and includes instructions on how to enable it, along with some other useful instructions and some good links to further information. 

On the Raspberry Pi websire there is a New to RISC OS? Read this! post that contains a lot of interesting information about the history, development and use of RISC OS. In addition, some of the most interesting information is in the comments following this post, where there are discussions of what can and can't be done with RISC OS.

Personally, I find RISC OS Pi to be a tremendously interesting and exciting operating system. If your interest in the Raspberry Pi is educational, this should be the answer to your dreams. It is a small, light, fast, complete operating system.

How small?  From what I have read, the base operating system itself, including the graphic desktop, fits in less than 10MB! Typical program sizes are measured in kilobytes, not megabytes. 

How fast? On my Raspberry Pi it is by far the fastest to boot, taking about 15 seconds from the time I select it in the NOOBS boot menu to the time that the graphic desktop is ready. It is simple to the extreme, which means that as far as possible it stays out of your way and lets you do what you want. Of course the down side of that is that it will stay out of the way and let you completely screw yourself, but that is also an important part of learning.

I have tried it with two different monitors, one 1280x1024 resolution and one 1920x1080, and it worked well on them both; it looked the best on the 1920x1080 (duh), but it was certainly usable on the 1280x1024, and after I found the way to adjust the desktop size (the display icon at the bottom right corner), and changed the desktop to 1280x720, it was much better there as well.

It comes with a small set of utilities and applications, such as the NetSurf browser, a simple text editor, a scientific calculator, and a few other such things. It also has two software/package managers, packman and store, which can be used to download and install other programs, both free and commercial. I was able to figure out the !Store manager at least enough to get the free 'snapper' program installed so that I could take screen shots.

For those who are interested in RISC OS Pi for education and/or software development, there is a C/C++ compiler from RISCO OS Open Ltd, and there is a GCC compiler and Software Development Kit. There is also a Desktop Development Environment available which includes a C compiler and all sorts of development tools. 

Oh and one more really important thing about RISC OS Pi: press Ctrl-F12 to get a command window, and then type BASIC.  If you are as old as I am, that will bring tears to your eyes.

On the other hand, RISC OS is NOT a full-blown, full-featured "modern" operating system. Security, for example, has gotten very little consideration (if any at all).  I would certainly not use it for banking, or any other sensitive activities. In fact I would have serious second thoughts about using it for anything which required any kind of login, password or other authentication.

So, there you have it.  RISC OS can be a very interesting alternative to Linux-based operating systems on the Raspberry Pi - but remember, it is very different, at almost every level. Try it, investigate it, learn it, experiment with it, and have fun with it!

Related stories

Topics: Open Source, Hardware, Operating Systems

J.A. Watson

About J.A. Watson

I started working with what we called "analog computers" in aircraft maintenance with the United States Air Force in 1970. After finishing military service and returning to university, I was introduced to microprocessors and machine language programming on Intel 4040 processors. After that I also worked on, operated and programmed Digital Equipment Corporation PDP-8, PDP-11 (/45 and /70) and VAX minicomputers. I was involved with the first wave of Unix-based microcomputers, in the early '80s. I have been working in software development, operation, installation and support since then.

Kick off your day with ZDNet's daily email newsletter. It's the freshest tech news and opinion, served hot. Get it.


Log in or register to join the discussion
  • Sensuous...

    ...one of the most misunderstood words in the English language, to wit:

    Sensuous brought the subject up, I'd like to know two things.

    1. Is the RiscOS BASIC interpreted or compiled. It's probably plain-vanilla interpreted; if so, is a compiled version available?

    2. Do you KNOW of a good, compiled BASIC available for Linux machines? I plan on providing more visibility for this REALLY under-rated language. If you press me for details, I'll give you a 'Mark Shuttleworth' answer, which seems to be wildly acceptable for most publications these days

    Warmest regards...
    • Not compiled

      As far as I can tell it is not compiled. The RPi web site has a note about this from someone who sounds more authoritative than me:


      I personally did a LOT of programming in interpreted Basic Plus on PDP-11 RSTS/E and later in compiled Basic Plus 2. I am not familiar with any Basic compiler for Linux, but there are listings for GNU/Liberty Basic Compiler (http://lbpp.sourceforge.net/), FreeBASIC (http://www.freebasic.net/) and PureBasic (http://www.purebasic.com/introduction_linux.php) all of which claim to run on Linux. I have no idea how current (or out of date) this information is - the GNU page looks particularly old. Good luck...

    • BBC

      It would be disappointing if RISCOS Basic was anything different to the version of BBC Basic that shipped with the original BBC Acorn A3000 or Acorn Archimedes computers that ran RISCOS from the late 80's/early 90's.
    • Interpreted

      BBC BASIC (the version shipped with RISC OS) is interpreted, like most BASICs (notable exception being Visual BASIC).

      There is at least one compiler available for it though. It also has a built in assembler which is the more usual route for people who need more speed.

      Not sure about your second question. If there is, I don't think it's going to be well supported. BASIC is seen as a toy language by most people these days. To be fair it was always meant as a beginner's language (Beginners All-purpose Symbolic Instruction Code).
  • Sensuous...

    ...one of the most misunderstood words in the English language, to wit:

    Sensuous brought the subject up, I'd like to know two things.

    1. Is the RiscOS BASIC interpreted or compiled. It's probably plain-vanilla interpreted; if so, is a compiled version available?

    2. Do you KNOW of a good, compiled BASIC available for Linux machines? I plan on providing more visibility for this REALLY under-rated language. If you press me for details, I'll give you a 'Mark Shuttleworth' answer, which seems to be wildly acceptable for most publications these days

    Warmest regards...
  • Don't forget the assembly language part of RISC OS

    You can write assembly language on RISC OS easily from BASIC. I've used assembly on the Pi, from RISC OS, to drive infrared LEDs to trigger a Nikon D7000. This happened just about the same time another LED pair acted as a trigger for camera when a drop of milk past between them. So if wiringPi under Pascal, Perl or C isn't fast enough, assembly programming in RISC OS might be of help:)
  • Sounds like maybe it's only 10MB because so much is missing

    Not being snarky, just hard to praise it for being only 10MB on install disks because it's so apples to kumquats compared to more complete OSes.
    • "Complete* depends on purpose

      I didn't mean for my comments about the extremely small size to be "praise" as much as they were "amazement". For ANY operating system, 10MB is incredibly small. The way I see it, both apples and kumquats are good, for specific things.

      Thanks for reading and commenting.

    • It's surprisingly complete

      I think 10MB is an over-estimate for how much space the OS takes up. That includes the various programmes and utilities that are bundled with it. I think the OS proper (including the GUI and BASIC) fits in 6MB.

      Back in the 90s RISC OS competed well against contemporary OSes and used about 2MB to do so whilst Windows came on a huge stack of floppy disks. It has always been a very lean and efficient OS.

      You're right that it doesn't compete against modern OSes for features. It's still impressively small for what it does do though. I doubt if it's possible to get a Linux distro running in 10MB and if you could it certainly wouldn't have a full GUI and a suite of applications ready to go.
      • How about 12 MB?

        That's Tiny Core Linux including an FLTK/FLWM desktop. You're right about the applications, though.

        Back on topic, looks like the Tiny Core Linux community likes Raspberry Pi too:

        "Tiny Core Linux » Tiny Core Base » Raspberry Pi
        Rabid Howler Monkey
  • RE: Compiled BASIC

    There's been some discussion of Pineapple's ABC BASIC compiler on the ROOL forum. And various techniques exist to optimise BASIC code, including variable handling, crunching to an almost unreadable state... and many other means which have been documented in the specialist press and publications over the decades. Inline assembler (as mentioned by thecloth, above) is useful for speed-critical procedures.
  • RE: tears to your eyes

    Skipping the WIMP GUI altogether is possible, in order to type BASIC at the supervisor *-prompt from booting. Hold down '*' on the numeric keypad while initialising.
  • ARM BBC BASIC ultra quick to access GPIOs

    With its built-in inline assembler, ARM BBC BASIC on RISC OS is one of the fastest ways to access the Pi's GPIOs - e.g. close to 20MHz output toggle speed.

    In fact it's quicker than almost any other language (compliled or interpreted) on any of the Pi's current OSes.