libretro / beetle-wswan-libretro

Standalone hard fork of Mednafen WonderSwan to libretro, itself a fork of Cygne
GNU General Public License v2.0
20 stars 47 forks source link

[Wii] Using Gamecube controller results in turbo controls bug #32

Open Flo85o opened 6 years ago

Flo85o commented 6 years ago

WonderSwan games are unplayable on the original Wii when using a gamecube controller. A turbo button function is permenantly enabled when playing with a gamecube controler, this is not the case with using a wiimote instead of a gamecube controller.

Example: https://youtu.be/lDGx49cKg6w

ghost commented 5 years ago

video cannot be viewed. what turbo button function? official gamecube controller do not have turbo, AFAIK

Flo85o commented 5 years ago

Hi, that's not what i mean, i know that the the GC controller does not have a turbo function, in this case, it's a emulator problem, it's registrating each button press a million times, pressing once or holding it, sorry for the broken link, thought it would still be up, here is a new video of the described problem: https://p-ams2.pcloud.com/cBZmkPmtpZv6ANtpZGfbHZZxzyiI7ZQ5ZZjw0ZkZN61WZFVZgXZ20Z80ZVZK7ZvXZU5Zg0Z40Zc7Zj5ZoZ0XZHan17ZC4yrnI21ayVkUa7EWvHD0hEVFTRy/WP_20180915_001.mp4

ghost commented 5 years ago

kindly test with latest version of core and retroarch. in anycase, this probably has nothing to do with the core, and more than the input drivers or even autoconfig for your controller.

Flo85o commented 5 years ago

Hi, just tested it again with the latest RetroArch build, but the problem is the same. Only a Wiimote is possible and reacts normal. I don't use any autoconfig or custom settings, it's just RetroArch on a SD plugged in the Wii with an attached GC controller.

SuperrSonic commented 5 years ago

Could you try this? wswan_wii.zip

It saves to the private folder so it won't conflict with official RA versions.

Flo85o commented 5 years ago

Thank you so much SuperrSonic, this version works flawlessly! Had some framedrop in the beginning because of the enabled vsync but disabling it is the solution. But can vsync work with this version?

SuperrSonic commented 5 years ago

Then the problem is GameCube controllers rely on vsync by default.

Official RetroArch forces vsync off if the core has a higher framerate than the platform. Because this core is 75.47 and Wii is normally ~59.94 using vsync would make the core run at that rate (the framedrops you got). I removed this check but for an unrelated reason.

The reason why the turbo buttons thing doesn't happen in my build is because I changed the polling rate to 1000 Hz, you can see it yourself in Settings->Input->Polling Rate

This should be a setting but I'd make a few small changes first regarding the libogc version that's being used.

Flo85o commented 5 years ago

Hi SuperrSonic, ah, that makes sense, thanks for your help. Maybe it sounds strange but now that i have played a few games for several ours, i have a slight feeling that the games run not as smooth as the old wiimednafen port i used for a long time. Is that weird to say? I used wiimednafen for a long time (i know that it is outdated) because of the excellent compatibility for Wonderswan and VirtualBoy games, but the reason that i want a standalone RA version is because i like to have each emulator separated instead of combined in one.

SuperrSonic commented 5 years ago

Not as smooth meaning jerky video or delayed input? Is the sound good? I only tested klonoa for a very short time.

Do you notice the screen tearing during fades and image scrolling? It might be that wiimednafen doesn't have tearing due to different gx or video code.

Flo85o commented 5 years ago

Input looks fine, i can't feel any delay and i don't hear strange things, it only looks like there is some slight screen tearing during gameplay, it's all a bit less smooth than the other simular systems i have tested like GB and NGP on RA. I've tested it with Rockman & Forte: Mirai Kara no Chousensha.