Casio PX-330 Electronic Keyboard User Manual


 
31
Block Bit Field Division
Case 1
When an array has three or fewer nesting levels and the number of arrays in each dimension is 128 or less, they
are assigned below the three 7-bit fields. Unused regions are filled with zeros.
Example:
parameter [A][B][C]
With a 3-dimensional array parameter that consists of A=8 (3 bits), B=5 (3 bits) and C=10 (4 bits), the block bit
fields are allocated as: Block = 0000aaa 000bbb ccccccc (Binary).
Case 2
When Case 1 conditions are not satisfied, the minimal number of fields required for each number of arrays is reserved
from the lower bit of the block. Unused regions are filled will zeros.
Example 1:
parameter [A][B][C][D]
With a 4-dimensional array parameter that consists of A=3 (2 bits), B=4 (2 bits), C=3 (2 bits) and D=4 (2 bits)
like the one shown above, the block bit fields are allocated as: Block = 0000000 00000a abbccdd (Binary).
Example 2:
parameter [A][B]
With an A=3 (2bit), B=200 (8bit) 2-dimensional array parameter, the block bit fields are allocated as:
Block = 0000000 000aab bbbbbbb (Binary).
16.3.10 prm : Parameter ID
The Parameter ID indicates the parameter type. (See “Part V Parameter List”.)
When transferring individual parameters individually (as opposed to bulk transfer), this field is used to identify the parameter
by its parameter ID.
16.3.11 idx : Data Index Number
The data index number indicates the first array number of the array where transfer starts.
16.3.12 len : Data Length
The value of this field specifies the size of the parameter value stored in the data field. Data length indicates the length
of the array being transferred minus 1 when the parameter contains a character string or other similar array structure.
Format: LSB 0pppppppB
MSB 0qqqqqqqB
Format: 0iiiiiiiB
Format: 0lllllllB