FreeDOS Turns 15 Years Old Today
Jim Hall writes "The FreeDOS Project turns 15 years old today! PD-DOS (later, 'FreeDOS') was announced to the world on June 28 1994 as a free replacement for MS-DOS, which Microsoft had announced would go away the following year, with the next release of Windows. There's more history available at the FreeDOS 'About' page and my blog. Today, FreeDOS is used by people all around the world. You can find FreeDOS in many different places: emulators, playing old DOS games, business, ... even bundled with laptops and netbooks. FreeDOS is still under active development, and recently released a new version of its kernel. A 'FreeDOS 1.1' distribution is planned."
My main use for FreeDOS is BIOS-updates for mainboards. Works beautifully.
I'm genuinely puzzled by the people who can't figure out what a DOS-compatible OS is good for. Don't you people ever need to apply BIOS updates? Or run hard drive diagnostic software?
... and I'm sitting there shaking my head, wondering how they overlooked the alternate, DOS-based updater provided by the motherboard manufacturer (or whatever), and how the hell they can't know about FreeDOS.
... is anyone having a hard time getting FreeDOS to work with SATA optical drives? I never had a problem with parallel ATA, but I'm not sure I've ever managed to get FreeDOS to find and work with a SATA CD/DVD-ROM drive.
In other discussions I've actually seen people comment that an inability to apply BIOS updates is a big drawback for Linux ('cause the update applications they refer to are Windows based)
If you know about Linux, how the hell can you NOT know about FreeDOS?
Now, that said
You can find such a project here: http://www.reactos.org/
As far as I can see, Microsoft's track record at supporting legacy software is better than most.
Because of one of my favorite star trek games won't run correctly in 64 bit Windows 7 :-P http://en.wikipedia.org/wiki/Star_Trek:_The_Next_Generation_-_A_Final_Unity
Years ago I used FreeDOS to make dedicated hardware test stations. These were super cheap boxes with text only displays, an ISA extender card for the DUT, and a floppy. FreeDOS was a great way to use our existing DOS test code on the cheap. We had a floppy for each product type. Boot off the floppy, insert a card to test, hit one key and get an easy pass/fail indication. We had total control and the price was right.
In the age of PCI/PCIe I now do the same thing using Linux and a CD-ROM. You have a wealth of development tools, support for modern bus types and larger address space, and still no expensive per box software license.
I like to tinker... For some of this, FreeDOS is a ideal solution: I recently bought a box of old thin clients. They're all VIA x86 based with flash drive on CF cards. They all have serial ports, legacy parallel ports, USB and ethernet. They are small, don't draw much power, and are only like $15 each when you're willing to buy more than 5 at a time. That's cheaper than any dev kit based on any embedded processor that I know of, and certainly cheaper than using a dedicated PC.
Free-DOS is perfect for these... with an old DOS C compiler you can quickly whip up small programs that can do all kinds of things (Think parallel port = 8 bit DIO with dedicated control channels). If the job gets too big for FreeDOS to handle, I punt and install linux; but, for most simple things, DOS is really all you need.
I could write code to run on a microcontroller like a PIC or ARM, or anything in between. I could also write the code in LabView or a Microsoft .NET language to run on a PC. Why go to all the trouble and expense?
Of course, there's a 4. - putting older computers (especially [my emphasis!] pre-80386 PCs) to good use.
It sounds nice, and it's a noble sentiment. However, isn't there a point where running computers older than a certain age simply to get something out of them is counter-productive?
I mean, my 1998 Pentium-233 system is now (and has been for at least 2-3 years) so old that even many apps designed for "old" PCs won't run on it. A pre-80386 machine (i.e. 286 or older) will at best be approaching 20 years old, if not older! That's ancient.
I doubt such machines would even have PCI in them. Would they (for example, if you were using it as a router) include Ethernet hardware that wasn't a bottleneck on a modern 10/100 or 10/1000 network?
You might argue that getting even a little out of an old machine is better than it doing nothing, but how much electrical power will it require to keep running? Probably more than a small, inobtrusive modern device with the same functionality. Probably more than a six or seven year old laptop that you could get for little anyway.
And that's the thing; you could probably get a six or seven year old computer for next to nothing (I bet many people are throwing working ones out) even if you don't already have one. Ancient, but still massively faster than a 286, 386 or even 486!
Cut a long story short, if someone enjoys doing such stuff with a 286 for the sake of it, then fair enough. I just wouldn't say that it's really that much of a practical and/or environmentally-conscious choice.
"Slashdot - News and Chat Sites Deviant". (Click "homepage" link above for details).
The one requirement I have for DOS is to do bios upgrades to older laptops which still requiring booting to dos. This seems to be one use case which I didn't have much luck with FreeDOS. Is that intentional part of the design (perhaps freedos protects the bios?) or was it just an incompatibility of the bios upgrade tool I have?
At a guess, I'd put this on the BIOS upgrade tool you have. Lots of BIOS updaters run fine on FreeDOS, and in fact several vendors such as ASUS [used to?] include a bootable copy of FreeDOS with their BIOS software if you got it on CDROM. The intention was to use this bootable CDROM to install the BIOS update from DOS.
I know that ASUS did this - at least as late as 2004 - because we wrote a technote on how the ASUS CDROM that came with your motherboard was borked. Specifically, it looks like they didn't bother to completely remove the "installer" parts, which made it easy to break your Windows system by [accidentally] installing FreeDOS on it.
-jh
FreeDos is a great way to root a windows machine almost instantly. Anyone can download it, install it into a user accessible directory and gain access to ALL local files simply because it mounts the existing file system.
Well, no. The FreeDOS kernel doesn't have NTFS support built-in, so it does nothing with Windows partitions formatted with NTFS. To read those, you need to use a TSR like NTFSDOS.
If your Windows partition used some version of FAT, then FreeDOS would read that, no problem. But so would any other OS, including Linux, or another version of Windows.
-jh