The goal of the FreeDOS Project is to create another implementation of MS-DOS. DOS is a popular system, and there is plenty of PC hardware already available that is ready to support it. Microsoft will not develop DOS forever, and one cannot count on third-party commercial entities to continue DOS. I feel it is then up to those on the Internet to develop their own DOS (FreeDOS) and I feel there is a lot of support for this type of project.
FreeDOS should not be targeted towards certain users. That is, the end product should be something that programmers and non-programmers may both enjoy and find useful.
FreeDOS is a free DOS-compatible operating system.
- Easy multiboot with Win95-2003 and NT/XP/ME
- FAT32 file system and large disk support (LBA)
- LFN support via DOSLFN driver
- XDMA & XDVD - UDMA driver for hard discs and DVD players
- LBACACHE - disk cache
- Memory Managers: JEMM386 (XMS, EMS,...)
- possibility of writing 32-bit protected mode drivers (JLMs=Jemm Loadable Module)
- SHSUCDX (MSCDEX replacement) and CD-ROM driver (XCDROM)
- CUTEMOUSE - Mouse driver with scroll wheel support
- FDAPM - APM info/control/suspend/poweroff, ACPI throttle, HLT energy saving...
- MPXPLAY - media player for mp3, ogg, wmv... with built-in AC97 and SB16 drivers; has a user interface
- 7ZIP, INFO-ZIP zip & unzip... - modern archivers are available for DOS
- EDIT / SETEDIT - multi window text editors
- HTMLHELP - help viewer, can read help directly from a zip file
- PG - powerful text viewer (similar to V. D. Buerg's LIST)
- many text mode programs ported from Linux thanks to DJGPP
- FreeCOM - command line, supports file completation
- 4DOS can be installed, which is an enhanced command line.
- GRAPHICS - greyscale hardcopy on ESC/P, HP PCL and PostScript printers
- Arachne - a graphical web browser and e-mail client
- FDNPKG - FreeDOS package manager with network support
- bit torrent client
- anti-virus / virus scanner
FreeDOS was designed to be compatible with all PC hardware, from systems as low as the XT and systems with as little as 640k memory. However, not all PC hardware was created equal, and there is odd behavior of some computers (mainly old ones, but there are bugs in new CPUs, too). FreeDOS might be a candidate for upgrading old computers, some of which will be strange. Mark Aitchison lists a few systems that are known to have issues with FreeDOS:
- Cyrix 486DLC CPUs (made by Texas Instruments) cause trouble for many systems, but I’m not sure of the details. (I do have a DLC I can get my hands on to test, though).
- Sanyo MBC 500 series computers are extremely incompatible in most ways; the BIOS only partially matches IBM PCs but the memory map, video hardware, etc are very different. The MBC 750 series is a bit more compatible, I heard.
- Data General DG10 - this is a desktop minicomputer with DG’s own microEclipse CPU and an 8086 side by side; it can run two operating systems at the same time, and each operating system uses the other CPU at times (e.g. the DG CPU handles all disk activity, the 8086 handles keyboard). The MSDOS available for it was greatly hacked by DG, and (like the MBC550) video RAM and IO ports aren’t where you’d expect them. Both the DG10 and MBC500 series don’t have ROM at the the top of conventional memory, so you cannot test for a BIOS signature (in fact reading upper memory can hang the computer or do strange things to the video) although it is probably that the manufacturer’s ID word with be zero for both machines.
- Data General DG One - totally different to the DG 10, a laptop (the first decent one, IMHO), with a 4MHz 80C88. Much more compatible with an IBM PC, but the serial ports are different (int 14 okay, but hardware access involves a totally different UART on the first DG One), and the CMOS time/clock behavior is different (cannot recall details, but a regular DOS would set the time correctly but not the date, I think). I can get hold of one to test.
- Olivetti M20 series - pretty incompatible (M24 not as bad as M20); the Machine ID word is 0xFE00 for the M20. Note low byte is zero, normally FF for an IBM PC, FE for an XT, etc.
- In general, if the ID byte at f000:fffe isn’t in the range 0xfa to ff then expect compatibility problems. The ID words for clones I have come across are:
|??2D||very old Compaq PC|
|??9A||very old Compaq XT|
|0036||"Magnum" or "Bison" XT clone|
|CA00||"Excel" XT clone|
|0000||Data General DG10, or Sanyo MBC550|
FreeDOS still works with latest CPUs!
Pretty much any software that works on MS-DOS (or compatible DOS) will work on FreeDOS.
Who uses FreeDOS
Many people use FreeDOS, in business and education and at home. At this time, it is impossible to know for certain exactly who is using FreeDOS, or in fact how many people use FreeDOS. However, I have seen comments from people that indicate FreeDOS is being used in at least these ways:
- As a desktop operating system in a home business (word processors, spreadsheets)
- In embedded systems
- As an educational tool (to teach students the fundamentals of programming and operating system design)
- As music player
- As the DOS for Linux DOSEmu (the Linux DOSEmu project uses FreeDOS as the default DOS)
How to get FreeDOS
It's easy to install FreeDOS. There are many ways to obtain the installation media:
The official FreeDOS home page is www.freedos.org and you will always be able to download FreeDOS from this location.
Various sites already sell FreeDOS distributions on CD-ROM sets.
Various computer vendors are currently selling computers with FreeDOS installed. You can purchase these systems from:
- HP - desktop, workstations, laptops, notebooks and netbooks.
- Dell - desktop, workstations, laptops, notebooks and netbooks.
- Lenovo - desktop, laptops, notebooks
- Asus - laptops.
Indirect ways to get FreeDOS
There are quite a few software and hardware vendors who use FreeDOS as an integral part of their product. Usually, they boot to FreeDOS in order to manipulate the hardware, firmware or installation of other operating systems such as partition resizing.
Various software vendors sell products on CD, DVD or USB sticks that boot FreeDOS in order for their programs to work. Some of these vendors are:
- Gibson Research Corporation - SpinRite.
Various hardware vendors sell products on CD, DVD or USB sticks that boot FreeDOS in order for their programs to work. Some of these vendors are:
- HP - Distributes "ROMPaq" updates using FreeDOS for updating firmware, drivers, etc.
- Asus - BIOS installer/updater.
- Seagate - disk drive firmware bootable CD.
Any effort that goes into writing a FreeDOS would, of course, be redistributed in both binary and source code form. Therefore, we urge programmers to release their software under a distribution agreement, such as the GNU General Public License (GPL), which says in part from its Preamble:
The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Lesser General Public License instead.) You can apply it to your programs, too.
When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things.
Anyone may sell a GPL’d operating system (such as FreeDOS) so long as there is a distinction made as to what the customer is actually buying. That is, it must be made clear that the distributor is not claiming that they own or wrote the GPL program, and that they don’t reserve any rights to it.
Additionally, the distributor must understand that any changes they make are to be identified and must be released freely. For example, if someone adds FAT32 support into the FreeDOS kernel, then it falls under GPL and must be freely available. However, if they add FAT32 support as a TSR and simply bundle it with the rest of FreeDOS, then they can charge for that piece of code only.
The idea is to protect the free software and their authors. No one else should be able to take their code and misrepresent it, or worse, illegally or unethically profit from it.
Version 1.0 was released in 2006, and we are continuing to develop FreeDOS. We have a straw man road map currently available. This is an evolving road map that is dependent upon the needs of the community and the availability of developers/maintainers for new features.