
A Java programmer has embarked on a daring plan to produce a cross platform RISC OS environment emulator. The software, developed by Gareth Boden, includes an ARM processor emulator to execute RISC OS applications and fool them into think they're running on a real machine. Due to be licenced under the GPL, Gareth says his RISC OS Binary Environment implements a handful of RISC OS API calls, including SWIs to perform simple text, sprite and desktop icon operations.
So far, Gareth claims he has been running RISC OS software in his environment package, implementing SWIs used by the programs one by one. He is currently using simple open source command applications (as well as editor heavy weight StrongED) to test his project. Although RISC OS binary emulation has been attempted time and time again by developers, including riscose and recently Qemu, Gareth argues that since both riscose and his project are GPL licenced, he'll be able to reuse old code in some way. Despite developing a machine emulator, rather than a 'just-in-time' recompiler (as seen in Qemu and VirtualRiscPC) which offers significantly higher performance, Gareth added: "My eventual goal is for performance and to make applications usable, but at the moment I'd settle for them running at all."
Gareth stopped using native RISC OS machines soon after the cancellation of Phoebe, and realises that developing a complete environment emulator is going to be an uphill challenge.
"I wanted to build something which would allow the applications to exist as first class citizens on another platform. I mulled the idea around for a bit, thinking of ARM Linux originally, but then decided to just go for Java and get the widest range of platforms," Gareth told us.
"There has been a lot of design in the system to achieve speed optimisations, with scope for JIT compilation and, more interestingly, the ability to plug in native Java implementations of speed critical sections. Even the current 'interpreted' mode only performs the instruction decoding once to produce a Java object representation of the instruction, which can then be executed very quickly if it is used in a loop."
He added: "I really started this as a hobby project and it just gets whatever time I have available to it - noone else is currently contributing but with a Sourceforge release and a bit of publicity, I'd like to get a bit more help - particularly as the SWIs are so easily divvied up between multiple developers."
Links
RISC OS Binary Environment project site
RISCOSE project site
Related articles
Top apps in first ROS 5 source release
ROS powered 'weapon of mass distraction' unveiled
Castle and ROS Open reveal plans for 2007
This article has been linked to, or is available in the following formats:
| [Printable] | [Digg this] | [Blog search] |