<!-- PDF page 234 -->

### Next Register Diagrams' Key

| Symbol | Meaning |
|---|---|
| [colour: light green] | Reserved value in either R(ead) or W(rite) condition but used in the inverse – **Not Applicable** |
| [colour: dark green] | Reserved value - **Not Applicable** |
| [colour: dark green] X | Reserved value **MUST be X** |
| [colour: pink] | **Not Applicable / Don't care** |
| R | **Read** (if marked). <u>Unmarked</u> means **Not Applicable** |
| W | **Write** (if marked). <u>Unmarked</u> means Not Applicable |
| H | **Hard** Reset / **Soft** Reset / **Config Mode**. <u>Unmarked</u> means **Soft Reset** if there's a value in column **D** |
| D | Contains the default value after a reset (Soft, Hard or Config as marked in column H).**\*** refers to notes below |
| ■ | In columns R/W marks the status of the register. In column H means Hard Reset |
| ♦ | Means **Config Mode** |
| • | Means *any* value (**0** or **1**) |
| N | Any letter in a data bit position refers you to the notes below |

#### NextREG 00 (00h) – Machine ID

<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="9">Machine ID</td><td rowspan="9">■</td><td rowspan="9"></td><td>0</td><td>0</td><td>0</td><td>0</td><td>1</td><td>0</td><td>0</td><td>0</td><td>EMULATORS</td><td></td><td></td></tr>
<tr><td>0</td><td>0</td><td>0</td><td>0</td><td><b>1</b></td><td><b>0</b></td><td><b>1</b></td><td><b>0</b></td><td>ZX Spectrum Next</td><td></td><td></td></tr>
<tr><td>1</td><td>1</td><td>1</td><td>1</td><td>1</td><td>0</td><td>1</td><td>0</td><td>ZX Spectrum Next Anti-Brick</td><td></td><td></td></tr>
<tr><td>1</td><td>0</td><td>0</td><td>1</td><td>1</td><td>0</td><td>1</td><td>0</td><td>Next Core on UnAmiga Reloaded</td><td></td><td></td></tr>
<tr><td>1</td><td>0</td><td>1</td><td>0</td><td>1</td><td>0</td><td>1</td><td>0</td><td>Next Core on UnAmiga</td><td></td><td></td></tr>
<tr><td>1</td><td>0</td><td>1</td><td>1</td><td>1</td><td>0</td><td>1</td><td>0</td><td>Next Core on SiDi</td><td></td><td></td></tr>
<tr><td>1</td><td>1</td><td>0</td><td>0</td><td>1</td><td>0</td><td>1</td><td>0</td><td>Next Core on MiST</td><td></td><td></td></tr>
<tr><td>1</td><td>1</td><td>0</td><td>1</td><td>1</td><td>0</td><td>1</td><td>0</td><td>Next Core on MiSTer</td><td></td><td></td></tr>
<tr><td>1</td><td>1</td><td>1</td><td>0</td><td>1</td><td>0</td><td>1</td><td>0</td><td>Next Core on ZX-DOS/gomaDOS</td><td></td><td></td></tr>
</tbody>
</table>

#### NextREG 01 (01h) – Core Version

<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>Minor Version Number</td><td>■</td><td></td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>•</td><td>•</td><td>•</td><td>•</td><td>Minor Version</td><td></td><td></td></tr>
<tr><td>Major Version Number</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>Major Version</td><td></td><td></td></tr>
</tbody>
</table>

See **NextREG 14 (0Eh)** for sub minor version number

#### NextREG 02 (02h) – Reset

