My 1990s DOS projects archive
The following pages list some of the earliest software projects I did in the early 1990s. The programming language I used most often back then was PowerBASIC, as well as some Turbo Pascal and Turbo Assembler (TASM).
- »MiDat« TSR database (1997–1998)
- Text viewers and editors (1995–2001)
- System tools (1993-1999)
- File format converter (1998–2002)
- »More Control« programming library for PowerBASIC (1994–1999)
- »Free-Font« and VGA graphics library for PowerBASIC (1999)
- Math and life simulations (1994–1998)
- Fascinating 256 color VGA
- Demoscene effects (1995–2003)
Also on this page:
- Lost projects
- The real.fake release list (1999)
- Download assorted source code snippets by other authors (PowerBASIC) (1994–1999)
My earliest programming attempts got lost in a hard disc crash in the very early 1990s. But I still remember some of the learnings I got from working on them. Especially the wonderful 256 colors graphics mode my 80286 PC was able to pull off got my attention. Not many programs back then made use of it, but Q-Basic allowed me to play with it. I even tried to write my own VGA paint program. A smaller project was a colorful recreation of the Little Professor "backwards calculator" that shows easy arithmethic problems, and asks for the solution. (Thanks, random Twitter post, for giving me this throwback moment in 2018!) My digital version of the toy was even able to smile at you if you got a problem right.
Animated K.I.T.T. front
One of my earliest coding projects I lost but still remember was an animated front view of K.I.T.T., the black Knight Rider car. The year must have been 1991, when my mom bought our families first PC: a "Highscreen" branded 80286 worth 3000 German marks, running at 16 MHz, with a 50 megabyte hard disc and a VGA graphics card. The little K.I.T.T. homage I created with that technology was simple: a single screen image, running in either an EGA or VGA graphics mode with 640 pixel columns and 16 colors. I remember playing around with the
PALETTE command which allows to change the 16 default colors with others from a palette of 64 total. I found a nice yellowish orange and, using a reference image, started drawing a night sky with the black silhouette of a car driving towards the viewer. Big portions of that cars silhouette where not build using actual graphics commands, even if the program was running in a graphics mode. No, I used
The only animated bit was K.I.T.T.s famous red scanner light in the front bumper. My version was again build from block characters, running a few steps left and right in the first loop I ever wrote.
A few experiences with very specific games burned deep into my head in the very early 1990s: »Alley Cat« on the PC, and the Poly-Play game »Wasserrohrbruch«. Inspired by the later I made my own clone of the flooding game in pure ASCII. A character walking left and right at the bottom of the screen, catching drops, and emptying it's bucket. The gameplay of my version was extremely slow. I don't think it was even possible to have more than one drop on the screen. I remember being frustrated by the keyboard input. It was just not fun to have to wait for a delay I could not turn off when I tried to hold a key down.
Indiana Jones platformer
One of the most influential books I ever had was »Spiele programmieren mit QBasic«, a German book focused on »programming games with QBasic«. It came with a sprite editor and a reusable engine, and I started building my own Indiana Jones inspired platformer with it. What I had in the end was a single screen, and a character that was barely able to jump over a hole in the ground. I still had no idea how to build actual levels. I did not even had a character animation, and the jump animation was not done in a curve but a triangle.
real.fake release list (1999)
I was fascinated by the demoscene, started collecting diskmags, and even formed my own group »real.fake«. Two years later I decided to celebrate what I achieved and compiled everything I and my friend cy-man did into a magazine-like interface.
I came up with my own file formats including my own run-length encoder to be able to compile everything into a single .dat file. The interface runs in the standard 16 color-only VGA mode with 640 × 480 pixels, but I made sure it does not look like this by utilizing a lot of palette effects for color animations, and an actual crossfade for the text. The executable also contains a fake setup that can be triggered with a command line parameter.