示例#1
0
//static DEVICE_START( ym2151 )
int device_start_ym2151(void **_info, int clock, int CHIP_SAMPLING_MODE, int CHIP_SAMPLE_RATE)
{
	//static const ym2151_interface dummy = { 0 };
	
	//ym2151_state *info = get_safe_token(device);
	ym2151_state *info;
	int rate;

	info = (ym2151_state *) calloc(1, sizeof(ym2151_state));
	*_info = (void *) info;	

	rate = clock/64;
	if ((CHIP_SAMPLING_MODE == 0x01 && rate < CHIP_SAMPLE_RATE) ||
		CHIP_SAMPLING_MODE == 0x02)
		rate = CHIP_SAMPLE_RATE;
	//info->intf = device->static_config ? (const ym2151_interface *)device->static_config : &dummy;
	//info->intf = &dummy;

	/* stream setup */
	//info->stream = stream_create(device,0,2,rate,info,ym2151_update);

	info->chip = ym2151_init(clock,rate);
	//assert_always(info->chip != NULL, "Error creating YM2151 chip");

	//state_save_register_postload(device->machine, ym2151intf_postload, info);

	//ym2151_set_irq_handler(info->chip,info->intf->irqhandler);
	//ym2151_set_port_write_handler(info->chip,info->intf->portwritehandler);

	return rate;
}
示例#2
0
static DEVICE_START( ym2151 )
{
	static const ym2151_interface dummy = { 0 };
	ym2151_state *info = get_safe_token(device);
	int rate;

	info->intf = device->static_config() ? (const ym2151_interface *)device->static_config() : &dummy;

	rate = device->clock()/64;

	/* stream setup */
	info->stream = device->machine().sound().stream_alloc(*device,0,2,rate,info,ym2151_update);

	info->chip = ym2151_init(device,device->clock(),rate);
	assert_always(info->chip != NULL, "Error creating YM2151 chip");

	ym2151_set_irq_handler(info->chip,info->intf->irqhandler);
	ym2151_set_port_write_handler(info->chip,info->intf->portwritehandler);
}
示例#3
0
static DEVICE_START( ym2151 )
{
	static const ym2151_interface dummy = { 0 };
	ym2151_state *info = get_safe_token(device);
	int rate;

	info->intf = device->baseconfig().static_config ? (const ym2151_interface *)device->baseconfig().static_config : &dummy;

	rate = device->clock/64;

	/* stream setup */
	info->stream = stream_create(device,0,2,rate,info,ym2151_update);

	info->chip = ym2151_init(device,device->clock,rate);
	assert_always(info->chip != NULL, "Error creating YM2151 chip");

	state_save_register_postload(device->machine, ym2151intf_postload, info);

	ym2151_set_irq_handler(info->chip,info->intf->irqhandler);
	ym2151_set_port_write_handler(info->chip,info->intf->portwritehandler);
}