Ricoh 2A03

2A03（RP2A03）は、任天堂とリコーが共同開発し、リコーが製造したファミリーコンピュータ及びNintendo Entertainment System (NES) 用8ビットCPUである。MOS 6502からBCD命令、メモリーマップ機能を除き、PSGに似た音源やDMA機能が追加された。映像出力方式はNTSCである。後に映像出力方式をPALに変えた「2A07」も開発され、ヨーロッパ向けのNESに搭載された。

 開発 
サムネイル|ファミリーコンピュータのメイン基板
リコーは1981年に大阪府池田市に半導体工場を設立したが、半導体メーカーとしては後発だったため実績がなく、工場の稼働率は非常に低い状況が続いていた。リコーの松尾和義（当時、電子デバイス事業部営業部長）は三菱電機に在職中、任天堂のアーケードゲームを担当していた縁で上村雅之（当時、任天堂開発第二部長）と面識があった。そこで、松尾は上村に電話を掛けてASIC（カスタムIC）を売り込んだ。この時は任天堂のアーケードゲーム用ICを開発した。ファミリーコンピュータの開発では上村からリコーに提案を持ち込んだ。

2A03のCPU部のベースとなった6502は、他のCPUに比べると回路面積が小さいことから、1つのICにサウンド機能などの周辺回路を加えながら製造コストを下げることができた。また、日本では6502の採用実績が少ないことから、ゲームソフトを独占的に供給する計画だった任天堂にとっては、他社に無許可でファミリーコンピュータ用ゲームソフトを作られることを抑制する狙いがあった。リコーは6502のセカンドソースだったロックウェル・インターナショナルから低電力なCMOS版6502の生産技術を取得する見込みがあったため、他のCPUを採用する場合よりも早くASICを完成させられるという利点があった。

ファミリーコンピュータのASICは、アーケードゲームに劣らない画質とストリングスに近い音を生成できる音源を目標に開発された。当初よりアーケードゲーム基板への流用を見込んで、CPUである2A03とテレビ出力のPPU (Picture Processing Unit、2C02) を分離させ、任天堂VS.システムには2A03とRGB出力のPPUが使用された。

1982年6月からASICの仕様検討が始められた。ファミリーコンピュータ本体の仕様検討が始まった1982年10月の時点で、ASICの仕様はほぼ確定しており、リコーと任天堂の技術者が機能の検証やソフトウェア開発に使う試作機を共同で完成させた。ロックウェルの6502用開発ツールは日本で取り扱いがなく、当面は台湾メーカーのインサーキット・エミュレータを使用していた。任天堂はPC-8001をホストコンピュータとするプログラミングツール「NCAP (Nintendo-capture) 」を自社で開発した。麻雀やベースボールなどの初期のゲームソフトはこのツールを使って開発された。

任天堂はリコーにASICの価格を2,000円以内とすることを要求したが、リコーはその見返り条件に2年間で300万個を注文することを要求した。リコーの浅川俊文（当時、常務）は、試作品の画質と音質、価格から、100万個は生産されると予想した。開発契約書には「2年間で300万個を保証する」と記入されるはずだったが、この条件は最終契約時に外された。後に任天堂の谷本克典（当時、常務）は浅川に対して「本当をいうと300万台は自信がなかったですわ。」と告白した。

これらCPUとPPUはリコーが任天堂へ独占的に供給する代わりに、外販には任天堂の許可を必要とした。

 詳細 
リコーはロックウェルへEPROMの技術を供与することと引き換えに、CMOS版6502プロセッサー「R65C00ファミリー」の生産技術を入手した。2A03は、この技術に基づいてリコーが開発したCPUをコアとするASICである。65C02は同世代の他のCPUに比べ、ICチップに占める回路の面積を小さくできることを特徴としていた。1985年にはリコーが65C02をコアにした特注のASICを製品化した。

2A03はオリジナルの6502に比べて、二進化十進表現 (BCD) の演算機能が削除されている。これは、6502を開発したモステクノロジーが持つ特許の侵害を回避する狙いがあると考えられた。当時、モステクノロジーはコモドールの子会社であり、コモドールもコモドール64といったコンピュータゲーム機を開発していたため、任天堂とは競合する存在だった。コモドール64の開発者だったロバート・ラッセルはNESの2A03を解析し、2A03はモステクノロジーの特許を含む回路が取り除かれているにもかかわらず、6502の命令の99%を実行できることを発見した。

2A03は音源となるAPU (Audio Processing Unit) を内蔵している。APUは2系統のパルス波発生装置、1系統の三角波発生装置、1系統のノイズ発生装置、1系統のDPCMを持つ。パルス波発生装置は主にBGMのメロディラインに、三角波発生装置はベースラインに、ノイズ発生装置とDPCMはドラムや効果音に使われた。

 NTSC版とPAL版 
ファミリーコンピュータやNESは一つの発振回路をマスタークロックとし、そこから分周器を使ってCPUのクロック周波数や映像信号を生成する。テレビ映像信号の規格は国によって異なり、主に日本や北米で使われるNTSCとヨーロッパで使われるPALに分かれる。両者にはフレームレートや走査線の数といった違いがあり、NESはこれに対応するため、NTSC版とPAL版で異なる部品が使われている。

ファミリーコンピュータとNTSC版NESは約21.47MHzのマスタークロックを12分周して、CPUである2A03を約1.79MHzで駆動する。PAL版NESではCPUに2A07が使われており、約26.60MHzのマスタークロックを16分周して、約1.66MHzで駆動する。CPUクロック周波数の違いを考慮しても、フレームレートが低いPAL版NESの方がフレーム毎のCPUサイクル数が多くなり、この違いはフレーム単位で処理するゲームの動作に影響を与える。実際、PAL版NES用のゲームカートリッジをNTSC版NESでプレイすると、ゲームの進行速度が変わって音が高くなるとともに、処理落ちによる表示崩れを引き起こすことがある。

 脚注 

 関連項目 

 チップチューン

Category:マイクロプロセッサ
にえせろさん
Category:ファミリーコンピュータ
Category:任天堂の半導体チップ