FMOpl_Pentagram Namespace Reference


Classes

struct  fm_opl_slot
struct  fm_opl_channel
struct  fm_opl_f

Typedefs

typedef void(*) OPL_TIMERHANDLER (int channel, double interval_Sec)
typedef void(*) OPL_IRQHANDLER (int param, int irq)
typedef void(*) OPL_UPDATEHANDLER (int param, int min_interval_us)
typedef FMOpl_Pentagram::fm_opl_slot OPL_SLOT
typedef FMOpl_Pentagram::fm_opl_channel OPL_CH
typedef FMOpl_Pentagram::fm_opl_f FM_OPL

Functions

int Limit (int val, int max, int min)
void OPL_STATUS_SET (FM_OPL *OPL, int flag)
void OPL_STATUS_RESET (FM_OPL *OPL, int flag)
void OPL_STATUSMASK_SET (FM_OPL *OPL, int flag)
void OPL_KEYON (OPL_SLOT *SLOT)
void OPL_KEYOFF (OPL_SLOT *SLOT)
uint32 OPL_CALC_SLOT (OPL_SLOT *SLOT)
static void set_algorythm (OPL_CH *CH)
void CALC_FCSLOT (OPL_CH *CH, OPL_SLOT *SLOT)
void set_mul (FM_OPL *OPL, int slot, int v)
void set_ksl_tl (FM_OPL *OPL, int slot, int v)
void set_ar_dr (FM_OPL *OPL, int slot, int v)
void set_sl_rr (FM_OPL *OPL, int slot, int v)
void OPL_CALC_CH (OPL_CH *CH)
void OPL_CALC_RH (OPL_CH *CH)
static void init_timetables (FM_OPL *OPL, int ARRATE, int DRRATE)
static int OPLOpenTable (void)
static void OPLCloseTable (void)
void CSMKeyControll (OPL_CH *CH)
static void OPL_initalize (FM_OPL *OPL)
void OPLWriteReg (FM_OPL *OPL, int r, int v)
static int OPL_LockTable (void)
static void OPL_UnLockTable (void)
void YM3812UpdateOne_Mono (FM_OPL *OPL, sint16 *buffer, int length)
void YM3812UpdateOne_Stereo (FM_OPL *OPL, sint16 *buffer, int length)
void OPLResetChip (FM_OPL *OPL)
FM_OPLOPLCreate (int type, int clock, int rate)
void OPLDestroy (FM_OPL *OPL)
void OPLSetTimerHandler (FM_OPL *OPL, OPL_TIMERHANDLER TimerHandler, int channelOffset)
void OPLSetIRQHandler (FM_OPL *OPL, OPL_IRQHANDLER IRQHandler, int param)
void OPLSetUpdateHandler (FM_OPL *OPL, OPL_UPDATEHANDLER UpdateHandler, int param)
int OPLWrite (FM_OPL *OPL, int a, int v)
unsigned char OPLRead (FM_OPL *OPL, int a)
int OPLTimerOver (FM_OPL *OPL, int c)
void OPLSetPan (FM_OPL *OPL, int c, int pan)

Variables

static const int slot_array [32]
static const uint32 KSL_TABLE [8 *16]
static const int SL_TABLE [16]
static int * TL_TABLE
static int ** SIN_TABLE
static int * AMS_TABLE
static int * VIB_TABLE
static int ENV_CURVE [2 *EG_ENT+1]
static const uint32 MUL_TABLE [16]
static int RATE_0 [16]
static int num_lock = 0
static void * cur_chip = NULL
static OPL_CHS_CH
static OPL_CHE_CH
OPL_SLOTSLOT7_1
OPL_SLOTSLOT7_2
OPL_SLOTSLOT8_1
OPL_SLOTSLOT8_2
static int outd [1]
static int ams
static int vib
int * ams_table
int * vib_table
static int amsIncr
static int vibIncr
static int feedback2


Typedef Documentation

typedef void(*) FMOpl_Pentagram::OPL_TIMERHANDLER(int channel, double interval_Sec)

Definition at line 31 of file fmopl.h.

