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."
Why would you do that?
These days, there are three main uses for FreeDOS:
1. Running classic DOS games
2. Running business software that only supports DOS
3. Supporting embedded DOS systems, such as a computerized cash register or till
NB: The message above might reflect my opinion right now, but not necessarily tomorrow or next year.
yes, there is a utility called loadlin. Have fun.
compatibility with legacy software has been dreadful - Microsoft practically forced the whole world into rewriting most of their applications for several times now
Did they really?
Apple hasn't been any better
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.
It certainly seems so for binary software (especially if you measure by volume).
Software that provides the source is a little different, but it is often the case that old source will not 'simply' compile on a modern system (but at least you can try, and if you really need it, it is likely to eventually work).
Nerd rage is the funniest rage.
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?
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.
And frankly, I also love this:
http://www.nu2.nu/bootdisk/modboot/
I would love to see someone take up development of this and to update the network drivers collection and the like. There are still times when a tech needs DOS if for no other reason than to flash a BIOS or to run Ghost over the network or with a local USB storage device.
15 years and their disk partitioning utility still can't partition a disk properly. Guys, an MBR partition scheme is fucking simple, and you have every OS on the planet to test your results against. Please get it right.
It's probably because every other OS on the planet can do it that they don't feel the need to fix it.
The higher the technology, the sharper that two-edged sword.
Party on Garth!
I believe FreeDOS is shipped because otherwise the vendor gets in trouble with various goverments/Microsoft for shipping a computer without an operating system, even if the system is shipped on the understanding the customer will just replace the OS anyway.
Come as you are, do what you must, be who you will.
With difficulty Windows 3.x does run on FreeDOS, or did last time I checked.
-uso.
What you hear in the ear, preach from the rooftop Matthew 10.27b
QBasic Bomberman?
Whether or not the Linux reference was actually flamebait or a reference to half-baked Linux distros, he has a point about the reasons for FreeDOS's inclusion.
FreeDOS was a decent idea at the time (pre-Windows 95). I suspect that it still serves- or could serve- a useful purpose for a small proportion of users running legacy software/hardware setups. That's probably a notable amount of people in absolute terms, but small compared to the total computer market.
But it's incredibly unlikely that the vast majority of modern users would consider an MS-DOS workalike an acceptable substitute for Windows. As the guy says, FreeDOS's inclusion in those cases is a technicality, nothing more.
"Slashdot - News and Chat Sites Deviant". (Click "homepage" link above for details).
In theory, any MS-DOS or PC-DOS (referred to commonly as "DOS") application should run in DOSBox, but the emphasis has been on getting DOS games to run smoothly, which means that communication, networking and printer support are still in early development.
Yes, Windows 3.1 has been verified to work on FreeDOS
Last time I used it it couldn't cope with modern kernels. I had to use linld, which worked.
FreeDOS and linld are very useful for installing Linux to a machine which won't boot from a cd drive(for example a laptop with a damaged internal drive thats too old to boot from usb).
I have determined that my sig is indeterminate.
Maybe the 64-bit version can.
now we need to go OSS in diesel cars
Microsoft practically forced the whole world into rewriting most of their applications for several times now
Did they really?
Yes they did. Explain existence of "Compatibility modes"
By definition(!) the Windows "compatibility modes" provide newer versions of Windows with (some) compatibility with older software.
"Slashdot - News and Chat Sites Deviant". (Click "homepage" link above for details).
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?
have you tried using them together?
You're just a bit ahead of the curve here... There is a 32-bit version in development though: http://freedos-32.sourceforge.net/
DOSBox is an emulator. It emulates a PC running DOS. By modern standards, DOS barely qualifies as an operating system. One big omission, for example, is device drivers. When you want to interact with the display or sound hardware on a modern OS, you interact with some hardware-independent interface to the OS, and the OS then sends hardware-specific commands to the device. With DOS, you just accessed the framebuffer's memory directly or wrote sound samples directly to the soundcard. You only interacted with DOS for a small number of things, such as reserving a chunk of memory and interacting with the filesystem. Most of the code in DOSBox is related to emulating devices, like SoundBlaster 16s, that a lot of DOS programs expect. Very little of it is related to handling DOS system calls. DOSBox also doesn't provide a real filesystem. Instead, it turns DOS system calls related to filesystem operations into operations on the host platform's filesystem.
In contrast, FreeDOS is a reimplementation of DOS. While DOSBox runs as an emulator on top of another operating system, FreeDOS runs directly on top of the hardware, or in a third-party VM application. While DOSBox aims to allow you to run DOS programs, FreeDOS is an updated version of DOS. The last stand-alone version of MS-DOS was 6.22. FreeDOS provides a number of features not supported by this version of DOS, including:
Basically, FreeDOS is a logical extension of DOS in the same way that Linux or BSD is a logical extension of UNIX, while DOSBox is an emulator for running legacy DOS programs (with a focus on games) on a modern OS.
I am TheRaven on Soylent News
OS X updates break software... Early OS X 10.5 patches broke some older games and OS X 10.5.7 broke 3D acceleration for VMware Fusion on ATI cards.
And classic Mac OS software won't work at all on modern Intel Macs with OS X - only Carbonized software can. On the other hand, lots of Win32 software from the 90s still works on modern Windows...
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.
Trying to install linux on my microwave, but keep getting a kernel panic...
As others have mentioned DOSBox is a DOS API emulator, not a complete Operating System as FreeDOS. For unknown reasons many hardware vendors and OEMs still rely on DOS boot disks to flash firmware on RAID controllers, BIOS, and Fiber Channel or iSCSI Host Bus Adapters. I could speculate that it has something to do with modern Operating Systems having greater or more complex abstraction between the hardware and the software. Either that, or there is just no reason to re-invent a wheel, when the wheel you have works just fine on DOS.
So while FreeDOS is not something that many people use everyday, it is something that many people heavily rely on to create bootable images for floppy disks or PXE-booting. Unlike other DOS implementations (DRDOS/PCDOS/MSDOS) there are not licensing costs associated with redistributing a bootable floppy image generated from FreeDOS. So FreeDOS allows hardware, software, and OEM vendors to pre-generate images of bootable floppy based utilities, and redistribute the images without fear of making a copyright violation.
I personally have dozens of floppy images built on FreeDOS, that I use to PXE-boot things like Ghost, SpinRite, BIOS and flash utilities, etc. Some of those images were pre-generated by vendors, some of them were generated by myself using the FreeDOS 'sysx' command on Linux or Windows. I would not be surprised if people are still using FreeDOS for these same things in another 15 years from now.
/^([Ss]ame [Bb]at (time, |channel.)){2}$/
http://www.winehq.org/ While it does not run everything, it is always worth a try. Probably more capable at this point than ReactOS (although I have not tried ReactOS myself).
C - the footgun of programming languages
That's ridiculously silly...you're complaining that Microsoft partially broke compatibility with DOS -- an operating system from over 15 years ago? Come on, nobody is going to take your argument seriously if that's what it is (I guess that's why you were modded into Oblivion).
Show me one operating system that can run binaries from 15 years. Show me one operating system that can take source code from 15 years ago and compile it unmodified today.
I'm not sure you're going to find out, outside of possibly the big old unixes? Don't think FreeBSD can.
Given that windows CAN still run many dos programs out of the box (as of 32-bit vista) what more do you want? Mac OS can't run programs from about 7-8 years ago. Can linux run programs from 15 years ago? (we're talking before 1.0 kernel! a.out binaries! and I actually don't know if the latest linux release can run those old binaries or not...)
If you're talking source code compatibility, things have changed a lot too. .NET would be the single biggest change i guess, but the Win16 and win32 APIs are still around...
Just recently I had to update the firmware on a qlogic card. The updater ws a stand alone Dos exe file. No linux Windows version available, and they didn't even ship a self booting floppy image. The only way to update the server was to download freedos. That, combined with a bit of magic using grub and memdisk worked perfectly.
And I've always loved Marshmallow Duel. Was loads of fun to play with my brother when we were young.
That's like a CD player reseller getting in trouble with Metallica for selling a CD player with no CD attached.
Ezekiel 23:20
Why isn't anyone commemorating its anniversary? ;-)
Again, you're just being ludicrous.
As I pointed out in my post, windows has BETTER backwards compatibility than almost all other OSes. Your argument is that because by far the vast majority of people in the world use an MS operating system, they deserve to get castigated for breaking a smaller percentage of apps than just about any other OS? That's just silly.
Of course, it's not in the same price range as MS products. You get what you pay for.
They sentenced me to twenty years of boredom
And there's still some printers that support most DOS programs.
Most Brother lasers support Epson 9 and 24-pin emulation and IBM ProPrinter emulation... even today. Which is nice for a retrocomputing nut like me. :)
ReactOS and WINE are actually sharing code where possible. The difference is, WINE is meant to run Windows apps on *nix, ReactOS is a complete Windows operating system with a kernel intended to be 100% compatible with NT 5.2 in API and drivers, and a userland 100% compatible with the current release version of NT (so currently 6.0 (Vista.))
Obviously, there's going to be some overlap in the projects.
My solution to the laptop problem is to take out the drive and put it into another pc. I've never actulally used loadlin :)
I come back to /. and see this...
Of course it is about horribly broken distros/installs (what else?...). Benq, for example, used to ship with their laptops some Asian Linux distro (in the vein of Linpus)...that booted into pure textmode and didn't have drivers for the laptops it was shipping with. Toshiba used to ship with DVD of Knoppix; sligthly better, still no drivers. And HP...yeah, they were often shipping with FreeDOS on theiur cheapest laptops.
All of them (with the exceptions withing staistical error) were ending up with pirated copy of Windows XP.
One that hath name thou can not otter
What are you on about? The answer is lots. Certainly Solaris 10 can run SunOS 4 a.out binaries.
Oh, wait -- you specifically discluded those big old Unix OSs. Sorry, my bad.
(for the humour impaired, this is meant to be mildly funny).
Just another "Cubible(sic) Joe" 2 17 3061
Precisely why it's so ridiculous.
Even more stunning is that both Wine and ReactOS aim not only to be compatible with Vista programs, but also XP and earlier programs at the same time! A feat not even Vista can perform!
isn't there a point where running computers older than a certain age simply to get something out of them is counter-productive?
Most popular PC operating systems and popular PC applications do not support sharing a single PC between simultaneous users, each on one set of monitor, keyboard, and mouse. You need a separate PC per user. So even if the old PCs are old, they still might suffice to run a given app. Or are you talking about junking them and replacing them with new PCs? I read on, and apparently you are.
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?
If your connection to the Internet isn't more than 3 Mbps, why would you need more than 10 Mbps between the gigabit switch and the router PC?
how much electrical power will it require to keep running? Probably more than a small, inobtrusive modern device with the same functionality.
Unlike old PCs, a lot of "small, inobtrusive modern device[s]" use cryptography to lock out the use of any free software. Game consoles and digital video recorders are key examples of this.
If you know about Linux, how the hell can you NOT know about FreeDOS?
For one thing, the old IBM commercials with the little blond boy talked about Linux, but not FreeDOS.
Show me one operating system that can run binaries from 15 years.
Virtual Console on Wii emulates the Nintendo Entertainment System and Sega Master System, which are old enough to be off patent (20 years).
And for Linux why would you need to run 15 years binaries if you (theoretically, at least) have the sources and (theorethically, at least) can build them again.
Because you need a 15-year-old compiler to compile the older dialect of the programming language in which the program was written. GCC, for instance, has noticeably changed the semantics of several constructions since 1994. Besides, there are several categories of applications where it is almost unheard of for end users to have source code, such as major label games.
ReactOS trying to build everything from scratch is probably the main reason that they are behind WINE:
The ReactOS team still has to develop a lot of things where WINE can already rely on mature Linux systems. If you read the latest ReactOS newsletter, you find things like
Sound Regression
Ever so briefly, ReactOS had some minimal sound support, only to have it disappear due to a bug in the object manager.
Of course, in theory ReactOS has the better long term perspective for compatibility because it does not need to make compromises for supporting Linux drivers and applications. I just wonder if the ReactOS team can ever overtake WINE considering the extra workload.
C - the footgun of programming languages
Yeah. I've also used FreeDOS to do firmware/bios upgrades on various things from motherboards to hard disks. I fact I keep a USB stick with FreeDOS around for just the purpose.
For what it's worth... IBM System Z is backwards compatible with System 360 which has maintained binary compatibility all the way back to 1969.
Of course, System Z is not a consumer level operating system.
So even if the old PCs are old, they still might suffice to run a given app.
Let me emphasise this point:- The original poster was proposing (and I was responding to) the use of pre-386 machines; i.e. those around 20 years old.
Yes, *obviously* they can still run plenty of apps- that was what they were meant for. Unfortunately, most of those single-user apps will be around 20 years old, and in the majority of cases newer versions will be far more powerful and usable.
And if you tried using a 286 for even the most undemanding "modern" uses for an obsolete machine (e.g. pressing into service as a router, etc) you'd probably realise just how incredibly underpowered it was compared to even the most insignificant modern embedded processor.
Or are you talking about junking them and replacing them with new PCs? I read on, and apparently you are.
Then you weren't paying attention. That was *one* suggestion- and it was for small, energy-efficient devices, not equally large "big box" PCs.
But to address your point... In the next **** sentence I suggest using a 6-7 year old computer. That's not wasteful; even at that age they're on the edge of being unused if not thrown out, and you can get them for free or very little. So given a choice between two unused and possible junk machines, it makes more sense to use the one that's merely pretty outdated- but still useful in some ways- than one that can't even run the 13-year-old Windows 95.
The only good reason for using a 286 is for legacy apps that are reliant on specific obsolete hardware.
If your connection to the Internet isn't more than 3 Mbps, why would you need more than 10 Mbps between the gigabit switch and the router PC?
That assumes that you only wish to actively route to and from the Internet- and that you wish to use a separate switch. And would the network hardware a 286 comes with even be able to manage that? Would it even support modern Ethernet connections (I honestly don't know).
Unlike old PCs, a lot of "small, inobtrusive modern device[s]" use cryptography to lock out the use of any free software. Game consoles and digital video recorders are key examples of this.
I don't know why you jumped to the conclusion that that's what I had in mind, because it certainly wasn't! (I sure as hell wouldn't waste time trying to turn my USB-less DVR into a PC). Small, energy-efficient Atom-based PCs are available. And general-purpose plug-based devices running Linux are also coming onto the market.
Even if the Linux plug things are pathetically underpowered compared to a modern PC, they'll still knock the living daylights out of a 286 or 386, and probably much more "recent" PCs than that.
"Slashdot - News and Chat Sites Deviant". (Click "homepage" link above for details).
Just out of curiousity I would like to know If received the overrated mod because I told the truth about Mac OS, or because I said the truth about Linux.
I am far more inclined to think of the second group. Thanks God I am selling my MacBook this week and will buy a Thinkpad. I will keep my old G4, just to remember the Mac experience before all those extreme newbie fanboys came to the camp.
Your ad could be here!