An ASCII text version of this document is available on CompuServe under section seven of the MIDI
B forum. To access these documents:
•Enter CompuServe, type GO MIDIBVEN
•Select "section seven: Lexicon"
•Enter the Lexicon library
Overview
The Lexicon PCM 80 is a complex device with an involved MIDI System Exclusive implementation. This
document describes the Version 1.10 PCM 80 MIDI implementation, and assumes familiarity with the
functions and operations of the PCM 80. MIDI Implementation information relevant to PCM 80 algorithm
cards, or to Version 1.00 software, is available in separate documents
The most substantial changes to MIDI implementation between Versions 1.00 and 1.10 are in the area
of effects and bank dumps. Although the data compression used in Verson 1.00 has been eliminated,
Version 1.10 will accept dumps in that format. The software version of any PCM 80 can be determined
using the MIDI Inquiry Message, described in Appendix C of this document.
Autoconfiguration
To aid development of editors and librarians which will remain useful through the lifetime of the PCM 80,
regardless of the addition of new algorithms, we have provided a number of new System Exclusive
messages that allow a librarian to autoconfigure when it encounters new algorithms. Messages which are
particularly useful in autoconfiguration are:
System Configuration Response
Parameter Specific Response
Parameter Display Response
Effect Information Response
Patch Display Response
Matrix Mapping Response
Soft Row Display Response
Data Request
Direction of Data Transfer
Types of System Exclusive Messages
There are several types of System Exclusive messages: Data Requests, Messages, Responses and Data
Dumps.
Data RequestsA request is initiated by a remote device (never by a PCM 80). A request usually results
in a dump. A request for data causes no change in the state of the PCM 80.
MessagesA message is sent by a remote device to a PCM 80. It is a command for which there is
no response, such as a knob message. It may cause a change in the state of the PCM
80.
ResponsesA response is a data packet that is sent from the PCM 80 to another device, always as
the result of a request by that device A response is never sent to the PCM 80 (It may
be harmlessly transmitted to a PCM 80, but results in no change in the PCM 80).
1
Page 5
LexiconPCM 80 Version 1.10 MIDI Implementation Details
Data DumpsA dump contains information about some aspect of the PCM 80’s internal state. A dump
is transmitted by a PCM 80, eitheron request to another device, or to another PCM 80
(via front panel dump commands or SysEx Automation). When a dump is transmitted
to a PCM 80, it will normally cause a change in the internal state of the PCM 80. A dump
can also be purely informational, containing version information, etc. This sort of dump
may be received by a PCM 80 but results in no change. It is initiated only as the result
of an external request and may be considered as unidirectional.
Enabling System Exclusive Messages
The PCM 80 must be enabled via the front panel controls for receipt of System Exclusive messages. If
System Exclusive message receipt is not enabled, all System Exclusive messages are ignored. The
status of both the PCM 80 Memory Protect function and PCM 80 Pro and Go Edit modes are ignored when
System Exclusive is enabled.
ASCII Character Data
Many of the System Exclusive messages include ASCII character data. This refers to the values between
0x20 (space) and 0x7E (tilde). No other values should be used. Character fields should be padded with
spaces — the C NULL-terminator should not be used. When the PCM 80 receives an out-of-range value,
it will convert that value to a space. The small block character on the PCM 80 display (used to indicate
patch source/destination) is transmitted as a tilde. It is not possible to transmit this character to the PCM
80 via System Exclusive messages. The ASCII backslash character (0x5c) maps to the yen character
(¥)on the PCM 80 display.
Numeric Values
Any numeric values greater than one byte are transmitted from least-significant to most-significant.
Nibble-ized data
Some data (most importantly effect data) is transmitted in a nibble-ized format, i.e. each byte of data is
transmitted as a pair of bytes, with 4 bits of data in each byte. As in all other cases in the PCM 80, the lesssignificant portion of the byte is transmitted first.
Data Errors
The PCM 80 will display System Exclusive errors when it encounters any of a number of problems,
including checksum errors and early termination of a System Exclusive message (too few characters).
It will also report back to the sender of a System Exclusive message if it cannot fulfill a legally formatted
request. This covers situations such as bank-not-present, etc.
Timing Considerations
As some messages require significant time to process, System Exclusive information should not be sent
to the PCM 80 in bursts of more than 3 messages every 20ms. The individual message descriptions
presented later in this document note any specific time out requirements.
2
Page 6
Lexicon
PCM 80 Version 1.10 MIDI Implementation Details
SysEx Automation
SysEx Automation is intended primarily for facilities using multiple PCM 80s in identical modes of
operation. This mode, which is enabled from the PCM 80 front panel, asumes that all units have the same
effects in the same locations and the same algorithm cards loaded, and that a single master unit front panel
is controlling all slaved units. (Only front panel operations are transmitted as SysEx automation
commands.) Ideally, the master’s Target ID (Control 3.4) should be set to All. The MIDI inputs of all slave
units must be connected directly to the master MIDI OUT. This requires a MIDI THRU box if there is more
than one slave. This is not an appropriate mode for effect editing.
The displays of the slaves do not necessarily track the display of the master, although the internal states
do. Although knob turns and button pushes are not transmitted, the actual parameter values are. This
guarantees that the slave units will be locked directly to the master values. The only exceptions to this are
the Tap, Compare and Bypass buttons, whose states are transmitted to the slaves because they change
the internal state of the device. The others are visual only.
Not all system parameters are transmitted by SysEx Automation. Those which are transmitted are listed
in Appendix E.
Other MIDI Implementation notes
MIDI Controller 32 is used for Bank Select. MIDI Controller 0 (normally the most significant bits of Bank
Select) is ignored.
Program Change messages may be lost if they are sent to the PCM 80 before previous Program Change
messages are completed. Controller Data may be sent at full MIDI speed, with no loss of data.
3
Page 7
LexiconPCM 80 Version 1.10 MIDI Implementation Details
System Exclusive Message Descriptions
System Exclusive Message Header Block
All SysEx messages are preceded by the standard header.
Byte #Byte ValueDescriptionNotes
1F0SysEx ID
206Lexicon ID
307PCM 80 ID
40iii iiiiDevice IDValues 0-126 are defined as specific addresses. Any mes-
50iii iiiiSysEx IdentifierIdentifies the type of message. All System Exclusive mes-
This response is transmitted by the PCM 80 to a remote device when requested. It is ignored by the PCM
80. Note that this is not a Setup Dump — it is purely informational.
Byte #Byte Value DescriptionNotes
1F0SysEx ID
206Lexicon ID
307PCM 80 ID
40iii iiiiDevice ID
50x0Configuration Data
60iii iiiiMajor Version #This is the version number that appears to the left of the decimal
70iii iiiiMinor Version #This is the version number that appears to the right of the decimal
8-150iii iiii8 Byte Time stringTime of the code build in ASCII format xx:yy:zz
16-260iii iiii11 Byte Date stringDate of the code build in ASCII format: xxx:yy:zzzz
27-340000 iiii56000 memory page count
4-byte value (nibble-ized)Number of pages (64K words/page) of memory available to the
35-1480iii iiii114 Byte Bank information
(Space for 57 banks)Indexed by bank, 2 characters/bank. First character=bank size.
1490nCard Presentnon-zero if present
1500nCard Write Protectnon-zero if protected
1510iii iiiiCard VersionIndicates the version of the card directory structure. This should be
point on the the integer portion of the power up display.
point on the fractional portion of the power up display. On the front
panel this may be displayed as a 2-character value with a leading
zero. For example, a minor revison of 1 will appear as x.01. A minor
revision of 10 will appear as x.10
(Hours:Minutes:Seconds)
(Month:Day:Year)
Motorola 56002 processor. The number of pages in a standard
PCM 80 is 4. Memory can be expanded using SIMM memory.
(0=bank not present.) A non-zero in the second byte indicates that
the bank is a non-writeable preset bank.
ignored if the Card Present bit is not set.
1520iii iiiiCard TypeTypes are:
153-1620iii iiii10 Byte Name string for cardThis should be ignored if the Card Present bit is not set.
1630iii iiiiPage countIndicates the amount of memory available on the card. 1 page=64K.
1640iii iiiiCount of algorithms onlineNumber of valid algorithm IDs in the array beginning at byte 165.
165-2280iii iiii64 Byte List of algorithm IDsOnly count from byte 164 is valid.
2290iii iiiiCurrent User Interface Mode0=Control; 1=Tempo; 2=Edit; 3=Program; 4=Register. Mode and
2300iii iiiiUser interface in a Submode0=False; 1=True. A submode is defined as a state of the machine
2310iii iiiiCompare mode0=Off, 1=On
2320iii iiiiBypass0=Off, 1=On
2330xF7End of SysEx
0x00=ROM (holds algorithms or presets)
0x01=RAM (holds user effects, maps, setups and chains)
0x80=Bootable Diagnostics card.
This should be ignored if the Card Present bit is not set.
For example, 0x10 indicates 1 megabyte. This should be ignored if
the Card Present bit is not set.
These are the algorithms currently available to the system and
include internal algorithms plus any algorithms loaded from card.
Algorithms for any card not loaded into the system will not appear
here.
submode are purely informational and do not affect PCM 80 ability
to respond to MIDI.
that is different from that caused by pressing Control, Tempo, Edit,
Program Banks or Register Banks. This includes any of the dialog
modes such as saving an Effect, etc.
5
Page 9
LexiconPCM 80 Version 1.10 MIDI Implementation Details
0x01Bank Dump
This is a bidirectional dump of an entire bank of effects. It is initiated from the front panel as a Bank Dump.
Byte #Byte Value DescriptionNotes
1F0SysEx ID
206Lexicon ID
307PCM 80 ID
40iii iiiiDevice ID
50x1Effect bulk Data
60iii iiiiBank #Source bank if sent by PCM 80; target bank if received by PCM 80.
7-70656xxxxxxxx50 Single effect
data packets, with
checksums after eachSee Description of Nibble-ized Effect Data.
706570xF7End of SysEx
See appendix for indices of banks.
Note that as it is possible for a bank to be sparsely populated (for example, when a user has only a small
number of effects saved in bank 4 or 5) it is important to check the Flags byte for each effect. (See Single
Effect Data for a description of the Flags byte.)
Note also that for any effect to be successfully transmitted or received by the PCM 80, the supporting
algorithm must be present (not necessarily running) in the unit. Internal algorithms are always present,
whereas Card algorithms are only present if the card has been loaded. If an effects packet is transmitted
without the algorithm present, an error message is displayed on the screen. Such cases also cause
special formatting of the effects packet. See Single Effect Data for details.When an effects packet is
received without the algorithm present, an error message is displayed and the destination remains
unchanged.
0x02Single Effect Dump
This is a bidirectional dump initiated from the front panel as a Current Effect Dump. All numeric values
appear LSB first.
Byte #Byte Value DescriptionNotes
1F0SysEx ID
206Lexicon ID
307PCM 80 ID
40iii iiiiDevice ID
50x02Single Effect Data
60iii iiiiBank #If both the Bank and Program values are set to 0x7F, the dump is
70iii iiii Program #
8 - 1419Nibbleized effect dataSee next section for description.
1420ChecksumThis 7-bit value is a simple additive checksum that starts at the
14210xF7End of SysEx
that of the current edit buffer. If the dump is received by a PCM 80,
the incoming data will go into the edit buffer (loading the new preset)
but the dump is not stored anywhere else in the target system.
beginning of nibble-ized data.
The algorithm used by the effect must be present (not necessarily loaded) in the receiving unit for this
message to be received. If the algorithm is not present, an error message is displayed.
Nibble-izing takes place in least-significant order. All parameters here are described as after nibble-izing
has been undone. As any of these structures may appear in a number of locations, offsets are listed as
relative offsets.
6
Page 10
Lexicon
PCM 80 Version 1.10 MIDI Implementation Details
Single Effect Data
Byte
OffsetSizeDescriptionNotes
016-bit (LSB first)Flags0xffff=Valid Effect; 0xfffe=Blank effect slot. This is only sent during a
bank dump when certain positions in the bank are empty. Any other value
indicates that the effect was originally dumped from a Version 1.00 ROM.
The internals of the dump differ from what is described here. Note that
the version 1.10 ROM will accept effect dumps from Version 1.00 — the
version 1.00 ROM will NOT accept dumps from V1.10.
28-bitAlgorithm IDThe algorithm must be present in the unit for this packet to be transmitted
38-bitEdit Matrix PositionPosition in edit matrix when Edit is pressed. Upper nibble represents
4-1512 BytesEffect NameName of effect. See notes on ASCII Character Data in the Overview.
16-249 BytesKnob NameName of Soft Knob. See notes on ASCII Character Data in the Overview.
251 ByteAdjust Knob ValueStored value for the Soft Knob.
or received. This packet has a special format if the algorithm is not
present when the packet is transmitted. The value 0x7F replaces the
Algorithm ID which is placed in the Edit Matrix Position. The Effect Name
is properly transmitted, but the remainder of the packet is 0.
column; lower nibble represents row. See previous note in the case of
algorithm not present.
Appendix G: Non-Patchable (Type 2) Parameters.
1 Byte=Tempo Flag (1 if Tempo Mode); 2 Bytes=Value.
If Tempo Mod =0, then this is a 16-bit value (LSB first). If Tempo Mode=1,
then 1st byte is numerator and 2nd byte is denominator. The first 22
parameters are the same for all algorithms. The remaining are unique for
each algorithm. See Appendix F: Patchable (Type 1) Parameters.
Patch Save Data table following this section.
7
Page 11
Patch Save Data
Byte
OffsetSizeDescriptionNotes
08-bitValid Flag0=patch not connected, ignore following data; 1=patch connected,
following data valid.
18-bitTempo Mode0=Target parameter not in Tempo Mode; 1=Target parameter in Tempo
Mode. This must match the tempo flag field for the Type 1 parameter that
is the target of the patch.
21 BytePatch SourceSee the Patch Source Table in Appendix A.
31 ByteDestination List IDThe value for the Destination List ID is returned by the Parameter
Specific Response (0x16).
42 Bytes (LSB first)Destination List Index The value for the Destination List Index is returned by the Parameter
Specific Response (0x16).
61 BytePoint Count0-8=number of points in the patch. 0 is interpreted in the same way as a
Valid Flag of 0.
78 3-byte valuesPatch Point ValuesValues for each of 8 possible pivot points. Fields are interpreted as: 1
Byte=Position (0-127). These should be in ascending order. 2
Bytes=Value of target parameter at the pivot point. Only the first Point
Count of these values is meaningful. The remainder should be transmit-
ted as 0’s.
31End of DataEnd of DataEnd of Data
LexiconPCM 80 Version 1.10 MIDI Implementation Details
0x03Table Dump
This is a bidirectional dump (initiated from the front panel as a Map Dump) which describes a complete
program table (map).
Byte #Byte ValueDescriptionNotes
1F0SysEx ID
206Lexicon ID
307PCM 80 ID
40iii iiiiDevice ID
50x3Table Data
60iii iiiiTable (map) #Unlike some other objects, there is no “current” table, so the 0x7F value
70iii iiiiBank for table
position 0Any legitimate bank. See Appendix B: MIDI Bank Assignments. If
80iii iiiiOffset for table
position 00 - 49
9-262Bank/offset for positions 1-127
2630xF7End of SysEx
has no function in this case. There are normally 2 tables in the box (0 and
1). If a RAM card is in place, there are two additional tables (2 and 3).
nothing is assigned to this position in the table, a value of 0x7F is
returned.
8
Page 12
Lexicon
PCM 80 Version 1.10 MIDI Implementation Details
0x04)Table Element Dump
This is a bidirectional dump which describes a single position in a program table (map).
Byte #Byte ValueDescriptionNotes
1F0SysEx ID
206Lexicon ID
307PCM 80 ID
40iii iiiiDevice ID
50x4Table Element Data
60iii iiiiTable (map) #
70iii iiiiOffset in table0-127
80iii iiiiBankAny legitimate Bank index. See Appendix B: MIDI Bank Assignments. If
90iii iiiiOffset0-49
100xF7End of SysEx
nothing is assigned to this position in the table, a value of 0x7F is
returned.
0x05Chain Bulk Dump
This is a bidirectional dump, initiated from the front panel as a Chain Bulk Dump, which describes a set
of program chains (either the internal set of 10 or a card set of 10).
Byte #Byte ValueDescriptionNotes
1F0SysEx ID
206Lexicon ID
307PCM 80 ID
40iii iiiiDevice ID
50x5Chain bulk
60000 000iInternal/Card0=Internal; 1=Card
7-260iii iiiiData for chain 0
27 - 206Data for chains 1-9
2070xF7End of SysEx
(10 if card)See following description for Single Chain Dump.
(11-19 if card)
9
Page 13
LexiconPCM 80 Version 1.10 MIDI Implementation Details
0x06Single Chain Dump
This is a bidirectional dump, initiated from the front panel as a Chain Dump, which describes a complete
program chain.
Byte #Byte ValueDescriptionNotes
1F0SysEx ID
206Lexicon ID
307PCM 80 ID
40iii iiiiDevice ID
50x6Chain Data
60iii iiiiChain #Unlike some other objects, there is no “current” chain, so the value 0x7F
70iii iiiiBank for chain
position 0Any legitimate Bank index. See Appendix B: MIDI Bank Assignments. If
80iii iiiiChain position offset0-49
9-26Bank/offset for
positions 1-9
270xF7End of SysEx
has no effect here. Normally there are 10 chains available (0-9). If a RAM
card is in place, an additional 10 chains (10-19) are available.
nothing is assigned to this position in the table, a value of 0x7F is
returned.
0x07Chain Element Dump
This is a bidirectional dump which describes a single position in a program chain.
Byte #Byte ValueDescriptionNotes
1F0SysEx ID
206Lexicon ID
307PCM 80 ID
40iii iiiiDevice ID
50x7Chain Element Data
60iii iiiiChain #
70iii iiiiOffset in chain0-9
80iii iiiiBankAny legitimate Bank index. See Appendix B: MIDI Bank Assignments. If
90iii iiiiOffset0-49
100xF7End of SysEx
nothing is assigned to this position in the table, a value of 0x7F is
returned.
0x08Display Dump
When sent from the PCM 80, this bidirectional dump holds the current display information, whatever it
is. When sent to the PCM 80, this text is displayed for 2 seconds.
Byte #Byte ValueDescriptionNotes
1F0SysEx ID
206Lexicon ID
307PCM 80 ID
40iii iiiiDevice ID
50x08Display message
6-250iii iiiiTop line of display20-byte copy of upper display line.
26-450iii iiiiBottom line of display 20-byte copy of lower display line.
460xF7End of SysEx
10
Page 14
Lexicon
PCM 80 Version 1.10 MIDI Implementation Details
0x0BParameter Dump
This is a bidirectional message used when a PCM 80 is transmitting SysEx Automation data. It may be
transmitted or received by a PCM 80. Parameter types include:
Type 0 System Parameters: Parameters such as MIDI Channel, Edit Mode (Pro or Go), Mix Mode, etc.
which are not saved with an effect, but are part of the system setup.
Type 1 Patchable Parameters: Includes all parameters that can be patch destinations These are saved
with an effect.
Type 2 NonPatchable Parameters: Parameters such as envelope threshold which are saved with the
effect but cannot be patch destinations.
Byte #Byte ValueDescriptionNotes
1F0SysEx ID
206Lexicon ID
307PCM 80 ID
40iii iiiiDevice ID
50BParameter Value
60xParameter Type0=system; 1=patchable;
70iiiiiiiParameter OffsetSee appendix according to type.
80000000iTempo Mode Flag0=Absolute mode; 1=Tempo Mode. This flag defines the following value
90000iiiiLeast-significant nibble
of absolute value or
numerator byteOut-of-range values transmitted to PCM 80 will be adjusted to legal
100000iiiiNext nibble of absolute
value or numerator byte
110000iiiiNext nibble of absolute
value or denominator byte
120000iiiiMost-significant nibble
of absolute value or
denominator byte
13F7End of SysEx
2=nonpatchable
field as being an absolute 16-bit value (Flag=0) or a ratio value split into
bytes (Flag=1). It also forces the parameter into the appropriate mode.
This flag should be 0 except for those parameters that support Tempo
Mode. See the flags field for the appropriate parameters in the appendices describing the algorithms or use the Parameter Specific Response.
values.
11
Page 15
LexiconPCM 80 Version 1.10 MIDI Implementation Details
0x0CButton Dump
This is bidirectional. Those buttons which are transmitted in SysEx automation mode are: Compare, Tap
and Bypass.
Byte #Byte ValueDescriptionNotes
1F0SysEx ID
206Lexicon ID
307PCM 80 ID
40iii iiiiDevice ID
50xCButton message
60iii iiiiButton #0=Up; 1=Down
70xF7End of SysEx
2=Program Banks;
3=Load
4=Register Banks
5=Store;
6=Edit
7=Compare
8=Control
9=Bypass
10=Tempo
11=Tap
12=Reserved
13=Footswitch 1
14=Reserved
15=Footswitch 2
Button messages may be sent in quick succession (faster than 40ms) to mimic holds. For example,
sending Program Banks every 20ms for 1 second will cause the Help message for the key to be
displayed, just as if the key on the front panel were held down. Multiple key combinations can also be
sent by sending button messages in quick succession. For example, sending an Up message
immediately followed by a Down message causes the user interface to go to position 0.0 in the current
matrix, just as if the two buttons were pressed simultaneously.
0x12Soft Row Assignment Dump
Bidirectional. Assigns a Pro mode slot to a Go mode soft slot.
Byte #Byte ValueDescriptionNotes
1F0SysEx ID
206Lexicon ID
307PCM 80 ID
40iii iiiiDevice ID
50x12Soft Row Assign
60nSoft Row Slot (0-9)
70nSubstitute Row (0-9).This is the row/column that will appear in the soft row slot. A soft row
80nSubstitute Column (0-9)
90xF7End of SysEx
position may be de-assigned if row and column are both set to 0x0F.
The number of rows and columns is dependent on the current algorithm.
12
Page 16
Lexicon
PCM 80 Version 1.10 MIDI Implementation Details
0x13Patch Assignment Dump
This bidirectional dump contains the state of a particular patch in the currently running effect.
Byte # Byte ValueDescriptionNotes
1F0SysEx ID
206Lexicon ID
307PCM 80 ID
40iii iiiiDevice ID
50x13PatchAssign
60nPatchID (0-9)
7-80000 iiiiPatch Source
90iii iiiiPatch Destination.The patchable parameter offset. A value of 0x7F indicates that the
100nPoint Count (0-8).Only the 'n' following point values is meaningful. The remainder should
Nibble-ized with less
significant part firstSee Appendix A: Patch Sources by Index.
patch is to be disconnected. All other values in the packet remain valid.
be set to 0. A point count of 0 is an alternate way to indicate a
disconnected path.
Patch Point Packet — repeated 8 times...
110iii iiiiPoint Position (0-127)Positions should be in ascending order and may not be duplicated. The
130000 iiiiPoint Value next nibble
140000 iiiiPoint Value next nibble
150000 iiiiPoint Value MS nibble.
16000i iiiiTempo value Numerator
(1-24).Out-of-range values will be clipped and will cause an error message to
17000i iiiiTempo value
Denominator (1-24).Out-of-range values will be clipped.
point value is independent of the specific parameter range. The range
of point value is from 0 (minimum) to 0xffff (maximum). This format is
used so that a new patch destination can be selected while maintaining
the contour of the patch table.
be displayed.
7 more 7-byte point packets...
670xF7End of SysEx
If this message is improperly built, for example, if points are out of range or are not defined in ascending
order, the PCM 80 will attempt to correct the data. The message "Bad patch data was corrected" will be
displayed.
13
Page 17
LexiconPCM 80 Version 1.10 MIDI Implementation Details
0x14Knob Message
Host to PCM 80 only. (In SysEx Automation mode, the PCM 80 sends parameter values, not knob
messages.) Knobs operate within the current context of the user interface. For example, in Register
Banks mode, the Adjust knob is a soft knob. In Edit mode, it adjusts the displayed parameter. This
message is only useful for a remote controller.
Byte #Byte ValueDescriptionNotes
1F0SysEx ID
206Lexicon ID
307PCM 80 ID
40iii iiiiDevice ID
50x14Knob Code
60nKnob ID:0=Select knob; 1=Adjust knob
70nLeast-significant
Bidirectional. This is the method used in SysEx Automation to send Program Change messages. It may
be used in other cases, although the number of bytes is larger than a standard MIDI Program Change
message. The current MIDI Program Change mode selection (mapped, chained, off, etc) is ignored.
Byte #Byte ValueDescriptionNotes
1F0SysEx ID
206Lexicon ID
307PCM 80 ID
40iii iiiiDevice ID
50x15Program Change code
60iii iiiiBankSee Appendix B: MIDI Bank Assignments.
70iii iiiiProgram0-49
80xF7End of SysEx
14
Page 18
Lexicon
PCM 80 Version 1.10 MIDI Implementation Details
0x16Parameter Specific Response
PCM 80 to Host only. This dump returns information about a specific parameter. It is useful for an editing
program that doesn’t know the count, range or name of a parameter.
Byte #Byte ValueDescriptionNotes
1F0SysEx ID
206Lexicon ID
307PCM 80 ID
40iii iiiiDevice ID
50x16Parameter Specific
80iii iiiiFlagsThere are currently two bits defined in this field: Bit 0 (0x01) Parameter
9-200xxx xxxx2-byte row NameSee Overview for information on strings.
21-320xxx xxxx12-byte parameter
330nLeast significant
340nNext nibble
350nNext nibble
360nMost-significant nibble
370xxx xxxxDestination List IDThis is of interest only when an external editing program is directly
380xxx xxxDestination List IndexSee above note for Destination List ID.
390xF7End of SysEx
Data
supports tempo mode. Bit 3 (0x08) Parameter is not patchable. This
overrides the type field.
nameSee Overview for information on strings.
nibble of the maximum
parameter value (16-bit
unsigned)In some cases, algorithms have internal parameters which are not
controllable from MIDI or from the front panel. In those cases, maximum
value=0.
editing the Effect SysEx packet 0x02, which requires this Destination
List ID and Destination List index. The values obtained here should be
plugged into that packet where they determine the display position of
the parameter in the edit matrix. If the parameter is not patchable, this
field will be set to 0x7F.
0x17Parameter Display Response
PCM 80 to Host only. This dump returns the current display for a specific parameter. It should be useful
for an editing program that doesn’t know the display specifics for a parameter.
Byte #Byte ValueDescriptionNotes
1F0SysEx ID
206Lexicon ID
307PCM 80 ID
40iii iiiiDevice ID
50x17Parameter display
data
60nParameter typeSee Parameter Dump (0x0B).
70nParameter numberSome parameter numbers are algorithm dependent. See the appropri-
8-270iii iiii20-character
display string
280xF7End of SysEx
ate algorithm description.
15
Page 19
LexiconPCM 80 Version 1.10 MIDI Implementation Details
0x18System Setup Dump
This dump, which is both transmitted and received by the PCM 80, contains all system parameters (those
parameters that are not part of a preset).
Note that when the PCM 80 receives a current setup (0x7F) it ignores parameter #10 (Device ID) and
parameter #11 (SysEx Enable). Those values can only be changed from the front panel or by restoring
a setup from internal memory or card.
Byte #Byte ValueDescriptionNotes
1F0SysEx ID
206Lexicon ID
307PCM 80 ID
40iii iiiiDevice ID
50x18Setup Data
60iii iiiiSetup ID0x7F=Current; 0-4=Internal; 5-9=RAM Card. A RAM card may be
7-150iii iiiiSetup name9 byte ASCII string
16-190nNibble-ized unsigned
short parameter value
(LS first) for first
parameter (41 total)These parameters correspond by index with the system (Type 0)
20-1830nRemaining parameters
1840xF7End of SysEx
detected using the Configuration Response.
parameters.
0x19Save Current Edit Buffer Message
Host to PCM 80 only. The current edit buffer is named and saved with this message.
Byte #Byte ValueDescriptionNotes
1F0SysEx ID
206Lexicon ID
307PCM 80 ID
40iii iiiiDevice ID
50x19Save Code
60iii iiiiDestination BankMust be a writeable register or card bank. If a card bank, the write protect
70iii iiiiDestination Program0-49
8-190iii iiii12-character
program nameSee Overview for information on ASCII characters.
20-280iii iiii9-character knob
nameSee Overview for information on ASCII characters.
290xF7End of SysEx
tab must be off. See Appendix B: MIDI Bank Assignments.
16
Page 20
Lexicon
PCM 80 Version 1.10 MIDI Implementation Details
0x1AEffect Information Response
PCM 80 to Host only. This dump allows a remote master to get information about any of the effects in
the box.
Byte #Byte ValueDescriptionNotes
1F0SysEx ID
206Lexicon ID
307PCM 80 ID
40iii iiiiDevice ID
50x1AEffect Information
60iii iiiiBank #A bank # of 0x7F and program # of 0x7F indicates the current program.
70iii iiiiProgram #
Bidirectional. Name string for the Adjust knob in the current effect.
Byte #Byte ValueDescriptionNotes
1F0SysEx ID
206Lexicon ID
307PCM 80 ID
40iii iiiiDevice ID
50x1CAdjust knob name
6-140iii iiiiKnob name String9 Byte string
150xF7End of SysEx
0x1EVerbose Dump Message
This dump is only received by the PCM 80. It is provided for use with remote editors to enable and disable
the flashing of MIDI transmission messages during PCM 80 SysEx dumps. This message can also set
an automatic mode wherein a display message is transmitted whenever the display changes (to support
a remote control). Verbose state is NOT remembered by the PCM 80 over a reboot cycle. The PCM 80
always returns to normal mode (Mode 1).
Byte #Byte ValueDescriptionNotes
1F0SysEx ID
206Lexicon ID
307PCM 80 ID
40iii iiiiDevice ID
50x1EVerbose message
60000 00xx2 (Automatic mode) Do not flash messages on screen. In addition,
automatically send the display SysEx whenever the display changes.
Note that this mode can cause a tremendous amount of data to be output
by the PCM 80, and some computers may have trouble keeping up.
1 (normal mode) Flash messages on screen. Transmit display only when
requested.
0 (quiet mode) Do not flash messages on screen. Transmit display only
when requested. In mode 0 and 2, no MIDI dump status messages are
displayed.
70xF7End of SysEx
17
Page 21
LexiconPCM 80 Version 1.10 MIDI Implementation Details
0x1FLED response
When the automatic verbose mode is selected, this dump is transmitted by the PCM 80 whenever any
of the LEDs change. The meter values are also included, since it is likely that they have also changed.
When this message is sent, no meter message is sent for the same time period to lower the data traffic.
Byte #Byte ValueDescriptionNotes
1F0SysEx ID
206Lexicon ID
307PCM 80 ID
40iii iiiiDevice ID
50x1FLED message
60iii iiiiLED bitmaskBit 0=Program Banks; Bit 1=Load; Bit 2=Register Banks; Bit 3=Store;
70iii iiiiLED bitmaskBit 0=Bypass; Bit 1=Tempo; Bits 2-6=reserved
8000i iiiiLeft Meter bitmaskThese bits match the front panel meters as follows: Bit 0 =24dB (green);
9000i iiiiRight Meter bitmasksame as left meter bitmask
100xF7End of SysEx
Bit 4=Edit; Bit 5=Compare; Bit 6=Control
Bit 1=18dB (green); Bit 2=2dB (green); Bit 3=6dB (amber); Bit 4=0dB
(red)
0x20Meter response
When the automatic verbose mode is selected, this dump is transmitted by the PCM 80 whenever the
meter values change. For data reduction purposes, there is no LED change.
Byte #Byte ValueDescriptionNotes
1F0SysEx ID
206Lexicon ID
307PCM 80 ID
40iii iiiiDevice ID
50x20Meter message
6000i iiiiLeft Meter bitmaskSame as the LED message description.
7000i iiiiRight Meter bitmask
80xF7End of SysEx
18
Page 22
Lexicon
PCM 80 Version 1.10 MIDI Implementation Details
0x21Patch Display Response
PCM 80 to Host only. This dump returns the current display for a specified patch at a specified input value.
It is useful for an editing program that doesn’t know the display specifics for a parameter.
Byte #Byte ValueDescriptionNotes
1F0SysEx ID
206Lexicon ID
307PCM 80 ID
40iii iiiiDevice ID
50x21Patch display data
60nPatch (0-9)
70nPivot point (0-127)This should be an assigned point.
8-220iii iiii15-character
230xF7End of SysEx
display stringSee Overview for information on ASCII characters.
0x22Matrix Mapping Response
PCM 80 to Host only. This dump is a response to a request for information. The request holds Destination
List ID and Destination List Index. This message returns the parameter that is mapped to that location
in the edit matrix. These are required when translating to and from the stored effect format.
Byte #Byte ValueDescriptionNotes
1F0SysEx ID
206Lexicon ID
307PCM 80 ID
40iii iiiiDevice ID
50x22matrix mapping data
60iii iiiiDestination List IDUsed in the single effect packet.
70iii iiiiDestination List Index Used in the single effect packet.
80iii iiiiParameter typeSee Parameter Dump .
90iii iiiiParameter offsetDependent on parameter type and algorithm.
100xF7End of SysEx
0x23Adjust Knob Value Dump
Bidirectional. This dump allows the Adjust knob value to be transmitted or received.
Byte #Byte ValueDescriptionNotes
1F0SysEx ID
206Lexicon ID
307PCM 80 ID
40iii iiiiDevice ID
50x23Adjust knob value
60iii iiiiKnob ValueValue within range of 0-127
70xF7End of SysEx
19
Page 23
LexiconPCM 80 Version 1.10 MIDI Implementation Details
0x24Soft Row Display Response
This dump is only transmitted by the PCM 80 as the result of an inquiry. It is a support function for the
Soft Row Assignment Dump. It returns substitute row and column values (used as bytes 7 and 8 in the
Soft Row Assignment message) along with the text name of the parameter block to be placed there. The
displays apply only to the currently loaded algorithm.
In many cases, related parameters, such as Master parameters for displays, are stacked up onto a single
matrix slot. A descriptive slot name for the entire parameter group is used in soft row assignments. This
message allows a program to determine the name.
Byte #Byte ValueDescriptionNotes
1F0SysEx ID
206Lexicon ID
307PCM 80 ID
40iii iiiiDevice ID
50x24Soft Row
Display Message
60iii iiiiAlgorithm iD
70iii iiiiNumber of value
8-290iii iiii22-Byte descriptor
30-14150iii iiiiRemaining descriptors
14160xF7End of SysEx
soft row assignments
for current algorithmOnly this many of the following descriptors should be used. The message
reserves room for up to 64 descriptors
for soft row assigment 1 byte=Substitute row. Plug this into byte 7 of the Soft Row assignment
message
1 byte=Substitute column. Plug this into byte 8.
20 bytes=Display string. A text descriptor of the parameter block to be
assigned to the soft row. This is the same string that appears when
editing the soft row from the front panel. In some cases, multiple
parameters may be grouped into a single location on the matrix.
0x7CFailure Response
PCM 80 to Host only. This message tells the host that the PCM 80 was unable to service a particular
request, for example a request for an effect that is not present. Note that the failure response is only
returned when the host has transmitted a properly formatted request. Any partial or corrupted request
receives no response.
Byte #Byte ValueDescriptionNotes
1F0SysEx ID
206Lexicon ID
307PCM 80 ID
40iii iiiiDevice ID
50x7CFailure
60xF7End of SysEx
20
Page 24
Lexicon
PCM 80 Version 1.10 MIDI Implementation Details
0x7FData Request
Host to PCM 80 only. The host may request that a message be sent by the PCM 80.
Byte #Byte ValueDescriptionNotes
1F0SysEx ID
206Lexicon ID
307PCM 80 ID
40iii iiiiDevice ID
50x7FData request
60iii iiiiType of data
7-11parameters for
120xF7End of SysEx
Request Request ByteParameter bytesNotes
System
Config0x00none
Effect Bulk0x01Bank
Effect Single0x02Bank, Offset0x7F returns dump of currently-running effect, including any unsaved
In the MIDI spec, two continuous controllers are reserved for Bank change. Those controllers are #0 and
#32. Those controllers are not available as patch sources in the PCM 80, as their use could possibly cause
unwanted effects. Therefore, controller IDs are remapped in the patch source list. Controllers 0 and 32
are excluded. This means that you must subtract 1 from any MIDI Controller# below #33 and you must
subtract 2 from Controller #33 on up. For example:
Controller #Patch Source Index
0Not available
1-310-30
32Not available
33-11931-117
MIDI controls above 119 are reserved for other messages and are not available as controllers. They are
also excluded from the patch source table.
Patch Source Table
All patch sources have outputs in the range of 0-127. See the preceding table for exclusions
Source IndexController
0-117MIDI controllers 0-119
118Pitch bend
119Channel pressure
120Velocity of last-played note
121Last note number
122Lowest current note number
123Highest current note number
124Clock commands
125LFO (selectable output)
126LFO Sine
127LFO Cosine
128LFO Square
129LFO Sawtooth
130LFO Pulse
131LFO Triangle
132Left Envelope follower
133Right Envelope follower
134AR Envelope generator
135Latch
136Timeswitch 1
137Timeswitch 2
138Composite Timeswitch
139Mono input level
140Left input level
141Right input level
142Continuous foot pedal
143Footswitch 1
144Footswitch 2
145ADJUST knob
146Tempo
147-253Reserved — Do not use these values.
254Always on (127)
255Always off (0)
36
Page 40
LexiconPCM 80 Version 1.10 MIDI Implementation Details
Appendix B: MIDI Bank assignments
Effects in the PCM 80 are accessed by Bank and Program numbers. Banks are assigned as follows:
Bank 0-3Internal presets (Displayed as P0-P3)
Bank 4User generated effects (Displayed as R)
Bank 5-9Extension presets. Presets are loaded into these banks from algorithm cards.
(Displayed as X0-X4)
Bank 10-Card banks, either user generated or preset, depending on card type. Displayed as
C0, C1, etc. Bank numbers above 9 are displayed alphabetically, beginning with
CA.
Program numbers range from 0-49. Numbers greater than 49 are ignored. The exception is mapped mode
in which a program number (0-127) is used to look up a bank/program combination from a table.
37
Page 41
PCM 80 Version 1.10 MIDI Implementation Details
Lexicon
Appendix C: MIDI inquiry message
The MIDI specification defines a global message that allows a host device to determine what sorts of
devices are connected. This message is interpreted by the PCM 80 as follows:
Inquiry message from host to PCM 80:
Byte #ByteValueDescriptionNotes
10xf0SysEx ID
20x7eUniversal
30iii iiiiChannelTreated as the SysEx Device ID assigned to the PCM 80
40x06General information
50x01Device inquiry
60xF7EOX
Response from PCM 80:
Byte #ByteValueDescriptionNotes
10xf0SysEx ID
20x7eUniversal
30iii iiiiChannel. SysEx
40x06General information
50x02Device ID message
60x06Lexicon SysEx ID
70x00Family code LSB
80x00Family code MSB
90x07Family member
100x00Family member
110iii iiiiMajor software
120iii iiiiMinor software
130iii iiiiRelease codeFor normal released code this byte is 0. Any other value indicates
140x00Unused revision
150xf7EOX
non-realtime header
non-realtime header
device ID assigned
to the PCM 80
code LSBThis is the PCM 80 SysEx product code (byte 3 of a standard SysEx
message.)
code MSB
revision #See System Configuration Response.
revision #See System Configuration Response.
test code that is not under general release
data
38
Page 42
LexiconPCM 80 Version 1.10 MIDI Implementation Details
Appendix D: List of Error Messages
These messages are displayed on the PCM 80 when MIDI or other errors occur.
MIDI reset completeDisplayed after a MIDI reset has been received or transmitted.
Receiving SysEx
data...Displayed whenever System Exclusive data is being received by the
PCM 80. Received data must match the ID specified in the PCM 80 MIDI
row or the ID must be 127 (broadcast).
Transmitting MIDI
bulk data...Dump is progressing. May not appear for dumps of very small data sets.
Does not appear if verbose mode is off.
MIDI data dump
is completeDump is over. Does not appear if verbose mode is off.
SysEx checksum errorChecksum error in incoming data.
SysEx data overrunSysEx data has been transmitted to the PCM 80 faster than it can be
processed.
SysEx data error...Indicates some sort of corruption in the SysEx data.
Cannot store data
as requestedUsually indicates invalid Bank/offset specification. Bank may not be
writeable, or may not be present, or offset may be >49.
Operation failedCatchall error message. In some store operations, may indicate that a
card is write-protected
Can’t dump register
Need algorithm cardDisplayed when a bank or register which requires a card-based algo-
rithm is being dumped.
Effect unchanged
No data in dumpThe dump just received was originally transmitted without an algorithm
card and, therefore, does not contain all necessary data. The destination of the dump is not overwritten.
Effect unchanged
Need algorithm cardThe incoming dump requires an algorithm card to be decoded. The
destination of the dump is not overwritten.
Bad patch data
was correctedA program load failed because of corrupt patch data, probably bad data
in a MIDI transfer of effect data. The effect should be carefully screened
and may not be usable.
39
Page 43
PCM 80 Version 1.10 MIDI Implementation Details
Lexicon
Appendix E: System (Type 0) Parameters
These parameters are global (not part of a preset). The automation column indicates transmission via
SysEx automation.
on/off/channel16n0=Off; 1-16=Channel for transmission of controller data
sourcepatch
source
listy
threshold127y
for continuous
pedal117y
for footswitch 1117y
for Adjust knob117n
turned by a request for the parameter value.
turned by a request for the parameter value.
2=Output Mute; 3=Bypass
for Footswitch 2117y
Change mode3n0=On; 1=Off; 2=Mapped; 3=Chained
type of card. The parameter specific message for this
parameter will always return the maximum possible
range. The actual useful values should be determined
from the Configuration Response message.
type of card. The parameter specific message for this
parameter will always return the maximum possible
range. The actual useful values should be determined
from the Configuration Response message.
1;120=Foot Sw 2.
1;120=Foot Sw 2.
bypass mode1y0=Mute; 1=Bypass
40
Page 44
LexiconPCM 80 Version 1.10 MIDI Implementation Details
261AGlobal Mix value100y0=Dry; 100=Wet
271BTransmit MIDI clock1n0=Do not transmit clock; 1=Transmit clock
281CDump speed2n0=Slow; 1=Medium; 2=Fast Note: This causes brief
291DMIDI automation
mode1n0=Off; 1=On
301ETransmitted Device
ID for automation127n0-126=specific target ID’s; 127=broadcast
311FTempo blink1y0=On; 1=Off
3220Global tempo value360y40-400BPM in 1 beat increments.
3321Dig In status0nNo effect when transmitted.
3422Selects display of
digital error5n0=Validity; 1=Confidence; 2=Slip Sample; 3=CRC;
timeouts to be inserted between individual effects In a
bank dump. There is no other effect from this parameter.
This is helpful for slow or memory-bound devices which
may have difficulty digesting the large amount of data in a
bank dump. Packets are sent as follows:
Header and label information; Pause; 1st effect; Pause;
2nd-50th effects with pauses. Final effect data includes
EOX
4=Parity
only be meaningful for algorithms that support MIDI
sample dump.
1; 120=Foot Sw2.
41
Page 45
PCM 80 Version 1.10 MIDI Implementation Details
Lexicon
Appendix F: Patchable (Type 1) Parameters
These are the patchable parameters that are the same (both offset and range) for all algorithms. DSPspecific parameters are not listed.
Param#Max
DecHexDescriptionValueNotes
000Mix100Only when Pgm is selected as Mix mode.
101LFO rate10000-10Hz in .01Hz increments
202LFO shape60=Sine; 1=Cosine; 2=Square; 3=Sawtooth; 4=Pulse;
303LFO pulsewidth981-99 %
404Follow ENV L5000-10 sec in 20ms increments
505Follow ENV R5000-10 sec in 20ms increments
606AR envelope attack5000-10 sec in 20ms increments
707AR envelope release5000-10 sec in 20ms increments
808AR envelope