The SID chip was never designed to directly play back recorded digi samples... it should therefore not be a surprise that people found different ways to do it anyway (see my text here for background information).

All of the found solutions have in common that the C64's CPU is quite heavily used to trigger the output of each individual audio sample and the achieved timing precision then heavily impacts the resulting audio quality.

Finally the little RAM that is available on the C64 (>64kB) is obviously a handicap for anyone that tries to play back sampled audio data: For comparison, the 16-bit PCM audio data that we know from our old CDs would completely fill up all the available RAM of the C64 with as little as 0.75 seconds worth of mono-audio.

Here some examples:

  • Among the first pulse-waveform based players are Castle_Wolfenstein released in 1983 (also used on later titles like 1984 Jump_Jet). It uses 1-bit samples played at around 7kHz and the quality is... not so great.
  • Back in 1984 Impossible_Mission then was one of the earlier examples that used the D418-volume-register to playback samples (4-bit). The sample rate fluctuates wildly in the 6kHz to 13kHz range.
  • Demos using nothing but a "digi playback loop" then demonstrated how quickly the C64 memory is completely filled up with sample data, and Kung Fu Fighting may serve as an example here.
  • For the years that followed the 4-bit D418-volume-register based stuff like Arcade_Classics, Arkanoid or Digi-Piece_for_Telecomsoft was considered state-of-the-art. And with any well behaved dead home computer the story would have ended here.. except that it didn't.
  • The C64 was already 15 years old when somebody found out that samples can also be played by switching between different waveforms: Ice_Guys
  • And three years later somebody came up with the idea to use pulse-width-modulation to play samples: Wonderland_IX_part_9 or the more recent Wonderland_XII-Digi_part_1 (unfortunately this approach is sometimes associated with an annoying carrier signal)
  • The next approach that surfaced around 2008 uses frequency-modulation and precisely timed sample intervals to achieve 8-bit samples, see Tristar_Boulder or Fanta_in_Space, or the more recent Devoid_of. An interesting case from 2010 is the song Cubase64 that also added a compression scheme on top.
  • The most recent approach is then probably this one here from 2014. It is based on the old D418-volume-register one, but by carefully configuring all three SID voices it creates an "environment" that works on all SID models - unlike the basic D418-approach which tends to work poorly on 8580 SID chips. On top, the used "environment" allows to also use the filter related bits in the D418-register - so instead of 4-bit samples ~8-bit samples can be played: Musik_Run_Stop

Leave your comments

0 / 400 Character restriction


  • No comments found