Re: Playing samples on both new and old SIDs

From: Richard Atkinson (
Date: 2000-07-31 03:46:07

On Sun, 30 Jul 2000, Steve Judd wrote:

> Yeah.  Presumably the pwidth value is just added to a running counter,
> with the high bits determining high/low.

It is connected to a comparator, which compares the value with the phase
accumulating oscillator (ie. the sawtooth waveform) output. The comparator
output is connected to all 12 D/A bits when Pulse is selected.

> I was just fiddling around with the tunesmith instrument editor, and I was
> suprised to see that with a zero frequency, a pwidth setting of 0 on voice
> three puts the oscillator output immediately at $FF; a setting
> of 4095 puts the output to zero.  Are the outputs inverted wrt the
> register value?  If not, then why does pwidth=4095 and freq=0 work for
> digis?

It really depends whether the PW register is connected to the + or -
inputs of the comparator. Does PW = 0 (frequency not important) work for
sample replay too? It is entirely reasonable for both states ($000 and
$FFF) to produce DC offset at the output when the envelope generator is
gated on; one may be quieter than the other and it is not necessarily
$000. All sorts of things can happen inside a chip at the gate level and
the analogue level. For example, the unbonded 6510 port bits used in the
temperature sensor idea are probably inverted wrt the software model and
the normal output pins. Otherwise they would return to 1 when left
floating, in the usual style of NMOS.

> Finally, I just observe that any waveform can be used to set the output
> value -- for example, using a sawtooth and a frequency of 1, I can set the
> freq to zero and halt the oscillator output at arbitrary values.

The phase accumulating oscillators are 24 bit and the frequency registers
add to the bottom 16 bits, but the D/A outputs are only 12 bit (connected
to the top 12 bits). Thus the frequency can be set to 4096 to count one
'real' D/A LSB per clock cycle. Or less if you want more time to stop the

> Speaking of which... has anyone ever sampled some of the combination SID
> waveforms using a low frequency, like 1?  Is it the same as at higher
> frequencies?  It always seemed to me that a little Fourier analysis ought
> to be able to clear up the mystery of the combination waveforms.

I looked at them in BASIC a few years ago but have never 'sampled' them
properly. With an REU it is possible to sample 512K of data without
interruptions at 256 byte boundaries (due to 8 bit arithmetic) so maybe
someone can write a program to set the frequency to 32768 (for samples in
identical pairs) and initiate an REU transfer to expansion memory from the
oscillator 3 output register.


Richard Atkinson
Software Engineer
Tenison Technology EDA Ltd

This message was sent through the cbm-hackers mailing list.
To unsubscribe: echo unsubscribe | mail

Archive generated by hypermail 2.1.1.