harbaum / MiSTeryNano

Atari STE MiSTery core for the Tang Nano 20k FPGA
109 stars 15 forks source link

USB Joystick not working #13

Open TzOk83 opened 5 months ago

TzOk83 commented 5 months ago

I have recently tried my USB joysticks, and one didn't work at all, while another one was almost working - there were some erratic reactions to the d-pad, but no fire button at all.

Please also notice, that the real ST, the right mouse button acts as a joystick fire button (they are physically wired together).

They were both generic gamepads, one not working was analog, with the digital d-pad (PlayStation knock-off), and the one almost working was a digital d-pad only (namely a PiHut SNES USB Pad: https://thepihut.com/products/raspberry-pi-compatible-usb-gamepad-controller-snes-style).

harbaum commented 5 months ago

I have a bunch of USB joysticks but haven't tested many of them, yet. This will sure come once all the basic's are implemented.

TzOk83 commented 5 months ago

Is there any way I could help (without experience in Verilog)?

harbaum commented 5 months ago

The USB part happens completely on the M0S/BL616. There is no Verilog involved.

harbaum commented 4 months ago

So I do have a quite similar looking cheap SNES like shaped gamepad which just works fine.

HaraldSimon commented 1 week ago

I have checked two USB joysticks, both not working (Competition Pro/EasySMX). The USB descriptor is longer than 128 bytes which is a limit inside a structore of the cherry usb stack (report_desc in usbh_hid struct). After patching the sources with the value of 256 both are listed in the debug log of the BL616. But they are still not working. The Competition Pro does not send usb urbs, the EasySMX does not transfer axes...

harbaum commented 1 week ago

Development now takes place at https://github.com/harbaum/FPGA-Companion

But the issues are likely the same. Feel free to submit a PR if you fix things.