pcsx-redux icon indicating copy to clipboard operation
pcsx-redux copied to clipboard

PAD becomes unresponsive after loading state

Open johnbaumann opened this issue 2 years ago • 2 comments

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.

johnbaumann avatar Dec 20 '22 01:12 johnbaumann

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.

johnbaumann avatar Dec 20 '22 03:12 johnbaumann

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

wheremyfoodat avatar Dec 20 '22 11:12 wheremyfoodat