diff --git a/Core/HLE/HLETables.cpp b/Core/HLE/HLETables.cpp index b4f0636f77..a83fc9970e 100644 --- a/Core/HLE/HLETables.cpp +++ b/Core/HLE/HLETables.cpp @@ -252,6 +252,7 @@ void RegisterAllModules() { Register_scePsmf(); Register_scePsmfPlayer(); Register_sceOpenPSID(); + Register_sceOpenPSID_driver(); Register_sceParseUri(); Register_sceSsl(); Register_sceParseHttp(); diff --git a/Core/HLE/sceOpenPSID.cpp b/Core/HLE/sceOpenPSID.cpp index 19577dae22..44e4af77ef 100644 --- a/Core/HLE/sceOpenPSID.cpp +++ b/Core/HLE/sceOpenPSID.cpp @@ -35,6 +35,21 @@ static int sceOpenPSIDGetOpenPSID(u32 OpenPSIDPtr) return 0; } +static int sceOpenPSID_driver_0x19D579F0(u32 OpenPSIDPtr,u32 unknown) +{ + ERROR_LOG(HLE, "UNTESTED sceOpenPSID_driver_0x19D579F0(%d,%d)", OpenPSIDPtr,unknown); + u8 dummyOpenPSID[16] = { 0x10, 0x02, 0xA3, 0x44, 0x13, 0xF5, 0x93, 0xB0, 0xCC, 0x6E, 0xD1, 0x32, 0x27, 0x85, 0x0F, 0x9D }; + + if (Memory::IsValidAddress(OpenPSIDPtr)) + { + for (int i = 0; i < 16; i++) + { + Memory::Write_U8(dummyOpenPSID[i], OpenPSIDPtr + i); + } + } + return 0; +} + const HLEFunction sceOpenPSID[] = { {0XC69BEBCE, &WrapI_U, "sceOpenPSIDGetOpenPSID", 'i', "x"}, @@ -44,3 +59,13 @@ void Register_sceOpenPSID() { RegisterModule("sceOpenPSID", ARRAY_SIZE(sceOpenPSID), sceOpenPSID); } + +const HLEFunction sceOpenPSID_driver[] = +{ + {0x19D579F0, &WrapI_UU, "sceOpenPSID_driver_0x19D579F0", 'i', "xx" }, +}; + +void Register_sceOpenPSID_driver() +{ + RegisterModule("sceOpenPSID_driver", ARRAY_SIZE(sceOpenPSID_driver), sceOpenPSID_driver); +} \ No newline at end of file diff --git a/Core/HLE/sceOpenPSID.h b/Core/HLE/sceOpenPSID.h index 07c5171e59..24855ef4a4 100644 --- a/Core/HLE/sceOpenPSID.h +++ b/Core/HLE/sceOpenPSID.h @@ -20,3 +20,4 @@ void __sceOpenPSIDInit(); void Register_sceOpenPSID(); +void Register_sceOpenPSID_driver(); \ No newline at end of file