Wednesday, March 26, 2008

Vault OS : Update #9 : PRICE WARS!

Woo-hoo! Landed another four SBCs ("single board computers") today at an average of $10.00 apiece. Check out the specs on this board, it's got Ethernet and 1024x768 VGA built-in. I think this can be called a worldwide price collapse ... considering that only three years ago, my Rabbit 2000 board for $50.00 was highly competitive with x86 based SBCs with half of the specs and features starting at $300.00+ or much more. For a while there, PC 104 boards were way more expensive than just buying a discount PC completely loaded.

So the failure of PC 104 as a standard is now resulting in a glut of PC 104 and similar x86 devices with "old hardware" flooding the markets. The world says this is junk, but at Vault-Co we call it our all-purpose high end supercomputer terminal with the right software ...

The prototype is percolating .... screenshots and downloadable alpha test version soon ...

Those of you who have wondered since the first Vault-Co site was launched in 1998, when I was working on Vault OS in Visual Basic, just when if ever this software was going to be released ... I am glad I waited and got a lot of false starts. Somehow I knew this day would come. A world where the x86-32bit-PM is a surplus device for around $20.00 a terminal installation ... that's what I'm talking about. Combined with an I2C standard for realtime sensing and control ... that's a basket I will put all my eggs into and my back into developing.

Of course, you still have to come up with the actual display hardware. I have a couple 12 volt LCDs with VGA input laying around at 640x480 resolution, so I am not worried but if you keep your eyes open I think that you will start to see barebones VGA panels at prices under $40.00 brand new or less as secondhand. The keyboard and mouse have a thousand options available, you can buy a serial mouse for $2.96 new from the bargain shop last time I checked. I saw a mini-keyboard a few weeks back for $12.95. There is also stuff like this floating around the surplus channels.

Because of this strange visual trick I am using, where I overlay one GUI layer onto the desktop transparently, I think it may be some time before I support more than 256 colors. This may entail conversions of incoming true color images into their 256 color counterparts. Basically, I am physically using color index layer zero as the transparency mask for my secondary GUI layer. This is really cool, it works and it is fast. If I try to convert it to 16 bit high color I may experience a significant slowdown on lower end machines (like this Pentium 166 SBC) because that is literally copying 4 times as many bytes with masking onto the bottom layer. So although supporting higher resolutions is a snap (up to 1024x768) I may be locked into the use of an 8 bit palette for a long time for the Vault OS. This will entail the need to convert CCD camera images on the fly, which usually is not too hard if you are using a pregenerated lookup table. I've done a lot of this stuff before in game programming with similar restrictions.

I also think I may roll back Watcom from OpenWatcom 1.4 to the original Watcom 11.5 which I was a registered owner of. My original CD disks have gone bad but it is still legacy code. These idiots maintaining OpenWatcom not only managed to crash all existing makefiles and the linker, they also lost compatibility with the STL (Standard Template Language) port for Watcom. That's a pretty big sore thumb there in terms of productivity. If you don't enjoy debugging custom linked lists for every structure in your program, you use the STL to just say things like ... "list i(INVENTORYITEM)" to replace about ten man hours of programming. Want to sort your list of inventory items and don't have a spare week to try different sort routines? Just say "i.sort()." You can probably understand why STL is so important to have for C++ coding. So anybody who said, "Yes, let's release OpenWatcom 1.4 with no more STL compatibility or working makefiles" would have had to be smoking catpoop right out of the litterbox. That's no improvement.


Anonymous said...

Tex: (I hate to nag, but...) what about new low-spec gear?

The reason I was talking about "windows-only hardware" previously was not because I'm enamoured of windows (at all) but because these seem to be the only drivers that come with newer gear. Linux if you look, but dos32? Am I justmissing them or do they not exist?

The reason I'm so hot on newer gear, btw, isn't because it's so much faster, it's simply because you know it hasn't been used by mindless jerks for years, turned on and off, cooling too fast and developing dry joints, ultimately to fail about ten minutes after TSHTF.

