23#ifndef FILTERMODELCONFIG6581_H
24#define FILTERMODELCONFIG6581_H
26#include "FilterModelConfig.h"
32#include "siddefs-fp.h"
45 static std::unique_ptr<FilterModelConfig6581> instance;
47 friend std::unique_ptr<FilterModelConfig6581>::deleter_type;
55 static constexpr double VF_TR_RATIO = 1.07;
58 static constexpr unsigned int DAC_BITS = 11;
63 static constexpr double VOLTAGE_SKEW = 1.015;
68 const double WL_snake;
73 const double dac_zero;
74 const double dac_scale;
82 uint16_t vcr_nVg[1 << 16];
83 double vcr_n_Ids_term[1 << 16];
93 double getDacZero(
double adjustment)
const {
return dac_zero + 2. * adjustment - 1.; }
113 void setFilterRange(
double adjustment);
115 void enableOldCaps(
bool enable);
125 uint16_t*
getDAC(
double adjustment)
const;
127 inline double getWL_snake()
const {
return WL_snake; }
129 inline uint16_t getVcr_nVg(
int i)
const {
return vcr_nVg[i]; }
130 inline uint16_t getVcr_n_Ids_term(
int i)
const
132 return to_uint16(vcr_n_Ids_term[i] * vcr_mult);
135 static inline constexpr double getUt() {
return Ut; }
136 inline double getN16()
const {
return N16; }
Definition FilterModelConfig6581.h:43
uint16_t * getDAC(double adjustment) const
Definition FilterModelConfig6581.cpp:301
double getVoiceDC(uint8_t env) const override
Definition FilterModelConfig6581.h:105
Definition FilterModelConfig.h:40
const double N16
Fixed point scaling for 16 bit op-amp output.
Definition FilterModelConfig.h:119