Pages: [1]   Go Down
  Print  
Author Topic: The incredible SID chip :)  (Read 5432 times)
0 Members and 1 Guest are viewing this topic.
shad0wfax
Senior Member
*
Offline Offline

Posts: 585


View Profile
« on: January 29, 2012, 09:56:49 AM »

There are people who just love it, while others hate it, but it’s difficult to deny that the C64’s synthesizer chip (usually known as ‘SID’, which stands for ‘Sound Interface Device’, officially MOS Technology 6581) is a very interesting and powerful chip for that time, far ahead from all the other computer audio chips of early 80s. And it is so not only because its official specs, but also, quite surprisingly, because its design flaws, which have been systematically exploited by musicians and programmers (there’s no clear distinction between the two categories when talking about the C64) in order to make things that were “theoretically impossible”.

For instance, while the SID is a “pure synthesis” chip, and it is (in theory) not capable of reproducing PCM samples, from very early times (1983) programmers managed to reproduce 4-bit samples, using a design flaw in the amplifying circuitry of the SID. The sound samples could even be mixed with the “normal” synthesis channels. Another trick was getting advantage from the distortion caused by the poor separation of the analog and digital circuitry of the chip to recreate some instruments, such a distorted guitar.

But, by far, the more impressive achievement is the following one. A few days ago I was surfing the net and nearly by chance I found a C64 website which explained that in 2008, a programmer found the way to allow the SID to reproduce 4 channels of 8-bit PCM samples (like the Amiga!), and it’s even possible to reproduce Amiga MODs on a C64! But that’s not all: Along with those 4 channels of PCM audio, it’s possible to use two “normal” synthesizer channels. And best of all: The SID audio filters can be applied both to synth and PCM channels (something that even the Amiga’s audio chip cannot do).

This new technique was shown in X’2008 demo party, in a demo named “Vicious Sid”. You can find more info at http://c64music.blogspot.com/2008/11/new-revolutionary-c64-music-routine.html . You can also listen to a song that uses this technique mixing 8-bit samples and SID sound here:  http://oxyron-party.untergrund.net/fanta_in_space.mp3 . Obviously, there are also some drawbacks: the length of the samples is limited to the Ram size (this is a very important limitation in a C64), and the sound output is not as “clean” as in an Amiga because of the design of the SID chip. Nevertheless, I find that it’s simply amazing.
Logged

Music production equipment: Roland Integra-7, Roland V-Synth XT, Roland RD-700GX + K-RD700GX1, Yamaha MOXF 6 + Flash ROM, Yamaha V50, Yamaha HS7, Behringer RX1602, Cambridge Audio DACMagic.
NewRisingSUn
Senior Member
*
Offline Offline

Posts: 651


View Profile
« Reply #1 on: January 30, 2012, 10:33:37 AM »

I feel almost guilty for attempting to curb your enthusiasm, but I'll do it anyway. Smiley

Nothing in your post illustrates anything impressive about the SID chip itself. Any sound chip can output PCM samples when each individual sample byte is manually modulated appropriately and sent byte-for-byte into the chip (even the internal PC speaker can), and writing a MOD player that mixes four PCM samples down to one PCM waveform in real-time for the C64 is impressive programming-wise, but has nothing to do with the SID chip itself. The only feature that makes the SID chip unique in this scenario are its filters, however, they will necessarily affect the whole PCM downmix, not individual samples.
Logged
shad0wfax
Senior Member
*
Offline Offline

Posts: 585


View Profile
« Reply #2 on: January 30, 2012, 08:03:15 PM »

Hey, this thread woundn't be interesting without the anti-SID team Wink

