Ejemplo n.º 1
0
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));
}
Ejemplo n.º 2
0
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));
}
Ejemplo n.º 3
0
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;
}
Ejemplo n.º 4
0
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));
}
Ejemplo n.º 5
0
void tms36xx_device::tms3617_enable_w(int enable)
{
	tms3617_enable(enable);
}
Ejemplo n.º 6
0
void tms3617_enable_w(const device_config *device, int enable)
{
	tms_state *tms = get_safe_token(device);
	tms3617_enable(tms, enable);
}
Ejemplo n.º 7
0
void tms3617_enable_w(running_device *device, int enable)
{
    tms_state *tms = get_safe_token(device);
    tms3617_enable(tms, enable);
}
Ejemplo n.º 8
0
void tms3617_enable_w(int chip, int enable)
{
	struct TMS36XX *tms = sndti_token(SOUND_TMS36XX, chip);
	tms3617_enable(tms, enable);
}