RPCEmu for RISC OS
David Feugey (2125) 2709 posts |
Remember this… With fast hardware (IGEPv5) coming, and a ‘need to be done’ ARM recompiler, perhaps that it could be usable. Is there a way to know how Adrian managed to adapt RPCEmu for RISC OS? |
Jeffrey Lee (213) 6048 posts |
I vaguely remember Adrian mentioning how he did it at some point, but I can’t remember where or when. I believe the gist of it was that it was just a quick hack and he hadn’t started work on any JIT for it yet (I’m not even sure if RPCEmu had any JIT of its own at the time) In any case, porting RPCEmu to RISC OS/the Wimp should be fairly straightforward – you just need to write some fairly basic implementations of the few Allegro functions that RPCEmu uses (or, perhaps, go for a full RISC OS port of Allegro – but that would be a lot more work). Threading might be a bit fiddly, but for a first-pass version using UnixLib’s pthread support should suffice. The hard bit of the task is, and always will be, to create the ARM-on-ARM recompiler and to optimise things to the point where you get acceptable performance. Along with further ArcEm development (Wimp interface, bugfixes, more optimisations, etc.) this is one of the things I’d like to look at, but core RISC OS stuff generally ends up taking priority over any ‘little’ side projects I might have. |
David Feugey (2125) 2709 posts |
straightforward? :) |
Jeffrey Lee (213) 6048 posts |
Yes. Although my definition of “straightforward” might not be the same as everyone else’s ;-) I guess it depends on how familiar you are with C, the Wimp, and porting code which relies on autoconf/configure. If you know all of that then it should be fairly obvious what you need to do in order to get a RISC OS version running. Feel like giving it a go? ;-) |
David Feugey (2125) 2709 posts |
I have no doubt I’m not good enough for this :) |