diff --git a/CMakeLists.txt b/CMakeLists.txt index a8fecb0392..202a196a7f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -790,6 +790,8 @@ add_library(${CoreLibName} ${CoreLinkType} Core/HLE/sceAudiocodec.cpp Core/HLE/sceAudiocodec.h Core/HLE/sceAudio.h + Core/HLE/sceCcc.h + Core/HLE/sceCcc.cpp Core/HLE/sceChnnlsv.cpp Core/HLE/sceChnnlsv.h Core/HLE/sceCtrl.cpp diff --git a/Core/CMakeLists.txt b/Core/CMakeLists.txt index 38643ffa0e..bb185990cf 100644 --- a/Core/CMakeLists.txt +++ b/Core/CMakeLists.txt @@ -27,6 +27,7 @@ set(SRCS HLE/sceAtrac.cpp HLE/__sceAudio.cpp HLE/sceAudio.cpp + HLE/sceCcc.cpp HLE/sceChnnlsv.cpp HLE/sceCtrl.cpp HLE/sceDeflt.cpp diff --git a/Core/Core.vcxproj b/Core/Core.vcxproj index e2fb23c1b0..e95ca005d2 100644 --- a/Core/Core.vcxproj +++ b/Core/Core.vcxproj @@ -194,6 +194,7 @@ + @@ -376,6 +377,7 @@ + diff --git a/Core/Core.vcxproj.filters b/Core/Core.vcxproj.filters index bf8e25e7ca..a71b4375b3 100644 --- a/Core/Core.vcxproj.filters +++ b/Core/Core.vcxproj.filters @@ -165,6 +165,9 @@ HLE\Libraries + + HLE\Libraries + HLE\Libraries @@ -546,6 +549,9 @@ HLE\Libraries + + HLE\Libraries + HLE\Libraries diff --git a/Core/HLE/HLETables.cpp b/Core/HLE/HLETables.cpp index 4b2713828b..ce795dfaa9 100644 --- a/Core/HLE/HLETables.cpp +++ b/Core/HLE/HLETables.cpp @@ -19,6 +19,7 @@ #include "HLETables.h" +#include "sceCcc.h" #include "sceCtrl.h" #include "sceDisplay.h" #include "sceHttp.h" @@ -230,6 +231,7 @@ void RegisterAllModules() { Register_StdioForUser(); Register_sceHprm(); + Register_sceCcc(); Register_sceCtrl(); Register_sceDisplay(); Register_sceAudio(); diff --git a/Core/HLE/sceCcc.cpp b/Core/HLE/sceCcc.cpp new file mode 100644 index 0000000000..32a88eb46d --- /dev/null +++ b/Core/HLE/sceCcc.cpp @@ -0,0 +1,72 @@ +// 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/Reporting.h" + +int sceCccUTF8toUTF16() +{ + ERROR_LOG_REPORT(HLE, "UNIMPL sceCccUTF8toUTF16"); + return 0; +} + +int sceCccStrlenUTF16(int strUTF16) +{ + ERROR_LOG_REPORT(HLE, "UNIMPL sceCccStrlenUTF16"); + return 0; +} + + +int sceCccUTF8toSJIS(int dstAddr, int dstSize, int srcAddr) +{ + ERROR_LOG_REPORT(HLE, "UNIMPL sceCccUTF8toSJIS"); + return 0; +} + +int sceCccSetTable(int jis2ucs, int ucs2jis) +{ + // Both tables jis2ucs and ucs2jis have a size of 0x20000 bytes + ERROR_LOG_REPORT(HLE, "UNIMPL sceCccSetTable"); + return 0; +} + +int sceCccSJIStoUTF16(int dstUTF16, int dstSize, int srcSJIS) +{ + ERROR_LOG_REPORT(HLE, "UNIMPL sceCccUTF8toSJIS"); + return 0; +} + +int sceCccUTF16toSJIS() +{ + ERROR_LOG_REPORT(HLE, "UNIMPL sceCccUTF8toUTF16"); + return 0; +} + +const HLEFunction sceCcc[] = +{ + {0x00D1378F, WrapI_V, "sceCccUTF8toUTF16"}, + {0x4BDEB2A8, WrapI_I, "sceCccStrlenUTF16"}, + {0x6F82EE03, WrapI_III, "sceCccUTF8toSJIS"}, + {0xB4D1CBBF, WrapI_II, "sceCccSetTable"}, + {0xBEB47224, WrapI_III, "sceCccSJIStoUTF16"}, + {0xF1B73D12, WrapI_V, "sceCccUTF16toSJIS"}, +}; + +void Register_sceCcc() +{ + RegisterModule("sceCcc", ARRAY_SIZE(sceCcc), sceCcc); +} diff --git a/Core/HLE/sceCcc.h b/Core/HLE/sceCcc.h new file mode 100644 index 0000000000..ae20dac87b --- /dev/null +++ b/Core/HLE/sceCcc.h @@ -0,0 +1,22 @@ +// 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 + +#include "HLE.h" + +void Register_sceCcc(); diff --git a/android/jni/Android.mk b/android/jni/Android.mk index e21132dfe9..a5599f8c35 100644 --- a/android/jni/Android.mk +++ b/android/jni/Android.mk @@ -220,6 +220,7 @@ LOCAL_SRC_FILES := \ $(SRC)/Core/HLE/sceAudio.cpp \ $(SRC)/Core/HLE/sceAudiocodec.cpp \ $(SRC)/Core/HLE/sceChnnlsv.cpp \ + $(SRC)/Core/HLE/sceCcc.cpp \ $(SRC)/Core/HLE/sceCtrl.cpp \ $(SRC)/Core/HLE/sceDeflt.cpp \ $(SRC)/Core/HLE/sceDisplay.cpp \