Skip to content

Releases: jonnylitten/MissionControl-GRID-edition

v0.15.2-grid-1 — rebased on upstream 0.15.2 (firmware 22.5.0)

18 Jun 19:06

Choose a tag to compare

Maintenance release. Rebased the trigger-stick-mapping feature on top of ndeadly/MissionControl 0.15.2, which adds support for Switch firmware 22.5.0 and bumps the Atmosphère requirement to ≥ 1.11.2.

What's new

  • Firmware 22.5.0 support (inherited from upstream).
  • Updated Atmosphère-libs submodule pin.

Feature surface unchanged

Same configurable analog-trigger → right-stick mapping shipped in v0.15.1-grid-3, including the safe background-thread hot-reload of per-title/per-controller override files. Grid Autosport still works out of the box.

Install

Drop the contents of the zip onto your SD card root (overwriting /atmosphere/contents/010000000000bd00/), reboot. If you're upgrading from grid-3, only atmosphere/contents/010000000000bd00/exefs.nsp needs replacing — your config files don't change.

Atmosphère 1.11.2 or later is required. Older Atmosphère will crash on boot under firmware 22.5.0+.

v0.15.2-grid-1-beta1 — multi-controller (rebased on upstream 0.15.2)

18 Jun 20:15

Choose a tag to compare

Beta build on the new v0.15.2-grid-1 base. Adds opt-in for Xbox One (BR/EDR Bluetooth), DualShock 3, and DualSense — code is untested on hardware.

If you only use a DS4, stick with grid-1 — that one is hardware-verified. This beta is for community testers with the additional controllers.

Same feature set as the previous beta, just rebased on top of upstream 0.15.2 (firmware 22.5.0 / Atmosphère 1.11.2 support).

v0.15.1-grid-3 — safe hot-reload of override profiles

11 May 23:08

Choose a tag to compare

Replaces the broken v0.15.1-grid-2 with a properly-engineered hot-reload of per-title and per-controller override files.

What's new vs. grid-1

  • Safe hot-reload. Drop a new <program-id>.ini into sdmc:/config/MissionControl/titles/ and the mapping takes effect on the next time you launch that game — no reboot. Same for per-controller files.

Everything else is identical to grid-1.

What was wrong with grid-2

That release drove the rescan from inside the per-packet bluetooth input path and used std::mutex instead of Atmosphere's os::SdkMutex. Result: intermittent mc_mitm fatal_errors (result code 0xFFD) on boot and during normal use. Don't install grid-2.

How grid-3 fixes it

A dedicated low-priority background thread waits on the existing mcmitm_process_monitor process-switch event and re-runs the directory scan there. All filesystem I/O happens off the input path. State is protected by os::SdkMutex (matching the rest of mc_mitm's threading conventions). Hardware-verified on DS4 — clean cold boot, no faults during gameplay, and the hot-reload demonstrably picks up new ini files on title switch.

Install

Drop the contents of the zip onto your SD card root (overwriting /atmosphere/contents/010000000000bd00/), reboot once to load the new binary, and from there new game profiles can be dropped in live.

If you're on grid-1, only atmosphere/contents/010000000000bd00/exefs.nsp needs replacing — your config files don't change.

v0.15.1-grid-2 — DO NOT INSTALL (hot-reload panic regression)

11 May 22:33

Choose a tag to compare

⚠️ This release has a regression — do not install. See v0.15.1-grid-1 for the stable build.

The hot-reload feature introduced here can cause an Atmosphere fatal error / mc_mitm crash on first cold boot (mc_mitm program id 0100000000000bd00, result code 0x0FFD, module 509). Suspected cause: fs::OpenDirectory being called from the Bluetooth input thread, plus the use of std::mutex instead of os::SdkMutex in sysmodule context.

A revised hot-reload implementation is in progress (background thread on GetProcessSwitchEvent, Atmosphere-native mutex). Until then, please use grid-1 — the only thing you give up is having to reboot once when you add a new game profile.

The grid-1 release is hardware-verified and unaffected.

v0.15.1-grid-1 — analog trigger fork

09 May 21:31

Choose a tag to compare

First public build of the analog-trigger fork — a one-feature add on top of ndeadly/MissionControl 0.15.1 that lets you map the analog triggers of a Bluetooth controller onto the right stick's Y axis. Useful for any game that reads throttle / brake off the right stick analog rather than from ZR/ZL — e.g. Grid Autosport.

Works out of the box for Grid Autosport

The release ships with a per-title profile for Grid (config/MissionControl/titles/0100dc800a602000.ini), so analog throttle/brake on the right-stick Y is enabled the moment you reboot. Every other game falls through to stock MissionControl behaviour.

Highlights

  • New [trigger_map] section in missioncontrol.ini (mode = rstick_y_split).
  • Per-title overrides at sdmc:/config/MissionControl/titles/<programID>.ini.
  • Per-controller overrides at sdmc:/config/MissionControl/controllers/<MAC>.ini.
  • Optional "physical right-stick Y → digital ZR/ZL" mode for gear shifts on the same thumb.
  • Defaults are conservative (mode = off global) so games other than Grid behave exactly like vanilla MissionControl.

Status

  • Hardware-tested: DualShock 4 (via a GameSir G8 Galileo Plus in handheld mode).
  • All other controllers pass through to stock MissionControl behaviour. PRs welcome to opt them in.

Install

  1. Download the .zip below, merge its contents onto your Switch's SD card root (overwriting /atmosphere/contents/010000000000bd00/).
  2. Reboot.
  3. Launch Grid — that's it. To enable for other games, drop a per-title file into sdmc:/config/MissionControl/titles/; see the README for the schema.

v0.15.1-grid-1-beta1 — multi-controller (community testing wanted)

09 May 21:58

Choose a tag to compare

Beta build — community testing wanted. Identical to v0.15.1-grid-1 plus opt-in for three additional controllers.

What's different

  • Xbox One (BR/EDR Bluetooth, not Series X/S) — analog triggers wired to the trigger-map post-hook.
  • DualShock 3 — same.
  • DualSense (PS5) — same. Both report formats (0x01 and 0x31) covered.

The DS4 path is unchanged from the stable release. If you only use a DS4, stick with v0.15.1-grid-1 — that one is hardware-verified, this one is best-effort code I haven't been able to test.

What I'd love feedback on

If you have any of Xbox One BT, DS3, or DualSense, I'd appreciate a sanity check that:

  1. Vanilla behaviour still works. Pair the controller, launch a game other than Grid Autosport (which has a bundled override). Triggers should behave like ZR/ZL exactly the way upstream MissionControl does.
  2. Grid Autosport works. Launch Grid. Pulling RT should rev the throttle (right stick deflects up), LT should brake. Pushing the right stick up/down by hand should fire ZR/ZL for gear shifts.
  3. Anything weird that I haven't thought of.

Comments welcome here or wherever you saw the link.

Install

Same as the stable release — drop the zip onto your SD card, reboot, launch Grid. No ini editing required for the default Grid setup.

If you've already installed v0.15.1-grid-1, just overwrite atmosphere/contents/010000000000bd00/exefs.nsp with the one from this zip — config files don't need to change.

Known caveat

Xbox Series X/S controllers use a different protocol (BLE) than Xbox One BT — vanilla MissionControl doesn't support them today and this fork doesn't change that. If your "Xbox controller" is a Series X/S, this build won't help. Older Xbox One S / Elite 2 / Adaptive controllers connecting via BR/EDR Bluetooth should be in scope.