Awesome Lists

awesome-dos

by balintkissdev

awesome listpushed almost 2 years ago

Curated list of references for development of DOS applications.

AI summary

DOS development suite

A curated list of references and tools for developing applications on MS-DOS and similar systems.

stars
496
forks
29
watching
20
awesome lists
2
entries
135
View on GitHub

Embed the badge

Show how many awesome lists link to your project. The count updates automatically.

Awesome Lists badge
Markdown
[![Awesome Lists Badge](https://awesome.facts.dev/shield/balintkissdev/awesome-dos/links.svg)](https://awesome.facts.dev/awesome/balintkissdev/awesome-dos)
HTML
<a href="https://awesome.facts.dev/awesome/balintkissdev/awesome-dos"><img src="https://awesome.facts.dev/shield/balintkissdev/awesome-dos/links.svg" alt="Awesome Lists Badge" /></a>
Image URL
https://awesome.facts.dev/shield/balintkissdev/awesome-dos/links.svg

What's in the list

135 links in 53 sections, with live GitHub stats.activeno commit in 2y

Development tools

  • bcc - Bruce's 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

  • 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

Development tools / Open Watcom

Development tools

  • 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

Development tools / Turbo C++ 3.0

Development tools

Development tools / DIV Games Studio 2

Development tools

  • 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

Development tools / Memory managers

  • 386MAX

    Memory manager for DOS PCs with 386 or higher CPUs, . Source code was released in June 2022 on GitHub with GPL-3.0 license

Development tools / 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

  • 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 operating systems

Tutorials and programming resources / Compiling

Tutorials and programming resources / General

Tutorials and programming resources / DOS API

  • bios.h header documentation by Digital Mars

    API documentation for routines accessing BIOS operations directly (disk operations, BIOS keyboard, printer, time, memory, serial, interrupts)

  • Part 1

    dos.h header documentation by Digital Mars - API documentation of functions for interfacing with the DOS operating system itself

Tutorials and programming resources / Interrupts

Tutorials and programming resources / Interrupts / Ralph Brown's Interrupt List - HTML version

Tutorials and programming resources / Memory

Tutorials and programming resources / Video

Tutorials and programming resources / Sound

Tutorials and programming resources / Sound / Sound Blaster 16 Programming Document 3.5 by Ethan Brodsky

Tutorials and programming resources / Sound

Tutorials and programming resources / Other

  • Table of DOSBox cyclecounts according to processor types

    A table for setting the appropriate DOSBox cycle count according to CPU types (IBM XT 88, 286, 386, 486, Pentium I, Pentium II). Comes handy when you are developing a DOS game and want to simulate the environment where you intend to execute it

Books / Free

Books / Paid

  • Tricks of the Game-Programming Gurus - by Andre Lamothe, John Ratcliff and Denise Tyler

    Comprehensive DOS game development book about starting out. Topics include keyboard, mouse- and joystick input handling, creating 2D and 3D VGA graphics, raycaster rendering, sound and music, game algorithms, Interrupt Service Routines (ISR), timers, artificial intelligence, networked multiplayer through serial port and null-modem cable, tooling, parallax scrolling and optimization techniques

Books / Paid / Tricks of the Game-Programming Gurus - by Andre Lamothe, John Ratcliff and Denise Tyler

  • Open Library link

    Ebook available from online libraries to borrow (required due to licensing): ,

Books / Paid

  • More Tricks of the Game Programming Gurus - by Greg Anderson

    Companion book to , continuing where the original left off. Topics include SVGA, Binary Space Partition (BSP), UI, voxel graphics, memory management in real and protected mode, advanced sound programming, debugging and optimization techniques

Books / Paid / More Tricks of the Game Programming Gurus - by Greg Anderson

  • Open Library link

    Ebook available from online libraries to borrow (required due to licensing): ,

Videos

Source code / Open source DOS operating systems

  • MS-DOS

    GitHub repository of the original source code for MS-DOS v1.25, v2.0 and v4.0, open-sourced by Microsoft

  • FreeDOS

    FreeDOS is an open source DOS-compatible operating system that you can use to play classic DOS games, run legacy business software, or develop embedded systems. Any program that works on MS-DOS should also run on FreeDOS

Source code / Open source DOS libraries

  • Allegro 4.2

    Game development library for DOS, Windows and Linux. 4.2 version supports DOS platform

Source code / Open source DOS libraries / Allegro 4.2

Source code / Open source DOS libraries

  • LoveDOS

    A framework for making 2D DOS games in Lua. API based on a subset of the LÖVE API

  • DOS-VGA-Game

    Marco A. Marrero's DOS VGA/hardware library implemented in assembly and Turbo Pascal

  • DIGPAK sound drivers source code

    Original source code for the DIGPAK sound drivers uploaded to GitHub by John W. Ratcliff

Source code / Open source DOS games

  • DOS Defender

    Christopher Wellons's x86 real mode DOS Asteroids clone created as an entry for Lundum Dare #31

  • Dungeons of Noudar

    First-person 2.5D dungeon-crawler on protected mode. Written in C++, includes software rendering, fixed point math, test coverage and sound (PC speaker, Adlib, OPL2LPT)

  • Emeritus Pong

    Pong clone for DOS, Windows and Linux. Uses PC speaker for sound on DOS

  • Floppy Bird

    Flappy Bird clone written in 16 bit assembly. Not a DOS program, but a PC-Booter application instead (although it's also possible to build a COM executable for DOS)

  • George M. Tzoumas's collection of MS-DOS games and utilities

    Turbo Pascal with few games in C and C++. Games include Nibbles, Connect Four, Ms Pacman clone and two arcade/platform games. One of them (ra2) was written using Allegro. Utilities are all written in Turbo Pascal, these include game system routines, file and disk utilities and terminate-and-stay-resident programs (TSR)

  • Gold Mine Run!

    Platformer written in C using DJGPP

  • Gridfighter 3D

    '80s style arcade shooter written in Quickbasic. Also the very first known DOS game that supports Oculus Rift VR headset

Source code / Open source DOS games / Gridfighter 3D

Source code / Open source DOS games

  • Hangman

    Hangman clone written in Basic. Runs on at least 80286 processors and uses EGA graphics

  • Magenta's Maze

    3D maze game using CGA graphics with algebra as theme

Source code / Open source DOS games / Magenta's Maze

Source code / Open source DOS games

  • Mario

    Super Mario Bros clone written in Turbo Pascal

  • NetHack

    Descendant of the original rougelike game first released in 1987 available on multiple platforms

  • Piskworks

    Gomoku clone written in C. Works on DOS, ZX Spectrum, ZX81, ZX80, APPLE1, AS400 and Windows

  • Plutonium Caverns

    Overhead puzzle game written in C. Web version uses to embed DOSBox into HTML5. However, the original executable is also downloadable and buildable with Open Watcom

  • Ptakovina

    Tetris clone written in C. Runs on DOS, Unix/Linux, ZX Spectrum and Windows

  • sudoku86

    Sudoku clone written in C. Runs on 8086/8088 CPU, uses CGA, MCGA or VGA graphics and uses a mouse

  • Tetris

    Tetris clone written in assembly

Source code / Open source DOS games / Tetris

Source code / Open source DOS games

  • Towers of Hanoi

    puzzle game written in Turbo Pascal. Originally released in 1996

  • x86 pong

    Text-mode Pong clone written in C. Runs as PC-Booter game and under DOS

  • zmiy

    Text-mode Snake clone written in C. Runs on 8086 DOS

  • Cyberdogs

    Top-down 2D shooter playing as a mercenary to earn money. Written in Turbo Pascal. Supports two player mode

Source code / Open source DOS games / Cyberdogs

  • C-Dogs

    Sequel to the original Cyberdogs. Ronny Wester, the original creator no longer maintains the website for the original C-Dogs, but multiple ports exists, including

Source code / Open source DOS games

  • Abuse

    Sci-fi side-scrolling platform game. Regarded as an innovative cult classic by most people. Supports SVGA mode up to 1280x1024 resolution. Written in C, the architecture includes a Lisp-scripting engine

Source code / Open source DOS games / Abuse

Source code / Open source DOS games

  • Beneath a Steel Sky

    Point-and-click adventure game set in a dystopian future. Written in assembly

Source code / Open source DOS games / Beneath a Steel Sky

Source code / Open source DOS games

  • Catacomb

    2D top-down shooter developed by Softdisk (later becoming id Software). Supports EGA and CGA graphics. Written in Turbo Pascal and assembly

  • Catacomb 3D

    First-person shooter in fantasy setting developed by Softdisk (later becoming id Software). Features pseudo-3D graphics with raycasting technique. Supports EGA graphics. Written in C and assembly. Compiled with Borland C++ 3.1

  • Commander Keen in Keen Dreams

    Side-scrolling platform game developed by id Software. Keen Dreams is the Commander Keen game created between Keen 3 and Keen 4 (often considered "Keen 3.5"), but was not widely released. Written in C and assembly

  • Descent

    First sci-fi FPS/space shooter to feature entirely true 3D graphics. Written in C and assembly

  • Descent II

    Sequel to Descent. Written in C and assembly

  • Doom

    Sci-fi FPS developed by id Software where you fight demons from hell on Mars. 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

    FPS developed by Apogee featuring the iconic character Duke Nukem. Written in C. Compiled with Watcom C/C++ 10.0

Source code / Open source DOS games / Duke Nukem 3D

Source code / Open source DOS games

Source code / Open source DOS games / Hexen: Beyond Heretic

Source code / Open source DOS games

  • Hovertank 3D

    FPS developed by id Software. Features pseudo-3D graphics with raycasting technique, before Catacomb 3D and Wolfeinstein 3D. Written in C and assembly

  • Quake

    FPS developed by id Software set in a fully 3D world. Written in C. Compiled with DJGPP for DOS

Source code / Open source DOS games / Quake

Source code / Open source DOS games

  • Rise of the Triad: Dark War

    FPS developed by Apogee. It was developed as a follow-up to Wolfenstein 3D, but was altered and became a standalone game instead. Uses a heavily modified Wolfenstein 3D engine. Written in C

  • Sopwith

    Side-scrolling shoot 'em up created by David L. Clark in 1984. The game involves piloting a Sopwith biplane, attempting to bomb enemy buildings while avoiding fire from enemy planes and various other obstacles

Source code / Open source DOS games / Sopwith

Source code / Open source DOS games

  • Wolfenstein 3D

    FPS developed by id Software set in the Nazi German prison Castle Wolfenstein. Features pseudo-3D graphics with raycasting technique. Written in C and assembly

Drivers and emulators / Sound card emulators

  • SBEMU

    A TSR that emulates Sound Blaster and OPL3 in pure DOS using modern PCI-based (onboard and add-in card) sound cards. Supports both real mode and protected mode games!

  • VSB

    A fork of SBEMU (see above), which also aims to offer Sound Blaster emulation for modern PC hardware, in both real mode and protected mode games

More related projects

Add a GitHub project

Missing a project or an awesome list? Paste its GitHub URL and we fetch it right away.