openMSX / openMSX

the MSX emulator that aims for perfection
http://openmsx.org
430 stars 95 forks source link

SVI-328 with Gamepad on Batocera #1713

Closed Sircrashalot closed 1 month ago

Sircrashalot commented 1 month ago

When i use my gamepads (both a Hori Mini USB and and a bluetooth 8bitdo SNES controller) there is an issue when i press the NORTH button on the right side. After that other inputs on the gamepad still work, but somehow my character is always moving/driving to the left side. This happens on all SVI games and i have to leave the emulator and restart again to fix it. Also the keyboard does not work properly anymore after i pressed the NORTH button.

PS: Batocera v39 uses the most recent version of openmsx 19.1

MBilderbeek commented 1 month ago

If you use the keyboard, does everything work normally?

MBilderbeek commented 1 month ago

I can't reproduce this with my old Logitech Rumblepad 2. I used the controller and could normally play Frantic Freddie and Sector Alpha.

Before we can do anything further, you @Sircrashalot must help us to do some tests:

  1. does everything work normally with the keyboard?
  2. do you get the same behaviour in an MSX program/game?
  3. do you get the same behaviour if you run openMSX on your normal desktop/laptop PC?
  4. can you try it with the latest development build/code?

Also, are you saying someone ported openMSX to Retroarch? Where can I find more information?

Sircrashalot commented 1 month ago

I can't reproduce this with my old Logitech Rumblepad 2. I used the controller and could normally play Frantic Freddie and Sector Alpha.

Before we can do anything further, you @Sircrashalot must help us to do some tests:

  1. does everything work normally with the keyboard?
  2. do you get the same behaviour in an MSX program/game?
  3. do you get the same behaviour if you run openMSX on your normal desktop/laptop PC?
  4. can you try it with the latest development build/code?

Also, are you saying someone ported openMSX to Retroarch? Where can I find more information?

I will also try with rumble pad 2. I have one here.

  1. Just tried, it works fine with keyboard.
  2. I will dl one and try it later.
  3. I installed on my laptop 64x version and it works without a problem.
  4. How can i install the latest build on batocera?

Sorry my bad, i thought its implemented in Retroarch, but after doublechecking i realized that it is not! Not much information available on the batora homepage: https://wiki.batocera.org/systems:spectravideo

Looks like its either a problem with batocera or the linux version of openmsx?

Thank you and best regards

MBilderbeek commented 1 month ago

Hi,

I am using Linux myself and as I said, no issue here with my Rumble Pad 2. So, nothing wrong with Linux.

Your laptop is Windows? And you used the same controllers there? And did you use 19.1 or a later development version?

As for Batocera: I have no idea about that and no experience with it. Please contact Batocera developers. One interesting question could be: does this controller work in other emulators/software on Batocera? More specifically: does it work on software based on SDL2 in Batocera?

Sircrashalot commented 1 month ago

Yes, my laptop is windows 10. And i used the 19.1 version.

Yes all controllers i used work on Windows and on Batocera (Amiga, SNES, NES, PS1, gba an sega mega drive). Guess i have to ask the batocera team. I have no clue about the sdl2 thing :(

MBilderbeek commented 1 month ago

If openMSX is dynamically linked against an older version of SDL2 where the controller is not properly supported in, this might be possible. But then again, I have no idea how Batocera works, so indeed, better ask their developers.

Your RumblePad 2 does work?

Sircrashalot commented 1 month ago

The rumblepad 2 also only works on my Windows PC. On the batocera system it has the same issue. I mean its playable with all controlers i ued, but if i accidently press the NORTH button, it bugs and i have to restart the emulator.

MBilderbeek commented 1 month ago

And with NORTH you mean the D-pad's "UP" button?

Perhaps the (default?) configuration of Batocera is a bit off? If you open the console in openMSX (with F10) and type this command: set joystick1_config - what output do you get?

Sircrashalot commented 1 month ago

No in batocera the NORTH button is the for example the SNES X button.

MBilderbeek commented 1 month ago

Button 4 on the RumblePad 2?

Still, the output of that command is very useful. Also, the output of bind can be useful.

Alternatively, you can run this: save_settings /tmp/mysettings.xml and attach the resulting file.

Sircrashalot commented 1 month ago

8bitd mod kit SNES controller LEFT -axis0 L_hat0 RIGHT +axis0 R_hat0 UP -axis1 U_hat0 DOWN +axis1 D_hat0 A button 0 2 4 6 8 and 10 B button 1 3 5 7 and 9

MBilderbeek commented 1 month ago

That is the default. What about the bind command? Maybe it has something bound to joy1 button3 or something...?

Sircrashalot commented 1 month ago

20240729_114808

MBilderbeek commented 1 month ago

Ah, these last two are suspicious! You should try to unbind them and then try again. unbind joy1 button3 down I guess. And also button2

MBilderbeek commented 1 month ago

It seems they also didn't bind the up events... So that's why keys will get stuck.

Looks like they also bound the F5 key... Probably not very practical as it is often used in MSX games (maybe also SVI?).

Sircrashalot commented 1 month ago

unbind joy1 button3 down does not work It tells me syntax error

Sircrashalot commented 1 month ago

Add your comment here...

Markdown is supported

SVI hardly uses F keys. So should be no problem. But those bind keys without UP version, look like the actual probem. Just need to figure out how the syntax works...

MBilderbeek commented 1 month ago

https://openmsx.org/manual/commands.html#bind for examples... You need to add some quotes.

Sircrashalot commented 1 month ago

Thank you very much! It worked! I will still report that to the batocera team. No clue why the key binds are default.

m9710797 commented 1 month ago

I think this issue can be closed now? It's not an issue in openMSX itself. (Feel free to reopen if I overlooked something.)