void SID6581_t::init() { optr1.sid = this; optr2.sid = this; optr3.sid = this; optr1.modulator = &optr3; optr3.carrier = &optr1; optr1.filtVoiceMask = 1; optr2.modulator = &optr1; optr1.carrier = &optr2; optr2.filtVoiceMask = 2; optr3.modulator = &optr2; optr2.carrier = &optr3; optr3.filtVoiceMask = 4; PCMsid = uint32_t(PCMfreq * (16777216.0 / clock)); PCMsidNoise = uint32_t((clock * 256.0) / PCMfreq); filter.Enabled = true; sidInitMixerEngine(device->machine()); filterTableInit(device->machine()); sidInitWaveformTables(type); enveEmuInit(PCMfreq, true); MixerInit(0); reset(); }
void sid6581_init (_SID6581 *This) { This->optr1.sid=This; This->optr2.sid=This; This->optr3.sid=This; This->optr1.modulator = &This->optr3; This->optr3.carrier = &This->optr1; This->optr1.filtVoiceMask = 1; This->optr2.modulator = &This->optr1; This->optr1.carrier = &This->optr2; This->optr2.filtVoiceMask = 2; This->optr3.modulator = &This->optr2; This->optr2.carrier = &This->optr3; This->optr3.filtVoiceMask = 4; This->PCMsid = (UINT32)(This->PCMfreq * (16777216.0 / This->clock)); This->PCMsidNoise = (UINT32)((This->clock*256.0)/This->PCMfreq); This->filter.Enabled = TRUE; sidInitMixerEngine(This->device->machine); filterTableInit(This->device->machine); sidInitWaveformTables(This->type); enveEmuInit(This->PCMfreq, TRUE); MixerInit(0); sidEmuReset(This); }