openMSX
|
#include <YMF262.hh>
Public Types | |
enum | EnvelopeState { EG_ATTACK , EG_DECAY , EG_SUSTAIN , EG_RELEASE , EG_OFF } |
using | FreqIndex = FixedPoint< 16 > |
16.16 fixed point type for frequency calculations More... | |
Public Member Functions | |
YMF262 (const std::string &name, const DeviceConfig &config, bool isYMF278) | |
~YMF262 () | |
void | reset (EmuTime::param time) |
void | writeReg (unsigned r, uint8_t v, EmuTime::param time) |
void | writeReg512 (unsigned r, uint8_t v, EmuTime::param time) |
uint8_t | readReg (unsigned reg) |
uint8_t | peekReg (unsigned reg) const |
uint8_t | readStatus () |
uint8_t | peekStatus () const |
void | setMixLevel (uint8_t x, EmuTime::param time) |
template<typename Archive > | |
void | serialize (Archive &ar, unsigned version) |
Static Public Attributes | |
static constexpr int | SIN_BITS = 10 |
static constexpr int | SIN_LEN = 1 << SIN_BITS |
static constexpr int | SIN_MASK = SIN_LEN - 1 |
using openmsx::YMF262::FreqIndex = FixedPoint<16> |
openmsx::YMF262::YMF262 | ( | const std::string & | name, |
const DeviceConfig & | config, | ||
bool | isYMF278 | ||
) |
Definition at line 1431 of file YMF262.cc.
References Math::e, openmsx::MSXMotherBoard::getCurrentTime(), openmsx::DeviceConfig::getMotherBoard(), openmsx::SoundDevice::registerSound(), reset(), t, and openmsx::SinTab::tab.
openmsx::YMF262::~YMF262 | ( | ) |
Definition at line 1461 of file YMF262.cc.
References openmsx::SoundDevice::unregisterSound().
uint8_t openmsx::YMF262::peekReg | ( | unsigned | reg | ) | const |
Definition at line 1026 of file YMF262.cc.
Referenced by openmsx::MSXMoonSound::peekIO(), openmsx::MSXOPL3Cartridge::peekIO(), and readReg().
uint8_t openmsx::YMF262::peekStatus | ( | ) | const |
Definition at line 1474 of file YMF262.cc.
Referenced by openmsx::MSXMoonSound::peekIO(), and openmsx::MSXOPL3Cartridge::peekIO().
uint8_t openmsx::YMF262::readReg | ( | unsigned | reg | ) |
Definition at line 1020 of file YMF262.cc.
References peekReg().
Referenced by openmsx::MSXMoonSound::readIO(), and openmsx::MSXOPL3Cartridge::readIO().
uint8_t openmsx::YMF262::readStatus | ( | ) |
Definition at line 1466 of file YMF262.cc.
Referenced by openmsx::MSXMoonSound::readIO(), and openmsx::MSXOPL3Cartridge::readIO().
void openmsx::YMF262::reset | ( | EmuTime::param | time | ) |
Definition at line 1390 of file YMF262.cc.
References EG_OFF, and setMixLevel().
Referenced by openmsx::MSXMoonSound::reset(), openmsx::MSXOPL3Cartridge::reset(), and YMF262().
void openmsx::YMF262::serialize | ( | Archive & | ar, |
unsigned | version | ||
) |
void openmsx::YMF262::setMixLevel | ( | uint8_t | x, |
EmuTime::param | time | ||
) |
Definition at line 1494 of file YMF262.cc.
References openmsx::SoundDevice::setSoftwareVolume().
Referenced by reset(), and openmsx::MSXMoonSound::writeIO().
void openmsx::YMF262::writeReg | ( | unsigned | r, |
uint8_t | v, | ||
EmuTime::param | time | ||
) |
Definition at line 1031 of file YMF262.cc.
References writeReg512().
Referenced by openmsx::MSXMoonSound::writeIO(), and openmsx::MSXOPL3Cartridge::writeIO().
void openmsx::YMF262::writeReg512 | ( | unsigned | r, |
uint8_t | v, | ||
EmuTime::param | time | ||
) |
Definition at line 1039 of file YMF262.cc.
References openmsx::SoundDevice::updateStream().
Referenced by writeReg().
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |