Hey, folks. I know the PCE's LFO (so-called "FM") can create some weird warbling and growling sound effects... but can it actually make anything harmonic resembling an instrument?
Anybody have any LFO settings that approach anything musical?
I did a few more simple tests with the LFO and have some updated technical info about it (contradicting the PSG docs in HuC/MagicKit)
First off, when $0809 (LFO trigger) bit 7 is high, the LFO is activated, and waveform data for channel 1 act as values to add/subtract from channel 0's frequency register. Whenever any byte in the waveform data is $10, there is no change to the frequency. When the bytes are $11 to $1F, the frequency reg for channel 0 has $01 to $0F added to it (lowering the pitch). When the waveform bytes are $0F to $00, the frequency reg for channel 0 has $01 to $10 subtracted from it (raising the pitch). Thus, if you have a flat waveform of any value in channel 1, you can linearly raise/lower the frequency of channel 0 through the LFO.
Bits 0 and 1 of $0809 scale the waveform amount by 0,1,4, and 16 (not 16 and 256 as in the MagicKit docs.) Thus if you set the frequency reg in channel 0 to $140, the waveform in channel 1 to all $0Fs, and the LFO is set to 1x scaling, the resultant frequency coming out of channel 0 would be the same as if it had been set to $13F. If you set the scale factor to 4x, then the resultant frequency of channel 0 would be $13C. ($140 - $04 = $13C). Likewise, if you use the 16x scale setting, the resultant frequency would be $130 ($140 - $10 = $130).
Therefore, with the waveform range of $00 to $1F, and the scaling factors, here is the maximum range the output frequency of channel 0 can be changed:
1x: -$ 10 <-----> +$ F
4x: -$ 40 <-----> +$3C
16x: -$100 <-----> +$F0
Now the problem is that the frequency register is simply being changed, and not the actual output frequency, thus the modulation that comes out is different for different notes/octaves, and thus totally nonharmonic, as well as the fact that the modulation blindly causes register wraparounds (ie: $030 - $100 = $F30, a very low note), with more problems besides...
Also, I've played with the LFO frequency (with channel 1 frequency) settings while watching an oscilloscope, and although it can create faster and faster vibrato, it never seems to create overtones that shape channel 0's waveform like (I imagine) true FM would. Worse, at the fastest possible frequencies, the LFO seems to give up as well, meaning its frequency (countdown) timers stay reset at some level, applying a constant modulation value (rather than ultra-fast modulation).
So that's that. Anybody got any good use out of the LFO?