| |
ChristopherJam
Registered: Aug 2004 Posts: 1423 |
Filter LSB
Does anyone actually use the low three bits of the filter cutoff ($d415), especially in sweeps?
Or do y'all just set the high eight bits in $d416 and leave it at that?
The gap of 5 unused bits you get if you just concatenate d415 with d416 is doing my head in. |
|
| |
spider-j
Registered: Oct 2004 Posts: 505 |
I know for sure that SID Wizard "normal" (and above) play routines make use of the full filter. |
| |
Hein
Registered: Apr 2004 Posts: 964 |
In my old driver I've set a hardcoded value (depending on how it sounds on a real 8580), in my new driver I can switch between 8 / 11 bit filters. But I haven't experimented alot with it, to be frank. You'd constantly need to test the result on a real 8580 to be sure. And my workflow is that I use Vice with my native editor to almost completely finish a tune and only tweak it on a real c64 afterwards. |
| |
Frantic
Registered: Mar 2003 Posts: 1651 |
My memory fades, but arent the lowest bits useful in the lowest range of the filter, so just tiny changes can make the difference between "bass that kills the speakers", "bass that sounds duper fat", and "bass that sounds less fat", etc.
...but.. well.. for sweeps. Maybe not that important. At least in defmon the user can use the full range. |
| |
Inge
Registered: Nov 2003 Posts: 145 |
AFAIR, all Galway-tunes with filter use all the filter bits. |
| |
acrouzet
Registered: May 2020 Posts: 100 |
Quote: My memory fades, but arent the lowest bits useful in the lowest range of the filter, so just tiny changes can make the difference between "bass that kills the speakers", "bass that sounds duper fat", and "bass that sounds less fat", etc.
...but.. well.. for sweeps. Maybe not that important. At least in defmon the user can use the full range.
On 8580, yes, since its cutoff control has a mathematically linear response which means the perceptual frequency resolution gets lower as the cutoff frequencies get lower (like the SID's voice frequency control). 6581 has a logarithmic response, so cutoff frequencies are spread more evenly, and its cutoff frequency range doesn't go as low as the 8580.
For sweeps, higher bit resolution can add more time resolution if you're just using a single value addition loop to do so. |
| |
ChristopherJam
Registered: Aug 2004 Posts: 1423 |
Thanks all!
That's really interesting about 8580 vs 6581, acrouzet - TIL. And yes, that puts even more weight on Frantic's comment about sensitivity at the low end.
I'd actually been pondering using a 16 bit internal value for accumulating sweep values (with the low five bits shifted out at SID-write time), but it sounds like 11 would probably be sufficient - and Krill's reminded me on IRC how easy it would be to get carry to cross the gap (it's just clc:lda low:ora#$f8:adc delta_low:sta low:lda hi:adc delta_hi:sta hi)
FWIW, I'm currently working on an (order preserving) register-write-dump to SID converter, which will be the output stage for a couple of different projects. More news when I get a bit further along. |
| |
Krill
Registered: Apr 2002 Posts: 3070 |
Quoting ChristopherJamFWIW, I'm currently working on an (order preserving) register-write-dump to SID converter, which will be the output stage for a couple of different projects. More news when I get a bit further along. Oooooh exciting! =) |