Add dummy sceCcc

Fix loading of Gensou Chronicle
This commit is contained in:
sum2012 2013-06-30 20:21:56 +08:00
parent f5da5f4cf6
commit c2091de3d5
8 changed files with 108 additions and 0 deletions

View File

@ -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

View File

@ -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

View File

@ -194,6 +194,7 @@
<ClCompile Include="HLE\sceAtrac.cpp" />
<ClCompile Include="HLE\sceAudio.cpp" />
<ClCompile Include="HLE\sceAudiocodec.cpp" />
<ClCompile Include="HLE\sceCcc.cpp" />
<ClCompile Include="HLE\sceChnnlsv.cpp" />
<ClCompile Include="HLE\sceCtrl.cpp" />
<ClCompile Include="HLE\sceDeflt.cpp" />
@ -376,6 +377,7 @@
<ClInclude Include="HLE\sceAtrac.h" />
<ClInclude Include="HLE\sceAudio.h" />
<ClInclude Include="HLE\sceAudiocodec.h" />
<ClInclude Include="HLE\sceCcc.h" />
<ClInclude Include="HLE\sceCtrl.h" />
<ClInclude Include="HLE\sceChnnlsv.h" />
<ClInclude Include="HLE\sceDeflt.h" />

View File

@ -165,6 +165,9 @@
<ClCompile Include="HLE\sceAudio.cpp">
<Filter>HLE\Libraries</Filter>
</ClCompile>
<ClCompile Include="HLE\sceCcc.cpp">
<Filter>HLE\Libraries</Filter>
</ClCompile>
<ClCompile Include="HLE\sceCtrl.cpp">
<Filter>HLE\Libraries</Filter>
</ClCompile>
@ -546,6 +549,9 @@
<ClInclude Include="HLE\sceAudio.h">
<Filter>HLE\Libraries</Filter>
</ClInclude>
<ClInclude Include="HLE\sceCcc.h">
<Filter>HLE\Libraries</Filter>
</ClInclude>
<ClInclude Include="HLE\sceCtrl.h">
<Filter>HLE\Libraries</Filter>
</ClInclude>

View File

@ -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();

72
Core/HLE/sceCcc.cpp Normal file
View File

@ -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>, "sceCccUTF8toUTF16"},
{0x4BDEB2A8, WrapI_I<sceCccStrlenUTF16>, "sceCccStrlenUTF16"},
{0x6F82EE03, WrapI_III<sceCccUTF8toSJIS>, "sceCccUTF8toSJIS"},
{0xB4D1CBBF, WrapI_II<sceCccSetTable>, "sceCccSetTable"},
{0xBEB47224, WrapI_III<sceCccSJIStoUTF16>, "sceCccSJIStoUTF16"},
{0xF1B73D12, WrapI_V<sceCccUTF16toSJIS>, "sceCccUTF16toSJIS"},
};
void Register_sceCcc()
{
RegisterModule("sceCcc", ARRAY_SIZE(sceCcc), sceCcc);
}

22
Core/HLE/sceCcc.h Normal file
View File

@ -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();

View File

@ -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 \