Here is the common part, along with descriptions of each byte's purpose:
F0
- Start of Sysex [SOX]
00
00
1B
- Peavey Manufacturer ID = 00 00 1B
11
- BAM Product ID (10 for PFC4B commands: CMD = 00, 01)
00
- Reserved for future use (keep fixed at zero)
CMD - Command byte that defines which Sysex message it is
<data>
- Optional data
F7
- End of Sysex [EOX]
NOTE: Each time a preset is recalled, it is first loaded into a RAM buffer that we call the Edit Buffer
(could also be called "current preset"). If another preset is recalled, the Edit Buffer is erased, so any
changes will be lost unless stored to a User location (or externally). In the table below, we refer to
this preset location as the "EdBuf."
Now for the unique stuff:
CMD Number (in HEX) /
Name
00 / PFC4B Online
01 / PFC4B Switch Press
02 / Version Request
03 / Version of Software
04 / Send Presets
05 / Receive Presets
06 / Send Single Preset
07 / Receive Single Preset
08 / Send EdBuf
09 / Receive EdBuf
0A / Store EdBuf
0B / Send EdBuf Byte
0C / Receive EdBuf Byte
0D / Send EdBuf Partial Byte
0E / Receive EdBuf Partial Byte
0F / Send EdBuf Current
10 / Receive EdBuf Current
11 / <reserved>
12 / Send Globals
13 / Receive Globals
14 / Send Global Partial Byte
15 / Receive Global Partial Byte
*
data is sent hi nibble, then low nibble. E.g. a hex byte value of 74 will be sent as two bytes: 07
Nibblized
and 04. This is because MIDI data bytes really only have 7 bits - the most significant is reserved to be set for
status bytes only.
<data> description
None
Footswitch #, 0-5
None
Version #, 00-7F
None
Preset data, nibblized *
Preset # (00 - 0F)
Preset #, preset nibs *
None
Preset nibbles *
Preset # (00-0F; 7F for current)
EdBuf address (00 - 1E)
EdBuf address, value nibs *
Partial address **
Partial address, partial value **
Primary address ***
Primary address, current value ***
None
14 Global Bytes, nibblized *
Partial address, 00-0D **
Partial address, partial value **
16
Resulting Action
Amp sends PFC4B setup data
Amp responds based on mode
Amp sends message 03
Amp ignores if received
Amp sends message 05
Amp saves presets in User slots
Amp sends message 09 ****
Amp saves preset to User slot
Amp sends message 09
Amp loads and activates EdBuf
Amp stores EdBuf to User preset
Amp sends message 0C
Amp activates EdBuf parameter
Amp sends message 0E
Amp activates EdBuf parameter
Amp sends message 10
Amp activates EdBuf parameter
Amp sends message 13
Amp saves and activates globals
Amp sends message 15
Saves and activates global in amp