[Scena Switch] Rilasciato MissionControl v0.1.0

MissionControl si dimostra come la versione bluetooth del modulo di sistema sys-con, il sysmodule ci permette di utilizzare controller di terze parti e in modo nativo sulla console Nintendo Switch.

Anche se basta utilizzare un  adattatore appropriato per poter collegare via bluetooth la console Switch a diversi controller di gioco come ad esempio il DualShock 4, i controller della Microsoft e addirittura gli stick da combattimento in stile arcade come il Mayflash F300.

L’utilizzo del sysmodule MissionControl funge semplicemente da adattatore permettendoci di accoppiare i controller con la console Nintendo Switch.

Caratteristiche

  • Supporta tutte le versioni del firmware.
  • Associa i controller Bluetooth in modo nativo tramite la schermata Cambia impugnatura/ordine.
  • Rimappatura nativa dei pulsanti (firmware 10.0.0+).
  • Il sismodule btdrv-mitm aggiunge i comandi IPC di estensione che possono essere utilizzati per interagire con il processo bluetooth senza interferire con lo stato del sistema.

Controller supportati

Attualmente sono supportati i seguenti controller. Se disponi di una variante di terze parti di uno dei seguenti o di un controller Bluetooth che non è stato elencato, valuta la possibilità di inviare un problema con i dettagli del controller, inclusi vid/pid, per richiedere supporto.

  • Telecomando Nintendo Wii + estensioni (Nunchuck, controller classico, controller classico Pro).
  • Controller Nintendo WiiU Pro.
  • Controller Sony DualShock4.
  • Controller Microsoft Xbox One S.

Nota: Non tutti i controller wireless per Xbox One supportano il Bluetooth. Le varianti precedenti utilizzano un protocollo proprietario a 2,4 Ghz e non possono essere utilizzate con la console Switch. Vedere qui per informazioni sull’identificazione della variante Bluetooth.

Requisiti

  • Una console Nintendo Switch hackerabile con l’ultima versione del Custom Firmware Atmosphère.
  • Controller Bluetooth compatibile.

Installazione

Scaricare l’archivio .zip ed estrarlo direttamente  nella directory principale della tua scheda SD. Affinché MissionControl diventi attivo, è necessario riavviare la console.

Nota: Attualmente è necessario un boot2 modificato per avviare btdrv-mitm abbastanza presto da intercettare l’inizializzazione Bluetooth. Questo verrà sovrascritto ogni volta che Atmosphère viene aggiornato su SD e dovrà essere sostituito.

Utilizzo

Installare MissionControl sulla scheda SD, riavviare la console Switch e accoppiare i controller come faresti normalmente tramite la schermata Controller > Cambia impugnatura/ordine. Una volta accoppiati, i controller si riconnetteranno automaticamente quando vengono svegliati.

La maggior parte delle funzionalità native dovrebbe funzionare (ad eccezione di cose come l’aggiornamento del firmware). Se trovi qualcosa che non funziona, apri un problema.

Associazione controller

I controller supportati hanno ciascuno i propri metodi per accedere alla modalità di associazione/sincronizzazione. Di seguito sono riportate le istruzioni per accedere a questa modalità per ogni tipo supportato.

Controller Wii (U)

Premere il pulsante rosso di sincronizzazione sul retro del controller. I LED del controller lampeggiano rapidamente.

Controller Dualshock4

Tieni premuti contemporaneamente i pulsanti +  finché la barra luminosa non inizia a lampeggiare. Se eseguito correttamente, lo schema di lampeggiamento assomiglierà a un battito cardiaco, altrimenti lampeggerà periodicamente.

Controller Xbox One

Premere e tenere premuto il pulsante guida (X) finché il LED non inizia a lampeggiare. Quindi premere e tenere premuto il piccolo pulsante di sincronizzazione sul retro vicino alla porta di ricarica finché il LED non inizia a lampeggiare più rapidamente.

