<!-- PDF page 238 -->

#### NextREG 83 (53h) – MMU Slot 3 Control

<table>
<thead>
<tr><th rowspan="2">Group Name</th><th rowspan="2">R</th><th rowspan="2">W</th><th colspan="8">Data Bits</th><th rowspan="2">Description</th><th rowspan="2">H</th><th rowspan="2">D</th></tr>
<tr><th>7</th><th>6</th><th>5</th><th>4</th><th>3</th><th>2</th><th>1</th><th>0</th></tr>
</thead>
<tbody>
<tr><td>MMU Slot 3 Control</td><td>■</td><td>■</td><td>•</td><td>•</td><td>•</td><td>•</td><td>•</td><td>•</td><td>•</td><td>•</td><td>8K RAM page for address 6000h–7FFFh</td><td></td><td>*</td></tr>
</tbody>
</table>

\* Default **11** (**0Bh**) – Pages range from **0** to **223** on a fully expanded Next

#### NextREG 84 (54h) – MMU Slot 4 Control

<table>
<thead>
<tr><th rowspan="2">Group Name</th><th rowspan="2">R</th><th rowspan="2">W</th><th colspan="8">Data Bits</th><th rowspan="2">Description</th><th rowspan="2">H</th><th rowspan="2">D</th></tr>
<tr><th>7</th><th>6</th><th>5</th><th>4</th><th>3</th><th>2</th><th>1</th><th>0</th></tr>
</thead>
<tbody>
<tr><td>MMU Slot 4 Control</td><td>■</td><td>■</td><td>•</td><td>•</td><td>•</td><td>•</td><td>•</td><td>•</td><td>•</td><td>•</td><td>8K RAM page for address 8000h–9FFFh</td><td></td><td>*</td></tr>
</tbody>
</table>

\* Default **4** (**04h**) – Pages range from **0** to **223** on a fully expanded Next

#### NextREG 85 (55h) – MMU Slot 5 Control

<table>
<thead>
<tr><th rowspan="2">Group Name</th><th rowspan="2">R</th><th rowspan="2">W</th><th colspan="8">Data Bits</th><th rowspan="2">Description</th><th rowspan="2">H</th><th rowspan="2">D</th></tr>
<tr><th>7</th><th>6</th><th>5</th><th>4</th><th>3</th><th>2</th><th>1</th><th>0</th></tr>
</thead>
<tbody>
<tr><td>MMU Slot 5 Control</td><td>■</td><td>■</td><td>•</td><td>•</td><td>•</td><td>•</td><td>•</td><td>•</td><td>•</td><td>•</td><td>8K RAM page for address A000h–BFFFh</td><td></td><td>*</td></tr>
</tbody>
</table>

\* Default **5** (**05h**) – Pages range from **0** to **223** on a fully expanded Next

#### NextREG 86 (56h) – MMU Slot 6 Control

<table>
<thead>
<tr><th rowspan="2">Group Name</th><th rowspan="2">R</th><th rowspan="2">W</th><th colspan="8">Data Bits</th><th rowspan="2">Description</th><th rowspan="2">H</th><th rowspan="2">D</th></tr>
<tr><th>7</th><th>6</th><th>5</th><th>4</th><th>3</th><th>2</th><th>1</th><th>0</th></tr>
</thead>
<tbody>
<tr><td>MMU Slot 6 Control</td><td>■</td><td>■</td><td>•</td><td>•</td><td>•</td><td>•</td><td>•</td><td>•</td><td>•</td><td>•</td><td>8K RAM page for address C000h–DFFFh</td><td></td><td>*</td></tr>
</tbody>
</table>

\* Default **0** (**00h**) – Pages range from **0** to **223** on a fully expanded Next

#### NextREG 87 (57h) – MMU Slot 7 Control

