2010/10/6 Robin Gareus <robin@xxxxxxxxxx>: > On 10/06/10 13:57, Andrew C wrote: >> Actually, I could've sworn that the SID had 3 voices with independent >> oscillators and a 4th sort of 'audio' channel due to some sort of >> memory glitch or such? I'm not sure of the specifics. >> Andrew. >> > > The trick was/is to output noise through one of the voices and use the > master-output gain to 'fake' PCM. I guess that's how "Cubase64" works. >From the white paper: "The Commodore 64 has a sound chip that wasn't designed for playing samples. Since there's not much available memory, they did not intend the SID chip to play samples - 64kB with 8kHz sample rate will give you a some 8 seconds of sound to play. There was no need for sample playback. So, we have to fool the SID chip to play samples, even though it only has the means of playing either a continuous triangle waveform, sawtooth waveform, pulse-width waveform or noise waveform. This is done by using the triangle waveform, resetting the oscillator with an undocumented testbit originally implemented for factory testing, setting the accumulator frequency to change the increment speed of the accumulator, and then after an exact number of clock cycles enable the triangle waveform output just briefly, practically emulating a sample-and-hold filter that will keep the analog output fixed at a certain voltage." /Robert _______________________________________________ Linux-audio-user mailing list Linux-audio-user@xxxxxxxxxxxxxxxxxxxx http://lists.linuxaudio.org/listinfo/linux-audio-user