A curated list of references for development of DOS applications in the spirit of an awesome list. This includes list of compilers, tutorials, videos, links to free and paid books and source code to 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.
The list template was generated by generator-awesome-list
Feel free to contribute with pull requests! There's a chance that I missed something or you know something that I don't. Read the contribution guidelines first!
- DOS compilers
- Tutorials and programming resources
- Books
- Videos
- Open source DOS libraries
- Open source DOS games
- bcc - Bruce's Compiler - Bruce's C compiler is a simple C compiler that produces 8086 assembler for tiny/small models.
- DJGPP - DJ Delorie's complete 32-bit C/C++ development environment for Intel 80386
- Used for Quake.
- 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.
- The documentation is very valuable to understand working with both version 1.9 and the V2 fork.
- Arch Wiki page
- Used for Doom I-II, Warcraft I-II, Duke Nukem 3D, Full Throttle, Dark Forces and Retro City Rampage
- 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
- DIV Games Studio 2 - IDE to develop DOS games in 2d, mode 7 and 3d. Released in 1998. Online version.
- David Brackeen - 256-Color VGA Programming in C
- 640k Really is Enough for Anyone by Robert W. Oliver II
- DOS programming resources by DOS HAVEN
- Just keeping it real... old skool style - Scali's OpenBlog
- Alex Russell's Dos Game Programming in C for Beginners
- This series contains a tutorial for making buffered input handling
- PC Game Programmer's Encyclopedia on the Web
- The Art of Demomaking by flipcode
- bios.h header documentation by Digital Mars
- dos.h header documentation by Digital Mars Part 1 Part 2
- Ralph Brown's Interrupt List - HTML version
- Original in downloadable .zip files from Ralph Brown's website
- DOS Super VGA / VESA programming notes - by Myles
- VESA Video Modes - OSDev wiki
- DJGPP VESA guide
- High-res high-speed VESA tutorial
- C code sample for drawing in VESA 2.0 mode
- Frequencies of Musical Notes
- Making some noise with the PC speaker!
- Programming the PC Speaker by Mark Feldman
- Sound Programming with PC Speaker - Chapter 23 of A to Z of C
- Yamaha YM3812 (OPL2) sound chip Wikipedia article
- The Ad Lib Music Synthesizer Card Programming Guide - by Tero Töttö
- Programmer's Guide to the Yamaha YMF 262/OPL3 FM Music Synthesizer
- Sound Blaster 16 Programming Document 3.5 by Ethan Brodsky
- version 3.4 on GameDev.net archive
- Sound Blaster Hardware Programming Guide
- Soundblaster Programming Information v0.90
- How to build DOS COM files with GCC by Chris Wellons
- Table of DOSBox cyclecounts according to processor types
- Game Engine Black Book: Wolfenstein 3D - by Fabian Sanglard
- Game Engine Black Book: Doom - by Fabian Sanglard
- A to Z of C - a book on C/DOS programming by K. Joseph Wesley and R. Rajesh Jeba Anbiah
- Michael Abrash's Graphics Programming Black Book Special Edition
- CGA Graphics - Not as bad as you thought! - by 8-bit Guy
- How Oldschool Sound/Music worked - by 8-bit Guy
- Contains section about the Yamaha OPL chip found in AdLib and Sound Blaster sound cards at 4:32
- LGR - Evolution of PC Audio - As Told by Secret of Monkey Island
- Porting Retro City Rampage to MS-DOS: From PS4 to 1.44MB Floppy - GDC talk
- Allegro 4.2
- LoveDOS - A framework for making DOS games in Lua
List of all homebrew DOS games: http://www.doshaven.eu
- DOS Defender
- Dungeons of Noudar
- Emeritus Pong
- Floppy Bird - 16 bit assembly
- Gridfighter 3D - Quickbasic
- Hangman - Basic
- Magenta's Maze - site
- NetHack
- Piskworks
- Plutonium Caverns
- Ptakovina
- sudoku86
- Tetris - site, assembly
- Towers of Hanoi - Turbo Pascal, originally released in 1996
- x86 pong - PC-Booter game
- zmiy
- Cyberdogs - Turbo Pascal
- Abuse
- Beneath a Steel Sky - Assembly
- Catacomb - Turbo Pascal
- Catacomb 3D
- Commander Keen in Keen Dreams
- Descent
- Descent II
- Doom
- The DOS-specific code for Doom could not be published because of a dependency to the licensed DMX sound library, hence why it's cleaned up and only the Linux source is there. However, the Heretic and Hexen projects contain the original DOS code in a way where DMX-related code is removed.
- Duke Nukem 3D
- Heretic
- Original SourceForge link for Heretic/Hexen
- Hexen
- Original SourceForge link for Heretic/Hexen
- Hovertank 3D
- Quake
- Rise of the Triad
- Wolfenstein 3D
- Sopwith
To the extent possible under law, Bálint Kiss has waived all copyright and related or neighboring rights to this work.