3 patch midi overview, 4 patch tone generator, Mz-2000 midi implementation – Casio MZ-2000 User Manual

Page 18

Advertising
background image

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)

Advertising