First of all, I'm neither a technician nor a programmer, so I'm not totally sure about what I'm going to say, altough from what I've read (and understood), the SID has "officially" no way to reproduce PCM samples of any kind, sent byte-for-byte or not, because its sound production method is by waveform oscillators (triangle, sawtooth, variable pulse and noise). I don't know if it's possible to "tweak" the pulse waveform in order to send very fast pulse waveforms at different volume levels in order to recreate a sample, but anyway this is not the way in which samples are played by the SID, because the technique used is related to a bug in the volume register (for that reason, in the "new" model, the MOS 8085, samples are nearly inaduble, because it's much closer to the original theoretical specs).

On the other hand, in any case the achivement to donwn-mix 4 channels of 8-bit samples in a C64 while using 2 more oscillators and while the computer is performing other tasks is impressive from the programming point of view.

Moreover, it seems that this technique DOES depend on the SID's characteristics,as it uses the triangle waveform in one oscillator in order to work. I quote for more details:

"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".

But regardless of the technical explanations, I find it incredible that the 1982's SID could do this.
Logged

Music production equipment: Roland Integra-7, Roland V-Synth XT, Roland RD-700GX + K-RD700GX1, Yamaha MOXF 6 + Flash ROM, Yamaha V50, Yamaha HS7, Behringer RX1602, Cambridge Audio DACMagic.
endre1952
Senior Member
*
Offline Offline

Posts: 409


View Profile
« Reply #3 on: January 30, 2012, 08:38:18 PM »

Whether it's a good chip or not, I LOVED listening to C64 music!
Logged
NewRisingSUn
Senior Member
*
Offline Offline

Posts: 651


View Profile
« Reply #4 on: January 31, 2012, 07:15:10 PM »

Quote
. I don't know if it's possible to "tweak" the pulse waveform in order to send very fast pulse waveforms at different volume levels in order to recreate a sample
Not volume levels. See Wikipedia: Pulse Width Modulation (PWM)
Quote
but anyway this is not the way in which samples are played by the SID, because the technique used is related to a bug in the volume register
According to this guy, that technique works with the Atari 400's Pokey chip as well (as well as PWM), and that one is from 1979.

Quote
But regardless of the technical explanations, I find it incredible that the 1982's SID could do this.
Given that 1983's 2A03 had a real 7-bit DAC (by design, not by exploiting strange volume register bugs) plus additionally three melodic channels plus one noise channel, I find myself quite unimpressed.

Plus unlike the SID's "trained mosquito" sound, it has a nice frequency spectrum that doesn't make my ears bleed. Although maybe when I'm sixty years old and I can't hear above 5000 Hz, maybe I will start to like the SID (I sometimes find myself accidently pronouncing it "Sith"). Wink

But I will grant you that the SID is not the worst 8-bit sound chip out there. That honor goes to the SN76489, used in the Tandy 1000 and Sega Master System. Why? Because its frequency can't go below 109 Hz! No deep bass lines for you, Sega people.
Logged
shad0wfax
Senior Member
*
Offline Offline

Posts: 585


View Profile
« Reply #5 on: January 31, 2012, 08:33:58 PM »

Quote
Quote
. I don't know if it's possible to "tweak" the pulse waveform in order to send very fast pulse waveforms at different volume levels in order to recreate a sample
Not volume levels. See Wikipedia: Pulse Width Modulation (PWM)

Ok, you're right

Quote
Quote
but anyway this is not the way in which samples are played by the SID, because the technique used is related to a bug in the volume register
According to this guy, that technique works with the Atari 400's Pokey chip as well (as well as PWM), and that one is from 1979.

It's great when people can take advantage of what to seems to be a problem or shortcoming at first glance to make things that were "impossible" in principle. C64 programmers are among the best ones in this field. C64 demos are full of "impossible" things, such as graphics outside the screen borders, new non-standard colors, muticolor hi-res graphics, different resolutions at once at the same screen, more than 64 sprites at once, and of course all the SID tweaks. Not to mention 3D effects that make you wonder: how can an 8-bit, 1 Mhz, 64 kb computer really do this?

Quote

Quote
But regardless of the technical explanations, I find it incredible that the 1982's SID could do this.
Given that 1983's 2A03 had a real 7-bit DAC (by design, not by exploiting strange volume register bugs) plus additionally three melodic channels plus one noise channel, I find myself quite unimpressed.

Well, it's a 1983 chip, so it's newer Tongue BTW, the 2A03 is based on the 6502, created by the Commodore engineer Chuck Peddle, so in some.  sense it's also from Commodore Wink In any case, leaving personal tastes aside, the sonical capabilities of the SID are far superior, from an objective point of view. And the possibility of reproducing samples when the circuitry does not include a real DAC has more merit Wink The "MOS Technology SID" entrance from the Wikipedia explains it very well.

Quote
Plus unlike the SID's "trained mosquito" sound, it has a nice frequency spectrum that doesn't make my ears bleed. Although maybe when I'm sixty years old and I can't hear above 5000 Hz, maybe I will start to like the SID (I sometimes find myself accidently pronouncing it "Sith"). Wink

This is a matter of personal taste, at the end of the day. I recall powering up my C64 only to listen to SID music for hours, and loading games that were rather dull only because they had great music. And several people invested hundreds of dollars to get a Sidstation or a Hardsid (maybe they are lunatics, but there seems to be quite a good bunch of them Wink ).
« Last Edit: January 31, 2012, 08:35:50 PM by shad0wfax » Logged

Music production equipment: Roland Integra-7, Roland V-Synth XT, Roland RD-700GX + K-RD700GX1, Yamaha MOXF 6 + Flash ROM, Yamaha V50, Yamaha HS7, Behringer RX1602, Cambridge Audio DACMagic.
Great Hierophant
Senior Member
*
Offline Offline

Posts: 1,021


View Profile
« Reply #6 on: February 01, 2012, 01:02:26 PM »

Quote
It's great when people can take advantage of what to seems to be a problem or shortcoming at first glance to make things that were "impossible" in principle. C64 programmers are among the best ones in this field. C64 demos are full of "impossible" things, such as graphics outside the screen borders, new non-standard colors, muticolor hi-res graphics, different resolutions at once at the same screen, more than 64 sprites at once, and of course all the SID tweaks. Not to mention 3D effects that make you wonder: how can an 8-bit, 1 Mhz, 64 kb computer really do this?

Maybe you should change the title of the thread to "The incredible Commodore 64 Smiley"  While it is interesting to show and see how far a system can be pushed to its limitations, one has to wonder if there is a useful software purpose other than running what is essentially a demo.  In other words, while it is nice that the 64 is capable of this and that, is the technique being used so computationally intensive that it becomes impractical to use it with interactive software like games.  

Quote
Well, it's a 1983 chip, so it's newer  BTW, the 2A03 is based on the 6502, created by the Commodore engineer Chuck Peddle, so in some.  sense it's also from Commodore  In any case, leaving personal tastes aside, the sonical capabilities of the SID are far superior, from an objective point of view. And the possibility of reproducing samples when the circuitry does not include a real DAC has more merit  The "MOS Technology SID" entrance from the Wikipedia explains it very well.

I would not necessarily call it a superior chip, but it is more versatile.  Peddle had a whole die to play with, whereas Nintendo's enginners had to fit the NES APU onto the same die as the CPU.  Also, the price points were very different.   But when you actually played NES games, you could hear music and it was clear.  Not so much when you actually played Commodore 64 games, where the music was often muffled or there was none.
« Last Edit: February 02, 2012, 12:00:37 AM by Great Hierophant » Logged

BlueMax
Senior Member
*
Offline Offline

Posts: 922



View Profile WWW
« Reply #7 on: February 22, 2012, 08:33:33 PM »

I know the SID was only 3 voices, but the sounds it was capable of producing often just SOUNDED BETTER than many Adlib songs I listened to a few years later.

Just raw appeal...

Imagine if Commodore had put a pair of them in for stereo right from the get-go!  Cheesy
Logged

AAAAAAAAUUGHH!!!! - Charlie Brown
Pages: [1]   Go Up
  Print  
 
Jump to: