English
★HARDWARE Manual
★VDP1ユーザーズマニュアル
VDP1ユーザーズマニュアル
言葉の説明
このマニュアルで使われている言葉を以下に説明します。
- VDP1
- VDP1は描画を制御するICです。VDP1にはVRAMとフレームバッファ(いずれもDRAM)が接続されています。CPUからVDP1を介してVRAMに描画コマンドが書き込まれます。VDP1はVRAMから描画コマンドを読み出し、フレームバッファに描画データを書き込み(描画し)、その後フレームバッファから描画データをディスプレイ装置に表示のため転送します。
フレームバッファはいわゆるビットマップ方式のメモリで、フレームバッファに書き込まれたデータと表示画面の内容とが1対1に対応します。フレームバッファが表示画面の写像となります。
VDP1の内部にはシステムレジスタがあり、このレジスタに値を設定することで画面の表示を制御します。
- ディスプレイ
- 表示は一般的なディスプレイ装置であるTVを使います。国内とアメリカのTVの規格はNTSC方式です。ヨーロッパのTVはPAL方式です。
ハイレゾは解像度を高めたもので、横の解像度が2倍になります。31KCは縦の解像度を上げるため水平周波数を通常の15KCの倍の値にした方式です。ハイビジョン(HDTV)はいわゆる高品位TVで、一般のTVに比べて縦横とも2倍の解像度があります。
TVの表示には、フィールドとフレームがあります。フィールドは、走査線が1画面を走査する時間です。NTSC方式では1/60秒、PAL方式では1/50秒です。フレームは1枚の画像が表示されている期間です。フレームバッファの切り替わりから、次の切り替わりまでが1フレームです。フレームバッファの切り替えモードが1サイクルモードの場合、1フレームは1フィールドです。単密インタレース等で2フィールドごとにフレームバッファを切り替えた場合、1フレームは2フィールドになります。マニュアルモードで1秒に1回しか切り替えない場合、NTSC方式では1フレームが60フィールド、PAL方式では1フレームが50フィールドになります。
各フレームの描画の前にフレームバッファは自動的に消去(イレース)されます。消去はレジスタに指定したコードをフレームバッファに書き込む(フィル)ことで行われます。この消去と書き込みの動作をイレースライトと呼びます。
- アクセス
- CPU、VDP1からVRAM、システムレジスタ、フレームバッファのデータを読み出し、書き込みすることをアクセスすると言います。VRAM、システムレジスタ、フレームバッファをアクセスするときはアービトレーションを取って行われます。アービトレーションとは二つ以上のデバイスから同時にアクセスがあったとき優先順位(プライオリティ)を付けて行うことです。通常は書き込みの方が描画のための読み出しよりも優先されます。
DMAコントローラを使うと、VRAMへのアクセスはバースト転送で連続して高速に行うことができます。ただしレジスタはバーストアクセスはしないでください。
- データ
- ビット(bit)は0または1を表わす最小のデータの単位です。8ビットをまとめてバイト(Byte)と呼び、16ビット(または2バイト)をワードと呼びます。バイトの上位、下位それぞれ4ビットに分けたとき、それぞれをニブルと呼びます。
- コマンド
- コマンドには、描画コマンド、クリッピング座標設定コマンド、相対座標設定コマンドがあります。クリッピングは設定した領域の外の図形を切り取ります。相対座標は、描画コマンドの指定座標を相対座標として描画位置を変えます。
コマンドはコマンドテーブルとして、VRAMに定義します。テーブルには、コマンドテーブルの他、キャラクタパターンテーブル、グーローシェーディングテーブル、カラールックアップテーブルがあります。
テーブルはVRAM上で8HByteバウンダリ、または20HByteバウンダリのアドレスから定義し格納します。バウンダリとは、その値8H、20Hでアドレスを割ったときに余りが無く割り切れることをいいます。レジスタは2HByte(ワード)バウンダリになっています。
VDP1はコマンドテーブルを次々にフェッチし、コマンドに従って描画します。フェッチとはコマンドを処理するためにVRAMから読み出すことをいいます。
- パーツ
- 描画コマンドで描画するものをパーツと呼びます。パーツはテクスチャパーツとノンテクスチャパーツに分けられます。テクスチャパーツはスプライトです。ノンテクスチャパーツにはポリゴン、ポリライン、ラインがあります。
スプライトはいわゆるキャラクタです。キャラクタはキャラクタパターンテーブルとして、キャラクタのカラーコードをVRAMに定義します。ポリゴンは、中を塗りつぶした四角形で、ポリラインは塗りつぶさない四角形で、ラインは2点を結ぶ直線です。
VDP1は、VRAM上の描画コマンドを処理して、パーツをフレームバッファに描画します。描画はピクセル(pixel、画素)単位で行われます。フレームバッファ上のデータは16、または8bit/pixelでカラーを表現します。
- カラー(色)
- カラーの表現方法には、RGBコード方式と、パレットコードとカラーバンクによるカラーバンク方式があります。
RGBコード方式は赤(R)、緑(G)、青(B)それぞれの輝度を5ビットで指定してカラーを表現します。
カラーバンク方式では、カラーバンクでVDP2のカラーパレットを選び、パレットコードでカラーパレットからカラーを選びます。
スプライトは、カラールックアップテーブル方式でカラーを指定することもできます。カラールックアップテーブルには16色のカラーを定義し、その中からカラーを選びます。カラーコードはRGBコード、カラーバンクコードどちらでも指定できます。
- 色演算
- VDP1の特殊機能として色演算があります。グーローシェーディングは色演算です。グーローシェーディングテーブルで定義した4点のRGBコードでパーツのRGBコードの輝度を変更します。
マニュアルの表記法
このマニュアルの、表記法は以下のようになっています。
- 2進数、16進数
- 2進数は末尾にBを付けて表記します。例えば、100Bと表します。ただし1bitの時はBを省略することがあります。
16進数は末尾にHを付けて表記します。例えば、00H、FFHと表します。
- 単位
- 1KByteは1024Byteを表します。1Mbitは1,048,576bitとなります。
- MSB、LSB
- バイト、ワードの構成は、左が上位ビット(MSB、most significant bit)、右が下位ビット(LSB、least significant bit)を表します。
- 未定義ビット
- コマンドテーブル、システムレジスタで定義していないビットは、「−」で表します。
システムレジスタの未定義ビットには0を書き込んでください。
コマンドテーブル上で、1ワードすべて未使用のときは Don't careです。0、1どちらでも書き込むことができます。1ワード中、使用ビットがあるときは、残りの未使用ビットは0で埋めてください。
- アドレス、番地
- このマニュアルで表示しているアドレスはVDP1の相対番地を表します。VDP1はシステムの絶対番地5C00000H番地にあります。
それぞれの絶対番地は5C00000Hを加えて、求めてください。
例えば、000000HのVRAMの絶対番地は5C00000H番地となり、180000Hのシステムレジスタの絶対番地は5D80000Hとなります。
★HARDWARE Manual
★VDP1ユーザーズマニュアル
Copyright SEGA ENTERPRISES, LTD., 1997