openMSX
|
#include <Y8950Adpcm.hh>
Public Member Functions | |
Y8950Adpcm (Y8950 &y8950, const DeviceConfig &config, const std::string &name, unsigned sampleRam) | |
void | clearRam () |
void | reset (EmuTime::param time) |
bool | isMuted () const |
void | writeReg (byte rg, byte data, EmuTime::param time) |
byte | readReg (byte rg, EmuTime::param time) |
byte | peekReg (byte rg, EmuTime::param time) const |
int | calcSample () |
void | sync (EmuTime::param time) |
void | resetStatus () |
template<typename Archive > | |
void | serialize (Archive &ar, unsigned version) |
![]() | |
Schedulable (const Schedulable &)=delete | |
Schedulable & | operator= (const Schedulable &)=delete |
virtual void | executeUntil (EmuTime::param time)=0 |
When the previously registered syncPoint is reached, this method gets called. More... | |
virtual void | schedulerDeleted () |
Just before the the Scheduler is deleted, it calls this method of all the Schedulables that are still registered. More... | |
Scheduler & | getScheduler () const |
EmuTime::param | getCurrentTime () const |
Convenience method: This is the same as getScheduler().getCurrentTime(). More... | |
template<typename Archive > | |
void | serialize (Archive &ar, unsigned version) |
Additional Inherited Members | |
![]() | |
template<typename Archive > | |
static std::vector< SyncPointBW > | serializeBW (Archive &ar) |
template<typename Archive > | |
static void | restoreOld (Archive &ar, std::vector< Schedulable * > schedulables) |
![]() | |
Schedulable (Scheduler &scheduler) | |
~Schedulable () | |
void | setSyncPoint (EmuTime::param timestamp) |
bool | removeSyncPoint () |
void | removeSyncPoints () |
bool | pendingSyncPoint () const |
bool | pendingSyncPoint (EmuTime &result) const |
Definition at line 15 of file Y8950Adpcm.hh.
openmsx::Y8950Adpcm::Y8950Adpcm | ( | Y8950 & | y8950, |
const DeviceConfig & | config, | ||
const std::string & | name, | ||
unsigned | sampleRam | ||
) |
Definition at line 49 of file Y8950Adpcm.cc.
References clearRam().
int openmsx::Y8950Adpcm::calcSample | ( | ) |
Definition at line 432 of file Y8950Adpcm.cc.
References calcSample().
Referenced by calcSample(), and sync().
void openmsx::Y8950Adpcm::clearRam | ( | ) |
Definition at line 59 of file Y8950Adpcm.cc.
References openmsx::TrackedRam::clear().
Referenced by openmsx::Y8950::clearRam(), and Y8950Adpcm().
bool openmsx::Y8950Adpcm::isMuted | ( | ) | const |
Definition at line 90 of file Y8950Adpcm.cc.
Definition at line 311 of file Y8950Adpcm.cc.
References peekReg(), and sync().
Referenced by peekReg(), openmsx::Y8950::peekReg(), and readReg().
Definition at line 302 of file Y8950Adpcm.cc.
References peekReg(), and sync().
Referenced by openmsx::Y8950::readReg().
void openmsx::Y8950Adpcm::reset | ( | EmuTime::param | time | ) |
Definition at line 64 of file Y8950Adpcm.cc.
References openmsx::Schedulable::removeSyncPoint(), openmsx::Clock< FREQ_NUM, FREQ_DENOM >::reset(), openmsx::Y8950::setStatus(), openmsx::Y8950::STATUS_BUF_RDY, and writeReg().
Referenced by openmsx::Y8950::reset().
void openmsx::Y8950Adpcm::resetStatus | ( | ) |
Definition at line 334 of file Y8950Adpcm.cc.
References openmsx::Y8950::setStatus(), and openmsx::Y8950::STATUS_BUF_RDY.
Referenced by openmsx::Y8950::writeReg().
void openmsx::Y8950Adpcm::serialize | ( | Archive & | ar, |
unsigned | version | ||
) |
Definition at line 522 of file Y8950Adpcm.cc.
References openmsx::Schedulable::getCurrentTime(), openmsx::Schedulable::removeSyncPoint(), and openmsx::Clock< FREQ_NUM, FREQ_DENOM >::reset().
void openmsx::Y8950Adpcm::sync | ( | EmuTime::param | time | ) |
Definition at line 107 of file Y8950Adpcm.cc.
References openmsx::Clock< FREQ_NUM, FREQ_DENOM >::advance(), calcSample(), and openmsx::Clock< FREQ_NUM, FREQ_DENOM >::getTicksTill().
Referenced by peekReg(), readReg(), and writeReg().
Definition at line 152 of file Y8950Adpcm.cc.
References openmsx::Schedulable::removeSyncPoint(), openmsx::Y8950::resetStatus(), openmsx::Y8950::setStatus(), openmsx::Y8950::STATUS_BUF_RDY, openmsx::Y8950::STATUS_PCM_BSY, and sync().
Referenced by reset(), and openmsx::Y8950::writeReg().