Download Print this page

Kurzweil K2500 - PERFORMANCE GUIDE REV F PART NUMBER 910252 CHAP 11 Manual

System exclusive protocol

Advertisement

Quick Links

Chapter 11
System Exclusive Protocol
K2500 System Exclusive Implementation
The MIDI System Exclusive capabilities of the K2500 allow you to manipulate objects in the
K2500's memory from a computer system, another K2500, or a MIDI data recorder. The
following is a reference to the SysEx protocol used by the K2500. This information can be used
to build a simple object librarian software program. A word of advice—before you begin
experimenting with SysEx, make sure you have saved anything of value in RAM to disk.
NOTE: To support new features and changes in the K2500 line of products, the internal program
structure has been changed from that of the K2000. Due to these changes, you cannot transfer a K2000
program to a K2500, or a K2500 program to a K2000 via MIDI system exclusive. The K2500 software
will continue to be enhanced, and in the future the K2500 will be capable of accepting K2000 programs
over MIDI. As a result of this, computer based K2000 editor/librarians will not currently work with the
K2500, unless they have been revised to accommodate the changes.
Common Format
In the following discussion, the fields of the K2500 System Exclusive Protocol messages are
notated as...
field(length)
...where 'field' is the name of the particular information field in the message, and 'length' is
either 1, 2, 3, or n, representing the number of sequential MIDI bytes that make up the field. A
length of 'n' means that the field is of a variable length that is determined by its contents or sub-
fields.
All K2500 SysEx messages have the common format:
sox(1) kid(1) dev-id(1) pid(1) msg-type(1) message(n) eox(1)
'sox' is always F0h, and represents start of System Exclusive.
'kid' must be 07h, and is the Kurzweil Manufacturer ID.
'dev-id' is Device ID. The K2500 will recognize a SysEx message if the 'dev-id' is the same is the
SysX ID parameter from the MIDI Receive page (from the top level, press the MIDI mode
button and the RECV soft button.) If the K2500's SysX ID parameter is set to 127, it will
recognize SysEx messages no matter what the 'dev-id' is.
'pid' is the Product Identifier, and must be 78h (120 decimal), indicating the SysEx message is
for the K2500.
'msg-type' is the identifier of one of the K2500 SysEx messages defined below, and 'message' is
the variable-length message contents.
'eox' is always F7h, for end of System Exclusive.
Data Formats
K2500 SysEx messages are subdivided into fields that contain data in different formats. The
various fields are shown in the Messages section below. Within a message, any fields for values
that can be bigger than 7 bits are broken into 7 bit chunks. Thus two MIDI bytes gives 14 bits,
three bytes gives 21 bits. The significant bits are right justified in the field. All bytes in a field
must be present no matter what the value is. For example, an object type of 132 would be split
into two MIDI bytes in a 'type' field as 01 04:
System Exclusive Protocol
K2500 System Exclusive Implementation
11-1

Advertisement

loading

Summary of Contents for Kurzweil K2500 - PERFORMANCE GUIDE REV F PART NUMBER 910252 CHAP 11

  • Page 1: Chapter 11 System Exclusive Protocol

    ‘sox’ is always F0h, and represents start of System Exclusive. ‘kid’ must be 07h, and is the Kurzweil Manufacturer ID. ‘dev-id’ is Device ID. The K2500 will recognize a SysEx message if the ‘dev-id’ is the same is the SysX ID parameter from the MIDI Receive page (from the top level, press the MIDI mode button and the RECV soft button.) If the K2500’s SysX ID parameter is set to 127, it will...
  • Page 2 System Exclusive Protocol K2500 System Exclusive Implementation decimal: binary: 10000100 binary encoding for type(2) field: 0000001 0000100 decimal encoding for type(2) field: Object name fields are sent as a string of ASCII values in a ‘name’ field, with one MIDI byte of zero as a string terminator.
  • Page 3 System Exclusive Protocol K2500 System Exclusive Implementation DUMP = 00h type(2) idno(2) offs(3) size(3) form(1) …requests the K2500 to send a data dump of an object or portion thereof. ‘type’ and ‘idno’ identify the object. ‘offs’ is the offset from the beginning of the object’s data and ‘size’ describes how many bytes should be dumped starting from the offset.
  • Page 4 System Exclusive Protocol K2500 System Exclusive Implementation 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.
  • Page 5 System Exclusive Protocol K2500 System Exclusive Implementation The responses, a stream of complete WRITE messages, will come out in order of object type, while objects of a given type are in order by ID number, from lowest to highest. If no objects are found that match the specifications, no WRITE messages will be returned.
  • Page 6 System Exclusive Protocol K2500 System Exclusive Implementation equal to the new bank number. If the operation can’t be completed because of a bad type or bank number, the ENDOFBANK message will specify the old bank number. LOADMACRO = 10h …tells K2500 to load in the macro currently in memory. MACRODONE = 11h code(1) …acknowledges loading of macro.
  • Page 7: Button Press Equivalence Table

    System Exclusive Protocol K2500 System Exclusive Implementation Quick Access Bank 00h 6Fh Intonation Table 00h 67h Master Parameters The Master parameters can be accessed as type 100 (00h 64h), ID number 16. Master parameters cannot be accessed with any of the Bank messages. Button Press Equivalence Table Button Code (hex)
  • Page 8 System Exclusive Protocol K2500 System Exclusive Implementation Cursor Up/Down The next four commands allow you to read the screen display, both text and graphics layers. ALLTEXT = 15h …requests all text in the K2500’s display. PARAMVALUE = 16h …requests the current parameter value. PARAMNAME = 17h …requests the current parameter name.

This manual is also suitable for:

K2500