表示ステータスと割り込み制御に関するレジスタです。
HBlankは、VBlank中の画面外のスキャンラインを含め、スキャンラインごとに1回発生します。
bit | RW | 内容 |
---|---|---|
0 | R | V-Blankフラグ (1=VBlank) |
1 | R | H-Blankフラグ (1=HBlank) |
2 | R | V-Counterフラグ (1=Match) (set in selected line) |
3 | RW | V-Blank割り込み有効フラグ (1=有効) |
4 | RW | H-Blank割り込み有効フラグ (1=有効) |
5 | RW | V-Counter割り込み有効フラグ (1=有効) |
6 | R | 0, 不使用 |
7 | R | 0, 不使用 |
8-15 | RW | V-Count設定 (LYC) (0..227) |
VBlankフラグはVBlank期間であることを表すフラグで後述のスキャンラインが160~226のときにセットされます。227ではクリアされます。
HBlankフラグはHBlank期間であることを表すフラグで、毎スキャンライン、フラグがトグルされます。
V-Count設定(bit8-15)の値はゲームボーイのLYCとほぼ同じで、その値がVCOUNTレジスタの内容と同じであれば、V-Counterフラグがセットされ(bit2)、(bit5で有効になっていれば)割り込みがリクエストされます。
描画時間はわずか960サイクル(240×4)ですが、H-Blank期間は"0"で合計1006サイクルです。
ゲームボーイのLYレジスタとほぼ同じで現在描画されているスキャンライン(画面の行)を示し、この値が(画面にない)160~227の範囲にあるときはVBlank期間であることを示しています。
bit | RW | 内容 |
---|---|---|
0-7 | R | 現在のスキャンライン (LY) (0..227) |
8 | R | 0, 不使用 |
9-15 | R | 0, 不使用 |