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
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.