//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; }
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); }
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); }