Re: C64 music player source

From: Richard Atkinson (
Date: 2000-02-03 12:57:01

On Thu, 3 Feb 2000, [ISO-8859-1] Marko Mäkelä wrote:

> > Incidentally, those worried about using NTSC and PAL machines together in
> > a 'musical' setup can relax - the slave reply protocol for this very
> > sequence specifies whether the slave is an NTSC or PAL machine, so the
> > master can then tell it what scaling factors to use in the music with the
> > command words.
> Remember that also the ADSR timing and the pitch are derived from the bus
> clock.  It'd be nice to hear how "badly tuned" an orchester consisting of
> a PAL and an NTSC machine would sound.  Even if you can adjust the pitch
> values, I don't think that the ADSR time values can be compensated
> accurately enough.

The 'scaling factors' I was referring to were for the pitch. NTSC machines
play 3.8% higher than PAL machines, and a semitone is 5.9% increase in
pitch, so they would sound *horrible* together if uncorrected. The ADSR
values cannot be compensated of course, as the resolution of Bob Yannes's
lookup table is far too coarse, but there's a reason for that - the ear is
not nearly so sensitive to ADSR timing or even filter cutoff as it is to
oscillator pitch. I'm willing to bet that the routines will sound fine
with ADSR left as they are. I don't think the filter cutoff frequency is
derived from a clocked source, but rather a voltage-controlled filter with
an 11bit D/A convertor. Thus the cutoff frequency is not affected by bus

Of course, a PAL master and an NTSC slave machine is a pretty bizarre
combination anyway :)

> By the way, have you considered using more than two C64s in the orchester?  
> And on a related note, what happened to the "sixty-four 64s" transputer
> that was supposed to be presented on the Vintage Computer Festival v3.0?

I've considered it and I will need to do something like that for a
polyphonic C64 synthesizer idea I've had (maybe the current setup will
form the basis for the two-voice version, a la Oberheim Two Voice
synthesizer). However, the neatness of the current idea is that the
hardware you need is two C64s, a disk drive and two serial cables - and
amplifier, of course. I wouldn't want to use any more than 2 C64s on the
serial bus as it would load it too much (each C64 has pullup resistors)
and the hardware would get more complicated anyway (my system relies on
the fact that disk drives have two serial ports). I've thought about using
the cassette port WRITE line for an I/O port with no pullup, but it needs
further consideration.


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

Archive generated by hypermail 2.1.1.