|Sound Interface Device|
1.) Triangle Wave, Sawtooth Wave, Pulse Wave, Combined Wave or White Noise
SID contains 3 voices with 4 selectable waveforms and an ADSR envelope each. The duty cycle of each pulse wave can be set with a precision of 0.0244140625%. The triangle and pulse wave can be combined (known as $51) to form a slap bass. Also ring modulation on triangle waves and Hard Sync are supported. Changing waveforms rapidly provides for thumping drums.
Changing the master volume and toggling the filter produces a click; the greater the change, the louder. A very few programmers worked around it by changing the volume gradually rather than at once. On the upside, it allows to play 4-bit PCM samples, unforgettably the speech in Impossible Mission (C64). In the late 1980s, it was very popular to play digi drums over SID voices. However, samples on SID are always very CPU-intensive.
The SID chip is clocked at the same frequency as the C64's or C128's CPU. Since this frequency differs in NTSC and PAL regions, music is detuned if played at the wrong clock. Also, almost all C64 and C128 sound drivers are hooked to the screen refresh rate, which differs even more, so if a note is released early, it may get cut off.
A single low-pass, band-pass, high-pass or band-reject filter can be applied to any combination of voices. A resonance from 0 to 15 and a cutoff frequency from 0 to 2047 can be chosen. Unfortunately, these values are not in any standard like Hz; worse even, due to a production shortcoming, they vary with every SID chip and even every computer it is socketed on. As a result, gamers often heard sections muffled or louder than intended. Most composers, including Rob Hubbard, Martin Galway, Chris Hülsbeck, Jeroen Tel and even SID creator Yannes expressed their concern in interviews, and some, like Ben Daglish, Fred Gray and Chris Grigg, used the filter very sparingly or purposely avoided it.
Besides sound, SID also provides the potentiometers of connected mice or paddles. The current signal and volume of voice 3 can be read back. The signal of the noise was commonly used for random number generators, and the volume was sometimes written back to a modulatable register, usually the cutoff frequency.
In 1986, a major revision, known as 8580, appeared. The $51 waveform sounds a bit fuller, more waveforms can be combined and the filter is consistent, but samples have become very quiet or even mute. The latter could be regained by soldering a resistor, but later, other methods of playing samples were discovered.
The most popular and accurate SID emulator is reSID (in C++ and under GPL) and used in most C64 emulators, SID players and cross-platform editors. Many of them offer to configure the clock, the SID model and the filter (called bias, curve, distortion or strength).