## General

All sysex messages start with

| Hex        | Field                  |
|------------|------------------------|
| `F0`       | Start sysex            |
| `00 20 29` | Manufacturer: Novation |
| `02`       | Product type           |
| `0A`       | Product ID             |

All indices start at 0, i.e. template no. 3 is `02h` and MIDI channel 1 is `00h`.

## Dump template

| Hex                 | Field          | Value |
|---------------------|----------------|-------|
| `F0 00 20 29 02 0A` | Header         |       |
| `79`                | Dump template  |       |
| `nn`                | Template index | 0-15  |
| `F7`                | End of sysex   |       |

The factory templates 8-15 can be dumped but cannot be altered by uploading.

### Example

    amidi -p hw:1,0,0 -t 1 -S 'F0 00 20 29 02 0A 79 00 f7' -r dump.sysex

## Upload template

| Hex                 | Field          | Value |
|---------------------|----------------|-------|
| `F0 00 20 29 02 0A` | Header         |       |
| `77`                | Store template |       |
| `nn`                | Template index | 0-7   |

Knob configuration is repeated 16 times:


| Hex  | Field         | Value |
|------|---------------|-------|
| `nn` | CC number     | 0-127 |
| `00` | Unknown       |       |
| `nn` | Minimum value | 0-127 |
| `nn` | Maximum value | 0-127 |
| `nn` | MIDI channel  | 0-15  |
| `00` | Unknown       |       |        

The pads are repeated 8 times:


| Hex  | Field             | Value                     |
|------|-------------------|---------------------------|
| `nn` | Message type      | 0 = note; 1 = CC          |
| `nn` | CC number or note | 0-127                     |
| `nn` | Minimum value     | 0-127                     |
| `nn` | Maximum value     | 0-127                     |
| `nn` | Action            | 0 = momentary; 1 = toggle |
| `nn` | MIDI channel      | 0-15                      |

The arrow buttons use the same format as the pads, repeated 4 times in the order up, down, left, right.

| Hex  | Field        |
|------|--------------|
| `F7` | End of sysex |

### Example

    amidi -p hw:1,0,0 -s dump.sysex