Emulating RISC OS under Windows

One of the most impressive aspects of even relatively modest PC hardware is its’ ability to emulate a wide range of other platforms. Being a bit of an OS junkie myself, and lacking the space for a full computer room of weird and wonderful hardware, I emulate a range of systems from my humble desktop PC. In this article, I will describe the procedure through which you can run RISC OS 3.7 and others on a Windows-based PC and experience this classic OS (screenshots included).

Some of my favourite computers of all time (after the Commodore Amiga and Sinclair Spectrum, of course!) were the RISC-based Archimedes systems produced by Acorn through the early to late 90’s, and found in many schools across the UK.


About RISC OS

The predecessor of RISC OS, ‘Arthur’ was released in 1987, and ran on 8-bit
hardware, following on from the success of Acorn’s previous “BBC”
range of computers. In 1988, RISC OS 2 was released for the 32-bit Archimedes
range of computers, which found a large market in the education sector. At one
point, it seemed as though virtually every school in the UK had at least one
of these RISC OS machines somewhere – ours had an entire system of networked
Archimedes computers across the whole site. A lively public domain, gaming and
demo scene thrived – even classics like Lemmings and Lotus Esprit Turbo Challenge
were converted.

It is difficult to appreciate just how radically advanced even the early releases
of RISC OS and Acorn hardware were at the time. The 1991 release of RISC OS 3
offered a sophisticated GUI environment with drag-n-drop enabled throughout,
multitasking, advanced Audio capabilities (capable of playing Amiga MODs and
samples) 256 colours, and some truly unique UI concepts that were way ahead
of their time. Many of the UI concepts that we take for granted were first pioneered
in RISC OS, for instance – scalable anti-aliased fonts and an operating system
extendable by ‘modules’, while most of the PC world was still on Windows 3.0.

In 1998, Acorn decided to leave the PC market, and focus on digital TV. They
eventually got split up and bought by several companies – amongst them, Pace
and Broadcom. Pace agreed to sell licenses for Risc OS technology to the newly
formed company called ‘RISC OS Ltd.‘, which
today maintains the RISC OS 4 line. Another company, Castle
Technology
, also bought a license and produced a PC called the ‘Iyonix
based on Intel’s XScale processor, which runs RISC OS
5
. For the purposes of this article however, I will be focusing on the classic
3.x line – in particular, RISC OS 3.7.

About Me

I’d better mention straight away that I am by no means a RISC OS expert – most of the information I’ve picked up has been through trial and error, and hazy memories of many a school lunch-break spent tinkering in the computer labs. I am Unix systems administrator working for a large media company, and a member of the Blastwave.org project, providing high-quality packages for Solaris. As such I may have got things wrong, or used the incorrect terminology – my apologies if this is the case – I welcome all constructive criticism and feedback!

This Article

This short article will quickly discuss obtaining and running Risc OS 3.7 on
a Windows PC. I’ll cover obtaining the ROMs, configuring the emulator, setting
up the OS, and finally, provide a few pointers and links of interest to get
you going in your ‘new’ OS. Obviously, emulation of any system takes a fair
amount of CPU horsepower, but I’ve found that a 1Ghz processor or so will provide
acceptable results, whilst a 2.6Ghz Pentium 4 absolutely flies.

The ROMs

Risc OS is a ROM-based operating system, so it ‘boots’ in an instant on the
original hardware. In it’s 2Mb (or 4Mb for RiscPC models) it packs a full GUI
as well as several built-in utilities like a bitmap paint package, a vector
drawing program, calculator and text editor. Because of this, you will need
to get hold of the ROM files before you can start. If you have access to an
Archimedes or RiscPC, this step is quite easy – you just need to enter some
commands at a ‘*’ prompt, and transfer the resulting files over to your PC via
floppy disks or some other means. Full instructions are provided at the FAQ
for the emulator we will be using – the link is here.

If you do not have access to an Acorn machine, the ROMs do show up from time
to time on Google or the usual file-sharing networks – although as always, it
should be noted that these ROMs are copyrighted, and so downloading them if
you don’t have an Acorn machine may well be illegal. There is also a commercial
Acorn Emulator called ‘Virtual Acorn‘,
which comes with legally licensed ROMs. Another solution I have heard of is
for people to obtain an actual Acorn machine from eBay (many are very cheap
now), solely for the purpose of ripping the ROMs. At the time of writing, there
is a genuine RiscPC for sale in the UK, currently at around 30 GBP – it’s certainly
worth considering if you are interested in running RISC OS, but lack the space
for another machine!

The Emulator

For the purpose of this article, I have used the ‘Red
Squirrel
‘ emulator – there are several
others
out there which run under Linux/Unix and Windows, but Red Squirrel
seems to be the most advanced (forming the basis of the commercial Virtual Acorn
package), and also has the distinction of being the only emulator (as far as
I know) that allows you to emulate a RiscPC – meaning you get to play with Risc
OS 3.7. This is the version of RISC OS I will also be emulating – you will need
to adjust things slightly if you are attempting an older release such as the
‘classic’ RISC OS 3.1 or older. The only drawback I have discovered so far with
this emulator is that it does not support networking – even though the host
OS may offer a TCP stack, you won’t be able to connect to any networks. If this
is critical importance, it may be worth considering Virtual Acorn, as it has
a downloadable networking plugin available.

