Sunday, October 25, 2015

Back to the Future with RISC OS

RISC OS is an operating system for ARM based computers, originally developed by Acorn for their Archimedes home computers. Acorn is one of the most well known British computer manufacturers of the 80s, and the famous opponent of Sinclair. The rivalry between the two companies and their leaders has become the main motive of a fascinating BBC drama "Micro Men". A few years after the movie plot takes place, Acorn developed a 32-bit RISC processor, which they called ARM (Acorn RISC Machine). That CPU is a grandfather of the chip we all now have in our mobile devices, like smartphones, smartwatches, and tablets. Acorn also built a series of home computers based on that CPU, called Archimedes. While at the same time popular Amiga 500 and Atari ST home computers, featuring a 16/32-bit mixed Motorola 68000 CPU, could barely exceed one million instructions per second, Acorn Archimedes easily reached 4.5 million, having the same 8MHz clock. Although it was called "the fastest micro in the world", Archimedes' price was several times higher than the price of other microcomputers, so it hasn't gained much popularity and was mainly present in British schools and companies only. Acorn also developed a graphical, multitasking operating system for their computers, which they called RISC OS. When the home computer market has become dominated by Intel based PCs and MACs, RISC OS could only be used by a handful of lucky owners of RISC PCs and Iyonix. Nowadays, thanks to Raspberry Pi, RISC OS is back in the game. RPi is an affordable ARM based computer, and it's hardware specification is more than enough for RISC OS. You can either buy it preinstalled on an SD card or download for free and install yourself.

Why should you know all this? It's because I have seen many people downloading RISC OS and expecting to get a better and faster version of Raspbian, and then becoming frustrated because they didn't even know how to use the system. Remember, RISC OS is older than Linux, it's even older than 16-bit Windows for Workgroups. Because of this, it's not only extremely fast and requires very few resources, but it also has it's own philosophy, which is different from what you may know from other operating systems. For example, applications start minimized on the icon bar (a RISC OS equivalent of taskbar or dock), you open the context menu with the middle mouse button, and save a file by dragging it's icon to the destination folder. The same applies to system commands, for example "dir" changes active directory ("cd" in Linux), and "cat" displays it's contents ("dir" in MS-DOS or "ls" in Linux, "cat" in Linux outputs a file). RISC OS uses "." as a path separator ("\" in Windows, "/" in Linux) and "/" to separate extension from the file name ("." in Windows and Linux). Once you understand that, and are ready to learn, you can start exploring RISC OS. There are some introductory materials about RISC OS you can find on Youtube and on RISC OS dedicated sites, there are also two magazines dedicated to RISC OS users: Archive Magazine (paper) and Drag 'N Drop (PDF).

I have been using RISC OS on Rapberry Pi B+ for a couple of months now and I simply love it.

On one hand, it has all the qualities of a good operating system: it uses very little resources (the OS itself occupies about 10MB RAM), leaving as much memory and CPU time as possible to the user (on the contrary to most modern operating systems, which do exactly the opposite). It also does not stand in your way telling you what you can or cannot do with your computer. If you wish, you can talk directly to hardware from the built-in programming environment, which also serves as a command line. What is it? Basic, of course! And it's one of its best dialects: BBC Basic V with built-in assembler, so you can even control the CPU registers directly from the command line. When I had a C64 I wanted to have a language that is as simple as Basic and as quick as machine code - with RISC OS I can now have both. Moreover, if you need a real-time hardware control, RISC OS will also not complain. Because it uses a cooperative multitasking model, your application can simply not return CPU control back to the OS, effectively changing your computer into a single tasking machine. Of course, this way you can shoot yourself in the foot, but if this is what you want, RISC OS allows you to do it.

On the other hand, RISC OS can be used to do many daily tasks, like programming, writing texts, sending and receiving email, listening to the music (including MP3s and online radio stations) and browsing web sites. Even though Netsurf, a built-in web browser, does not support latest HTML and CSS features and has only rudimentary JavaScript support, it is quite enough if you want to read most of the online articles and news. Even GMail (basic HTML version) is fully functional with Netsurf. There are also absolutely no problems with tasks like networking or reading and writing FAT32 external USB drives in RISC OS.

In the world dominated by bloated and restricting operating systems RISC OS is like a breath of fresh air. Working with it is for me equally pleasant to working with Amiga OS. Unfortunately, latest Amiga OS can only run on hardware which is (like Pegasos) no longer produced, or (like AmigaONE X1000) ridiculously expensive - which is a real shame, because it's a great operating system, with support to most of the classic Amiga software. Fortunately, RISC OS supports not only Raspberry Pi, but also other affordable devices like BeagleBoard or PandaBoard, which makes it a great choice for hobbyists and power users, who want a fast and user friendly system with low hardware requirements. There is also a lot of software written for older versions of RISC OS, which can be run with little or no effort on Raspberry Pi, there are emulators for MS-DOS, Atari and ZX Spectrum, some Linux tools like bash or gnu compiler collection have been ported as well. And if you need a program that cannot be found in online repositories, just hit F12 (type in "Basic" in console) and write it yourself! Learn! Experiment! Computing is all about it after all, isn't it?