libresidfp 1.1.1
Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Member Functions | List of all members
reSIDfp::FilterModelConfig6581 Class Referencefinal

#include <FilterModelConfig6581.h>

Inheritance diagram for reSIDfp::FilterModelConfig6581:
Inheritance graph
[legend]
Collaboration diagram for reSIDfp::FilterModelConfig6581:
Collaboration graph
[legend]

Public Member Functions

void setFilterRange (double adjustment)
 
void enableOldCaps (bool enable)
 
uint16_t * getDAC (double adjustment) const
 
double getWL_snake () const
 
uint16_t getVcr_nVg (int i) const
 
uint16_t getVcr_n_Ids_term (int i) const
 
double getN16 () const
 
- Public Member Functions inherited from reSIDfp::FilterModelConfig
uint16_t * getVolume () const
 
uint16_t * getResonance () const
 
uint16_t * getSummer () const
 
uint16_t * getMixer () const
 
uint16_t getOpampRev (int i) const
 
double getVddt () const
 
double getVth () const
 
uint16_t getNormalizedValue (double value) const
 
template<int N>
uint16_t getNormalizedCurrentFactor (double wl) const
 
uint16_t getNVmin () const
 
int32_t getNormalizedVoice (float value, uint8_t env) const
 

Static Public Member Functions

static FilterModelConfig6581getInstance ()
 
static constexpr double getUt ()
 

Static Public Attributes

static constexpr double VF_TR_RATIO = 1.07
 

Protected Member Functions

double getVoiceDC (uint8_t env) const override
 
- Protected Member Functions inherited from reSIDfp::FilterModelConfig
 FilterModelConfig (double vvr, double c, double vdd, double vth, double ucox, const Spline::Point *opamp_voltage, int opamp_size)
 
void calcCurrFactorCoeff ()
 
void buildSummerTable (const OpAmp &opampModel)
 
void buildMixerTable (const OpAmp &opampModel, double nRatio)
 
void buildVolumeTable (const OpAmp &opampModel, double nDivisor)
 
void buildResonanceTable (const OpAmp &opampModel, const double resonance_n[16])
 

Additional Inherited Members

- Static Protected Member Functions inherited from reSIDfp::FilterModelConfig
static uint16_t to_uint16_dither (double x, double d_noise)
 
static uint16_t to_uint16 (double x)
 
- Protected Attributes inherited from reSIDfp::FilterModelConfig
const double C
 Capacitor value.
 
const double Vdd
 Positive supply voltage.
 
const double Vth
 Threshold voltage.
 
const double Vddt
 Vdd - Vth.
 
double uCox
 Transconductance coefficient: u*Cox.
 
const double vmin
 
const double vmax
 
const double denorm
 
const double norm
 
const double N16
 Fixed point scaling for 16 bit op-amp output.
 
const double voice_voltage_range
 
double currFactorCoeff
 Current factor coefficient for op-amp integrators.
 
uint16_t * mixer
 Lookup tables for gain and summer op-amps in output stage / filter.
 
uint16_t * summer
 
uint16_t * volume
 
uint16_t * resonance
 
uint16_t opamp_rev [1<< 16]
 Reverse op-amp transfer function.
 
- Static Protected Attributes inherited from reSIDfp::FilterModelConfig
static constexpr double k = 1.380649e-23
 Transistor parameters.
 
static constexpr double q = 1.602176634e-19
 
static constexpr double temp = 27
 
static constexpr double Ut = (k * (temp + 273.15)) / q
 

Detailed Description

Calculate parameters for 6581 filter emulation.

Member Function Documentation

◆ getDAC()

uint16_t * reSIDfp::FilterModelConfig6581::getDAC ( double  adjustment) const

Construct an 11 bit cutoff frequency DAC output voltage table. Ownership is transferred to the requester which becomes responsible of freeing the object when done.

Parameters
adjustment
Returns
the DAC table

◆ getVoiceDC()

double reSIDfp::FilterModelConfig6581::getVoiceDC ( uint8_t  env) const
inlineoverrideprotectedvirtual

On 6581 the DC offset varies between ~5.0V and ~5.214V depending on the envelope value.

Implements reSIDfp::FilterModelConfig.


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