*******************************************************************************
*                                                                             *
*   Demo:   Chessboard Zoomer  Type:    Amstrad CPC Emulator DSK File         *
*   Author: Odiesoft           Webpage: http://www.odiesoft.de                *
*   Size:   1 * 194816 Bytes   Date:    2. March 2003                         *
*   File:   Odiesoft Demos - Chessboard Zoomer (1996).dsk                     *
*                                                                             *
*******************************************************************************

Title: Chessboard Zoomer
Year:  1996

On Amiga and Atari ST Chessboard Zoomer were quite a popular effect in Demos.
Even on the C64 there were some nice Chessboard Zooming demos, but using the C64
text mode this wasn’t such a big thing to do with a decent timing.

Creating this effect on a CPC was much more of a achievement, since the CPC
neither had anything comparable to the C64 text mode nor was it fast enough to
display a chessboard with a software filling routine alone.

A few coders tried to create such an effect by swapping screens (double
buffering). But even if one was able to free so much main memory, that he could
use triple buffering (flipping three screen consecutively) this effect looked
very poor.

On a weekend in April 1996 ZAQ and WSX of Inicron held their first and only CPC
Party in Alfeld/ Leine, Germany.

One night we were watching new demos and we came across a new French demo by
Pepsilon that used a triple buffered Chessboard Zoomer. WSX asked me if I knew
how Pepsilon did this effect and I explained it to him and told him that there
is a better way to create such an effect on the CPC.

So WSX betted against me, that I couldn’t do it any better and I accepted that
bet.

Having drunk about 5 or 6 beers I felt a little wasted, but I already had an
idea how to do it: I used the program from the Shining X-Mas Demo and modified
it a little so that it didn’t display vertical bars anymore.

This program used a two line hardware splitting in the top part of the screen.
The only thing I had to do was tell the hardware splitting to use a different
memory offset for each new frame. In these different parts of the memory I had
two full screen lines with black and white stripes with increasing sizes for
each subsequent memory offset position. This little was necessary to create the
horizontal checkboard pattern.

For the vertical checkboard pattern I just had to flip the black and white color
every n-th screen line. This was done with some simple colour OUT commands and a
pre-defined line counter table.

Since I had this program finished after a few hours there was still some time
left to do some more. So I added an exclusive CPC Plus feature, a set of 8
colored, vertical bars that moved around with two simple sine-patterns.

It was really funny to see those guys gawk in diesbelif at this rather simple
effect.

Unfortunately I didn’t find the time after the meeting to finish this demo with
a smaller font (I had to use so much memory, that the font didn’t fit into it
anymore - the strange patterns and fucked up chacters come from the predefined
chessboard pattern that collides with the font memory) and a nice tune.

I also had plans for another, more complicated effect: I intended to add an
animated sinewave pattern (that flips the amplitude) into the chessboard (see
concept figure on the right). I’ve already had an idea how I could very easily
modify the program to be able to do that, too. But I never got to try this out.
Thus this demo is one of the many unfinished jobs of my CPC career.

A funny side note on this bet is the audience that witnessed the bet and the
following midnight coding session: While I was programming this effect I had
about 4 to 6 guys sitting on some chairs behind me watching me and commenting
the way I was coding.

Remarks like "He’s typing all the commands in a single line.", "I would never
find anything again in THAT source code" or "Oh my god he isn’t even writing
comments into his code" accompanied me the whole time.

But these guys were even more surprised when they found out that this single-
line, uncommented source code of mine produced a working program in a reasonable
time!

Another funny incident was that Face Hugger, who had already turned over to the
Acorn Risc PC, had inofficially competed against me in creating a Chessboard
Zoomer on his Risc PC while I was writing my CPC program.

He was done a little time before me, even though he had started from scratch.
But on the other hand, his version relied completely on software and the fast
RISC performance of his Acorn. So he didn’t really have to bother the crucial
timing of the CRTC hardware, which took me some time to figure out.

*******************************************************************************
*                                                                             *
* This program can be distributed freely and without the need of a written    *
* of a written permission by Odiesoft, as long as it is distributed free of   *
* charge!                                                                     *
*                                                                             *
* If you had to pay for this, you've been ripped off!                         *
*                                                                             *
*******************************************************************************