typedef void(*) FMOpl_Pentagram::OPL_IRQHANDLER(int param, int irq)

Definition at line 32 of file fmopl.h.

typedef void(*) FMOpl_Pentagram::OPL_UPDATEHANDLER(int param, int min_interval_us)

Definition at line 33 of file fmopl.h.

typedef struct FMOpl_Pentagram::fm_opl_slot FMOpl_Pentagram::OPL_SLOT

typedef struct FMOpl_Pentagram::fm_opl_channel FMOpl_Pentagram::OPL_CH

typedef struct FMOpl_Pentagram::fm_opl_f FMOpl_Pentagram::FM_OPL


Function Documentation

int FMOpl_Pentagram::Limit ( int  val,
int  max,
int  min 
) [inline]

Definition at line 224 of file fmopl.cpp.

Referenced by YM3812UpdateOne_Mono(), and YM3812UpdateOne_Stereo().

void FMOpl_Pentagram::OPL_STATUS_SET ( FM_OPL OPL,
int  flag 
) [inline]

Definition at line 234 of file fmopl.cpp.

References FMOpl_Pentagram::fm_opl_f::IRQHandler, FMOpl_Pentagram::fm_opl_f::IRQParam, FMOpl_Pentagram::fm_opl_f::status, and FMOpl_Pentagram::fm_opl_f::statusmask.

Referenced by OPL_STATUSMASK_SET(), and OPLTimerOver().

void FMOpl_Pentagram::OPL_STATUS_RESET ( FM_OPL OPL,
int  flag 
) [inline]

Definition at line 250 of file fmopl.cpp.

References FMOpl_Pentagram::fm_opl_f::IRQHandler, FMOpl_Pentagram::fm_opl_f::IRQParam, FMOpl_Pentagram::fm_opl_f::status, and FMOpl_Pentagram::fm_opl_f::statusmask.

Referenced by OPL_STATUSMASK_SET(), OPLResetChip(), and OPLWriteReg().

void FMOpl_Pentagram::OPL_STATUSMASK_SET ( FM_OPL OPL,
int  flag 
) [inline]

Definition at line 266 of file fmopl.cpp.

References OPL_STATUS_RESET(), OPL_STATUS_SET(), and FMOpl_Pentagram::fm_opl_f::statusmask.

Referenced by OPLWriteReg().

void FMOpl_Pentagram::OPL_KEYON ( OPL_SLOT SLOT  )  [inline]

Definition at line 275 of file fmopl.cpp.

References FMOpl_Pentagram::fm_opl_slot::Cnt, FMOpl_Pentagram::fm_opl_slot::evc, FMOpl_Pentagram::fm_opl_slot::eve, FMOpl_Pentagram::fm_opl_slot::evm, FMOpl_Pentagram::fm_opl_slot::evs, and FMOpl_Pentagram::fm_opl_slot::evsa.

Referenced by CSMKeyControll(), and OPLWriteReg().

void FMOpl_Pentagram::OPL_KEYOFF ( OPL_SLOT SLOT  )  [inline]

Definition at line 286 of file fmopl.cpp.

References FMOpl_Pentagram::fm_opl_slot::evc, FMOpl_Pentagram::fm_opl_slot::eve, FMOpl_Pentagram::fm_opl_slot::evm, FMOpl_Pentagram::fm_opl_slot::evs, and FMOpl_Pentagram::fm_opl_slot::evsr.

Referenced by CSMKeyControll(), and OPLWriteReg().

uint32 FMOpl_Pentagram::OPL_CALC_SLOT ( OPL_SLOT SLOT  )  [inline]

Definition at line 302 of file fmopl.cpp.

References ams, FMOpl_Pentagram::fm_opl_slot::ams, FMOpl_Pentagram::fm_opl_slot::eg_typ, ENV_CURVE, FMOpl_Pentagram::fm_opl_slot::evc, FMOpl_Pentagram::fm_opl_slot::eve, FMOpl_Pentagram::fm_opl_slot::evm, FMOpl_Pentagram::fm_opl_slot::evs, FMOpl_Pentagram::fm_opl_slot::evsd, FMOpl_Pentagram::fm_opl_slot::evsr, FMOpl_Pentagram::fm_opl_slot::SL, and FMOpl_Pentagram::fm_opl_slot::TLL.