<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">Last System Reset Type</td><td rowspan="2">■</td><td rowspan="2"></td><td>[colour: pink]</td><td>[colour: dark green]</td><td>[colour: dark green]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>0</td><td><b>1</b></td><td>Soft Reset</td><td rowspan="2"></td><td rowspan="2"></td></tr>
<tr><td>[colour: pink]</td><td>[colour: dark green]</td><td>[colour: dark green]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>1</td><td>0</td><td>Hard Reset</td></tr>
<tr><td rowspan="2">divMMC NMI source</td><td rowspan="2">■</td><td rowspan="2"></td><td>[colour: pink]</td><td>[colour: dark green]</td><td>[colour: dark green]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>0</td><td>[colour: pink]</td><td>[colour: pink]</td><td>divMMC NMI not generated by NR 02h</td><td rowspan="2"></td><td></td></tr>
<tr><td>[colour: pink]</td><td>[colour: dark green]</td><td>[colour: dark green]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>1</td><td>[colour: pink]</td><td>[colour: pink]</td><td>divMMC NMI generated by NR 02h</td><td></td></tr>
<tr><td rowspan="4">MF NMI source</td><td rowspan="4">■</td><td rowspan="4"></td><td>[colour: pink]</td><td>[colour: dark green]</td><td>[colour: dark green]</td><td>[colour: pink]</td><td>0</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>MF NMI not generated by NR 02h</td><td></td><td></td></tr>
<tr><td>[colour: pink]</td><td>[colour: dark green]</td><td>[colour: dark green]</td><td>[colour: pink]</td><td>1</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>MF NMI generated by NR 02h</td><td></td><td></td></tr>
<tr><td>[colour: pink]</td><td>[colour: dark green]</td><td>[colour: dark green]</td><td>0</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>MF NMI not generated by I/O Trap²,*</td><td rowspan="2"></td><td rowspan="2"></td></tr>
<tr><td>[colour: pink]</td><td>[colour: dark green]</td><td>[colour: dark green]</td><td>1</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>MF NMI generated by I/O Trap²,*</td></tr>
<tr><td>Reserved</td><td>■</td><td></td><td>[colour: pink]</td><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>[colour: pink]</td><td>Reserved</td><td></td><td></td></tr>
<tr><td rowspan="2">ESP/Expansion Bus R̅E̅S̅E̅T̅ flag</td><td rowspan="2">■</td><td rowspan="2"></td><td><b>0</b></td><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>[colour: pink]</td><td>R̅E̅S̅E̅T̅ not asserted</td><td rowspan="2">■</td><td rowspan="2">0</td></tr>
<tr><td>1</td><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>[colour: pink]</td><td>R̅E̅S̅E̅T̅ asserted</td></tr>
<tr><td rowspan="2">Generate System Reset</td><td rowspan="2"></td><td rowspan="2">■</td><td>[colour: pink]</td><td>[colour: dark green]</td><td>[colour: dark green]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>0</td><td>1</td><td>Generate Soft Reset</td><td></td><td></td></tr>
<tr><td>[colour: pink]</td><td>[colour: dark green]</td><td>[colour: dark green]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>1</td><td>0</td><td>Generate Hard Reset (reboot)</td><td></td><td></td></tr>
<tr><td>divMMC NMI control</td><td></td><td>■</td><td>[colour: pink]</td><td>[colour: dark green]</td><td>[colour: dark green]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>•</td><td>[colour: pink]</td><td>[colour: pink]</td><td>Generate/Clear divMMC NMI³</td><td></td><td></td></tr>
<tr><td rowspan="2">MF NMI control</td><td rowspan="2"></td><td rowspan="2">■</td><td>[colour: pink]</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>Generate/Clear MF NMI³</td><td></td><td></td></tr>
<tr><td>[colour: pink]</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>If 0 Clear MF I/O Trap²,³</td><td></td><td></td></tr>
<tr><td>Reserved</td><td></td><td>■</td><td>[colour: pink]</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>Reserved (must be 0)</td><td></td><td></td></tr>
<tr><td>Generate ESP/Exp. Bus Reset¹</td><td></td><td>■</td><td>•</td><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>[colour: pink]</td><td>Generate/Release Reset (Exp. Bus &amp; ESP)</td><td></td><td></td></tr>
</tbody>
</table>

1 A full reset cycle for the ESP and Expansion Bus, requires setting **D7** first to **1** for **at least 100 ms** and then to **0**. The 100 ms assertion is req<u>uired by</u> the ESP module. If not explicitly released the Expansion Bus and ESP will stay with R̅E̅S̅E̅T̅ asserted until the next system hard reset\
Of **D0** – **D1** Hard Reset has precedence\
² Experimental\
³ These signals are ignored if the Multiface, divMMC, DMA or external NMI master is active. Copper cannot clear these bits. Note: An I/O trap could occur at the same time as MF / divMMC cause; always check this bit in NMI ISR if important\
\* See **NextREG 218 (DAh)**

#### NextREG 03 (03h) – Machine Type

<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="5">Machine Type</td><td rowspan="5">■</td><td rowspan="5">■</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>0</td><td>0</td><td>0</td><td>Configuration mode</td><td rowspan="5">♦</td><td></td></tr>
<tr><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>0</td><td>0</td><td>1</td><td>ZX 48K</td><td></td></tr>
<tr><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>0</td><td>1</td><td>0</td><td>ZX 128K / +2</td><td></td></tr>
<tr><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>0</td><td>1</td><td>1</td><td>ZX +2A / +2B / +3 / Next</td><td></td></tr>
<tr><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>1</td><td>0</td><td>0</td><td>Pentagon Clones*</td><td></td></tr>
<tr><td rowspan="3">Display Timing user lock control</td><td rowspan="2">■</td><td rowspan="2"></td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td><b>0</b></td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>No User Lock on display timing applied</td><td></td><td></td></tr>
<tr><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>1</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>User lock on display timing applied</td><td></td><td></td></tr>
<tr><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>Toggle User Lock on Display Timing</td><td>■</td><td>0</td></tr>
<tr><td rowspan="5">Display Timing</td><td rowspan="5">■</td><td rowspan="5">■</td><td>[colour: pink]</td><td>0</td><td>0</td><td>0</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>Internal Use</td><td rowspan="5"></td><td rowspan="5"></td></tr>
<tr><td>[colour: pink]</td><td>0</td><td>0</td><td>1</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>ZX 48K</td></tr>
<tr><td>[colour: pink]</td><td>0</td><td>1</td><td>0</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>ZX 128K / +2</td></tr>
<tr><td>[colour: pink]</td><td>0</td><td>1</td><td>1</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>ZX +2A / +2B / +3 / Next</td></tr>
<tr><td>[colour: pink]</td><td>1</td><td>0</td><td>0</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>Pentagon*</td></tr>
<tr><td>NR 68 (44h) 2nd Byte Indicator</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>Palette Entry (NR 68) Second Byte flag</td><td></td><td>0</td></tr>
<tr><td>Display Timing change enable</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>Allow changes to D4:6</td><td></td><td>0</td></tr>
</tbody>
</table>

\* Pentagon timing is **50 Hz** <u>only</u>\
Machine type determines which ROMs are loaded and Display Timing also affects port decoding

#### [?]

<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>16K RAM bank mapping</td><td></td><td>■</td><td>[colour: dark green]</td><td>•</td><td>•</td><td>•</td><td>•</td><td>•</td><td>•</td><td>•</td><td>Maps a 16K RAM Bank no. (0-127)*</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: 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>Reserved, must be 0</td><td></td><td></td></tr>
</tbody>
</table>

\* Maps a 16K RAM bank over the **bottom** 16K. Applies only in configuration mode when the boot rom is disabled\
Even multiples of 256K are unreliable if storing data in RAM for the Next Core started

#### NextREG 05 (05h) – Peripheral 1 Settings

