Superdisk 7 Intro (DirectX programming)

What is it?

This is a conversion of Superdisk 7 Intro to the PC. It was written originally on the Atari STFM in October 1991.
The source and the binary files are available on the download page.

Screen shot

The lame text has been removed just leaving the 90s looking font. The rasters move in a sine wave motion.

Prerequisites

P2-333 or higher with music,
Decent graphics card capable of 320*240 in 256 colours,
DirectX 3 or higher,
Windows 95/98/ME/NT4.0/2000/XP.

What does it do?

1. Sets up double buffered, palettized, full screen DirectX surfaces in 320*240 in 256 colours,
2. Starts the ST Sound Engine (by Arnaud Carré),
3. Displays 24 differently coloured lines moving smoothly up and down the screen in a sine wave motion,
4. Overlays bitmap.

Why?

The Atari STFM could only display 16 colours normally. To increase the number of colours that could be displayed from the available 512 colour range Timer-B interrupts were used to change the colour palette when certain scanlines were reached, this allowed colours in the side borders and palette splitting. Timer-B interrupts were also used to remove the screen borders though that technique was not used in this simple intro.

Modern PC video cards do not require this type of programming because even VGA has plenty colours and can display them at once. This was written to see if it is possible to create something that looks like the raster effects from the Atari ST.

History

24/10/2005
Build 3.
Exit sound added.

23/10/2005
Build 2.
Picture and sound added.

23/10/2005
Build 1.
Raster emulation proof of concept.
Conversion of exact sine wave and colour table data from 68000 implementation.

Build instructions

The program was built with Microsoft Visual C++ (Service Pack 5) on Windows XP running DirectX 8 MiniSDK

1. Load sdisk7intro.dsw into Visual C++,
2. Goto Build\Rebuild All,
3. It should run.

DDRAW.LIB must be in the project, so go to the FileView and remove my reference and add a reference to DDRAW.LIB on your build machine if there are build errors.

Back to index.