MickGyver / DaemonBite-Retro-Controllers-USB

A collection of retro controller USB adapters (SNES, NES, Mega Drive/Genesis, Master System, Atari, Commodore, Amiga and Amiga CD32)
GNU General Public License v3.0
296 stars 61 forks source link

SNES Multitap #2

Open GromRGB opened 4 years ago

GromRGB commented 4 years ago

Hi,

I found how to make a SNES Multitap.

Primary, HID_QUIRK_MULTI_INPUT must be activated for Arduino Pro Micro :

In "u-boot.txt" -> v=loglevel=4 usbhid.jspoll=1 xpad.cpoll=1 usbhid.quirks=0x2341:0x8037:0x040 Or in kernel -> https://github.com/MiSTer-devel/Linux-Kernel_MiSTer/commit/f6e04d804af0878d60aaeda4149492134276e1f8

After, I add reports in _hidReportDescriptor 0x85, 0x01, // REPORT_ID (1) I add too int8_t ID; in typedef struct GamepadReport And I create only one Gamepad_ Gamepad;

I attach files of my proof of concept with a random function to press/release all buttons and axis (ProofOfConcept.zip).

Regards,

patitogit commented 1 year ago

Hi,

I found how to make a SNES Multitap.

Primary, HID_QUIRK_MULTI_INPUT must be activated for Arduino Pro Micro :

In "u-boot.txt" -> v=loglevel=4 usbhid.jspoll=1 xpad.cpoll=1 usbhid.quirks=0x2341:0x8037:0x040 Or in kernel -> https://github.com/MiSTer-devel/Linux-Kernel_MiSTer/commit/f6e04d804af0878d60aaeda4149492134276e1f8

After, I add reports in _hidReportDescriptor 0x85, 0x01, // REPORT_ID (1) I add too int8_t ID; in typedef struct GamepadReport And I create only one Gamepad_ Gamepad;

I attach files of my proof of concept with a random function to press/release all buttons and axis (ProofOfConcept.zip).

Regards,

Thanks! working perfect on windows 10 after taking out the auto button/joystick movements. theres any chance to modify it to work as xinput instead of dinput?