libsidplayfp  1.0.1
Public Member Functions
reSIDfp::Filter6581 Class Reference

#include <Filter6581.h>

Inheritance diagram for reSIDfp::Filter6581:
reSIDfp::Filter

List of all members.

Public Member Functions

int clock (int voice1, int voice2, int voice3)
void input (int sample)
void updatedCenterFrequency ()
void updatedResonance ()
void updatedMixing ()
void setFilterCurve (double curvePosition)
- Public Member Functions inherited from reSIDfp::Filter
void enable (bool enable)
void setClockFrequency (double clock)
void reset ()
void writeFC_LO (unsigned char fc_lo)
void writeFC_HI (unsigned char fc_hi)
void writeRES_FILT (unsigned char res_filt)
void writeMODE_VOL (unsigned char mode_vol)

Additional Inherited Members

- Protected Attributes inherited from reSIDfp::Filter
double clockFrequency
int fc
int res
int vol
bool filt1
bool filt2
bool filt3
bool filtE
bool voice3off
bool hp
bool bp
bool lp

Detailed Description

Filter based on Dag Lem's 6581 filter from reSID 1.0 prerelease. See original source for discussion about theory of operation.

Java port by Antti S. Lankila

Author:
Ken Händel
Dag Lem
Antti Lankila
Leandro Nini

Member Function Documentation

RESID_INLINE int reSIDfp::Filter6581::clock ( int  v1,
int  v2,
int  v3 
)
virtual

SID clocking - 1 cycle

Parameters:
v1voice 1 in
v2voice 2 in
v3voice 3 in
Returns:
filtered output

Implements reSIDfp::Filter.

void reSIDfp::Filter6581::setFilterCurve ( double  curvePosition)

Set filter curve type based on single parameter.

Parameters:
curvePosition0 .. 1, where 0 sets center frequency high ("light") and 1 sets it low ("dark")
void reSIDfp::Filter6581::updatedCenterFrequency ( )
virtual

Switch to new distortion curve.

Implements reSIDfp::Filter.

void reSIDfp::Filter6581::updatedMixing ( )
virtual

Mixing configuration modified (offsets change)

Implements reSIDfp::Filter.

void reSIDfp::Filter6581::updatedResonance ( )
inlinevirtual

Resonance tuned by ear, based on a few observations:

  • there's a small notch even in allpass mode - size of resonance hump is about 8 dB

Implements reSIDfp::Filter.


The documentation for this class was generated from the following files: