User manual - MIDIインプリメンテーション

31
15.2.8 8...ilen/dlen : index length / data length
この後に続く11...indexと12...data フィールドのサイズを示すものです。
iiB(Binary) = index length
index length(iiB)indexフィールドの長さを表わし、act(Action)の値に寄らず常に以下のようになります。
iiB......index byte size - 1
dddddB(Binary) = data length
data length(dddddB)dataフィールドの1データ(パラメータ)単位のサイズを表します。
これは下記の表に示す様に、Message Typeによって異なります。
15.2.9 9....ps : Parameter Set Number
通信対象とするParameter Setの番号(00mmmmmmmnnnnnnnB(Binary))LSB, MSB2バイトの並びで表
わします。
15.2.10 10...index Parameter Index Number
Parameterが配列となっているとき、何番目のデータかを特定するのに必要な補助的な番号です。その意味は各
Parameterごとに異なり、長さは14バイトのいずれかとなります。
Format: 0iidddddB
actの値 Message Type iiB
00, 01 IPC, IPR index byte size - 1
(:4Byteなら3)
02, 04 BDS, HDS 2 = 10B
(Packet Number3Byteです。)
03, 05 BDR, HDR 0 = 00B
(このフィールドは空ですが長さは0と表記します。)
07 Control 0 = 00B
(このフィールドの長さは1Byteです。)
actの値 Message Type dddddB
00 IPC data bit size - 1
(1bit なら00000B, 32bit なら11111B)
02, 04 BDS, HDS data bit size - 1 = 01111B
(16bit 単位の転送なので常にこのようになります。)
01, 03, 05, 07 IPR, BDR, HDRまたは
Control
0
Format: 0nnnnnnnB (LSB) 0mmmmmmmB (MSB)
act = 00(IPC) または01(IPR)のとき
Format: 0iiiiiiiB (0jjjjjjjB) (0kkkkkkkB) (0lllllllB)