diff --git a/CMakeLists.txt b/CMakeLists.txt index 410e10f77f92..3d88f037b23f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1187,6 +1187,8 @@ add_library(${CoreLibName} ${CoreLinkType} Core/HLE/sceDisplay.h Core/HLE/sceDmac.cpp Core/HLE/sceDmac.h + Core/HLE/sceG729.cpp + Core/HLE/sceG729.h Core/HLE/sceGameUpdate.cpp Core/HLE/sceGameUpdate.h Core/HLE/sceGe.cpp diff --git a/Core/Core.vcxproj b/Core/Core.vcxproj index c426cf335be3..72d2e69dc509 100644 --- a/Core/Core.vcxproj +++ b/Core/Core.vcxproj @@ -226,6 +226,7 @@ + @@ -478,6 +479,7 @@ + diff --git a/Core/Core.vcxproj.filters b/Core/Core.vcxproj.filters index 22b3971cff45..2aeb893964cf 100644 --- a/Core/Core.vcxproj.filters +++ b/Core/Core.vcxproj.filters @@ -195,6 +195,9 @@ HLE\Libraries + + HLE\Libraries + HLE\Libraries @@ -715,6 +718,9 @@ HLE\Libraries + + HLE\Libraries + HLE\Libraries diff --git a/Core/HLE/sceG729.cpp b/Core/HLE/sceG729.cpp new file mode 100644 index 000000000000..264bcc6efbf4 --- /dev/null +++ b/Core/HLE/sceG729.cpp @@ -0,0 +1,40 @@ +// Copyright (c) 2012- PPSSPP Project. + +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, version 2.0 or later versions. + +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License 2.0 for more details. + +// A copy of the GPL 2.0 should have been included with the program. +// If not, see http://www.gnu.org/licenses/ + +// Official git repository and contact information can be found at +// https://github.com/hrydgard/ppsspp and http://www.ppsspp.org/. + +#include "Core/HLE/HLE.h" +#include "Core/HLE/FunctionWrappers.h" + +const HLEFunction sceG729[] = +{ + { 0x13F1028A, 0, "sceG729DecodeExit" }, + { 0x17C11696, 0, "sceG729DecodeInitResource" }, + { 0x3489D1F3, 0, "sceG729DecodeCore" }, + { 0x55E14F75, 0, "sceG729DecodeInit" }, + { 0x5A409D1B, 0, "sceG729EncodeExit" }, + { 0x74804D93, 0, "sceG729DecodeReset" }, + { 0x890B86AE, 0, "sceG729DecodeTermResource" }, + { 0x8C87A2CA, 0, "sceG729EncodeReset" }, + { 0x94714D50, 0, "sceG729EncodeTermResource" }, + { 0xAA1E5462, 0, "sceG729EncodeInitResource" }, + { 0xCFCD367C, 0, "sceG729EncodeInit" }, + { 0xDB7259D5, 0, "sceG729EncodeCore" }, +}; + +void Register_sceG729() +{ + RegisterModule("sceG729", ARRAY_SIZE(sceG729), sceG729); +} diff --git a/Core/HLE/sceG729.h b/Core/HLE/sceG729.h new file mode 100644 index 000000000000..057c19c6dbd4 --- /dev/null +++ b/Core/HLE/sceG729.h @@ -0,0 +1,20 @@ +// Copyright (c) 2012- PPSSPP Project. + +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, version 2.0 or later versions. + +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License 2.0 for more details. + +// A copy of the GPL 2.0 should have been included with the program. +// If not, see http://www.gnu.org/licenses/ + +// Official git repository and contact information can be found at +// https://github.com/hrydgard/ppsspp and http://www.ppsspp.org/. + +#pragma once + +void Register_sceG729(); diff --git a/Core/HLE/sceUsb.cpp b/Core/HLE/sceUsb.cpp index eecb451fb518..c6758449524c 100644 --- a/Core/HLE/sceUsb.cpp +++ b/Core/HLE/sceUsb.cpp @@ -176,21 +176,12 @@ const HLEFunction sceUsbCam[] = { 0xF8847F60, 0, "sceUsbCamPollReadMicEnd" }, }; -const HLEFunction sceG729[] = -{ - { 0x13f1028a, 0, "sceUsbstorBootSetCapacity" }, - { 0x17c11696, 0, "sceUsbstorBootSetLoadAddr" }, - { 0x3489d1f3, 0, "sceUsbstorBootGetDataSize" }, - { 0x5a409d1b, 0, "sceUsbstorBootSetStatus" }, - { 0x594BBF95, 0, "sceUsbstorBootRegisterNotify" }, - { 0x594BBF95, 0, "sceUsbstorBootUnregisterNotify" }, -}; - void Register_sceUsb() { RegisterModule("sceUsbstor", ARRAY_SIZE(sceUsbstor), sceUsbstor); RegisterModule("sceUsbstorBoot", ARRAY_SIZE(sceUsbstorBoot), sceUsbstorBoot); RegisterModule("sceUsb", ARRAY_SIZE(sceUsb), sceUsb); + RegisterModule("sceG729", ARRAY_SIZE(sceG729), sceG729); } void Register_sceUsbCam() diff --git a/android/jni/Android.mk b/android/jni/Android.mk index ce10e5d81e7f..0e8d69c4d741 100644 --- a/android/jni/Android.mk +++ b/android/jni/Android.mk @@ -233,6 +233,7 @@ EXEC_AND_LIB_FILES := \ $(SRC)/Core/HLE/sceDeflt.cpp \ $(SRC)/Core/HLE/sceDisplay.cpp \ $(SRC)/Core/HLE/sceDmac.cpp \ + $(SRC)/Core/HLE/sceG729 \ $(SRC)/Core/HLE/sceGe.cpp \ $(SRC)/Core/HLE/sceFont.cpp \ $(SRC)/Core/HLE/sceHeap.cpp \