Awesome DOS 
Family of operating systems for x86-based personal computers including IBM PC DOS and MS-DOS that were popular during the 1980s and early 1990s.
A curated list of references for development of DOS applications and learning about the system itself. This includes list of compilers, tutorials, videos, links to free and paid books and source code to DOS operating systems and DOS games. The goal of this list is to collect information and act as a starting point for someone who wants to start out retro-programming for the DOS platform.
Contents
- Development tools
- Tutorials and programming resources
- Books
- Videos
- Source code
- Open source DOS operating systems
- Open source DOS libraries
- Open source DOS games
- Drivers and emulators
Development tools
- bcc - Bruce's C Compiler - Bruce's C compiler is a simple C compiler that produces 8086 assembler for tiny/small memory models.
- DJGPP - DJ Delorie's complete 32-bit C/C++ development environment for Intel 80386. Used for Quake.
- GCC IA-16 toolchain - A 16-bit counterpart to DJGPP, a GCC-based toolchain for developing 16-bit (8086 to 80286, a.k.a. IA-16) DOS applications, currently maintained by TK Chia.
- Insight - Very small debugger for real-mode DOS programs with Borland's Turbo like UI. Features an i80486 disassembler, and i8086 assembler.
- Open Watcom - Formerly commercial C/C++ development environment for 16- and 32-bit DOS and Windows. The current official version is 1.9. A GitHub fork is also available. Used for Doom I-II, Warcraft I-II, Duke Nukem 3D, Full Throttle, Dark Forces and Retro City Rampage.
- The documentation is very valuable in order to understand working with both version 1.9 and the V2 fork.
- Arch Wiki page
- Open Watcom V2 - GitHub fork which is actively maintained and is ported to 64-bit Windows and Linux.
- Turbo C 2.01 - C IDE and compiler from Borland first released in 1987.
- Turbo C++ 1.01 - C++ IDE and compiler from Borland released in 1991.
- Turbo C++ 3.0 - C++ IDE and compiler from Borland released in 1992.
- Online version.
- DIV Games Studio 2 - IDE to develop DOS games in 2d, mode 7 and 3d. Released in 1998.
- Online version.
- T3X - A small, portable, procedural, block-structured, recursive, almost typeless, and to some degree object-oriented programming language by Nils M. Holm.
- SmallerC - Portable self-hosting C compiler capable of producing executables for a number of platforms, including real and protected mode DOS programs, by Alexei A. Frounze.
- Small-C Toolkit - A self-hosting Small-C Compiler Toolkit for DOS(8086) with: K&R C Compiler, Make, Linker, Assembler. First released in 1982 by Jim E. Hendrix.
Memory managers
- 386MAX - Memory manager for DOS PCs with 386 or higher CPUs, released by Qualitas company in 1992. Source code was released in June 2022 on GitHub with GPL-3.0 license.
Scripting languages and interpreters for DOS
- DOjS - JavaScript programming environment for MS-DOS, FreeDOS or any DOS-based Windows (like 95, 98, ME).
- Lua for DOS - Online demo of Lua 5.3.5, compiled for MS-DOS on the Intel 80486 processor.
- Micropython for FreeDOS - FreeDOS ad-hoc module for micropython.
- perldos - Perl for DOS.
- PythonD - Python for DOS, including multi-threading, networking and OpenGL.
Tutorials and programming resources
History
- The Life of MS-DOS by Brendan Byers - History of the DOS family including CP/M, Q-DOS/86-DOS, MS-DOS and PC-DOS. Article also includes a diagram of the timeline and family tree of DOS