Once you have unpacked the emulator, you will be left with a directory called ‘RedSquirrel Release’.

Click for a larger version Inside this, you will find a subdirectory called ‘Romsets’. This is where the
system ROM images are stored for each model of emulated Acorn. You will find
inside 3 other folders – put your 4 ROM images into the one labeled ‘RISC OS370’.
As long as you have the ROM files saved in alphabetical order, this is all you
need to do (you don’t need to concatenate them into one big file, for instance).

Starting the Emulation

You should be ready to start the emulator now – run the ‘RedSquirrel.exe’
file, and you will see a splash screen which you can safely ignore, and then
you will be shown a dialog where you can pick the type of machine to emulate.
Again, for this article, we will be emulating a RiscPC – so choose ‘Risc
PC SA,Risc OS 3.7’. The emulator will now start, and you should see a Window
with the emulated system inside it. The first time you run the emulator, this
may take a while, so be patient. Eventually, you will see a black screen and
some white text. Because there are no system files on the emulated hard drive,
below this, you will get an error message saying ‘Error: File ‘:0.!boot’
not found (Error number &D6)’. Ignore this, and at the * prompt, type
in ‘desktop’ and hit enter. You will then see the RISC OS GUI environment
appear :-

Click for a larger version Because we haven’t yet installed the support files for RISC OS, the system is
very basic, and won’t do much beyond run the applications stored in ROM. The
screen mode is also very limited and can’t be changed, so the fonts also will
appear distorted as seen in the screenshot above. Nonetheless, you can still
have a play with the system as it stands – try running some of the surprisingly
useful applications from the ‘Apps’ folder, for instance.

At this point, a brief guide to how the GUI operates may be in order – your
disk drives appear at the bottom left of the iconbar and can be explored by
clicking once on them to open a ‘Filer’ (The RISC OS file manager) window. Applications
appear at the far right – once you launch an application, it will usually appear
here as an icon in the iconbar. You can then normally open a new application
window up by left-clicking on it’s icon. The application menu can be accessed
by middle clicking on the iconbar icon. Inside the application window (eg: the
!Edit text entry window), middle-clicking gives you a document-related menu.
For instance, you can save the file, search for text etc. Imagine this menu
as the equivalent of the menu bar at the top of Mac OS, or running across the
top of applications in Windows.

To open a file, either double-click it to open it with the default application,
or drag it from a filer window onto the iconbar icon, or the open window. The
same goes for saving a file – you will get shown an icon which you can then
drag off into any location you want.

Also worth a mention is how RISC OS applications tend to be distributed – they
are usually self-contained directories, containing all programs, resources,
modules, graphics, etc. needed to run. If you click on the ‘Apps’ folder, you
are really looking at a bunch of directories. The only difference is that the
directory names start with an exclamation mark – try holding down Shift when
double-clicking on the application names – you will see that instead of running
the application (well, actually the !Run script inside the directory), a new
filer window will appear showing the contents of the app dir. It’s this idea
that the ROX-Desktop (in particular,
the ROX-Filer) have emulated, and it makes installing or moving applications
around very easy.

Installing the system files

The next step is to install the system files onto the emulated hard disk, as
even though the core of RISC OS is stored in the ROM, many utilities and libraries
are kept on the hard drive. However, there is a catch – we can download all
the needed files as ZIP archives to the Windows PC, but RISC OS uses a system
of ‘filetypes’ to identify what a particular file is. If we just downloaded
these files and unzipped them on a PC, we would loose these filetypes, and they
will no longer function properly. As such, I have developed a work-around but
it is slightly fiddly. It basically involves getting enough of the system files
identified and working working so that you can use an unzip utility under RISC OS,
thereby allowing us to unzip the files properly, retaining their attributes.

First, go to The Acorn legacy FTP page at
http://acorn.RISC OS.com/acornftp.htm,
and download !SparkPlug, which is a ZIP-file extractor for RISC OS. Then, go
to the ‘RISC
OS 3.7 Hard Disc contents in an Archive
‘ link, and download all the
ZIP files to your PC. The next step is to install a minimal system folder and
get SparkPlug running so that the archives can be expanded properly under RISC OS
and retain their filetype attributes.

Inside the RedSquirrel directory, you will find a folder called ‘HostFS’.
Inside this, there is another ‘Disc370’ folder. Anything placed in
here is visible to RISC OS – it treats it as it’s own hard drive, and so is the
perfect method to move files between systems. Move the !SparkPlug file you downloaded
(called ‘dearchive.bas’) into here, and rename it to ‘dearchive.bas,ffb’.

