Engineering:Ricoh 2A03

From HandWiki
Short description: CPU made by Ricoh for the Nintendo NES
Ricoh 2A03 / Ricoh 2A07
RP2A03E.jpg
General Info
Launched1983 (40 Years)
Discontinued2003
Common manufacturer(s)
Performance
Max. CPU clock rate1.79 MHz
Architecture and classification
Min. feature size6 μm
Instruction setMOS 6502
Physical specifications
Cores
  • 1
Socket(s)
  • Through-hole Dual Inline Package (DIP)
History
RP2A07

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[1] contains an unlicensed derivative of the MOS Technology 6502 core, modified to disable the 6502's binary-coded decimal mode (possibly to avoid a MOS Technology patent[2]). It also integrates a programmable sound generator (also known as APU, featuring twenty two memory-mapped I/O registers),[3] rudimentary DMA, and game controller polling.[4]

Sound hardware

The Ricoh 2A03's sound hardware has 5 channels, separated into two APUs (Audio Processing Units). The first APU contains two general purpose pulse channels with 4 duty cycles, and the second APU contains a triangle wave generator, an LFSR-based Noise generator, and a 1-bit Delta modulation-encoded PCM (DPCM) channel. While a majority of the NES library uses only 4 channels, later games use the 5th DPCM channel due to cartridge memory expansions becoming cheaper. For example, Super Mario Bros. 3 uses the DPCM channel for simple drum sounds, while Journey to Silius uses it for sampled basslines. An interesting quirk of the DPCM channel is that the bit order is reversed compared to what is normally expected for 1-bit PCM. Many developers were unaware of this detail, causing samples to be distorted during playback.[5]

The output of each channel is mixed non-linearly in their respective APU before being combined. On Famicom and Dendy systems, expansion sound chips may add their own sound to the output via a pin on the game cartridge. Expansion audio capabilities were removed from international NES systems, but can be restored by modifying the expansion port located on the bottom of the system.[6]

Regional variations

PAL versions of the NES (sold in Europe, Asia, and Australia) use the Ricoh 2A07 or RP2A07 processor, which is a 2A03 with modifications to better suit the 50 Hz vertical refresh rate used in the PAL television standard. However, most developers lacked the resources to properly adjust their games' music from NTSC to PAL, leading to many PAL games sounding slower, slightly lower-pitched, and in some cases, out-of-tune compared to their original NTSC releases.

See also

  • Nintendo Entertainment System technical specifications

References