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.
Zooming chessboard in action
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.
Chessboard on a CPC plus with vertical color bars
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 figure on the left with a visual concept of the intended effect).
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.
Conceptual design of a sine wave chessboard.|
Never realized on the CPC though!
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.