NES Audio

This is not intended as an in-depth examination of the NES's audio capabilities but just a brief introduction, hopefully just enough to help you understand more about the way Pulsar is designed and the limitations placed on it by the NES hardware.

The NES has four monophonic sound-generating 'voices': two pulse (or square) wave, one triangle wave and one noise.

In addition the NES is able to play low-quality samples via the 5th voice, often referred to as then DPCM/DMC/DCM voice.

Square, Triangle and Noise

The four sound-generating voices all vary in capability. The two square-wave voices are essentially identical.

VoicePitchAmplitudeTone
SquareApprox. 6 octavesYes. 16 levelsOne of four pulse widths is selectable
TriangleApprox. 6 octaves but output pitch is one octave lower than the two square-wave voicesNo. Output level is fixed, voice can be on or off.No
Noise16 frequency settingsYes. 16 levelsTwo modes are selectable: "noise" and "tone". The "tone" mode is a well known characteristic of NES audio, a harsh metallic sound that appears in many NES games.
DPCM/DCM/DMC Voice

Discussion of the technical details of the 5th "sample" voice are beyond the scope of this document. DPCM stands for Differential Pulse Code Modulation, if you're interested in reading more about it on the internet. The NES uses the most basic form of DPCM called "Delta Modulation' which uses a 1-bit data stream. Here's a Wikipedia article on Delta Modulation

Essentially the voice plays 1-bit PCM samples at one of sixteen playback rates (though mostly only the highest few are used, mainly becuase the samples tend to sound pretty terrible at lower speeds). You can read more about Pulsar's handling of the sample voice on the Drumkit page.

List of Samples in Pulsar ROM

Eventually I plan to release a ROM patching tool that will allow you to patch the Pulsar ROM with your own DPCM samples (as I did with NTRQ). For now, here's the list of included samples;