Jump to content

Switch - MissionControl 0.5.1


Recommended Posts

GitHub Releases

This is the eighth official release of Mission Control

This release is mostly a bug-fix release, but also brings support for the Xbox Elite Wireless Series 2 and GameSir T2a controllers and introduces a file-based virtual SPI flash memory for all unofficial controllers. See below for the full changelog.

The virtual SPI flash memory feature enables the console to read and write controller data that would normally be stored in memory onboard an official controller. This means that user calibrations can now be completed and stored/retrieved. WiiU Pro controllers and other older Nintendo controllers with analog sticks have values that can vary in range between individual units and often have shifted center values. This has always been an issue, but has become more apparent since the 0.5.0 release that improved the accuracy of analog stick handling. It is recommended that calibration be performed for these controllers for optimal performance.

Although there shouldn't really be any reason to touch these files, they can be found under sdmc:/config/MissionControl/controllers/<address>/spi_flash.bin where <address> is the bluetooth address of the controller represented as a string of hex characters.

The Xbox Elite Wireless Series 2 was the very first controller request that this project ever received, but for reasons unknown would return a generic error code when attempting to pair with the console. During the past year, numerous approaches were taken to try and make it work or at least gain some insight into what was failing, but to no avail. Not owning one myself, I had all but given up on this controller until about a month ago when @DatenThielt came along offering to help out. Over the past month, with @DatenThielt's help and extensive debugging and reverse engineering of the bluetooth module, I was able to develop a set of patches to enable the successful pairing of this controller.

This was easily the most difficult aspect of the project to date and took an incredible amount of time and patience, not made any easier by the fact I don't even own the controller. A huge thanks to @DatenThielt for giving up his time and helping me debug with gdb remotely from halfway across the world with his own controller.

New users landing on this release page should first check out the readme on the main project page for the official project documentation. There you can find installation and usage instructions along with an FAQ section that will answer most of your questions.

Atmosphère >= 0.19.5 is required to run this release.


  • Added support for the following controllers:
    • Microsoft Xbox Elite Series 2 Controller
    • Gamesir T2a
  • Updated ips patch set to enable successful pairing of the Xbox Elite Wireless Series 2 controller.
  • Added file-based virtual SPI flash system. Data such as calibrations can now be stored and retrieved for each controller.
  • Analog values for L/R on the Wii Classic Controller are now taken into account when mapping controls. This allows for identical trigger behaviour of Gamecube controllers used via a wiimote adapter vs the official USB adapter.
  • Fixed a regression where Mocute 050 and 8bitdo Zero controllers were disconnecting due to receiving the SetTsi command from the console.
  • Rumble data sent along with the subcommand report (0x01) is now correctly handled.
  • Fixed an array subscript partly outside of array bounds warning during compilation of the module.

View the full article

Link to comment
Share on other sites

  • Create New...