libretro / pcsx_rearmed

ARM optimized PCSX fork
GNU General Public License v2.0
165 stars 118 forks source link

Punky Skunk buggy BGM #549

Closed eadmaster closed 10 months ago

eadmaster commented 3 years ago

Description

While playing Punky Skunk the BGM does not play correctly in stages following the first one (it does not start or it loops after a few seconds). Verified with a good dump coming from redump.org, converted to CHD.

Steps to reproduce

When did the behavior start?

After a few seconds of playing.

Your device/OS/platform/architecture

test #1: Ubuntu 18.04.2 LTS, x86_64 test #2: Android 9, Amlogic S905X3

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

(running with retroarch --verbose did not show any error on the console)

Screenshots (if needed for visual confirmation)

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

Punky Skunk (USA).srm.zip

gameblabla commented 2 years ago

I couldn't reproduce it on my side (at least with a bin/cue build) on both the libretro core and the stock pcsx_rearmed.

gameblabla commented 2 years ago

It appears that this issue only affects the CHD related code, not the bin/cue format. In fact, the titlescreen has no music on the CHD version whereas bin/cue plays it as normal, which just points us towards the CHD code being to blame.

I thought that it was possibly a thread issue with the CDDA music code as well so i tested it with my PR https://github.com/libretro/pcsx_rearmed/pull/552 but it doesn't do anything different for this game.

Unfortunately if you want to play this game normally, you'll have to use the bin/cue format for now.

eadmaster commented 2 years ago

Thank you for reporting this, so now i know a workaround.

If it is a CHD-related bug there may be other games affected. Btw I guess libchdr itself it's fine because i've tested the very same chd file with the libretro-beetle-psx core and was working fine.

ZacharyFoxx commented 2 years ago

Thank you for reporting this, so now i know a workaround.

If it is a CHD-related bug there may be other games affected. Btw I guess libchdr itself it's fine because i've tested the very same chd file with the libretro-beetle-psx core and was working fine.

Hi.

I can confirm this issue.

I tried the Rage Racer in the follow situations:

1 cue and 17 bin files (which match with redump's SH1 hashs); 1 cue and 1 bin file (the same 17 bin files combined); and 1 chd (created with the 1 cue and 17 bin files or 1 cue and 1 bin file).

Using cue and bin files the game works perfectly, in any situation. Using the chd versions I had the same problem in both situations: The song after choosing the car runs wrong. If you try to choose the soundtrack, the game plays a wrong track and only the final part of it. If you don't choose a soundtrack, the game won't play a song.

Games with one/two/three/four bin files, like Guilty Gear or Brave Fencer Musashi, work perfectly.

I test on 3 different machines:

My laptop running linux and using flatpak retroarch; My OUYA console using retroarch download from the official website; and My Raspberry Pie 4 with retropie in 4.8.

Retroarch in version 10.

notaz commented 10 months ago

Seems to be playing correctly now.