Referenced by OPL_CALC_CH(), and OPL_CALC_RH().

static void FMOpl_Pentagram::set_algorythm ( OPL_CH CH  )  [static]

Definition at line 340 of file fmopl.cpp.

References FMOpl_Pentagram::fm_opl_channel::CON, FMOpl_Pentagram::fm_opl_channel::connect1, FMOpl_Pentagram::fm_opl_channel::connect2, feedback2, and outd.

Referenced by OPLWriteReg().

void FMOpl_Pentagram::CALC_FCSLOT ( OPL_CH CH,
OPL_SLOT SLOT 
) [inline]

Definition at line 348 of file fmopl.cpp.

References FMOpl_Pentagram::fm_opl_slot::AR, FMOpl_Pentagram::fm_opl_slot::DR, FMOpl_Pentagram::fm_opl_slot::evsa, FMOpl_Pentagram::fm_opl_slot::evsd, FMOpl_Pentagram::fm_opl_slot::evsr, FMOpl_Pentagram::fm_opl_channel::fc, FMOpl_Pentagram::fm_opl_slot::Incr, FMOpl_Pentagram::fm_opl_channel::kcode, FMOpl_Pentagram::fm_opl_slot::ksl, FMOpl_Pentagram::fm_opl_channel::ksl_base, FMOpl_Pentagram::fm_opl_slot::ksr, FMOpl_Pentagram::fm_opl_slot::KSR, FMOpl_Pentagram::fm_opl_slot::mul, FMOpl_Pentagram::fm_opl_slot::RR, FMOpl_Pentagram::fm_opl_slot::TL, and FMOpl_Pentagram::fm_opl_slot::TLL.

Referenced by OPLWriteReg(), and set_mul().

void FMOpl_Pentagram::set_mul ( FM_OPL OPL,
int  slot,
int  v 
) [inline]

Definition at line 368 of file fmopl.cpp.

References FMOpl_Pentagram::fm_opl_slot::ams, CALC_FCSLOT(), FMOpl_Pentagram::fm_opl_slot::eg_typ, FMOpl_Pentagram::fm_opl_slot::KSR, FMOpl_Pentagram::fm_opl_slot::mul, MUL_TABLE, FMOpl_Pentagram::fm_opl_f::P_CH, FMOpl_Pentagram::fm_opl_channel::SLOT, and FMOpl_Pentagram::fm_opl_slot::vib.

Referenced by OPLWriteReg().

void FMOpl_Pentagram::set_ksl_tl ( FM_OPL OPL,
int  slot,
int  v 
) [inline]

Definition at line 382 of file fmopl.cpp.

References PentZip::int(), FMOpl_Pentagram::fm_opl_slot::ksl, FMOpl_Pentagram::fm_opl_channel::ksl_base, FMOpl_Pentagram::fm_opl_f::mode, FMOpl_Pentagram::fm_opl_f::P_CH, FMOpl_Pentagram::fm_opl_channel::SLOT, FMOpl_Pentagram::fm_opl_slot::TL, and FMOpl_Pentagram::fm_opl_slot::TLL.

Referenced by OPLWriteReg().

void FMOpl_Pentagram::set_ar_dr ( FM_OPL OPL,
int  slot,
int  v 
) [inline]

Definition at line 398 of file fmopl.cpp.

References FMOpl_Pentagram::fm_opl_slot::AR, FMOpl_Pentagram::fm_opl_f::AR_TABLE, FMOpl_Pentagram::fm_opl_slot::DR, FMOpl_Pentagram::fm_opl_f::DR_TABLE, FMOpl_Pentagram::fm_opl_slot::evm, FMOpl_Pentagram::fm_opl_slot::evs, FMOpl_Pentagram::fm_opl_slot::evsa, FMOpl_Pentagram::fm_opl_slot::evsd, FMOpl_Pentagram::fm_opl_slot::ksr, FMOpl_Pentagram::fm_opl_f::P_CH, RATE_0, and FMOpl_Pentagram::fm_opl_channel::SLOT.

Referenced by OPLWriteReg().

void FMOpl_Pentagram::set_sl_rr ( FM_OPL OPL,
int  slot,
int  v 
) [inline]

Definition at line 415 of file fmopl.cpp.

References FMOpl_Pentagram::fm_opl_f::DR_TABLE, FMOpl_Pentagram::fm_opl_slot::eve, FMOpl_Pentagram::fm_opl_slot::evm, FMOpl_Pentagram::fm_opl_slot::evs, FMOpl_Pentagram::fm_opl_slot::evsr, FMOpl_Pentagram::fm_opl_slot::ksr, FMOpl_Pentagram::fm_opl_f::P_CH, FMOpl_Pentagram::fm_opl_slot::RR, FMOpl_Pentagram::fm_opl_slot::SL, SL_TABLE, and FMOpl_Pentagram::fm_opl_channel::SLOT.

Referenced by OPLWriteReg().

void FMOpl_Pentagram::OPL_CALC_CH ( OPL_CH CH  )  [inline]

Definition at line 432 of file fmopl.cpp.

References FMOpl_Pentagram::fm_opl_slot::Cnt, FMOpl_Pentagram::fm_opl_channel::connect1, FMOpl_Pentagram::fm_opl_channel::FB, feedback2, FMOpl_Pentagram::fm_opl_slot::Incr, FMOpl_Pentagram::fm_opl_channel::op1_out, OPL_CALC_SLOT(), outd, FMOpl_Pentagram::fm_opl_channel::SLOT, vib, and FMOpl_Pentagram::fm_opl_slot::vib.

Referenced by YM3812UpdateOne_Mono(), and YM3812UpdateOne_Stereo().

void FMOpl_Pentagram::OPL_CALC_RH ( OPL_CH CH  )  [inline]

Definition at line 477 of file fmopl.cpp.

References FMOpl_Pentagram::fm_opl_slot::Cnt, FMOpl_Pentagram::fm_opl_channel::fc, feedback2, FMOpl_Pentagram::fm_opl_slot::Incr, PentZip::int(), FMOpl_Pentagram::fm_opl_channel::op1_out, OPL_CALC_SLOT(), outd, FMOpl_Pentagram::fm_opl_channel::SLOT, SLOT7_1, SLOT7_2, SLOT8_1, SLOT8_2, vib, and FMOpl_Pentagram::fm_opl_slot::vib.

Referenced by YM3812UpdateOne_Mono(), and YM3812UpdateOne_Stereo().

static void FMOpl_Pentagram::init_timetables ( FM_OPL OPL,
int  ARRATE,
int  DRRATE 
) [static]

Definition at line 561 of file fmopl.cpp.

References FMOpl_Pentagram::fm_opl_f::AR_TABLE, FMOpl_Pentagram::fm_opl_f::DR_TABLE, and FMOpl_Pentagram::fm_opl_f::freqbase.

Referenced by OPL_initalize().

static int FMOpl_Pentagram::OPLOpenTable ( void   )  [static]

Definition at line 584 of file fmopl.cpp.

References AMS_TABLE, ENV_CURVE, PentZip::int(), SIN_TABLE, TL_TABLE, and VIB_TABLE.

Referenced by OPL_LockTable().

static void FMOpl_Pentagram::OPLCloseTable ( void   )  [static]

Definition at line 674 of file fmopl.cpp.

References AMS_TABLE, SIN_TABLE, TL_TABLE, and VIB_TABLE.

Referenced by OPL_UnLockTable().

void FMOpl_Pentagram::CSMKeyControll ( OPL_CH CH  )  [inline]

Definition at line 683 of file fmopl.cpp.

References FMOpl_Pentagram::fm_opl_slot::ksl, FMOpl_Pentagram::fm_opl_channel::ksl_base, FMOpl_Pentagram::fm_opl_channel::op1_out, OPL_KEYOFF(), OPL_KEYON(), FMOpl_Pentagram::fm_opl_channel::SLOT, FMOpl_Pentagram::fm_opl_slot::TL, and FMOpl_Pentagram::fm_opl_slot::TLL.

Referenced by OPLTimerOver().

static void FMOpl_Pentagram::OPL_initalize ( FM_OPL OPL  )  [static]

Definition at line 700 of file fmopl.cpp.

References FMOpl_Pentagram::fm_opl_f::amsIncr, FMOpl_Pentagram::fm_opl_f::clock, FMOpl_Pentagram::fm_opl_f::FN_TABLE, FMOpl_Pentagram::fm_opl_f::freqbase, init_timetables(), PentZip::int(), FMOpl_Pentagram::fm_opl_f::rate, FMOpl_Pentagram::fm_opl_f::TimerBase, and FMOpl_Pentagram::fm_opl_f::vibIncr.

Referenced by OPLCreate().

void FMOpl_Pentagram::OPLWriteReg ( FM_OPL OPL,
int  r,
int  v 
)

Definition at line 721 of file fmopl.cpp.

References AMS_TABLE, FMOpl_Pentagram::fm_opl_f::ams_table, FMOpl_Pentagram::fm_opl_channel::block_fnum, CALC_FCSLOT(), FMOpl_Pentagram::fm_opl_channel::CON, FMOpl_Pentagram::fm_opl_channel::FB, FMOpl_Pentagram::fm_opl_channel::fc, FMOpl_Pentagram::fm_opl_f::FN_TABLE, if(), FMOpl_Pentagram::fm_opl_channel::kcode, FMOpl_Pentagram::fm_opl_channel::keyon, FMOpl_Pentagram::fm_opl_channel::ksl_base, KSL_TABLE, FMOpl_Pentagram::fm_opl_f::max_ch, FMOpl_Pentagram::fm_opl_f::mode, FMOpl_Pentagram::fm_opl_channel::op1_out, OPL_KEYOFF(), OPL_KEYON(), OPL_STATUS_RESET(), OPL_STATUSMASK_SET(), FMOpl_Pentagram::fm_opl_f::P_CH, FMOpl_Pentagram::fm_opl_f::rythm, set_algorythm(), set_ar_dr(), set_ksl_tl(), set_mul(), set_sl_rr(), SIN_TABLE, FMOpl_Pentagram::fm_opl_channel::SLOT, slot_array, FMOpl_Pentagram::fm_opl_f::st, FMOpl_Pentagram::fm_opl_f::T, FMOpl_Pentagram::fm_opl_f::TimerBase, FMOpl_Pentagram::fm_opl_f::TimerHandler, FMOpl_Pentagram::fm_opl_f::TimerParam, FMOpl_Pentagram::fm_opl_f::type, VIB_TABLE, FMOpl_Pentagram::fm_opl_f::vib_table, FMOpl_Pentagram::fm_opl_f::wavesel, and FMOpl_Pentagram::fm_opl_slot::wavetable.

Referenced by OPLResetChip(), and OPLWrite().

static int FMOpl_Pentagram::OPL_LockTable ( void   )  [static]

Definition at line 924 of file fmopl.cpp.

References cur_chip, num_lock, and OPLOpenTable().

Referenced by OPLCreate().

static void FMOpl_Pentagram::OPL_UnLockTable ( void   )  [static]

Definition at line 939 of file fmopl.cpp.

References cur_chip, num_lock, and OPLCloseTable().

Referenced by OPLDestroy().

void FMOpl_Pentagram::YM3812UpdateOne_Mono ( FM_OPL OPL,
sint16 buffer,
int  length 
)

Definition at line 953 of file fmopl.cpp.

