ファミコンの仕様① - ハードウェア編

「ファミコンの仕様を知りたい!」と思ってたところにこんな本と出会った。

ファミコンの驚くべき発想力 -限界を突破する技術に学べ- (PCポケットカルチャー)
松浦 健一郎 司 ゆき
技術評論社
売り上げランキング: 256562


CPU
ファミコンのCPUは米モステクノロジー社の「6502」(シンプルな機能で低価格なCPU)を使っている。さらにゲームで使わない機能を削りそこにサウンド機能を追加したカスタム仕様。8bit1.79MHz(現在のCPUの32bit3GHzと比べると6000倍程度の差がある)。

グラフィックス
ファミコン内部にはふたつのLSIが搭載されている。ひとつは上記の「6502」で「演算」と「サウンド」を担当している。もうひとつの「PPU(Picture Processing Unit)」はグラフィックスを担当している。

ファミコンのグラフィックス機能は「スプライト」と「BG」から構成されている。

「スプライト」はキャラクタを表示する機能。CPUが座標や属性といったわずかな情報を示すだけでPPUがスプライトを画面に表示する。CPUに負担をかけない仕組み。欠点は表示できるスプライトの数に制限があること。8×8ピクセルのスプライトを最大64個まで表示できる。ファミコンのキャラクタはスプライトを四つ使って16×16ピクセルで表現されているので最大16人まで表示できる。さらに水平方向にも制限があり8×8ピクセルのスプライトを最大8個までしか並べられない。16×16ピクセルのキャラクタでは最大4人のキャラクタまでは表示できる。「ドラクエ」でたまにキャラクタが「ちらつく」のは高速で表示・非表示くり返してキャラクタが消えてしまうのを防いでいるため。

「BG」はbackground、背景を表示する。画像を格子状にならべ画面全体を滑らかにスクロールさせる。これもCPUは表示したい画像の種類やスクロールの位置を指定するだけ。あとはPPUが行ってくれる。ファミコンの解像度は横256ピクセル縦240ピクセルなので8×8ピクセルのBGを32×30個ならべられる。

ファミコンは最大52色(13色4階調)の色しか使えない。そして実際に画面に表示できるのは25色。これを「パレット(色見本帳)」とつかって選択する。
スプライト用パレット(3色 + 透明色)× 4パレット = 12色
BG用パレット(3色 + 背景色)× 4パレット = 12色

スプライトやBGの絵柄データを「パターン」と呼び、スプライト256個、BG256個定義できた。

メモリ
ファミコン本体にはふたつのRAMが搭載されている。
ワーキングRAM(2KB)CPUに接続。プログラム作業用。
ビデオRAM(2KB)PPUに接続。グラフィックス描画用。

カートリッジにはふたつのROMが搭載されている。
プログラムROM(32KB)プログラムやデータを格納。
キャラクタROM(8KB)スプライトやBGのパターンを格納。

ビデオRAMには2画面分の領域が持てる(1画面1KB)。2画面を縦方向または横方向にならべてスクロールさせるため。のちに、カートリッジに追加のビデオRAMを搭載させて、4画面分の領域を持たせ「斜めスクロール」を実現させるゲームも登場。

サウンド
サウンド機能はCPUに内蔵されていて5系統の音源出力がある。
パルス波(矩形波)2系統。メロディラインに。
三角波ベースラインに。
ノイズドラムや効果音。
DPCM(サンプリング音源)ドラムや効果音。

ROMカートリッジの拡張
カートリッジ側でさまざまな機能が拡張できるところがファミコンの特徴のひとつ。
■スクロール
カートリッジにビデオRAMを搭載し4画面分の領域を持たせ「斜めへのスクロール」を可能にした。
■バッテリーバックアップメモリ
RPGやアドベンチャーゲームなどで途中のデータを保存する。小容量のRAMを搭載し電池をつかって通電する。
■割り込み
特定のタイミングでCPUに信号を送り通知する。ラスタースクロールなどの特殊な処理を実現。

0 件のコメント:

コメントを投稿