Release Notes:   SP3 Firmware  2018.04D               6-April-2018


 (Test Release)


 File:  SP3_mpfs2x.bin   


Change  Log  (since release 2015.09a):


Adding new high resolution USBX board support for  USB playback at 44.1-192k 24-bit PCM and 1x,2x DSD (DoP and Native, only 2channel output, no surround modes for DSD!), with backwards-compatibility and auto-detection of old/new USB/USBX hardware.


Added support for DSD playback through HDMI (1x DSD, only 2channel output, no surround modes for DSD!)  using new  high res USBX board (USBX hardware must be installed).


Added phono-clipping circuit support in 2Ch Bypass mode, selection ON or OFF in OTHER menu, per source  (depends on USBX hardware installed).  The circuit prevents volume controller chip going into oversaturation on very high amplitude spikes produced by external tube based phono preamps when a record player stylus needle hits dust particles.  It clips such spikes (softly) at  +/-3V.


Fixed power up by #10MSRCxx commands.                                                                       


Changed  EEPROM clock to 100k (from 400k) to prevent event logging module hanging the I2C2 port.


Added ability to override a pending ramp-up or ramp-down volume change operation by issuing a new volume command from remote  site or locally by volume knob.


Improved reliability of internal communication bus by adding "wait for bus idle". 


 Removed authentication on web GUI File page, no need to log-in, removed Fact check box in the File (upld.htm page).


Changed maximum clock for internal flash memory read/write from 20 to 40MHz to speed it up.


Added automatic detection and support for 3 different flash memory types.


Added special RS232 command options to  #10TESTxxx\n

   245 cycle through front panel LEDs test

   222 toggle lock/unlock status

   089 select main

   014 select zone

   252 re-default network connection

   241 re-default user configuration