References ams, FMOpl_Pentagram::fm_opl_f::ams_table, ams_table, FMOpl_Pentagram::fm_opl_f::amsCnt, FMOpl_Pentagram::fm_opl_f::amsIncr, amsIncr, cur_chip, E_CH, Limit(), OPL_CALC_CH(), OPL_CALC_RH(), outd, FMOpl_Pentagram::fm_opl_f::P_CH, FMOpl_Pentagram::fm_opl_f::rythm, S_CH, FMOpl_Pentagram::fm_opl_channel::SLOT, SLOT7_1, SLOT7_2, SLOT8_1, SLOT8_2, vib, FMOpl_Pentagram::fm_opl_f::vib_table, vib_table, FMOpl_Pentagram::fm_opl_f::vibCnt, FMOpl_Pentagram::fm_opl_f::vibIncr, and vibIncr.

Referenced by FMOplMidiDriver::lowLevelProduceSamples().

void FMOpl_Pentagram::YM3812UpdateOne_Stereo ( FM_OPL OPL,
sint16 buffer,
int  length 
)

Definition at line 1003 of file fmopl.cpp.

References ams, FMOpl_Pentagram::fm_opl_f::ams_table, ams_table, FMOpl_Pentagram::fm_opl_f::amsCnt, FMOpl_Pentagram::fm_opl_f::amsIncr, amsIncr, cur_chip, E_CH, Limit(), OPL_CALC_CH(), OPL_CALC_RH(), outd, FMOpl_Pentagram::fm_opl_f::P_CH, FMOpl_Pentagram::fm_opl_channel::PAN, FMOpl_Pentagram::fm_opl_f::rythm, S_CH, FMOpl_Pentagram::fm_opl_channel::SLOT, SLOT7_1, SLOT7_2, SLOT8_1, SLOT8_2, vib, FMOpl_Pentagram::fm_opl_f::vib_table, vib_table, FMOpl_Pentagram::fm_opl_f::vibCnt, FMOpl_Pentagram::fm_opl_f::vibIncr, and vibIncr.

Referenced by FMOplMidiDriver::lowLevelProduceSamples().

void FMOpl_Pentagram::OPLResetChip ( FM_OPL OPL  ) 

Definition at line 1074 of file fmopl.cpp.

References FMOpl_Pentagram::fm_opl_f::max_ch, FMOpl_Pentagram::fm_opl_f::mode, OPL_STATUS_RESET(), OPLWriteReg(), FMOpl_Pentagram::fm_opl_f::P_CH, FMOpl_Pentagram::fm_opl_channel::PAN, and SIN_TABLE.

Referenced by OPLCreate().

FM_OPL * FMOpl_Pentagram::OPLCreate ( int  type,
int  clock,
int  rate 
)

Definition at line 1107 of file fmopl.cpp.

References FMOpl_Pentagram::fm_opl_f::clock, FMOpl_Pentagram::fm_opl_f::max_ch, OPL_initalize(), OPL_LockTable(), OPLResetChip(), FMOpl_Pentagram::fm_opl_f::P_CH, FMOpl_Pentagram::fm_opl_f::rate, and FMOpl_Pentagram::fm_opl_f::type.

Referenced by FMOplMidiDriver::open().

void FMOpl_Pentagram::OPLDestroy ( FM_OPL OPL  ) 

Definition at line 1143 of file fmopl.cpp.

References OPL_UnLockTable().

Referenced by FMOplMidiDriver::close().

void FMOpl_Pentagram::OPLSetTimerHandler ( FM_OPL OPL,
OPL_TIMERHANDLER  TimerHandler,
int  channelOffset 
)

Definition at line 1151 of file fmopl.cpp.

References FMOpl_Pentagram::fm_opl_f::TimerHandler, and FMOpl_Pentagram::fm_opl_f::TimerParam.

void FMOpl_Pentagram::OPLSetIRQHandler ( FM_OPL OPL,
OPL_IRQHANDLER  IRQHandler,
int  param 
)

Definition at line 1156 of file fmopl.cpp.

References FMOpl_Pentagram::fm_opl_f::IRQHandler, and FMOpl_Pentagram::fm_opl_f::IRQParam.

void FMOpl_Pentagram::OPLSetUpdateHandler ( FM_OPL OPL,
OPL_UPDATEHANDLER  UpdateHandler,
int  param 
)

