MOS Technology SID
The MOS Technology 6581/8580 SID (Sound Interface Device) is the built-in Programmable Sound Generator chip of Commodore's CBM-II, Commodore 64, Commodore 128 and Commodore MAX Machine home computers. It was one of the first sound chips of its kind to be included in a home computer prior to the digital sound revolution.
The SID has U.S. Patent 4,677,890, which was filed on February 27, 1983, and issued on July 7, 1987. The patent expired on July 7, 2004.
- 1 Design process
- 2 Manufacturing, remarking, and forgery
- 3 Features
- 4 Technical details
- 5 Game audio
- 6 Emulation
- 7 Software emulation
- 8 Hardware reimplementations
- 9 Conventional music
- 10 See also
- 11 References
- 12 Notes
- 13 Further reading
- 14 External links
The SID was devised by engineer Robert "Bob" Yannes, who later co-founded the Ensoniq digital synthesizer 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.
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'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. 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 to gain a high yield; the 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.
Manufacturing, remarking, and forgery
Since 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". All of these remarked SIDs have a defective filter, but some also have defective channels/noise generators, and some are completely dead. The remarked chips are assumed to either be factory rejects from back when the chip was still produced, or possibly 'reject pulls' from one of the chip pulling operations which were used to supply the chips used in the Elektron SIDStation and the HardSID cards. 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.
- 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: pulse wave (with variable duty cycle), triangle wave, sawtooth wave, pseudorandom noise (called white noise in documentation), 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 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 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 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 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. 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. 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. (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). 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 reason of the great quantity of dead 6581's 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 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. 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. 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.
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.The filter is leaky at some ranges and they tend to run hotter than other sid revisions. Made from 1182 until at least 1483. 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. No changes were made to the filter section. Made from before 2083 until 1386 or so. The 6581R3 since around the week 47 of 1985 made in the Philliphines use the HMOS HC-30 degree silicon though the manufacturing process remained NMOS.
- 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 at least 2590.
- 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 1986 (week 22) until at least the year 1992.
- 6582 - Will say "6582" on the package. Typically produced around the year 1986 in Hong Kong.
- 6582 A - Will say "6582A" (or "6582 A") on the package. Typically produced around the years 1989, 1990 and 1992 in the Philippines.
- 8580 R5 - Will say "8580R5" on the package. Produced from the years 1986 to 1993 in the Philippines, Hong Kong and in the US.
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.
The majority of games produced for the Commodore 64 made use of the SID chip, with sounds ranging from simply clicks and beeps to complex musical extravaganzas or even entire digital audio tracks.
Well known composers of game music for this chip are Martin Galway, known for many titles, including Wizball, and 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 and Myth), David Dunn (Finders Keepers and Flight Path 737) and Chris Hülsbeck, whose composition career started with the SID but has spanned nearly every kind of computer music and other synthesizers since.
The 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 has over 380 songs of high quality MP3 available recorded on hardsid hardware and the SOASC= project have the entire High Voltage SID Collection release 49 (over 35,000 songs) recorded in from real Commodore 64s in high quality mp3. Both projects emphasize the importance of preserving the authentic sound of the SID chip.
- In 1989 on the Amiga computer, the demo "The 100 Most Remembered C64 Tunes" and later the PlaySID application was released, developed by Per Håkan Sundell and Ron Birk. This was one of the first attempts to emulate the SID in software only, and also introduced the file format for representing songs made on the C64 using the SID chip. This later spawned the creation of similar applications for other platforms as well as the creation of a community of people fascinated by SID music, resulting in The High Voltage SID Collection which contains over 45,000 SID tunes.
The actual file format of a SID file has had several versions. The older standard is PSID (current version V3). The newer standard, RSID, is intended for music that requires a more complete emulation of the Commodore 64 hardware.
The SID file format is not a native format used on the Commodore 64 or 128, but a format specifically created for emulator-assisted music players such as PlaySID , Sidplay and JSidplay2. However, there are loaders like RealSIDPlay and converters such as PSID64 that make it possible to play a substantial portion of SID files on original Commodore computers.
- In June 1998, a cycle-based SID emulator engine called reSID became available. The all-software emulator, available with C++ source code, is licensed under the GPL by the author, Dag Lem. In 2008, Antti Lankila significantly improved the filter and distortion simulation in reSID. The improvements were included in VICE version 2.1 as well.
- In 2007 the JSidplay2 project was released, a pure Java based SID player developed by Ken Händel.
- In 2008 the HyperSID project is released. HyperSID is a VSTi which acts like a MIDI controller for HyperSID hardware unit (synthesizer based on SID chip) and developed by HyperSynth company.
Hardware Implementations using the SID chip
- In 1989 Innovation Computer developed the Innovation Sound Standard, an IBM PC compatible sound card with a SID chip and a game port. MicroProse promised software support for the card, and Commodore BASIC programs that used SID required little conversion to run on GW-BASIC.
- In 1997, an electronic musical instrument utilizing the SID chip as its synthesis engine was released. It is called the SidStation, built around the 6581 model SID chip (as opposed to the newer 8580), and it's produced by Swedish company Elektron. As the SID chip had been discontinued for years, Elektron allegedly bought up almost all of the remaining stock. In 2004, Elektron released the Monomachine pattern-based sequencer with optional keyboard. The Monomachine contains several synthesis engines, including an emulated 6581 oscillator using a DSP.
- In 1999 HardSID, another PC sound card, was released. The card uses from one to four SID chips and allows a PC to utilize the sound capabilities of the chip directly, instead of by emulation via generic sound cards (e.g. SoundBlaster).
The Catweasel from German company Individual Computers, a PCI + Zorro multiformat floppy disk controller and digital joystick adapter for PCs, Macs, and Amigas, includes a hardware SID option, i.e. an option to insert one or two real SID chips in a socket for use when playing
- The MIDIbox SID is a MIDI-controlled synthesizer which can contain up to eight SID chips. It is a free open source project using a PIC microcontroller. Control of the synthesizer is realized with software or via a control panel with knobs, LEDs, LCD, etc., which may optionally be mounted on a keyboardless Commodore 64 body.
- The Prophet64 is a cartridge for the Commodore 64. It features four separate music applications, mimicking everything from modern sequencers to the Roland 303/909 series. With an optional User Port peripheral, the Prophet64 may synchronized to other equipment using DIN Sync standard (SYNC 24). The website now states "Prophet64 has been replaced with the MSSIAH."
- The MSSIAH is a cartridge for the Commodore 64 that replaces the Prophet64.
- Artist/Hacker Paul Slocum developed the Cynthcart cartridge that enables you to turn your C64 into an analogue synthesizer. The Cynthcart is available through atariage.com.
- The Parallel Port SID Interface allows those with very slim budgets to connect the SID chip to a PC.
- In May 2009 the SID chip was interfaced to the BBC Micro and BBC Master range of computers via the 1 MHz bus allowing music written for the SID chip on the Commodore 64 to be ported and played on the BBC Micro.
- In October 2009 thrashbarg's project interfaced an SID chip to an ATmega8 to play MIDI files on a MOS 6581 SID.
- In March 2010 STG published the SIDBlaster/USB - an open source, open hardware implementation of the SID that connects to (and is powered by) a USB port, using an FTDI chip for the USB interface and a PIC to interface the SID.
- In August 2010 SuperSoniqs published the Playsoniq, a cartridge for MSX computers, with (in addition to other features) a real SID on it, ready to use on any MSX machine.
SID hardware clones
- The SwinSID is hardware emulation of the SID using an Atmel AVR processor, also featuring a real SID player based on the Atmel AVR processor.
- The V-SID 1.0 project (code name SID 6581D, 'D' for digital) from David Amoros was born in 2005. This project is a hardware emulation of the SID chip from the Bob Yannes's interview, datasheets. The V-SID 1.0 engine had been implemented in a FPGA EP1C12 Cyclone from ALTERA, on an ALTIUM development board, and emulates all the characteristics of the original SID, except the filter which is a digital version (IIR filter controlled by a CPU).
- The PhoenixSID 65X81 project (2006) aimed to faithfully create the SID sound using modern hardware. The workings of a SID chip were recreated on an FPGA, based on interviews with the SID's creator, original datasheets, and comparisons with real SID chips. It was distinguished from similar attempts by its use of real analog circuitry instead of emulation for the legendary SID filter. However, the project was discontinued, because George Pantazopoulos, who was the head of this project, died on April 23, 2007, at the age of 29.
- The C64 Direct-to-TV emulates large portions the SID hardware, minus certain features such as (most notably) the filters. It reduces the entire C64 to a small circuit that fits into a joystick while sacrificing some compatibility.
SID sounds and snippets of SID music has been introduced into mainstream music at several occasions:
- In the spring of 1999 Zombie Nation released a remix of game musician David Whittaker's Lazy Jones (originally written for the SID in 1984) under the title Kernkraft 400. They used an Elektron SidStation for the sound.
- In 2000 8 Bit Weapon acquired a SidStation used on the track "Femmachine SID Mix" as well as for their work for Kraftwerk's "Space Lab" remix on astralwerks records. By 2009 they also added the MSSIAH c64 music workstation cart and began using the MOS 6581R4 & 8580 SID Chips in their music for remixes, TV scores, Video Game Scores, and their own album releases as well as the Sony released ACID loop library "8 Bit Weapon: A Chiptune Odyssey."
- In 2001 Bas Bron sampled the drums from Jeroen Tel's and Reyn Ouwehand's song made for the Rubicon game in the song You've got my love.
- In 2007 Timbaland's extensive use of the SidStation led to the 2007 Timbaland plagiarism controversy around his tracks Block Party and Do It (written for Nelly Furtado).
- SidStation is essential to the sound of Swedish band Machinae Supremacy. The band defines itself as SID metal.
- The Swedish acid ambient artist Carbon Based Lifeforms features a song called MOS 6581 on their 2003 album Hydroponic Garden.
- Commodore 64 Games that Talk - A web page devoted to all the c64 games that contain Voice or Digitized speech, that demonstrates the SID chips ability to speak, as clearly as a real person.
- MOS Technology VIC - the combined graphics and sound chip of the VIC-20
- Atari POKEY
- MOS Technology 8364 "Paula"
- Sound chip
- The High Voltage SID Collection
- Press Play on Tape, a C64 revival band
- Machinae Supremacy
- 8 Bit Weapon
- Perry, Tekla S.; Wallich, Paul (March 1985). "Design case history: the Commodore 64". IEEE Spectrum: 48–58.
- http://kevtris.org/Projects/sid/remarked_sids.html remarked SIDs
- http://www.lemon64.com/forum/viewtopic.php?t=27739. Retrieved 31 January 2014.
- "MIDIbox SID V2-User manual".
- "New revolutionary C64 music routine unveiled".
- "Sound Interface Device reference".
- "Examination of SID noise waveform".
- sid.oth4 project, sid.oth4 project
- SOASC= project, SOASC= project
- "JSIDPlay2: a cross-platform SID player and C64 emulator".
- Latimer, Joey (August 1989). "Innovation Sound Standard". Compute!. p. 68. Retrieved 11 November 2013.
- Revision as of 20:29, 19 May 2009 of "Commodore 64" wikipage
- Appendix O, "6581 Sound Interface Device (SID) Chip Specifications", of the Commodore 64 Programmer's Reference Guide (see the C64 article).
- Bagnall, Brian. On The Edge: The Spectacular Rise and Fall of Commodore, pp. 231–238,370–371. ISBN 0-9738649-0-7.
- Commodore 6581 Sound Interface Device (SID) datasheet. October, 1982.
- Karen Collins, "Loops and bloops". Music of the Commodore 64 games, soundscapes, volume 8, Feb 2006
- SID in-depth information page
- SID at DMOZ
- The 6581 SID Datasheet
- SID programming info
- MOS 8580 SID die shots