Skip to content

Releases: ndeadly/MissionControl

MissionControl 0.7.1

05 Oct 22:19
Compare
Choose a tag to compare

GitHub Releases

This is the fifteenth official release of Mission Control.

This is mostly a bugfix release to push out all of the fixes and improvements that I've been sitting on over the past 6 months. Several improvements and some new configuration options were added for Sony controllers, and experimental Wii Balance Board support mapping center of mass values to left analog stick was added. See below for the full changelog.

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.

New configuration options

The following additional/modified settings are now available under this [misc] section of the config .ini file.

  • enable_dualshock4_lightbar Enable/disable the coloured LED lightbar on Sony Dualshock4 controllers.
  • enable_dualsense_lightbar Enable/disable the coloured LED lightbar on Sony Dualsense controllers.
  • enable_dualsense_player_leds Enable/disable the white player indicator LEDs below the Dualsense touchpad.
  • dualsense_vibration_intensity Set Dualsense vibration intensity, 12.5% per increment. Valid range [1-8] where 1=12.5%, 8=100%.

Please note that the disable_sony_leds setting no longer exists, and has been replaced by enable_dualshock4_lightbar and enable_dualsense_lightbar (with inverted logic). If you have been using this setting to date, you will need to update your missioncontrol.ini file accordingly.

See here for full instructions on configuring the sysmodule via the .ini file

Changelog:

  • Added experimental support for Wii Balance Board.
  • Added support for 8bitdo SN30 Pro Xbox Cloud Gaming controller running firmware 2.XX.
  • Added mc IPC service for future sysmodule interaction.
  • Added config option to disable Dualsense player LEDs.
  • Added config option to set Dualsense vibration intensity.
  • Split config option for disabling LED lightbar on sony controllers into separate settings for Dualshock4 and Dualsense.
  • Inverted logic for controller config options to match other boolean settings.
  • Fixed Dualsense player LEDs for controllers updated to newer firmware versions.
  • Disabled fade-in effect for Dualsense player LEDs.
  • Lowered default vibration intensity for Dualsense controllers to 50%. This should address user complaints of the vibration being too strong and getting picked up by the motion sensors in certain games.
  • Fixed a regression in Wii extension controller detection that caused WiiU Pro controllers to be incorrectly identified.
  • Wii MotionPlus extension is no longer initialised if motion controls have been disabled in module settings.
  • Wiimote buttons 1/2 now act as L3/R3 when a Classic Controller/ Classic Controller Pro extension is connected.
  • Tweaked battery level mapping for Sony controllers. Should hopefully reduce instances of controllers with low battery being immediately disconnected without warning.
  • Added mutex locks around some sensitive buffer accesses. May improve reliability when pairing controllers.
  • Updated npdm json to eliminate warnings when building from source.

MissionControl 0.7.0

05 Apr 15:28
Compare
Choose a tag to compare

GitHub Releases

This is the fourteenth official release of Mission Control.

This adds full support for HOS 14.1.0, motion controls for Dualshock4, Dualsense and Wii MotionPlus* controllers, and support for the g910 Wireless Bluetooth controller. See below for the full changelog.

*Note: regular Wiimote controllers without the MotionPlus extension may work in some games, but only come equiped with an accelerometer and lack the gyroscope sensor required for full "sixaxis" motion controls.

A big thanks to @Banz99 for testing and giving feedback on the Wii MotionPlus controller, and to @Hydr8gon for porting and verifying Dualshock4 motion support to Dualsense controllers.

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 >= 1.3.1 is required to run this release on firmware 14.1.0.

Notice for users of Xbox One controllers

If you have updated to the new bluetooth LE controller firmware and lost support for your controller, it is now possible to downgrade back to a compatible firmware using an Xbox One console. See here for details.

@HaruVM has pointed out to me that it's now also possible to downgrade the controller firmware using a PC running the Xbox Accessories app.

Open xbox accessories app then hit windows + R (run) and input this command:

xboxaccessories:\\firmwareupdate?legacyDowngrade=true

It should then give you option to revert

