Well, here it is. What I was able to do on this project in what amounts to three man-weeks of actual work.

Unfinished aspects of the emulator core:

If you wish to work on this project yourself, please coordinate on the OpenComputers forums about it, to allow collaboration with others. And please, obtain "ARM Architecture Reference Manual, ARMv7-A and ARMv7-R Edition" and reference it for any questions of how the architecture should behave. It is available for free from ARM's website after a signup. Many parts of the emulator core are marked up with references to this document, particularly those dealing with instruction decoding or coprocessor registers.

I am releasing this archive and the source code contained therein to the public domain. Bear in mind the following, non-legally-binding, requests:

Note that C Code/luajarm contains code from other projects, including Lua itself, LLVM, and widely-used implementations of C's math library and the strtod function. These are not public domain, even though the rest of the code is. Consult those files for their license information.

Feel free to contact me with questions, scorn, etc. at solra@bizna.name.