/* * Handle an update of the vclk status of a chip (1 is reset ON, 0 is reset OFF) * This function can use selector = MSM5205_SEX only */ void MSM5205_vclk_w (int num, int vclk) { struct MSM5205Voice *voice = sndti_token(SOUND_MSM5205, num); if( voice->prescaler != 0 ) { logerror("error: MSM5205_vclk_w() called with chip = %d, but VCLK selected master mode\n", num); } else { if( voice->vclk != vclk) { voice->vclk = vclk; if( !vclk ) MSM5205_vclk_callback(voice); } } }
/* * Handle an update of the vclk status of a chip (1 is reset ON, 0 is reset OFF) * This function can use selector = MSM5205_SEX only */ void msm5205_vclk_w (running_device *device, int vclk) { msm5205_state *voice = get_safe_token(device); if( voice->prescaler != 0 ) { logerror("error: msm5205_vclk_w() called with chip = '%s', but VCLK selected master mode\n", device->tag()); } else { if( voice->vclk != vclk) { voice->vclk = vclk; if( !vclk ) MSM5205_vclk_callback(voice->device->machine, voice, 0); } } }
/* * Handle an update of the vclk status of a chip (1 is reset ON, 0 is reset OFF) * This function can use selector = MSM5205_SEX only */ void MSM5205_vclk_w (int num, int vclk) { /* range check the numbers */ if (num >= msm5205_intf->num) { logerror("error: MSM5205_vclk_w() called with chip = %d, but only %d chips allocated\n", num, msm5205_intf->num); return; } if( msm5205[num].prescaler != 0 ) { logerror("error: MSM5205_vclk_w() called with chip = %d, but VCLK selected master mode\n", num); } else { if( msm5205[num].vclk != vclk) { msm5205[num].vclk = vclk; if( !vclk ) MSM5205_vclk_callback(num); } } }