Example #1
0
        public byte Read()
        {
            byte nextByte = 0;

            nextByte |= square1.Read(0, 0);
            nextByte |= (byte)(square2.Read(0, 0) << 1);
            nextByte |= (byte)(triangle.Read(0, 0) << 2);
            nextByte |= (byte)(noise.Read(0, 0) << 3);
            nextByte |= dmc.Read(0, 0);
            if (frameIRQ)
            {
                nextByte |= 0x40;
            }
            frameIRQ = false;
            return(nextByte);
        }