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