openMSX
Classes | Typedefs | Variables
openmsx::YM2413Burczynski Namespace Reference

Classes

class  Channel
 
struct  SinTab
 
class  Slot
 
struct  TlTab
 
class  YM2413
 

Typedefs

using FreqIndex = FixedPoint< 16 >
 16.16 fixed point type for frequency calculations. More...
 

Variables

constexpr int ENV_BITS = 10
 
constexpr double ENV_STEP = 128.0 / (1 << ENV_BITS)
 
constexpr int MAX_ATT_INDEX = (1 << (ENV_BITS - 2)) - 1
 
constexpr int MIN_ATT_INDEX = 0
 
constexpr int SIN_BITS = 10
 
constexpr int SIN_LEN = 1 << SIN_BITS
 
constexpr int SIN_MASK = SIN_LEN - 1
 
constexpr int TL_RES_LEN = 256
 
constexpr int ksl_tab [8 *16]
 
constexpr int sl_tab [16]
 
constexpr byte eg_inc [15][8]
 
constexpr byte eg_rate_select [16+64+16]
 
constexpr byte eg_rate_shift [16+64+16]
 
constexpr byte mul_tab [16]
 
constexpr int TL_TAB_LEN = 11 * 2 * TL_RES_LEN
 
constexpr TlTab tl = makeTlTab()
 
constexpr SinTab sin = makeSinTab()
 
constexpr int LFO_AM_TAB_ELEMENTS = 210
 
constexpr byte lfo_am_table [LFO_AM_TAB_ELEMENTS]
 
constexpr signed char lfo_pm_table [8][8]
 
constexpr byte table [16+3][8]
 

Typedef Documentation

◆ FreqIndex

16.16 fixed point type for frequency calculations.

Definition at line 15 of file YM2413Burczynski.hh.

Variable Documentation

◆ eg_inc

constexpr byte openmsx::YM2413Burczynski::eg_inc[15][8]
Initial value:
=
{
{ 0,1, 0,1, 0,1, 0,1, },
{ 0,1, 0,1, 1,1, 0,1, },
{ 0,1, 1,1, 0,1, 1,1, },
{ 0,1, 1,1, 1,1, 1,1, },
{ 1,1, 1,1, 1,1, 1,1, },
{ 1,1, 1,2, 1,1, 1,2, },
{ 1,2, 1,2, 1,2, 1,2, },
{ 1,2, 2,2, 1,2, 2,2, },
{ 2,2, 2,2, 2,2, 2,2, },
{ 2,2, 2,4, 2,2, 2,4, },
{ 2,4, 2,4, 2,4, 2,4, },
{ 2,4, 4,4, 2,4, 4,4, },
{ 4,4, 4,4, 4,4, 4,4, },
{ 8,8, 8,8, 8,8, 8,8, },
{ 0,0, 0,0, 0,0, 0,0, },
}

Definition at line 103 of file YM2413Burczynski.cc.

◆ eg_rate_select

constexpr byte openmsx::YM2413Burczynski::eg_rate_select[16+64+16]

Definition at line 128 of file YM2413Burczynski.cc.

◆ eg_rate_shift

constexpr byte openmsx::YM2413Burczynski::eg_rate_shift[16+64+16]

Definition at line 166 of file YM2413Burczynski.cc.

◆ ENV_BITS

constexpr int openmsx::YM2413Burczynski::ENV_BITS = 10

Definition at line 33 of file YM2413Burczynski.cc.

◆ ENV_STEP

constexpr double openmsx::YM2413Burczynski::ENV_STEP = 128.0 / (1 << ENV_BITS)

Definition at line 34 of file YM2413Burczynski.cc.

◆ ksl_tab

constexpr int openmsx::YM2413Burczynski::ksl_tab[8 *16]

Definition at line 51 of file YM2413Burczynski.cc.

◆ LFO_AM_TAB_ELEMENTS

constexpr int openmsx::YM2413Burczynski::LFO_AM_TAB_ELEMENTS = 210

Definition at line 282 of file YM2413Burczynski.cc.

◆ lfo_am_table

constexpr byte openmsx::YM2413Burczynski::lfo_am_table[LFO_AM_TAB_ELEMENTS]

Definition at line 283 of file YM2413Burczynski.cc.

◆ lfo_pm_table

constexpr signed char openmsx::YM2413Burczynski::lfo_pm_table[8][8]
Initial value:
=
{
{ 0, 0, 0, 0, 0, 0, 0, 0, },
{ 1, 0, 0, 0,-1, 0, 0, 0, },
{ 2, 1, 0,-1,-2,-1, 0, 1, },
{ 3, 1, 0,-1,-3,-1, 0, 1, },
{ 4, 2, 0,-2,-4,-2, 0, 2, },
{ 5, 2, 0,-2,-5,-2, 0, 2, },
{ 6, 3, 0,-3,-6,-3, 0, 3, },
{ 7, 3, 0,-3,-7,-3, 0, 3, },
}

Definition at line 340 of file YM2413Burczynski.cc.