<table>
<thead>
<tr><th rowspan="2">Group Name</th><th rowspan="2">R</th><th rowspan="2">W</th><th colspan="8">Data Bits</th><th rowspan="2">Description</th><th rowspan="2">H</th><th rowspan="2">D</th></tr>
<tr><th>7</th><th>6</th><th>5</th><th>4</th><th>3</th><th>2</th><th>1</th><th>0</th></tr>
</thead>
<tbody>
<tr><td>MMU Slot 7 Control</td><td>■</td><td>■</td><td>•</td><td>•</td><td>•</td><td>•</td><td>•</td><td>•</td><td>•</td><td>•</td><td>8K RAM page for address E000h–FFFFh</td><td></td><td>*</td></tr>
</tbody>
</table>

\* Default **1** (**01h**) – Pages range from **0** to **223** on a fully expanded Next

#### NextREG 96 (60h) – Copper Data 8-bit Write

<table>
<thead>
<tr><th rowspan="2">Group Name</th><th rowspan="2">R</th><th rowspan="2">W</th><th colspan="8">Data Bits</th><th rowspan="2">Description</th><th rowspan="2">H</th><th rowspan="2">D</th></tr>
<tr><th>7</th><th>6</th><th>5</th><th>4</th><th>3</th><th>2</th><th>1</th><th>0</th></tr>
</thead>
<tbody>
<tr><td>Copper Instruction 8-bit</td><td></td><td>■</td><td>•</td><td>•</td><td>•</td><td>•</td><td>•</td><td>•</td><td>•</td><td>•</td><td>Byte to write to copper instruction memory</td><td></td><td></td></tr>
</tbody>
</table>

Each Copper Instruction is two-bytes long. After a write, the Copper address is auto-incremented to the next memory position

#### NextREG 97 (61h) – Copper Address LSB

<table>
<thead>
<tr><th rowspan="2">Group Name</th><th rowspan="2">R</th><th rowspan="2">W</th><th colspan="8">Data Bits</th><th rowspan="2">Description</th><th rowspan="2">H</th><th rowspan="2">D</th></tr>
<tr><th>7</th><th>6</th><th>5</th><th>4</th><th>3</th><th>2</th><th>1</th><th>0</th></tr>
</thead>
<tbody>
<tr><td>Copper memory address LSB</td><td>■</td><td>■</td><td>•</td><td>•</td><td>•</td><td>•</td><td>•</td><td>•</td><td>•</td><td>•</td><td>Copper instruction memory address (LSB)</td><td></td><td><b>0</b></td></tr>
</tbody>
</table>

Copper memory addresses range over 0 through 2047 (7FFh)

#### NextREG 98 (62h) – Copper Control

<table>
<thead>
<tr><th rowspan="2">Group Name</th><th rowspan="2">R</th><th rowspan="2">W</th><th colspan="8">Data Bits</th><th rowspan="2">Description</th><th rowspan="2">H</th><th rowspan="2">D</th></tr>
<tr><th>7</th><th>6</th><th>5</th><th>4</th><th>3</th><th>2</th><th>1</th><th>0</th></tr>
</thead>
<tbody>
<tr><td>Copper Memory Address MSB</td><td>■</td><td>■</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>•</td><td>•</td><td>•</td><td>Copper Instruction Memory Address (MSB)</td><td></td><td>0</td></tr>
<tr><td rowspan="4">Copper Start Control</td><td rowspan="4">■</td><td rowspan="4">■</td><td>0</td><td>0</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>Copper fully stopped</td><td></td><td rowspan="4">*</td></tr>
<tr><td>0</td><td>1</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>Copper start, exec from 0, loop</td><td></td></tr>
<tr><td>1</td><td>0</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>Copper start, exec from last, loop</td><td></td></tr>
<tr><td>1</td><td>1</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>Copper start, exec from 0, rest. at raster 0,0</td><td></td></tr>
</tbody>
</table>

\* Soft reset defaults to **000**\
Copper memory addresses range from **0** through **2047** (**7FFh**)\
Note: Writing the same copper start control value does not reset the copper

#### NextREG 99 (63h) – Copper Data 16-bit Write

<table>
<thead>
<tr><th rowspan="2">Group Name</th><th rowspan="2">R</th><th rowspan="2">W</th><th colspan="8">Data Bits</th><th rowspan="2">Description</th><th rowspan="2">H</th><th rowspan="2">D</th></tr>
<tr><th>7</th><th>6</th><th>5</th><th>4</th><th>3</th><th>2</th><th>1</th><th>0</th></tr>
</thead>
<tbody>
<tr><td>Copper data</td><td></td><td>■</td><td>•</td><td>•</td><td>•</td><td>•</td><td>•</td><td>•</td><td>•</td><td>•</td><td>1<sup>st</sup> write MSB, 2<sup>nd</sup> write LSB</td><td></td><td><b>0</b></td></tr>
</tbody>
</table>

The 16-bit value is written in pairs. The first 8-bits are the MSB and are destined for an even copper instruction address. The second 8-bits are the LSB and are destined for an odd copper instruction address\
After each write, the copper address is auto-incremented to the next memory position.\
After a write to an odd address, the entire 16-bits is written to copper memory at once

#### NextREG 100 (64h) – Vertical Line Count Offset

<table>
<thead>
<tr><th rowspan="2">Group Name</th><th rowspan="2">R</th><th rowspan="2">W</th><th colspan="8">Data Bits</th><th rowspan="2">Description</th><th rowspan="2">H</th><th rowspan="2">D</th></tr>
<tr><th>7</th><th>6</th><th>5</th><th>4</th><th>3</th><th>2</th><th>1</th><th>0</th></tr>
</thead>
<tbody>
<tr><td>Line counter offset</td><td>■</td><td>■</td><td>•</td><td>•</td><td>•</td><td>•</td><td>•</td><td>•</td><td>•</td><td>•</td><td>Offset added to the vertical line counter*</td><td></td><td></td></tr>
</tbody>
</table>

\* Affects Copper, line interrupt and active line count\
Normally the ULA's pixel row **0**, aligns with vertical line count **0**. With a non-zero offset, the ULA's pixel row **0** will align with the vertical line offset. For example if the offset is **32** then vertical line **32** will correspond to the first pixel row in the ULA and vertical line **0** will align with the first pixel row of *Layer 3* (Tilemap) and the *Sprite Layer*\
**NOTE:** Since a change in offset takes effect when the ULA reaches row **0**, the change can take up to one frame to occur

#### NextREG 104 (68h) – ULA Control

<table>
<thead>
<tr><th rowspan="2">Group Name</th><th rowspan="2">R</th><th rowspan="2">W</th><th colspan="8">Data Bits</th><th rowspan="2">Description</th><th rowspan="2">H</th><th rowspan="2">D</th></tr>
<tr><th>7</th><th>6</th><th>5</th><th>4</th><th>3</th><th>2</th><th>1</th><th>0</th></tr>
</thead>
<tbody>
<tr><td>Stencil Mode control</td><td>■</td><td>■</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: dark green]</td><td>•</td><td>Enable Stencil Mode¹</td><td></td><td>0</td></tr>
<tr><td>Reserved</td><td>■</td><td></td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: dark green] <b>0</b></td><td>[colour: pink]</td><td>Reserved, must be 0</td><td></td><td>0</td></tr>
<tr><td>ULA Half-Pixel Scroll</td><td>■</td><td>■</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>•</td><td>[colour: dark green]</td><td>[colour: pink]</td><td>ULA Half-Pixel Scroll enabled²</td><td></td><td>0</td></tr>
<tr><td>ULAplus Control</td><td>■</td><td>■</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>•</td><td>[colour: pink]</td><td>[colour: dark green]</td><td>[colour: pink]</td><td>ULAplus Enabled</td><td></td><td>0</td></tr>
<tr><td>Extended keys in 8x5 matrix</td><td>■</td><td>■</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>•</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: dark green]</td><td>[colour: pink]</td><td>Cancel entries in matrix for extended keys</td><td></td><td>0</td></tr>
<tr><td rowspan="4">Blend Colour Used in SLU modes 6 &amp; 7</td><td rowspan="4">■</td><td rowspan="4">■</td><td>[colour: pink]</td><td>0</td><td>0</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: dark green]</td><td>[colour: pink]</td><td>ULA Colour</td><td rowspan="4"></td><td rowspan="4">0</td></tr>
<tr><td>[colour: pink]</td><td>1</td><td>0</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: dark green]</td><td>[colour: pink]</td><td>ULA + Tilemap mix</td></tr>
<tr><td>[colour: pink]</td><td>1</td><td>1</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: dark green]</td><td>[colour: pink]</td><td>Tllemap Colour</td></tr>
<tr><td>[colour: pink]</td><td>0</td><td>1</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: dark green]</td><td>[colour: pink]</td><td>No Colour Blending</td></tr>
<tr><td>Output Control</td><td>■</td><td>■</td><td>•</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: dark green]</td><td>[colour: pink]</td><td>Disable ULA output</td><td></td><td>0</td></tr>
</tbody>
</table>

1 When both the ULA and Layer 3 (Tilemap) are enabled, if either are transparent, the result is transparent otherwise the result is a logical AND of both colours\
2 Setting may change

#### NextREG 105 (69h) – Display Control 1

<table>
<thead>
<tr><th rowspan="2">Group Name</th><th rowspan="2">R</th><th rowspan="2">W</th><th colspan="8">Data Bits</th><th rowspan="2">Description</th><th rowspan="2">H</th><th rowspan="2">D</th></tr>
<tr><th>7</th><th>6</th><th>5</th><th>4</th><th>3</th><th>2</th><th>1</th><th>0</th></tr>
</thead>
<tbody>
<tr><td>Port 255 (FFh) “Timex” alias</td><td>■</td><td>■</td><td>[colour: pink]</td><td>[colour: pink]</td><td>•</td><td>•</td><td>•</td><td>•</td><td>•</td><td>•</td><td>Port 255 (FFh) alias</td><td></td><td></td></tr>
<tr><td>Port 32765 (7FFDh):D3 alias</td><td>■</td><td>■</td><td>[colour: pink]</td><td>•</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>ULA Shadow Display Enable</td><td></td><td></td></tr>
<tr><td>Port 4667 (123Bh):D1 alias</td><td>■</td><td>■</td><td>•</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>Layer 2 Enable</td><td></td><td></td></tr>
</tbody>
</table>

#### NextREG 106 (6Ah) – Layer 1,0 (LoRes) Control

<table>
<thead>
<tr><th rowspan="2">Group Name</th><th rowspan="2">R</th><th rowspan="2">W</th><th colspan="8">Data Bits</th><th rowspan="2">Description</th><th rowspan="2">H</th><th rowspan="2">D</th></tr>
<tr><th>7</th><th>6</th><th>5</th><th>4</th><th>3</th><th>2</th><th>1</th><th>0</th></tr>
</thead>
<tbody>
<tr><td rowspan="2">LoRes | ULAplus palette Offset</td><td rowspan="2">■</td><td rowspan="2">■</td><td>[colour: dark green]</td><td>[colour: dark green]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>•</td><td>•</td><td>•</td><td>•</td><td>LoRes Palette Offset</td><td></td><td>0</td></tr>
<tr><td>[colour: dark green]</td><td>[colour: dark green]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>•</td><td>•</td><td>ULAplus Palette Offset</td><td></td><td>0</td></tr>
<tr><td>Radastan Mode DFILE Source</td><td>■</td><td>■</td><td>[colour: dark green]</td><td>[colour: dark green]</td><td>[colour: pink]</td><td>•</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>Timex DFILE source¹</td><td></td><td>0</td></tr>
<tr><td>LoRes mode</td><td>■</td><td>■</td><td>[colour: dark green]</td><td>[colour: dark green]</td><td>•</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>Radastan Mode Enable</td><td></td><td>0</td></tr>
<tr><td>Reserved</td><td>■</td><td>■</td><td>[colour: dark green] <b>0</b></td><td>[colour: dark green] <b>0</b></td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>Reserved, must be 0</td><td></td><td></td></tr>
</tbody>
</table>

1 Layer 1,0 (LoRes) occupies both Timex display files but Radastan mode has only half the colour depth thus occupies only one DFILE – at either **16384** (**4000h**) or **24576** (**6000h**). When this bit is set, the source DFILE used is the opposite of the ULA so that Radastan can co-exist with the normal Layer 0 (ULA) screen

#### NextREG 107 (6Bh) – Layer 3 (Tilemap) Control

<table>
<thead>
<tr><th rowspan="2">Group Name</th><th rowspan="2">R</th><th rowspan="2">W</th><th colspan="8">Data Bits</th><th rowspan="2">Description</th><th rowspan="2">H</th><th rowspan="2">D</th></tr>
<tr><th>7</th><th>6</th><th>5</th><th>4</th><th>3</th><th>2</th><th>1</th><th>0</th></tr>
</thead>
<tbody>
<tr><td>Layer 3 Priority</td><td>■</td><td>■</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: dark green]</td><td>[colour: pink]</td><td>•</td><td>Tilemap on top of ULA Enable</td><td></td><td>0</td></tr>
<tr><td>512 Tile mode Control</td><td>■</td><td>■</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: dark green]</td><td>•</td><td>[colour: pink]</td><td>Activate 512 Tile mode¹</td><td></td><td>0</td></tr>
<tr><td>Reserved</td><td>■</td><td>■</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: dark green] <b>0</b></td><td>[colour: pink]</td><td>[colour: pink]</td><td>Reserved, must be 0</td><td></td><td>0</td></tr>
<tr><td>Text mode Control</td><td>■</td><td>■</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>•</td><td>[colour: dark green]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>Text mode Enable</td><td></td><td>0</td></tr>
<tr><td rowspan="2">Layer 3 palette Select</td><td rowspan="2">■</td><td rowspan="2">■</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>0</td><td>[colour: pink]</td><td>[colour: dark green]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>Palette 0</td><td rowspan="2"></td><td rowspan="2">0</td></tr>
<tr><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>1</td><td>[colour: pink]</td><td>[colour: dark green]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>Palette 1</td></tr>
<tr><td>Attribute Entry Control</td><td>■</td><td>■</td><td>[colour: pink]</td><td>[colour: pink]</td><td>•</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: dark green]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>Attribute entry Disable²</td><td></td><td>0</td></tr>
<tr><td rowspan="2">Layer 3 Size Control</td><td rowspan="2">■</td><td rowspan="2">■</td><td>[colour: pink]</td><td>0</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: dark green]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>40 x 32</td><td rowspan="2"></td><td rowspan="2">0</td></tr>
<tr><td>[colour: pink]</td><td>1</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: dark green]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>80 x 32</td></tr>
<tr><td>Layer 3 Control</td><td>■</td><td>■</td><td>•</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: dark green]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>Tilemap Enable</td><td></td><td>0</td></tr>
</tbody>
</table>

1 If this bit is set, **NextREG 108 (6Ch):D0** changes meaning\
2 If this bit is set then the Layer 3 tilemap entries are only a single byte **Tile ID** and the attribute byte comes from **NextREG 108 (6Ch)** instead

#### NextREG 108 (6Ch) – Default Layer 3 (Tilemap) Attribute*

<table>
<thead>
<tr><th rowspan="2">Group Name</th><th rowspan="2">R</th><th rowspan="2">W</th><th colspan="8">Data Bits</th><th rowspan="2">Description</th><th rowspan="2">H</th><th rowspan="2">D</th></tr>
<tr><th>7</th><th>6</th><th>5</th><th>4</th><th>3</th><th>2</th><th>1</th><th>0</th></tr>
</thead>
<tbody>
<tr><td>If 512 Tile mode is disabled</td><td>■</td><td>■</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>•</td><td>ULA over Layer 3</td><td></td><td rowspan="2">0</td></tr>
<tr><td>If 512 Tile mode is enabled</td><td>■</td><td>■</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>•</td><td>Bit 8 of the tile number</td><td></td></tr>
<tr><td>Rotate 90° Control</td><td>■</td><td>■</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>•</td><td>[colour: pink]</td><td>Rotate</td><td></td><td>0</td></tr>
<tr><td>Y Mirror Control</td><td>■</td><td>■</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>•</td><td>[colour: pink]</td><td>[colour: pink]</td><td>Y Mirror</td><td></td><td>0</td></tr>
<tr><td>X Mirror Control</td><td>■</td><td>■</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>•</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>X Mirror</td><td></td><td>0</td></tr>
<tr><td>Palette Offset</td><td>■</td><td>■</td><td>•</td><td>•</td><td>•</td><td>•</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>Palette Offset</td><td></td><td>0</td></tr>
</tbody>
</table>

\* Active if **NextREG 107 (6Bh):D5** is set. If **NextREG 107 (6Bh):D3** is set, the palette offset is extended to **D7:D1** replacing the rotate and mirror bits

#### NextREG 110 (6Eh) – Layer 3 (Tilemap) Base Address

<table>
<thead>
<tr><th rowspan="2">Group Name</th><th rowspan="2">R</th><th rowspan="2">W</th><th colspan="8">Data Bits</th><th rowspan="2">Description</th><th rowspan="2">H</th><th rowspan="2">D</th></tr>
<tr><th>7</th><th>6</th><th>5</th><th>4</th><th>3</th><th>2</th><th>1</th><th>0</th></tr>
</thead>
<tbody>
<tr><td rowspan="2">MSB of Layer 3 base address in Banks 5 &amp; 7</td><td>■</td><td>■</td><td>[colour: pink]</td><td>[colour: dark green] <b>0</b></td><td>•</td><td>•</td><td>•</td><td>•</td><td>•</td><td>•</td><td>Address in bank 5 or bank 7 – Entered</td><td rowspan="2"></td><td rowspan="2">*</td></tr>
<tr><td>■</td><td>■</td><td>•</td><td>[colour: dark green]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>together with bit 7 – bit 6 is 0</td></tr>
</tbody>
</table>

\* Soft Reset value is **108** (**6Ch**) read as **44** (**2Ch**)\
Writes are the MSB of an address in bank 5 **16384** - **32767** (**4000h** – **7FFFh**) or in bank 7 **49152** - **65535** (**C000h** – **FFFFh**) with **D6** ignored and always read back as 0. This means tile definitions start on 256-byte boundaries\
Bank 7 addresses wrap around its 8K boundary

#### NextREG 111 (6Fh) – Layer 3 (Tilemap) - Tile Definitions Base Address

<table>
<thead>
<tr><th rowspan="2">Group Name</th><th rowspan="2">R</th><th rowspan="2">W</th><th colspan="8">Data Bits</th><th rowspan="2">Description</th><th rowspan="2">H</th><th rowspan="2">D</th></tr>
<tr><th>7</th><th>6</th><th>5</th><th>4</th><th>3</th><th>2</th><th>1</th><th>0</th></tr>
</thead>
<tbody>
<tr><td rowspan="2">MSB of Layer 3 Tile definitions base address in Banks 5 &amp; 7</td><td>■</td><td>■</td><td>[colour: pink]</td><td>[colour: dark green] <b>0</b></td><td>•</td><td>•</td><td>•</td><td>•</td><td>•</td><td>•</td><td>Address in bank 5 or bank 7 – Entered</td><td rowspan="2"></td><td rowspan="2">*</td></tr>
<tr><td>■</td><td>■</td><td>•</td><td>[colour: dark green]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>together with bit 7 – bit 6 is 0</td></tr>
</tbody>
</table>

\* Soft Reset value is **76** (**4Ch**) read as **12** (**0Ch**)\
Writes are the MSB of an address in bank 5 **16384** - **32767** (**4000h** – **7FFFh**) or in bank 7 **49152** - **65535** (**C000h** – **FFFFh**) with **D6** ignored and always read back as 0. This means tile definitions start on 256-byte boundaries\
Bank 7 addresses wrap around its 8K boundary

#### NextREG 112 (6Ah) – Layer 2 Resolution Control*

