Repository navigation
Disable the memcpy slicing thing (for HLE memcpys) in Syphon Filter games - #20642
Conversation
Fixes #20625 However, it's not clear why. As discussed in #20625, might just try to get rid of many of these replacement functions. The problem with the copy ones is that often we want to take action *after* the copy (for GPU copy detection purposes) and without replacing the whole function that's a bit hard (but doable).
|
Shame it's was not made in time for 1.19.3 , now you gotta wait until 1.20 which is next year for this to be on ios etc. |
|
Well, I'm not ruling out a 1.19.4. But it's just how it is, releases take a lot of work, so can't do them all the time |
|
Well we don't know that that's the root issue. Of course, fixing it properly would be best but that would require spending time investigating it in depth, and timing issues are the worst.... Maybe later. Also this doesn't remove the memcpy pr, it just disables it for a few games. |
The adhoc timing would be more sensitive, since we don't have the timing tested/logged on real hardware yet. So current adhoc timings are just speculation. (Someone need to added the test on JPCSPTrace to get a more accurate timings, by connecting to itself, like localhost, to minimize the latency). And based on my old post, at the time it got frozen/crashed, there isn't any SCENET syscalls being used (other than initialization one). It does have a PSPthread running in a loop (for the fake HLE The sceKernelDelayThread will cause thread switching, but removing it will cause the game to locked out on that PSPthread, since the game can't run their threads. The sleep time was also sensitive as i remembered, it doesn't works well on some games when the value is too small, and it doesn't works well for other games when the value is too large. May be there are better ways to put the adhoc thread to sleep without causing continuous thread switching when it have nothing to do yet, since it only have something to do when there is an adhoc event that need to be processed (by checking whether the event vector/queue is empty or not). Edit: Using |


Fixes #20625
However, it's not clear why. As discussed in #20625, might just try to get rid of many of these replacement functions. The problem with the copy ones is that often we want to take action after the copy (for GPU copy detection purposes) and without replacing the whole function that's a bit hard (but doable).