Main Page
From freedos
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 targetted towards certain users. That is, the end product should be something that programmers and non-programmers may both enjoy and find useful.
Contents |
Features
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
- Fdupdate - updates installed FreeDOS from internet server
- bit torrent client
- anti-virus / virus scanner
Hardware
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 behaviour 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 opoerating 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 behaviour 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 |
| FE00 | Oliv. M20 |
| 0000 | Data General DG10, or Sanyo MBC550 |
FreeDOS still works with latest CPUs!
Software
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:
Internet
The official FreeDOS home page is www.freedos.org and you will always be able to download FreeDOS from this location.
CD-ROM
Various sites already sell FreeDOS distributions on CD-ROM sets.
License
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 identifed 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 profite from it.
