NesHd.Core.APU.ChnVrc6Pulse2.WriteA000 C# (CSharp) Method

WriteA000() public method

public WriteA000 ( byte data ) : void
data byte
return void
        public void WriteA000(byte data)
        {
            _Volume = (byte) (data & 0x0F); //Bit 0 - 3
            _DutyCycle = (data >> 4); //Bit 4 - 7
            if (_DutyCycle == 0)
                DutyPercentage = 0.6250;
            else if (_DutyCycle == 1)
                DutyPercentage = 0.1250;
            else if (_DutyCycle == 2)
                DutyPercentage = 0.1875;
            else if (_DutyCycle == 3)
                DutyPercentage = 0.2500;
            else if (_DutyCycle == 4)
                DutyPercentage = 0.3125;
            else if (_DutyCycle == 5)
                DutyPercentage = 0.3750;
            else if (_DutyCycle == 6)
                DutyPercentage = 0.4375;
            else if (_DutyCycle == 7)
                DutyPercentage = 0.5000;
            else
                DutyPercentage = 1.0;
        }