Channels
The pulse, triangle, and noise channels will play their corresponding waveforms (at either a constant volume or at a volume controlled by an envelope) only when (and in the model given here, precisely when) their length counters are all non-zero (this includes the linear counter for the triangle channel). There are two exceptions for the pulse channels, which can also be silenced either by having a frequency above a certain threshold (see below), or by a sweep towards lower frequencies (longer periods) reaching the end of the range. The DMC channel always outputs the value of its counter, regardless of the status of the DMC enable bit; the enable bit only controls automatic playback of delta-encoded samples (which is done through counter updates). The pulse channels produce a variable-width pulse signal, controlled by volume, envelope, length, and sweep units. The triangle channel produces a quantized triangle wave. It has no volume control, but it has a length counter as well as a higher resolution linear counter control (called "linear" since it uses the 7-bit value written to $4008 directly instead of a lookup table like the length counter). The noise channel produces noise with a pseudo-random bit generator. It has a volume, envelope, and length counter like the pulse channels. The delta modulation channel outputs a 7-bit PCM signal from a counter that can be driven by DPCM samples.
