summaryrefslogtreecommitdiff
path: root/sid/sidplay-libs-2.1.0/resid/ChangeLog
diff options
context:
space:
mode:
Diffstat (limited to 'sid/sidplay-libs-2.1.0/resid/ChangeLog')
-rw-r--r--sid/sidplay-libs-2.1.0/resid/ChangeLog251
1 files changed, 251 insertions, 0 deletions
diff --git a/sid/sidplay-libs-2.1.0/resid/ChangeLog b/sid/sidplay-libs-2.1.0/resid/ChangeLog
new file mode 100644
index 00000000..c1735aaf
--- /dev/null
+++ b/sid/sidplay-libs-2.1.0/resid/ChangeLog
@@ -0,0 +1,251 @@
+2002-01-19 Dag Lem <resid@nimrod.no>
+
+ * Version 0.13 released.
+
+ * configure.in: Replaced AC_TRY_COMPILER with AC_TRY_COMPILE,
+ removed AC_PROG_RANLIB.
+
+ * envelope.h (clock): Reset rate_step on state change.
+
+ * extfilt.cc (set_chip_model): New calculation of maximum mixer DC
+ level.
+
+ * filter.cc (set_chip_model): Moved calculation of voice_DC to
+ voice.cc, corrected calculation of mixer_DC.
+
+ * filter.h (Filter::output): Mixer output is not inverted.
+
+ * sid.cc (set_chip_model): Call voice.set_chip_model instead of
+ voice.wave.set_chip_model.
+
+ * voice.cc (Voice::Voice): Call set_chip_model.
+ (Voice::set_chip_model): New function; model both waveform D/A
+ converter and envelope multiplying D/A converter DC offsets.
+
+ * voice.h (Voice::output): Add both waveform D/A converter and
+ envelope multiplying D/A converter DC offsets.
+
+ * wave.h (WaveformGenerator::output____): Reverted to output
+ minimum wave level when no waveform is selected. The maximum and
+ minimum wave output levels are interchanged in C= Hacking Issue #20.
+
+2001-10-20 Dag Lem <resid@nimrod.no>
+
+ * Version 0.12 released.
+
+ * envelope.cc, envelope.h, filter.cc, filter.h, wave.cc, wave.h:
+ Removed bool usage. This avoids unnecessary conversion to 1/0.
+
+ * filter.cc (Filter::set_chip_model): New function; selects voice
+ and mixer DC offsets and mapping from the FC registers to filter
+ cutoff frequency. The voice and mixer DC offsets for the MOS6581 are
+ calculated from measurements made by Hársfalvi, Levente in
+ C= Hacking Issue #20.
+ (Filter::Filter): Call set_chip_model.
+ (Filter::f0_6581, Filter::f0_8580): Separate FC mapping tables.
+ (Filter::f0_points_6581, Filter::f0_points_8580): Separate FC mapping
+ points.
+
+ * extfilt.cc, extfilt.h (ExternalFilter::set_chip_model): New
+ function supporting separate DC correction for MOS6581 and MOS8580.
+
+ * sid.cc, sid.h (SID::adjust_sampling_frequency): New function for
+ on-the-fly adjustment of sampling frequency.
+ (SID::clock_fast): Corrected sample calculation.
+ (SID::set_chip_model): Set filter chip model.
+ (SID::output): Added audio clipping.
+ (SID::clock, SID::clock_fast, SID::clock_interpolate,
+ SID::clock_resample): Added sample interleaving.
+
+ * spline.h (interpolate): Generalized to accept repeated points to
+ introduce points of non-differentiability and discontinuity.
+
+ * wave.h (WaveformGenerator::output____): No selected waveform
+ yields maximum wave output level. This was found by Hársfalvi,
+ Levente in C= Hacking Issue #20.
+ (WaveformGenerator::clock): Optimized for speed (no division).
+
+2001-03-10 Dag Lem <resid@nimrod.no>
+
+ * Version 0.11 released.
+
+ * configure.in: Disable building of shared library by default.
+ Control inlining with RESID_INLINING (0 or 1) and RESID_INLINE
+ (blank or "inline").
+
+ * envelope.h, extfilt.h, filter.h, voice.h, wave.h: inline keyword
+ in both function declarations and function definitions.
+
+ * samp2src.pl: Beautified Perl code.
+
+ * sid.h, sid.cc: Replaced voice variables with array. Removed
+ filter variables from SID::State.
+ (SID::clock): New audio sample generating interface. Three
+ clocking methods are available; clocking at output sample
+ frequency, clocking at cycle frequency with linear sample
+ interpolation, and clocking at cycle frequency with audio
+ resampling.
+ (SID::clock_fast, SID::clock_interpolate, SID::clock_resample):
+ New functions called by SID::clock.
+ (SID::set_sampling_parameters): New function to set up SID for
+ sample generation. The FIR table used in SID::clock_resample is
+ calculated here.
+ (SID::I0): 0th order modified Bessel function to calculate Kaiser
+ window.
+
+ * siddefs.h: Control inlining with RESID_INLINING (0 or 1) and
+ RESID_INLINE (blank or "inline"). Added enum sampling_method.
+
+ * voice.h, voice.cc (Voice::set_sync_source): Moved setting of
+ sync source from constructor.
+
+ * wave.h, wave.cc (WaveformGenerator::set_sync_source): Moved
+ setting of sync source from constructor.
+
+2000-11-22 Dag Lem <resid@nimrod.no>
+
+ * Version 0.10 released.
+
+ * configure.in, Makefile.am: Use libtool to build library. The
+ hack to "disable" install is removed.
+
+ * extfilt.h, filter.h: Moved filter stability code from sid.cc.
+
+ * sid.cc (SID::clock): Moved filter stability code to
+ extfilt.h/filter.h. Don't clock the rest of the chip more
+ frequently than necessary.
+
+ * wave.cc: Typecast for pedantic (and probably incorrect)
+ compilers.
+
+2000-05-18 Dag Lem <resid@nimrod.no>
+
+ * Version 0.9 released.
+
+ * filter.h (Filter::output): The sum of the filter outputs is no
+ longer weighted.
+
+1999-06-24 Dag Lem <resid@nimrod.no>
+
+ * Version 0.8 released.
+
+ * filter.h, filter.cc, wave.h, wave.cc: Typecasts for pedantic
+ compilers.
+
+ * filter.h (Filter::clock): Voice 3 is only silenced by voice3off
+ if it is not routed through the filter.
+
+ * sid.cc (SID::State): Added constructor for proper initalization.
+
+ * spline.h: Inlined template functions to avoid problems at link
+ time with certain compilers.
+
+1999-02-25 Dag Lem <resid@nimrod.no>
+
+ * Version 0.7 released.
+
+ * configure.in: Check whether compiler supports bool.
+
+ * extfilt.h, extfilt.cc: Implementation of C64 filter, external to
+ the SID chip.
+
+ * filter.h (Filter::clock): Optimized filter routing using a switch.
+ (Filter::output): Optimized filter mixing using a switch, avoiding
+ integer division. Corrected sign of filtered output, which is
+ inverted compared to unfiltered output.
+
+ * filter.cc (Filter::set_w0): Removed use of M_PI and math.h
+ functions. Use spline table to map fc to w0.
+ (Filter::fc_default): Return array of FC spline interpolation points.
+ (Filter::fc_plotter): Return FC spline plotter object.
+
+ * sid.h (SID::enable_external_filter): Enable/disable external
+ filter.
+ (SID::fc_default): Return array of FC spline interpolation points.
+ (SID::fc_plotter): Return FC spline plotter object.
+ (SID::State, SID::read_state, SID::write_state): Read and write
+ complete SID state.
+
+ * sid.cc (SID::clock): Age bus value. Clock external filter.
+ (SID::enable_external_filter): Enable/disable external filter.
+
+ * spline.h: Spline implementation. Used to specify mapping from
+ the FC register to filter cutoff frequency.
+
+1998-11-14 Dag Lem <resid@nimrod.no>
+
+ * Version 0.6 released.
+
+ * configure.in: Allow compilation in a separate directory.
+
+ * wave.h (WaveformGenerator::synchronize): Handle special case when a
+ sync source is synced itself on the same cycle as its MSB is set
+ high.
+
+ * sid.cc (SID::clock): Only clock on MSB on/off for hard sync.
+
+1998-09-06 Dag Lem <resid@nimrod.no>
+
+ * Version 0.5 released.
+
+ * version.cc (resid_version_string): Version string with C linkage.
+
+ * wave.cc (WaveformGenerator::set_chip_model): Emulation of MOS8580
+ combined waveforms.
+
+1998-08-28 Dag Lem <resid@nimrod.no>
+
+ * Version 0.4 released.
+
+ * envelope.h (EnvelopeGenerator::clock): Count up to rate_period twice
+ during ADSR delay bug, and add one extra rate counter step.
+
+ * filter.cc (Filter::bsd_copysign): Renamed copysign function for
+ compilation on platforms where copysign is implemented as a macro.
+
+1998-08-23 Dag Lem <resid@nimrod.no>
+
+ * Version 0.3 released.
+
+ * envelope.h (EnvelopeGenerator::clock): Handle ADSR boundary bug.
+
+ * envelope.cc (EnvelopeGenerator::rate_counter_period,
+ EnvelopeGenerator::exponential_counter_period): Corrected counter
+ periods.
+
+ * filter.h (Filter::clock): Optimized for speed (division by shifting).
+
+ * sid.h (SID::clock): New one-cycle optimized overload of the clock()
+ function.
+
+ * wave.h (WaveformGenerator::output_P_T): Combined waveform
+ pulse+triangle indexing corrected.
+ (WaveformGenerator::output_P__): Check for test bit to handle
+ pulse+test bit samples.
+ (WaveformGenerator::output): Optimized for speed (inlining).
+
+1998-07-28 Dag Lem <resid@nimrod.no>
+
+ * Version 0.2 released.
+
+ * envelope.h (EnvelopeGenerator::clock): Start decay cycle immediately
+ at envelope counter 0xff. New sustain value is zero if the sustain
+ level is raised above the current envelope counter value.
+ (EnvelopeGenerator::step_envelope): Handle ADSR delay bug.
+
+ * envelope.cc (EnvelopeGenerator::rate_counter_period,
+ EnvelopeGenerator::exponential_counter_period): Corrected counter
+ periods.
+ (EnvelopeGenerator::writeCONTROL_REG): Do not modify rate counter.
+
+ * filter.cc (Filter::set_Q): Constrain Q to keep filter stable.
+
+ * sid.h (SID::read, SID::write, SID::bypass_filter): Simplified API
+ routing register access through the SID class.
+
+ * sid.cc (SID::output): Corrected variable-bit audio output return.
+ (SID::read, SID::write): Allow read of write only registers.
+
+1998-06-09 Dag Lem <resid@nimrod.no>
+
+ * Version 0.1 released.