Dovresti anche assicurarti che il firmware del controller sia aggiornato, poiché i vecchi firmware erano noti per avere un bluetooth flakey.

Come funziona

MissionControl funziona da Man-In-The-Middling al modulo del sistema Bluetooth e intercettando i suoi comandi IPC di inizializzazione e gli eventi di sistema e traducendo i dati in entrata/uscita per convincere lo Switch che sta comunicando con un Controller Pro ufficiale.

Per ottenere ciò, il modulo btdrv-mitm ottiene gli handle per gli eventi di sistema bluetooth e la memoria condivisa quando il sistema tenta di inizializzarli su IPC tramite i moduli btm e hid. Quindi crea le proprie versioni secondarie di questi e passa i loro handle invece dell’originale.

Ciò consente di apportare modifiche a qualsiasi buffer di dati prima di notificare (o meno) il sistema. Inoltre, il comando IPC WriteHidData viene intercettato per tradurre o eliminare le richieste in uscita al controller. In quest’ultimo caso, risposte false possono essere scritte direttamente nel buffer della memoria condivisa.

L’intercettazione dei comandi IPC di inizializzazione consente inoltre agli homebrew di utilizzare correttamente il servizio bluetooth. Normalmente, la chiamata di uno qualsiasi dei comandi IPC che inizializzerebbero o finalizzerebbero gli eventi di sistema causerebbe un arresto anomalo della console o invaliderebbe gli handle di eventi tenuti dai processi di sistema.

Con btdrv-mitm siamo in grado di distribuire gestori di eventi alternativi quando l’homebrew tenta di inizializzare un’interfaccia e reindirizzare gli eventi di sistema reali a quelli invece degli eventi contenuti nei processi di sistema.

Le patch IPS al modulo Bluetooth sono fornite per (ri)abilitare il passaggio di codici PIN abitrari quando viene utilizzato l’accoppiamento legacy Bluetooth (Nintendo codifica un valore di '0000', ignorando gli argomenti IPC). Ciò consente ai dispositivi Wii (U) di essere associati alla console.

Caratteristiche pianificate

  • Applicazione per la gestione del controller.
  • Supporto Rumble.
  • Supporto per il movimento.
  • Supporto per tastiera e mouse.

Problemi noti e limitazioni

  • I controller non Switch non possono essere utilizzati per riattivare il sistema dalla sospensione.
  • I controller per i quali l’ID hardware non è stato inserito nella whitelist per l’identificazione non verranno riconosciuti come connessi. Questo può includere alcuni controller Switch ufficiali. Tuttavia, si accoppieranno comunque con la console e memorizzeranno i loro dettagli nel database. Se incontri un controller di questo tipo, crea un problema con la richiesta di supporto.
  • I controller Wii(U) possono impiegare un po’ di tempo per accoppiarsi con la console. Per qualche motivo vengono rilevati solo alla fine di un ciclo di rilevamento dei dispositivi. Sii paziente e, se necessario, premi nuovamente il pulsante di sincronizzazione sul controller.
  • Il layout dei pulsanti della Xbox One è stato modificato a un certo punto in un aggiornamento del firmware. Assicurati che il firmware del controller sia aggiornato se hai problemi con la mappatura dei pulsanti.
  • I giochi con controlli di movimento subiscono una deriva sui controller senza interruttore quando i controlli di movimento sono abilitati. Lo risolverò in una versione futura. Per ora la maggior parte dei giochi dovrebbe consentire di disabilitare i controlli di movimento come soluzione alternativa.

Nota: La companion Applet è in arrivo. Nel frattempo, è stato fornito un file btdb.nro per visualizzare il database di accoppiamento Bluetooth per aiutare ad aggiungere il supporto per nuovi controller.

Download: btdb.nro

Download: MissionControl v0.1.0

Download: Source code MissionControl v0.1.0

Fonte: gbatemp.net

(Visited 1 times, 1 visits today)

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *