With all the good news around Haiku and Amiga/MorphOS, you’d almost forget that other “old” alternative operating system, with most of its following residing in the United Kingdom: RISC OS. This operating system is fighting a predictable problem: a lack of hardware.
RISC OS used to have two optionsavailablewhen it came to hardware: Castle’s Iyonix and Advantage6′ A9Home. Sadly, the former is out of production, and we haven’t heard a thing from the latter in ages. Then again, these machines weren’t screaming when they first came out anyway – “Things that are taken for granted on a Windows or Mac OS machine, such as watching video, are simply impossible on current generation RISC OS hardware.”
There is another way to run RISC OS: emulation. You can use the free and open source RPCEmu, or the commercial, for-pay VirtualAcorn. Still, this is just emulation – real men don’t virtualise. They run native.
Luckily, though, the Castle branch of RISC OS (more on the RISC OS fragmentation) has had its code opened up, so one could start dreaming about maybe porting RISC OS to more modern (more available) hardware. This is actually what’s going on today (we’ve reported on it before): RISC OS is being ported to the OMAP line of ARM processors, with the test bed being the Beagle Board.
The Beagle Board is a tiny SoC built around a Texas Instruments OMAP3530 processor, which runs at up to 600Mhz with 256kb of L2 cache. It also has a TMS320C64x+ HD video capable DSP, so it’s actually pretty powerful. Port-wise, it has DVI-D, an MMC+/SD/SDIO slot, s-video, and audio ports, and you can power it over USB. It has limitations too: 256MB of RAM is the upper limit, and it can only do 1280×1024.
RISC OS is currently being ported to this board, which is available for only 149 USD. However, the long periods of stagnation in the development history of RISC OS make the porting effort a daunting one indeed. Still, a lot of progress has been made, and the Beagle Board can now more or less run RISC OS (see the screenshot below), but limitations remain: no video acceleration, no audio, and there are issues with the CMOS settings.
Getting RISC OS to run on the Beagle Board requires some old fashioned handywork which you virtualisation-spoilt brats of today might not be familiar with, but then again, if you own a Beagle Board, you are most likely willing to get your hands dirty anyway. The RISC OS 5 OMAP build can be downloaded from the RISC OS Open website.
If you have a Beagle Board, you can help the effort too by testing it out and reporting bugs. If you have the skills, you can help the coding and porting effort in more direct ways, too, of course.
I am amazed at the progress so far. I really hope this project gets some new life blood. RiscOS is a fun little system, fast and responsive. the beagle board is a good home for it. Best of luck witht he porting effort, hopefully more dev’s will flock to it.
There’s definitely more issues than just hardware, but the OS being open sourced will also make it possible for someone outside of RISCOS Ltd. or Castle to help out.
The biggest issues with the OS itself are probably the poor memory protection of low memory, and the fact that the WIMP is cooperative multitasking.
There’s been discussions on this (and attempts to improve the situation, too)…
http://www.drobe.co.uk/article.php?id=1327 (Drobe article by Peter Naulls about memory protection)
http://www.riscos.info/index.php/Preemptive_multitasking
Also, the NetSurf (one of the better browsers on the platform) team needs someone to maintain the RISC OS port: http://groups.google.com/group/comp.sys.acorn.announce/browse_threa…
Edited 2009-10-29 23:23 UTC
… a classic “alternate” computing platform embracing cheap and easily available hardware like the Beagle Board. I wish people well in their quest and hope that this sets a good example for a certain other classic OS enviroment as to why open source (or at least semi-open source) can provide great benefits for platforms with small but loyal groups of fans.
Wouldn’t it make more sense to port RiscOS to a “true” hardware platform than to a developer-only hardware platform?
Some Nokia phones and Internet tablets also use a TI OMAP processor. The new N900 (phone, about US $600) uses a TI OMAP3 3430. The old N810 (Internet Tablet, about US $150 or less used, US $200 new) uses a TI OMAP 2420.
I’m not saying RiscOS can make a rebirth as an embedded OS for mobile devices but it’s an interesting niche to try.
Well, a port to the BeagleBoard should be adaptable to most stuff using the OMAP3530 (or even other OMAP3 SoCs.) The Touch Book shouldn’t be a very far leap from the Beagle at all, for example.
And, IIRC, when the port was started, this was the only widely available and cheap board with a Cortex-A8.
The N series IT’s are fairly closed and iirc. There are parts of the hardware that are extremely undocumented. Mostly, unless you use LINUX as the base (hence all the LINUX derived Mer, Debian and Android ports) you are SOL.
I should give this a try on my beagleboard. I have looked at RISC OS before, but couldn’t find hardware for an acceptable price back theb. And yes, I could have used emulation, but I prefer native
So, now I can try it native!
I think a good way to handle this is to target OpenGL. This way, the effort can be re-used when proting RISC OS to another platform — you just need OpenGL drivers.
Well, those “OpenGL” drivers still need to run on something. You can’t just target OpenGL, you need to target hardware, unless there’s something running above your OS that translates OpenGL calls to hardware calls.
Now, Genesi (who makes the various Freescale i.MX515-based Efika MX products) does claim that they’ll have a firmware layer that abstracts all hardware that they sell away from the OS, so the OS just needs to call their firmware layer with, for example, OpenGL calls, and it’ll just work, no matter what the graphics chip inside is, even if the graphics drivers are closed source and NDA-laden.
Of course. But there is actually a likelyhood that someone else will write OpenGL drivers to new hardware, but very little chance that someone outside the RISC OS developer community will write drivers specifically for RISC OS. So, basically, the idea would ease ports to platforms where OpenGL is alsready available. Furthermore, as the OpenGL drivers improve, RISC OS wil automatically take advantage of the improvements.
OK, how do you plan to integrate these “OpenGL” drivers into RISC OS?
They’re either going to be Windows CE drivers, or Linux drivers.
Either way, they’re gonna take a lot of work to run on RISC OS.
Also, they’re going to be binary blobs, because all of these mobile graphics cores are horribly NDA-laden. So, now, you’re talking about either a partial CE kernel+GDI implementation, or a partial Linux kernel+what looks like X implementation, just to wrap some graphics drivers.
I was thinking of using OpenGL as part of the hardware abstraction layer, so OpenGL would look as hardware from the OS.
More generally, you could virtualise RISC OS on top of the Linux kernel.
Yesterday I was watching the Visiobus journal that runs on a RiscOS system: http://www.ctav.fr/presentation/index.asp?rub_code=36&thm_id=22&gpl… and I actually thought it could be interesting to port RiscOS to the gumstix board I have…
If you’ve got a Gumstix Overo, it’s got a similar SoC to what’s on the BeagleBoard, so it should be a fairly straightforward port.
Yep indeed, and vice-versa, the overo bootloader for Haiku starts in the beagleboard qemu mod.