Difference between revisions of "RP2A03"
(→Links) |
|||
(12 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
{{Infobox Hardware | {{Infobox Hardware | ||
− | | Title = RP2A03 | + | | Title = RP2A03 |
− | | Image = RP2A03 - On a Famicom.jpg | + | | Image = RP2A03 - On a Famicom.jpg |
− | | Developer = | + | | Developer = [[Nintendo]] |
− | | Released = 1983 | + | | Released = 1983 |
− | | Type = Chip | + | | Type = Chip |
+ | | Channels = 1.) Pulse Wave<br />2.) Pulse Wave<br />3.) Triangle Wave<br />4.) Noise<br />5.) PCM | ||
}} | }} | ||
− | The '''''RP2A03''''' is the CPU | + | The '''''RP2A03''''' is the integrated 8-bit CPU used in the [[Famicom]], [[Nintendo Entertainment System]], [[Vs. System]], [[PlayChoice-10]], and various standalone arcade games. It was created for [[Nintendo]] by the circuit manufacturer [[Ricoh]] using a licensed version of the 6502 processor, originally developed by [[MOS Technology]]. In addition to the CPU, the chip contained rudimentary DMA, and, most important to this site, a built-in audio processing unit (APU). |
− | The | + | The APU was designed by Nintendo engineer [[Yukio Kaneoka]], who also composed music and sound effects for numerous games. The APU contains a 4-channel custom [[Programmable Sound Generator|PSG]] which developers used to make music and a PCM channel for digital sound effects and speech. The chip was originally patented in Japan around 1983. In the USA, it is patent publication number US4783812 A, application number 06/893,341; it was filed on 1986-08-05, and published on 1988-11-08. |
− | + | Two different versions of the CPU were developed for release in NTSC and PAL regions. The NTSC version is designated as RP2A03 or 2A03, while PAL version is designated as RP2A07 or 2A07. The only difference is the clock speed which was designed to match each region's television refresh rate; 60 Hz for NTSC, 50 Hz for PAL. | |
− | The | ||
− | The APU's PSG | + | ==Channels== |
+ | The APU's PSG consisted of two [[Sound Wave#Pulse_Wave|pulse wave]] channels each with a customizable duty cycle; 12.5%, 25%, 50%, and 75%. The 25% and 75% wave sound so identical it's hard to tell which is which. The third channel is a [[Sound Wave#Triangle_Wave|triangle wave]] which was usually used for bass, but was also used for flute-like sounds or percussion. The fourth channel is a noise channel predominately for percussion, that had two different modes; [[Sound Wave#White_Noise|white noise]] and periodic noise. It was generated by a pseudo-random sequence repeating up to 32,737 values. 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, bass, and other sound effects. | ||
− | ==RP2A07== | + | Part of the innovation of the APU was the triangle wave. Most audio chips of the time (like the [[AY-3-8910]] and [[SN76489]]) used three pulse waves, but Yukio Kaneoka had the foresight to modify one pulse wave channel into a triangle wave channel. The sacrifice not only cost a third pulse channel, but also eliminated volume control for the channel, but doing so gave the NES a much richer bass sound. This is be heard by comparing bass-heavy songs released on the NES and another platform without a triangle wave. |
+ | |||
+ | {| align="center" | | ||
+ | | | ||
+ | {{Song-Preview | ||
+ | | Title = NES (2 Pulse, 1 Triangle Wave) | ||
+ | | Song = 04 - Ultima Exodus - NES - A Peaceful Town.ogg | ||
+ | }} | ||
+ | {{Song-Preview | ||
+ | | Title = MSX (3 Pulse Waves) | ||
+ | | Song = 04 - Ultima - Fear of Exodus - MSX2 - A Peaceful Town.ogg | ||
+ | }} | ||
+ | |} | ||
+ | |||
+ | ==Variants== | ||
+ | ===RP2A03=== | ||
+ | The RP2A03 is the original design of the chip and was used for all NTSC releases. Most games were designed to accommodate this chip which ran at 60 Hz. The RP2A03 could go from a value of $07FF (low A) to $0000. | ||
+ | |||
+ | ===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. | 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== | + | ===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. | 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== | + | ===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. | 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== | ==Picture Gallery== | ||
<gallery> | <gallery> | ||
− | + | RP2A03 - On a Famicom.jpg|An RP2A03 soldered onto a Famicom motherboard. | |
− | + | RP2A03G - On an NES.jpg|An RP2A03, G revision, soldered onto an NES motherboard. | |
− | + | RP2A03G - Chip Photo - Front.jpg|A high-resolution photo of the G revision circuit (front). | |
− | + | RP2A03G - Chip Photo - Back.jpg|A high-resolution photo of the G revision circuit (back). | |
− | + | RP2A03 - PSG - Patent Diagram - 1.png|RP2A03 US patent diagram, page 1. | |
− | + | RP2A03 - PSG - Patent Diagram - 2.png|RP2A03 US patent diagram, page 2. | |
− | + | RP2A03 - PSG - Patent Diagram - 3.png|RP2A03 US patent diagram, page 3. | |
− | + | RP2A03 - PSG - Patent Diagram - 4.png|RP2A03 US patent diagram, page 4. | |
− | + | RP2A03 - PSG - Patent Diagram - 5.png|RP2A03 US patent diagram, page 5. | |
− | + | RP2A03 - PSG - Patent Diagram - 6.png|RP2A03 US patent diagram, page 6. | |
− | + | RP2A03 - PSG - Patent Diagram - 7.png|RP2A03 US patent diagram, page 7. | |
− | + | RP2A03 - PSG - Patent Diagram - 8.png|RP2A03 US patent diagram, page 8. | |
− | + | RP2A03 - PSG - Patent Diagram - 9.png|RP2A03 US patent diagram, page 9. | |
− | + | RP2A03 - PSG - Patent Diagram - 10.png|RP2A03 US patent diagram, page 10. | |
</gallery> | </gallery> | ||
==Emulation Status== | ==Emulation Status== | ||
− | Most NES emulators and [[NSF]] players emulate the sound capabilities of the RP2A03. [[FamiTracker]] also emulates the chip. | + | Most NES emulators and [[NSF]] players emulate the sound capabilities of the RP2A03, as do most arcade emulators. [[FamiTracker]] also emulates the chip. |
==Formats== | ==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. | + | There are two common 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 easily 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== | ==Links== | ||
* [https://en.wikipedia.org/wiki/Ricoh_2A03 en.wikipedia.org/wiki/Ricoh_2A03] - Wikipedia. | * [https://en.wikipedia.org/wiki/Ricoh_2A03 en.wikipedia.org/wiki/Ricoh_2A03] - Wikipedia. | ||
* [http://nesdev.com/2A03%20technical%20reference.txt nesdev.com/2A03%20technical%20reference.txt] - Programmers technical reference. | * [http://nesdev.com/2A03%20technical%20reference.txt nesdev.com/2A03%20technical%20reference.txt] - Programmers technical reference. | ||
+ | * [https://www.youtube.com/watch?v=mJnz6dEWwIw youtube.com/watch?v=mJnz6dEWwIw] - Displaced Gamers describes the PCM channel. | ||
* [http://www.google.com/patents/US4783812 google.com/patents/US4783812] - US patent information. | * [http://www.google.com/patents/US4783812 google.com/patents/US4783812] - US patent information. | ||
* [http://famitracker.com/wiki/index.php?title=2A03 famitracker.com/wiki/index.php?title=2A03] - Nintendo sound chips. | * [http://famitracker.com/wiki/index.php?title=2A03 famitracker.com/wiki/index.php?title=2A03] - Nintendo sound chips. | ||
* [http://gdri.smspower.org/wiki/index.php/Famicom/NES_Sound_Driver_List gdri.smspower.org/wiki/index.php/Famicom/NES_Sound_Driver_List] - Famicom/NES Sound Driver List | * [http://gdri.smspower.org/wiki/index.php/Famicom/NES_Sound_Driver_List gdri.smspower.org/wiki/index.php/Famicom/NES_Sound_Driver_List] - Famicom/NES Sound Driver List |
Revision as of 10:09, 13 November 2020
RP2A03 | |
Developer: | Nintendo |
Released: | 1983 |
Type: | Chip |
Channels: | 1.) Pulse Wave |
The RP2A03 is the integrated 8-bit CPU used in the Famicom, Nintendo Entertainment System, Vs. System, PlayChoice-10, and various standalone arcade games. It was created for Nintendo by the circuit manufacturer Ricoh using a licensed version of the 6502 processor, originally developed by MOS Technology. In addition to the CPU, the chip contained rudimentary DMA, and, most important to this site, a built-in audio processing unit (APU).
The APU was designed by Nintendo engineer Yukio Kaneoka, who also composed music and sound effects for numerous games. The APU contains a 4-channel custom PSG which developers used to make music and a PCM channel for digital sound effects and speech. The chip was originally patented in Japan around 1983. In the USA, it is patent publication number US4783812 A, application number 06/893,341; it was filed on 1986-08-05, and published on 1988-11-08.
Two different versions of the CPU were developed for release in NTSC and PAL regions. The NTSC version is designated as RP2A03 or 2A03, while PAL version is designated as RP2A07 or 2A07. The only difference is the clock speed which was designed to match each region's television refresh rate; 60 Hz for NTSC, 50 Hz for PAL.
Contents
Channels
The APU's PSG consisted of two pulse wave channels each with a customizable duty cycle; 12.5%, 25%, 50%, and 75%. The 25% and 75% wave sound so identical it's hard to tell which is which. The third channel is a triangle wave which was usually used for bass, but was also used for flute-like sounds or percussion. The fourth channel is a noise channel predominately for percussion, that had two different modes; white noise and periodic noise. It was generated by a pseudo-random sequence repeating up to 32,737 values. 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, bass, and other sound effects.
Part of the innovation of the APU was the triangle wave. Most audio chips of the time (like the AY-3-8910 and SN76489) used three pulse waves, but Yukio Kaneoka had the foresight to modify one pulse wave channel into a triangle wave channel. The sacrifice not only cost a third pulse channel, but also eliminated volume control for the channel, but doing so gave the NES a much richer bass sound. This is be heard by comparing bass-heavy songs released on the NES and another platform without a triangle wave.
|
Variants
RP2A03
The RP2A03 is the original design of the chip and was used for all NTSC releases. Most games were designed to accommodate this chip which ran at 60 Hz. The RP2A03 could go from a value of $07FF (low A) to $0000.
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, as do most arcade emulators. FamiTracker also emulates the chip.
Formats
There are two common 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 easily 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.
- youtube.com/watch?v=mJnz6dEWwIw - Displaced Gamers describes the PCM channel.
- 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