ラインスクロールテーブル(VRAM) 水平方向の座標増分 → → → → スクロール画面 ┏━━━━━━━━━━━━━━━━━━┓ ┏━┯━┯━┯━┯━┯━┯━ ┃1ライン目の水平方向画面スクロール値┃┐┌──→┃ │ │ │ │ │ │ 1ライン目 ┠──────────────────┨││ ┣━┿━┿━┿━┿━┿━┿━ ┃1ライン目の垂直方向画面スクロール値┃├┘┌─→┃ │ │ │ │ │ │ 2ライン目 ┠──────────────────┨│ │ ┣━┿━┿━┿━┿━┿━┿━ ┃1ライン目の水平方向座標増分 ┃┘ │ ┃ │ │ │ │ │ │ 3ライン目 ┣━━━━━━━━━━━━━━━━━━┫ │ ┣━┿━┿━┿━┿━┿━┿━ ┃2ライン目の水平方向画面スクロール値┃┐ │ ┃ │ │ │ │ │ │ 4ライン目 ┠──────────────────┨│ │ ┣━┿━┿━┿━┿━┿━┿━ ┃2ライン目の垂直方向画面スクロール値┃├─┘ ┃ │ │ │ │ │ │ 5ライン目 ┠──────────────────┨│ ┣━┿━┿━┿━┿━┿━┿━ ┃2ライン目の水平方向座標増分 ┃┘ ┃ │ │ │ │ │ │ ┣━━━━━━━━━━━━━━━━━━┫
●水平方向および垂直方向画面スクロール値レジスタ ビット F E D C B A 9 8 7 6 5 4 3 2 1 0 ┌─┬─┬─┬─┬─┰─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┐ +0H│−│−│−│−│−┃ 整 数 部(11ビット) │ └─┴─┴─┴─┴─┸─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┘ ビット F E D C B A 9 8 7 6 5 4 3 2 1 0 ┌─┬─┬─┬─┬─┬─┬─┬─┰─┬─┬─┬─┬─┬─┬─┬─┐ +2H│ 小数部(8ビット) ┃−│−│−│−│−│−│−│−│ └─┴─┴─┴─┴─┴─┴─┴─┸─┴─┴─┴─┴─┴─┴─┴─┘ ●水平方向座標増分 ビット F E D C B A 9 8 7 6 5 4 3 2 1 0 ┌─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┐ +0H│−│−│−│−│−│−│−│−│−│−│−│−│−│ 整数部 │ └─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┘ ビット F E D C B A 9 8 7 6 5 4 3 2 1 0 ┌─┬─┬─┬─┬─┬─┬─┬─┰─┬─┬─┬─┬─┬─┬─┬─┐ +2H│ 小数部(8ビット) ┃−│−│−│−│−│−│−│−│ └─┴─┴─┴─┴─┴─┴─┴─┸─┴─┴─┴─┴─┴─┴─┴─┘ [注]「−」は無視されます
●水平方向および垂直方向画面スクロール値、水平方向座標増分を1ラインごとに指定した場合 ラインスクロールテーブル(VRAM) MSB LSB ┌─────────────────────────┐ ラインスクロール ─→ +00H│1ライン目の水平方向画面スクロール値(整数部) │ テーブルアドレス ├─────────────────────────┤ +02H│1ライン目の水平方向画面スクロール値(小数部) │ ┝━━━━━━━━━━━━━━━━━━━━━━━━━┥ +04H│1ライン目の垂直方向画面スクロール値(整数部) │ ├─────────────────────────┤ +06H│1ライン目の垂直方向画面スクロール値(小数部) │ ┝━━━━━━━━━━━━━━━━━━━━━━━━━┥ +08H│1ライン目の水平方向座標増分 (整数部) │ ├─────────────────────────┤ +0AH│1ライン目の水平方向座標増分 (小数部) │ ┝━━━━━━━━━━━━━━━━━━━━━━━━━┥ +0CH│2ライン目の水平方向画面スクロール値(整数部) │ ├─────────────────────────┤ +0EH│2ライン目の水平方向画面スクロール値(小数部) │ ┝━━━━━━━━━━━━━━━━━━━━━━━━━┥ +10H│2ライン目の垂直方向画面スクロール値(整数部) │ ├─────────────────────────┤ +12H│2ライン目の垂直方向画面スクロール値(小数部) │ ┝━━━━━━━━━━━━━━━━━━━━━━━━━┥ +14H│2ライン目の水平方向座標増分 (整数部) │ ├─────────────────────────┤ +16H│2ライン目の水平方向座標増分 (小数部) │ ┝━━━━━━━━━━━━━━━━━━━━━━━━━┥
●垂直方向画面スクロール値、水平方向座標増分を2ラインごとに指定した場合 ラインスクロールテーブル(VRAM) MSB LSB ┌─────────────────────────┐ ラインスクロール ─→ +00H│1ライン目の垂直方向画面スクロール値(整数部) │ テーブルアドレス ├─────────────────────────┤ +02H│1ライン目の垂直方向画面スクロール値(小数部) │ ┝━━━━━━━━━━━━━━━━━━━━━━━━━┥ +04H│1、2ライン目の水平方向座標増分 (整数部) │ ├─────────────────────────┤ +06H│1、2ライン目の水平方向座標増分 (小数部) │ ┝━━━━━━━━━━━━━━━━━━━━━━━━━┥ +08H│3ライン目の垂直方向画面スクロール値(整数部) │ ├─────────────────────────┤ +0AH│3ライン目の垂直方向画面スクロール値(小数部) │ ┝━━━━━━━━━━━━━━━━━━━━━━━━━┥ +0CH│3、4ライン目の水平方向座標増分 (整数部) │ ├─────────────────────────┤ +0EH│3、4ライン目の水平方向座標増分 (小数部) │ ┝━━━━━━━━━━━━━━━━━━━━━━━━━┥ [注]指定したライン以外のラインの垂直方向の表示座標は、 指定したラインの垂直方向画面スクロール値に垂直方向 座標増分を加えたものになります。
●水平方向画面スクロール値および水平方向座標増分を4ラインごとに指定した場合 (垂直方向ラインスクロールなし) ラインスクロールテーブル(VRAM) MSB LSB ┌─────────────────────────┐ ラインスクロール ─→ +00H│1〜4ライン目の水平方向画面スクロール値(整数部)│ テーブルアドレス ├─────────────────────────┤ +02H│1〜4ライン目の水平方向画面スクロール値(小数部)│ ┝━━━━━━━━━━━━━━━━━━━━━━━━━┥ +04H│1〜4ライン目の水平方向座標増分 (整数部)│ ├─────────────────────────┤ +06H│1〜4ライン目の水平方向座標増分 (小数部)│ ┝━━━━━━━━━━━━━━━━━━━━━━━━━┥ +08H│5〜8ライン目の水平方向画面スクロール値(整数部)│ ├─────────────────────────┤ +0AH│5〜8ライン目の水平方向画面スクロール値(小数部)│ ┝━━━━━━━━━━━━━━━━━━━━━━━━━┥ +0CH│5〜8ライン目の水平方向座標増分 (整数部)│ ├─────────────────────────┤ +0EH│5〜8ライン目の水平方向座標増分 (小数部)│ ┝━━━━━━━━━━━━━━━━━━━━━━━━━┥
縦セルスクロールテーブル(VRAM) ┌─────────────────┐ │1セル目の垂直方向画面スクロール値│──┐ ├─────────────────┤ │ │2セル目の垂直方向画面スクロール値│──┼─┐ ├─────────────────┤ │ │ │3セル目の垂直方向画面スクロール値│──┼─┼─┐ ├─────────────────┤ │ │ │ │ │ │ │ ↓ ↓ ↓ │ │ │ │ │ │ │ │ │ ─┼─┼─┼─┼─┼─┼─┼─┼─┼─ │┏┿━┿━┿━┿━┿━┿━┿━┿━━TV画面 ─┼╂┼─┼─┼─┼─┼─┼─┼─┼─ │┃│ │ │ │ │ │ │ │ ─┼╂┼─┼─┼─┼─┼─┼─┼─┼─ │┃│ │ │ │ │ │ │ │ ─┼╂┼─┼─┼─┼─┼─┼─┼─┼─ │┃│ │ │ │ │ │ │ │ ─┼╂┼─┼─┼─┼─┼─┼─┼─┼─ │┃│ │ │ │ │ │ │ │ ─┼╂┼─┼─┼─┼─┼─┼─┼─┼─ ┃ ├─┤ ↑ 1セル目の垂直方向画面スクロール値有効エリア
●垂直方向画面スクロール値 ビット F E D C B A 9 8 7 6 5 4 3 2 1 0 ┌─┬─┬─┬─┬─┰─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┐ +0H│−│−│−│−│−┃ 整 数 部(11ビット) │ └─┴─┴─┴─┴─┸─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┘ ビット F E D C B A 9 8 7 6 5 4 3 2 1 0 ┌─┬─┬─┬─┬─┬─┬─┬─┰─┬─┬─┬─┬─┬─┬─┬─┐ +2H│ 小数部(8ビット) ┃−│−│−│−│−│−│−│−│ └─┴─┴─┴─┴─┴─┴─┴─┸─┴─┴─┴─┴─┴─┴─┴─┘ [注]「−」は無視されます
●NBG0のみ縦セルスクロールをする場合 縦セルスクロールテーブル(VRAM) MSB LSB ┌──────────────────────────┐ 縦セルスクロール → +00H│NBG0の1セル目の垂直方向画面スクロール値・整数部│ テーブルアドレス ├──────────────────────────┤ +02H│NBG0の1セル目の垂直方向画面スクロール値・小数部│ ┝━━━━━━━━━━━━━━━━━━━━━━━━━━┥ +04H│NBG0の2セル目の垂直方向画面スクロール値・整数部│ ├──────────────────────────┤ +06H│NBG0の2セル目の垂直方向画面スクロール値・小数部│ ┝━━━━━━━━━━━━━━━━━━━━━━━━━━┥ +08H│NBG0の3セル目の垂直方向画面スクロール値・整数部│ ├──────────────────────────┤ +0AH│NBG0の3セル目の垂直方向画面スクロール値・小数部│ ┝━━━━━━━━━━━━━━━━━━━━━━━━━━┥ +0CH│NBG0の4セル目の垂直方向画面スクロール値・整数部│ ├──────────────────────────┤ +0EH│NBG0の4セル目の垂直方向画面スクロール値・小数部│ ┝━━━━━━━━━━━━━━━━━━━━━━━━━━┥ +10H│NBG0の5セル目の垂直方向画面スクロール値・整数部│ ├──────────────────────────┤ +12H│NBG0の5セル目の垂直方向画面スクロール値・小数部│ ┝━━━━━━━━━━━━━━━━━━━━━━━━━━┥
●NBG1のみ縦セルスクロールをする場合 縦セルスクロールテーブル(VRAM) MSB LSB ┌──────────────────────────┐ 縦セルスクロール → +00H│NBG1の1セル目の垂直方向画面スクロール値・整数部│ テーブルアドレス ├──────────────────────────┤ +02H│NBG1の1セル目の垂直方向画面スクロール値・小数部│ ┝━━━━━━━━━━━━━━━━━━━━━━━━━━┥ +04H│NBG1の2セル目の垂直方向画面スクロール値・整数部│ ├──────────────────────────┤ +06H│NBG1の2セル目の垂直方向画面スクロール値・小数部│ ┝━━━━━━━━━━━━━━━━━━━━━━━━━━┥ +08H│NBG1の3セル目の垂直方向画面スクロール値・整数部│ ├──────────────────────────┤ +0AH│NBG1の3セル目の垂直方向画面スクロール値・小数部│ ┝━━━━━━━━━━━━━━━━━━━━━━━━━━┥ +0CH│NBG1の4セル目の垂直方向画面スクロール値・整数部│ ├──────────────────────────┤ +0EH│NBG1の4セル目の垂直方向画面スクロール値・小数部│ ┝━━━━━━━━━━━━━━━━━━━━━━━━━━┥ +10H│NBG1の5セル目の垂直方向画面スクロール値・整数部│ ├──────────────────────────┤ +12H│NBG1の5セル目の垂直方向画面スクロール値・小数部│ ┝━━━━━━━━━━━━━━━━━━━━━━━━━━┥
●NBG0、NBG1の縦セルスクロールをする場合 縦セルスクロールテーブル(VRAM) MSB LSB ┌──────────────────────────┐ 縦セルスクロール → +00H│NBG0の1セル目の垂直方向画面スクロール値・整数部│ テーブルアドレス ├──────────────────────────┤ +02H│NBG0の1セル目の垂直方向画面スクロール値・小数部│ ┝━━━━━━━━━━━━━━━━━━━━━━━━━━┥ +04H│NBG1の1セル目の垂直方向画面スクロール値・整数部│ ├──────────────────────────┤ +06H│NBG1の1セル目の垂直方向画面スクロール値・小数部│ ┝━━━━━━━━━━━━━━━━━━━━━━━━━━┥ +08H│NBG0の2セル目の垂直方向画面スクロール値・整数部│ ├──────────────────────────┤ +0AH│NBG0の2セル目の垂直方向画面スクロール値・小数部│ ┝━━━━━━━━━━━━━━━━━━━━━━━━━━┥ +0CH│NBG1の2セル目の垂直方向画面スクロール値・整数部│ ├──────────────────────────┤ +0EH│NBG1の2セル目の垂直方向画面スクロール値・小数部│ ┝━━━━━━━━━━━━━━━━━━━━━━━━━━┥ +10H│NBG0の3セル目の垂直方向画面スクロール値・整数部│ ├──────────────────────────┤ +12H│NBG0の3セル目の垂直方向画面スクロール値・小数部│ ┝━━━━━━━━━━━━━━━━━━━━━━━━━━┥
15 | 14 | 13 | 12 | 11 | 10 | 09 | 08 |
- |
- |
N1LSS1 |
N1LSS0 |
N1LZMX |
N1LSCY |
N1LSCX |
N1VCSC |
---|
07 | 06 | 05 | 04 | 03 | 02 | 01 | 00 |
- |
- |
N0LSS1 |
N0LSS0 |
N0LZMX |
N0LSCY |
N0LSCX |
N0VCSC |
---|
N0LSS1,N0LSS0 | 18009AH | ビット5,4 | NBG0用 |
N1LSS1,N1LSS0 | 18009AH | ビット13,12 | NBG1用 |
NxLSS1 | NxLSS0 | インタレース設定 | ||
---|---|---|---|---|
ノンインタレース | 単密インタレース | 倍密インタレース | ||
0 | 0 | 1ラインごと | 2ラインごと | 1ラインごと |
0 | 1 | 2ラインごと | 4ラインごと | 2ラインごと |
1 | 0 | 4ラインごと | 8ラインごと | 4ラインごと |
1 | 1 | 8ラインごと | 16ラインごと | 8ラインごと |
N0LZMX | 18009AH | ビット3 | NBG0用 |
N1LZMX | 18009AH | ビット11 | NBG1用 |
NxLZMX | 処 理 |
---|---|
0 | 水平方向にライン単位で拡大縮小を行いません |
1 | 水平方向にライン単位で拡大縮小を行います |
N0LSCY | 18009AH | ビット2 | NBG0用 |
N1LSCY | 18009AH | ビット10 | NBG1用 |
NxLSCY | 処 理 |
---|---|
0 | 垂直方向にライン単位でスクロールを行いません |
1 | 垂直方向にライン単位でスクロールを行います |
N0LSCX | 18009AH | ビット1 | NBG0用 |
N1LSCX | 18009AH | ビット9 | NBG1用 |
NxLSCX | 処 理 |
---|---|
0 | 水平方向にライン単位でスクロールを行いません |
1 | 水平方向にライン単位でスクロールを行います |
N0VCSC | 18009AH | ビット0 | NBG0用 |
N1VCSC | 18009AH | ビット8 | NBG1用 |
NxVCSC | 処理 |
0 | 縦セルスクロールを行いません |
---|---|
1 | 縦セルスクロールを行います |
縦スクロール機能の制限事項 |
また、この制限事項は、NBG0とNBG1の縦セルスクロール機能を同時に使用している状態から、 どちらか一方の縦セルスクロール機能を使用しない状態へ変化させるときにも守らなければいけません。
この状態からNBG0の縦セルスクロール機能を使用しない状態するには、 同じVブランク期間中で以下の設定に変更します。
この状態からNBG1の縦セルスクロール機能だけを使用しない状態するには、 同じVブランク期間中で以下の設定に変更します。
15 | 14 | 13 | 12 | 11 | 10 | 09 | 08 |
- |
- |
- |
- |
- |
- |
- |
- |
---|
07 | 06 | 05 | 04 | 03 | 02 | 01 | 00 |
- |
- |
- |
- |
- |
N0LSTA18 |
N0LSTA17 |
N0LSTA16 |
---|
15 | 14 | 13 | 12 | 11 | 10 | 09 | 08 |
N0LSTA15 |
N0LSTA14 |
N0LSTA13 |
N0LSTA12 |
N0LSTA11 |
N0LSTA10 |
N0LSTA9 |
N0LSTA8 |
---|
07 | 06 | 05 | 04 | 03 | 02 | 01 | 00 |
N0LSTA7 |
N0LSTA6 |
N0LSTA5 |
N0LSTA4 |
N0LSTA3 |
N0LSTA2 |
N0LSTA1 |
- |
---|
15 | 14 | 13 | 12 | 11 | 10 | 09 | 08 |
- |
- |
- |
- |
- |
- |
- |
- |
---|
07 | 06 | 05 | 04 | 03 | 02 | 01 | 00 |
- |
- |
- |
- |
- |
N1LSTA18 |
N1LSTA17 |
N1LSTA16 |
---|
15 | 14 | 13 | 12 | 11 | 10 | 09 | 08 |
N1LSTA15 |
N1LSTA14 |
N1LSTA13 |
N1LSTA12 |
N1LSTA11 |
N1LSTA10 |
N1LSTA9 |
N1LSTA8 |
---|
07 | 06 | 05 | 04 | 03 | 02 | 01 | 00 |
N1LSTA7 |
N1LSTA6 |
N1LSTA5 |
N1LSTA4 |
N1LSTA3 |
N1LSTA2 |
N1LSTA1 |
- |
---|
N0LSTA18〜N0LSTA16 | 1800A0H | ビット2〜0 | NBG0用(上位ビット) | N0LSTA15〜N0LSTA1 | 1800A2H | ビット15〜1 | NBG0用(下位ビット) | N1LSTA18〜N1LSTA16 | 1800A4H | ビット2〜0 | NBG1用(上位ビット) | N1LSTA15〜N1LSTA1 | 1800A6H | ビット15〜1 | NBG1用(下位ビット) |
実際の先頭VRAMアドレスは、次の式で計算されます。VRAM容量が4Mビットの場合は、アドレスの最上位ビットは無視されます。
(ラインスクロールテーブル先頭アドレス)=(ラインスクロールテーブルアドレスレジスタ値18ビット)×4H
15 | 14 | 13 | 12 | 11 | 10 | 09 | 08 |
- |
- |
- |
- |
- |
- |
- |
- |
---|
07 | 06 | 05 | 04 | 03 | 02 | 01 | 00 |
- |
- |
- |
- |
- |
VCSTA18 |
VCSTA17 |
VCSTA16 |
---|
15 | 14 | 13 | 12 | 11 | 10 | 09 | 08 |
VCSTA15 |
VCSTA14 |
VCSTA13 |
VCSTA12 |
VCSTA11 |
VCSTA10 |
VCSTA9 |
VCSTA8 |
---|
07 | 06 | 05 | 04 | 03 | 02 | 01 | 00 |
VCSTA7 |
VCSTA6 |
VCSTA5 |
VCSTA4 |
VCSTA3 |
VCSTA2 |
VCSTA1 |
- |
---|
VCSTA18〜VCSTA16 | 18009CH | ビット2〜0 | |
VCSTA15〜VCSTA1 | 18009EH | ビット15〜1 |
(縦セルスクロールテーブル先頭アドレス) =(縦セルスクロールテーブルアドレスレジスタ値18ビット)×4H