Changelog:

  • Added bluetooth ips patches for 14.0.0.
  • Added support for g910 wireless bluetooth controller.
  • Support for motion controls was added for Dualshock4, Dualsense, and Wii MotionPlus controllers.
  • Wii controller handling was refactored for accuracy and completeness.
  • Added mechanisms for executing code in a worker thread and receiving asynchronous responses from controllers.
  • Minor bugfixes and improvements

MissionControl 0.6.4

20 Jan 07:47
Compare
Choose a tag to compare

GitHub Releases

This is the thirteenth official release of Mission Control.

This adds full support for HOS 13.2.1, along with a few minor bugfixes. See below for the full changelog.

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 >= 1.2.5 is required to run this release.

Notice for users of Xbox One controllers

If you have updated to the new bluetooth LE controller firmware and lost support for your controller, it is now possible to downgrade back to a compatible firmware using an Xbox One console. See here for details.

(thanks to @impeeza and SpiderLink for bringing this to my attention)

Changelog:

  • Added bluetooth ips patches for 13.2.1.
  • Fixed incorrect mapping of A/B buttons on Hyperkin Scout controller.
  • Fixed disconnection issues affecting Xiaomi Mi, Steelseries Free and PowerA Moga controllers.
  • Fixed a regression that caused the enable_rumble setting in the module config ini file to have no effect.
  • Fixed a compilation error when building with latest devkitA64 update

MissionControl 0.6.3

01 Dec 10:55
Compare
Choose a tag to compare

GitHub Releases

This is the twelfth official release of Mission Control

Just a quick release to support Atmosphère 1.2.5 and the new 13.2.0 firmware. Support for the Hyperkin Scout SNES controller was also added.

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 >= 1.2.5 is required to run this release.

Important notice for users of Xbox One controllers

It has been confirmed that the new Xbox Insiders controller firmware update will convert your controller to use Bluetooth LE, which is not currently supported. Please do not update if you wish to continue using your controller with Mission Control

Changelog:

  • Updated to latest libstratosphere for 13.2.0 support
  • Added support for Hyperkin Scout controller

MissionControl 0.6.2

17 Nov 10:12
Compare
Choose a tag to compare

GitHub Releases

This is the eleventh official release of Mission Control

This is mostly a bugfix release to address the rumble issues that have surfaced since recent Atmosphère releases. Support for the new N64 and Sega Genesis/Megadrive Nintendo Switch Online controllers has also been added. See below for the full changelog.

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 >= 1.2.0 is required to run this release.

Important notice for users of Xbox One controllers

It has been confirmed that the new Xbox Insiders controller firmware update will convert your controller to use Bluetooth LE, which is not currently supported. Please do not update if you wish to continue using your controller with Mission Control

Changelog:

  • Added support for new N64 and Sega Genesis/Megadrive Nintendo Switch Online controllers
  • Fixed an issue where controllers would vibrate non-stop under certain conditions after connecting to the console
  • Fixed an issue where rumble output was missing from certain games
  • Fixed an issue where Crash Team Racing Nitro-Fueled and Crash Bandicoot N. Sane Trilogy games would output a constant stream of random rumble data
  • Disabled sending SetTsi command to Ouya controller (fixes disconnect issue)
  • Changed the order of initialisation commands for Sony controllers to reduce perceived delay when connecting to the console
  • Various improvements to the accuracy of controller subcommand handling were added

MissionControl 0.6.1

28 Oct 19:58
Compare
Choose a tag to compare

GitHub Releases

This is the tenth official release of Mission Control.

Just a small update to add support for the latest HOS (13.1.0) and Atmosphère (1.2.1) versions, and a couple of minor fixes. See below for the full changelog.

Valid analog stick deadzone parameters are now stored in virtual SPI flash file for each controller. This resolves an issue reported by several users where some controllers were experiencing analog stick drift even after calibration due to incorrect deadzone parameters being applied. Please delete the controller entries under sdmc:/config/MissionControl/controllers/ so that these files can be recreated with the correct parameters. Note that you will need to redo any user calibrations after deleting these entries.

