ファミコンのCPU/音源のフロアプラン
- http://www.visual6502.org/images/pages/Nintendo_RP2A_die_shots.html
- http://www.qmtpro.com/~nes/chipimages/index.php#rp2a03
ファミコンのCPUを分解し、個々の機能ブロックをトレースした人がいる。もっとも、まだvisual6502のビジュアルシミュレータ( http://www.visual6502.org/JSSim/index.html )には部分的にしか載せられていないようだ。
ビジュアルシミュレータでは、6502の部分は既存のものを流用している。
ファミコンのCPUは、CPU(6502の変種)と音源を統合している。
ブロックは大きく4つくらいに分割できるが、左上と左下が音源部、右上はおそらくチップ設計時のテスト用のpad、右下が6502 CPUになっている。右下の模様と本家6502のビジュアルシミュレータ( http://www.visual6502.org/JSSim/expert.html )の模様を比べれば、ほぼ同じ物が入っていることがわかる。
サウンドは左上の左右対称なブロックが矩形波チャンネル(2ch)、左下の大きめのブロックが残りの3ch(ノイズ、三角波、DPCM)となっていると考えられる。CPUよりも音源がデカいのは、CPUに比べて音源は演算幅が大きく(10bit)単純にカウンタが多い(CPUはレジスタA/S/X/Y/PC/フラグレジスタだが、音源は位相+周波数カウンタを5セット要求し、さらに他のパラメタもある)ことによる。
ファミコンのCPUでは、デシマルモード(BCD演算モード)が削除されているが、これによってどの程度領域を節約できたのかは謎としか言いようが無い。見た目としては同じ物が入っているように見える。(ちなみに、スーパーファミコンではBCDモードが復活している)
残念ながら開発者のサインのようなものは見当たらない。例えばAtariのTIA( http://www.visual6502.org/images/pages/Atari_10444D_TIA.html )にはJay Minerを表すとみられるJMのイニシャルを見つけることができる。