-
Notifications
You must be signed in to change notification settings - Fork 2.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Resistance Retribution - Ad Hoc #18817
Comments
Oh last working was 590, that implies #18560, which is highly surprising. |
The symptom when it doesn't work is that the AdHoc menu crashes - and yes, confirmed that reverting the last commit from #18560, e1eecb4 , does "fix" it. @unknownbrackets fyi, i'm thinking of reverting it for 1.17.1, or disabling it for this game, but will look through it a couple more times first. |
Actually come to think of it, it's likely a weird threading interaction, and not really the fault of #18560. We don't get the adhoc stuff very close to correct.. So, could even do something as weird as disabling memcpy slicing when in adhoc mode... |
I'm not sure what the slicing mean, does the sliced memset/memcpy triggers a thread's context switch? since switching threads could affects the timing if the game relies on it (ie. waking up a thread too early when all the data it supposed to use wasn't ready) |
Yes, but more correctly. The old implementation before that change would block a thread for potentially a long time. Example, PPSSPP old behavior: Thread1 at 0.0: memset(blah, 0, 2MB); Same, but PSP behavior and new PPSSPP behavior: Thread1 at 0.0: memset(blah, 0, 2MB); Note that this is only a bug in how "replacements" work. If you disabled replacements and had the original memset MIPS code run via jit or interpreter, it would also reschedule to other threads instead of making the memset lock everything up for the entire time (it would be slightly more accurate and wake threads maybe a bit earlier.) The interpreter/jit behavior is basically how the PSP behaves. So the bug here seems likely to be something else not timing right, maybe an adhoc callback firing unrealistically early, etc. -[Unknown] |
Based on the Debug logs, there are no SCENET appeared nearby the crash, since it happened early when selecting ADHOC menu, SCENET activity practically done after Network Initialized message, then the game do SavedataInitStart dialog and crashed before Savedata completed (i think it didn't even reached dialog status = 1 yet). And the only thing AdhocThread did at this point is just looping the |
Worked around temporarily by #18821 , tagging any more proper fixes for v1.18 |
Game or games this happens in
Resistance Retribution
What area of the game / PPSSPP
Hello, good afternoon, previously the Resistance Retribution game worked online, unstable at times, but it worked, in Ad-Hoc mode only, now with the new version of the PPSSPP emulator, even Ad-Hoc is no longer working.
What should happen
The Resistance Retribution game should continue to operate online, now with perhaps even better updates, even if it is just maintaining the Ad-Hoc mode, as it used to work in previous updates, now with the new version of the PPSSPP emulator, it could work and stabilize the Ad-Hoc, or even open the door for infrastructure to work that is so desired, I hope the situation is reversed, and thank you.
Logs
No response
Platform
Android
Mobile device model or graphics card (GPU)
Nokia
PPSSPP version affected
v1.17-109-g6e676b9d1
Last working version
v1.16.6-590-gb09e5f4d8
Graphics backend (3D API)
Vulkan
Checklist
The text was updated successfully, but these errors were encountered: