Line scroll table (VRAM) Horizontal coordinate increment → → → → Scroll screen ┏━━━━━━━━━━━━━━━━━━━━┓ ┏━┯━┯━┯━┯━┯━┯━ ┃1st line horizontal ┃┐┌──→┃ │ │ │ │ │ │ 1st line ┃screen scroll value ┃││ ┃ │ │ │ │ │ │ ┠────────────────────┨││ ┣━┿━┿━┿━┿━┿━┿━ ┃1st line vertical ┃├┘┌─→┃ │ │ │ │ │ │ 2nd line ┃screen scroll value ┃│ │ ┃ │ │ │ │ │ │ ┠────────────────────┨│ │ ┣━┿━┿━┿━┿━┿━┿━ ┃1st line horizontal ┃┘ │ ┃ │ │ │ │ │ │ 3rd line ┃coordinate increment┃ │ ┃ │ │ │ │ │ │ ┣━━━━━━━━━━━━━━━━━━━━┫ │ ┣━┿━┿━┿━┿━┿━┿━ ┃2nd line horizontal ┃┐ │ ┃ │ │ │ │ │ │ 4th line ┃screen scroll value ┃│ │ ┃ │ │ │ │ │ │ ┠────────────────────┨│ │ ┣━┿━┿━┿━┿━┿━┿━ ┃2nd line vertical ┃├─┘ ┃ │ │ │ │ │ │ 5th line ┃screen scroll value ┃│ ┃ │ │ │ │ │ │ ┠────────────────────┨│ ┣━┿━┿━┿━┿━┿━┿━ ┃2nd line horizontal ┃┘ ┃ │ │ │ │ │ │ ┃coordinate increment┃ ┃ │ │ │ │ │ │ ┣━━━━━━━━━━━━━━━━━━━━┫
●Horizontal and vertical screen scroll value registers Bit F E D C B A 9 8 7 6 5 4 3 2 1 0 ┌─┬─┬─┬─┬─┰─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┐ +0H│−│−│−│−│−┃Integer part(11 bits)│ └─┴─┴─┴─┴─┸─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┘ Bit F E D C B A 9 8 7 6 5 4 3 2 1 0 ┌─┬─┬─┬─┬─┬─┬─┬─┰─┬─┬─┬─┬─┬─┬─┬─┐ +2H│Decimal part ┃−│−│−│−│−│−│−│−│ │(8 bits) ┃ │ │ │ │ │ │ │ │ └─┴─┴─┴─┴─┴─┴─┴─┸─┴─┴─┴─┴─┴─┴─┴─┘ ●Horizontal coordinate increment Bit F E D C B A 9 8 7 6 5 4 3 2 1 0 ┌─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┐ +0H│−│−│−│−│−│−│−│−│−│−│−│−│−│Int │ │ │ │ │ │ │ │ │ │ │ │ │ │ │part │ └─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┘ Bit F E D C B A 9 8 7 6 5 4 3 2 1 0 ┌─┬─┬─┬─┬─┬─┬─┬─┰─┬─┬─┬─┬─┬─┬─┬─┐ +2H│Decimal part ┃−│−│−│−│−│−│−│−│ │(8 bits) ┃ │ │ │ │ │ │ │ │ └─┴─┴─┴─┴─┴─┴─┴─┸─┴─┴─┴─┴─┴─┴─┴─┘ [Note] "-" is ignored
●When specifying horizontal and vertical screen scroll values and horizontal coordinate increments for each line Line scroll table (VRAM) MSB LSB ┌────────────────────────────────┐ Line scroll ─→ +00H│ 1st line horizontal screen │ table address │ scroll value (integer part) │ ├────────────────────────────────┤ +02H│ 1st line horizontal screen │ │ scroll value (decimal part) │ ┝━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┥ +04H│ 1st line vertical screen │ │ scroll value (integer part) │ ├────────────────────────────────┤ +06H│ 1st line vertical screen │ │ scroll value (decimal part) │ ┝━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┥ +08H| 1st line horizontal coordinate | | increment (integer part) | ├────────────────────────────────┤ +0AH│ 1st line horizontal coordinate │ │ increment (decimal part) │ ┝━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┥ +0CH│ 2nd line horizontal screen │ │ scroll value (integer part) │ ├────────────────────────────────┤ +0EH│ 2nd line horizontal screen │ │ scroll value (decimal part) │ ┝━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┥ +10H| 2nd line vertical screen | | scroll value (integer part) | ├────────────────────────────────┤ +12H| 2nd line vertical screen | | scroll value (decimal part) | ┝━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┥ +14H| 2nd line horizontal coordinate | | increment (integer part) | ├────────────────────────────────┤ +16H| 2nd line horizontal coordinate | | increment (decimal part) | ┝━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┥
●When specifying the vertical screen scroll value and horizontal coordinate increment every two lines Line scroll table (VRAM) MSB LSB ┌─────────────────────────────────────┐ Line scroll ─→ +00H│ 1st line vertical screen │ table address │ scroll value (integer part) │ ├─────────────────────────────────────┤ +02H│ 1st line vertical screen │ │ scroll value (decimal part) │ ┝━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┥ +04H| 1st and 2nd line horizontal | | coordinate increment (integer part) | ├─────────────────────────────────────┤ +06H│ 1st and 2nd line horizontal │ │ coordinate increment (decimal part) │ ┝━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┥ +08H| 3rd line vertical screen | | scroll value (integer part) | ├─────────────────────────────────────┤ +0AH│ 3rd line vertical screen │ │ scroll value (decimal part) │ ┝━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┥ +0CH│ 3rd and 4th line horizontal │ │ coordinate increment (integer part) │ ├─────────────────────────────────────┤ +0EH│ 3rd and 4th line horizontal │ │ coordinate increment (decimal part) │ ┝━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┥ [Note] The vertical display coordinates of lines other than the specified line are the vertical screen scroll value of the specified line plus the vertical coordinate increment.
●When the horizontal screen scroll value and horizontal coordinate increment are specified every 4 lines (no vertical line scroll) Line scroll table (VRAM) MSB LSB ┌─────────────────────────────────────┐ Line scroll ─→ +00H│ Horizontal screen scroll value for │ table address │ 1st to 4th lines (integer part) │ ├─────────────────────────────────────┤ +02H| Horizontal screen scroll value for | | 1st to 4th lines (decimal part) | ┝━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┥ +04H| Horizontal coordinate increment of | | 1st to 4th lines (integer part) | ├─────────────────────────────────────┤ +06H| Horizontal coordinate increment for | | 1st to 4th lines (decimal part) | ┝━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┥ +08H| Horizontal screen scroll value for | | 5th to 8th lines (integer part) | ├─────────────────────────────────────┤ +0AH| Horizontal screen scroll value for | | 5th to 8th lines (decimal part) | ┝━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┥ +0CH| Horizontal coordinate increment of | | 5th to 8th lines (integer part) | ├─────────────────────────────────────┤ +0EH| Horizontal coordinate increment of | | 5th to 8th lines (decimal part) | ┝━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┥
Vertical cell scroll table (VRAM) ┌─────────────────┐ │Vertical screen │──┐ │scroll value of │ │ │1st cell │ │ ├─────────────────┤ │ │Vertical screen │──┼─┐ │scroll value of │ │ │ │2nd cell │ │ │ ├─────────────────┤ │ │ │Vertical screen │──┼─┼─┐ │scroll value of │ │ │ │ │3rd cell │ │ │ │ ├─────────────────┤ │ │ │ │ │ │ │ ↓ ↓ ↓ │ │ │ │ │ │ │ │ │ ─┼─┼─┼─┼─┼─┼─┼─┼─┼─ │┏┿━┿━┿━┿━┿━┿━┿━┿━━TV screen ─┼╂┼─┼─┼─┼─┼─┼─┼─┼─ │┃│ │ │ │ │ │ │ │ ─┼╂┼─┼─┼─┼─┼─┼─┼─┼─ │┃│ │ │ │ │ │ │ │ ─┼╂┼─┼─┼─┼─┼─┼─┼─┼─ │┃│ │ │ │ │ │ │ │ ─┼╂┼─┼─┼─┼─┼─┼─┼─┼─ │┃│ │ │ │ │ │ │ │ ─┼╂┼─┼─┼─┼─┼─┼─┼─┼─ ┃ ├─┤ ↑ 1st cell vertical screen scroll value valid area
●Vertical screen scroll value Bit F E D C B A 9 8 7 6 5 4 3 2 1 0 ┌─┬─┬─┬─┬─┰─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┐ +0H│−│−│−│−│−┃ Integer part │ │ │ │ │ │ ┃ (11 bits) │ └─┴─┴─┴─┴─┸─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┘ Bit F E D C B A 9 8 7 6 5 4 3 2 1 0 ┌─┬─┬─┬─┬─┬─┬─┬─┰─┬─┬─┬─┬─┬─┬─┬─┐ +2H│ Decimal part ┃−│−│−│−│−│−│−│−│ │ (8 bits) ┃ │ │ │ │ │ │ │ │ └─┴─┴─┴─┴─┴─┴─┴─┸─┴─┴─┴─┴─┴─┴─┴─┘ [Note] "-" is ignored
●When performing vertical cell scrolling only on NBG0 Vertical cell scroll table (VRAM) MSB LSB ┌─────────────────────────────────────┐ Vertical cell → +00H| Vertical screen scroll value of the | scroll table | 1st cell of NBG0 / Integer part | address ├─────────────────────────────────────┤ +02H| Vertical screen scroll value of the | | 1st cell of NBG0 / Decimal part | ┝━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┥ +04H| Vertical screen scroll value of the | | 2nd cell of NBG0 / Integer part | ├─────────────────────────────────────┤ +06H| Vertical screen scroll value of the | | 2nd cell of NBG0 / Decimal part | ┝━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┥ +08H| Vertical screen scroll value of | | 3rd cell of NBG0 / Integer part | ├─────────────────────────────────────┤ +0AH| Vertical screen scroll value of | | 3rd cell of NBG0 / Decimal part | ┝━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┥ +0CH| Vertical screen scroll value of | | 4th cell of NBG0 / Integer part | ├─────────────────────────────────────┤ +0EH| Vertical screen scroll value of | | 4th cell of NBG0 / Decimal part | ┝━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┥ +10H| Vertical screen scroll value of | | 5th cell of NBG0 / Integer part | ├─────────────────────────────────────┤ +12H| Vertical screen scroll value of | | 5th cell of NBG0 / Decimal part | ┝━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┥
●When vertical cell scrolling is performed only in NBG1 Vertical cell scroll table (VRAM) MSB LSB ┌─────────────────────────────────────┐ Vertical cell → +00H| Vertical screen scroll value of the | scroll table | 1st cell of NBG1 / Integer part | address ├─────────────────────────────────────┤ +02H| Vertical screen scroll value of the | | 1st cell of NBG1 / Decimal part | ┝━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┥ +04H| Vertical screen scroll value of the | | 2nd cell of NBG1 / Integer part | ├─────────────────────────────────────┤ +06H| Vertical screen scroll value of the | | 2nd cell of NBG1 / Decimal part | ┝━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┥ +08H| Vertical screen scroll value of the | | 3rd cell of NBG1 / Integer part | ├─────────────────────────────────────┤ +0AH| Vertical screen scroll value of the | | 3rd cell of NBG1 / Decimal part | ┝━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┥ +0CH| Vertical screen scroll value of the | | 4th cell of NBG1 / Integer part | ├─────────────────────────────────────┤ +0EH| Vertical screen scroll value of the | | 4th cell of NBG1 / Decimal part | ┝━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┥ +10H| Vertical screen scroll value of the | | 5th cell of NBG1 / Integer part | ├─────────────────────────────────────┤ +12H| Vertical screen scroll value of the | | 5th cell of NBG1 / Decimal part | ┝━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┥
●When vertical cell scrolling of NBG0 and NBG1 Vertical cell scroll table (VRAM) MSB LSB ┌─────────────────────────────────────┐ Vertical cell → +00H| Vertical screen scroll value of the | scroll table | 1st cell of NBG0 / Integer part | address ├─────────────────────────────────────┤ +02H| Vertical screen scroll value of the | | 1st cell of NBG0 / Decimal part | ┝━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┥ +04H| Vertical screen scroll value of the | | 1st cell of NBG1 / Integer part | ├─────────────────────────────────────┤ +06H| Vertical screen scroll value of the | | 1st cell of NBG1 / Decimal part | ┝━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┥ +08H| Vertical screen scroll value of the | | 2nd cell of NBG0 / Integer part | ├─────────────────────────────────────┤ +0AH| Vertical screen scroll value of the | | 2nd cell of NBG0 / Decimal part | ┝━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┥ +0CH| Vertical screen scroll value of the | | 2nd cell of NBG1 / Integer part | ├─────────────────────────────────────┤ +0EH| Vertical screen scroll value of the | | 2nd cell of NBG1 / Decimal part | ┝━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┥ +10H| Vertical screen scroll value of the | | 3rd cell of NBG0 / Integer part | ├─────────────────────────────────────┤ +12H| Vertical screen scroll value of the | | 3rd cell of NBG0 / Decimal part | ┝━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┥
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 | bit 5,4 | For NBG0 |
N1LSS1,N1LSS0 | 18009AH | bit 13,12 | For NBG1 |
NxLSS1 | NxLSS0 | Interlace settings | ||
---|---|---|---|---|
non-interlaced | Single dense interlace | double dense interlace | ||
0 | 0 | per line | every 2 lines | per line |
0 | 1 | every 2 lines | every 4 lines | every 2 lines |
1 | 0 | every 4 lines | every 8 lines | every 4 lines |
1 | 1 | every 8 lines | every 16 lines | every 8 lines |
N0LZMX | 18009AH | bit 3 | For NBG0 |
N1LZMX | 18009AH | bit 11 | For NBG1 |
NxLZMX | process |
---|---|
0 | Does not scale horizontally in units of lines |
1 | Scale horizontally in units of lines |
N0LSCY | 18009AH | bit 2 | For NBG0 |
N1LSCY | 18009AH | bit 10 | For NBG1 |
NxLSCY | process |
---|---|
0 | Do not scroll vertically by line |
1 | Scroll vertically line by line |
N0LSCX | 18009AH | bit 1 | For NBG0 |
N1LSCX | 18009AH | bit 9 | For NBG1 |
NxLSCX | process |
---|---|
0 | Do not scroll horizontally by line |
1 | Scroll horizontally line by line |
N0VCSC | 18009AH | bit 0 | For NBG0 |
N1VCSC | 18009AH | bit 8 | For NBG1 |
NxVCSC | process |
0 | Does not perform vertical cell scrolling |
---|---|
1 | Performs vertical cell scrolling |
Limitations of vertical scrolling function |
This restriction must also be observed when changing from using the vertical cell scrolling functions of NBG0 and NBG1 at the same time to not using either of the vertical cell scrolling functions.
To disable the vertical cell scrolling function of NBG0 from this state, change the settings as follows during the same V blank period.
To change from this state to a state where only the vertical cell scroll function of NBG1 is not used, change the settings as follows during the same V blank period.
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 | bits 2-0 | For NBG0 (upper bit) | N0LSTA15~N0LSTA1 | 1800A2H | bits 15 to 1 | For NBG0 (lower bit) | N1LSTA18~N1LSTA16 | 1800A4H | bits 2-0 | For NBG1 (upper bit) | N1LSTA15~N1LSTA1 | 1800A6H | bits 15 to 1 | For NBG1 (lower bit) |
The actual first VRAM address is calculated using the following formula: If the VRAM capacity is 4Mbits, the most significant bit of the address is ignored.
(Line scroll table start address) = (Line scroll table address register value 18 bits) x 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 | bits 2-0 | |
VCSTA15~VCSTA1 | 18009EH | bits 15 to 1 |
(vertical cell scroll table start address) = (vertical cell scroll table address register value 18 bits) x 4H