<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">Scandoubler¹</td><td rowspan="2">■</td><td rowspan="2">■</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>0</td><td>Scandoubler Disabled</td><td></td><td></td></tr>
<tr><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>1</td><td>Scandoubler Enabled</td><td></td><td></td></tr>
<tr><td rowspan="2">Vertical Frequency</td><td rowspan="2">■</td><td rowspan="2">■</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>0</td><td>[colour: pink]</td><td>[colour: pink]</td><td>50 Hz mode</td><td></td><td></td></tr>
<tr><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>1</td><td>[colour: pink]</td><td>[colour: pink]</td><td>60 Hz mode*</td><td></td><td></td></tr>
<tr><td rowspan="8">Joystick 1**</td><td rowspan="8">■</td><td rowspan="8">■</td><td>0</td><td>0</td><td>[colour: pink]</td><td>[colour: pink]</td><td>0</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>Sinclair 2 (12345)</td><td></td><td></td></tr>
<tr><td>0</td><td>0</td><td>[colour: pink]</td><td>[colour: pink]</td><td>1</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>Kempston 2 (Port 37h)</td><td></td><td></td></tr>
<tr><td>0</td><td>1</td><td>[colour: pink]</td><td>[colour: pink]</td><td>0</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>Kempston 1 (Port 1Fh)</td><td></td><td></td></tr>
<tr><td>0</td><td>1</td><td>[colour: pink]</td><td>[colour: pink]</td><td>1</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>MD 1 (Port 1Fh)</td><td></td><td></td></tr>
<tr><td>1</td><td>0</td><td>[colour: pink]</td><td>[colour: pink]</td><td>0</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>Cursor (56780)</td><td></td><td></td></tr>
<tr><td>1</td><td>0</td><td>[colour: pink]</td><td>[colour: pink]</td><td>1</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>MD 2 (Port 37h)</td><td></td><td></td></tr>
<tr><td>1</td><td>1</td><td>[colour: pink]</td><td>[colour: pink]</td><td>0</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>Sinclair 1 (67890)</td><td></td><td></td></tr>
<tr><td>1</td><td>1</td><td>[colour: pink]</td><td>[colour: pink]</td><td>1</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>User Defined Keys Joystick</td><td></td><td></td></tr>
<tr><td rowspan="8">Joystick 2**</td><td rowspan="8">■</td><td rowspan="8">■</td><td>[colour: pink]</td><td>[colour: pink]</td><td>0</td><td>0</td><td>[colour: pink]</td><td>[colour: pink]</td><td>0</td><td>[colour: pink]</td><td>Sinclair 2 (12345)</td><td></td><td></td></tr>
<tr><td>[colour: pink]</td><td>[colour: pink]</td><td>0</td><td>0</td><td>[colour: pink]</td><td>[colour: pink]</td><td>1</td><td>[colour: pink]</td><td>Kempston 2 (Port 37h)</td><td></td><td></td></tr>
<tr><td>[colour: pink]</td><td>[colour: pink]</td><td>0</td><td>1</td><td>[colour: pink]</td><td>[colour: pink]</td><td>0</td><td>[colour: pink]</td><td>Kempston 1 (Port 1Fh)</td><td></td><td></td></tr>
<tr><td>[colour: pink]</td><td>[colour: pink]</td><td>0</td><td>1</td><td>[colour: pink]</td><td>[colour: pink]</td><td>1</td><td>[colour: pink]</td><td>MD 1 (Port 1Fh)</td><td></td><td></td></tr>
<tr><td>[colour: pink]</td><td>[colour: pink]</td><td>1</td><td>0</td><td>[colour: pink]</td><td>[colour: pink]</td><td>0</td><td>[colour: pink]</td><td>Cursor (56780)</td><td></td><td></td></tr>
<tr><td>[colour: pink]</td><td>[colour: pink]</td><td>1</td><td>0</td><td>[colour: pink]</td><td>[colour: pink]</td><td>1</td><td>[colour: pink]</td><td>MD 2 (Port 37h)</td><td></td><td></td></tr>
<tr><td>[colour: pink]</td><td>[colour: pink]</td><td>1</td><td>1</td><td>[colour: pink]</td><td>[colour: pink]</td><td>0</td><td>[colour: pink]</td><td>Sinclair 1 (67890)</td><td></td><td></td></tr>
<tr><td>[colour: pink]</td><td>[colour: pink]</td><td>1</td><td>1</td><td>[colour: pink]</td><td>[colour: pink]</td><td>1</td><td>[colour: pink]</td><td>User Defined Keys Joystick</td><td></td><td></td></tr>
</tbody>
</table>

¹ Enabled for VGA / HDMI, Disabled for RGB mode\
\* Pentagon Clones <u>have no 60 Hz mode</u>; when in Pentagon mode, every setting is **50 Hz**.\
\*\* Joystick ports can be placed into I/O mode via **NextREG 11 (Bh)**\
Programming the user defined keys joystick is done through the PS/2 keymap interface on **NextREG 40 (28h)**, **41 (29h)** and **43 (2Bh)**:

1. Write **128** to **NextREG 40 (28h)**
2. Write **0** (Left joystick) or **16** (Right joystick) to **NextREG 41 (29h)**
3. Write **12** bytes to **NextREG 43 (2Bh)** in order. The bytes correspond to the twelve buttons on an MD pad as follows (**Byte 0** to **Byte 11**):\
   **R, L, D, U, B, C, A, START, Y, Z, X, MODE**
4. Each byte written identifies a key in the **8x7** membrane; **D5:3** select the row and **D2:0** the column with **111** meaning <u>no action</u>

In Kempston and MD modes. excess buttons on an controller not read via ports will generate key input if so programmed

#### NextREG 06 (06h) – Peripheral 2 Settings