Added OTHER parameter HDMI-PCM-192k  = DISABLE/ENABLE  to

 improve detection of Dolby THD and DTS HDMA lossless high resolution formats (DISABLE prevents mis-detection during Dolby THD and DTS-HDMA formats switching but prevents playback of the 192k PCM  from that source.  Selecting HDMI-PCM-192k  = ENABLE allows PCM 192k playback (and allows all other formats as well) but may occasionally cause a loss of synch when a player playing Dolby THD or DTS HDMA formats switches back and forth between that and the PCM format too frequently (this applies to some but not all cable boxes and media players).  Default is HDMI-PCM-192k  = ENABLE .   This parameter does not affect the ability to play 176.4k or lower PCM rates.


User setup will be re-defaulted to factory settings on new firmware upgrade, but a warning screen and a choice is given allowing the user to cancel the reset by pressing any front panel button.                    


Fixed XBAS volume bug and allowing changing surround modes with the pre-selected surround ( other than *USE LAST selection (reset after source change or stby)


Prevented crash on HTTP URL that are too long, and on timeouts.


Added color coded highlight of the version number display on the Main Web GUI page of the SP3, indicating age of the currently installed firmware: White=up-to-date, Yellow=less than 1y,  Red=older than 1y, Blue=current firmware is newer than the last official release.                                                      2016.04b


Fixed fast blinking "UN" letters in the "IN: UNKNOWN" display in DIGITAL mode when carrier is present but signal is paused.


Added #10DISPLA<cr>  (Display Lines All) command.


Added special handling for audible menus in visually impaired mode  allowing transmission of  navigation "blips" as per MDS Application note for AppleTV.  This feature can be selectively enabled "per source" in SOURCE SETUP-->OTHER-->AUDIO TV MENU.          2016.08a


Extended new high resolution USBX board support by allowing routing of DSD stream from USB and HDMI sources through DSP in analog mode, allowing surround modes and subwoofer in DSD mode.  Requires SP3 main board revision 5.0.    The supported USB modes are:

 PCM 44.1k to 192k, 16 and 24 bits, DSD Native and DoP standard in 1X and 2X speed.

 Needs the latest Bryston USB (ASIO) driver (see website).   It will play DSD format also through HDMI connection (1X only).  DSD modes are restricted for now.  Currently the DSD mode needs to be selected manually before a DSD file is played over USB.


(Note: this firmware will work with older SP3 main board revisions except it will only pass Left and Right channels in DSD modes - no surround and no subwoofer. )                                                 2016.08b


Adapted for R5 main board.                                                                                                 

Fixed mute analog channels by USB problem.   

Fixed Aux L&R noise in Bypass 7.1 after switching digital (and also in BP2 with no subwoofer).      

Corrected secondary outputs muting (Aux-L&R, Zone, Headphones). Made USB default to PCM.                        

Temporarily disabled DSD decoding until next firmware revision (2017).


Speeded up Digital LED switch after DIGITAL key press. 

Prevented outputting sound through HDMI-Outputs when in mute.


Prevented sporadic DSP lockup (loss of  sync) on HDMI source switch to SPDIF or Toslink source.


Added special algorithm to recover from DAE6D DSP board crashes (causing loss of sync) following transient states on its digital inputs.  This algorithm is now applied to all input channels in HDMI, SPDIF and USB modes, preventing a loss of sync on switching all input channels.


Fixed spurious "USB Audio DAC" driver name appearing instead of "BRYSTON SP3" on host driver window (old USB).   USB now syncs immediately on replugging the USB cable to host.                                                                                                                                                                     2016.08b MkVI


Adding the on-the-fly-DSD switching with USBX card.   (2016.12a) 2016.08b MkVII


Speeded up (slightly) the startup.


Ported automatic flash chip type detection (from BDA3)  necessary for new production batch of front panel boards.   The same feature is updated and enabled in the new boot loader revision (2017.02). 


Changed boot loader LED flashing signalling as described in SP3_BootLoader_LED_codes.docx


Changed file tag embedded in the SP3.bin to prevent loading of old SP3.bin

firmware updates issued prior to this one, into new SP3 devices equipped with new

flash chip type.                                                                                                         2017.02b



Warning Notice:


Firmware releases starting with 2017.02b are not backward-compatible with older units manufactured before 17-Feb-2017. Such SP3 units, running older firmware will not normally accept firmware revisions issued after Feb-2017 of type mpfs22. 


New SP3 units shipped after 17-Feb-2017 will NOT work with old firmware and will automatically reject all revisions prior to 2017.02b, upon upload.  Attempting to overrule it would result in "bricking" the unit. 


Use SP3_mpfs22.bin for new units and SP3.bin or SP3_mpfs21.bin for old units.




Fixed SPIFLASHWriteArray bug in bootloader.                                                    2017.03a


Prevented spurious  "I2C1 ... bus hung" messages on cold power up.


Disabled diagnostic data dump through RS232.  Removed annoying red standby light on cold power up before it actually is ready in standby.                    2017.03b


Forked the project files (including boot loader) and all build scripts

into ..._mpfs21 and ..._mpfs22 versions, selected by compiler option /D MPFS22 .                                                                                                      2017.03b


Fixing nuissance errors ERR4_I2C_ACK_INTERMITTENT.

Enable automatic DSD switching over USB, testing automatic DSD switching

in HDMI mode. Updated USBX-XMOS firmware from 2015.12a2(0x5ca2) to 2017.03a0(0x73a0)  to make switching sources HDMI-DSD to USB-PCM while playing, work.  Verify the  correct XMOS firmware revision by #10INFOQS<cr> command (must have 18:201703A0). If necessary, upgrade the XMOS board using USB cable by DFU.exe utility

and pick file \sp3\XMOS\Util\sp3dfu.bin                                                                                                                                                                                           

Special one and two-character commands such as ".e" or "?" have been locked. To unlock them,

issue #10TEST222<cr> command. Note - another useful TEST parameter added is

TEST245 to test all front panel LEDs. Updated MakeMPFS2Hex_xxx_mpfs2x.bat

post build scripts to generate xxx_noboot_hdmi_mpfs2x.bin and

xxx_noboot_dsp_mpfs2x.bin files. Added suffix " 21" or " 22" after

firmware revision, on the display and in com.c.  The 21 or 22 suffx will also show up in INFOQS and .s command outputs.


Fixed spurious error message ERR2_I2S_MCLK_FAILED.

Testing HDMI DSD beyond NAT1 2.82MHz. Not allowed.                     

Adjusted DSD/USB/HDMI volume offsets, cleaned up mute/unmute sequences. 2017.03c


Added recovery after attempts to play USBX PCM 353k (note: USBX supports PCM up to 192k/24 and DSD 1x and 2x, DoP and Native).


Fixed repeated OUTP and LMOD auto-feedback RS232 output.


Preventing HDMI/DSD playing after switching HDMI-->ANALOG.


Fixed HDMI-AOUT not playing in Analog after power on.


Recover after switching from HDMI non-DSD to playing USBX DSD source.                 


Fixing loss of sound after switching HDMI DTS --> USBX DSD 2x


Optimizing switching speed,  eliminated unnecessary delays in DSP related activities.


Fixed  "Tablet" WebGUI, fixed volume "triangles" press-and-hold action, fixed crashes.


Removing short hard mute / soft unmute dropout following an input format

change in HDMI. Fixed misdetection of DTS-HDMA as PCM.   2017.03j




Fixed muted Pink Noise" test  bug. Added revision "mark" number


Removed audio artifacts (pops,spikes,droputs) in source switching and

when powering up from standby.  Improved source switching speed.

Fixed headphone mute bug.  2017.03j   (MkIII)


Fixed handling of PCM and DSD with only one cable installed (no analog DSD cable).                                                                                        2017.03j MkIV


Checking fixed gain monitoring TAPE Out and DVR Out  (they play only when other analog inputs are present!)


Changed FIRMWARE_FILENAME for MPFS22 version, showing up in the Web GUI,  to "SP3_mpfs22.bin"


Trigger Out bug fixed (was not executing when switched on with src buttons)  2017.03j MkV


Fixed loss of AuxL,R sync when USBX PCM96-->DSD64 and DSD128-->PCM192


Eliminated pops in USBX DSD128-->PCM96. 


USBX tested to work with HSR-3D.                                                                     2017.07b


Added Silicon Image chip upgrade feature, for HSR82P and HSR72Q  HDMI boards.

The following MISC menu options are available (only in SP3_noboot_hdmi_mpfs2x.bin):



Fixed headphone mute stuck in USB (with USBX).                                              2017.07c


Added .i command, and IP display to INFOQS, updated help files         

Disabled selection for HD AOut = 8Ch for HSR72Q

Updated helpcmd.txt, increased number of terminal lines per RS232

and TCPIP terminal transmission (term.xml). Removed config bits error log.

VCOL command - extended color space display information                                2017.08a


Adapted to new batch of USBX board revision XR6, (backwards compatible with

the previous rev XR5e and with old non-high-res boards).                                     2018.01c                       


Fixed  TriggerOut delay feature, (faulty - always 0 since 2016.08b MkVI)


Added special handling of DTS over SPDIF (lack of decoder interrupts worked-around by polling).  This prevents loss sync on change such as pause or FF track etc.


Fixed IR remote 1dB increments instead of 0.5dB, and fixed blinking large volume display

during IR volume change.


Speeded up Ethernet by about 50% by optimizing TCP/IP packet memory buffering.                    


Ported "calling home server" feature, similar to BDP-x and BAX1 products,  on startup whenever IP address changes.

 (enabled only in SP3).


Increased processor clock in Standby state to avoid internal communication errors on startup with HDMI and DSP boards, when "Ethernet in Standby" option is set to off. 


Allowed #10TEST222 command in Standby state to allow enabling the diagnostic "dot" commands such as for example ".e"  .  


Added #10LIST00 command to list a contents of the internal flash memory.                     


Updated DHCP and upload page behavior                                                            2018.04D



Stan Bleszynski,

Bryston Ltd.