libretro / RetroArch

Cross-platform, sophisticated frontend for the libretro API. Licensed GPLv3.
http://www.libretro.com
GNU General Public License v3.0
10.17k stars 1.82k forks source link

[invalid] DPAD fails to respond for certain cores after rapid `Ninja Gaiden Trilogy (USA).sfc` game start with fast-forward #16830

Closed davidhedlund closed 2 months ago

davidhedlund commented 2 months ago

Description

This issue affects certain SNES cores when playing the Ninja Gaiden Trilogy compilation. The game selection menu in the trilogy may contribute to the cores becoming overloaded when the start button is pressed multiple times rapidly. This bug did not occur in other tested SNES games.

SNES cores:

NES cores (for "Ninja Gaiden (U).nes", the original game tested for comparison):

It's important to note that the NES version does not have multiple games to choose from, which may explain why the issue is not present in the NES cores.

Expected Behavior

Actual Behavior

Steps to Reproduce the Bug

  1. Go to Settings -> Input -> Hotkeys -> Fast-Forward (Hold) and assign it to R2 (or any other button).
  2. Navigate to Main Menu -> Load Content.
  3. Select Ninja Gaiden Trilogy (USA).sfc and press the "OK" button to load it.
  4. Immediately press and hold the Fast-forward button (R2) while rapidly pressing the start button multiple times. This will start the pre-selected game Ninja Gaiden.

Note: This bug is challenging to reproduce and requires very quick button presses. If unsuccessful, try up to 10 more times, increasing the speed of your button presses each time.

Note: Ninja Gaiden was never originally released for the Super Nintendo Entertainment System (SNES). The only way to experience the game on this platform is through the Ninja Gaiden Trilogy compilation, which includes the first three Ninja Gaiden titles originally from the NES.

image

Additional Information

The issue has been reproduced multiple times for the reported cores using a Sony DualSense controller connected via USB, suggesting that it's unlikely to be a problem with the controller connection.

The presence of the game selection menu in the SNES trilogy version may contribute to the cores becoming overloaded when the start button is pressed multiple times rapidly. This could explain why the issue is not present in the NES version, which lacks a game selection menu.

Version/Commit

Additional Information

davidhedlund commented 2 months ago

The issue stemmed from the game's pause functionality. Fast-forwarding disrupted the audio, masking the pause indication sound. Additionally, unlike the NES version, the SNES version continues to play background music during a pause, adding to the confusion.

For this reason, the "affected" cores are the fast ones.