Placing the comma and ‘ffb’ after the filename allows the emulator to identify
the filetype for Risc OS – in this case, FFB is the filetype for a BASIC application
– For a full list of RISC OS filetypes, see this link :- http://productsdb.RISC OS.com/sw/types.htm.

Now, you should be able to run it – back inside RISC OS, open your hard drive
and double-click on the dearchive/bas icon, this should run and self-extract
the SparkPlug application.

Click for a larger version We can now start to work on the System folder, called ‘!Boot’ under RISC OS.
Extract the contents of the previously downloaded 37Boot.zip and system.zip
files into the Disk370 folder, using WinZIP or something similar, allowing it
to overwrite any files when it asks. This will create a !Boot folder – but we
will have to manually rename some of these files again in order to get a minimal
system running. Again, do this by adding a comma and then the filetype after
each filename. Under Windows, go into the !Boot folder, and add the following
filetypes after each of these files inside it (eg: the !Boot file becomes !Boot,feb
):-

Filename inside !Boot folder Attribute to add after a ‘comma’ character
!Boot feb
!Run feb
Utils\BootVars ff8
Utils\DeskRun feb
Resources\!System\!Boot feb
Resources\!System\!Run feb
Resources\!System\SysPaths ff8
Resources\!Scrap\!Boot feb
Resources\!Scrap\!Run feb
Resources\!Scrap\!RunImage ff8

Reset the Acorn emulator, and start it up again. You will see a lot more output
fly by, and again, you will have to enter ‘*desktop’ to get to the GUI. Once
there, open up your hard drive, and hold down shift while double-clicking on
!Boot to open it. This will open another window – in this, double-click on the
‘Resources’ icon. This will produce an error message and a whole bunch of text
editor windows. This only happens because many of the files still haven’t had
their filetypes set properly and get treated as ASCII text instead of being
run. However, the important ‘magic’ has worked, so you can close all these windows
down, ignore the error and run !SparkPlug from your hard drive. If all went
well, you will now see it appear in your iconbar and can continue to properly
unpack the system files, complete with attributes.

Click for a larger version Now, from the Windows side of things, create two folders inside the ‘Disc370’
folder called ‘downloads’ and ‘newsystem’. Move all the ZIP files you downloaded
from the Acorn legacy FTP site into ‘downloads’ – you can then drag them one
at a time onto the SparkPlug icon on the iconbar. Doing this will produce another
window showing the contents of the archive – drag these into the ‘newsystem’
folder. Once done, you should have a ‘newsystem’ folder full of properly uncompressed
RISC OS files which we want to make our system disk. Now, quit the emulator,
and in Windows, move the contents of the newly created ‘newsystem’ folder into
the root of the Disk370 folder, making sure you erase the old temporary !Boot
folder beforehand. Restart the Emulator, and you will boot straight to the RISC OS
desktop, and into a fully working environment. You can then tweak the system
a little – for starters, double click on ‘!Boot’ in the root of your hard drive,
and then select the ‘Screen’ option to increase the resolution :

Exploring your new system

Click for a larger version If you want to dabble with the RISC OS command line, select ‘New Task Window’
from the Acorn iconbar icon, and try starting with ‘*help’, or you could try
‘*basic’ if you want to flex your old-school BBC Basic skills (although, the
RISC OS BASIC provides many advanced features, over and above simple ‘Hello,
World’ stuff – you can build full GUI applications with it). If you want a full-screen
command session, hit F12 and then return on it’s own to get back to the desktop.

Some useful links that will provide you with information and software for RISC OS
are :

Paul Vigay’s RISC OS pages
– A stupendous amount of information… RISC OS history, tutorials, programming
information, software, FAQs and more!
Drobe Launch Pad and the IconBar
– RISC OS news, articles and software.
The RISC OS
Software directory
– A great database of links and downloads.
AcornArcade – Gaming information for RISC OS.
Pouet’s
Acorn Demos
and IceBird.org – classic
Acorn/RiscPC demos.
RISC OS C Programming – A wealth of information
on programming in C for RISC OS.

20 Comments

  1. 2004-02-26 7:29 am
  2. 2004-02-26 7:38 am
  3. 2004-02-26 8:37 am
  4. 2004-02-26 8:48 am
  5. 2004-02-26 9:23 am
  6. 2004-02-26 9:25 am
  7. 2004-02-26 9:25 am
  8. 2004-02-26 11:23 am
  9. 2004-02-26 11:58 am
  10. 2004-02-26 12:03 pm
  11. 2004-02-26 1:08 pm
  12. 2004-02-26 2:07 pm
  13. 2004-02-26 3:39 pm
  14. 2004-02-26 4:12 pm
  15. 2004-02-26 4:46 pm
  16. 2004-02-26 5:27 pm
  17. 2004-02-26 7:48 pm
  18. 2004-02-26 9:21 pm
  19. 2004-02-27 2:20 am
  20. 2004-02-27 4:49 pm