Ricoh 2A03

The Ricoh 2A03 or RP2A03 (NTSC version) / Ricoh 2A07 or RP2A07 (PAL version) is an 8-bit microprocessor manufactured by Ricoh for the Nintendo Entertainment System video game console. It was also used as a sound chip and secondary CPU by Nintendo's arcade games "Punch-Out!!" and "Donkey Kong 3".
Technical details.
The Ricoh 2A03 contained a second sourced MOS Technology 6502 core, modified to disable the 6502's binary-coded decimal mode (possibly to avoid a MOS Technology patent). It also integrated a programmable sound generator (also known as APU, featuring twenty two memory-mapped I/O registers), rudimentary DMA, and game controller polling.
The programmable sound generator in the 2A03/2A07 contains 5 channels: 2 Pulse Wave channels, which have 4 different sound modes, a Triangle Wave generator, a Noise generator with 16 pitches, and a DPCM (Delta Pulse Code Modulation) channel with 16 pitches.
Sound specifications.
Pulse Channels.
The 2 Pulse channels of the 2A03 support pitches C-0 to B-7, and have 4 pulse modes:
12.5%(‾|_ _ _ _ _ _ _), 25%(‾ ‾|_ _ _ _ _ _), 50% (‾ ‾ ‾ ‾|_ _ _ _) and 75% (‾ ‾ ‾ ‾ ‾ ‾|_ _), with the % value referring to how long the generator is on per cycle.
Because 75% is an inverted version of 25%, they both sound identical. 
Triangle Wave Generator.
The Triangle Wave Generator generates a, well, triangle wave, and supports pitches C--1 to B-6. Because it uses the volume register to create the wave, it has no volume control. However, when viewed in FamiTracker, the register which would normally be used by the Volume and Pulse Width reports hex value $FF. So it isn't really known how the wave is generated, and when.
White Noise Generator.
The Noise Generator creates a random stream of either 7 or 15 bits, depending on which sound mode it's set to, and plays it back. The generator supports pitches $0 to $F.
MODE 0.
Mode 0 generates percussion. $F will generate a low, almost bass-like note, pitch $A will generate a snare-like sound, while pitch $4 will generate a hihat-like sound. Pitches after $3 will start to repeat their waveform and become quieter, due to the generator not being able to keep up with demand. 
MODE 1.
Mode 1 generates a metallic sound, due to the generated waveform being only 7-bit rather than 15-bit in Mode 0. Pitches $C to $F will sound similar to Mode 0, except looped slightly quicker. Once below pitch $B, the metallic sounds will kick in. Similar to Mode 0, pitches below $3 will become quieter due to the generator not being able to keep up.
Sample Playback.
The DPCM channel is a 7-bit PCM channel which is controlled by the 8th bit in the register, which is used to generate the samples. Similar to the Triangle wave Generator, it has no volume control, but for a different reason. Samples are played back using a single bit, ON increases the 7-bit Delta Counter by 1 while OFF decreases it by 1. this makes Pulse Wave playback impossible, as the channel has to work it's way to the value. This adds support for up to 4kb of samples to be stored in up to 4080 bit long samples.
The DPCM channel has 16 pitches. If you were to use a sample playing at the note C-4, this is the pitches you would get in order:
$F C-4, $E G-3, $D E-3, $C C-3, $B A-2, $A G-2, $9 F-2, $8 D-2, $7 C-2, $6 B-1, $5 A-1, $4 G-1, $3 F-1, $2 E-1, $1 D-1, $0 C-1.
Regional variations.
PAL versions of the NES (sold in Europe, Asia, and Australia) used the Ricoh 2A07 or RP2A07 processor, which was identical to the 2A03 except for a different clock divider and the 50 Hz vertical refresh rate used in the PAL television standard, with the exception of the 16 hard-coded sampling rates for the Delta modulation-encoded sample playback unit. The changes were made in order for sampled sounds to maintain the original pitch of the RP2A03 with the new clock divider.