<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="3">PSG Mode Control</td><td rowspan="3">■</td><td rowspan="3">■</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>0</td><td>0</td><td>YM</td><td rowspan="3"></td><td rowspan="3"></td></tr>
<tr><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><b>0</b></td><td><b>1</b></td><td>AY</td></tr>
<tr><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>1</td><td>1</td><td>Hold all PSGs in Reset</td></tr>
<tr><td rowspan="2">PS/2 Mode Control</td><td rowspan="2">■</td><td rowspan="2">■</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td><b>0</b></td><td>[colour: pink]</td><td>[colour: pink]</td><td>Keyboard Primary</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>[colour: pink]</td><td>[colour: pink]</td><td>1</td><td>[colour: pink]</td><td>[colour: pink]</td><td>Mouse Primary</td></tr>
<tr><td>NMI Button 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>NMI button enable*</td><td>■</td><td>0</td></tr>
<tr><td>divMMC NMI Control</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: pink]</td><td>[colour: pink]</td><td>divMMC NMI** button enable</td><td>■</td><td>0</td></tr>
<tr><td>F3 Hotkey 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: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>50 Hz / 60 Hz hotkey enable</td><td></td><td>1</td></tr>
<tr><td rowspan="2">Internal Speaker BEEP Control</td><td rowspan="2">■</td><td rowspan="2">■</td><td>[colour: pink]</td><td><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>All audio copied to speaker</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: pink]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>Only BEEP sounds diverted to speaker</td></tr>
<tr><td>F5, F6 and F8 Hotkey 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: pink]</td><td>[colour: pink]</td><td>CPU Speed and Exp. Bus hotkeys enable</td><td></td><td>1</td></tr>
</tbody>
</table>

\* NMI button refers to the button to the right side of the SD Card reader\
\*\* Refers to the Drive button to the left side of the SD Card reader

#### NextREG 07 (07h) – CPU Speed

<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="4">CPU Speed Control¹</td><td rowspan="4">■</td><td rowspan="4">■</td><td>[colour: dark green]</td><td>[colour: dark green]</td><td>[colour: light green]</td><td>[colour: light green]</td><td>[colour: dark green]</td><td>[colour: dark green]</td><td><b>0</b></td><td><b>0</b></td><td>3.5 MHz</td><td rowspan="4"></td><td rowspan="4">*</td></tr>
<tr><td>[colour: dark green]</td><td>[colour: dark green]</td><td>[colour: light green]</td><td>[colour: light green]</td><td>[colour: dark green]</td><td>[colour: dark green]</td><td>0</td><td>1</td><td>7 MHz</td></tr>
<tr><td>[colour: dark green]</td><td>[colour: dark green]</td><td>[colour: light green]</td><td>[colour: light green]</td><td>[colour: dark green]</td><td>[colour: dark green]</td><td>1</td><td>0</td><td>14 MHz</td></tr>
<tr><td>[colour: dark green]</td><td>[colour: dark green]</td><td>[colour: light green]</td><td>[colour: light green]</td><td>[colour: dark green]</td><td>[colour: dark green]</td><td>1</td><td>1</td><td>28 MHz</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: pink]</td><td>[colour: pink]</td><td>Reserved, must be 0</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: light green]</td><td>[colour: light green]</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>Reserved, must be 0</td><td></td><td></td></tr>
<tr><td rowspan="4">Current Actual² CPU Speed</td><td rowspan="4">■</td><td rowspan="4"></td><td>[colour: dark green]</td><td>[colour: dark green]</td><td><b>0</b></td><td><b>0</b></td><td>[colour: dark green]</td><td>[colour: dark green]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>3.5 MHz</td><td></td><td rowspan="4"></td></tr>
<tr><td>[colour: dark green]</td><td>[colour: dark green]</td><td>0</td><td>1</td><td>[colour: dark green]</td><td>[colour: dark green]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>7 MHz</td><td></td></tr>
<tr><td>[colour: dark green]</td><td>[colour: dark green]</td><td>1</td><td>0</td><td>[colour: dark green]</td><td>[colour: dark green]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>14 MHz</td><td></td></tr>
<tr><td>[colour: dark green]</td><td>[colour: dark green]</td><td>1</td><td>1</td><td>[colour: dark green]</td><td>[colour: dark green]</td><td>[colour: pink]</td><td>[colour: pink]</td><td>28 MHz</td><td></td></tr>
</tbody>
</table>

\* Soft reset defaults this to **00**\
¹ When read returns the Programmed CPU speed as it may differ from actual speed. See below\
² Current Actual speed may differ from the set speed due to Expansion Bus use, or another forced change