◆ MAX_ATT_INDEX

constexpr int openmsx::YM2413Burczynski::MAX_ATT_INDEX = (1 << (ENV_BITS - 2)) - 1

◆ MIN_ATT_INDEX

constexpr int openmsx::YM2413Burczynski::MIN_ATT_INDEX = 0

Definition at line 37 of file YM2413Burczynski.cc.

Referenced by openmsx::YM2413Burczynski::Slot::calc_envelope().

◆ mul_tab

constexpr byte openmsx::YM2413Burczynski::mul_tab[16]
Initial value:
=
{
ML( 0.50), ML( 1.00), ML( 2.00), ML( 3.00),
ML( 4.00), ML( 5.00), ML( 6.00), ML( 7.00),
ML( 8.00), ML( 9.00), ML(10.00), ML(10.00),
ML(12.00), ML(12.00), ML(15.00), ML(15.00),
}

Definition at line 202 of file YM2413Burczynski.cc.

◆ sin

constexpr SinTab openmsx::YM2413Burczynski::sin = makeSinTab()

Definition at line 268 of file YM2413Burczynski.cc.

Referenced by openmsx::YM2413Burczynski::Slot::serialize().

◆ SIN_BITS

constexpr int openmsx::YM2413Burczynski::SIN_BITS = 10

Definition at line 40 of file YM2413Burczynski.cc.

◆ SIN_LEN

constexpr int openmsx::YM2413Burczynski::SIN_LEN = 1 << SIN_BITS

◆ SIN_MASK

constexpr int openmsx::YM2413Burczynski::SIN_MASK = SIN_LEN - 1

Definition at line 42 of file YM2413Burczynski.cc.

Referenced by openmsx::YM2413Burczynski::Slot::calcOutput().

◆ sl_tab

constexpr int openmsx::YM2413Burczynski::sl_tab[16]
Initial value:
= {
SC( 0),SC( 1),SC( 2),SC(3 ),SC(4 ),SC(5 ),SC(6 ),SC( 7),
SC( 8),SC( 9),SC(10),SC(11),SC(12),SC(13),SC(14),SC(15)
}

Definition at line 98 of file YM2413Burczynski.cc.

◆ table

constexpr byte openmsx::YM2413Burczynski::table[16+3][8]
Initial value:
= {
{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
{ 0x61, 0x61, 0x1e, 0x17, 0xf0, 0x7f, 0x00, 0x17 },
{ 0x13, 0x41, 0x16, 0x0e, 0xfd, 0xf4, 0x23, 0x23 },
{ 0x03, 0x01, 0x9a, 0x04, 0xf3, 0xf3, 0x13, 0xf3 },
{ 0x11, 0x61, 0x0e, 0x07, 0xfa, 0x64, 0x70, 0x17 },
{ 0x22, 0x21, 0x1e, 0x06, 0xf0, 0x76, 0x00, 0x28 },
{ 0x21, 0x22, 0x16, 0x05, 0xf0, 0x71, 0x00, 0x18 },
{ 0x21, 0x61, 0x1d, 0x07, 0x82, 0x80, 0x17, 0x17 },
{ 0x23, 0x21, 0x2d, 0x16, 0x90, 0x90, 0x00, 0x07 },
{ 0x21, 0x21, 0x1b, 0x06, 0x64, 0x65, 0x10, 0x17 },
{ 0x21, 0x21, 0x0b, 0x1a, 0x85, 0xa0, 0x70, 0x07 },
{ 0x23, 0x01, 0x83, 0x10, 0xff, 0xb4, 0x10, 0xf4 },
{ 0x97, 0xc1, 0x20, 0x07, 0xff, 0xf4, 0x22, 0x22 },
{ 0x61, 0x00, 0x0c, 0x05, 0xc2, 0xf6, 0x40, 0x44 },
{ 0x01, 0x01, 0x56, 0x03, 0x94, 0xc2, 0x03, 0x12 },
{ 0x21, 0x01, 0x89, 0x03, 0xf1, 0xe4, 0xf0, 0x23 },
{ 0x01, 0x01, 0x16, 0x00, 0xfd, 0xf8, 0x2f, 0x6d },
{ 0x01, 0x01, 0x00, 0x00, 0xd8, 0xd8, 0xf9, 0xf8 },
{ 0x05, 0x01, 0x00, 0x00, 0xf8, 0xba, 0x49, 0x55 },
}

Definition at line 372 of file YM2413Burczynski.cc.

◆ tl

constexpr TlTab openmsx::YM2413Burczynski::tl = makeTlTab()

Definition at line 237 of file YM2413Burczynski.cc.

◆ TL_RES_LEN

constexpr int openmsx::YM2413Burczynski::TL_RES_LEN = 256

Definition at line 44 of file YM2413Burczynski.cc.

◆ TL_TAB_LEN

constexpr int openmsx::YM2413Burczynski::TL_TAB_LEN = 11 * 2 * TL_RES_LEN

Definition at line 214 of file YM2413Burczynski.cc.