bsnes-emu / bsnes

bsnes is a Super Nintendo (SNES) emulator focused on performance, features, and ease of use.
Other
1.69k stars 159 forks source link

"Wolverine - Adamantium Rage (USA)" hangs on the latest master version #322

Open Screwtapello opened 2 months ago

Screwtapello commented 2 months ago

As reported by user usVSthem on Discord, the USA version of the game Wolverine - Adamantium Rage hangs after displaying the unskippable developer and publisher logos, but before displaying the title screen. The European version, and the Japanese version (just named "Wolverine") both work fine.

Bisecting history points to 4f7a269ba5d053bb824b5ffa0978799331a5f2d8 as the commit that introduced the problem, which changed how bsnes handled joypad polling - which makes sense, since it's only once the game tries to interact with the joypad that the problem occurs.

Note that this commit fixes the game SpellCraft - Aspects of Valor, so whatever we do here has to make both games work - we can't just revert this specific fix.

Screwtapello commented 2 months ago

I believe the same game works fine on ares, even though ares has exactly the same HVBJOY code. Clearly there's some other difference in the SFC emulation.

Screwtapello commented 2 months ago

From the issue about SpellCraft - Aspects of Valor:

@asuramaru said that their fix in bsnes was subtly different from @jbo-85's fix in higan, and if a game ever worked in one but not the other, that would be a clue to which implementation was more correct

https://github.com/bsnes-emu/bsnes/issues/86#issuecomment-720015859

I should test SCAoV in ares to see how it holds up.

Screwtapello commented 2 months ago

I suspect the higan commit being referenced is https://github.com/higan-emu/higan/commit/e422ddc7293b10aae8a1935d4c7f96aeb8445430 which is a much more complex change.

joepogo commented 1 month ago

Good catch on this @Screwtapello ! Hopefully a solution will present itself soon!

I wonder if this issue is why you can't register your name on bs legend of Zelda. You can move the cursor but there's no response when trying to register your player.

Has @carmiker seen this yet? He seems to be very familiar with bsnes code.

Edit** tried using a newer version of the bs Zelda roms and this problem doesn't happen or persist.

carmiker commented 1 month ago

I am aware of it, and hope to fix it.

joepogo commented 1 month ago

I have found at the moment it seems a workaround is to overclock the CPU by any percent and the game will be playable until it's fixed proper.