reSIDfp::Filter6581 Class Reference

`#include <Filter6581.h>`

Inheritance diagram for reSIDfp::Filter6581:

## 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

  v1 | voice 1 in
  v2 | voice 2 in
  v3 | voice 3 in

Returns
  filtered output

Implements reSIDfp::Filter.

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

Set filter curve type based on single parameter.

Parameters

  curvePosition | 0 .. 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 | ( |  | ) |

inline virtual

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:

- Filter6581.h
- Filter6581.cpp