LibretroDroid
LibretroDroid copied to clipboard
Flycast works, but is too fast
Hi, flycast (dreamcast emu) works, but is too fast and doesnt have sound (sounds is probably due to its too fast, since no sound is also when fast forwarding in retroarch) Tested with latest libretrodroid and latest flycast from: http://buildbot.libretro.com/nightly/android/latest/arm64-v8a/
Audio is broken in fast forward if threaded rendering in the core is enabled, that's a core thingy tho. Works with it beeing disabled tho.
So the only issue left is the its beeing to fast I guess
Hi @JustMeDaFaq , thank you for reporting this. I still haven't tried flycast in Lemuroid, so I've no idea what might be wrong.
Just looking at the code it seems they're calling RETRO_ENVIRONMENT_GET_FASTFORWARDING in retro_run(), which is not implemented in LibretroDroid, maybe always returning false might make it run at the correct speed.
@Swordfish90 Thanks for the hint, adding:
case RETRO_ENVIRONMENT_GET_FASTFORWARDING:
*((bool*) data) = false;
return true;
makes sound available, game runs still super fast tho. Could be similiar to the PPSSPP speed issue i believe
Edit: Oh yeah, 60fps games (like Sonic 2) are running normally (with the environment variable above added), looks similiar to the ppsspp speed/throttling thingy? How does retroarch itself makes that working?
Edit2: Retroarch is solving that with an technique called Ausiodsync. If I set this to off, the core behaves the same in retroarch like in libretrodroid.
Ausiodsync does not seem to be complicated, I have implemented this feature on LibretroDroid
@a7150607 mind sharing your solution?