Initial submission of the PCem-Experimental source code.
This commit is contained in:
136
src/resid-fp/ChangeLog
Normal file
136
src/resid-fp/ChangeLog
Normal file
@@ -0,0 +1,136 @@
|
||||
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.)
|
||||
Reference in New Issue
Block a user