An open source version of the still important DOS previously popularised by Microsoft. DOS is still used in embedded systems and to bundle utilities with hardware peripherals.

Here is the general information section of the FreeDOS Frequently Asked Questions. Posted with permission.
1.0 GENERAL INFORMATION

1.1 What is FreeDOS?

The goal of the FreeDOS project is to create a free implementation of MS-DOS. DOS is a popular system, and there is plenty of hardware out there that supports DOS. The FreeDOS project was founded in 1994 by Jim Hall.

The concept of FreeDOS came about when Microsoft announced in 1994 that soon users would no longer be using DOS, and everyone would be using MS Windows. (Note the timing: Windows95 was released in August, 1995.) Many of us on the DOS newsgroups loved using DOS, and in general, disliked using Windows because the GUI interface often made it more difficult to do our work. So we began asking ourselves: if Microsoft will not support DOS anymore, who will?

The answer to that question was: ourselves! We started up a project to create a free version of DOS, with source code available to all. The result was the FreeDOS project.

FreeDOS is not a derivation of MS-DOS - we are not using or referring to any Microsoft code. We are instead using the description of the MS-DOS program as given in publications (such as the user manual) to create a program of our own that follows that spec.

1.2 Where can I learn about FreeDOS?

The official home of the FreeDOS project is www.freeDOS.org. There is also a FreeDOS WebRing

You may also consider joining the FreeDOS mailing list. Or, you can post a message to comp.os.msDOS.programmer or comp.os.msDOS.misc (whichever seems more appropriate) and ask your questions there. A lot of people in these groups are pretty knowledgeable about FreeDOS. A number of FreeDOS mailing list members are also part of c.o.m.m and c.o.m.p.

1.3 Will FreeDOS run on my PC?

In short: yes, FreeDOS should run on all PC's. That means you can run FreeDOS on your Pentium-Pro 800Mhz. It will just run really fast. You should also be able to run FreeDOS on your 5MHz PC-XT. It will just run a little slow.

FreeDOS will run on all levels of PC's, from as low as an XT with 640k memory. We may one day expand the project to support 32-bit extensions such as protected memory or multi-tasking, but for now we are content with supporting the lower systems.

All of this information, and more, is spelled out in the FreeDOS Manifesto.

1.4 Will FreeDOS work under a PC emulator?

Yes. FreeDOS works well in several PC emulators, including the popular Linux DOSEmu. In fact, FreeDOS is the official DOS of the DOSEmu folks.

FreeDOS is also used in other PC emulators as well, including Mac Bochs, plex86, and VMWare (for Linux and Windows NT.)

1.5 Can I use FreeDOS to install my copy of Windows?

Windows is a special case. Microsoft Windows does not like to run on any DOS other than MS-DOS. Some people have reported success in running MS Windows on FreeDOS, but I don't recommend it.

For the same reason, many people report that you cannot run the Windows95/98 installer from FreeDOS. It doesn't work. I also understand that DR-DOS does not run the Windows95 installer, at least without serious patching.

1.6 Is FreeDOS really free?

Yes, FreeDOS really is free. Most FreeDOS programs are written under the GNU General Public License. This means that the source to all FreeDOS programs (including the kernel and replacement Command.com shell) is available.

1.7 Can I bundle FreeDOS with my commercial app?

The short answer is: yes, if you pay close attention to the GNU GPL.

Some software in the FreeDOS software distribution is protected under other licenses, so you should be sure to check the licensing of any program that you want to bundle with your app.

1.8 Is FreeDOS the same as OpenDOS?

FreeDOS is not associated in any way with OpenDOS from Caldera.

Actually, Caldera has re-named OpenDOS to DR-DOS, because their DOS was neither really open nor free.

1.9 What programs can I run on FreeDOS?

Refer to the FreeDOS Maintainers Lists for a list of all programs that are currently distributed with FreeDOS.

To see a list of many old DOS programs that are currently known to run on FreeDOS, please see the kernel compatibility list. This list was assembled from the contributions of many who have tested FreeDOS with their favorite DOS application, and found that it works. This is not, by any means, a complete list of all programs that will run on FreeDOS. If you have a favorite DOS app that runs on FreeDOS, please send us an email and let us know.

Some DOS favorites will not run on FreeDOS, however. These are usually due to some incompatibility with an MS-DOS internal, and we are working on those problems. In particular, New Deal Office suite does not seem to work on FreeDOS.

1.10 How can I contribute?

If you would like to contribute to the FreeDOS project, you might look at the Contribution HOWTO for a place to start. You should also read the Coding HOWTO for guidance on writing your program.

A frequent question on the mailing list is: what programming language should I use? The answer is provided in the FreeDOS Spec, that if you are writing a program that reproduces the functionality of MS-DOS (i.e. a program for the Base list) then you need to use either C or Asm. If you use C, please make sure your program will compile correctly on Borland C 3.1. If you use Asm, your program should assemble properly on MASM.

If you are writing a program that is not for the Base list (i.e. it is some extention third-party software such as a modem dialer) then you can use pretty much any programming language that you prefer.

If you intend to do some serious work for the FreeDOS project, you may also want to join the FreeDOS mailing list.

Submit a maintainers list entry when you have at least a 'beta' available of your program. I am trying to avoid adding any more 'TBD' projects to the maintainers list, as they don't really do me much good, and I have had to take down too many entries because the 'owner' didn't get a chance to finish the program.

You should continue to post updates on your progress to the FreeDOS Mailing List, to (a) let people know where you are, in case they can help or are willing to test, and (b) to continue your 'claim' on the program so no one thinks that you've stopped working on it, and decide to take the project on for themselves.

1.11 What is the difference between the kernel and Command.com?

Jan Verhoeven writes:

kernel is the nucleus (kern is germanic for nucleus) of the operating system. Traditionally this is loaded from/by IBMBIO.SYS and IBMDOS.SYS like files. In our case we load one file called kernel.Sys.

Command.com is the command interpreter that acts as an intermediary between you, the user, and the computer. It does all the nasty things you COULD do yourself, but which are far better handled by a dedicated program.

They are distinct. Command.com is in fact mostly user level, whereas kernel is mainly systems level.

Command.com, or FreeCom as we call it, uses the system calls that are needed to control the computer. The kernel defines the system calls that are needed for the computer.

1.12 I have the source code for MS-DOS! Would you like to see it?

Please do not do this. It is highly inappropriate for any person who is contributing towards the FreeDOS project to have any "inside" knowledge of the MS-DOS source code. For this reason, you should not send any code that claims to be derived from Microsoft's code base. I ask you not to do this.

I delete mail that suggests things like this.

1.13 How do I use my CD-ROM driver?

In theory, the same as you install a CD-ROM driver under MS-DOS. However, in practice we find that the network redirector (which is used by the CD-ROM interface) is currently not working for many CD-ROM extenders.

The following is how you would load a CD-ROM driver:

1. In config.sys, you add a DEVICE line to load the driver. For example, if your driver was called IDE_CD.SYS and was in the C:\CDROM directory, you would type:

  DEVICE=C:\CDROM\IDE_CD.SYS /D:CD0001

2. In autoexec.bat, you bind the driver to the CD-ROM extender. For example, if you are using FDCDEX:

  FDCDEX /D:CD0001

(I think that is correct usage.) If you were using MSCDEX:
  MSCDEX /D:CD0001

Copyright © 1998,1999,2000 Jim Hall DOS-C FAQ Copyright © 1998 Pat Villani. Used with permission.
Unless otherwise stated, FD-DOC HOWTO documents are copyrighted by their respective authors. FD-DOC HOWTO documents may be reproduced and distributed in whole or in part, in any medium physical or electronic, as long as this copyright notice is retained on all copies. Commercial redistribution is allowed and encouraged; however, the author would like to be notified of any such distributions. All translations, derivative works, or aggregate works incorporating any FD-DOC HOWTO documents must be covered under this copyright notice. That is, you may not produce a derivative work from a HOWTO and impose additional restrictions on its distribution. Exceptions to these rules may be granted under certain conditions; please contact the FD-DOC HOWTO coordinator at the address given below. In short, we wish to promote dissemination of this information through as many channels as possible. However, we do wish to retain copyright on the HOWTO documents, and would like to be notified of any plans to redistribute the HOWTOs. If you have any questions, please contact the FD-DOC coordinator at jhall1@isd.net.

Log in or register to write something here or to contact authors.