SA3_VOL_MV
atten = ((AUDIO_MAX_GAIN - vol->left) * (SA3_VOL_MV + 1)) /
ym_write(sc, SA3_VOL_L, (ym_read(sc, SA3_VOL_L) & ~SA3_VOL_MV) | atten);
atten = ((AUDIO_MAX_GAIN - vol->right) * (SA3_VOL_MV + 1)) /
ym_write(sc, SA3_VOL_R, (ym_read(sc, SA3_VOL_R) & ~SA3_VOL_MV) | atten);
val = SA3_VOL_MV & ~ym_read(sc, SA3_VOL_L);
prevval = (sc->master_gain.left * (SA3_VOL_MV + 1)) /
val * ((AUDIO_MAX_GAIN + 1) / (SA3_VOL_MV + 1));
val = SA3_VOL_MV & ~ym_read(sc, SA3_VOL_R);
prevval = (sc->master_gain.right * (SA3_VOL_MV + 1)) /
val * ((AUDIO_MAX_GAIN + 1) / (SA3_VOL_MV + 1));
dip->un.v.delta = (AUDIO_MAX_GAIN + 1) / (SA3_VOL_MV + 1);