A few years back I started making an interpreter for OPO bytecode (the executable format for Psion OPL applications) though kinda faded from it after I completely fudged up the dynamic data stack frame (the internal data layout for storing variables, procedure information and dynamic memory allocations)
I got back to it the other day and finally fixed most of the bugs, though still not all of the opcodes have been implemented. The interpreter uses a modified version of my Pixel Graphics library with a basic bitmap based FontEngine (Fonts are pre-generated and stored server side for retrieval on demand)
I'll be writing a blog post for the StudentZine in the coming month, hopefully by then most of the bugs will be fixed and most of the porting changes will be completed.