www.joogn.de/sid.html Samstag, 3. Mai 2008

SID MOS 6581
RegisterTable C64 MIDI-Interface

"Happy Computer" interviews: Rob Hubbart Chris Hülsbeck

The Sound Interface Device was and still is the famous Sound-Chip of the even more infamous Commodore C64 Home-Computer dated back in 1982.
see: SID'esizer SidStation HardSID PC-Card ParallelSID MIDIbox SID SIDsyn

This little 28 Pin Chip is remarkable in a few aspects:

  • Lots of people wrote and programmed really respectable Tunes for this 3 Voice Chip in 6510 Assembler. (e.g. Rob Hubbard, Martin Galway, Ben Daglish, Richard Joseph - to name a few)
    You might not like the harsh electronic sound, but you can't deny the skillfull compositions, especially if you take into account that this chip was programmed rather than controlled by a sophisticated sequenzer you are nowadays used to !
    Anyways if you listen to songs of Ultravox, Kraftwerk, Erasue etc you'll have some occasional deja vu's, believing they used a SID in there.
    see: 'Back in Time' CD HV-SID Collection Remixed Tunes

  • Back in 1982 Synthesizer weren't (yet) tiny One-Chip-Boxes you could have put in a pocket like nowadays ! They were in fact "huge" machines partly still with lots of switches and modulation-cords. (e.g. the Yamaha CS80 weights 100kg !) Even though you had upcoming digital Synthesizers at this time - like the famous Yamaha DX-7 the SID counts as an innovation. No surprise Bob Yannes later founded Ensonic.

  • This Chip was designed by Bob Yannes in 1982 with an impossible small time-schedule (therefore - so he explains - the "high" signal-leakage in NMOS).
    Nevertheless he archived to create a Sound-Chip that was worth its name compared to most of the "Square-Wave Squelcher" you found in most other Home & even Arcade Computers at this time and still years later (e.g. Yamaha PSG aka GM AY-3-8910 - wildly used by Atari - even though ST-users learnt to enjoy it).

  • The Synthesis is a subtractive one which means, you have 4 basic Waveforms:

    • Square (pulsewidth adjustable in 4096 steps)
    • Triangle (6dB lower as 1 bit is now SIGN, but can be RING-modulated)
    • Saw
    • Noise (scalable 23 bit pseudo-random)

    which now can be "altered" by using different types of Filters:

    • High-Pass (12dB/Oct)
    • Low-Pass (12dB/Oct)

    • Band-Pass (6dB/Oct)
    • or any combination of these !

The Cut-Off-Frequency rather depends on the external applied Capacitors. Recommended was always 2.2nF, but 470pF were used with the 6581, i.e. the smaler the capacity the less the (mainly LP) filtering !

Please note, that changing the capcitors from 0,47nF to 2,2nF does not "improve" the SIDs sound quality in any way ! You rather apply more low-pass-filtering to any existing Tune that - however - was not composed/programmed for that adjustment.

Furthermore you have a Resonance parameter which actually is more sth like a signal feedback, which results more in a kind of distortion, than the usual self-oscillation.
Means you quite amazingly will get an Analog-Like sound in Dimensions of a Moog, or Korg.

Funny enough you also can combine some of the waveforms on the 6581 (e.g. TRI AND SAW). The result is supposed to be a logical AND. However rumour says that's not the case.
Some observations with my Oscilloscope make me believe that the combinations are in fact AND-ings, but why most ppl believe that it's not, is that they only observe by software the Oscillator 3 Register and for that reason miss that the resulting waveform looks like an AND with phase-shifting-induced cancelations. As well as you can definately hear the SID has "timing problems" I strongly believe that the oscillators are kind of "multiplexer-mixed" and for that reason have a slight shift in the "analog-logical AND" which results in pretty strange shaped waves.

Nevertheless care should be taken as some combinations won't result in anything audible. Especially combinations with NOISE will lock up the corresponding OSC by filling it with zeros - ergo: no sound at all.

see: SID in-depth info 6581 Datasheet (1.7MB pdf) 6581 Datenblatt (700KB ZIP)


MOS SID 6582

In 1986 Commodore's own Semiconductor company (confusingly called) "MOS" introduced a HMOS version of the SID called 6582. In contrast to the 6581 it needs only 9V for the Audio-Out-Amp instead of 12V. Though I haven't fully compared the two datasheets, this seems to be the only difference. I guess as a different type of MOS-technology has been used the sound might be different in nuances. Presumably on the filters. Personally I've never seen, nor knowingly heard a 6582 (yet).


CSG SID 8580

