[sdiy] Discrete MOS 6581 (Commodore C64 SID chip) schematics / analysis
Noah Vawter
diydsp at yahoo.com
Tue Aug 18 06:35:46 CEST 2026
this topic has come up many times over the decades.
there is not much remarkable about the SID except for its context, how it is programmed with wavetables and the filter. outside of the retrocomputing, its sound is heavily out of place. look how few songs - in any genre outside retro - have picked up on it. but in a game, in a demo, you hear intensely creative and efficient intermingling of voices, sync, filtering, PWM, modulation, transposition, etc.
It is 100% digital plus the pseudo analog filter. most of the microcontroller implementers are lazy about the filter. they emulate the digital part just fine. every few years another demo scene guy comes up with an improved DSP-based rendition of the sid filter.
the designer was never ashamed of it. he just wished he had more time to make the voices have a register bank. so he had to simply duplicate the voice he made 3x. and he got more time when he made the DOC chip at Ensoniq. The ESQ-1 *is* the no-compromise SID synthesizer. same feature set, more waveforms, more voices, more LFOs, envelopes fixed, and predictable mass-produced filters (curtis? CEM?).
As mentioned by the designer, their NMOS process was more efficient than others, but it couldn't create high enough gain for a high Q value.
plus, the caps in the SVF rarely matched so everyone's was slightly different and that detracted further from the Q.
one interesting thing is those clusters of FETs forming the multiplier, etc modules have distortion, not unlike an MS-20 filter. that is unusual and worth re-creating.
but the chip has so many other weird quirks. like the NCOs---all waveforms have different volumes and no mixer to control them. that's why you rarely hear the gentle triangle waveform and if you do, it's usually not at the same time as the pulse waveforms--it gets drowned out. same p2p mag as those blazing pulse waveforms. sawtooth gets its share too, but it's not expressive like the duty cycle on the pulse waveform.
the most important aspect though is the wave tables that combine waveform sequencing like a wave station with sync and ring mod in rhythms. almost any synth could be programmed like that, but no one ever does. and if they did, to sound like a sid, they would have to e.g. turn the volume way down on the triangle.
As for analog VCO versions of a SID: look into the ASID format. it was originally used by Elektron to send blocks of register changes to sidstations from a PC. but you can have anything receive it. You can make a sid register to MIDI/CV converter and drive all your synths from SID tune players via ASID! but honestly, pulse is pulse, sawtooth is sawtooth, and tri is tri. other than fixing the amplitudes, you won't get much unless you drive interesting synth voices that way. and then the game/demo you're using won't sound like the original, though it might be fun...like playing a MIDI file with all the wrong voices!
sure SID has a little aliasing, but since the phase accs are clocked so fast (2 MHz?) and only upper bits are used to drive the DACs, not much comes through. I once calculated it. a little does.
another quirk is the absurd envelope choices. the ADSRs use linear and exp haphazardly. and only having a few lengths - 16 and most are not musically relevant - leads to some limited music choices. people could program their synths like this, but most choose not to bc they have "better" aesthetic choices. There's also some kind of ADSR env bug that I don't totally understand. and also typically the chip is so noisy people turn off the voice completely when no note is coming out of it! sidstation has a specific option for this.
i'm not trying to discourage anyone. just trying to set reasonable expectations and point to where the magic is and isn't. It's not that the sid is magic, it's not that constraints force you into an aesthetic regime you wouldn't normally hold yourself to. Most normal people don't make rhythms by alternating sync and ring mod controls in 1/8th and 1/16th note steps (mp-4 kind of does that and it's super crazy).
And furthermore, the context in which it's used - 8-bit assembly programs - lends itself way more to rhythmic step tables than continuous musical gestures. For example, people only rarely use LFOs in sid music...maybe a little vibrato here and there or PWM because the chip itself doesn't facilititate it (except one readback register, but that's an exception). programming an LFO is much more of a pain - especially when you have to scale it in volume or in pitch - remember, there's no voltage control paradigm, just digital registers - that most people don't do it. the 6502 has no multiply instruction. and even if you make a multiply it's overkill and you sitll have to scale it to the ranges in question...and typically you want exponents instead. no sid editor that I know has a facility for it. they all only just use little tables of values.
so: sid programming = rhythmic tables of sync, ring mod and waveform changes + distorted low-Q filter, limited envelope choices. normal people = LFOs. voices with adjustable volume, warm high-Q filters, continuously-variable exponential envelopes (or sometimes selectable).
it's like tubes and transistors (oh no here come the pitchforks). you can make one sound like the other, but no one ever does.
Noah Vawter's futuristic electronic music instrument lab: youtube.com/diydsp
On Monday, August 17, 2026 at 11:23:03 PM EDT, cheater cheater via Synth-diy <synth-diy at synth-diy.org> wrote:
Stumbled upon some interesting info by people trying to emulate the
SID on component level, which could also be used to create a discrete
recreation of the chip.
I think this could be an interesting development given that
1. SID chips are extremely scarce now
2. even crappy examples go for $100+, like here
https://www.ami64.com/product-page/genuine-sid-chip-for-commodore-64
3. even when SIDs weren't scarce, finding good ones wasn't easy since
so many were crappy
4. digital recreations (by this I mean all those microcontroller based
ones that slot into the SID socket) just don't sound good at all
Even when SIDs weren't scarce at all, it was really difficult to find
one that sounded right, didn't have annoying noise, etc.
Plus, especially for something like a musical module, someone might
want to extend parameter control like cutoff, Q, etc to have finer
control.
With the little electronics knowledge I have, it seems like the filter
is easily doable on component level (see link #4 for a component and
block level diagram).
The oscillator is an NCO. The 3rd link goes deep into analyzing it.
The main issue would probably be recreating the glitches used for
playing back samples etc. The noise source is an LFSR and I think
that's what's being used for sample playback, but I'm hazy on the
details. Could be fun to also have a POKEY noise mode, since that's an
LFSR too.
I think it would be interesting to hear what the SID might sound like
in such an approach. I also think it would be fund to hear what it
would sound like with VCOs replacing the NCOs.
https://www.kvraudio.com/forum/viewtopic.php?t=532918
https://www.kvraudio.com/forum/viewtopic.php?f=1&t=526480
https://6502.org/forum/viewtopic.php?f=8&t=4150
https://www.kvraudio.com/forum/viewtopic.php?t=526071&start=45
BTW here's the 6581 datasheet:
https://archive.org/details/mos-6581-sid-data-sheet
I hope this inspires someone to build something around this idea.
________________________________________________________
This is the Synth-diy mailing list
Submit email to: Synth-diy at synth-diy.org
View archive at: https://synth-diy.org/pipermail/synth-diy/
Check your settings at: https://synth-diy.org/mailman/listinfo/synth-diy
Selling or trading? Use marketplace at synth-diy.org
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://synth-diy.org/pipermail/synth-diy/attachments/20260818/2f26621b/attachment.htm>
More information about the Synth-diy
mailing list