Casio MZ-2000 Musical Instrument User Manual


 
17
MZ-2000 MIDI Implementation
4.2.3.1 Setting Examples
Example 1: Sending the Save MIDI Setup message using Universal DevID
Header Block(Hexadecimal)
00 F0 [System Exclusive Status]
01 44 [Manufacturer's ID] 44H = CASIO ID
02 7E [Model ID MSB] MZ-2000 Sound System Model-ID MSB
03 02 [Model ID LSB] MZ-2000 Sound System Model-ID LSB
04 00 [Message Version]
05 7F SysEx Device Id (Universal)
Data Block
06 00 tt :Message Type
07 00 d0[0] :Message Id
08 20 d1[0] :System Parameter ID
09 00 d2[0] :Data (Save = 0)
EOX
10 F7 [EOX]
Example 2: DSP Initialize
Header Block(Hexadecimal)
00 F0 [System Exclusive Status]
01 44 [Manufacturer's ID] 44H = CASIO ID
02 7E [Model ID MSB] MZ-2000 Sound System Model-ID MSB
03 02 [Model ID LSB] MZ-2000 Sound System Model-ID LSB
04 00 [Message Version]
05 10 SysEx Device Id
Data Block
06 00 tt :Message Type
07 00 d0[0] :Message Id
08 22 d1[0] :System Parameter ID
09 7F d2[0] :Data
EOX
10 F7 [EOX]
4.3 Patch MIDI Overview
4.3.1 MIDI Messages Received by Patch
4.3.1.1 Patch Parameter Configuration
The patch parameters can be broadly divided into the following blocks.
1. Tone Generator: Sound source setting block
2. Effect Module Select: Effect select block
3. Actual Effect: Actual effect image
4. Actual Mixer: Actual mixer image
5. Effect Macro Select: Effect macro select block
In the case of the Actual Effect and Actual Mixer, effect and mixer settings can be saved and
restored by a bulk dump, which means these settings are integral parts of the patch parameter and
they cannot be edited as patch parameter data. Because of this, these two blocks are not covered
here.
For details on the remaining blocks, see each patch parameter block MIDI implementation as
indicated below.
1. Patch Tone Generator (4.4)
2. Patch Effect Module Select (4.5)
3. Patch Effect Macro Select (4.6)
4.3.1.2 Patch Parameter Set Bulk Dump
The patch Parameter Set can be sent and received using bulk dump. There are two protocols, One-
Way and Handshake, which are the same as those described under "4.1 MZ-2000 Sound Source
Common System Exclusive Format."
The following shows the section that applies to effects only.
tt 0100aaaa aaaa = BDS..."SYSEX_ACT_BDS" = 02H
BDR..."SYSEX_ACT_BDR" = 03H
HDS..."SYSEX_ACT_HDS" = 04H
HDR..."SYSEX_ACT_HDR" = 05H
HDA..."SYSEX_ACT_HDA" = 06H
HDJ..."SYSEX_ACT_HDJ" = 07H
HDE..."SYSEX_ACT_HDE" = 08H
d0[0] 0ooocccc cccc = Parameter Set Category = Patch = 01H
ooo = 00H
d0[1] 0ttttttt 0TTTTTTT0ttttttt = Type ID = 0000 Fixd
d0[2] 0TTTTTTT
d0[3]
0mmmmmmm 0MMMMMMM0mmmmmmm = Mdev ID = Internal RAM = 2F00
Fixd
d0[4] 0MMMMMMM
d0[5] 0sssssss 00SSSSSSSsssssss = Section Number = 0000 Fixd
d0[6] 0SSSSSSS
d0[7] 0nnnnnnn 00NNNNNNNnnnnnnn = PS Number = 0000 Fixd
d0[8] 0NNNNNNN
The volume of data that follows the above is very large, so it is not included here. This data can be
looked up by sending HDR and BDR.
4.4 Patch Tone Generator
4.4.1 General
This sound source control parameter is the tone generator block within the patch parameter.
4.4.2 Patch Tone Generator Parameter Control Message Format
tt 0100aaaa aaaa = IPC..."SYSEX_ACT_IPC" = 00H
IPR..."SYSEX_ACT_IPR" = 01H
d0[0] 00100000 Parameter Modify Message-ID = 20H
d0[1] 0000cccc cccc = Category = CAT_PATCH = 01H
d0[2] 0ttttttt 0TTTTTTT0ttttttt = Type ID
= Tg Type ID for operation = 00H
d0[3] 0TTTTTTT
d0[4] 0mmmmmmm 0MMMMMMM0mmmmmmm = MDEV ID = 2F00H
d0[5] 0MMMMMMM
d0[6] 0sssssss 0SSSSSSS0sssssss = Section Number = 0000HåíË
d0[7] 0SSSSSSS
d0[8] 0nnnnnnn 00NNNNNNNnnnnnnn = PS Number = 00H
d0[9] 0NNNNNNN
d0[10] 0ppppppp qqPPPPPPPppppppp = Parameter ID
d0[11] 0PPPPPPP (See the following section for details.)
d0[12] 0rbbbbqq bbbb = number of parameter block - 1 = 02H
Target operation Tg Type ID => Operation Tg Type ID
(See next section.) => (See next section.)
For Scale Tune only, r = 1 => For Scale Tune only: r = 1
Other parameters are not arrays, and so r = 0.
d1[0] 0iiiiiii 0iiiiiii = I:Main Block = 00H
d1[1] 0jjjjjjj 0jjjjjjj = J:TgPatch = 00H
d1[2] 0kkkkkkk 0kkkkkkk = K:TgCommon = 00H
d1[2] 0kkkkkkk 0kkkkkkk = K:Part = 00H - 1FH(0--31) Part Index
These values are used when Part Index is specified.
When r = 1 only (d2[0] to d2[2])
d2[0] 0ooooooo
d2[1] 0ppppppp oooooooppppppp = top index number of array to send
(transfer start array number)
d2[2] 0qqqqqqq qqqqqqq = number of array member to send
(Members sent inside this packet)