I assume that the 6582 was renamed, or even further re-engineered into the 8580 which was used in the white C64II and in later versions of the C128, too. Another reason might be that around that time MOS was changed into CSG (Commodore Semiconductor Group - this company has some history of it's on now e.g. law suits because of groundwater-contamination before it went into liquidation and was kind of re-opened as GMT Electronics by the old CSG management. The decontamination was still going on in Sep 2000)

It has lower power consumption and requires 9V instead of 12V!

ATTENTION !
You can not just plug an 8580/6582 into an old C64 "Brotkasten" (bread-box) without the risk of damaging it due to overpowering it with 12V instead of 9V !

Gone is the "little-crack-while-changing-volume" flaw which was extensively used to "play" the (usual two, or four bit) PCM-Samples.
Result: Samples are therefore almost in-audible.

Fix: solder a Resistor of about 330KOhm between audio-in-pin (26) and ground (e.g. 14). This introduces DC in the SID output that result in little cracks when switched by the VOL-Register.

Obviously this technical adjustment generally reduced the DC and low-frequency leakage. According to a spectral-analyses I did, it looks like the SID8580 got an additional 12dB High-pass filter on the output-amp at a cut-off-frequency of about 100Hz.

Rumour says you have now more (AND) combinations of waveforms that work. I suppose without locking up the noise oscillator.

(see: 6582 Datasheet (1.5MB pdf) )


The SID 6581 R3 vs. R4 myth

Some ppl on the cbm newsgroups seem to experience "remarkable" differences in the production versions of the MOS SID 6581, MOS 6581R3/R4, CSG SID.

Excluding the "R5" CSG SID 8580, I have made parallel recordings with serveral SIDs of different week/years productions from different factories and revisions. Personally I can not tell a R4 from a R3, or a "R-none". At times they have output differences of about 2dB. Or different saturation and distortion, if more than one oscillator is run through the NMOS/HMOS FET filters, other than that I did/do not perceive any differences.

SID Comparisons here you find audio files that have different SIDs on the right and left channel. If you hear a simple monosignal "in the middle of your head" both SIDs sound exactly the same - without any difference. Also the signals show as a straight line on a vectorscope.

Some of my pseudo-stereo SID recordings (sSID):

  • Biggles (OGG 3,6MB Ben Daglish) RealSID4.04
  • JT in Space (OGG 4,6MBJeoren Tel) "Double Density" Demo by Ash & Dave
  • Zoids (OGG 5,7MBRob Hubbart) "Union Box 1986"

SID'esizer

The idea for an own Synthesizer based on the C64 Soundchip must have happened to me around 1990. However at this time I lacked the technical skills. I recall that my first few lines of assembler code did nothing more but driving the 2x20 LCD - this was back in December 1996 *ähem*

Update Samstag, 5. Oktober 2002
The hardware in general has been finished quite a long time ago, the basic problem is the development of the SOS (SID Operating System). Written on my Atari ST tranfered into the Flash-PROMs via my DIY ROM-PORT-Prommer and then discovering general addressing errors.
However some work on the first menus have been done, photos added and at the moment I can control 6 oscillators Polyphony via MIDI - mp3's added.

Update Mittwoch, 26. Mai 2004
At the beginning of 2003 I experienced quite some wild troubles with my ROM-code until I figured, that there are contact problems with the PLCC Flash-Proms in their sockets...
Now I finished quite some Menu and basic editing code the last 3 days and put in the last two SID's i.e. the SID'esizer now operates 12 polyphonic voices. However the MIDI-Mode ist still Single. Next will be my fist attempts on a LFO, to modulate the SID's parameters. OGGs added.
Rack - Back - SID-Front - C64-Front - Menü1 - Menü2
CPU-Board - SID-Board - Stereo-SID

Tech

  • 19" 2 Units Rackmount
  • Motorola 68K @ 10MHz
  • 1MB Flash-ROM (SOS uses some 4KB so far)
  • 256KB SRAM
  • MC6850 for MIDI In/Out
  • 4 x SID6581
  • 2 x 20 LCD
  • 5 buttons + 2 Potis
Audio-Demos: (Monophonic-Mode 6581R4 0687 1nF)
The Melody from "What have I done ?"
Nothing fancy: SAW,TRI,SQR,NOI & LowPass-Filter adjusted by the Poti.
Reverb: RSP Intelliverb.

The Baseline from "Moments"
Nothing fancy either: SAW,TRI,SQR & LowPass-Filter adjusted by the Poti.
Effect: BOSS GX-700.

Audio-Demos: (Polyphonic-Mode 6581R4 0687 1nF)
6 Oscillators Poly-Accord SAW TRI+SQR
12 Oscillators Poly-Demo SAW TRI+SQR+ Low pass
Effect: Lexicon MPX-1.