jwm.art.net at gmail.com
Wed Oct 6 22:04:27 UTC 2010
On 6 October 2010 13:59, Robert Jonsson <spamatica at gmail.com> wrote:
> 2010/10/6 Robin Gareus <robin at gareus.org>:
>> 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.
>> 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."
Reminds me of the Amstrad CPC version of Codemasters "Super Robin
Hood" (an 8bit platform game whose aim was to rescue Maid Marrion from
Nottingham Castle) in which the sampled voice of Maid Marion could be
heard to say "Shave me Robin Hood!" Incidently, I used to love the
music to Codemaster's "Grand Prix Simulator".
More information about the Linux-audio-user