diff --git a/AGENTS.md b/AGENTS.md index df5307e769..2233642083 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -101,6 +101,12 @@ first - send `cpu.stepping` and `cpu.resume` to pause/unpause. Alternatively use the headless build, Windows/{arch}/Debug/PPSSPPHeadless.exe or build/PPSSPPHeadless on CMake-based platforms. Where arch is x64 or ARM64. +## Debugging and breakpoint considerations + +It might be worth trying the interpreter - all types of breakpoints are the most reliable with this CPU backend. +The JITs are much, much faster and in theory also support breakpoints, but especially from websockets there seem +to be trouble. + ## Quick rebuild on Linux You don't need to do ./b.sh --debug to verify every single little change, instead use this shortcut: diff --git a/Core/HLE/sceReg.cpp b/Core/HLE/sceReg.cpp index c46d235774..8f75138032 100644 --- a/Core/HLE/sceReg.cpp +++ b/Core/HLE/sceReg.cpp @@ -1317,6 +1317,10 @@ int sceRegSetKeyValue(int catHandle, const char *name, u32 bufAddr, u32 size) { int sceRegCreateKey(int catHandle, const char *name, int type, u32 size) { return hleLogError(Log::sceReg, 0); } +// Speculated signature +int sceRegRemoveKey(int catHandle, int key) { + return hleLogError(Log::sceReg, 0); +} const HLEFunction sceReg[] = { { 0x92E41280, &WrapI_UIU, "sceRegOpenRegistry", 'i', "xix" }, @@ -1335,7 +1339,7 @@ const HLEFunction sceReg[] = { { 0xC5768D02, &WrapI_ICUU, "sceRegGetKeyInfoByName", 'i', "isxx" }, { 0x30BE0259, &WrapI_ICUU, "sceRegGetKeyValueByName", 'i', "isxx" }, { 0x4CA16893, &WrapI_IC, "sceRegRemoveCategory", 'i', "i" }, - { 0x3615BC87, nullptr, "sceRegRemoveKey", 'i', "i" }, + { 0x3615BC87, &WrapI_II, "sceRegRemoveKey", 'i', "ii" }, { 0x9B25EDF1, nullptr, "sceRegExit", 'i', "i" }, // TODO: Add test for these. { 0xBE8C1263, nullptr, "sceRegGetCategoryNumAtRoot", 'i', "ii" },