Commodore 64: 30 years of keeping it real

This is the year that the Commodore 64 turned 30. Although I am of the generation that grew up on this machine, and this machine played a vital role in who I am and what I do today, I did not do any coverage at the time, although various media did, even mainstream media such as BBC News, which had quite a nice article on the occasion.

However, a few days ago, there was the X’2012 party, a C64-only party, which has been around since 1995, and is still held every 2 years. This is a big event in the world of C64 demos, and various legendary productions have been released over the years. What is remarkable about the C64 is that so many people are still actively using the platform after so many years. And even more remarkable is that they continue to push the boundaries and use the hardware in new ways never intended by its designers.

For example, the C64 was never designed to play digital audio. Its SID-chip only has a simple subtractive synthesizer chip with 3 voices. However, at some point a clever programmer found out that there was a ‘glitch’ when adjusting the volume (which resulted from the output signal being slightly biased from zero level). Since this glitch was also dependent on the volume you set, you could use it to generate a pulse at a given amplitude. Since the volume had 16 levels, you effectively had a 4-bit DAC here, so you could play back 4-bit PCM samples. Over time this was perfected to get quite clear-sounding digital samples, and even combine sample replay with regular SID music. The music in Turbo Outrun, by legendary C64 composer Jeroen Tel, makes very effective use of this, turning the classic Outrun music into a sort of house remix:

However, as good as this music is already, as it turns out, you can push the C64 even further. At X’2008, the demo Vicious SID introduced a new technique for playing back samples. Instead of just making use of the volume glitch, they cleverly manipulate the oscillator. Apparently, there is another glitch: if you reset the oscillator, set a new waveform and then turn all waveforms off quickly, the last value will ‘stick’ for a short time (about 2 scanlines), so the output will continue. Another way to generate pulses for PCM sample replay. However, this method gives you the full 8-bit precision of the oscillator’s output. Another interesting side-effect is that the samples are now effectively generated by the oscillator, and they can still be manipulated by the filter. All this is done on only one of the 3 channels, where the remaining 2 channels can still be used for regular SID music.

Vicious SID combines this with fast software mixing, and plays back some 4-channel digital Amiga MOD music. Another entry at X’2008 was Fanta’s Fanta in Space song, which showcases these new tricks in a catchy way:

The winner of the demo competition at X’2008 was Edge of Disgrace by Booze Design:

This demo pushed the boundaries once again, with many effects that people never thought were possible on the modest C64 hardware. Everything runs very smoothly as well.

At X’2010, another interesting demo was released, Cubase64 by Mahoney (yes, that is the same Mahoney that developed NoiseTracker on Amiga with Kaktus):

And while we’re on the subject of the C64 doing things that it shouldn’t be doing, BluReu  by Crest is another interesting demo. They use the Ram Expansion Unit for C64 to play back large sequences of video in realtime:

The REU they used is still ‘only’ 16 MB, and the rest of the hardware is still the original stock CPU and video chip from 1982.

But, to get to the X’2012 releases…  Firstly, Vicious SID II was released, which again pushes the boundaries of C64 audio further, now by having up to 15 KHz samplerate. They are also able to apply new effects (similar to Cubase64):

And at X’2012, Edge of Disgrace finds itself a worthy competitor for most impressive C64 demo ever, in the winning demo Coma Light 13 by Oxyron:

It features some incredible effects, such as the lightsourced cube with shadow (notice also that the shadow is correctly cast based on the position of the lightsource), and the parallax scroller. The end part again features a tune by Fanta making use of ‘Vicious SID’ techniques.

Last but not least, I also want to mention the third place demo Trick and Treat by Offence, Fairlight and Prosonix:

I really liked some of the music in this demo. It’s just ‘classic’ SID music, not using special samples and filter trickery, but it makes very good use of the SID’s capabilities.

So, the C64 is still very much alive in 2012. And the C64 demoscene continues to push its boundaries. Most effects that people originally only did on more powerful machines such as PCs or Amigas, have been made possible on C64 as well (in fact, a few years ago, Chorus and Resource managed to recreate the legendary Amiga demo Desert Dream very convincingly on C64). Given the extremely limited resources of the C64’s hardware, this is some of the most impressive hardcore coding ever seen. Nerds of Steel!

This entry was posted in Hardware news, Oldskool/retro programming, Software news and tagged , , , , , , , , , . Bookmark the permalink.

4 Responses to Commodore 64: 30 years of keeping it real

  1. MacOS9 says:

    Nice to see this classic 80s’ technology still keeping up with the times. I guess the moral of this story is that precise coding can do spectacular stuff even on old hardware.

    Makes me wonder about some of the requirements of modern computer games (quad, six, etc. core processors); there used to be a flight sim from the mid-90s, Hornet 3 by GraphicSim (don’t know if the guys are still around), that ran great on 40 or 66MHz processors and had a good flight model to boot, for example.

    • Scali says:

      My favourite flightsim is F29 Retaliator, which I already mentioned in one of the ‘keeping it real’ blogs. It ran quite acceptable on a 9.54 MHz 8088 machine already (which is what I first played it on). When I upgraded to a 16 MHz 386SX, it ran incredibly smoothly. A 286-16 will probably do fine as well, perhaps even less than that… 10 MHz, or even 8 MHz?
      At any rate, that’s some impressive coding. It was a cool game to play as well.
      Another game I played at that time was LHX Attack Chopper. Not quite as fast as Retaliator, but still a nice game on late 80s/early 90s PC hardware.
      Oh, and I also played Chuck Yeager’s Air Combat a lot.

      There have been some ‘flight sims’ on C64 as well, but they tended to be very basic. Low framerates, and usually only wireframe graphics. It took a lot of imagination to get into the game. I never liked them much.
      One exception is ACE 2. I liked to play that. But the graphics were little more than a horizon, and a sprite for the opponent plane.

  2. T. says:

    I remember playing a sim called Fleet Defender in my old 486 DX2 66, but IIRC the sim could be run on 386 machines. It was impressive for the time a 3D environment like that.

    Other game that was also impressive was Strike Commander, which also could run on a 386:

    The pictures are ok, sound is fine on a SB16, the only inconvenient were the atrocious load times.

    Sure, not as hardcore and oldskool as the stuff Scali is posting here, but still impressive IMHO.

  3. Pingback: Just keeping it real, part 8 | Scali's OpenBlog™

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s