61 void reset(EmuTime::param time);
62 void writeReg(
byte r,
byte v, EmuTime::param time);
65 template<
typename Archive>
66 void serialize(Archive& ar,
unsigned version);
70 struct YM2151Operator {
71 template<
typename Archive>
72 void serialize(Archive& ar,
unsigned version);
125 void setConnect(YM2151Operator* om1,
int cha,
int v);
128 void generateChannels(
float** bufs,
unsigned num)
override;
130 void callback(
byte flag)
override;
131 void setStatus(
byte flags);
132 void resetStatus(
byte flags);
135 void envelopeKONKOFF(YM2151Operator* op,
int v);
136 static void refreshEG(YM2151Operator* op);
137 [[nodiscard]]
int opCalc(YM2151Operator* op,
unsigned env,
int pm);
138 [[nodiscard]]
int opCalc1(YM2151Operator* op,
unsigned env,
int pm);
139 [[nodiscard]]
inline unsigned volumeCalc(YM2151Operator* op,
unsigned AM);
140 inline void keyOn(YM2151Operator* op,
unsigned keySet);
141 inline void keyOff(YM2151Operator* op,
unsigned keyClear);
144 void chanCalc(
unsigned chan);
150 [[nodiscard]]
bool checkMuteHelper();
155 const std::unique_ptr<EmuTimer> timer1;
156 const std::unique_ptr<EmuTimer> timer2;
158 YM2151Operator oper[32];
167 unsigned lfo_overflow;
169 unsigned lfo_counter;
170 unsigned lfo_counter_add;
void writeReg(byte r, byte v, EmuTime::param time)
void reset(EmuTime::param time)
void serialize(Archive &ar, unsigned version)
YM2151(const std::string &name, static_string_view desc, const DeviceConfig &config, EmuTime::param time, Variant variant)
This file implemented 3 utility functions:
uint16_t word
16 bit unsigned integer
IntHelper< IRQSource > IRQHelper