barbudreadmon / fbalpha-backup-dontuse-ty

Deprecated port of Final Burn Alpha to Libretro (v0.2.97.43).
61 stars 43 forks source link

Green Beret / Rush'n Attack #203

Closed ghost closed 6 years ago

ghost commented 6 years ago

On some platforms the speed in these games seems to double up to 60fps, this change will stop that from happening, however a new frame will be required so as not to break Green Beret bootleg and Mr Goeman as they actually perform at the correct fps already

inactive123 commented 6 years ago

Would be nice @barbudreadmon if you could attempt to upstream these commits back to mainline.

barbudreadmon commented 6 years ago

@twinaphex @fr500 Well, i was already communicating with upstream about this issue, and this doesn't seem like the right way to fix this. Basically, the issue is that those games are supposed to run at 30fps (they do in fba standalone), but retroarch is somehow forcing them to 60 fps. Is there any way to prevent this ? retro_get_system_av_info is already supposed to be set with the proper value.

inactive123 commented 6 years ago

There are cores that run just fine at 30fps, RetroArch isn't really forcing anything. See for instance Parallel N64 or Mupen64plus without enabling the CPU overclock. I don't see how that can't be possible with this FBAlpha core for the few games that require it.

There are environ callbacks that let you set the AV info again, however, I would only make this a one-off that you do during initialization, since it's an expensive operation on the retroarch side.

ghost commented 6 years ago

Im in agreement with @twinaphex Retroarch is not the cause of this it's something in the FBA mainline code as i got the exact same issues on the xbox using a standalone FBA port on that platform.

Im not sure about this not being the correct way to do it as such..?? if the desired outcome we want eg getting the games down to 30fps and properly playable has been achived, it was iq_132 himself that suggested i do this after mentioning this problem to him a couple of years back.

But i suppose there are many ways to skin the proverbial cat maybe you guys will come up with something better until such times a fix is incoming from FBA mainline.

Regards!!

barbudreadmon commented 6 years ago

@twinaphex

[libretro INFO] retro_get_system_av_info: base_width: 240, base_height: 224, max_width: 240, max_height: 240, aspect_ratio: (4/3) = 1.333333 (core_aspect_par: 0)
[libretro INFO] [Test] nBurnFPS set to 3000
[INFO] [Audio]: Set audio input rate to: 48000.00 Hz.
[INFO] [Video]: Timings deviate too much. Will not adjust. (Display = 59.94 Hz, Game = 30.00 Hz)

fps is set to 30 (nBurnFPS / 100.0) in retro_system_timing, it's not set to another value before or after this one, but retroarch is complaining and somehow a fps value of 47 is shown when fps_show is set to true in retroarch.cfg . Some explanation would be welcome.

@arcadez while this fixes the current issue, i'm worried about games supposed to run at 50 or 55 fps, that's why i'm not totally happy with this solution.