TG100 tone generator

TG100 manual

Some pages describing the MIDI data format

Hardware setup


Entering amidi -l in a Linux terminal gives:
   Dir Device    Name
   IO  hw:2,0,0  MidiSport 2x2 MIDI 1
   IO  hw:2,0,1  MidiSport 2x2 MIDI 2
which explains -p hw:2,0,1 in the amidi commands below.

Software

I've tried amidi in a Linux terminal and the sysex facilities in Cakewalk on Windows 10 and the results are similar, ie: I can't persuade the TG100 to understand my sysex dump requests.

What works

  1. I can execute a manual dump by pressing TG100 buttons, viz:
    Enter amidi -p hw:2,0,1 -d in a terminal. This echos any bytes it receives, waiting until you press CTRL/C.
    On the TG100: simultaneously press the [PART] and [EDIT] buttons and release them.
    Repeatedly press the [EDIT] button until the LCD display shows DumpAll: Sure?
    This is the output of the command.
  2. All midi files play normally. All midi events, controller messages etc. are correctly interpreted.
  3. Entering the following command in a Linux terminal:
    amidi -p hw:2,0,1 -S F0 43 10 27 30 35 06 00 15 F7
    correctly resets all the parameters I've checked. This is the only fully specified sysex command I can find in the TG100 manual. It's on page 73.

What doesn't work

I can't make any dump request formulated according to how I understand page 74, eg: amidi -p hw:2,0,1 -S F0 43 10 7A 4C 4D 20 20 30 30 36 38 52 51 30 00 00 00 00 0A 00 00 00 00 00 00 00 00 00 46 F7
doesn't produce anything at all. It's supposed to dump the MIDI Parameter Change Table. What could be wrong?

Checksum

The penultimate byte, just before the final 0xF7 of the sysex message, is the checksum, CS.
CS is set such that 0 ≤ CS ≤ 0x7f and the sum of all the bytes from the Start Address b20 - b14 to CS inclusive = 0 mod 0x7f.
For example, in the message above:
F0 43 10 7A 4C 4D 20 20 30 30 36 38 52 51 30 00 00 00 00 0A 00 00 00 00 00 00 00 00 00 46 F7
the sum of the highlighted bytes = 0 mod 0x7f.

Page history

4th May 2018, version 1
7th May 2018, version 2, thanks to Geoff at The MIDI Forum for spotting an error in version 1