So what is OPO anyway and why have I been spending months writing an interpreter for it anyway? Well OPO is the translated bytecode for the OPL programming language that was used in Psion handheld devices and currently on Symbian Smartphones. As I still truely love my PSION but also my nice shiny Windows Mobile device I wanted to be able to run all the programs I developed over the years on my new WM smartphone, therefore I looked around and couldn't find an intrepreter and so I wrote my own!
Well thats where it got tricky as it hadn't really been done before and finding out what goes inside the OPO file was kinda annoying; though greatly helped by the work of Mike Rudin the author of RevTran. Don't worry my program doesn't reverse translate your programs, it just runs them as they would under the normal PSION based OPO interpreter.
Although its not completed yet, I have about 60-70% of the OpCodes in place, theres still lots to do but quite a lot of the cool stuff is done like Dialog Boxes, Menu's but some of the tricky stuff that OPL uses a lot like Databases is slowly getting there.
Well the development is currently getting hosted over at Google Code so have a look: