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

32
同じIDを持つParameterでも、プリセット番号、パート番号、キー番号毎に存在するものもあり、これらの値を
indexで指定することでParameterが特定できます。
3バイト固定のフィールドであり、1つのParameter Setを転送するのに分割されたPacketの通し番号(先頭は
00)と、このフィールドの後につづくdataフィールドのサイズを表します。
i[0]...0nnnnnnnB Packet Number LSB (NNNNNNNnnnnnnnB = Packet Number)
i[1]...0NNNNNNNB Packet Number MSB
dataフィールドの説明にある通り、1Packetで送ることができるのは最大128バイトであり、128バイトを越え
るデータを転送するときは、最後のパケットを除いて必ず128バイト単位に区切られるので、受信したPacket
のデータを
ParameterSet 先頭アドレス+ PacketNumber × 128
に格納すればよいことになります。
i[2]...0LLLLLLLB data length / 3
ここで表わしたDataの長さに3を乗算した値がDataの長さになります。したがって、(dataフィールドの説明に
ある通り、)Dataの長さは必ず3の倍数となります。
このフィールドは空となります。
1バイト固定のフィールドであり、Handshakeで使用するための以下に示すようなコントロールメッセージを
表します。この働きについてはParameter Setの転送方式」(17)の項目で説明します。
15.2.11 11...data Parameter Data
このフィールドは空となります。
act = 02(BDS)または04(HDS)のとき
Format: 0nnnnnnnB 0NNNNNNNB 0LLLLLLLB
act = 03(BDR) または05(HDR)のとき
Format: -
act = 7(EOD, HDA, HDJ, HDE, BSY, EOS, NOP)のとき
Format: 0000ccccB
ccccB Control Message
0000B
0001B
0010B
0011B
0100B
0101B
:
1111B
EOD Oneway/Handshake Bulk Dump End of Data (Parameter Set 転送終了)
HDA Handshake Bulk Dump Acknowledge (Handshake 受信成功)
HDJ Handshake Bulk Dump Reject (Handshake 拒否/中止)
HDE Handshake Bulk Dump Error (Handshake Error)
BSY Handshake Bulk Dump Busy (Handshake Busy)
EOS Oneway/Handshake Bulk Dump End of Package (Parameter Set Package転送終了)
NOP No Operation (無動作)
act = 1(IPR)03(BDR)05(HDR) または7(EOD, HDA, HDJ, HDE, BSY, EOS, NOP)のとき
Format: -