Definition at line 1161 of file fmopl.cpp.

References FMOpl_Pentagram::fm_opl_f::UpdateHandler, and FMOpl_Pentagram::fm_opl_f::UpdateParam.

int FMOpl_Pentagram::OPLWrite ( FM_OPL OPL,
int  a,
int  v 
)

Definition at line 1168 of file fmopl.cpp.

References FMOpl_Pentagram::fm_opl_f::address, OPLWriteReg(), FMOpl_Pentagram::fm_opl_f::status, FMOpl_Pentagram::fm_opl_f::UpdateHandler, and FMOpl_Pentagram::fm_opl_f::UpdateParam.

Referenced by FMOplMidiDriver::midi_write_adlib().

unsigned char FMOpl_Pentagram::OPLRead ( FM_OPL OPL,
int  a 
)

Definition at line 1182 of file fmopl.cpp.

References FMOpl_Pentagram::fm_opl_f::address, FMOpl_Pentagram::fm_opl_f::status, and FMOpl_Pentagram::fm_opl_f::statusmask.

int FMOpl_Pentagram::OPLTimerOver ( FM_OPL OPL,
int  c 
)

Definition at line 1203 of file fmopl.cpp.

References CSMKeyControll(), FMOpl_Pentagram::fm_opl_f::mode, OPL_STATUS_SET(), FMOpl_Pentagram::fm_opl_f::P_CH, FMOpl_Pentagram::fm_opl_f::status, FMOpl_Pentagram::fm_opl_f::T, FMOpl_Pentagram::fm_opl_f::TimerBase, FMOpl_Pentagram::fm_opl_f::TimerHandler, FMOpl_Pentagram::fm_opl_f::TimerParam, FMOpl_Pentagram::fm_opl_f::UpdateHandler, and FMOpl_Pentagram::fm_opl_f::UpdateParam.

void FMOpl_Pentagram::OPLSetPan ( FM_OPL OPL,
int  c,
int  pan 
)

Definition at line 1226 of file fmopl.cpp.

References FMOpl_Pentagram::fm_opl_f::P_CH, and FMOpl_Pentagram::fm_opl_channel::PAN.

Referenced by FMOplMidiDriver::send().


Variable Documentation

const int FMOpl_Pentagram::slot_array[32] [static]

Initial value:

{
         0, 2, 4, 1, 3, 5,-1,-1,
         6, 8,10, 7, 9,11,-1,-1,
        12,14,16,13,15,17,-1,-1,
        -1,-1,-1,-1,-1,-1,-1,-1
}

Definition at line 106 of file fmopl.cpp.

Referenced by OPLWriteReg().

const uint32 FMOpl_Pentagram::KSL_TABLE[8 *16] [static]

Definition at line 116 of file fmopl.cpp.

Referenced by OPLWriteReg().

const int FMOpl_Pentagram::SL_TABLE[16] [static]

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(31)
}

Definition at line 164 of file fmopl.cpp.

Referenced by set_sl_rr().

int* FMOpl_Pentagram::TL_TABLE [static]

Definition at line 174 of file fmopl.cpp.

Referenced by OPLCloseTable(), and OPLOpenTable().

int** FMOpl_Pentagram::SIN_TABLE [static]

Definition at line 177 of file fmopl.cpp.

Referenced by OPLCloseTable(), OPLOpenTable(), OPLResetChip(), and OPLWriteReg().

int* FMOpl_Pentagram::AMS_TABLE [static]

Definition at line 180 of file fmopl.cpp.

Referenced by OPLCloseTable(), OPLOpenTable(), and OPLWriteReg().

int* FMOpl_Pentagram::VIB_TABLE [static]

Definition at line 181 of file fmopl.cpp.

Referenced by OPLCloseTable(), OPLOpenTable(), and OPLWriteReg().

int FMOpl_Pentagram::ENV_CURVE[2 *EG_ENT+1] [static]

Definition at line 185 of file fmopl.cpp.

Referenced by OPL_CALC_SLOT(), and OPLOpenTable().

