Not sure if this madness will be the next big thing for the Demo Scene, but it sure is nice to see some the younger generation using their talents to come up with these circuits. In the old days — yeah I’m gonna date myself now — I used to do Demo programming on the C-64 and the Amiga 1000 later on, we had dedicated processors and although we did some heavy duty low-level programming, it wasn’t too bad.
The stuff that Linus Akesson and his buddies have come up with are actually brilliant in that they are very analog in nature. Don’t get me wrong, it is a micro doing all that, but the thought process behind the algorithm is very analog…..here is a excerpt of what it all entails:
One display line takes 24 μs, and is followed by a 7.75 μs break called the horizontal blanking period. After 480 such lines, there’s a longer break (1428.75 μs, equal to 45 full display lines) before it all starts over. Two digital signals are used to synchronize the sender (graphics card, custom demo hardware etc.) and the receiver (monitor).
Sound is generated during the horizontal blanking periods. That gives a sample rate of 31496 kHz. Of course, only the really timing critical part (waveform generation) is performed during the horizontal blanking. Melody, rhythm, amplitude envelopes, arpeggios etc. are handled by a playroutine which gets called once for every video frame, during vertical blanking.
Have a peek at the video…..It’s mind blowing :-)