background image

2.  SYSTEM EXCLUSIVE MESSAGE FORMAT

Exchange of non-musical data such as voices and remote front panel programming is accomplished via MIDI System-
Exclusive messages.  The K150FS message system uses a closed-loop handshaking protocol to regulate the flow of system-
exclusive data.  The formats of the messages and the protocol are described below.

2.1 MESSAGE HEADER

Every system-exclusive message, in either direction, consists of a header, optional data, and MIDI EOX status code ($F7).  A 
message thus consists of the following bytes:

$F0

MIDI system-exclusive status code

$07

Kurzweil ID code

sel

Device Select.  For several identical units connected together, specifies which one should respond.  
Range is $00-$0F and for K150FS, the device ID is the same as the basic MIDI channel.

$0F

Product code for K150FS

cc

Command/status code (see list below)

data

optional

$F7

MIDI end-of-exclusive

COMMAND/STATUS CODES

MEANING

$01

Load master parameter block

$02

Dump master parameter block

$03

Load program

$04

Dump program

$05

Load voice

$06

Dump voice

$07

Block data transfer

$08

Remote button push

$09

Request display content

$0A

Display text (acknowledgment to 

$09

)

$7E

NAK (negative acknowledge; error)

$7F

ACK (positive acknowledge; OK)

Only Dump Voice, Load Voice, Block Data Transfer, NAK, and ACK are described in this document.  The others are 
described in a document titled: "K150FS Version 1.6 Software" (applies to 1.7 and later versions as well).

2.2 ENCODING OF 8-BIT BINARY DATA

The data portion, if present, of messages usually consists of full 8-bit bytes.  These are sent as pairs of MIDI bytes, 4 bits for 
each member of the pair.  The most significant 4 bits are sent first.  Thus the MIDI bytes $4D $69 $64 $69 would be sent as 
$04 $0D $06 $09 $06 $04 $06 $09.  Although other packing techniques may be more efficient, this simple method is human 
readable from a MIDI data logger and quite efficient enough for the relatively small amount of data required to represent 
additive synthesis sounds.

2.3 HANDSHAKING PROTOCOL

The K150FS is connected to a computer with two MIDI cables.  One connects the computer’s MIDI output to the K150FS 
MIDI input and the other connects the K150FS MIDI output to the computer’s MIDI input.  Note that the K150FS MIDI 
output does not retransmit the normal musical messages it receives; it is only used to reply to system-exclusive messages.

Different message types use different protocols.  The protocol for messages associated with voice loading dumping are 
described below.  Protocols for the other message types are outlined in K150FS Version 1.6 Software.

Содержание K150 - APPENDIX 1

Страница 1: ...nary data structure which is communicated via system exclusive messages A bottom up approach will be used in describing these structures 1 1 PARTIAL PARAMETERS A sound model may have from 1 to 64 part...

Страница 2: ...need have no relation with each other However voice memory may be saved and loading of the K150FS s internal processor reduced if some of the breakpoint times coincide Whereas the Sound Modeling Progr...

Страница 3: ...ollowed by two bytes for the argument However since the K150FS s internal 68000 processor requires 16 bit quantities to be at even addresses the string is split into a command code vector and an argum...

Страница 4: ...he last array element at the extra row and column intersection gives the earliest second breakpoint time which is when interpretation of the update command list should begin To make it easier on the p...

Страница 5: ...ple rate of the sound generator This rate is exactly 19531 25Hz which is exactly equal to a 51 2 uS period It is derived in the hardware by dividing a 20MHz clock by 1024 Frequency units are based on...

Страница 6: ...ey are represented by an unsigned 8 bit integer in units of 3 8 of a decibel This gives a range of 0dB to 95 625dB In most cases the dB value is an amplitude which means that 0 is silence and 255 is m...

Страница 7: ...partial sawtooth Of course the whole issue of phase is moot for sounds with intended inexact harmonics 1 6 MODEL PARAMETERS Model parameters affect the entire sound model in some fashion 1 6 1 Model N...

Страница 8: ...ant byte at the lower even address The symbolic names given to the various fields come from the Apple II version of the S M P and are shown here simply as mnemonic aids To make reading easier decimal...

Страница 9: ...E 3 Update 3 228 9dB S BYTE 0 Wait 20mS BYTE 2 Update 2 171 7dB S BYTE 0 Wait 30mS BYTE 1 Update 1 143 0dB S BYTE 0 Wait 100mS BYTE 1 2 Update I 80 5dB S Update 2 114 4dB S BYTE 0 Wait 50mS BYTE 3 Upd...

Страница 10: ...portant All of the model headers must follow the voice header A field in the voice header specifies how many models follow so the K150FS knows when it reaches the end of the model header list The data...

Страница 11: ...r 7F ACK positive acknowledge OK Only Dump Voice Load Voice Block Data Transfer NAK and ACK are described in this document The others are described in a document titled K150FS Version 1 6 Software app...

Страница 12: ...the voice data such as an odd number of data nybbles Otherwise it will a NAK Only the simplest errors are checked for Erroneous voice data will likely cause the K150FS software to crash when a key is...

Отзывы: