NScumm.Core.FmOPL.CALC_FCSLOT C# (CSharp) Method

CALC_FCSLOT() private method

private CALC_FCSLOT ( OPL_CH CH, OPL_SLOT SLOT ) : void
CH OPL_CH
SLOT OPL_SLOT
return void
        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));
        }