RP2A03
RP2A03 | |
Developer: | Ricoh |
Released: | 1983 |
Type: | Chip |
The RP2A03 is the CPU of the Famicom and Nintendo Entertainment System developed in two versions; the NTSC version is designated as RP2A03 or 2A03, while PAL version is designated as RP2A07 or 2A07. The only difference is the refresh rate which was designed to match each region's television refresh rate; 60 Hz for NTSC, 50 Hz for PAL.
The RP2A03 is an integrated 8-bit CPU developed for Nintendo by the circuit manufacturer Ricoh. The microprocessor integrates a custom MOS Technology 6502 processor clocked at 1.79 MHz, rudimentary DMA, and most important to this site is the chip's built in audio processing unit (APU). The APU contains a custom PSG which developers used to make music.
APU
The APU was designed by Nintendo engineer Yukio Kaneoka, who also composed music and sound effects for numerous games. The chip is US patent publication number US4783812 A, application number 06/893,341, it was filed on 1986-08-05, and published on 1988-11-08, though it was patented in Japan around 1983.
The APU's PSG allowed two square wave channels with four different pulses; 12.5%, 25%, 50%, 75%. The 25% and 75% wave sound so identical it's hard to tell which is which. The third channel was a triangle wave which was usually used for bass, but was also used for flute-like sounds or percussion. The fourth channel was a noise channel, used predominately for percussion, that had two different modes; white noise and periodic noise. The fifth channel was the DPCM (Delta Pulse Code Modulation) which could playback digital 7-bit samples. While the DPCM was mainly used for drum sounds, it was also used for speech, waveforms, and other sound effects.
RP2A07
PAL versions of Nintendo Entertainment System use the RP2A07. It is identical to the RP2A03, except that it uses a refresh rate of 50 Hz to match the PAL television standard. This slower clock rate results in the music playing a half-step lower and a little slower than the 2A03. Audio programmers were expected accommodate this difference in speed by altering their music slightly, but many just left the music slower.
RP2C33
The RP2C33 was the sound hardware used in the Famicom Disk System channel. It contained only one expansion sound channel that used wavetable synthesis.
Revisions
The original 1983 Famicom used the original version of the chip, as well as the Vs. System and PlayChoice-10 arcade systems. The North American toaster model NES used revision G. Early versions of the top-loader NES design also used the G revision, but later models used the H revision.
Picture Gallery
Emulation Status
Most NES emulators and NSF players emulate the sound capabilities of the RP2A03. FamiTracker also emulates the chip.
Formats
There are two ways of ripping NES music. The first and hardest way is NSF ripping which involves extracting the audio code from the game's ROM. Depending on the sound driver and the way the game's programmed, it can be either an easy or extremely difficult task. The second and easier way of ripping NES music is by logging VGM files. So far, the only way to do this is to use MESS VGM Mod. The problem with VGM ripping is that sound effects that intrude a song during gameplay must be hacked out of the game. Also, unused songs that can be ripped from an NSF file cannot be ripped into VGM since the game won't play said unused songs, unless the game is hacked. Like NSF ripping, VGM logging can be either very easy or very difficult depending on the game's coding and sound engine. Another problem with VGM logging is that the files must be trimmed to loop properly since VGM doesn't look for looping points.
Links
- en.wikipedia.org/wiki/Ricoh_2A03 - Wikipedia.
- nesdev.com/2A03%20technical%20reference.txt - Programmers technical reference.
- google.com/patents/US4783812 - US patent information.
- famitracker.com/wiki/index.php?title=2A03 - Nintendo sound chips.
- gdri.smspower.org/wiki/index.php/Famicom/NES_Sound_Driver_List - Famicom/NES Sound Driver List