Friday, February 3, 2012

Vault-OS : Now In Two Flavors

I got so frustrated with my C code in Open Watcom I dug out my old C# ASP.NET version of Vault-OS (was going great guns on this last year until I decided I was going to write something that would run on any machine with an ansi C compiler) and I had a marathon putting together a new menu system and and embedded database. I got this compiling together with aspNetCore, an open source ASP.NET server that can be compiled together with your website, completely doing away with IIS and Microsoft SQL Server altogether.

Looks absolutely smashing. Worked on coding a static instance of the mailslot server (drives all the plug'n'play daemons that drive various sensor and control devices) into the Application handler. That appears to be working well. I also got my barcode image server running so that all you do is pass the type and the code and the web server returns an image with a link to a Javascript snippet that monitors the "barcoding" mailslot to see if anything new is scanned for this field in realtime. This made the crap I had been working on in Watcom look like the Flintstones.

I'm a bit ashamed I didn't find out about the embedded web server until I went back to have a look at the ASP.NET version. I also found out it runs under Mono on Linux and FreeBSD.

I was doing a little work on it this morning and marveling at how incredible it was looking when suddenly out of the blue it popped into my mind what I was doing wrong over in my Watcom C build. My receive buffer was only 1536 bytes and I was sending it chunks of data nearly 6K of form fields. It was timing out trying to process it all in segments. I increased the RCX buffer size, presto, problem mysteriously vanished instantly.

So now I am left with this revamped remarkable looking ASP.NET web server for VOS that is already capable of things I could only dream of in the other version and my C version is functioning again.

I have decided that rather than change back, I am going to forge ahead with this ASP.NET server to release as an alpha version before the end of February for testing. You heard it here, you can hold me to it. Alpha for testing will be released on or before February 28th. Crash, rock, fail, whatever shape it is in I am putting the ASP.NET version up this month as-is to get some feedback. I tried running this as an experiment on a massively scaled down Win 98 on a machine with 64 MB RAM and it appeared to run very well, both with .NET 2.0 runtime and Mono. In all likelihood I will be installing the lite version of Windows 2000 on this machine for my final product, I believe I can get that down to around a 60 MB installation on hard disk with 32 MB RAM sufficient for decent speed.

The C version is still very important to me, amongst other things for running on tiny computers that otherwise might not have the RAM to run the ASP.NET or even an OS outside of minimal Linux or DOS. I will get back to it in coming months but am fixated now on finishing this ASP.NET VOS I originally started on in 2006.

Hold me to it, I am setting this deadline for myself. February 2012 for 1st Alpha version. If testing goes well, I could have a release version by end of March.

Remember, whatever machine you test it on, please replace your boot screen with this image. I did on my little PC/104 box and I get this incredible thrill every time I boot it up.


Anonymous said...

Apple-1 Computer Sells for Over $200,000 at London Auction

And have a look at the original selling price.

Anonymous said...


I've got 2 laptops with Windows 7 that I use everyday.

2 more that I've stripped off the Windows for Ubuntu Linux;

and a bunch of beige-box hard drives with various Windows boot editions, 98first, ME, XP;

The Linux machines would be the best, (in my case) to do VOS testing on.

Anonymous said...

Gas supplies to Europe cut by 30% in the midst of coldest winter in decades. Russia puts the boot in!

Anonymous said...

Great news, Tex.

Ted Walther said...

Mr Arcane, too bad you didn't know about "newLISP". newLISP code was designed for this very type of thing. It is a small binary that lets your code run unmodified on Windows, Linux, Mac, and BSD. Very easy to learn, fast, etc.

Anonymous said...

Mr Arcane, too bad you didn't know about "newLISP". newLISP code was designed for this very type of thing. It is a small binary that lets your code run unmodified on Windows, Linux, Mac, and BSD. Very easy to learn, fast, etc."

you just added 3-4 months in development time!!!!!!!!!!

Texas Arcane said...

It's true that previously, having discovered something as good as newLISP, I might drop what I was doing and switch over to that. I am not doing that. I have continued working on the ASP.NET version as I said, intent on releasing my first test app this month.

However, I did file it away. The more I read about it the more impressive it was. The 220KB core is really the clincher. I could get that running on these little 384K DOS clone mini-sbcs I bought. I am not touching it at the moment, however.

Looking it over, with the core supporting this basic functionality like you would need in a small embedded web server, it is pretty incredible I never found out about it before. Thanks for that, Ted, I will definitely look into it when I finish up the version I am working on.

I have lots of small dedicated systems I have yet to build, like a board that watches a grid of seismic detectors and provides a single page image of the map where they are installed. I wrote a little test program in PowerBasic for DOS for this but I had to provide all the functionality that comes built-in to newLISP. It's very impressive for it's size.

Ted Walther said...

Just today I was able to use newLISP to make a MIDI decoder. I needed to analyze some MIDI files to make sure I was generating my own correctly. I had heard that LISP was good at bit-banging, but I didn't realize it was SOOO easy. newLISP especially has adopted a lot of constructs from C, Algol, and other languages to really make developement nice. It is like LISP, but modified for those of us that know C and shell script and other stuff. Then takes it to a whole new level. Not like Common LISP, which has the power, but is completely different in idiom.

I appreciate your principled stand of finishing what you are working on. Kudos for that. And if you want to look into newLISP for your next iteration, I am available to assist.

Anonymous said...

Wait, remind me why are you coding VOS?

Texas Arcane said...

Wait, remind me why you visit this blog?

Anonymous said...

what's the significance of the please stand by picture?

Anonymous said...

For goodness sake don't tempt Tex with yet another language! He'll end up with another branch and another year of getting it 'just so'. :)

Anonymous said...

And you avoid my valid question. Is it because after the fall, you can run your OS with pretty much whatever you can salvage?

Texas Arcane said...

If there is a valid version of VOS that runs on any DOS base (FreeDOS, MS-DOS, RX-DOS, etc.) and another version that is a standalone web server in .NET 2.0 then I would say that you will never have a problem getting it running again on any machine you can find. It could be a laptop, soda machine controller board, or just a 486 you stuck away before the event. As long as it is an X86 device that supports 32 bit protected mode you should be able to run VOS on it.

Texas Arcane said...

"Please Stand By" was the original Fallout splash screen for loading your game. It's 50's atomic retro and it also reduces to 16 colors with no loss.