MOS Technology SID
From Wikipedia, the free encyclopedia
The MOS Technology 6581/8580 SID (Sound Interface Device) was the built-in sound 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.
Together with the VIC-II graphics chip, the SID was instrumental in making the C64 the best-selling computer in history, and is partly credited for initiating the demoscene.
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.
Contents |
[edit] Design process
The SID was devised by engineer Robert "Bob" Yannes, who later 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 to why the SID has features like the envelope generator, previously not found in home computer sound chips.
I thought the sound chips on the market, including those in the Atari computers, were primitive and obviously had been designed by people who knew nothing about music.
—Robert Yannes, On the Edge: The Spectacular Rise and Fall of Commodore
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 fourths 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 can make a logical AND between two waveforms, something that the 6581 could never handle. Another feature that differs between the two revisions is the filter: the 6581 version is far away from the specification.
[edit] Features
- 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
[edit] Technical details
The SID is a mixed-mode integrated circuit, featuring both digital and analog circuitry. All control ports are digital, but the output ports are analog. The SID features three-voice synthesis, where each voice may use one of four different waveforms: square wave (with variable pulse width), triangle wave, sawtooth wave and a pseudo-random (but not white noise) wave. Each voice may be ring modulated with one of the other waves, i.e. the frequency spectrum is multiplied 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.
The 6581 had a quirk that caused changes in volume level on a channel to result in a slight "pop". Eventually this bug was found to be useful for producing a fourth voice of percussive sounds, digitized speech, and even short excerpts of digital recordings (the Commodore 64 lacked the memory capacity for full-length digital recordings of songs). Unfortunately, this "defect" was partially corrected in the 8580 used in the Commodore 64C and the Commodore 128. This made digitized sound (samples) very quiet. Fortunately, the volume level could be mostly restored with either a hardware modification, or a software trick involving the Pulse waveform. The software trick generally renders one voice temporarily unusable, although clever musical compositions can make this problem less noticeable.
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. 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 most of the noise, but this involves disabling the Audio-In function.
A HMOS-II version of the 6581 was produced, the 6582. Like the 8580, this chip used 5 volts and 9 volts for it's power supplies. It was never shipped in new Commodore 64s, however due to its lower voltage requirement, Creative Micro Designs later used it in their SID Symphony expansion cartridge.
The original manual for the SID mentions that if several waveforms are enabled at the same time, the result will be a logical AND between them, but only the 8580 actually has this functionality: on the 6581 some waveform combinations will only yield silence or be close to inaudible, depending on the chip revision. One noteable exception is that all 6581 revisions 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 different between the two models, with the 8580 being closer to the actual specification.
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.
[edit] Revisions
As far as anyone knows, the 6581 R1 never reached the market. Yannes has stated: "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." This probably means that the R1 was the first round of chips and R2 actually the second mask produced. High-resolution photos of Charles Winterble's prototype C64 show the markings "MOS 6581 2082" (no R2 thus presumably an R1) which probably means that the first round of prototype SID chips were produced week 20, 1982.
These are the known revisions of the various SID chips:
- 6581 R2 - this only has "MOS" "6581" markings on the package
- 6581 R3 - will say "6581 R3" or "6581 CBM" on the package
- 6581 R4 AR - will say "6581 R4 AR" on the package
- 6582 A - typically produced around 1992
- 8580 R5 - produced from 1987 to 1992
Some of these chips will be marked "CSG" as in Commodore Semiconductor Group (and commodore logo) rather than "MOS". This even goes for chips produced at the same week, indicating that the printers painting figures on top of the chip packages must have been from different factory lines.
[edit] Game audio
The Commodore 64 had slow tape and disk drive protocols, taking minutes to load its 64K into RAM. As a result, while the cassette tape or disk loaded it was common for game companies to put up a graphics display and play music (or even offer rudimentary interaction with a simple game, or a way to manipulate the tune playing), in what was sometimes called a "loader". The combination of slow loading and an excellent sound chip may be why composers for Commodore game music have received somewhat more attention compared to composers for other game platforms.
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, Delta, International Karate, IK+, and Monty on the Run. Other noteworthies include Jeroen Tel (Cybernoid and Myth) and Chris Hülsbeck, whose composition career started with the SID but has spanned nearly every kind of computer music and other synthesizers since.
[edit] Modern developments
- In 1997, an electronic musical instrument utilizing the SID chip as its synthesis engine was released. It is called the SidStation, 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 a single 6581 oscillator with ring modulation. Unlike the Sidstation, the Monomachine simulates a 6581 oscillator using a DSP.
- 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 1999, a sound card for IBM PC compatibles called HardSID 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 a real SID chip in a socket for use when playing
.MUS
files.
- The MIDIbox SID is a MIDI-controlled synthesizer which can contain up to four SID chips. It is a free open source project using a PIC microcontroller. Control of the synthesizer is managed either via software or via a control panel with knobs, LEDs etc., which may be mounted on a keyboardless Commodore 64 body.
- The Prophet64 is a newly developed cartridge containing four different music applications mimicing everything from modern sequencers to the Roland 303/909 series. Through the user port, the Prophet64 is synchronized to MIDI-instruments via DIN Sync standard (SYNC 24).
- The Parallel Port SID Interface allows those with very slim budgets to connect the SID chip to a PC.
- The SwinSID emulation of SID on the Atmel AVR processor and real SID player using 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) aims to faithfully create the SID sound using modern hardware. The workings of a SID chip are recreated on an FPGA, based on interviews with the SID's creator, original datasheets, and comparisons with real SID chips. It is distinguished from similar attempts by its use of real analog circuitry instead of emulation for the legendary SID filter.
[edit] SID file format
A .SID
file, colloquially known as "a SID" and also referred to as a PSID file, is a sound data file not only containing the note patterns, but also the 6502 program code - often called "player" - needed to replay the music on the SID. All actual sound is produced by the SID chip, or a software emulator that emulates the SID chip. The High Voltage SID Collection contains over 30,000 SID tunes. The SID files have the MIME media type audio/prs.sid
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 and Sidplay. However, there are loaders like RealSIDPlay and converters such as PSID64 that make it possible to play a substantial portion of SID files on the original Commodore computers.
[edit] References
- 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.
[edit] See also
- MOS Technology VIC - the combined graphics and sound chip of the VIC-20
- Atari POKEY
- MOS Technology 8364 "Paula"
- Chiptune
- Sound chip
- The High Voltage SID Collection
- Machinae Supremacy
- PPOT
[edit] External links
- SID in-depth information page
- The SID Homepage
- Original SID patent document
- The c64org portal
- Pixeh8 Music made using the SID and other console sound chips.
- SLAY Radio – plays exclusively C64 SID remixes
- The High Voltage SID Collection
- Compute's Gazette SID Collection
- remix.kwed.org – a collection of several hundred C64 SID remixes
- C64 Music – Commodore 64 music in the real world and other SID related stories blog
- Skytopia : Greatest C64 game music - Reviews & rankings
- Home of MIDIbox SID
- Elektron Sidstation
- PRESS PLAY ON TAPE C64 revival band
- sidplay2
- sidplay
- jsidplay Java based SID Player (with HVSC on-line)
- SID at the Open Directory Project
- ACID64 Player [1]
- Prophet 64 "The future of SID music"
- The-Commodore-Zone (Music Zone) - Online SID music database
- unknown64 - a VSTi Commodore64/SID Chip emulator
- QuadraSID - a commercial VST Commodore64/SID Chip emulator
- SID musician Laromlab
- Chipamp - Winamp plug-in bundle compiled by OverClocked ReMix allowing playback of over 40 chiptune and tracker formats
- 6581-8580 Project (SOASC) - The entire HVSC recorded with real Commodore 64 using both types of SID chips (to be finished 2006)
- Paulie's Ocean SID Page - Site discussing Ocean's SID player, the Ocean Loading Music and source code for Ocean's SID player.
Video/sound chips from MOS Technology and second source/clone vendors |
6545 CRTC ● 6560 VIC ● 6567 VIC-II ● 6581 SID ● 7360 TED ● 8563 VDC ● 8568 VDC |
Video game music | Video game musicians |
DSF | GBS | GSF | GSR | GYM | HES | MOD | NSF and NSFe | PSF and PSF2 |