libretro / pcsx_rearmed

ARM optimized PCSX fork
GNU General Public License v2.0
166 stars 120 forks source link

(Re-)add option for "SPU IRQ Always Enabled" #725

Closed schusterro closed 1 year ago

schusterro commented 1 year ago

This tracker is for pcsx-rearmed-libretro issues only.

If the issue also occurs in standalone PCSX-ReARMed, the upstream repo is probably a better place for it.

That said, we would suggest that you also try it on other PCSX-based forks such as PCSX Reloaded, PCSX Redux and the upstream version as well because these share a similar codebase (or derive from it) and are helpful for regression testing, thus making it more likely for the bug to be fixed if it is indeed specific to the libretro core only.

Description

Please add the option "SPU IRQ Always Enabled": It's listed on this page but the option is not present in the UI: https://docs.libretro.com/library/pcsx_rearmed/

"SPU IRQ Always Enabled [pcsx_rearmed_spuirq] (disabled|enabled)

Compatibility tweak, should be left to off in most cases. This can be momentarily turned on at any point to try and fix some bugs.

Few examples includes:

'Alien Resurrection': bug where doors can remain closed until the option is turned on.

'Legend of Mana': audio out-of-sync bug during FMV sequences can also be fixed by momentarily switching the option on, then off when sound is normal."

Steps to reproduce

Tested with the latest ArkOS on the Anbernic RG353M. It's like here for the door in mission 3, but it cannot be opened even with the savestates workaround: https://github.com/MiSTer-devel/PSX_MiSTer/issues/182

When did the behavior start?

If you can bisect the issue (that is, pinpoint the exact commit that caused the problem), please do. Someone has to do it, and having this already done greatly increases the likelihood that a developer will investigate and/or fix the problem. Barring that, please state the last time it worked properly (if ever).

Your device/OS/platform/architecture

Anbernic RG353M, ArkOS, PCSX-ReARMed (r23l 4373e29)

Logs (enable file logging and set log levels to DEBUG for core and frontend)

Screenshots (if needed for visual confirmation)

Others (save states and/or save files nearest to the affected area, compressed)

hizzlekizzle commented 1 year ago

Looks like it was removed as part of this commit: https://github.com/libretro/pcsx_rearmed/commit/86be25153ccbafcf80a2c41f9679983731922673

That may indicate that the function it was tying into no longer exists or that notaz felt like it was no longer needed. We'll have to investigate.

notaz commented 1 year ago

The mentioned games should work already, and such hack options only do harm as people enable them, games break and they report false bugs wasting everyone's time.

schusterro commented 1 year ago

The mentioned games should work already, and such hack options only do harm as people enable them, games break and they report false bugs wasting everyone's time.

How should they work if the hack cannot be enabled anymore? Alien doesn't, that's why I've created the issue. It can be played for the first 30-60 minutes, then it cannot be continued anymore.

notaz commented 1 year ago

Thanks for linking to the MiSTer issue. Should hopefully be fixed now for good.

schusterro commented 1 year ago

Thanks for linking to the MiSTer issue. Should hopefully be fixed now for good.

Thank you very much! Some questions:

  1. If I'm not mistaken, the commit was to master. So will this be in one of the next daily builds or something, or will it be out only in a release version later? How and when that then comes to ArkOS on my RG353M is another problem, I guess.
  2. I don't see the reference to some property in the config file, like in the commit https://github.com/libretro/pcsx_rearmed/commit/86be25153ccbafcf80a2c41f9679983731922673 that you mentioned. So will this fix be "automatical", without a user setting?

Btw, I also tried the game on my PS2 3500x and on a modded Vita, but the "door problem" there is even worse. So this game is pretty much unusable if not played on an original PS1 or with this fix.

Thanks again!

notaz commented 1 year ago
  1. Yes nightly builds at https://buildbot.libretro.com/nightly/ for libretro supported platforms. For others depends on whomever is maintaining that software.
  2. No setting, should just work.

this game is pretty much unusable if not played on an original PS1

The bug report you linked mentions mednafen can run it, MiSTer itself got fixed and there are likely other emulators that can do it too.

schusterro commented 1 year ago

I've uppdated the cores, and pcsx_rearmed (which I used before) doesn't load anymore. When launching the game, it just returns to the ArkOS menu after 2 seconds. pcsx_rearmed_rumble in turn seems to work now with that blocked door, but it has horrible audio crackling when entering the game menu (but only there). I don't know if it was like this before, since I didn't use pcsx_rearmed_rumble before. Beetle PSX (Mednafen) on the Steam Deck also has some audio crackling, but it's not that bad. I'll test more these days.

schusterro commented 1 year ago

All the previous bugs are now fixed. A lot of other sounds and animations are now appearing, and even some optional countdown in a mission does, as it should be in the original game version. One problem remains, in that the DS4 connected via BT doesn't vibrate, always the console does. I'll open another issue for that.

Thank you!

notaz commented 1 year ago

Pushed a fix for the audio audio crackling too. It never showed up for me due to different config.

About the core not loading on some device, those issues are hard to deal with because there are almost infinite amount of devices nowadays, and I can only test on PC, some old armv7 device (pandora) and an arm64 respberry-pi, and those usually work for me.