Unlimited Faxes, No Fees, Dedicated Phone Number
This is a quick implementation from scratch of the BD+ virtual machine as described in this Doom9 thread. It's written to be simple, straightforward and readable. It should also be quite easy to use in most environments, as it is written in plain C99 with no endianness assumptions.
It currently does not support any traps. It merely implements a stub for trap 0x110 as an example of how to write further hooks.
I don't really have time to do much further work on this, but I hope it is clean and straightforward enough that anybody could pick it up and continue working on it. The instruction set should be completely emulated, but as it was written in a few hours with just the forum thread as reference there might be some bugs. However, it currently runs the example file from the thread up to the call to trap 0x520, and the memory and register state at that point is identical to the posted example.
The source archive can be downloaded here. It contains a makefile for building with gcc (mingw or cygwin should work under Windows). It should be easy enough to get it to build under any other compiler that supports C99.
As new Doom9 accounts are apparently not allowed to post, I can't post this in the thread itself, so I put it here for now. If you have a question or comment, feel free to use the comment form below to post it.