English
★HARDWARE Manual
★VDP1ユーザーズマニュアル
▲戻る|
進む▼
VDP1ユーザーズマニュアル/第4章 システムレジスタ
■4.6 転送終了状態レジスタ
- 転送終了状態レジスタ(EDSR、End status register)は、直前のフレーム処理の終了状態を表します。読み出し専用の16bitのレジスタで、100010H番地にあります。未使用ビットは0に設定してください。
EDSR 100010H (R) |
bit15 | bit14 | bit13 | bit12 | bit11 | bit10 | bit9 | bit8 |
bit7 | bit6 | bit5 | bit4 | bit3 | bit2 | bit1 | bit0 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
0 | 0 | 0 | 0 | 0 | 0 | CEF | BEF |
- 現フレームでの、エンドビットのフェッチ状態: current end-bit fetch status(CEF)、bit1
- 現在描画中のフレームでコマンドテーブルからエンドビット(描画終了コマンド)をフェッチしたかどうかを表します。0のとき、エンドビットは未フェッチの状態を表し、1のときエンドビットをフェッチし、描画を終了していることを表します。
CEF | エンドビットのフェッチ状態 |
0 | 現フレームでのエンドビットの未フェッチ |
1 | 現フレームでのエンドビットのフェッチ、描画終了 |
- VDP1は、VRAM上のコマンドテーブルを次々にフェッチし、フレームバッファに描画します。描画終了コマンド(エンドビットが1)をフェッチすると1フレームの描画処理を終了します。このとき、CEFは1に設定されます。
- 描画終了(CEF=1)の状態で、CPUからVRAMへデータを転送すると、描画停止のためのオーバーヘッド無しに、CPUは待たされることなくVRAMをアクセスすることができます。
- 描画終了コマンドをフェッチし、VDP1はCEFを1に設定して、割り込み信号を発生させます。
- 描画終了を判定する方法として、エンドビットのフェッチ状態をそのつどCEFで確認する(ポーリング)方法と、この割り込み信号を使う方法との2つがあります。
- VRAM上に描画終了コマンドが無い場合、あってもジャンプ形式でフェッチできないように定義した場合は、このビットは0のままです。
- このビットはフレームバッファの切り替え時、または描画開始時に0に初期化されます。
- フレームバッファ切り替え時に描画終了コマンドのフェッチが一致した場合は、CEF、BEFが1にならないことがあります。
- 前フレームでの、エンドビットのフェッチ状態: before end-bit fetch status(BEF)、ビット0
- 前のフレームでコマンドテーブルからエンドビット(描画終了コマンド)をフェッチしたかどうかを表します。0のとき、エンドビットは未フェッチの状態を表し、1のときエンドビットをフェッチし、描画を終了していることを表します。
BEF | エンドビットのフェッチ状態 |
0 | 前フレームでのエンドビットの未フェッチ |
1 | 前フレームでのエンドビットのフェッチ、描画終了 |
- VDP1は、VRAM上のコマンドテーブルを次々にフェッチし、フレームバッファに描画します。描画終了コマンド(エンドビットが1)をフェッチすると1フレームの描画処理を終了します。
コマンドが多かったり、拡大のため描画するピクセルが多いと、1フレーム内に描画を終了しないことがあり、これを「転送オーバーした」といいます。このビットは、転送オーバーの状態を表します。
- 転送オーバーになった場合は、描画コマンドを減らしたり、描画ピクセルを減らすなどの対策が必要です。
- VRAM上に描画終了コマンドが無い場合、あってもジャンプ形式でフェッチできないように定義した場合は、このビットは0のままです。
- このビットはフレームバッファの切り替え時、または描画開始時にCEFの値が書き込まれ、つぎのフレームバッファ切り替え時まで保持されます。
▲戻る|
進む▼
★HARDWARE Manual
★VDP1ユーザーズマニュアル
Copyright SEGA ENTERPRISES, LTD., 1997