Here's the full collection of programs I wrote for MS-DOS between getting my first DOS computer in 1988 and upgrading to Linux in 1995. They're mostly graphics-oriented stuff like a Mandelbrot set generator and an anaglyph plot of the Lorenz Attractor.
Download the source code
Download the binaries
The only one that received much notice was the Scrabble game I wrote for Intro to Computing II class in the spring of 1989. The graphics are laughably low-res by today's standards, but my classmates and teachers were seriously impressed at the time. For much of the 1990s my mother spent long hours playing this game, even finding a bug that my professor had luckily missed.
I later wrote similar Othello and Go games in assembly language, and started on Checkers but lost interest.
Some programs work in DOSEMU and some don't, depending on which graphics mode they use. The EGA games look best if you set "$_X_aspect_43 = (on)" in the config file.
Not finding any emulation that supports the Hercules Graphics Card (720x348 monochrome), I ported two of my favorites to Linux/X11. They are:
Skyplot, a digital planisphere, which requires this star catalog to run. It contains some bits of C code that might be worth stealing, like a routine that draws thin lines with sub-pixel precision, and this Gregorian calendar algorithm.
Octagon, a two-person tank battle game This is literally the only original video game idea I ever came up with: Have one tank that can only move and shoot diagonally and one that can only move and shoot orthogonally, and randomly scatter octagons across the field to create gaps that one tank can shoot through but the other can't. Velocities add, so shots can be slanted by firing sideways while moving.