diff --git a/Core/HLE/sceAtrac.cpp b/Core/HLE/sceAtrac.cpp index 530bc4f66a..ad7d52f2fd 100644 --- a/Core/HLE/sceAtrac.cpp +++ b/Core/HLE/sceAtrac.cpp @@ -534,6 +534,18 @@ int _sceAtracGetContextAddress(int atracID) return 0; } +int sceAtracLowLevelInitDecoder(int atracID, u32 paramsAddr) +{ + ERROR_LOG_LIMITED(HLE, "UNIMPL sceAtracLowLevelInitDecoder(%i, %08x)", atracID, paramsAddr); + return 0; +} + +int sceAtracLowLevelDecode(int atracID, u32 sourceAddr, u32 sourceBytesConsumedAddr, u32 samplesAddr, u32 sampleBytesAddr) +{ + ERROR_LOG_LIMITED(HLE, "UNIMPL sceAtracLowLevelDecode(%i, %i, %08x, %08x, %08x, %08x)", atracID, sourceAddr, sourceBytesConsumedAddr, samplesAddr, sampleBytesAddr); + return 0; +} + const HLEFunction sceAtrac3plus[] = { {0x7db31251,WrapU_IU,"sceAtracAddStreamData"}, @@ -572,6 +584,8 @@ const HLEFunction sceAtrac3plus[] = {0x5622B7C1,WrapI_UIIU,"sceAtracSetAA3DataAndGetID"}, {0x5DD66588,0,"sceAtracSetAA3HalfwayBufferAndGetID"}, {0x231FC6B7,WrapI_I<_sceAtracGetContextAddress>,"_sceAtracGetContextAddress"}, + {0x1575D64B,WrapI_IU,"sceAtracLowLevelInitDecoder"}, + {0x0C116E1B,WrapI_IUUUU,"sceAtracLowLevelDecode"}, }; diff --git a/Core/HLE/sceKernel.cpp b/Core/HLE/sceKernel.cpp index c122f56524..e74464b129 100644 --- a/Core/HLE/sceKernel.cpp +++ b/Core/HLE/sceKernel.cpp @@ -601,6 +601,7 @@ const HLEFunction ThreadManForUser[] = {0x94416130,WrapU_UUUU,"sceKernelGetThreadmanIdList"}, {0x57CF62DD,WrapU_U,"sceKernelGetThreadmanIdType"}, + {0xBC80EC7C,WrapU_UUUU, "sceKernelExtendThreadStack"}, {0x82BC5777,WrapU64_V,"sceKernelGetSystemTimeWide"}, {0xdb738f35,WrapI_U,"sceKernelGetSystemTime"}, diff --git a/Core/HLE/sceKernelModule.cpp b/Core/HLE/sceKernelModule.cpp index 9e5386f451..4290b1e554 100644 --- a/Core/HLE/sceKernelModule.cpp +++ b/Core/HLE/sceKernelModule.cpp @@ -881,6 +881,12 @@ u32 sceKernelUnloadModule(u32 moduleId) return 0; } +u32 sceKernelStopUnloadSelfModuleWithStatus(u32 moduleId, u32 argSize, u32 argp, u32 statusAddr, u32 optionAddr) +{ + ERROR_LOG(HLE,"UNIMPL sceKernelStopUnloadSelfModuleWithStatus(%08x, %08x, %08x, %08x, %08x,)", moduleId, argSize, argp, statusAddr, optionAddr); + return 0; +} + u32 sceKernelGetModuleIdByAddress(u32 moduleAddr) { ERROR_LOG(HLE,"HACKIMPL sceKernelGetModuleIdByAddress(%08x)", PARAM(0)); @@ -1002,7 +1008,7 @@ const HLEFunction ModuleMgrForUser[] = {0x748CBED9,WrapU_UU,"sceKernelQueryModuleInfo"}, {0xd8b73127,&WrapU_U, "sceKernelGetModuleIdByAddress"}, {0xf0a26395,WrapU_V, "sceKernelGetModuleId"}, - {0x8f2df740,0,"sceKernelStopUnloadSelfModuleWithStatus"}, + {0x8f2df740,WrapU_UUUUU,"sceKernelStopUnloadSelfModuleWithStatus"}, {0xfef27dc1,&WrapU_CU , "sceKernelLoadModuleDNAS"}, }; diff --git a/Core/HLE/sceKernelThread.cpp b/Core/HLE/sceKernelThread.cpp index d2fb9ec04e..c31eab4350 100644 --- a/Core/HLE/sceKernelThread.cpp +++ b/Core/HLE/sceKernelThread.cpp @@ -2074,6 +2074,12 @@ void sceKernelGetCallbackCount() } } +u32 sceKernelExtendThreadStack(u32 cpu, u32 size, u32 entryAddr, u32 entryParameter) +{ + ERROR_LOG(HLE,"UNIMPL sceKernelExtendThreadStack(%08x, %08x, %08x, %08x)", cpu, size, entryAddr, entryParameter); + return 0; +} + void sceKernelReferCallbackStatus() { SceUID cbId = PARAM(0); diff --git a/Core/HLE/sceKernelThread.h b/Core/HLE/sceKernelThread.h index 74bb71d828..86a158b5a4 100644 --- a/Core/HLE/sceKernelThread.h +++ b/Core/HLE/sceKernelThread.h @@ -58,6 +58,7 @@ int sceKernelWaitThreadEndCB(SceUID threadID, u32 timeoutPtr); void sceKernelGetThreadExitStatus(); u32 sceKernelGetThreadmanIdType(u32); u32 sceKernelGetThreadmanIdList(u32 type, u32 readBufPtr, u32 readBufSize, u32 idCountPtr); +u32 sceKernelExtendThreadStack(u32 cpu, u32 size, u32 entryAddr, u32 entryParameter); struct SceKernelSysClock { u32 lo;