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.”
CMD Number (in HEX) / Name <data> description Resulting Action
00 / PFC4 Online None Amp sends PFC4 Setup data
01 / PFC4 Switch Press Footswitch #, 0-5 Amp responds based on mode
02 / Version Request None Amp sends message 03
03 / Version of Software Version #, 00-7F Amp ignores if received
04 / Send Presets None Amp sends message 05
05 / Receive Presets Preset data, nibbleized * Amp saves presets in User slots
06 / Send Single Preset Preset # (00 - 0F) Amp sends message 09 ****
07 / Receive Single Preset Preset #, preset nibs * Amp saves preset to User slot
08 / Send EdBuf None Amp sends message 09
09 / Receive EdBuf Preset nibbles * Amp loads and activates EdBuf
0A / Store EdBuf Preset # Amp stores EdBuf to User preset
0B / Send EdBuf Byte EdBuf address (00 - 1E) Amp sends message 0C
0C / Receive EdBuf Byte EdBuf address, value nibs * Amp activates EdBuf parameter
0D / Send EdBuf Partial Byte Partial address ** Amp sends message 0E
0E / Receive EdBuf Partial Byte Partial address, partial value ** Amp activates EdBuf parameter
0F / Send EdBuf Current Primary address *** Amp sends message 10
10 / Receive EdBuf Current Primary address, current value ***Amp activates EdBuf parameter
11 / <reserved>
12 / Send Globals None Amp sends message 13
13 / Receive Globals 14 Global Bytes, nibbleized * Amp saves and activates globals
14 / Send Global Partial Byte Partial address, 00-0D ** Amp sends message 15
15 / Receive Global Partial Byte Partial address, partial value ** Saves and activates global in amp
* Nibblized data is sent hi nibble, then low nibble. For example, a hex byte value of 74 will be
sent as two bytes: 07 04. This is because MIDI data bytes really only have seven bits - the
most significant is reserved to be set for status bytes only.
** Partial addressing is a way of programming a portion of an EdBuf byte, while not disturbing
the other bits in that byte. A Partial address is made up of three bytes. The first is the byte
address of the preset byte you are targeting (00-1E). The second byte is the bit number you
want to start writing at (0 for least significant, seven for most significant). The third byte
defines how many bits you want to program. The next byte will be the value, and since it is a
partial, it does not need to be nibbleized. For example, to set the Delay Rolloff bit, send the
following string:
F0 00 00 1B 10 00 0E 1D 07 01 01 F7
27