Support for manually disabling a vendor command (SetTsi) for incompatible controllers has been added. Allowing the console to send the command to such controllers causes them to be disconnected shortly after connecting. In most cases, sending of this command can be disabled in code after the incompatibility has been reported. Some incompatible third-party controllers, however, are indistinguishable from the originals that do support the command and must be flagged manually. To do so, a blank file settsi_disable.flag can be created under the directory for a specific controller under sdmc:/config/MissionControl/controllers/<controller address>. Note that this command is used for managing bandwidth between bluetooth devices and also the Wifi chip. It is therefore desirable to have the console send it where possible and should only be disabled where absolutely necessary.

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 >= 1.2.0 is required to run this release.

Important notice for users of Xbox One controllers

It has been confirmed that the new Xbox Insiders controller firmware update will convert your controller to use Bluetooth LE, which is not currently supported. Please do not update if you wish to continue using your controller with Mission Control

Changelog:

  • Added bluetooth ips patches for 13.1.0.
  • Updated module for libstratosphere refactor (thanks @SciresM)
  • Added valid deadzone information to virtual SPI flash files (thanks @Banz99).
  • Added means of manually disabling sending of SetTsi vendor command to controllers that don't support it.

MissionControl 0.6.0

24 Sep 23:24
Compare
Choose a tag to compare

GitHub Releases

This is the ninth official release of Mission Control

This release brings full support for firmware 13.0.0, along with a few minor additions and bugfixes. See the changelog below for details.

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.

Note: 13.0.0 firmware made changes to the system to facilitate bluetooth audio support. While I have updated Mission Control to support the changes that concern hid devices, it's possible that there are issues that could arise from untested scenarios involving audio devices. If you notice any strange behaviour with audio devices that only occurs with mission control installed, please open an issue on the issue tracker.

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

Important notice for users of Xbox One controllers

With news of a new insiders firmware update to bring next-gen features to existing Xbox One controllers, it may be tempting to download and install the firmware when it becomes available to you. From what I can tell from the linked news article and some intial reports, this update may configure your controller to use Bluetooth LE for connections instead of the current classic Bluetooth, effectively converting it into a Series S/X controller. This means your controller will likely be rendered incompatible with Mission Control until I am able to add Bluetooth LE support. You have been warned.

Changelog:

  • Added full support for 13.0.0 firmware.
  • Added bluetooth ips patches for 13.0.0.
  • The /config/MissionControl/controllers directory is now created as required if not present. This avoids potential crashes eg. if the user has deleted this directory, or has failed to install the module correctly.
  • Fixed potential incorrect battery level and report charging status for Wii U Pro Controller. (Thanks @GaryOderNichts)
  • External power/USB status is now set for controllers known to report it.
  • Xbox One controllers now report full battery when powered via USB, instead of the zero value reported by the controller.

MissionControl 0.5.1

20 Aug 00:10
Compare
Choose a tag to compare

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.

Changelog:

  • 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.

MissionControl 0.5.0

11 Jul 18:05
Compare
Choose a tag to compare

GitHub Releases

This is the seventh official release of Mission Control

Finally, 12.x.x firmwares are fully supported, including pairing of Wii/WiiU controllers. This release builds upon the features and bugfixes of the previous pre-releases, including additional supported controllers, initial rumble support, a global module config .ini file and much more. See below for the full changelog.

Rumble support is available for the major console controllers from Nintendo, Microsoft and Sony and is enabled by default. Please note that while rumble works without issue for the supported controllers, it is considered a work in progress with room for improvement. Do not expect the vibrations to be perfect reproductions of the HD rumble found in Switch controllers. It can be disabled globally via the config ini file if you don't like it. This will not affect official Switch controllers.

Note: after some discussion with other devs, the location used in the pre-releases for the module config .ini has been changed to sdmc:/config/MissionControl/missioncontrol.ini to be more consistent with other homebrew projects.

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.

A special shoutout to @Banz99 who took interest in the developtment of the project recently and has assisted in identifying and resolving several issues, discussing new ideas, and helped reignite my enthusiasm for working on the project after a few rough months.

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

