System Exclusive Protocol
K2500 System Exclusive Implementation
11-4
CHANGE = 08h type(2) idno(2) newid(2) name(n)
…changes the name and/or ID number of an existing object. If ‘newid’ is zero or ‘newid’ equals
‘idno’, the ID number is not changed. If ‘newid’ is a legal object id number for the object’s type
, then the existing object will be relocated in the database at the new ID number. This will cause
the deletion of any object which was previously assigned to the ‘newid’. If the ‘name’ field is
null, the name will not change. Otherwise, the name is changed to the (null-terminated) string
in the ‘name’ field.
WRITE = 09h type(2) idno(2) size(3) mode(1) name(n) form(1) data(n) xsum(1)
…writes an entire object’s data directly into the database. It functions like the message
sequence DEL followed by NEW followed by a LOAD of one complete object data structure. It
first deletes any object already existing at the same type/ID. If no RAM object currently exists
there, a new one will be allocated and the data will be written into it. The object name will be
set if the ‘name’ string is non-null. The response to this message will either be a DACK or a
DNAK, as with the load message. The ‘offs’ field of the response will be zero. The K2500 will
send a WRITE message whenever an object is dumped from the front-panel (using a “Dump”
soft-button), or in response to a READ message.
The ‘mode’ field is used to determine how the ‘idno’ field is interpreted.
If ‘mode’ = 0:
The ‘idno’ specifies the absolute ID number to write to, which must exist.(must be valid)
If ‘idno’ equals zero, write to the first available ID number.
If ‘mode’ = 1
The object is written at the first available ID number after what is specified by ‘idno’.
It doesn’t matter if ‘idno’ is a legal ID number. Remember that for certain object types, the 100s
through 900s banks allow fewer than 100 objects to be stored (for example, the 100s bank will
store preset effects at IDs 100—109 only). In this mode, if ‘idno’ was 313, the object would be
written to ID 400 if available.
READ = 0Ah type(2) idno(2) form(1)
…requests the K2500 to send a WRITE message for the given object. No response will be sent if
the object does not exist.
READBANK = 0Bh type(2) bank(1) form(1) ramonly(1)
…requests the K2500 to send a WRITE message for multiple objects within one or all banks.
‘type’ and ‘bank’ specify the group of objects to be returned in WRITE messages. The ‘type’
field specifies a single object type, unless it is zero, in which case objects of all user types will be
returned (see object type table below). The ‘bank’ field specifies a single bank, 0-9, unless it is
set to 127, in which case objects from all banks will be returned.
‘form’ requests the format of the binary data in the WRITE messages. If ‘ramonly’ is one, only
objects in RAM will be returned. If ‘ramonly’ is zero, both RAM and ROM objects are returned.