137 lines
5.7 KiB
Plaintext
137 lines
5.7 KiB
Plaintext
2008-12-05 Antti S. Lankila <alankila@bel.fi>
|
|
|
|
* Sync against V27 patch version. Filter updates described below.
|
|
|
|
* Reduce Q maximum to 2.2 or so. This may still be slightly too much,
|
|
but it's hard to say exactly...
|
|
|
|
* Arrange for about 3 dB boost of lowpass output that is independent
|
|
of state variable mixing or other feedback. This seems to produce
|
|
the right kind of sounds for songs like AMJ's Blasphemy.
|
|
|
|
* Assume that bp is slightly louder than bp (= more distorted).
|
|
This seems to help against very large number of songs which sport
|
|
lead sounds and effects distorted in a smooth, bassy way.
|
|
|
|
* Parameter tuneup.
|
|
|
|
2008-10-31 Antti S. Lankila <alankila@bel.fi>
|
|
|
|
* Sync against V25 patch version. Filter updates described below.
|
|
|
|
* Tweak filter algorithm to do some state variable mixing in the
|
|
6581 code path. This corresponds with assumed output impedance of
|
|
the SID "amplifiers", and is separate effect to the output strip
|
|
backmixing.
|
|
|
|
* Retire the V24 attempt of dynamically adjusting BP distortion
|
|
threshold. It doesn't really seem to work.
|
|
|
|
* Increase Q value maximum to 2.5. This may be too much, but it sounds
|
|
fine to me.
|
|
|
|
* JT's Star Ball was very distorted when played by V24. This related
|
|
to the hardclipping I had assumed to occur in the filter output amp,
|
|
but maybe that theory is incorrect. I now only add distortion to the
|
|
unfiltered voice path, but I'm not happy about it.
|
|
|
|
2008-08-29 Antti S. Lankila <alankila@bel.fi>
|
|
|
|
* Optimized resampling to be about 2x faster through using aliasing
|
|
to increase passband width and hence reduce FIR length.
|
|
|
|
* Fixed some valgrind warnings.
|
|
|
|
* Added nuke_denormals() method to periodically flush these to zero, as
|
|
this can only be done for SSE registers by the FPU and we can't use
|
|
any in order to support CPUs older than P3.
|
|
|
|
* Marco, Hannu and me developed a runtime switching system
|
|
that detects SSE from cpuinfo and calls some SSE routines when they
|
|
are compiled in and the CPU can support them. We lost only very
|
|
little performance, but gained compatibility to very, very old
|
|
hardware.
|
|
|
|
* The old code for ST_lockup proved unnecessary, so it is now removed.
|
|
|
|
2008-08-21 Antti S. Lankila <alankila@bel.fi>
|
|
|
|
* Fixed a bug where nonlinearity setting appeared to get lost, and
|
|
kenchis discovered further bugs in it. Oh well.
|
|
|
|
* I removed a lot of code associated with the lower quality modes of
|
|
ReSID, and only left the 1 MHz clock routines. Analysis shows that the
|
|
filter code is a major culprit, but the digital side emulation is not
|
|
completely cheap, either. I already added some small hacks to optimize
|
|
it, and I now think about reinjecting pieces of those clocking modes
|
|
that run the analog parts with reduced accuracy.
|
|
|
|
* I defined type4 filters based on equation of straight line. These are
|
|
characterized by parameters k and b, and the equation is
|
|
freq = k * fc. Strictly speaking, straight line is not 100 %
|
|
accurate, and a 2nd degree component would help, but based on
|
|
measurements against two of Trurl's 8580s, the maximum error
|
|
introduced using linear approximation is mere 3 %.
|
|
|
|
2008-08-10 Antti S. Lankila <alankila@bel.fi>
|
|
|
|
* I ripped off Type1 definitions from the filter, and the spline.h
|
|
and PointPlotter were unnecessary and so removed.
|
|
|
|
* I also added a bit of hardclipping in the output that seems to be
|
|
required to get Fred Gray's Break Thru. This might not occur so
|
|
strongly on all chips, so it should probably be added as a proper
|
|
tunable. For now, I just settled for a slight effect to collect
|
|
feedback.
|
|
|
|
2008-07-15 Antti S. Lankila <alankila@bel.fi>
|
|
|
|
* This release is a bit slower than usual. The culprit is the changes in
|
|
voice.h where a new kinked-dac style calculation is used to simulate
|
|
the nonlinear shape of the waveform outputs. The cost of the new
|
|
calculation varies by song as I was lazy and only cached the result of
|
|
previous calculation, so speed depends on the pitch of the waveforms
|
|
and the precise waveform chosen.
|
|
|
|
* exp() is back, but this time it is implemented as an integer
|
|
calculation according to Schraudolph's paper "A Fast, Compact
|
|
Approximation of the Exponential Function". Using near-proper exp()
|
|
simplified the distortion algorithm. I think it all sounds much better
|
|
now.
|
|
|
|
* A new effect where I mix bp-hp and lp-bp together by their difference
|
|
to simulate a small resistor between them appears to improve SidRiders
|
|
and several other songs, largerly eliminating some types of hard
|
|
distortion sounds that do not occur on the chip. It also helped
|
|
Mechanicus. I am trying to understand where this term comes from...
|
|
|
|
2008-07-09 Antti S. Lankila <alankila@bel.fi>
|
|
|
|
* I now have somewhat less arbitrary values for the distortion
|
|
tunables. They are now related to the relative signal levels in the
|
|
simulation. I'm still sorting out the particulars of the values I
|
|
ended up with ("why 128 instead of 256").
|
|
|
|
2008-03-02 Antti S. Lankila <alankila@bel.fi>
|
|
|
|
* Exposed the filter at sid.cc to callers through get_filter()
|
|
method, and fixed a few types.
|
|
|
|
2008-02-19 Antti S. Lankila <alankila@bel.fi>
|
|
|
|
* For some reason ReSID code adjusted the external filter frequency
|
|
based on calculated passband, while in the real C64 the filter is
|
|
fixed to about 16 kHz.
|
|
|
|
2008-02-06 Antti S. Lankila <alankila@bel.fi>
|
|
|
|
* I got interested to improve ReSID after chatting with Kevtris. He is
|
|
aiming to replicate the filter using analog hardware. He has the EE
|
|
experience that I have sorely lacked and made an infinitely valuable
|
|
contribution by telling me exactly how the distortion works.
|
|
|
|
2004-06-11 Dag Lem <resid@nimrod.no>
|
|
|
|
* Version 0.16 released. (From this point forwards, read
|
|
../resid/ChangeLog.)
|