The SID (Sound Interface Device) Chip
The SID was devised by engineer Robert "Bob" Yannes, who later co-founded the Ensoniq digital synthesizer company. Yannes headed a team that included Yannes, two technicians and a CAD operator running Applicon (now a part of the UGS Corp.), who designed and completed the chip in five months' time in the latter half of 1981. Yannes was inspired by previous work in the synthesizer industry and was not impressed by the current state of computer sound chips. Instead, he wanted a high-quality instrument chip, which is the reason why the SID has features like the envelope generator, previously not found in home computer sound chips.
Emphasis during chip design was on high-precision frequency control, and the SID was originally designed to have 32 independent voices, sharing a common oscillator. However these features could not be finished in time, so instead the mask work for a certain working oscillator was simply replicated three times across the chip surface, creating three voices with a unique oscillator for each voice. Another feature that was not incorporated in the final design was a frequency look-up table for the most common musical notes, a feature that was dropped because of space limitations. The support for an audio input pin was a feature Yannes added without asking, even though this had no practical use in a computer, although it enabled the chip to be used as a simple effect processor. The masks were produced in 7-micrometer technology in order to gain a high yield: the current state-of-the-art at the time was 6-micrometer technologies.
The chip, like the first product using it (the Commodore 64), was finished in time for the Consumer Electronics Show in the first weekend of January 1982. Even though Yannes was partly displeased with the result, his colleague Charles Winterble said: "This thing is already 10 times better than anything out there and 20 times better than it needs to be."
The specifications for the chip were not used as a blueprint. Rather, they were written as the development work progressed, and not all planned features made it into the final product. Yannes claims he had a feature-list of which three quarters made it into the final design. This is the reason why some of the specifications for the first version (6581) were accidentally incorrect. The later revision (8580) was revised to match the specification. For example, the 8580 expanded on the ability to perform a logical AND between two waveforms, something that the 6581 could only do in a somewhat limited and unintuitive manner. Another feature that differs between the two revisions is the filter: the 6581 version is far away from the specification.
- three separately programmable independent audio oscillators (8 octave range, approximately 16 - 4000 Hz)
- four different waveforms per audio oscillator (sawtooth, triangle, pulse, noise)
- one multi mode filter featuring low-pass, high-pass and band-pass outputs with 6 dB/oct (bandpass) or 12 dB/octave (lowpass/highpass) rolloff. The different filter-modes are sometimes combined to produce additional timbres, for instance a notch-reject filter.
- three attack/decay/sustain/release (ADSR) volume controls, one for each audio oscillator.
- three ring modulators.
- oscillator sync for each audio oscillator.
- two 8-bit A/D converters (typically used for game control paddles, but later also used for a mouse)
- external audio input (for sound mixing with external signal sources)
- random number/modulation generator
The SID is a mixed-signal integrated circuit, featuring both digital and analog circuitry. All control ports are digital, while the output ports are analog. The SID features three-voice synthesis, where each voice may use one of at least five different waveforms: square wave (with variable duty cycle), triangle wave, sawtooth wave, pseudo-random (but not white) noise, and certain complex/combined waveforms. Each voice may be ring-modulated with one of the other voices, i.e. the frequency spectrum is convolved and output. The ring modulation, filter, and programming techniques for switching between different waveforms at high speed make up the characteristic sound of the SID.
Each voice may be passed through a common, digitally controlled analog filter with variable cut-off frequency and resonance, which is constructed with the aid of capacitors external to the circuit. An external audio in port enables external audio to be passed through the filter.
Due to imperfect manufacturing technologies of the time and poor separation between the analog and digital parts of the chip, the 6581's output (before the amplifier stage) was always slightly biased from the zero level. By adjusting the amplifier's gain through the main 4-bit volume register, this bias could be modulated as PCM, resulting in a "virtual" fourth channel allowing 4-bit digital sample playback. The glitch was known and used from an early point on, first by Electronic Speech Systems to produce sampled speech in games such as Impossible Mission (1983, Epyx) and Ghostbusters (1984, Activision). The first instance of samples being used in actual musical compositions was by Martin Galway in Arkanoid (1987, Imagine), although he had copied the idea from an earlier drum synthesizer package called Digidrums. The amount of sampled sound possible to store on a fraction of 64 kilobytes was very limited. Also, it was hugely CPU intensive - one had to output the samples very fast (in comparison to the extreme slowness of the 6510 CPU).
The better manufacturing technology in the 8580 used in the later revisions of Commodore 64C and the Commodore 128DCR caused the bias to almost entirely disappear, causing the digitized sound samples to become very quiet. Fortunately, the volume level could be mostly restored with either a hardware modification, or more commonly a software trick involving using the Pulse waveform to intentionally recreate the required bias. The software trick generally renders one voice temporarily unusable, although clever musical compositions can make this problem less noticeable.
At the X'2008 demo party, a completely new method of playing digitized samples was unveiled. The method allows for an unprecedented four (software-mixed) channels of 8-bit samples with optional filtering on top of all samples, as well as two ordinary SID sound channels. The method works by resetting the oscillator using the waveform generator test bit, quickly ramping up the new waveform with the Triangle waveform selected, and then disabling all waveforms, resulting in the DAC continuing to output the last value - which is the desired sample. This continues for as long as two scanlines, which is ample time for glitch-free, arbitrary sample output. It is however more CPU-intensive than the 4-bit volume register DAC trick described above. Because the filtering in a SID chip is applied after the waveform stage, samples produced this way can be filtered.
The original manual for the SID mentions that if several waveforms are enabled at the same time, the result will be a binary AND between them. In reality, the final output isn't exactly a binary AND of the selected waveforms, especially on the 6581. One notable exception is that most 6581 chips appear to be capable of using the Sawtooth + Pulse waveform combination, the output from which is actually a logical AND of the Sawtooth and Triangle waveform oscillator values, resulting in a very complex final waveform, even though the Triangle waveform was not explicitly requested. The filter is also very different between the two models, with the 6581 cutoff range being a relatively straight line on a log scale, while the cutoff range on the 8580 is a straight line on a linear scale, and is closer to the designers' actual specifications.
The 6581 and 8580 differ from each other in several ways. The original 6581 was manufactured using the older NMOS process, which used 12V DC to operate. The 8580 was made using the HMOS-II process, which required less power (9V DC), and therefore made the IC run cooler. The 8580 was thus far more durable than the 6581. Also, due to less leakage, the 'mixed' waveforms (as mentioned above) actually come very close to matching the original SID specification (which stated that they will be combined as a binary AND). Additionally, a better separation between the analog and the digital circuits made the 8580 chip's output less noisy and distorted. A simple hardware modification can be added to 6581-based computers to remove much of the noise, but this involves disabling the Audio-In function.
The consumer version of the 8580 was rebadged the 6582, even though the die on the chip is identical to a stock 8580 chip, including the '8580R5' mark. Creative Micro Designs used it in their SID Symphony expansion cartridge, and it was used in a few other places as well, including one PC sound-card.
Despite its documented shortcomings, many SID musicians prefer the flawed 6581 chip over the corrected 8580 chip. The main reason for this is that the filter produces strong distortion that is sometimes used to produce simulation of instruments such as a distorted electric guitar. Also, the highpass component of the filter was mixed in 3 dB attenuated compared to the other outputs, making the sound more bassy. In addition to nonlinearities in filter, the D/A circuitry used in the waveform generators produced yet more additional distortion that made its sound softer and smoother.
No instances reading "6581 R1" ever reached the market. In fact, Yannes has stated that "[the] SID chip came out pretty well the first time, it made sound. Everything we needed for the show was working after the second pass." High-resolution photos of Charles Winterble's prototype C64 show the markings "MOS 6581 2082", the last number being a date code indicating that his prototype SID chip was produced during the 20th week of 1982, which would be within 6 days of May 14, 1982.
These are the known revisions of the various SID chips: (datecodes are in WWYY w=week y=year format)
- 6581 R1 - Prototype, only appeared on the CES machines, has a datecode of 4981 to 0482 or so. Has the full 12 bit filter cutoff range. An unknown number were produced, probably between 50 and 100 chips. All are ceramic packages.
- 6581 R2 - Will say "6581" only on the package. Filter cutoff range was reduced to 11 bits and the MSB bit disconnected/forced permanently on, but is still on the die. Made from 1182 until at least 5082. First 10 weeks or so of chips have ceramic packages (these usually appear on engineering prototypes but a few are on sold machines), the rest have plastic packages.
- 6581 R3 - Will say "6581" only, "6581 R3" or "6581 CBM" on the package. Had a minor change to the protection/buffering of the input pins. Made from before 2083 until 0486 or so.
- 6581 R4 - Will say "6581 R4" on the package. Silicon grade changed to HMOS-II "HC-30" grade, though the manufacturing process for the chip remained NMOS. Produced from 4985 until around 2586.
- 6581 R4 AR - Will say "6581 R4 AR" on the package. Minor adjustment to the silicon grade, no die change from R4. Produced from around 3086 until at least the year 1990.
- 6582 - Will say "6582" on the package. Typically produced around the years 1989 and 1990.
- 6582 A - Will say "6582 A" on the package. Typically produced around the year 1992.
- 8580 R5 - Will say "8580R5" on the package. Produced from the years 1986 to 1992.
Some of these chips are marked "CSG" ("Commodore Semiconductor Group") and the Commodore Logo, while others are marked with "MOS". This includes chips produced during the same week (and thus, receiving the same date code), indicating that at least two different factory lines were in operation during that week. The markings of chips varied by factory and even by line within a factory throughout most of the manufacturing run of the chip.