pcsx-redux
pcsx-redux copied to clipboard
PAD becomes unresponsive after loading state
When loading a saved state, occasionally the pad may become unresponsive.
I speculate this could be caused by either one or more unsaved/un-sanitized variable, or perhaps an old save state which predates PR #995 which did revise SIO0 save state variables.
Looking more closely at this, several variables from Pads are missing in the save states(most of them).
If the state were saved while the pad was in the middle of a transfer, it would likely fail and/or send invalid responses. Ideally, when the next command executed the pad would respond and it would be mostly unnoticeable. But it's also possible the pad may respond in digital mode when the game expects analog(or vice versa) and lacks fail-safes for such a sudden change.
@NDR008 if you could give steps for reproduction that would get me started, a save state may also be useful.
Pads are thankfully easy to serialize. The important bits are the FIFO state and analog/config mode if the pad in question is analog.
If the FIFO state is all properly serialized, saving in the middle of a transfer should be ok