Ricoh 2A03

Ricoh 2A03 / Ricoh 2A07
General information
Launched1983; 41 years ago (1983)
Discontinued2003
Common manufacturer
Performance
Max. CPU clock rate1.79 MHz
Architecture and classification
Technology node6 μm
Instruction setMOS 6502
Physical specifications
Cores
  • 1
Socket
  • Through-hole Dual Inline Package (DIP)
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. 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.[citation needed]

See also

References

  1. ^ Sattler, Christian. "Nintendo RP2A03 and RP2A07". visual6502.org. Retrieved 2020-08-12..
  2. ^ Patent US3991307
  3. ^ "Sound generators of the 1980s home computers". www.atkinsoft.com. Retrieved 2019-12-02.
  4. ^ Taylor, Brad (April 23, 2004). "2A03 technical reference". NesDev.com. Archived from the original on October 17, 2018. Retrieved June 6, 2008.
  5. ^ "Voice Samples in 'Double Dribble (NES)'". The Cutting Room Floor. Retrieved 5 April 2023.
  6. ^ Burke, Kevin (24 January 2017). "NES Expanded Audio: 100k Pot Mod". The Curriculum Crasher. Retrieved 9 October 2021.