<program#>= 0..127 selects individual user programs
<data> is in a packed format in order to optimize data transfer. Eight MIDI bytes are
used to transmit each block of 7 DMPro data bytes. If the 7 data bytes are looked at as
one 56-bit word, the format for transmission is eight 7-bit words beginning with the
most significant bit of the first byte, as follows:
There are 190 data bytes sent for a single program dump, which corresponds to 166
bytes of program data. With the header, the total number of bytes transmitted with a
program dump is 198. The location of each parameter within a program dump is shown
in the next section.
<data> is in the same format as described in 00, but with a different number of bytes
due to the difference in the effects parameters. The total number of data bytes sent for a
single effects dump is 28, which corresponds to 24 bytes of effects data. With the
header, the total number of bytes transmitted with a program dump is 36. Although a
Drumkit is stored along with its Effects, they are dealt with independently via MIDI.
When received, the DMPro will respond to this message with a MIDI user effects dump
(06h) of the user effect selected.
08h - MIDI Trigger Data Dump
F0 00 00 0E 19 08 <data> F7
<data> is in the same format as described in 00, but with a different number of bytes
due to the difference in the global parameter size. The total number of data bytes sent
for a Trigger data dump is 375, which corresponds to 328 bytes of Trigger data. With
the header, the total number of bytes transmitted with a Trigger dump is 382.
09h - MIDI Trigger Data Dump Request
F0 00 00 0E 19 09 F7
When received, the DMPro will respond to this message with a MIDI Trigger data
dump (08h).
0Ah - MIDI Global Data Dump
F0 00 00 0E 19 0A <data> F7
<data> is in the same format as described in 00, but with a different number of bytes
due to the difference in the global parameter size. The total number of data bytes sent
for a global data dump is 16, which corresponds to 14 bytes of global data. With the
header, the total number of bytes transmitted with a Global dump is 23.
When received, the DMPro will respond to this message with a MIDI global data dump
(0Ah).
0Ch - MIDI All Dump Request
F0 00 00 0E 19 0C F7
When received, the DMPro will respond to this message with a 128 MIDI User Drum
Program dumps (00), 64 MIDI Effects dumps (06), 64 MIDI Drumkit dumps (0E), a
Global data dump (0A), and a Triggers data dump (08) for a total of 68,821 MIDI bytes.
With sysex headers, the total number of bytes transmitted is 69525.
A delay of 4.25 milliseconds will be placed between each dump. When receiving a
complete dump, the DMPro does not require any delay between dumps.
0Dh - unused
0Eh - MIDI Drumkit Dump
F0 00 00 0E 19 0E <kit#> <data> F7
<kit#>= 0..63 selects individual user drumkits; 64=drumkit edit buffer
<data> is in the same format as described in 00, but with a different number of bytes
due to the difference in the drumkit parameters. The total number of data bytes sent for
a single drumkit dump is 640, which corresponds to 560 bytes of drumkit data. With
the header, the total number of bytes transmitted with a drumkit dump is 648. When
loading a drumkit into the drumkit edit buffer, none of the 64 drum program edit
buffers or the effect buffer will be changed, even if the new drumkit buffer contains
drum program numbers different than what is currently selected.
<mmm>=0=Global, 1=Drumkit, 2=Drum Program, 3=Effects, 4=Triggers
<k ffff>=Function number 0 through 20, depending on mode
!!NOTE!! The MSbit is bit <6> of the <0ksspppp> byte!!
<ss>=Sound 1-4 (0-3) when <mmm>=2
<pppp>=Page 0 through 9, depending on mode and function
<cccccc> =Drum 1 through 64 (0-63) if <mmm> = 1 or 2
<vvvvvvvv>= Parameter value, 8 bit 2’s complement
All parameters to be edited must be sent in this format (11 MIDI bytes), regardless of
the number of bits required to transmit the value of the parameter. When the DMPro
receives this message, it will edit the specified parameter to the new value and display
it. If the function and page selected does not exist in the current configuration, the
command will cause the nearest legal function, page, and parameter to be selected, but
no edit will occur. If a program edit command is received, it will place the DMPro in
Edit mode. If the value received is out of range for the parameter selected, the range
will be limited to the nearest legal value. The function and page numbers for each
parameter are shown in the next section.
11h - Sector Erase Command
F0 00 00 0E 19 11 <sector#> F7
<sector#>= 0..63 selects 128K byte sector number to be erased in FLASH PCMCIA card
The erase command sets all bytes of a sector to FFH. There can be up to 64 sectors of
128K bytes in a FLASH card, which allows for up to 8 megabytes of FLASH memory.
Additional commands should not be sent until receiving an ACK or NACK (described
below) from the DMPro. As much as 10 seconds must be allowed before aborting if no
ACK or NACK is received.