Re: penny-lane.prg

From: hlpublic <>
Date: Thu, 29 Dec 2011 05:39:54 -0800 (PST)
Message-ID: <>
On 2011-12-29 13:39, Marko Mäkelä wrote:

> On the SID, choosing frequencies is much easier, because you would
> specify a 16-bit multiplier of a base frequency, not a divider. IIRC,
> the TED uses the VIC-I divider principle as well, but the divider is
> wider than 7 bits (16 bits?).

10 bits.

>> Then we have the PAL vs NTSC issues too.. some songs might sound great
>> in one key with PAL frequencies but awful with corresponding NTSC
>> frequencies (and even worse if replayed with PAL frequencies on a NTSC
>> VIC-20).
> Exactly, it is very hard to produce good-sounding music on the VIC-I.

Building up a note table on top of the maximum division factor as base
note (divider = 128 on the VIC-I) should be IMHO optimal. That way, at
least the octaves are inherently precise (128, 64, 32 etc.), and most of
the notes are precise-ish enough up to octave 2 ... 2 and a half (if I
remember correctly), really depending on the note of the octave itself.
This one won't comply with any standard scales anymore, true,  but that
should be of IMHO less importance. The exact base frequency of a scale
doesn't generally matter, only the precision of the relative steps (how
precisely the note table approximates base^(n/12)) does. For example,
conversion from the 24fps movie system to 25fps European tv systems
regularly involves speeding things up by a factor of 25/24... after that
anything played in a standard scale would also no longer comply to any
standards anymore. This is all only noticed if the gear needs to
cooperate with some other equipments, or if someone's an absolute

My old TED player does that trick too (the base of the note table is
f/1024 ie. the values corresponding to octaves are $03ff, $01ff, $00ff,
$007f... respectively).

Best regards,


View this message in context:
Sent from the cbm-hackers mailing list archive at

       Message was sent through the cbm-hackers mailing list
Received on 2011-12-29 14:00:14

Archive generated by hypermail 2.2.0.