xerpi / fakemote

A Wii cIOS module that fakes Wiimotes from the input of USB game controllers
GNU General Public License v2.0
178 stars 16 forks source link

Mayflash MagicNS Adapter Support. VID=0079, PID=18D2 #11

Open dystopia2017 opened 2 years ago

dystopia2017 commented 2 years ago

Is it possible to add support for the Mayflash Magic NS USB bluetooth adapter? Adding support for this device would allow us to connect many Bluetooth controllers to the Wii via Bluetooth and many more via a wired connection. Nintendont has support for this deivce using the following controller ini file.

0079_18D2.ini [Mayflash Magic NS] VID=0079 PID=18D2 Polltype=1 DPAD=1 DigitalLR=1 A=0,02 B=0,04 X=0,01 Y=0,08 Z=0,20 L=0,40 R=0,80 Power=1,10 S=1,02 Left=2,06 Down=2,04 Right=2,02 Up=2,00 RightUp=2,01 DownRight=2,03 DownLeft=2,05 UpLeft=2,07 StickX=3 StickY=4 CStickX=5 CStickY=6 LAnalog=0 RAnalog=0

The currently supported controllers are;

Bluetooth Controllers: Xbox One X, Xbox One S, DualShock 3, DualShock 4, DualSense, Wiimote, Wii U Pro, Switch Joy-Cons, Switch Pro

Wired USB Controllers: Nintendo Switch Pro, Xbox Elite Series 2, Xbox One, Xbox One X, Xbox One S, Xbox 360, DualShock 3, DualShock 4, ASTRO Gameing c40 TR Controller Playstation 4, Playstation 4 SCUF Vantage 2 Controller, SEGA MEGA DRIVE Mini, SEGA Genesis Mini, Logitech rumble gamepad F310, Logitech rumble gamepad F510, PS Classic Controller

I am happy to beta test anything you can come up with if it's possible to add support. Thanks

Invictaz commented 2 years ago

Please give a USB device descriptor overview as seen in #10

Can be done with this tool

https://www.thesycon.de/eng/usb_descriptordumper.shtml

dystopia2017 commented 2 years ago

Information for device MAGIC-NS (VID=0x0079 PID=0x18D2):


Connection Information:

Device current bus speed: FullSpeed Device supports USB 1.1 specification Device supports USB 2.0 specification Device address: 0x0011 Current configuration value: 0x01 Number of open pipes: 2


Device Descriptor:

0x12 bLength 0x01 bDescriptorType 0x0200 bcdUSB 0x00 bDeviceClass
0x00 bDeviceSubClass
0x00 bDeviceProtocol
0x40 bMaxPacketSize0 (64 bytes) 0x0079 idVendor 0x18D2 idProduct 0x0132 bcdDevice 0x00 iManufacturer 0x02 iProduct "MAGIC-NS" 0x00 iSerialNumber 0x01 bNumConfigurations


Configuration Descriptor:

0x09 bLength 0x02 bDescriptorType 0x0029 wTotalLength (41 bytes) 0x01 bNumInterfaces 0x01 bConfigurationValue 0x00 iConfiguration 0x80 bmAttributes (Bus-powered Device) 0xFA bMaxPower (500 mA)

Interface Descriptor:

0x09 bLength 0x04 bDescriptorType 0x00 bInterfaceNumber 0x00 bAlternateSetting 0x02 bNumEndPoints 0x03 bInterfaceClass (Human Interface Device Class) 0x00 bInterfaceSubClass
0x00 bInterfaceProtocol
0x00 iInterface

HID Descriptor:

0x09 bLength 0x21 bDescriptorType 0x0111 bcdHID 0x00 bCountryCode 0x01 bNumDescriptors 0x22 bDescriptorType (Report descriptor) 0x0089 bDescriptorLength

Endpoint Descriptor:

0x07 bLength 0x05 bDescriptorType 0x02 bEndpointAddress (OUT endpoint 2) 0x03 bmAttributes (Transfer: Interrupt / Synch: None / Usage: Data) 0x0040 wMaxPacketSize (1 x 64 bytes) 0x0A bInterval (10 frames)

Endpoint Descriptor:

0x07 bLength 0x05 bDescriptorType 0x81 bEndpointAddress (IN endpoint 1) 0x03 bmAttributes (Transfer: Interrupt / Synch: None / Usage: Data) 0x0040 wMaxPacketSize (1 x 64 bytes) 0x0A bInterval (10 frames)

Microsoft OS Descriptor is not available. Error code: 0x0000001F


String Descriptor Table

Index LANGID String 0x00 0x0000 0x0409 0x02 0x0409 "MAGIC-NS"


Connection path for device: USB xHCI Compliant Host Controller Root Hub Generic USB Hub MAGIC-NS (VID=0x0079 PID=0x18D2) Port: 1

Running on: Windows 10 or greater (Build Version 19044)

Brought to you by TDD v2.17.0, Feb 23 2021, 14:04:02

Invictaz commented 2 years ago

bInterfaceclass=03 is good. You will now have to wait for a config to show up.

tehrzky commented 9 months ago

up. any news about this?

MasterKelvinVIP commented 9 months ago

Hey is there any word?