You can use FreeDOS to write new DOS programs. FreeDOS is also a great system to learn about programming and how programs work, because DOS doesn't have a lot of complicated systems.

Writing a new program for FreeDOS? We prefer that all FreeDOS programs be written in either C or Assembly. Certainly all FreeDOS "Base" programs must be written in either C or Assembly. We include several standard tools on the FreeDOS distribution. The essential tools are:


Our reference C compiler is OpenWatcom C.

See the FreeDOS Spec


Our reference assembler is NASM.

See the FreeDOS Spec

Other tools

This does not mean that everyone must use these tools to contribute to FreeDOS. Rather, this means that any C code must be compilable on OpenWatcom C, and all Assembly must be assemble-able on NASM.

Interested in classic DOS application development? Download these popular DOS compilers and programming libraries for free:

Turbo Pascal 5.5

Combining the simplicity of Apple's Object Pascal language with the power and efficiency of C++ to create Turbo Pascal 5.5, the object-oriented programming language for the rest of us. Updated with a PDF of the first two chapters of the language guide.

Turbo Pascal 3.02

Turbo Pascal 3 was the first Turbo Pascal version to support overlays, the Intel 8087 math co-processor and BCD math.

Turbo Pascal 1.0

With the release of Turbo Pascal 1.0, Borland started its award winning push into the world of development environments and tools. Download the software that started it all.

Turbo C++ 2.01

Turbo C 2.01 provided everything you needed, all of the tools, included in one environment. Turbo C 2.01 provided tight integration between the editor, compiler, linker, and debugger.

Turbo C++ 1.01

Turbo C++ version 1 was our first compiler that supported the C++ language. The C++ compiler conformed to AT&T's 2.0 specification for the C++ language.

DeSmet C

The original DeSmet C compiler, released as open source. It's a complete ANSI C compiler (version 3.1h), but small enough and simple enough to understand and play around with.

Digital Mars C

C and C++ Compilers for Win32, Win16, DOS32 and DOS. Also contains an integrated development and debugging environment (IDDE).

Smaller C

Smaller C is a simple and small single-pass C compiler, currently supporting most of the C language common between C89/ANSI C and C99 (minus some C89 and plus some C99 features).


PDCurses is a public domain curses library for DOS, OS/2, Windows console, X11 and SDL, implementing most of the functions available in X/Open and System V R4 curses.