2A03(RP2A03)とは
2A03は、
任天堂と
リコーが共同で開発し、
リコーが製造を担当した
ファミリーコンピュータ(NES)の
8ビットCPUです。このプロセッサは、
MOS 6502をベースとしており、BCD命令とメモリーマップ機能が削除されていますが、PSGタイプの音源やDMA機能が追加されています。最初は
NTSCの映像出力方式に対応しましたが、後に
PAL方式の2A07が開発され、主にヨーロッパ地域向けに利用されました。
開発の背景
1981年、
リコーは
大阪府池田市に半導体工場を設立しましたが、当時は実績が無く、工場の稼働率は非常に低い状況でした。
リコーの松尾和義氏は、
任天堂の
上村雅之氏と知り合いであり、彼に電話をかけて
ASICを提案しました。最初はアーケードゲーム用のICを開発していたものの、その後
ファミリーコンピュータの開発において上村氏から具体的な提案を受けました。
2A03の基盤となった6502は、他の
CPUに比べて回路面積が小さく、周辺機能を一体化することで製造コストを削減することが可能でした。このため、
任天堂にとっては他社が
ファミリーコンピュータ用ゲームソフトを無許可で作成するリスクを下げる手段ともなりました。また、
リコーは低電力版の6502を製造する技術を持っていたため、
ASICの完成を早める利点がありました。
ファミリーコンピュータの
ASICは、アーケードゲームと同等の画質を持ち、ストリングスに近い音を生成することを目指して開発されました。1982年6月からは
ASICの仕様検討が始まり、すぐに仕様は確定。
リコーと
任天堂のエンジニアは共同で試作機を作成しましたが、当時の開発用ツールは台湾製のものを用いなければならず、また、日本では6502の開発ツールが利用できませんでした。そこで、
任天堂は自身でプログラミングツールを開発し、初期のゲームソフトを作成しました。
任天堂は、
ASICの価格を2,000円以内に抑えるよう
リコーに要求しましたが、その条件の見返りに
リコーは2年間で300万個の発注を求めました。最終契約時にはこの数が外されましたが、
リコーは試作品の品質とコストから、この数量は実現可能だと考えていました。
2A03は、オリジナルの6502に比べて一部の機能が削除されていますが、6502の命令の約99%を実行する能力があります。このため、
コモドール64など競合他社の製品に対する差別化が図られました。加えて、2A03は音源となるAPU(Audio Processing Unit)を内蔵しており、主にBGMや効果音の生成に使用される音声生成機能を数種類搭載しています。
ファミリーコンピュータやNESは、一つの
発振回路を基にして、
CPUのクロック周波数や映像信号を生成しています。テレビ信号の規格は国によって異なり、主要に日本や北米で用いられる
NTSCと、ヨーロッパで用いられる
PALがあります。これらの規格の違いにより、
NTSC版と
PAL版では異なる部品が使用されることになります。
ファミリーコンピュータと
NTSC版NESは、約21.47MHzのマスタークロックから12分周して、
CPUの2A03を1.79MHzで動作させています。対して、
PAL版NESでは2A07が用いられ、26.60MHzのマスタークロックから16分周して1.66MHzで動作します。このような設計上の違いが、ゲームの動作や音に影響を与えることがあります。特に、
PAL版のゲームを
NTSC版でプレイすると、動作速度や音質が変化し、表示に不具合が出ることもあります。
まとめ
2A03は
ファミリーコンピュータやNESにおける重要な役割を果たしたプロセッサであり、その開発の背景には数々の技術的課題やビジネス的な戦略が隠されています。これにより、
任天堂は独自のエコシステムを築くことに成功しました。