openMSX
Classes | Namespaces | Functions | Variables
YM2413Okazaki.cc File Reference
#include "YM2413Okazaki.hh"
#include "Math.hh"
#include "cstd.hh"
#include "inline.hh"
#include "ranges.hh"
#include "serialize.hh"
#include "unreachable.hh"
#include <cstring>
#include <cassert>
#include <iostream>
Include dependency graph for YM2413Okazaki.cc:

Go to the source code of this file.

Classes

struct  openmsx::YM2413Okazaki::Db2LinTab
 
struct  openmsx::YM2413Okazaki::ArAdjustTable
 
struct  openmsx::YM2413Okazaki::TllTable
 
struct  openmsx::YM2413Okazaki::SinTable
 
struct  openmsx::YM2413Okazaki::DphaseDRTable
 
struct  openmsx::YM2413Okazaki::SlTable
 

Namespaces

 openmsx
 Thanks to enen for testing this on a real cartridge:
 
 openmsx::YM2413Okazaki
 

Functions

constexpr SinTable openmsx::YM2413Okazaki::makeSinTable ()
 
 openmsx::SERIALIZE_ENUM (YM2413Okazaki::EnvelopeState, envelopeStateInfo)
 
 openmsx::REGISTER_POLYMORPHIC_INITIALIZER (YM2413Core, YM2413, "YM2413-Okazaki")
 

Variables

constexpr int openmsx::YM2413Okazaki::PM_FP_BITS = 8
 
constexpr int openmsx::YM2413Okazaki::DB_BITS = 8
 
constexpr int openmsx::YM2413Okazaki::DB_MUTE = 1 << DB_BITS
 
constexpr int openmsx::YM2413Okazaki::DBTABLEN = 3 * DB_MUTE
 
constexpr double openmsx::YM2413Okazaki::DB_STEP = 48.0 / DB_MUTE
 
constexpr double openmsx::YM2413Okazaki::EG_STEP = 0.375
 
constexpr double openmsx::YM2413Okazaki::TL_STEP = 0.75
 
constexpr int openmsx::YM2413Okazaki::PG_BITS = 9
 
constexpr int openmsx::YM2413Okazaki::PG_WIDTH = 1 << PG_BITS
 
constexpr int openmsx::YM2413Okazaki::PG_MASK = PG_WIDTH - 1
 
constexpr int openmsx::YM2413Okazaki::DP_BITS = 18
 
constexpr int openmsx::YM2413Okazaki::DP_BASE_BITS = DP_BITS - PG_BITS
 
constexpr int openmsx::YM2413Okazaki::EG_BITS = 7
 
constexpr int openmsx::YM2413Okazaki::DB2LIN_AMP_BITS = 8
 
constexpr int openmsx::YM2413Okazaki::SLOT_AMP_BITS = DB2LIN_AMP_BITS
 
constexpr int openmsx::YM2413Okazaki::AM_PG_BITS = 8
 
constexpr int openmsx::YM2413Okazaki::AM_PG_WIDTH = 1 << AM_PG_BITS
 
constexpr int openmsx::YM2413Okazaki::AM_DP_BITS = 16
 
constexpr int openmsx::YM2413Okazaki::AM_DP_WIDTH = 1 << AM_DP_BITS
 
constexpr int openmsx::YM2413Okazaki::AM_DP_MASK = AM_DP_WIDTH - 1
 
constexpr unsigned openmsx::YM2413Okazaki::LFO_AM_TAB_ELEMENTS = 210
 
constexpr EnvPhaseIndex openmsx::YM2413Okazaki::EG_DP_MAX = EnvPhaseIndex(1 << 7)
 
constexpr EnvPhaseIndex openmsx::YM2413Okazaki::EG_DP_INF = EnvPhaseIndex(1 << 8)
 
constexpr signed char openmsx::YM2413Okazaki::pmTable [8][8]
 
constexpr unsigned char openmsx::YM2413Okazaki::lfo_am_table [LFO_AM_TAB_ELEMENTS]
 
constexpr byte openmsx::YM2413Okazaki::mlTable [16]
 
constexpr Db2LinTab openmsx::YM2413Okazaki::dB2Lin = makeDB2LinTable()
 
constexpr ArAdjustTable openmsx::YM2413Okazaki::arAdjust = makeAdjustTable()
 
constexpr TllTable openmsx::YM2413Okazaki::tll = makeTllTable()
 
constexpr SinTable openmsx::YM2413Okazaki::sinTable = makeSinTable()
 
constexpr unsigned const *const openmsx::YM2413Okazaki::waveform [2] = {sinTable.full, sinTable.half}
 
constexpr DphaseDRTable openmsx::YM2413Okazaki::dphaseDR = makeDphaseDRTable()
 
constexpr SlTable openmsx::YM2413Okazaki::sl = makeSusLevTable()