ROS environment emulator in Java mulledBy Chris Williams. Published: 28th Apr 2005, 21:12:51 | Permalink | Printable
Thinking outside of the boxA 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."
RISC OS Binary Environment project site
RISCOSE project site
Previous: Wakefield 2005 theatre details
Next: ROS 4 cheap as a few nights down the pub, says ROL
DiscussionViewing threaded comments | View comments unthreaded, listed by date | Skip to the end
Please login before posting a comment. Use the form on the right to do so or create a free account.
Search the archives
Today's featured article
Using SDL natively
Neil White makes his move
2 comments, latest by nex on 17/10/04 10:52AM. Published: 6 Oct 2004
Discussion and Negotiation
RISCOS Ltd's Response
83 comments, latest by epdm3be on 02/07/04 2:48PM. Published: 16 Jun 2004
News and media:
RISCOS Ltd •
RISC OS Open •
MW Software •
Advantage Six •
CJE Micros •
Liquid Silicon •
Chris Why's Acorn/RISC OS collection •
The Register •
The Inquirer •
Apple Insider •
BBC News •
Sky News •
Google News •