<table>
<thead>
<tr><th rowspan="2">Group Name</th><th rowspan="2">R</th><th rowspan="2">W</th><th colspan="8">Data Bits</th><th rowspan="2">Description</th><th rowspan="2">H</th><th rowspan="2">D</th></tr>
<tr><th>7</th><th>6</th><th>5</th><th>4</th><th>3</th><th>2</th><th>1</th><th>0</th></tr>
</thead>
<tbody>
<tr><td>Layer 2 Palette Offset</td><td>■</td><td>■</td><td>[colour: dark green]</td><td>[colour: dark green]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>•</td><td>•</td><td>•</td><td>•</td><td>Layer 2 4-bit Palette Offset</td><td></td><td>0</td></tr>
<tr><td rowspan="3">Layer 2 Resolution Select**</td><td rowspan="3">■</td><td rowspan="3">■</td><td>[colour: dark green]</td><td>[colour: dark green]</td><td>0</td><td>0</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>256 x 192 x 8bpp (Layer 2 standard)</td><td rowspan="3"></td><td rowspan="3">0</td></tr>
<tr><td>[colour: dark green]</td><td>[colour: dark green]</td><td>0</td><td>1</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>320 x 256 x 8bpp (Layer 2, Mode 2)</td></tr>
<tr><td>[colour: dark green]</td><td>[colour: dark green]</td><td>1</td><td>0</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>640 x 256 x 4bpp (Layer 2, Mode 3)</td></tr>
<tr><td>Reserved</td><td>■</td><td>■</td><td>[colour: dark green] <b>0</b></td><td>[colour: dark green] <b>0</b></td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>Reserved, must be 0</td><td></td><td></td></tr>
</tbody>
</table>

\* The *Layer 2* screen occupies **48K** or **80K**, which is stored in **3** consecutive **16 KB** banks for **256 x 192 x 8bpp** or **5** consecutive banks for **320 x 256** and **640 x 256** resolutions. When in *NextZXOS/NextBASIC*, banks **9 - 11** are used for the visible and shadow *Layer 2(,0)* screen (after power-on, the hardware default to banks **8 - 10** for displayed and **11 - 13** for shadow screen but this gets modified by *NextZXOS* – See *Chapter 23*). These can be set using *Layer 2* RAM Page **NextREG 18 (12h)** and *Layer 2* RAM Shadow Page **NextREG 19 (13h)** (avoid banks **5**, **7** and **8** to be used as *Layer 2* screen, unless you are familiar with SRAM and BRAM of the board and how the ULA screen memory has special treatment in Next's FPGA)

\*\* Each pixel of *Layer 2* is assigned 1 byte (8-bits) (in **8bpp** modes) or 1 nibble (4-bits) (in **640 x 256 x 4bpp** mode) of video memory. This means *Layer 2* consumes a total of either **48K** or **80K** of memory. The memory is divided in **16K** "*strips*" filling one standard Spectrum bank. In **256x192** mode the strips are horizontal so that **16K** represent **64** vertical lines on the display. In **320x256** and **640x256** modes the strips are vertical so that each **16K** corresponds to **64** or **128** columns respectively – See *Chapters 15* and *16*

#### NextREG 113 (71h) – Layer 2 Horizontal Scroll Control MSB

<table>
<thead>
<tr><th rowspan="2">Group Name</th><th rowspan="2">R</th><th rowspan="2">W</th><th colspan="8">Data Bits</th><th rowspan="2">Description</th><th rowspan="2">H</th><th rowspan="2">D</th></tr>
<tr><th>7</th><th>6</th><th>5</th><th>4</th><th>3</th><th>2</th><th>1</th><th>0</th></tr>
</thead>
<tbody>
<tr><td>X Coordinate MSB</td><td>■</td><td>■</td><td>[colour: dark green]</td><td>[colour: dark green]</td><td>[colour: dark green]</td><td>[colour: dark green]</td><td>[colour: dark green]</td><td>[colour: dark green]</td><td>[colour: dark green]</td><td>•</td><td>Layer 2 X Coordinate MSB</td><td></td><td></td></tr>
<tr><td>Reserved</td><td>■</td><td>■</td><td>[colour: dark green] <b>0</b></td><td>[colour: dark green] <b>0</b></td><td>[colour: dark green] <b>0</b></td><td>[colour: dark green] <b>0</b></td><td>[colour: dark green] <b>0</b></td><td>[colour: dark green] <b>0</b></td><td>[colour: dark green] <b>0</b></td><td>[colour: pink]</td><td>Reserved, must be 0</td><td></td><td></td></tr>
</tbody>
</table>

LSB is in **NextREG 22 (16h)**