const uint32 FMOpl_Pentagram::MUL_TABLE[16] [static]

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 189 of file fmopl.cpp.

Referenced by set_mul().

int FMOpl_Pentagram::RATE_0[16] [static]

Initial value:

{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}

Definition at line 197 of file fmopl.cpp.

Referenced by set_ar_dr().

int FMOpl_Pentagram::num_lock = 0 [static]

Definition at line 203 of file fmopl.cpp.

Referenced by OPL_LockTable(), and OPL_UnLockTable().

void* FMOpl_Pentagram::cur_chip = NULL [static]

Definition at line 206 of file fmopl.cpp.

Referenced by OPL_LockTable(), OPL_UnLockTable(), YM3812UpdateOne_Mono(), and YM3812UpdateOne_Stereo().

OPL_CH* FMOpl_Pentagram::S_CH [static]

Definition at line 209 of file fmopl.cpp.

Referenced by YM3812UpdateOne_Mono(), and YM3812UpdateOne_Stereo().

OPL_CH* FMOpl_Pentagram::E_CH [static]

Definition at line 210 of file fmopl.cpp.

Referenced by YM3812UpdateOne_Mono(), and YM3812UpdateOne_Stereo().

OPL_SLOT* FMOpl_Pentagram::SLOT7_1

Definition at line 211 of file fmopl.cpp.

Referenced by OPL_CALC_RH(), YM3812UpdateOne_Mono(), and YM3812UpdateOne_Stereo().

OPL_SLOT * FMOpl_Pentagram::SLOT7_2

Definition at line 211 of file fmopl.cpp.

Referenced by OPL_CALC_RH(), YM3812UpdateOne_Mono(), and YM3812UpdateOne_Stereo().

OPL_SLOT * FMOpl_Pentagram::SLOT8_1

Definition at line 211 of file fmopl.cpp.

Referenced by OPL_CALC_RH(), YM3812UpdateOne_Mono(), and YM3812UpdateOne_Stereo().

OPL_SLOT * FMOpl_Pentagram::SLOT8_2

Definition at line 211 of file fmopl.cpp.

Referenced by OPL_CALC_RH(), YM3812UpdateOne_Mono(), and YM3812UpdateOne_Stereo().

int FMOpl_Pentagram::outd[1] [static]

Definition at line 213 of file fmopl.cpp.

Referenced by OPL_CALC_CH(), OPL_CALC_RH(), set_algorythm(), YM3812UpdateOne_Mono(), and YM3812UpdateOne_Stereo().

int FMOpl_Pentagram::ams [static]

Definition at line 214 of file fmopl.cpp.

Referenced by OPL_CALC_SLOT(), YM3812UpdateOne_Mono(), and YM3812UpdateOne_Stereo().

int FMOpl_Pentagram::vib [static]

Definition at line 215 of file fmopl.cpp.

Referenced by OPL_CALC_CH(), OPL_CALC_RH(), YM3812UpdateOne_Mono(), and YM3812UpdateOne_Stereo().

int* FMOpl_Pentagram::ams_table

Definition at line 216 of file fmopl.cpp.

Referenced by YM3812UpdateOne_Mono(), and YM3812UpdateOne_Stereo().

int* FMOpl_Pentagram::vib_table

Definition at line 217 of file fmopl.cpp.

Referenced by YM3812UpdateOne_Mono(), and YM3812UpdateOne_Stereo().

int FMOpl_Pentagram::amsIncr [static]

Definition at line 218 of file fmopl.cpp.

Referenced by YM3812UpdateOne_Mono(), and YM3812UpdateOne_Stereo().

int FMOpl_Pentagram::vibIncr [static]

Definition at line 219 of file fmopl.cpp.

Referenced by YM3812UpdateOne_Mono(), and YM3812UpdateOne_Stereo().

int FMOpl_Pentagram::feedback2 [static]

Definition at line 220 of file fmopl.cpp.

Referenced by OPL_CALC_CH(), OPL_CALC_RH(), and set_algorythm().


Generated on Fri Jul 27 22:30:19 2007 for pentagram by  doxygen 1.4.7