Today I reached a minor milestone with my 'Venix restoration project' that I talked about months ago. I ran a Venix 86 binary (sync) to successful completion on my FreeBSD/amd64 box (though none of the code should be too FreeBSD specific).
So, I hackedĀ
https://github.com/tkchia/reenigne.git to remove the DOS loader and emulator and to add a Venix system call loader and emulator, or at least the start of one. I've also added FP instruction parsing, but it's 100% wrong (it just parses the instructions and does nothing else to decode or implement them). With this, I'm able to load OMAGIC binaries from the extant venix 86 distributions and run them. The only one that runs successfully is sync() since I've not yet implemented argument passing or any of the other 58 system calls :). NMAGIC should be pretty quick after this.
This is but a step on the road to getting the Venix compiler running so I can see how much of the system I can recreate from the v7 and other sources that are on TUHS.
Not sure who, if anybody, cares about this stuff. I thought people here might be interested. I've pushed the results to
https://github.com/bsdimp/venix if you care. This program is in the tools/86sim directory. There's also a doc directory where I document the Venix 86 ABI, as well as doing a very deep-dive into a disassembled /bin/sync to discover what I can from it (turns out, it's quite a lot).
So, I thought I'd share this here. Don't know if anybody else is interested, but you never know until you tell people about stuff...
Warner