Thiemo Mättig

DOS demoscene graphics effects

← Back to the index of my DOS archive

Since 1997 I was a fanboy of a group that focused around realtime animations, called the demoscene.

Particle effects

A small program I kept fiddling with for years was a falling snow animation. I started coding in QBasic and later ported what I had over to PowerBASIC, an actual compiler that was just so much faster. I learned how to manipulate the VGA screen by directly accessing the memory, without the slow build-in PSET command. The latest version of my winter »screensaver« even has date-agnostic exit messages and a copyright line, dated 1994.

Falling snow animation

Download the falling snow screensaver and source code (PowerBASIC) (1994–1995)

I found the 320 × 200 pixel video mode perfect for these kind of dot animations and kept fiddling with the idea. More falling snow, moving star fields, fireworks, explosions and entire galaxies. All it needed was a bit of math to make the dots move in the right direction. Non-animated screenshots can't quite capture this impression.

3D dot matrix flyby animation

Rotating dot matrix cube

This rotating cube is an unfinished attempt to create a full-fledged demoscene screen that would show more than a single effect on a black background. I played around with the idea of having overlays, but run into performance issues very quickly, and moved on with other experiments.


One of the coolest Mandelbrot set calculations I ever did was on a KC 85 micro computer, a machine that was already entirely outdated in 1993 when I was able to put my hands on it. I left it on the whole night, but it was only able to fill the top 10% of the screen. This was much more fun on the Pentium I had, which needed less than a second to render a fullscreen fractal. One of the drafts I have archived here even contains a fractal zoomer that lets you pick a region with the mouse and zooms in on that detail (see the red screenshot).

Demoscene effects

Wormhole palette animation

Download all demo graphics effects source codes (PowerBASIC)

ASCII and ANSI art

The typical DOS text mode offers 25 rows in 80 columns and a set of 256 characters to fill the space with, including dithered block characters. While »ASCII art« typically refers to black and white graphics build with the first 128 characters only, »ANSI art« utilizes color and the full character set. I did not only loved arranging user interfaces and animations with these limited building blocks, I also tried to turn them into static art a few times in 1998 and 1999.

Being fascinated by ANSI art and the ACIDDraw paint program I even tried to pick a non-graffiti theme.