flyinghead / flycast

Flycast is a multiplatform Sega Dreamcast, Naomi, Naomi 2 and Atomiswave emulator
GNU General Public License v2.0
1.36k stars 167 forks source link

Flycast doesn't apply VMUs to Lightguns, Arcade Sticks or Race Controllers, Only standard controllers. #1366

Closed Widge-5 closed 7 months ago

Widge-5 commented 7 months ago

Platform / OS / Hardware: Raspberry Pi 5, Bookworm 64bit, RetroPie. Using lr-flycast-dev

Github hash: e7d0a5f 195f401

Description of the Issue Flycast is not acknowledging VMUs for device types other than the standard controller. VMUs should also be acceptable for Lightgun, Arcade Stick and Race Controller device types, but they aren't in flycast. I noticed first in House of the Dead 2, that it would not save to VMU when device types in all 4 ports are set to "Lightgun". Cycling through the device types while on the "Could not find save data" screen, it does not find a VMU unless any one of the devices is set to "Controller". House of the Dead 2 supports Controllers, Lightguns and Arcade Sticks, and all of those devices have VMU sockets. In fact I can confirm that my real Dreamcast does save/load to/from a VMU in the Dreamcast lightgun. A Race Controller also has a VMU slot, but I haven't tested a game that uses it.

Debugging Steps Tested

Screenshots

This video clip is from HotD2's "Could not find save data" screen. While on this screen, cycling through the device types, it only changes to acknowledge a VMU when the device type becomes "Controller".

https://github.com/flyinghead/flycast/assets/77170359/fff20b86-eca8-4f60-9771-0620e613fa2d

flyinghead commented 7 months ago

Light guns, Arcade Sticks and Race controllers only have one VMU slot. If you enable the Purupuru/Vibration pack, this uses the only available expansion slot and no VMU can be connected.

When the vibration pack is disabled, a VMU is available: image

Widge-5 commented 7 months ago

Thanks @flyinghead . You are absolutely correct. This is a completely fresh installation and I didn't realise the Purupuru Pack/Vibration Pack setting had an impact, or that its default state is On (should it be?). Disabling the setting has resolved the issue. Thank you for your quick response.