static DEVICE_START( tms36xx ) { int j; tms_state *tms = get_safe_token(device); int enable; tms->intf = (const tms36xx_interface *)device->static_config; tms->channel = stream_create(device, 0, 1, device->clock * 64, tms, tms36xx_sound_update); tms->samplerate = device->clock * 64; tms->basefreq = device->clock; enable = 0; for (j = 0; j < 6; j++) { if( tms->intf->decay[j] > 0 ) { tms->decay[j+0] = tms->decay[j+6] = VMAX / tms->intf->decay[j]; enable |= 0x41 << j; } } tms->speed = (tms->intf->speed > 0) ? VMAX / tms->intf->speed : VMAX; tms3617_enable(tms,enable); LOG(("TMS36xx samplerate %d\n", tms->samplerate)); LOG(("TMS36xx basefreq %d\n", tms->basefreq)); LOG(("TMS36xx decay %d,%d,%d,%d,%d,%d\n", tms->decay[0], tms->decay[1], tms->decay[2], tms->decay[3], tms->decay[4], tms->decay[5])); LOG(("TMS36xx speed %d\n", tms->speed)); }
void tms36xx_device::device_start() { int j; int enable; m_intf = (const tms36xx_interface *)static_config(); m_channel = stream_alloc(0, 1, clock() * 64); m_samplerate = clock() * 64; m_basefreq = clock(); enable = 0; for (j = 0; j < 6; j++) { if( m_intf->decay[j] > 0 ) { m_decay[j+0] = m_decay[j+6] = VMAX / m_intf->decay[j]; enable |= 0x41 << j; } } m_speed = (m_intf->speed > 0) ? VMAX / m_intf->speed : VMAX; tms3617_enable(enable); LOG(("TMS36xx samplerate %d\n", m_samplerate)); LOG(("TMS36xx basefreq %d\n", m_basefreq)); LOG(("TMS36xx decay %d,%d,%d,%d,%d,%d\n", m_decay[0], m_decay[1], m_decay[2], m_decay[3], m_decay[4], m_decay[5])); LOG(("TMS36xx speed %d\n", m_speed)); }
static void *tms36xx_start(int sndindex, int clock, const void *config) { int j; struct TMS36XX *tms; int enable; tms = auto_malloc(sizeof(*tms)); memset(tms, 0, sizeof(*tms)); tms->intf = config; tms->channel = stream_create(0, 1, clock * 64, tms, tms36xx_sound_update); tms->samplerate = clock * 64; tms->basefreq = clock; enable = 0; for (j = 0; j < 6; j++) { if( tms->intf->decay[j] > 0 ) { tms->decay[j+0] = tms->decay[j+6] = VMAX / tms->intf->decay[j]; enable |= 0x41 << j; } } tms->speed = (tms->intf->speed > 0) ? VMAX / tms->intf->speed : VMAX; tms3617_enable(tms,enable); LOG(("TMS36xx samplerate %d\n", tms->samplerate)); LOG(("TMS36xx basefreq %d\n", tms->basefreq)); LOG(("TMS36xx decay %d,%d,%d,%d,%d,%d\n", tms->decay[0], tms->decay[1], tms->decay[2], tms->decay[3], tms->decay[4], tms->decay[5])); LOG(("TMS36xx speed %d\n", tms->speed)); return tms; }
void tms36xx_device::device_start() { int enable = 0; m_channel = stream_alloc(0, 1, clock() * 64); m_samplerate = clock() * 64; m_basefreq = clock(); for (int j = 0; j < 6; j++) { if (m_decay_time[j] > 0) { m_decay[j+0] = m_decay[j+6] = TMS36XX_VMAX / m_decay_time[j]; enable |= 0x41 << j; } } tms3617_enable(enable); LOG(("TMS36xx samplerate %d\n", m_samplerate)); LOG(("TMS36xx basefreq %d\n", m_basefreq)); LOG(("TMS36xx decay %d,%d,%d,%d,%d,%d\n", m_decay[0], m_decay[1], m_decay[2], m_decay[3], m_decay[4], m_decay[5])); LOG(("TMS36xx speed %d\n", m_speed)); save_item(NAME(m_octave)); save_item(NAME(m_tune_counter)); save_item(NAME(m_note_counter)); save_item(NAME(m_voices)); save_item(NAME(m_shift)); save_item(NAME(m_vol)); save_item(NAME(m_vol_counter)); save_item(NAME(m_counter)); save_item(NAME(m_frequency)); save_item(NAME(m_output)); save_item(NAME(m_enable)); save_item(NAME(m_tune_num)); save_item(NAME(m_tune_ofs)); save_item(NAME(m_tune_max)); }
void tms36xx_device::tms3617_enable_w(int enable) { tms3617_enable(enable); }
void tms3617_enable_w(const device_config *device, int enable) { tms_state *tms = get_safe_token(device); tms3617_enable(tms, enable); }
void tms3617_enable_w(running_device *device, int enable) { tms_state *tms = get_safe_token(device); tms3617_enable(tms, enable); }
void tms3617_enable_w(int chip, int enable) { struct TMS36XX *tms = sndti_token(SOUND_TMS36XX, chip); tms3617_enable(tms, enable); }