(Contains extracts from wikipedia's page)
The Sound Interface Device (SID) is a sound chip designed by MOS Technology in 1981. It is the "legendary" sound chip used by the [[Commodore 64]].
Make your own judgment: [https://youtu.be/_LWbnjvXN4g AY vs SID sound comparison]
"SID" refers to a SIDfile, *.SID, too. Now playable -with some less quality- on CPC with Geco's Player. [httphttps://www.hvsc.c64.org/ SID Resource sitedownload/C64Music/DOCUMENTS/SID_file_format.txt SID File Format]
<br>
* external audio input (for sound mixing with external signal sources)
* random number/modulation generator
<br>
==Technical details==
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 when multiple waveforms are selected simultaneously. A voice playing Triangle waveform may be ring-modulated with one of the other voices, where the triangle waveform's bits are inverted when the modulating voice's msb is set, producing a discontinuity and change of direction with the Triangle's ramp. Oscillators may also be hard-synced to each other, where the synced oscillator is reset whenever the syncing oscillator's msb raises.
Each voice may be routed into a common, digitally controlled analog 12dB multistate filter, which is constructed with aid of external capacitors to the chip. The filter has lowpass, bandpass and highpass outputs, which can be individually selected for final output amplification via master volume register. Using a combined state of lowpass and highpass results in a notch (or inverted bandpass) output. The programmer may vary the filter's cut-off frequency and resonance. An external audio-in port enables external audio to be passed through the filter.
The ring modulation, filter, and programming techniques such as arpeggio (rapid cycling between 2 or more frequencies to make chord-like sounds) together produce the characteristic feel of SID music.
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 speed 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 (biasing the audio-in pin), 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 generators, samples produced this way can be filtered normally.
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. What happens in reality is that the input to the waveform DAC pins receive several waveforms at once. For instance, the Triangle waveform is made with a separate XOR circuit and a shift-to-left circuit. The top bit drives whether the XOR circuit inverts the accumulator value seen by the DAC. Thus, enabling triangle and sawtooth simultaneously causes adjacent accumulator bits in the DAC input to mix together. (The XOR circuit does not come to play because it is always disabled whenever the sawtooth waveform is selected.) The pulse waveform is built by joining all the DAC bits together via a long strip of polysilicon, connected to the pulse control logic that digitally compares current accumulator value to the pulse width value. Thus, selecting the pulse waveform together with any other waveform causes every bit on the DAC to partially mix together, and the loudness of the waveform is affected by the state of the pulse.
The noise generator is implemented as an XOR shift register. When using noise waveform simultaneously with any other waveform, the pull-down via waveform selector tends to quickly reduce the XOR shift register to 0 for all bits that are connected to the output DAC. As the zeroes shift in the register when the noise is clocked, and no 1-bits are produced to replace them, a situation can arise where the XOR shift register becomes fully zeroed. Luckily, the situation can be remedied by using the waveform control test bit, which in that condition injects one 1-bit into the XOR shift register. Some musicians are also known to use noise's combined waveforms and test bit to construct unusual sounds.
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 stabler waveform generators, the bit-mixing effects are less noticeable and thus the combined waveforms come close to matching the original SID specification (which stated that they will be combined as a binary AND). 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 close to the designers' actual specifications. Additionally, a better separation between the analog and the digital circuits made the 8580's output less noisy and distorted. The noise in 6xxx-series systems can be reduced by disconnecting the audio-in pin.
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 produces yet more additional distortion that made its sound richer in character.
<br>
|-
! Category
! RegsReg
! Name
! 7
== SID Internal Architecture ==
From an interview in August 1996 with Bob Yannes, the designer of the SID chip. [httphttps://www.ffd2trondal.com/fridgec64sid/meow/docs/SIDyannes.primer html Source].
It's pretty brute-force, I didn't have time to be elegant. Each "voice" consisted of an Oscillator, a Waveform Generator, a Waveform Selector, a Waveform D/A converter, a Multiplying D/A converter for amplitude control and an Envelope Generator for modulation. The analog output of each voice could be sent through a Multimode Analog Filter or bypass the filter and a final Multiplying D/A converter provided overall manual volume control.
As I recall, the Oscillator is a 24-bit phase-accumulating design of which the lower thelower 16-bits are programmable for pitch control. [1] The output of the accumulator goes directly to a D/A converter through a waveform selector. Normally, the output of a phase-accumulating oscillator would be used as an address into memory which contained a wavetable, but SID had to be entirely self-contained and there was no room at all for a wavetable on the chip.
The Sawtooth waveform was created by sending the upper 12-bits of the accumulator to the 12-bit Waveform D/A.
The Triangle waveform was created by using the MSB of the accumulator to invert the remaining upper 11 accumulator bits using EXOR gates. These 11 bits were then left-shifted (throwing away the MSB) and sent to the Waveform D/A (so the resolution of the triangle waveform was half that of the sawtooth, but the amplitude and frequency were the same).
The Pulse waveform was created by sending the upper 12-bits of the accumulator to a 12-bit digital comparator. The output of the comparator was either a one or a zero. This single output was then sent to all 12 bits of the Waveform D/A.
The Noise waveform was created using a 23-bit pseudo-random sequence generator (i.e., a shift register with specific outputs fed back to the input through combinatorial logic). [2] The shift register was clocked by one of the intermediate bits of the accumulator to keep the frequency content of the noise waveform relatively the same as the pitched waveforms. The upper 12-bits of the shift register were sent to the Waveform D/A.
Since all of the waveforms were just digital bits, the Waveform Selector consisted of multiplexers that selected which waveform bits would be sent to the Waveform D/A. The multiplexers were single transistors and did not provide a "lock-out", allowing combinations of the waveforms to be selected. The combination was actually a logical ANDing of the bits of each waveform, which produced unpredictable results, so I didn't encourage this, especially since it could lock up the pseudo-random sequence generator by filling it with zeroes. [3] [Actually, the result isn't a logical ANDing at all. -TechEd]
The output of the Waveform D/A (which was an analog voltage at this point) was fed into the reference input of an 8-bit multiplying D/A, creating a DCA (digitally-controlled-amplifier). The digital control word which modulated the amplitude of the waveform came from the Envelope Generator.
The Envelope Generator was simply an 8-bit up/down counter which, when triggered by the Gate bit, counted from 0 to 255 at the Attack rate, from 255 down to the programmed Sustain value at the Decay rate, remained at the Sustain value until the Gate bit was cleared then counted down from the Sustain value to 0 at the Release rate.
A programmable frequency divider was used to set the various rates (unfortunately I don't remember how many bits the divider was, either 12 or 16 bits). A small look-up table translated the 16 register-programmable values to the appropriate number to load into the frequency divider. Depending on what state the Envelope Generator was in (i.e. ADS or R), the appropriate register would be selected and that number would be translated and loaded into the divider. Obviously it would have been better to have individual bit control of the divider which would have provided great resolution for each rate, however I did not have enough silicon area for a lot of register bits. Using this approach, I was able to cram a wide range of rates into 4 bits, allowing the ADSR to be defined in two bytes instead of eight. The actual numbers in the look-up table were arrived at subjectively by setting up typical patches on a Sequential Circuits Pro-1 and measuring the envelope times by ear (which is why the available rates seem strange)!
In order to more closely model the exponential decay of sounds, another look-up table on the output of the Envelope Generator would sequentially divide the clock to the Envelope Generator by two at specific counts in the Decay and Release cycles. This created a piece-wise linear approximation of an exponential. I was particularly happy how well this worked considering the simplicity of the circuitry. The Attack, however, was linear, but this sounded fine.
A digital comparator The Noise waveform was used for the Sustain function. The upper four bits of the Up/Down counter were compared to the programmed Sustain value and would stop the clock to the Envelope Generator when the counter counted down to the Sustain value. This created 16 linearly spaced sustain levels without havingto go through using a look-up table translation between the 423-bit register value and the 8pseudo-bit Envelope Generator outputrandom sequence generator (i. It also meant that sustain levels were adjustable in steps of 16e. Again, more a shift register bits would have provided higher resolution. When the Gate bit was cleared, the clock would again be enabled, allowing the counter with specific outputs fed back to count down to zero. Like an analog envelope generator, the SID Envelope Generator would track the Sustain level if it was changed to a lower value during the Sustain portion of the envelope, however, it would not count UP if the Sustain level were set higherinput through combinatorial logic). The 8-bit output of the Envelope Generator shift register was then sent to the Multiplying D/A converter to modulate the amplitude of the selected Oscillator Waveform (to be technically accurate, actually the waveform was modulating the output of the Envelope Generator, but the result is the same). Hard Sync was accomplished clocked by clearing the accumulator one of an Oscillator based on the accumulator MSB intermediate bits of the previous oscillator. [4] Ring Modulation was accomplished by substituting the accumulator MSB of an oscillator in to keep the EXOR function frequency content of the triangle noise waveform generator with relatively the accumulator MSB of same as the previous oscillator. [5] That is why the triangle waveform must be selected to use Ring Modulationpitched waveforms. The Filter was a classic multi-mode (state variable) VCF design. There was no way to create a variable transconductance amplifier in our NMOS process, so I simply used FETs as voltage-controlled resistors to control the cutoff frequency. An 11-bit D/A converter generates the control voltage for the FETs (it's actually a upper 12-bit D/A, but the LSB had no audible affect so I disconnected it!). Filter resonance was controlled by a 4-bit weighted resistor ladder. Each bit would turn on one bits of the weighted resistors and allow a portion of the output to feed back to the input. The state-variable design provided simultaneous low-pass, band-pass and high-pass outputs. Analog switches selected which combination of outputs shift register were sent to the final amplifier (a notch filter was created by enabling both the high and low-pass outputs simultaneously). The filter is the worst part of SID because I could not create high-gain op-amps in NMOS, which were essential to a resonant filter. In addition, the resistance of the FETs varied considerably with processing, so different lots of SID chips had different cutoff frequency characteristics. I knew it wouldn't work very well, but it was better than nothing and I didn't have time to make it better. Analog switches were also used to either route an Oscillator output through or around the filter to the final amplifier. The final amp was a 4-bit multiplying Waveform D/A converter which allowed the volume of the output signal to be controlled. By stopping an Oscillator, it was possible to apply a DC voltage to this D/A. Audio could then be created by having the microprocessor write the Final Volume register in real-time. Game programs often used this method to synthesize speech or play "sampled" sounds. An external audio input could also be mixed in at the final amp or processed through the filter. The Modulation registers were probably never used since they could easily be simulated in software without having to give up a voice. For novice programmers they provided a way to create vibrato or filter sweeps without having to write much code (just read the value from the modulation register and write it back to the frequency register). These registers just give microprocessor access to the upper 8 bits of the instantaneous value of the waveform and envelope of Voice 3. Since you probably wouldn't want to hear the modulation source in the audio output, an analog switch was provided to turn off the audio output of Voice 3.
<br>Since all of the waveforms were just digital bits, the Waveform Selector consisted of multiplexers that selected which waveform bits would be sent to the Waveform D/A. The multiplexers were single transistors and did not provide a "lock-out", allowing combinations of the waveforms to be selected. The combination was actually a logical ANDing of the bits of each waveform, which produced unpredictable results, so I didn't encourage this, especially since it could lock up the pseudo-random sequence generator by filling it with zeroes.
==Technical details==The output of the Waveform D/A (which was an analog voltage at this point) was fed into the reference input of an 8-bit multiplying D/A, creating a DCA (digitally-controlled-amplifier). The digital control word which modulated the amplitude of the waveform came from the Envelope Generator.
6581 Pin configurationThe Envelope Generator was simply an 8-bit up/down counter which, when triggered by the Gate bit, counted from 0 to 255 at the Attack rate, from 255 down to the programmed Sustain value at the Decay rate, remained at the Sustain value until the Gate bit was cleared then counted down from the Sustain value to 0 at the Release rate.
The SID is a mixed-signal integrated circuitA programmable frequency divider was used to set the various rates (unfortunately I don't remember how many bits the divider was, featuring both digital and analog circuitryeither 12 or 16 bits). All control ports are digital, while A small look-up table translated the output ports are analog. The SID features three16 register-voice synthesis, where each voice may use one of at least five different waveforms: square wave programmable values to the appropriate number to load into the frequency divider. Depending on what state the Envelope Generator was in (with variable duty cyclei.e. ADS or R), triangle wave, sawtooth wave, pseudo-random (but not white) noise, and certain complex/combined waveforms when multiple waveforms are the appropriate register would be selected simultaneously. A voice playing Triangle waveform may and that number would be ring-modulated with one translated and loaded into the divider. Obviously it would have been better to have individual bit control of the other voicesdivider which would have provided great resolution for each rate, where the triangle waveform's however I did not have enough silicon area for a lot of register bits are inverted when the modulating voice's msb is set. Using this approach, producing I was able to cram a discontinuity and change wide range of direction with rates into 4 bits, allowing the Triangle's ramp. Oscillators may also ADSR to be harddefined in two bytes instead of eight. The actual numbers in the look-synced to each other, where up table were arrived at subjectively by setting up typical patches on a Sequential Circuits Pro-1 and measuring the synced oscillator envelope times by ear (which is reset whenever why the syncing oscillator's msb raises.available rates seem strange)!
Each voice may be routed into a commonIn order to more closely model the exponential decay of sounds, digitally controlled analog 12dB multistate filter, which is constructed with aid another look-up table on the output of external capacitors the Envelope Generator would sequentially divide the clock to the chip. The filter has lowpass, bandpass Envelope Generator by two at specific counts in the Decay and highpass outputs, which can be individually selected for final output amplification via master volume registerRelease cycles. Using This created a combined state piece-wise linear approximation of lowpass and highpass results in a notch (or inverted bandpass) outputan exponential.[1] The programmer may vary I was particularly happy how well this worked considering the filter's cut-off frequency and resonancesimplicity of the circuitry. An external audio-in port enables external audio to be passed through the filterThe Attack, however, was linear, but this sounded fine.
A digital comparator was used for the Sustain function. The ring modulation, filter, upper four bits of the Up/Down counter were compared to the programmed Sustain value and programming techniques such as arpeggio (rapid cycling between 2 or more frequencies would stop the clock to make chordthe Envelope Generator when the counter counted down to the Sustain value. This created 16 linearly spaced sustain levels without havingto go through a look-like sounds) together produce up table translation between the characteristic feel 4-bit register value and the 8-bit Envelope Generator output. It also meant that sustain levels were adjustable in steps of SID music16. Again, more register bits would have provided higher resolution.
Due to imperfect manufacturing technologies of When the time and poor separation between the analog and digital parts of the chipGate bit was cleared, 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 clock would again be modulated as PCMenabled, resulting in a "virtual" fourth channel allowing 4-bit digital sample playbackthe counter to count down to zero. The glitch was known and used from Like an early point onanalog envelope generator, 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 the SID Envelope Generator would track the Sustain level if it 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 changed to store on a fraction lower value during the Sustain portion of 64 kilobytes was very limited. Alsothe envelope, however, it was hugely CPU intensive - one had to output would not count UP if the samples very fast (in comparison to the speed of the 6510 CPU)Sustain level were set higher.
The better manufacturing technology in the 8580 used in the later revisions 8-bit output of Commodore 64C and the Commodore 128DCR caused the bias Envelope Generator was then sent to almost entirely disappear, causing the digitized sound samples Multiplying D/A converter to become very quiet. Fortunately, modulate the volume level could be mostly restored with either a hardware modification (biasing amplitude of the audio-in pin)selected Oscillator Waveform (to be technically accurate, or more commonly a software trick involving using actually the Pulse waveform to intentionally recreate was modulating the required bias. The software trick generally renders one voice temporarily unusableoutput of the Envelope Generator, although clever musical compositions can make this problem less noticeablebut the result is the same).
At Hard Sync was accomplished by clearing the X'2008 demo party, a completely new method accumulator of playing digitized samples was unveiled. The method allows for an unprecedented four (software-mixed) channels of 8-bit samples with optional filtering Oscillator based on top the accumulator MSB of all samples, as well as two ordinary SID sound channels. The method works by resetting the previous 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 generators, samples produced this way can be filtered normally.
The original manual for Ring Modulation was accomplished by substituting the SID mentions that if several waveforms are enabled at the same time, the result will be a binary AND between them. What happens accumulator MSB of an oscillator in reality is that the input to EXOR function of the triangle waveform DAC pins receive several waveforms at once. For instance, the Triangle waveform is made generator with a separate XOR circuit and a shift-to-left circuit. The top bit drives whether the XOR circuit inverts the accumulator value seen by MSB of the DACprevious oscillator. Thus, enabling triangle and sawtooth simultaneously causes adjacent accumulator bits in the DAC input to mix together. (The XOR circuit does not come to play because it That is always disabled whenever why the sawtooth triangle waveform is must be selected.) The pulse waveform is built by joining all the DAC bits together via a long strip of polysilicon, connected to the pulse control logic that digitally compares current accumulator value to the pulse width value. Thus, selecting the pulse waveform together with any other waveform causes every bit on the DAC to partially mix together, and the loudness of the waveform is affected by the state of the pulseuse Ring Modulation.
The noise generator is implemented as an XOR shift registerFilter was a classic multi-mode (state variable) VCF design. When using noise waveform simultaneously with any other waveform, the pull-down via waveform selector tends There was no way to quickly reduce the XOR shift register to 0 for all bits that are connected to the output DAC. As the zeroes shift create a variable transconductance amplifier in the register when the noise is clockedour NMOS process, and no 1so I simply used FETs as voltage-bits are produced controlled resistors to replace them, a situation can arise where control the XOR shift register becomes fully zeroedcutoff frequency. Luckily, the situation can be remedied by using the waveform control test bit, which in that condition injects one 1An 11-bit into D/A converter generates the XOR shift register. Some musicians are also known to use noisecontrol voltage for the FETs (it's combined waveforms and test actually a 12-bit to construct unusual soundsD/A, but the LSB had no audible affect so I disconnected it!).
The 6581 and 8580 differ from each other in several ways. The original 6581 Filter resonance was manufactured using the older NMOS process, which used 12V DC to operatecontrolled by a 4-bit weighted resistor ladder. The 8580 was made using Each bit would turn on one of the HMOS-II process, which required less power (9V DC), weighted resistors and therefore made allow a portion of the IC run cooleroutput to feed back to the input. The 8580 was thus far more durable than the 6581. Alsostate-variable design provided simultaneous low-pass, due to stabler waveform generators, the bitband-mixing effects are less noticeable pass and thus the combined waveforms come close high-pass outputs. Analog switches selected which combination of outputs were sent to matching the original SID specification final amplifier (which stated that they will be combined as a binary AND). The notch filter is also very different between was created by enabling both 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, high and is close to the designers' actual specifications. Additionally, a better separation between the analog and the digital circuits made the 8580's output less noisy and distorted. The noise in 6xxxlow-series systems can be reduced by disconnecting the audio-in pinpass outputs simultaneously).
The consumer version of the 8580 was rebadged filter is the 6582worst part of SID because I could not create high-gain op-amps in NMOS, even though the die on the chip is identical which were essential to a stock 8580 chipresonant filter. In addition, including the '8580R5' markresistance of the FETs varied considerably with processing, so different lots of SID chips had different cutoff frequency characteristics. Creative Micro Designs used I knew it in their SID Symphony expansion cartridgewouldn't work very well, and but it was used in a few other places as well, including one PC sound-cardbetter than nothing and I didn't have time to make it better.
Despite its documented shortcomings, many SID musicians prefer Analog switches were also used to either route an Oscillator output through or around the flawed 6581 chip over filter to the corrected 8580 chipfinal amplifier. The main reason for final amp was a 4-bit multiplying D/A converter which allowed the volume of the output signal to be controlled. By stopping an Oscillator, it was possible to apply a DC voltage to this is that D/A. Audio could then be created by having the filter produces strong distortion that is sometimes microprocessor write the Final Volume register in real-time. Game programs often used this method to produce simulation of instruments such as a distorted electric guitarsynthesize speech or play "sampled" sounds. Also, An external audio input could also be mixed in at the highpass component of final amp or processed through the filter was mixed . The Modulation registers were probably never used since they could easily be simulated in 3 dB attenuated compared software without having to give up a voice. For novice programmers they provided a way to create vibrato or filter sweeps without having to write much code (just read the other outputs, making value from the sound more bassymodulation register and write it back to the frequency register). In addition These registers just give microprocessor access to nonlinearities in filter, the D/A circuitry used in upper 8 bits of the instantaneous value of the waveform generators produces yet more additional distortion that made its sound richer and envelope of Voice 3. Since you probably wouldn't want to hear the modulation source in characterthe audio output, an analog switch was provided to turn off the audio output of Voice 3.
<br>
[[File:SID Block Diagram.png|600px]]
<br>
== Differences between SID chips ==
Based on the empirical data from 20 SID chips, the conclusion is that: [https://ultimatesid.dk/ Source]
*There are no inherent and identifiable differences that can be attributed purely to the revision number of a 6581 SID chip
*The differences between batches of the same revision can be larger than the differences between revision numbers
*There can be differences within the same batch, but less so than between different batches
*The ceramic filter caps at C10+C11 in the C64 play an important part in the filter offset point – regardless of the actual fitted SID
The 6581 and 8580 SID chips differ from each other in several ways: [https://en.wikipedia.org/wiki/MOS_Technology_6581 Source]
*The original 6581 was manufactured using the older NMOS process, which used 12V DC to operate. The 6581 is very sensitive to static discharge and if they weren't handled properly the filters would stop working, explaining the large number of dead 6581s in the market.
*The 8580 was made using the HMOS-II process, which requires less power (9V DC), and therefore makes the IC run cooler. The 8580 is thus far more durable than the 6581. Also, due to more stable waveform generators, the bit-mixing effects are less noticeable and thus the combined waveforms come close to matching the original SID specification (which stated that they will be combined as a binary AND).
*The filter is also very different between the two models. The 6581 cutoff range resembles a sigmoid function on a log scale, while the cutoff range on the 8580 is a straight line on a linear scale.
[https://youtu.be/yadWu7hs4MU Oscilloscope comparison of 4 different SID chips]
<br>
Finally, you could play it with hardware too, with an extension. Read about it on:
* [http://www.cpcwiki.eu/forum/amstrad-cpc-hardware/cpc-sid/ Bryce's CPCSID interface ]. Bryce never actually built the CPCSID, it only made it as far as a design concept on paper. [httphttps://www.cpcwiki.eu/forum/amstrad-cpc-hardware/new-amstrad-cpc-sound-board-(aka-sonique-sound-board)-sid-part-(wip)/ on CPCWiki forummsg114468/#msg114468 Source].* DaDMaN's Sonique Sound Board [http://www.cpcwiki.eu/forum/amstrad-cpc-hardware/new-amstrad-cpc-sound-board-%28aka-sonique-sound-board%29-sid-part-%28wip%29/ DaDMaN's Sonique Sound Board], based on CPCWiki forumthe SwinSID SID clone. You can hear how DaDMaN's interface sounds here: [https://soundcloud.com/david-donaire-s-nchez/sets/amstrad-cpc-sonique-sound/ Playlist on SoundCloud]* [https://github.com/lambdamikel/Speak-SID LambdaMikel's Speak&SID] Speak&SID can use the original 6581, the 8580, as well as modern re-implementations of the SID chip such as SwinSID or ARMSID.* [[RSF3|TMTLogic's RSF3]]The ARM chip emulates the SID.
You can hear how DaDMaN's interface sounds here: According to [https://soundcloudpatents.google.com/david-donaire-s-nchezpatent/setsUS4677890A/amstrad-cpc-sonique-sound/ Playlist on SoundClouden Google patents for US4677890A], the patent for the SID chip is now expired.
*[https://youtu.be/yadWu7hs4MU Oscilloscope comparison of 4 different CIo93AE8Fsw SID chipsPhase Accumulator explained] by [[Jeri Ellsworth]]*[https://youtu.be/fQU-WZZ67yM C64 SID vs Amiga Paula sound chip] [https://youtu.be/ioZRUVTKLx0 C64 SID vs Atari Pokey]* [[Media:Mos 6581 sid.pdf|SID chip datasheet]] [https://www.waitingforfriday.com/?p=661 Web version]*[http://www.sidmusic.org/sid/sidtech.html Technical SID documentation]* [https://github.com/libsidplayfp/SID_schematics/wiki SID internals documentation] [http://forum.6502.org/viewtopic.php?f=8&t=4150 Understanding the SID]
*[https://www.oxyron.de/html/registers_sid.html Oxyron SID reference]
*[https://ultimatesid.dk/ Ultimate SID Collection]
*[https://www.hvsc.c64.org/ High Voltage SID Collection]
*[https://youtu.be/Li-y42ie8-k Mix I] [https://youtu.be/b8ERcaXtK6E Mix II] [https://youtu.be/285q-PfYUYc Mix III] [https://youtu.be/NctPQfYFbI8 Mix IV] C64 Commodore music 1 hour
*[https://www.wothke.ch/tinyrsid/index.php webSID] [https://deepsid.chordian.net/ DeepSID] Online SID chip emulators
<br>
[[Category:Non CPC Computers]][[Category:Music and sound|*]] [[Category:Electronic Component]]