Odiesoft demos
  Odiesoft games
  CPC Party pictures
Party pictures

Shining Party Demo


Small sine wave
Small sine wave pattern with vertical color bars
Around Christmas 1992 an Amstrad freak with the alias "Shining" organized a party in his basement and I went there with some other freaks from the South of Germany. I remember that we had to drive in the car for a long time to get there, so it was probably somewhere in central Germany, but I don't remember anymore.

We were a lot of people (among them Marabu, Lovebyte (?), Prodatron, Alien, Crown and Bad Error, as far as I can recollect) cramped in Shinings small basement. Some people were smoking in the room, because it was too cold to go outside. It was the first and last Party where I actually managed to stay awake for 54 hours straight!

During these 54 hours I spent some time working on the first version of a Dynablasters conversion that later became my biggest success: the CPC game Megablasters. But at some point I was so tired that I just fell asleep as soon as I resumed programming.

Two sine waves pattern
Pattern with two splitted sine waves
I still remember that I went outside for a night walk through the small town in which Shining was living trying to stay awake for some more hours. When Marabu drove back home taking Lovebyte and me along I fell asleep at the instant I entered the car...

The demo itself was almost finished already when I got to Shinings place. The only thing missing was a nice sound to accompany the demo. I used some Soundtrakker sound for this job, but I don't know how had created the sound.

The idea of this demo was to create vertical color bars with different sizes. Using a simple hardware trick it was rather easy. With a two line split I let the CRTC (Central Ray Tube Controller - the CPCs graphics chip) copy two horizontal screen lines along most of the screen. With some speed optimized sprite routines I painted two sprites with a height of two screen lines into the same two horizontal screen lines with different positions, that were controlled by some pre-defined sinewave patterns.

Two opposing sine waves
Color bars with two oppositional sine waves
Thus I display the same two screen lines over and over again, but every time they are displayed againsome more graphics data is added to the lines. The whole stairs-effect is based on this recursive adding of data to the same two lines. The important point to that effect is that the sprite routine painting the elements of the vertical color bars has to be fast enough, so that it is finished drawing the elements when the electron beam of the CPC monitor has finished drawing the current two lines on the screen. If it would be too slow then the whole effect would start to flicker.

Since I'm not this good in creating hardware effects it took some time until I got this demo running on all various CRTCs of the different CPC computers. Even after releasing this part in the XMAS 1992 Demo I had to reprogram it, so that it was CPC Plus and ASIC (the CPC+ CRTC) compatible.

When I was at the Euromeeting 2 in Reims/ France I had already created that demo, because I showed it to Longshot from Logon System and he told me, that Logon System already had created a demo with that trick, but they hadn't released it (and as far as I know they never did!).

Dull patterns
The patterns were a little dull though...
So when the Shining Demo came out in early 1993 with my part at the end it was the first time such an effect was published on the CPC (as far as I know). Later this kind of effect became very popular on the CPC and there were a lot of demos that had far better versions of it. But it's like with the egg of Columbus: sometimes you have to show people that something is possible and suddenly they can also do it, even better...

Some years later I reused the code of this demo to create a cool Chessboard effect. You can read the story to that on the page of the Chessboard zoomer, so I won't recite it here again!

Return to Demos index

last updated on Saturday, November 9. 2002 by Odiesoft

Legal disclaimer under which this service is provided to you.