UPDATE : I had a huge breakthrough last night. Worked for about five hours on porting it over to .NET 2.0 to run under Mono. Tested it on a VM running Windows 98 Lite and it ran like a top. There is one piece of managed code that will have to be adapted for Linux/FreeBSD otherwise it is a totally vanilla C# program that even runs it's own server. Modest estimate = [12 Megs W98/2000/XP OS] + [Mono 14 Megs] = Roughly 30 Megabytes installed on hard drive with a memory requirement of at least 16 Megabytes of RAM. This will fit into the majority of 10 year old SBCs, Mini-ITX and PC/104 x86 compatibles with room to spare. This should be installable as a simple unzip of a packed file to disk or a "Setup.msi" program where Win 3.1 Installer is available. I don't know what it would pack up to but it would fit on almost any flash card/USB/Boot CD. Oh and my productivity working in .NET just went up by about 10,000%.
What is really frustrating is these routines worked perfectly a year ago in the C# .NET server I had running back then. If I took my pages I've built up and changed the substitution file tokens a little I could port them back into the .NET version pretty easily and there were no problems with that code at all. I've done a lot of work on the pages and menuing system that could be moved over to the C# server. The VS 2005 environment is a lot more productive than OpenWatcom because of intellisense, wizards and better debug/trace facilities.
Would VOS be interesting if it had the following requirements? :
1. Would have to run on Windows 98SE at a minimum with .NET 2.0 Runtime installed.
2. Would need at least 32 MB of RAM and at least a gig of hard drive space.
I can think of a couple drawbacks :
1. It's Windows specific. Unless I can get it to run on Mono which is a possibility.
2. It is more demanding hardware requirements.
One attractive part of developing in C# was the ease of embedding the web pages in the resource. I was just adding them to the project and compiling them in. I spend a lot of time mucking about with my converters to minify HTML, .JS and .CSS and convert them to .C/.H include files. In Visual Studio 2005 this whole embedded resources thing is a lot easier.
This program might not fit on a floppy but if I got it running with Mono I might be able to fit the installer into something about 8 MBs or so. Would that be useful to people? This would be an instant-on, zero configuration program just like the C version, the installer would be a little bigger is all.
I burn Windows 98SE onto boot disks with as little as 6 megs for the entire operating system, with networking and other required .DLLs to support the .NET 2.0 library. That is competitive with the latest Linux environments in size if not in reliability. I could muck about with Mono for a while after my first release to see if I could make it run under Linux, React-OS and FreeBSD.
The daemons I am using for debugging would not change. They use the PAWN scripting language to run services to read a barcoder device and a CANBUS node plugged into the USB port. Those would not alter at all. I have gotten those working solidly with a little script library to read/write messages to the VOS server that can be adapted for any hardware you want to attach.
Any feedback appreciated as long as it is constructive.