void CALC_FCSLOT(OPL_CH CH, OPL_SLOT SLOT)
{
int ksr;
/* frequency step counter */
SLOT.Incr = CH.fc * SLOT.mul;
ksr = CH.kcode >> SLOT.KSR;
if (SLOT.ksr != ksr)
{
SLOT.ksr = (byte)ksr;
/* attack , decay rate recalcration */
SLOT.evsa = SLOT.AR(ksr);
SLOT.evsd = SLOT.DR(ksr);
SLOT.evsr = SLOT.RR(ksr);
}
SLOT.TLL = (int)(SLOT.TL + (CH.ksl_base >> SLOT.ksl));
}