static DEVICE_START( msm5205 ) { msm5205_state *voice = get_safe_token(device); /* save a global pointer to our interface */ voice->intf = (const msm5205_interface *)device->baseconfig().static_config(); voice->device = device; voice->clock = device->clock(); /* compute the difference tables */ ComputeTables (voice); /* stream system initialize */ voice->stream = stream_create(device,0,1,device->clock(),voice,MSM5205_update); voice->timer = timer_alloc(device->machine, MSM5205_vclk_callback, voice); /* initialize */ DEVICE_RESET_CALL(msm5205); /* register for save states */ state_save_register_device_item(device, 0, voice->clock); state_save_register_device_item(device, 0, voice->data); state_save_register_device_item(device, 0, voice->vclk); state_save_register_device_item(device, 0, voice->reset); state_save_register_device_item(device, 0, voice->prescaler); state_save_register_device_item(device, 0, voice->bitwidth); state_save_register_device_item(device, 0, voice->signal); state_save_register_device_item(device, 0, voice->step); }
static DEVICE_RESET( venture_sound ) { DEVICE_RESET_CALL(common_sh_reset); /* PIA */ devtag_reset(device->machine, "pia0"); devtag_reset(device->machine, "pia1"); /* 6532 */ riot->reset(); /* 8253 */ memset(sh8253_timer, 0, sizeof(sh8253_timer)); }
static DEVICE_RESET( exidy_sound ) { DEVICE_RESET_CALL(common_sh_reset); }
void micropolis_reset(device_t *device) { DEVICE_RESET_CALL( micropolis ); }