Changelog:

  • Added support for the following controllers
    • Razer Raiju Tournament
    • Gamesir T1s
    • 8BitDo SN30 Pro Xbox Cloud Gaming Edition
    • Mad Catz C.T.R.L.R for Samsung
    • Steelseries Stratus Duo
    • iCade controller
    • LanShen X1Pro
    • AtGames Legends Pinball controller
  • Added full support for 12.0.0 firmware
  • Added ips patches for all 12.x.x firmwares to relax device class checks added in 12.0.0. This allows ipega and several other controllers that advertise themselves as keyboards or other input devices to pair once again.
  • Added ips patches for all 12.x.x firmwares to make Wii/WiiU and other controllers that use legacy pincode pairing work again
  • Added initial rumble support for selected major console controllers
  • Added a global module configuration ini file
  • Added support for spoofing the Bluetooth host adapter name and address
  • Added support for Sony Dualsense player LEDs/lightbar colour and battery level reporting (thanks @Hydr8gon)
  • Added support for the old Xbox One controller report format. Updating controller firmware is no longer a requirement for correct mapping of controls.
  • Added support for an alternative report format for Mocute 050 controllers on certain firmware revisions
  • Added a configuration option to disable the LED lightbar on Sony Dualshock4 and Dualsense controllers.
  • Button combos for Home and Capture buttons are now also applied to official Nintendo controllers. Note that currently the console will ignore the combos for buttons that are not supposed to be present on the controller (eg. home button on left joycon, capture button on right)
  • Fixed a bug caused by passing invalid analog stick factory calibration data for emulated controllers. This bug affected the scaling of analog stick data for all controllers to some degree, but was most noticeable for Xbox One controllers, where the stick values would max out when the stick was only around 60-70% tilted.
  • Added delays between reading/writing controller memory when initialising Wii controller extensions. This should make detection of extension controllers more reliable for people who were experiencing issues.
  • Reduced default reporting rate of Dualshock4 controller from 1000Hz to 125Hz to match Switch Pro Controller. This resolves an issue where using a Dualshock4 controller could seriously degrade wifi performance and caused issues with LAN play.
  • SetTsi command is now only blocked from being sent to controllers where it is known to create issues (currently Xbox One and Gamesir controllers). This resolves an issue where a Dualshock4 controller connected alongside an official Nintendo controller would experience significant jitter, rendering it unsuitable for rhythm games. Blocking this command may also have played a part in the wifi issues mentioned above.
  • Fixed a bug where some wiimote buttons could not be pressed with an extension controller connected.
  • Fixed a bug where Xiaomi controllers would always show low or empty battery levels.
  • Improved accuracy of battery level reporting in general.
  • Dropped custom fork of libnx now that all relevant changes have been upstreamed. The libnx submodule now points to the official master branch, and at the time of writing Mission Control can be built with the official release from devkitPro without the need to compile it yourself.
  • Removed call to CheckApiVersion function. This was intended for internal Atmosphere usage and was one of the major reasons Mission Control would often require an update after a new Atmosphere release.
  • Updated to use new sf semantics introduced in Atmosphere 0.18.0
  • Updated to use latest libstratosphere. This reduces the size of the module by almost 50%
  • Added git branch, commit hash and tagged version when generating .zip file for distribution

MissionControl 0.4.1

11 Dec 23:22
Compare
Choose a tag to compare

GitHub Releases

This is the sixth official release of MissionControl.

This is just a quick update to support the new 11.0.1 firmware update, along with a couple of included bugfixes. See below for the full changelog.

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.

IMPORTANT: Atmosphère >= 0.16.1 is required to run this release. Using an older Atmosphère version will cause MissionControl to crash the system on boot.

Changelog:

  • Updated to support 11.0.1 firmware/Atmosphere 0.16.1
  • Fixed an issue where some official Nintendo controllers with L and R variants (eg. NES Online Controller) had their inputs ignored due to not being identified correctly.
  • Fixed a regression that caused paired controller information from the btm service to be truncated past the first entry. This caused controllers to be missing from the Search for Controllers screen, and in some cases could lead to repeated pairing notifications upon startup/wakeup and database full dialogs being shown.