Wrestling with SJA1000 and 82527 interface boards for PCI and PC/104 to support CANBUS, in addition to testing out various output schemes to session page writer through Lua.
About two weeks ago I was calling atomic scripts in Lua from main loop, now I'm thinking about adding a LuaSocket like is common in Windows/Linux for Lua and use Lua coroutines to run the entire Vault-OS system as a Lua program, including web server.
I've got about an hour each night tops to work on it and although what I have is impressive I am going to need a minimum of at least 40 hours more work to get it in shape for a version 1.0 release.
I found that instead of WATTCP library I should go directly through NTCPDRV TSR front end to packet driver, this peeled off 110K and I found immediately that the packets were easily buffered as they came in through the TSR callback. The TCP actually started to run much faster in this buffered fashion than it had been, against all intuition.
So I have the TCP-IP buffered by a TSR. I have the I2C buffered by a TSR. I hope to soon have the CANBUS buffered by a TSR. This will probably result in a very tight, very responsive little system that would be faster than anything you could write for Linux, BSD or Windows. No operating system other than DOS, sitting right on the metal. It will also be stabler than any other system outside of QNX when it is running if I get it solidly debugged.
DOS programs have run gas pumps for upwards of 20 years without ever being turned off. Ditto for monitoring apps for industrial work. They have been left on for years and years unattended. It just requires very robust design of the system so that nothing actually ever crashes it, no matter what happens.