Run Win98 From 16MB Flash Disk
ksheff writes "Embedded Ware Technologies has come up with a product to run Win98 applications from a 16M Flash disk. This could be useful for companies that would like to use an existing Win9x application in an embedded system."
... the folks at litepc.com offer small Win98 installations for flash cards, too.
Cheers
-- I'd say your post was about 3 monkeys, 18 minutes.
M-Systems makes a device called the Disk-on-Chip that I believe can do this. Although it doesn't interface through IDE, it can be made to emulate a hard drive at the BIOS level, using M-Sys's TrueFFS BIOS. Therefore, operating systems (like Windows 98, I believe) that use BIOS calls to access the hard drive can use the Disk-on-Chip as if it were a hard drive. Other operating systems like Windows NT and Linux need the proper drivers / kernel modules to access the disk. The upshot of all of this is that I was able to get my own hacked-up minidistribution of GNU/Linux (which I naturally called Asshat Linux), to boot and run off of the 16-Megabyte Disk-on-Chip in a Visara 1783 thin client machine (formerly running QNX). I believe that the same could be done for Windows 98. If anyone wants info on how I did this, email me or post a reply.
If I remember correctly, some enterprising folks managed to do this a couple of years ago when hacking Virgin's Webplayer. I can't find any archives, but Google's cache (http://216.239.53.100/search?q=cache:nFk2b5yLOY8J :snoopy.net/pipermail/iopener/2000-May/thread.html +16mb+flash+webplayer&hl=en&ie=UTF-8) shows that someone managed to get WinMe to fit under 16MB back in May of 2000.
There would probably have to be a few device drivers involved, but it sounds like a pretty cool idea to me. This way, you don't have to rewrite existing apps or retrain the dev team to make them work in an "embedded" environment.
Time flies like an arrow. Fruit flies like a banana.
I guess it means more photos like this and this.
Seriously, why would someone use something so complicated as the basis for a limited-function embedded system? Can't anyone program in assembler anymore?
Windows 98 in an embedded system?
I always thought that embedded systems were about rock solid reliability - and I don't think that anyone (even Microsoft) would admit that Win98 qualifies.
What's the smallest you can get wine down to?
It would be interesting to see if you can do this with embedded linux + wine.
Advantages:
* You can disable all the gui stuff (if it's embedded, then you might not need any gui)
* You can hack it to make it smaller
* You don't need a windows license
Does anyone know how big wine is normally when compilied? libs and all.. I have no idea if it is a few MB, or 10's of MB's.
Microsoft can't make Windows CE stable (or PocketPC for that matter), so I don't believe that a 3rd party will be able to do the same with a custom product - particularly with an OS that has such a legendary stability record as Windows 98.
The reliability of the Windows CE powered ticket machines at my local cinema is awful. At any one time, at least one or two machines have either locked up; are in the middle of rebooting (but stuck because they can't find the network - that's how I know it runs Windows CE); or worst of all.. about to crash.
You know a crash is about to happen because the UI starts flaking out (text vanishes, on-screen buttons loose captions) while in middle of trying to buy tickets. This happened to me once - I was able to finish by guessing which button to "print tickets", but it locked up when the people next in line tried to use it.
The only reason the machines are actually useful is because the short lines mean you can get your tickets fast - as opposed to the horrendously long queue to buy from the human ticket drones.
The only reason the machines manage to sell any tickets at all is because there are 6 of them - "reliability" through numbers I suppose.
Yet, you can boot an entire Mac from an iPod.
Windows 98 has the advantage of allowing an application to directly access I/O ports and memory mapped registers on I/O cards. This means that you are not forced to write a device driver to do I/O. The system can be setup to run a single application, with Windows providing the GUI and network stack. The end-user only sees the provided application, and is never given the chance to run any other programs or to modify the system.
Mea navis aericumbens anguillis abundat