MOS Technology 6581
The MOS Technology 6581/8580 SID (Sound Interface Device) is the built-in programmable sound generator chip of the Commodore CBM-II, Commodore 64,[1] Commodore 128, and MAX Machine home computers. Together with the VIC-II graphics chip, the SID was instrumental in making the C64 the best-selling home computer in history,[2] and is partly credited for initiating the demoscene. HistoryThe SID was devised by engineer Bob Yannes, who later co-founded the Ensoniq digital synthesizer and sampler company. Yannes headed a team that included himself, two technicians and a CAD operator, who designed and completed the chip in five months 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.[3][4]: 235
Emphasis during chip design was on high-precision frequency control, and the SID was originally designed to have 32 independent voices, sharing a common wavetable lookup scheme that would be time multiplexed.[4]: 235 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's surface, creating three voices each with its own oscillator. 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.[4]: 236 The support for an audio input pin was a feature Yannes added without asking, which in theory would have allowed the chip to be used as a simple effect processor. The masks were produced in 7-micrometer technology to gain a high yield; the state of the art at the time was 6-micrometer technologies.[4]: 236 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."[4]: 237 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. The later revision (8580) was revised to more closely match the specifications. For example, the 8580 slightly improved upon the ability to perform a binary AND between two waveforms, which the SID can only do in an odd and illogical manner that results in messy, and in some cases nearly silent, waveforms. Wave combinations on the 8580 result in cleaner waveforms than on the 6581, although irregularities are still present. Another feature that differs between the two revisions is the filter, as the 6581 version is far away from the specification.[citation needed] Design
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 voices, with four types of waveforms able to be selected per voice: pulse wave (with variable duty cycle), triangle wave, sawtooth wave, and pseudorandom noise (called white noise in documentation). Multiple waveform types may be selected simultaneously, which produces certain complex/combined waveforms. The oscillators of each voice are built on a 24-bit phase accumulator. A voice playing a triangle waveform may be ring-modulated with one of the other voices, where the triangle waveform's bits are inverted when the MSB of the modulating voice's accumulator is set, producing a discontinuity and inversion of direction with the triangle's ramp. Voices may also be hard-synced to each other, where the synced voice's oscillator is reset whenever the MSB of the syncing voice's accumulator is increased. If both ring modulation and hard-sync are set to affect the same voice, the two effects are combined. The voice that ring modulates and/or syncs a given affected voice is determined by the following pattern: voice 1 affects voice 2, voice 2 affects voice 3, and voice 3 affects voice 1. Each voice may be routed into a common, digitally controlled analog 12 dB/octave multimode 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 the master volume register. Filter modes can also be combined. For example, using a combined state of lowpass and highpass results in a notch (or inverted bandpass) output.[5] The programmer may vary the filter's cutoff 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 frequencies to make chord-like sounds) together produce the characteristic feel and sound 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. Each time the volume register was altered, an audible click was produced. By quickly 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 (1984, 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 length of sampled sound playback was limited first by memory and later technique. Kung Fu Fighting (1986), a popular early sample, has a playback length measured in seconds. c64mp3 (2010) and Cubase64 (2010) demonstrate playback lengths measured in minutes. 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 128 DCR 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. An excellent example of this quality improvement noticeably reducing a sampled channel can be found in the introduction to Electronic Arts' game Skate or Die (1987). The guitar riff played is all but missing when played on the Commodore 64c or the Commodore 128. 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.[6][7] 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 receives 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. (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, and the loudness of the waveform is affected by the state of the pulse. The noise generator is implemented as a 23-bit-length Fibonacci LFSR (Feedback polynomial: x^22+x^17+1).[8][9] 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 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 and varies wildly between chips, while the cutoff range on the 8580 is a straight line on a linear scale and is both more consistent between chips and close to the designers' actual specifications. The 8580 filter can achieve higher resonances as well. 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. Dr. Evil Laboratories used it in their SID Symphony expansion cartridge (sold to Creative Micro Designs in 1991), 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, some even seeing the flaws as actual 'features' that made the SID chip distinct from other sound chips at the time. 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. Features
RevisionsNo 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 17, 1982. These are the known revisions of the various SID chips: (date codes are in WWYY w=week y=year format) The SID (Sound Interface Device) chip, notable for its fusion of digital and analog technologies, was a cornerstone in the system architecture of the Commodore 64 amongst other models. The chip boasted three distinct voices each with precise and varying waveform options—it also included a 12 dB/octave multimode filter. Over the years, the design of this filter differed with each subsequent chip revision, lending each its unique sonic fingerprint. One of the earliest models of the SID chip, the 6581, initially found its way into Commodore 64 computers between 1982 and around 1986. This model underwent several notable revisions including the 6581 R1, a prototype model which was only seen on CES machines and development prototypes and had a date code of 4981 to 0882.[11] This model was renowned for its full 12-bit filter cutoff range and while the precise number of models produced remains unknown, it is estimated to be between 50 and 100 chips, being packaged in ceramic. Following the R1, were the 6581 R2, 6581 R3, 6581 R4 AR, and finally, the 6581 R4. The evolution of the 6581 iterations saw minor changes to the protection/buffering of the input pins, adjustment of the silicon grade, and changes to its packaging. However, no substantial alterations were made to the filter section throughout these progressions.[12] Moving to the latter models, the updated 8580 SID chipped marked its introduction in newer versions of the Commodore 64 machines. Technically compatible with the 6581 software, the 8580 brought with it a unique sound character due to specific adjustments in the filter structure.[13] The sonic differences noticed between the two models, 6581 and 8580, were attributed broadly to the nuances in the analog filters, and intrinsic design distortions. These sound characteristics were heavily influenced by updates in the circuitry and quality differences in the material batches used in the various production runs of the chips. The SID chip encompassed an ongoing journey of specifications that evolved in tandem with the chip design process. Not all initial features made it into the final blueprint. However, subsequent iterations like the 8580 model were meticulously revised to match more closely with the original specifications, specifically focusing on waveform combinations and filter functionality. Some of these chips are marked "CSG" (Commodore Semiconductor Group) with the Commodore logo, while others are marked "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. Remarking and forgerySince 6581 and 8580 SID ICs are no longer produced, they have become highly sought after. In late 2007, various defective chips started appearing on eBay as supposedly "new".[14][unreliable source?] Some of these remarked SIDs have a defective filter, but some also have defective channels/noise generators, and some are completely dead. Fake SID chips have also been supplied to unwitting buyers from unscrupulous manufacturers in China; the supplied chips are laser-etched with completely bogus markings, and the chip inside the package is not a SID at all.[citation needed] UsesGame audioThe majority of games produced for the Commodore 64 made use of the SID chip, with sounds ranging from simple clicks and beeps to complex musical extravaganzas or even entire digital audio tracks. Due to the technical mastery required to implement music on the chip, and its versatile features compared to other sound chips of the era, composers for the Commodore 64 have described the SID as a musical instrument in its own right.[15] Most software did not use the full capabilities of SID, however, because the incorrect published specifications caused programmers to only use well-documented functionality. Some early software, by contrast, relied on the specifications, resulting in inaudible sound effects.[3] Well known composers of game music for this chip are Martin Galway, known for many titles, including Wizball, and Times of Lore, Rob Hubbard, known for titles such as ACE 2, Commando, Delta, International Karate, IK+, and Monty on the Run. Other noteworthies include Jeroen Tel (Cybernoid, Turbo Outrun, Robocop 3 and Myth), Ben Daglish (The Last Ninja, Jack the Nipper, Firelord, Gauntlet), David Dunn (Finders Keepers and Flight Path 737), David Whittaker (Speedball, BMX Simulator, Glider Rider) and Chris Hülsbeck (R-Type, Turrican and The Great Giana Sisters). RecordingsThe fact that many enthusiasts prefer the real chip sound over software emulators has led to several recording projects aiming to preserve the authentic sound of the SID chip for modern hardware. The sid.oth4 project[16] has over 380 songs of high quality MP3 available recorded on hardsid hardware and the SOASC= project[17] has the entire High Voltage SID Collection (HVSC) released with 49 (over 35,000 songs) recorded from real Commodore 64s in a high quality MP3 file. Both projects emphasize the importance of preserving the authentic sound of the SID chip. In 2016, the Unepic Stoned High SID Collection (USHSC)[18] was launched. It is a YouTube channel with over 50,000 SID tunes uploaded as single videos. The USHSC is based on both the SOASC= and HVSC, but also uploads recordings of recent SID music released at the Commodore Scene Database (CSDb) site. The channel features playlists containing roughly 5000 tunes each. Reimplementations and derivativesEmulation
A SID file contains the 6510 program code and associated data needed to replay the music on the SID. The SID files have the MIME media type The actual file format of a SID file has had several versions. The older standard is PSID (current version V4). The newer standard, RSID, is intended for music that requires a more complete emulation of the Commodore 64 hardware.[19] The SID file format is not a native format used on the Commodore 64 or 128,[19] but a format specifically created for emulator-assisted music players such as PlaySID , Sidplay and JSidplay2.[20] However, there are loaders like RealSIDPlay and converters such as PSID64[21] that make it possible to play a substantial portion of SID files on original Commodore computers.
Hardware using the SID chip
Hardware reimplementations
See alsoReferences
Further reading
External linksWikimedia Commons has media related to MOS Technology SID. |