| ROLAND
    0.70
    Amstrad Emulator based on Caprice Source rewritten in C++. | 
The sound chip of the CPC. More...
#include <sound.h>
| Classes | |
| union | LoopCount | 
| union | TCounter | 
| Public Attributes | |
| ~Sound() ROLAND_DEFAULT typedef void(Sound typedef void(Sound::* | CaseEnvType )(void) | 
| uint | low | 
| uint | high | 
| struct S { | |
| uint low | |
| uint high | |
| } | s | 
| tINT64 | both | 
| struct S { | |
| uint low | |
| uint high | |
| } | s | 
| tWORD | low | 
| tWORD | val | 
| struct S { | |
| tWORD low | |
| tWORD val | |
| } | s | 
| tDWORD | seed | 
| tDWORD | low | 
| tDWORD | high | 
| struct S { | |
| tDWORD low | |
| tDWORD high | |
| } | s | 
| Static Private Attributes | |
| static const tUWORD | mAmplitudesAY [16] | 
| static const tDWORD | mFreqTable [5] | 
The sound chip of the CPC.
References Sound::init().
| 
 | inline | 
References Sound::mSndBits.
Referenced by Sound::calculateLevelTables(), Audio::init(), and Sound::initAY().
| 
 | inline | 
References Sound::mSndBuffer.
Referenced by Audio::dist(), Audio::init(), Audio::quit(), and Audio::update().
| 
 | inline | 
References Sound::mSndBufferEnd.
Referenced by Audio::dist(), and Audio::update().
| 
 | inline | 
References Sound::mBufferFull.
Referenced by Z80::execute().
| 
 | inline | 
References Sound::mSndBufferPtr.
Referenced by Audio::dist().
| 
 | inline | 
References Sound::mSndBufferSize.
Referenced by Audio::init().
| void calculateLevelTables | ( | ) | 
References b, Sound::bits(), Sound::mAmplitudesAY, Sound::mIndexAL, Sound::mIndexAR, Sound::mIndexBL, Sound::mIndexBR, Sound::mIndexCL, Sound::mIndexCR, Sound::mLevelAL, Sound::mLevelAR, Sound::mLevelBL, Sound::mLevelBR, Sound::mLevelCL, Sound::mLevelCR, Sound::mLevelPP, Sound::mLevelTape, Sound::mPreAmpMax, r, Sound::stereo(), TAPE_VOLUME, and Sound::volume().
Referenced by Sound::initAY(), and Sound::synthesizer().
| void caseEnvType0_3__9 | ( | ) | 
References Psg::amplitudeEnv(), Psg::firstPeriod(), Sound::mPsg, Psg::setAmplitudeEnv(), and Psg::setFirstPeriod().
Referenced by Sound::setEnvelopeRegister(), and Sound::synthesizer().
| void caseEnvType10 | ( | ) | 
References Psg::amplitudeEnv(), Psg::firstPeriod(), Sound::mPsg, Psg::setAmplitudeEnv(), and Psg::setFirstPeriod().
Referenced by Sound::setEnvelopeRegister(), and Sound::synthesizer().
| void caseEnvType11 | ( | ) | 
References Psg::amplitudeEnv(), Psg::firstPeriod(), Sound::mPsg, Psg::setAmplitudeEnv(), and Psg::setFirstPeriod().
Referenced by Sound::setEnvelopeRegister(), and Sound::synthesizer().
| void caseEnvType12 | ( | ) | 
References Psg::amplitudeEnv(), Sound::mPsg, and Psg::setAmplitudeEnv().
Referenced by Sound::setEnvelopeRegister(), and Sound::synthesizer().
| void caseEnvType13 | ( | ) | 
References Psg::amplitudeEnv(), Psg::firstPeriod(), Sound::mPsg, Psg::setAmplitudeEnv(), and Psg::setFirstPeriod().
Referenced by Sound::setEnvelopeRegister(), and Sound::synthesizer().
| void caseEnvType14 | ( | ) | 
References Psg::amplitudeEnv(), Psg::firstPeriod(), Sound::mPsg, Psg::setAmplitudeEnv(), and Psg::setFirstPeriod().
Referenced by Sound::setEnvelopeRegister(), and Sound::synthesizer().
| void caseEnvType4_7__15 | ( | ) | 
References Psg::amplitudeEnv(), Psg::firstPeriod(), Sound::mPsg, Psg::setAmplitudeEnv(), and Psg::setFirstPeriod().
Referenced by Sound::setEnvelopeRegister(), and Sound::synthesizer().
| void caseEnvType8 | ( | ) | 
References Psg::amplitudeEnv(), Sound::mPsg, and Psg::setAmplitudeEnv().
Referenced by Sound::setEnvelopeRegister(), and Sound::synthesizer().
| 
 | inline | 
References Sound::mCycleCount.
Referenced by Cpc::waitstates().
| 
 | inline | 
References Sound::mCycleCount.
Referenced by Cpc::waitstates().
| 
 | inline | 
References Sound::mCycleCountInit.
Referenced by Cpc::waitstates().
| 
 | inline | 
References Sound::mCycleCountInit.
Referenced by Cpc::waitstates().
| 
 | inline | 
References Sound::mCycleCountInit.
| 
 | inline | 
References Sound::mCycleCount.
| 
 | inline | 
References Sound::mSndDevice.
Referenced by Sound::synthesizerMixerQMono().
| 
 | inline | 
References Sound::mSndEnabled.
Referenced by Audio::init(), Audio::pause(), and Cpc::waitstates().
| 
 | inline | 
References Sound::mFreqTable.
Referenced by Audio::init().
| void init | ( | Psg * | psg = 0 | ) | 
References CYCLE_COUNT_INIT, Sound::mBufferFull, Sound::mCycleCountInit, Sound::mPsg, Sound::mSndBits, Sound::mSndBufferPtr, Sound::mSndBufferSize, Sound::mSndDevice, Sound::mSndEnabled, Sound::mSndPlaybackRate, Sound::mSndStereo, Sound::mSndVolume, n, Psg::registerAY(), and Sound::setAYRegister().
Referenced by Sound::Sound().
| void initAY | ( | ) | 
References Sound::bits(), Sound::calculateLevelTables(), Sound::initAYCounterVars(), Sound::mIndexAL, Sound::mIndexAR, Sound::mIndexBL, Sound::mIndexBR, Sound::mIndexCL, Sound::mIndexCR, Sound::mPreAmpMax, Sound::resetAYChipEmulation(), Sound::setSynthesizer(), Sound::stereo(), Sound::synthesizerMono16(), Sound::synthesizerMono8(), Sound::synthesizerStereo16(), and Sound::synthesizerStereo8().
Referenced by Audio::init(), and Sound::synthesizer().
| void initAYCounterVars | ( | ) | 
References Sound::mCycleCountInit, Sound::mFreqTable, Sound::mLoopCount, Sound::mLoopCountInit, and Sound::playbackRate().
Referenced by Sound::initAY(), and Sound::synthesizer().
| 
 | inline | 
References Sound::mSndPlaybackRate.
Referenced by Audio::init(), and Sound::initAYCounterVars().
| void resetAYChipEmulation | ( | ) | 
References Sound::mEnvelopeCounter, Sound::mLeftChan, Sound::mNoise, Sound::mNoiseCounter, Sound::mRightChan, Sound::mTonA, Sound::mTonB, Sound::mTonC, Sound::mTonCounterA, Sound::mTonCounterB, and Sound::mTonCounterC.
Referenced by Sound::initAY(), and Sound::synthesizer().
| 
 | inline | 
References Sound::mEnvelopeEnA, Sound::mPsg, and Psg::setAmplitudeA().
Referenced by Sound::setAYRegister(), and Sound::synthesizer().
| 
 | inline | 
References Sound::mEnvelopeEnB, Sound::mPsg, and Psg::setAmplitudeB().
Referenced by Sound::setAYRegister(), and Sound::synthesizer().
| 
 | inline | 
References Sound::mEnvelopeEnC, Sound::mPsg, and Psg::setAmplitudeC().
Referenced by Sound::setAYRegister(), and Sound::synthesizer().
| 
 | inline | 
References Sound::mPsg, Sound::setAmplA(), Sound::setAmplB(), Sound::setAmplC(), Sound::setEnvelopeRegister(), Sound::setMixerRegister(), Psg::setNoise(), and Psg::setRegisterAY().
Referenced by Sound::init(), and Sound::synthesizer().
| 
 | inline | 
References Sound::mSndBits.
| 
 | inline | 
References Sound::mSndBuffer.
Referenced by Audio::init().
| 
 | inline | 
References Sound::mSndBufferEnd.
Referenced by Audio::init().
| 
 | inline | 
References Sound::mBufferFull.
| 
 | inline | 
References Sound::mSndBufferPtr.
Referenced by Audio::init().
| 
 | inline | 
References Sound::mSndBufferPtr.
| 
 | inline | 
References Sound::mSndBufferPtr.
Referenced by Sound::synthesizerMono8().
| 
 | inline | 
References Sound::mSndBufferPtr.
Referenced by Sound::synthesizerMono16(), and Sound::synthesizerStereo8().
| 
 | inline | 
References Sound::mSndBufferSize.
Referenced by Audio::init().
| 
 | inline | 
References Sound::mCycleCount.
Referenced by Cpc::waitstates().
| 
 | inline | 
References Sound::mCycleCount.
Referenced by Cpc::waitstates().
| 
 | inline | 
References Sound::mCycleCountInit.
| 
 | inline | 
References Sound::mCycleCount.
| 
 | inline | 
References Sound::mSndDevice.
| 
 | inline | 
References Sound::mSndEnabled.
| 
 | inline | 
References Sound::caseEnvType0_3__9(), Sound::caseEnvType10(), Sound::caseEnvType11(), Sound::caseEnvType12(), Sound::caseEnvType13(), Sound::caseEnvType14(), Sound::caseEnvType4_7__15(), Sound::caseEnvType8(), Sound::mCaseEnvType, Sound::mEnvelopeCounter, Sound::mPsg, Psg::setAmplitudeEnv(), Psg::setEnvType(), and Psg::setFirstPeriod().
Referenced by Sound::setAYRegister(), and Sound::synthesizer().
| 
 | inline | 
References Sound::mNoiseEnA, Sound::mNoiseEnB, Sound::mNoiseEnC, Sound::mPsg, Sound::mTonEnA, Sound::mTonEnB, Sound::mTonEnC, and Psg::setMixer().
Referenced by Sound::setAYRegister(), and Sound::synthesizer().
| 
 | inline | 
References Sound::mSndPlaybackRate.
| 
 | inline | 
References Sound::mSndStereo.
| 
 | inline | 
References Sound::mSndStream.
Referenced by Audio::init(), and Audio::update().
| 
 | inline | 
References Sound::mSynthesizer.
Referenced by Sound::initAY().
| 
 | inline | 
References Sound::mSndVolume.
| 
 | inline | 
References Sound::mSndStereo.
Referenced by Sound::calculateLevelTables(), Audio::init(), and Sound::initAY().
| 
 | inline | 
References Sound::mSndStream.
Referenced by Audio::dist(), and Audio::update().
| 
 | inline | 
References Sound::calculateLevelTables(), Sound::caseEnvType0_3__9(), Sound::caseEnvType10(), Sound::caseEnvType11(), Sound::caseEnvType12(), Sound::caseEnvType13(), Sound::caseEnvType14(), Sound::caseEnvType4_7__15(), Sound::caseEnvType8(), Sound::initAY(), Sound::initAYCounterVars(), Sound::mSynthesizer, Sound::resetAYChipEmulation(), Sound::setAmplA(), Sound::setAmplB(), Sound::setAmplC(), Sound::setAYRegister(), Sound::setEnvelopeRegister(), Sound::setMixerRegister(), Sound::synthesizerLogicQ(), Sound::synthesizerMixerQ(), Sound::synthesizerMixerQMono(), Sound::synthesizerMono16(), Sound::synthesizerMono8(), Sound::synthesizerStereo16(), and Sound::synthesizerStereo8().
Referenced by Cpc::waitstates().
| 
 | inline | 
<
<
<
<
References Psg::envelopeLoW(), Sound::mCaseEnvType, Sound::mEnvelopeCounter, Sound::mNoise, Sound::mNoiseCounter, Sound::mPsg, Sound::mTonA, Sound::mTonB, Sound::mTonC, Sound::mTonCounterA, Sound::mTonCounterB, Sound::mTonCounterC, Psg::noise(), Psg::tonALoW(), Psg::tonBLoW(), and Psg::tonCLoW().
Referenced by Sound::synthesizer(), Sound::synthesizerMono16(), Sound::synthesizerMono8(), Sound::synthesizerStereo16(), and Sound::synthesizerStereo8().
| 
 | inline | 
<
<
<
References Psg::amplitudeA(), Psg::amplitudeB(), Psg::amplitudeC(), Psg::amplitudeEnv(), Sound::mEnvelopeEnA, Sound::mEnvelopeEnB, Sound::mEnvelopeEnC, Sound::mLeftChan, Sound::mLevelAL, Sound::mLevelAR, Sound::mLevelBL, Sound::mLevelBR, Sound::mLevelCL, Sound::mLevelCR, Sound::mLevelTape, Sound::mNoise, Sound::mNoiseEnA, Sound::mNoiseEnB, Sound::mNoiseEnC, Sound::mPsg, Sound::mRightChan, Sound::mTapeLevel, Sound::mTonA, Sound::mTonB, Sound::mTonC, Sound::mTonEnA, Sound::mTonEnB, Sound::mTonEnC, Psg::tonALoW(), Psg::tonBLoW(), and Psg::tonCLoW().
Referenced by Sound::synthesizer(), Sound::synthesizerStereo16(), and Sound::synthesizerStereo8().
| 
 | inline | 
<
<
<
References Psg::amplitudeA(), Psg::amplitudeB(), Psg::amplitudeC(), Psg::amplitudeEnv(), Sound::device(), Sound::mEnvelopeEnA, Sound::mEnvelopeEnB, Sound::mEnvelopeEnC, Sound::mLeftChan, Sound::mLevelAL, Sound::mLevelBL, Sound::mLevelCL, Sound::mLevelTape, Sound::mNoise, Sound::mNoiseEnA, Sound::mNoiseEnB, Sound::mNoiseEnC, Sound::mPsg, Sound::mTapeLevel, Sound::mTonA, Sound::mTonB, Sound::mTonC, Sound::mTonEnA, Sound::mTonEnB, Sound::mTonEnC, Psg::tonALoW(), Psg::tonBLoW(), and Psg::tonCLo().
Referenced by Sound::synthesizer(), Sound::synthesizerMono16(), and Sound::synthesizerMono8().
| void synthesizerMono16 | ( | ) | 
| void synthesizerMono8 | ( | ) | 
| void synthesizerStereo16 | ( | ) | 
References Sound::mBufferFull, Sound::mLeftChan, Sound::mLoopCount, Sound::mLoopCountInit, Sound::mRightChan, Sound::mSndBuffer, Sound::mSndBufferEnd, Sound::mSndBufferPtr, Sound::synthesizerLogicQ(), Sound::synthesizerMixerQ(), and Sound::val.
Referenced by Sound::initAY(), and Sound::synthesizer().
| void synthesizerStereo8 | ( | ) | 
References Sound::mBufferFull, Sound::mLeftChan, Sound::mLoopCount, Sound::mLoopCountInit, Sound::mRightChan, Sound::mSndBuffer, Sound::mSndBufferEnd, Sound::mSndBufferPtr, Sound::setBufferPtrW(), Sound::synthesizerLogicQ(), Sound::synthesizerMixerQ(), and Sound::val.
Referenced by Sound::initAY(), and Sound::synthesizer().
| 
 | inline | 
References Sound::mSndVolume.
Referenced by Sound::calculateLevelTables().
| tINT64 both | 
| ~Sound () ROLAND_DEFAULT typedef void (Sound typedef void(Sound::* CaseEnvType) (void) | 
| uint high | 
| tDWORD high | 
| uint low | 
| tWORD low | 
| tDWORD low | 
| 
 | staticprivate | 
Referenced by Sound::calculateLevelTables().
| 
 | private | 
| 
 | private | 
Referenced by Sound::setEnvelopeRegister(), and Sound::synthesizerLogicQ().
| union { ... } mCycleCount | 
| union { ... } mCycleCountInit | 
| union { ... } mEnvelopeCounter | 
Referenced by Sound::resetAYChipEmulation(), Sound::setEnvelopeRegister(), and Sound::synthesizerLogicQ().
| 
 | private | 
Referenced by Sound::setAmplA(), Sound::synthesizerMixerQ(), and Sound::synthesizerMixerQMono().
| 
 | private | 
Referenced by Sound::setAmplB(), Sound::synthesizerMixerQ(), and Sound::synthesizerMixerQMono().
| 
 | private | 
Referenced by Sound::setAmplC(), Sound::synthesizerMixerQ(), and Sound::synthesizerMixerQMono().
| 
 | staticprivate | 
Referenced by Sound::freqTable(), and Sound::initAYCounterVars().
| 
 | private | 
Referenced by Sound::calculateLevelTables(), and Sound::initAY().
| 
 | private | 
Referenced by Sound::calculateLevelTables(), and Sound::initAY().
| 
 | private | 
Referenced by Sound::calculateLevelTables(), and Sound::initAY().
| 
 | private | 
Referenced by Sound::calculateLevelTables(), and Sound::initAY().
| 
 | private | 
Referenced by Sound::calculateLevelTables(), and Sound::initAY().
| 
 | private | 
Referenced by Sound::calculateLevelTables(), and Sound::initAY().
| 
 | private | 
| 
 | private | 
Referenced by Sound::calculateLevelTables(), Sound::synthesizerMixerQ(), and Sound::synthesizerMixerQMono().
| 
 | private | 
Referenced by Sound::calculateLevelTables(), and Sound::synthesizerMixerQ().
| 
 | private | 
Referenced by Sound::calculateLevelTables(), Sound::synthesizerMixerQ(), and Sound::synthesizerMixerQMono().
| 
 | private | 
Referenced by Sound::calculateLevelTables(), and Sound::synthesizerMixerQ().
| 
 | private | 
Referenced by Sound::calculateLevelTables(), Sound::synthesizerMixerQ(), and Sound::synthesizerMixerQMono().
| 
 | private | 
Referenced by Sound::calculateLevelTables(), and Sound::synthesizerMixerQ().
| 
 | private | 
Referenced by Sound::calculateLevelTables().
| 
 | private | 
Referenced by Sound::calculateLevelTables(), Sound::synthesizerMixerQ(), and Sound::synthesizerMixerQMono().
| 
 | private | 
| 
 | private | 
| 
 | private | 
| union { ... } mNoise | 
| 
 | private | 
Referenced by Sound::resetAYChipEmulation(), and Sound::synthesizerLogicQ().
| 
 | private | 
Referenced by Sound::setMixerRegister(), Sound::synthesizerMixerQ(), and Sound::synthesizerMixerQMono().
| 
 | private | 
Referenced by Sound::setMixerRegister(), Sound::synthesizerMixerQ(), and Sound::synthesizerMixerQMono().
| 
 | private | 
Referenced by Sound::setMixerRegister(), Sound::synthesizerMixerQ(), and Sound::synthesizerMixerQMono().
| 
 | private | 
| 
 | private | 
Referenced by Sound::calculateLevelTables(), and Sound::initAY().
| 
 | private | 
Referenced by Sound::caseEnvType0_3__9(), Sound::caseEnvType10(), Sound::caseEnvType11(), Sound::caseEnvType12(), Sound::caseEnvType13(), Sound::caseEnvType14(), Sound::caseEnvType4_7__15(), Sound::caseEnvType8(), Sound::init(), Sound::setAmplA(), Sound::setAmplB(), Sound::setAmplC(), Sound::setAYRegister(), Sound::setEnvelopeRegister(), Sound::setMixerRegister(), Sound::synthesizerLogicQ(), Sound::synthesizerMixerQ(), and Sound::synthesizerMixerQMono().
| 
 | private | 
| 
 | private | 
Referenced by Sound::bits(), Sound::init(), and Sound::setBits().
| 
 | private | 
| 
 | private | 
| 
 | private | 
| 
 | private | 
Referenced by Sound::bufferSize(), Sound::init(), and Sound::setBufferSize().
| 
 | private | 
Referenced by Sound::device(), Sound::init(), and Sound::setDevice().
| 
 | private | 
Referenced by Sound::enabled(), Sound::init(), and Sound::setEnabled().
| 
 | private | 
Referenced by Sound::init(), Sound::playbackRate(), and Sound::setPlaybackRate().
| 
 | private | 
Referenced by Sound::init(), Sound::setStereo(), and Sound::stereo().
| 
 | private | 
Referenced by Sound::setStream(), and Sound::stream().
| 
 | private | 
Referenced by Sound::init(), Sound::setVolume(), and Sound::volume().
| 
 | private | 
Referenced by Sound::setSynthesizer(), and Sound::synthesizer().
| 
 | private | 
Referenced by Sound::synthesizerMixerQ(), and Sound::synthesizerMixerQMono().
| 
 | private | 
| 
 | private | 
| 
 | private | 
| 
 | private | 
Referenced by Sound::resetAYChipEmulation(), and Sound::synthesizerLogicQ().
| 
 | private | 
Referenced by Sound::resetAYChipEmulation(), and Sound::synthesizerLogicQ().
| 
 | private | 
Referenced by Sound::resetAYChipEmulation(), and Sound::synthesizerLogicQ().
| 
 | private | 
Referenced by Sound::setMixerRegister(), Sound::synthesizerMixerQ(), and Sound::synthesizerMixerQMono().
| 
 | private | 
Referenced by Sound::setMixerRegister(), Sound::synthesizerMixerQ(), and Sound::synthesizerMixerQMono().
| 
 | private | 
Referenced by Sound::setMixerRegister(), Sound::synthesizerMixerQ(), and Sound::synthesizerMixerQMono().
| struct { ... } ::S s | 
| struct { ... } ::S s | 
| struct { ... } ::S s | 
| struct { ... } ::S s | 
| tDWORD seed | 
| tWORD val | 
Referenced by Sound::synthesizerStereo16(), and Sound::synthesizerStereo8().
 1.8.11
 1.8.11