mirror of
https://github.com/RPCSX/rpcsx.git
synced 2026-02-08 08:44:39 +01:00
rpcsx-os: do not freeze on memory save data
This commit is contained in:
parent
e80955742a
commit
3d71e8a7a7
|
|
@ -1479,7 +1479,23 @@ static void createShellCoreObjects(orbis::Process *process) {
|
|||
createIpmiServer(process, "ScePatchChecker");
|
||||
createIpmiServer(process, "SceMorpheusUpdService");
|
||||
createIpmiServer(process, "ScePsmSharedDmem");
|
||||
|
||||
auto saveDataSem = createSemaphore("SceSaveData0000000000000001", 0x101, 0, 1);
|
||||
createSemaphore("SceSaveData0000000000000001_0", 0x101, 0, 1);
|
||||
createShm("SceSaveData0000000000000001_0", 0x202, 0x1b6, 0x40000);
|
||||
createShm("SceSaveDataI0000000000000001", 0x202, 0x1b6, 43008);
|
||||
createShm("SceSaveDataI0000000000000001_0", 0x202, 0x1b6, 43008);
|
||||
createShm("SceNpPlusLogger", 0x202, 0x1b6, 0x40000);
|
||||
auto ruiEvf = createEventFlag("SceSaveDataMemoryRUI00000010", 0x120, 0x1000000100010000);
|
||||
|
||||
createIpmiServer(process, "SceSaveData")
|
||||
.addSyncMethod(
|
||||
0x12340000,
|
||||
[=](void *out, std::uint64_t &size) -> std::int32_t {
|
||||
ruiEvf->set(~0ull);
|
||||
saveDataSem->value++;
|
||||
return 0;
|
||||
})
|
||||
.addSyncMethod(
|
||||
0x12340001,
|
||||
[](void *out, std::uint64_t &size) -> std::int32_t {
|
||||
|
|
@ -2154,13 +2170,6 @@ int main(int argc, const char *argv[]) {
|
|||
createSemaphore("SceLncSuspendBlock00000000", 0x101, 1, 1);
|
||||
createSemaphore("SceNpPlusLogger 0", 0x101, 0, 0x7fffffff);
|
||||
|
||||
createSemaphore("SceSaveData0000000000000001", 0x101, 0, 1);
|
||||
createSemaphore("SceSaveData0000000000000001_0", 0x101, 0, 1);
|
||||
createShm("SceSaveData0000000000000001_0", 0x202, 0x1b6, 0x40000);
|
||||
createShm("SceSaveDataI0000000000000001", 0x202, 0x1b6, 43008);
|
||||
createShm("SceSaveDataI0000000000000001_0", 0x202, 0x1b6, 43008);
|
||||
createShm("SceNpPlusLogger", 0x202, 0x1b6, 0x40000);
|
||||
createEventFlag("SceSaveDataMemoryRUI00000010", 0x120, 1);
|
||||
initProcess->cwd = "/app0/";
|
||||
|
||||
if (!enableAudio) {
|
||||
|
|
|
|||
Loading…
Reference in a new issue