Bob Yannes
Robert Yannes designed the sid at MOS Technology, Commodore's chip division, in 1981–82 — and, by his own account, the commodore-64 itself — then left Commodore and co-founded the synthesizer company Ensoniq (sources: s-sidmusic-yannes-interview, s-sidmusic-creation-of-the-sid-chip). The wiki's primary source on him is his 1996 e-mail interview with andreas-varga (s-sidmusic-yannes-interview), which Newman also quotes (source: s-newman-driving-the-sid-chip).
Background#
- "An electronic music hobbyist" before MOS, hired partly because "my knowledge of music synthesis was deemed valuable for future MOS/Commodore products"; before the SID he "had been responsible for the design behind the VIC-20" (sources: s-sidmusic-yannes-interview, s-sidmusic-creation-of-the-sid-chip).
- He found the sound chips of the day, "including those in the Atari computers", "primitive and obviously … designed by people who knew nothing about music"; "I had worked with synthesizers and I wanted a chip like those in a synthesizer" (sources: s-sidmusic-yannes-interview, s-sidmusic-creation-of-the-sid-chip). MOS manager Charles Winterble's verdict, via Newman: "already 10 times better than anything else out there and 20 times better than it needs to be" (source: s-newman-driving-the-sid-chip).
Design of the SID#
- Dates and team: "Project C64" was first discussed in January 1981 as a game computer; work on the SID began in spring 1981 with Yannes, two technicians and a CAD operator; "the actual development of the SID took just 4–5 months" on top of "basic research … since high school" (source: s-sidmusic-creation-of-the-sid-chip).
- Goal: "a single-chip synthesizer voice which hopefully would find its way into polyphonic/polytimbral synthesizers"; MOS was a merchant chip house and he meant to sell the SID to synthesizer makers — Sequential Circuits showed interest, "but nothing ever came of it" — but C64 production consumed every chip (source: s-sidmusic-yannes-interview).
- Architecture ("pretty brute-force, I didn't have time to be elegant"): per voice a 24-bit phase-accumulating oscillator (16 bits programmable), waveform generation straight from the accumulator bits (sawtooth = upper 12 bits; triangle = XOR-inverted 11 bits, half the resolution; pulse = 12-bit comparator; noise = 23-bit shift register clocked from an accumulator bit), a 12-bit waveform D/A into an 8-bit multiplying D/A driven by the envelope generator; one state-variable filter with FETs as voltage-controlled resistors and an 11-bit cutoff D/A; a 4-bit master-volume D/A. The envelope is an 8-bit up/down counter with rates from a divider and look-up table — its 16 rate values "arrived at subjectively by setting up typical patches on a Sequential Circuits Pro-1 and measuring the envelope times by ear" — with decay/release made exponential by halving the clock at set counts and sustain by a comparator on the upper four bits (adsr-envelope). Ring modulation is the previous oscillator's MSB substituted into the triangle's XOR, "which is why the triangle waveform must be selected"; sync clears the accumulator on the previous oscillator's MSB (ring-modulation-and-sync) (source: s-sidmusic-yannes-interview).
- Not intended: combined waveforms — the selector's multiplexers "did not provide a 'lock-out'", so combinations are "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" (source: s-sidmusic-yannes-interview; the wiki already had "never intended as a feature" from s-chordian-sf2-instruments). Volume-register samples, by contrast, he describes as a known use: stop an oscillator, apply DC to the volume D/A, and "Game programs often used this method to synthesize speech or play 'sampled' sounds" (chip-samples). The OSC3/ENV3 readbacks were for novices and "probably never used" (source: s-sidmusic-yannes-interview).
What went wrong and why#
- "The issue wasn't budget, it was development time and chip size constraints" — the SID, VIC-II and C64 schedule was "incredibly tight (some would say impossibly tight)" (source: s-sidmusic-yannes-interview).
- The filter: "the worst part of SID because I could not create high-gain op-amps in NMOS, which were essential to a resonant filter"; FET resistance "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" (source: s-sidmusic-yannes-interview). Rindeblad's version: "The filter was the last feature we added in … Computer simulations told us the filter wouldn't work out very well. And it didn't" (source: s-sidmusic-creation-of-the-sid-chip); martin-galway heard the same from an Ensoniq colleague — "they never debugged them" (source: s-remix64-galway-interview). See filter-programming.
- Noise floor: without a proper MOS op-amp there was "signal leakage which occurred when the volume of the voice was supposed to be zero", giving a poor signal-to-noise ratio "although it could be dealt with by stopping the oscillator" (source: s-sidmusic-yannes-interview).
- Three voices: the oscillators were not multiplexed "due to time constraints", so they "took up a lot of chip area, constraining the number of voices I could fit on a chip"; Newman renders this as an original plan for "up to 32 separate voices" via multiplexing (sources: s-sidmusic-yannes-interview, s-newman-driving-the-sid-chip) — Yannes's own words give 32 as what Ensoniq's later multiplexed chips achieve, not as a stated SID target.
- Dropped: an exponential look-up table for direct equal-tempered pitch entry — "too much silicon and it was easy enough to do in software anyway" (source: s-sidmusic-yannes-interview; Rindeblad: "later removed, since it was too expensive", source: s-sidmusic-creation-of-the-sid-chip).
- The spec: written "before SID prototypes even existed" and "not accurate" — Japanese developers who coded to it shipped out-of-tune, muffled games (source: s-sidmusic-yannes-interview); Rindeblad: it "accidentally got incorrect", so "the real capacity of the SID-chip is not fully known even today — not even by its constructors" (source: s-sidmusic-creation-of-the-sid-chip). This is the documentation the c64-programmers-reference-guide reprints as Appendix O.
- After he left, "I don't think there was anyone there who knew enough about music synthesis to do much more than improve the yield of the SID chip" (source: s-sidmusic-yannes-interview).
Later career#
Co-founded Ensoniq. The SID was "my first attempt at a phase-accumulating oscillator, which is the heart of all wavetable synthesis systems"; Ensoniq's chips multiplex one oscillator into "at least 32 voices per chip", but otherwise resemble the Mountain Computer card for the Apple II (basis of the Alpha Syntauri) — the DOC I of the Mirage and ESQ-1 was modelled on it; the 1996 designs "include waveform interpolation, digital filters and digital effects". In 1996 he had not thought about the SID "in the last 15 years", had not heard rob-hubbard, martin-galway, Tim Follin or jeroen-tel, still owned "a couple" of C64s including the portable, and was "constantly amazed and gratified" by what people did with the chip (source: s-sidmusic-yannes-interview). The SID-Wizard book: "Even Bob Yannes himself doesn't keep track of the long lifetime of the SID chip and what people do with it" (source: s-witchmaster-creating-chiptunes-with-sid-wizard).
Contradictions between sources#
- Rindeblad's column lists "the chip can perform a logical AND on different waveforms" as an error in the documentation; Yannes (1996) and the datasheet describe the combination as exactly that, a logical AND of the waveform bits (sources: s-sidmusic-creation-of-the-sid-chip, s-sidmusic-yannes-interview). The column's other claim — an error "in the filter-function" — matches Yannes's account of the filter.
- Newman's "1982" for the design and Rindeblad's "spring 1981" describe the same 4–5-month project seen from its start and its shipping. commodore-64.eu, a secondary source, also dates the design to 1981 and says he "later co-founded Ensoniq" — consistent with the primary sources above (source: s-commodore-64-eu-sid-chip); the datasheet's 1982 remains the year of the shipping chip (sid).
Related#
sid · commodore-64 · filter-programming · adsr-envelope · ring-modulation-and-sync · chip-samples · andreas-varga · sid-homepage · c64-programmers-reference-guide
Sources#
s-sidmusic-yannes-interview · s-sidmusic-creation-of-the-sid-chip · s-newman-driving-the-sid-chip · s-witchmaster-creating-chiptunes-with-sid-wizard · s-chordian-sf2-instruments · s-remix64-galway-interview · s-commodore-64-eu-sid-chip