openMSX
Public Member Functions | Public Attributes | List of all members
openmsx::Y8950Slot Class Reference
Collaboration diagram for openmsx::Y8950Slot:
Collaboration graph
[legend]

Public Member Functions

void reset ()
 
bool isActive () const
 
void slotOn (KeyPart part)
 
void slotOff (KeyPart part)
 
unsigned calc_phase (int lfo_pm)
 
unsigned calc_envelope (int lfo_am)
 
int calc_slot_car (int lfo_pm, int lfo_am, int fm)
 
int calc_slot_mod (int lfo_pm, int lfo_am)
 
int calc_slot_tom (int lfo_pm, int lfo_am)
 
int calc_slot_snare (int lfo_pm, int lfo_am, int whitenoise)
 
int calc_slot_cym (int lfo_am, int a, int b)
 
int calc_slot_hat (int lfo_am, int a, int b, int whitenoise)
 
void updateAll (unsigned freq)
 
void updatePG (unsigned freq)
 
void updateTLL (unsigned freq)
 
void updateRKS (unsigned freq)
 
void updateEG ()
 
template<typename Archive >
void serialize (Archive &ar, unsigned version)
 

Public Attributes

int feedback
 
int output
 
unsigned phase
 
unsigned dphase
 
EnvPhaseIndexdphaseARTableRks
 
EnvPhaseIndexdphaseDRTableRks
 
int tll
 
EnvelopeState eg_mode
 
EnvPhaseIndex eg_phase
 
EnvPhaseIndex eg_dphase
 
Y8950Patch patch
 
byte key
 

Detailed Description

Definition at line 80 of file Y8950.cc.

Member Function Documentation

unsigned openmsx::Y8950Slot::calc_envelope ( int  lfo_am)
inline
unsigned openmsx::Y8950Slot::calc_phase ( int  lfo_pm)
inline

Definition at line 826 of file Y8950.cc.

int openmsx::Y8950Slot::calc_slot_car ( int  lfo_pm,
int  lfo_am,
int  fm 
)
inline

Definition at line 901 of file Y8950.cc.

int openmsx::Y8950Slot::calc_slot_cym ( int  lfo_am,
int  a,
int  b 
)
inline

Definition at line 937 of file Y8950.cc.

int openmsx::Y8950Slot::calc_slot_hat ( int  lfo_am,
int  a,
int  b,
int  whitenoise 
)
inline

Definition at line 944 of file Y8950.cc.

int openmsx::Y8950Slot::calc_slot_mod ( int  lfo_pm,
int  lfo_am 
)
inline

Definition at line 908 of file Y8950.cc.

int openmsx::Y8950Slot::calc_slot_snare ( int  lfo_pm,
int  lfo_am,
int  whitenoise 
)
inline

Definition at line 929 of file Y8950.cc.

int openmsx::Y8950Slot::calc_slot_tom ( int  lfo_pm,
int  lfo_am 
)
inline

Definition at line 922 of file Y8950.cc.

bool openmsx::Y8950Slot::isActive ( ) const
inline

Definition at line 617 of file Y8950.cc.

References eg_mode, and openmsx::FINISH.

void openmsx::Y8950Slot::reset ( )
template<typename Archive >
void openmsx::Y8950Slot::serialize ( Archive &  ar,
unsigned  version 
)
void openmsx::Y8950Slot::slotOff ( KeyPart  part)
inline
void openmsx::Y8950Slot::slotOn ( KeyPart  part)
inline
void openmsx::Y8950Slot::updateAll ( unsigned  freq)
inline

Definition at line 609 of file Y8950.cc.

References updateEG(), updatePG(), updateRKS(), and updateTLL().

Referenced by reset(), and openmsx::Y8950::Impl::writeReg().

void openmsx::Y8950Slot::updateEG ( )
inline
void openmsx::Y8950Slot::updatePG ( unsigned  freq)
inline

Definition at line 565 of file Y8950.cc.

References dphase, openmsx::Y8950Patch::ML, and patch.

Referenced by updateAll().

void openmsx::Y8950Slot::updateRKS ( unsigned  freq)
inline

Definition at line 582 of file Y8950.cc.

References dphaseARTableRks, dphaseDRTableRks, openmsx::Y8950Patch::KR, and patch.

Referenced by updateAll().

void openmsx::Y8950Slot::updateTLL ( unsigned  freq)
inline

Definition at line 577 of file Y8950.cc.

References openmsx::Y8950Patch::KL, patch, openmsx::Y8950Patch::TL, and tll.

Referenced by updateAll().

Member Data Documentation

unsigned openmsx::Y8950Slot::dphase

Definition at line 112 of file Y8950.cc.

Referenced by updatePG().

EnvPhaseIndex* openmsx::Y8950Slot::dphaseARTableRks

Definition at line 115 of file Y8950.cc.

Referenced by updateEG(), and updateRKS().

EnvPhaseIndex* openmsx::Y8950Slot::dphaseDRTableRks

Definition at line 116 of file Y8950.cc.

Referenced by updateEG(), and updateRKS().

EnvPhaseIndex openmsx::Y8950Slot::eg_dphase

Definition at line 120 of file Y8950.cc.

Referenced by updateEG().

EnvelopeState openmsx::Y8950Slot::eg_mode

Definition at line 118 of file Y8950.cc.

Referenced by isActive(), reset(), slotOff(), slotOn(), and updateEG().

EnvPhaseIndex openmsx::Y8950Slot::eg_phase

Definition at line 119 of file Y8950.cc.

Referenced by reset(), slotOff(), and slotOn().

int openmsx::Y8950Slot::feedback

Definition at line 107 of file Y8950.cc.

Referenced by reset().

byte openmsx::Y8950Slot::key

Definition at line 123 of file Y8950.cc.

Referenced by reset(), slotOff(), and slotOn().

int openmsx::Y8950Slot::output

Definition at line 108 of file Y8950.cc.

Referenced by reset().

Y8950Patch openmsx::Y8950Slot::patch
unsigned openmsx::Y8950Slot::phase

Definition at line 111 of file Y8950.cc.

Referenced by reset(), and slotOn().

int openmsx::Y8950Slot::tll

Definition at line 117 of file Y8950.cc.

Referenced by updateTLL().


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