If you buy new cheap hardware and build enough thermal mass into the case (say...a couple of house bricks bolted inside the case opposite the motherboard) then you should get decades out of your gear because slow cooling equals long life (it's the cooling contraction, after all, that kills hardware.)


Texas Arcane said...

The great thing about the basic requirements is that they anticipate failure someday - and replacement with hardware that will be easy to scavenge from the rubble.

Any windows machine can be turned into a Vault OS terminal by just stripping it down to DOS and a video driver, guaranteeing that anything that can run DOS with a 32 bit processor (laptop, PC-104, salvaged board) will be able to run Vault OS. The alternatives once you start going the modern route is that it will cost a fortune and demand high end specifications for everything.

Interesting about the cooling being the primary cause of hardware failure. Do you have any links to sites that have schemes for ameliorating this (like you suggested) to extend the life of embedded x86 systems? There might be a cheap system of insulation or otherwise that could be used the way you described.

Anonymous said...

No links, I'm afraid. The idea just came from a conversation I had recently with an old techie mate. He commented that it's people turning their TVs and computers off late at night when the ambient temp is low (particularly in winter) that kills the gear quickly. I suppose if you get a heap of old boards and inspect them with a magnifying glass for little cracks in the joints, toss out the dodgy ones and then implement some form of thermal mass in the case to slow the cooling process, then the older gear should probably last just as well. (I've even read about sticking a stripped board with dry joints in the oven to make the solder melt back together again, but I dunno whether that particular rumour is fact or fiction.)

The house brick idea was a bit over the top, since it would take a helluva lot of energy to heat it up to a point where it's capable of contributing much. Water, however, is a good store of heat, and aluminium is a good conductor, so an unopened can of soft drink may do the trick, placed inside the case and held in place by a large hose clamp or even an automotive cup-holder bolted to the case wall above the processor.

The other good thing about this ancient tech you're championing, I suppose, is that since these older processors don't generate as much heat (the last processor I had that didn't even require a fan was a dx2-66, but I've heard of dx4-100s running with just a big-arsed heat sink) you can pretty easily implement water cooling with a low volume of coolant, convection circulation, and relatively inefficient heat exchanger.

For 166-class hardware, perhaps the coke can could form a simple fluid circuit in which the warmest water from the top of the can circulates out a tube into the top of a simple vertical axis copper coil on the outside of the case. The bottom of the coil connects via tube to one side of a thick aluminium plate which is thermo-pasted to the processor. The other side connects back to the bottom of the can. No pump required, no moving parts. Simple.

When you turn off the machine you simply close a valve (or put a clamp) on the top tube coming out of the case, the heat of the coolant water in the can-reservoir is therefore trapped inside the box, making sure everything cools down nice and slowly. (Just remember to open the valve/remove the clamp when you boot up next time or you'll cook your processor quick-smart.)

Whether or not the heat build-up in the case would be too great is debatable. I tend to think that with old gear like that, as long as the processor has plenty of cool water flowing through that plate then everything should equalise okay and be hunky-dory. Wouldn't take much experimentation to find out for sure, of course.

I'll do a diagram if you want, but it's bloody simple, really.


Texas Arcane said...

The idea is that maintenance/replacement/addition of a new terminal means locating an x86 machine of some kind somewhere. It could be the touch panel of a taxicab pulled from the skeletal fingers of a taxi driver. Or a mini PC-104 board pulled from the cab of a bulldozer or mining dredge. Or a laptop in the back of an abandoned car.

Replacement means finding an x86 machine. Backup/Installation means a compact flash card that can be plugged into a PCMCIA slot, USB or uploaded over TCP-IP. With the size of flash memory nowadays at $10.00 for one gig, you could do a backup of thirty terminals all on a single flash card and if your entire vault got fried by EMP or a lightning strike, reinstall the entire thing off a single compact flash card.

Texas Arcane said...

P.S. Try that with Windows. It's impossible. You could hunt for the required CDs and service packs for years before your terminal was running again.

Anonymous said...

Wouldn't all available replacement parts be fried by EMP as well?

(I'm a different anonymous guy here)