What is RISC OS?
RISC OS is an OS originally developed by Acorn
Computers Ltd. Note that I ran into RISC OS because I made a
mistake. I wanted to play with the OS and of course
BBC BASIC in the
BBC Micro version (Acorn MOS) — different OS, same developer
for the ARM chip also made by Acorn. Maybe I should have gotten
an Acorn MOS emulation program like ElectrEm, but that is another
story.
After the end of the BCC micros and the end of the development
of RISC OS 3.x, RISC OS 4.x was released by RISCOS Ltd (ROL) in
1999. RISC OS 5.x was released by Castle Technology in 2002. RISC
OS 6.x was released by ROL in 2006 and discontinued in 2009.
Nowadays you can get RISC OS Open, an open source fork, by RISC
OS Open Limited (ROOL), which also controls the source code for
RISC OS.
I am still learning RISC OS and its GUI makes it much more
interesting. It even has a web browser, !Browse.
There are some concepts you must understand in RISC OS.
-
HostFS stands for host file system and it is the
name used for the root of HDD. The naming convention is
different than that from Windows, any Unix or Unix-like OS as most other
OSs.
Host$subdirectory_level1.subdirectory_level2.file/ext
indicates the
/subdirectory_level1/subdirectory_level2/file.ext
directory structure.
- Host$ to indicate the root of the file system
in the HDD (
- / as in most OSs.
- Character . indicates the next sub-level in
the tree structure instead of /.
- Character / separates the name of a file and
its file type (extension)
- Most programs !Boot, !Alarm,
!Browse start with shebang character (!). I
am not sure why executables shebang. Perhaps this tells the OS
that the file is an executable, but I am not sure if my
assumption is correct.
- Middle button in a modern mouse for right click
- programming in C rather than BASIC or ARM Assembly, good
excuse to go back to programming in C
Installing RISC OS:
I have not had the opportunity of installing RISC OS on bare
bones. I installed RISC OS as a RPCEmu instance. If you are doing
this in Windows, RISC OS will indicate that you can get a
compressed file, which you can deflate and drop in a
subdirectory. Of course, I did not do it this way since I am
total nerd and use Linux for almost everything
I do.
The following are the steps I followed to build my
instance.
- Install RPCEmu.
- Install the dependencies
(libraries) from user account (not root).
sudo apt-get install build-essential qtbase5-dev qtmultimedia5-dev libqt5multimedia5-plugins
- Get RPCEmu package (in my case,
version 0.9.4)
wget https://www.marutan.net/rpcemu/cgi/download.php?sFName=0.9.4/rpcemu-0.9.4.tar.gz
- Decompress RPCEmu. The best location is
at home ()~). These instructions consider
that you have chosen ~/rpcemu-0.9.4. Of course,
you can create the subdirectory for the RPCEmu installation
anywhere else. In such case, replace
~/rpcemu-0.9.4 with the subdirectory of your
choice.
tar xfz rpcemu-0.9.4.tar.gz
- Go to the source subdirectory
(~/rpcemu-0.9.4/src/qt5) created by decompression
cd rpcemu-0.9.4/src/qt5
- edit
~/rpcemu0.9.4/src/qt5/rpcemu.pro from CONFIG
+= debug_and_release to CONFIG +=
debug_and_release dynarec. I have no idea why file
doesn't come with correct CONFIG entry in line
four (4).
- Prepare Makefile found in
~/rpcemu0.9.4/src/qt5/buildit.sh.
./buildit.sh
- Make the file using
~/rpcemu0.9.4/src/qt5/buildit.sh.
make
- Get the ROM image must image before
running the Dynamic Recompiler. Note that "RPCEmu
requires a ROM image (a copy of the Operating System ROM)
to work." I chose ROM riscos3_71.zip with
risocs-3.71.rom (4.2 MB) and placed ROM image in
~/rpcemu0.9.4/roms removing files "that don't
start with a . or have the extension txt"
— as per the instructions in
~/rpcemu0.9.4/roms.
- I understand that as an
alternative you can install an "Easy-Start bundles for
RPCEmu" since the instance is no fun without bundle of
applications in HostFS (HDD). I chose
rpcemu-0.9.4-bundle-371-issue-1.zip (14,103 files,
121.4 MB), which comes with a ROM image for RISC OS 3.71
(1997). I then merged the contents to
~/rpcemu0.9.4.
- Once ROM in
~/rpcemu-0.9.4/roms, you can finally rub the
Dynamic Recompiler (rpcemu-recompiler)
understanding that you are in the ~/rpcemu-0.9.4
subdirectory.
./rpcemu-recompiler
At this point, you either consider yourself an huber-geek or
wish you would have opted for the Windows alternative, but it is
much satisfying following the Linux
instructions above.