diff --git a/rpcs3/Emu/SysCalls/ModuleManager.cpp b/rpcs3/Emu/SysCalls/ModuleManager.cpp
index 492463da07..ba94ab5f8e 100644
--- a/rpcs3/Emu/SysCalls/ModuleManager.cpp
+++ b/rpcs3/Emu/SysCalls/ModuleManager.cpp
@@ -25,11 +25,15 @@ extern Module cellGifDec;
extern Module cellHttp;
extern Module cellHttps;
extern Module cellHttpUtil;
+extern Module cellImeJp;
extern Module cellJpgDec;
extern Module cellJpgEnc;
extern Module cellKey2char;
extern Module cellL10n;
extern Module cellMic;
+extern Module cellMusic;
+extern Module cellMusicDecode;
+extern Module cellMusicExport;
extern Module cellNetCtl;
extern Module cellOvis;
extern Module cellPamf;
@@ -56,6 +60,7 @@ extern Module cellSysmodule;
extern Module cellSysutil;
extern Module cellSysutilAp;
extern Module cellSysutilAvc2;
+extern Module cellSysutilMisc;
extern Module cellUsbd;
extern Module cellUsbPspcm;
extern Module cellUserInfo;
@@ -127,7 +132,7 @@ const g_module_list[] =
{ 0x0018, "cellPngDec", &cellPngDec },
{ 0x0019, "cellFont", &cellFont },
{ 0x001a, "cellFontFT", &cellFontFT },
- { 0x001b, "cellFreetype", nullptr },
+ { 0x001b, "cell_FreeType2", nullptr },
{ 0x001c, "cellUsbd", &cellUsbd },
{ 0x001d, "cellSail", &cellSail },
{ 0x001e, "cellL10n", &cellL10n },
@@ -160,7 +165,7 @@ const g_module_list[] =
{ 0x003d, "cellJpgEnc", &cellJpgEnc },
{ 0x003e, "cellGame", &cellGame },
{ 0x003f, "cellBGDLUtility", &cellBGDL },
- { 0x0040, "cellFreetypeTT", nullptr },
+ { 0x0040, "cell_FreeType2", nullptr },
{ 0x0041, "cellSysutilVideoUpload", nullptr },
{ 0x0042, "cellSysutilSysconfExt", nullptr },
{ 0x0043, "cellFiber", &cellFiber },
@@ -169,13 +174,13 @@ const g_module_list[] =
{ 0x0046, "cellVoice", &cellVoice },
{ 0x0047, "cellAdecCelp8", nullptr },
{ 0x0048, "cellCelp8Enc", &cellCelp8Enc },
- { 0x0049, "cellLicenseArea", nullptr },
- { 0x004a, "cellMusic2", nullptr },
+ { 0x0049, "cellSysutilMisc", &cellSysutilMisc },
+ { 0x004a, "cellMusicUtility", &cellMusic }, // 2
{ 0x004e, "cellScreenShotUtility", &cellScreenshot },
- { 0x004f, "cellMusicDecode", nullptr },
+ { 0x004f, "cellMusicDecodeUtility", &cellMusicDecode },
{ 0x0050, "cellSpursJq", &cellSpursJq },
{ 0x0052, "cellPngEnc", &cellPngEnc },
- { 0x0053, "cellMusicDecode2", nullptr },
+ { 0x0053, "cellMusicDecodeUtility", &cellMusicDecode }, // 2
{ 0x0055, "cellSync2", &cellSync2 },
{ 0x0056, "sceNpUtil", &sceNpUtil },
{ 0x0057, "cellRudp", &cellRudp },
@@ -187,12 +192,12 @@ const g_module_list[] =
{ 0xf01b, "cellAdecM2bc", nullptr },
{ 0xf01d, "cellAdecM4aac", nullptr },
{ 0xf01e, "cellAdecMp3", nullptr },
- { 0xf023, "cellImejp", nullptr },
- { 0xf028, "cellMusic", nullptr },
+ { 0xf023, "cellImeJpUtility", &cellImeJp },
+ { 0xf028, "cellMusicUtility", &cellMusic },
{ 0xf029, "cellPhotoExport", nullptr },
{ 0xf02a, "cellPrint", nullptr },
{ 0xf02b, "cellPhotoImport", nullptr },
- { 0xf02c, "cellMusicExport", nullptr },
+ { 0xf02c, "cellMusicExportUtility", &cellMusicExport },
{ 0xf02e, "cellPhotoDecode", nullptr },
{ 0xf02f, "cellSearch", &cellSearch },
{ 0xf030, "cellSysutilAvc2", &cellSysutilAvc2 },
diff --git a/rpcs3/Emu/SysCalls/Modules/cellImejp.cpp b/rpcs3/Emu/SysCalls/Modules/cellImejp.cpp
index f7e0966fd1..21f1cebe4e 100644
--- a/rpcs3/Emu/SysCalls/Modules/cellImejp.cpp
+++ b/rpcs3/Emu/SysCalls/Modules/cellImejp.cpp
@@ -1,8 +1,8 @@
#include "stdafx.h"
-#if 0
+#include "Emu/Memory/Memory.h"
+#include "Emu/SysCalls/Modules.h"
-void cellImejp_init();
-Module cellImejp(0xf023, cellImejp_init);
+extern Module cellImeJp;
// Return Codes
enum
@@ -16,291 +16,296 @@ enum
CELL_IMEJP_ERROR_OTHER = 0x8002bfff,
};
-int cellImeJpOpen()
+s32 cellImeJpOpen()
{
- UNIMPLEMENTED_FUNC(cellImejp);
+ UNIMPLEMENTED_FUNC(cellImeJp);
return CELL_OK;
}
-int cellImeJpOpen2()
+s32 cellImeJpOpen2()
{
- UNIMPLEMENTED_FUNC(cellImejp);
+ UNIMPLEMENTED_FUNC(cellImeJp);
return CELL_OK;
}
-int cellImeJpOpen3()
+s32 cellImeJpOpen3()
{
- UNIMPLEMENTED_FUNC(cellImejp);
+ UNIMPLEMENTED_FUNC(cellImeJp);
return CELL_OK;
}
-int cellImeJpClose()
+s32 cellImeJpClose()
{
- UNIMPLEMENTED_FUNC(cellImejp);
+ UNIMPLEMENTED_FUNC(cellImeJp);
return CELL_OK;
}
-int cellImeJpSetKanaInputMode()
+s32 cellImeJpSetKanaInputMode()
{
- UNIMPLEMENTED_FUNC(cellImejp);
+ UNIMPLEMENTED_FUNC(cellImeJp);
return CELL_OK;
}
-int cellImeJpSetInputCharType()
+s32 cellImeJpSetInputCharType()
{
- UNIMPLEMENTED_FUNC(cellImejp);
+ UNIMPLEMENTED_FUNC(cellImeJp);
return CELL_OK;
}
-int cellImeJpSetFixInputMode()
+s32 cellImeJpSetFixInputMode()
{
- UNIMPLEMENTED_FUNC(cellImejp);
+ UNIMPLEMENTED_FUNC(cellImeJp);
return CELL_OK;
}
-int cellImeJpReset()
+s32 cellImeJpAllowExtensionCharacters()
{
- UNIMPLEMENTED_FUNC(cellImejp);
+ UNIMPLEMENTED_FUNC(cellImeJp);
return CELL_OK;
}
-int cellImeJpGetStatus()
+s32 cellImeJpReset()
{
- UNIMPLEMENTED_FUNC(cellImejp);
+ UNIMPLEMENTED_FUNC(cellImeJp);
return CELL_OK;
}
-int cellImeJpEnterChar()
+s32 cellImeJpGetStatus()
{
- UNIMPLEMENTED_FUNC(cellImejp);
+ UNIMPLEMENTED_FUNC(cellImeJp);
return CELL_OK;
}
-int cellImeJpEnterCharExt()
+s32 cellImeJpEnterChar()
{
- UNIMPLEMENTED_FUNC(cellImejp);
+ UNIMPLEMENTED_FUNC(cellImeJp);
return CELL_OK;
}
-int cellImeJpEnterString()
+s32 cellImeJpEnterCharExt()
{
- UNIMPLEMENTED_FUNC(cellImejp);
+ UNIMPLEMENTED_FUNC(cellImeJp);
return CELL_OK;
}
-int cellImeJpEnterStringExt()
+s32 cellImeJpEnterString()
{
- UNIMPLEMENTED_FUNC(cellImejp);
+ UNIMPLEMENTED_FUNC(cellImeJp);
return CELL_OK;
}
-int cellImeJpModeCaretRight()
+s32 cellImeJpEnterStringExt()
{
- UNIMPLEMENTED_FUNC(cellImejp);
+ UNIMPLEMENTED_FUNC(cellImeJp);
return CELL_OK;
}
-int cellImeJpModeCaretLeft()
+s32 cellImeJpModeCaretRight()
{
- UNIMPLEMENTED_FUNC(cellImejp);
+ UNIMPLEMENTED_FUNC(cellImeJp);
return CELL_OK;
}
-int cellImeJpBackspaceWord()
+s32 cellImeJpModeCaretLeft()
{
- UNIMPLEMENTED_FUNC(cellImejp);
+ UNIMPLEMENTED_FUNC(cellImeJp);
return CELL_OK;
}
-int cellImeJpDeleteWord()
+s32 cellImeJpBackspaceWord()
{
- UNIMPLEMENTED_FUNC(cellImejp);
+ UNIMPLEMENTED_FUNC(cellImeJp);
return CELL_OK;
}
-int cellImeJpAllDeleteConvertString()
+s32 cellImeJpDeleteWord()
{
- UNIMPLEMENTED_FUNC(cellImejp);
+ UNIMPLEMENTED_FUNC(cellImeJp);
return CELL_OK;
}
-int cellImeJpConvertForward()
+s32 cellImeJpAllDeleteConvertString()
{
- UNIMPLEMENTED_FUNC(cellImejp);
+ UNIMPLEMENTED_FUNC(cellImeJp);
return CELL_OK;
}
-int cellImeJpConvertBackward()
+s32 cellImeJpConvertForward()
{
- UNIMPLEMENTED_FUNC(cellImejp);
+ UNIMPLEMENTED_FUNC(cellImeJp);
return CELL_OK;
}
-int cellImeJpCurrentPartConfirm()
+s32 cellImeJpConvertBackward()
{
- UNIMPLEMENTED_FUNC(cellImejp);
+ UNIMPLEMENTED_FUNC(cellImeJp);
return CELL_OK;
}
-int cellImeJpAllConfirm()
+s32 cellImeJpCurrentPartConfirm()
{
- UNIMPLEMENTED_FUNC(cellImejp);
+ UNIMPLEMENTED_FUNC(cellImeJp);
return CELL_OK;
}
-int cellImeJpConvertCancel()
+s32 cellImeJpAllConfirm()
{
- UNIMPLEMENTED_FUNC(cellImejp);
+ UNIMPLEMENTED_FUNC(cellImeJp);
return CELL_OK;
}
-int cellImeJpAllConvertCancel()
+s32 cellImeJpConvertCancel()
{
- UNIMPLEMENTED_FUNC(cellImejp);
+ UNIMPLEMENTED_FUNC(cellImeJp);
return CELL_OK;
}
-int cellImeJpExtendConvertArea()
+s32 cellImeJpAllConvertCancel()
{
- UNIMPLEMENTED_FUNC(cellImejp);
+ UNIMPLEMENTED_FUNC(cellImeJp);
return CELL_OK;
}
-int cellImeJpShortenConvertArea()
+s32 cellImeJpExtendConvertArea()
{
- UNIMPLEMENTED_FUNC(cellImejp);
+ UNIMPLEMENTED_FUNC(cellImeJp);
return CELL_OK;
}
-int cellImeJpTemporalConfirm()
+s32 cellImeJpShortenConvertArea()
{
- UNIMPLEMENTED_FUNC(cellImejp);
+ UNIMPLEMENTED_FUNC(cellImeJp);
return CELL_OK;
}
-int cellImeJpPostConvert()
+s32 cellImeJpTemporalConfirm()
{
- UNIMPLEMENTED_FUNC(cellImejp);
+ UNIMPLEMENTED_FUNC(cellImeJp);
return CELL_OK;
}
-int cellImeJpMoveFocusClause()
+s32 cellImeJpPostConvert()
{
- UNIMPLEMENTED_FUNC(cellImejp);
+ UNIMPLEMENTED_FUNC(cellImeJp);
return CELL_OK;
}
-int cellImeJpGetFocusTop()
+s32 cellImeJpMoveFocusClause()
{
- UNIMPLEMENTED_FUNC(cellImejp);
+ UNIMPLEMENTED_FUNC(cellImeJp);
return CELL_OK;
}
-int cellImeJpGetFocusLength()
+s32 cellImeJpGetFocusTop()
{
- UNIMPLEMENTED_FUNC(cellImejp);
+ UNIMPLEMENTED_FUNC(cellImeJp);
return CELL_OK;
}
-int cellImeJpGetConfirmYomiString()
+s32 cellImeJpGetFocusLength()
{
- UNIMPLEMENTED_FUNC(cellImejp);
+ UNIMPLEMENTED_FUNC(cellImeJp);
return CELL_OK;
}
-int cellImeJpGetConfirmString()
+s32 cellImeJpGetConfirmYomiString()
{
- UNIMPLEMENTED_FUNC(cellImejp);
+ UNIMPLEMENTED_FUNC(cellImeJp);
return CELL_OK;
}
-int cellImeJpGetConvertYomiString()
+s32 cellImeJpGetConfirmString()
{
- UNIMPLEMENTED_FUNC(cellImejp);
+ UNIMPLEMENTED_FUNC(cellImeJp);
return CELL_OK;
}
-int cellImeJpGetConvertString()
+s32 cellImeJpGetConvertYomiString()
{
- UNIMPLEMENTED_FUNC(cellImejp);
+ UNIMPLEMENTED_FUNC(cellImeJp);
return CELL_OK;
}
-int cellImeJpGetCandidateListSize()
+s32 cellImeJpGetConvertString()
{
- UNIMPLEMENTED_FUNC(cellImejp);
+ UNIMPLEMENTED_FUNC(cellImeJp);
return CELL_OK;
}
-int cellImeJpGetCandidateList()
+s32 cellImeJpGetCandidateListSize()
{
- UNIMPLEMENTED_FUNC(cellImejp);
+ UNIMPLEMENTED_FUNC(cellImeJp);
return CELL_OK;
}
-int cellImeJpGetCandidateSelect()
+s32 cellImeJpGetCandidateList()
{
- UNIMPLEMENTED_FUNC(cellImejp);
+ UNIMPLEMENTED_FUNC(cellImeJp);
return CELL_OK;
}
-int cellImeJpGetPredictList()
+s32 cellImeJpGetCandidateSelect()
{
- UNIMPLEMENTED_FUNC(cellImejp);
+ UNIMPLEMENTED_FUNC(cellImeJp);
return CELL_OK;
}
-int cellImeJpConfirmPrediction()
+s32 cellImeJpGetPredictList()
{
- UNIMPLEMENTED_FUNC(cellImejp);
+ UNIMPLEMENTED_FUNC(cellImeJp);
return CELL_OK;
}
-void cellImejp_init()
+s32 cellImeJpConfirmPrediction()
{
- REG_FUNC(cellImejp, cellImeJpOpen);
- REG_FUNC(cellImejp, cellImeJpOpen2);
- REG_FUNC(cellImejp, cellImeJpOpen3);
- REG_FUNC(cellImejp, cellImeJpClose);
-
- REG_FUNC(cellImejp, cellImeJpSetKanaInputMode);
- REG_FUNC(cellImejp, cellImeJpSetInputCharType);
- REG_FUNC(cellImejp, cellImeJpSetFixInputMode);
- //cellImejp.AddFunc(, cellImeJpAllowExtensionCharacters);
- REG_FUNC(cellImejp, cellImeJpReset);
-
- REG_FUNC(cellImejp, cellImeJpGetStatus);
-
- REG_FUNC(cellImejp, cellImeJpEnterChar);
- REG_FUNC(cellImejp, cellImeJpEnterCharExt);
- REG_FUNC(cellImejp, cellImeJpEnterString);
- REG_FUNC(cellImejp, cellImeJpEnterStringExt);
- REG_FUNC(cellImejp, cellImeJpModeCaretRight);
- REG_FUNC(cellImejp, cellImeJpModeCaretLeft);
- REG_FUNC(cellImejp, cellImeJpBackspaceWord);
- REG_FUNC(cellImejp, cellImeJpDeleteWord);
- REG_FUNC(cellImejp, cellImeJpAllDeleteConvertString);
- REG_FUNC(cellImejp, cellImeJpConvertForward);
- REG_FUNC(cellImejp, cellImeJpConvertBackward);
- REG_FUNC(cellImejp, cellImeJpCurrentPartConfirm);
- REG_FUNC(cellImejp, cellImeJpAllConfirm);
- REG_FUNC(cellImejp, cellImeJpConvertCancel);
- REG_FUNC(cellImejp, cellImeJpAllConvertCancel);
- REG_FUNC(cellImejp, cellImeJpExtendConvertArea);
- REG_FUNC(cellImejp, cellImeJpShortenConvertArea);
- REG_FUNC(cellImejp, cellImeJpTemporalConfirm);
- REG_FUNC(cellImejp, cellImeJpPostConvert);
- REG_FUNC(cellImejp, cellImeJpMoveFocusClause);
- REG_FUNC(cellImejp, cellImeJpGetFocusTop);
- REG_FUNC(cellImejp, cellImeJpGetFocusLength);
- REG_FUNC(cellImejp, cellImeJpGetConfirmYomiString);
- REG_FUNC(cellImejp, cellImeJpGetConfirmString);
- REG_FUNC(cellImejp, cellImeJpGetConvertYomiString);
- REG_FUNC(cellImejp, cellImeJpGetConvertString);
- REG_FUNC(cellImejp, cellImeJpGetCandidateListSize);
- REG_FUNC(cellImejp, cellImeJpGetCandidateList);
- REG_FUNC(cellImejp, cellImeJpGetCandidateSelect);
- REG_FUNC(cellImejp, cellImeJpGetPredictList);
- REG_FUNC(cellImejp, cellImeJpConfirmPrediction);
+ UNIMPLEMENTED_FUNC(cellImeJp);
+ return CELL_OK;
}
-#endif
+
+Module cellImeJp("cellImeJp", []()
+{
+ REG_FUNC(cellImeJp, cellImeJpOpen);
+ REG_FUNC(cellImeJp, cellImeJpOpen2);
+ REG_FUNC(cellImeJp, cellImeJpOpen3);
+ REG_FUNC(cellImeJp, cellImeJpClose);
+
+ REG_FUNC(cellImeJp, cellImeJpSetKanaInputMode);
+ REG_FUNC(cellImeJp, cellImeJpSetInputCharType);
+ REG_FUNC(cellImeJp, cellImeJpSetFixInputMode);
+ REG_FUNC(cellImeJp, cellImeJpAllowExtensionCharacters);
+ REG_FUNC(cellImeJp, cellImeJpReset);
+
+ REG_FUNC(cellImeJp, cellImeJpGetStatus);
+
+ REG_FUNC(cellImeJp, cellImeJpEnterChar);
+ REG_FUNC(cellImeJp, cellImeJpEnterCharExt);
+ REG_FUNC(cellImeJp, cellImeJpEnterString);
+ REG_FUNC(cellImeJp, cellImeJpEnterStringExt);
+ REG_FUNC(cellImeJp, cellImeJpModeCaretRight);
+ REG_FUNC(cellImeJp, cellImeJpModeCaretLeft);
+ REG_FUNC(cellImeJp, cellImeJpBackspaceWord);
+ REG_FUNC(cellImeJp, cellImeJpDeleteWord);
+ REG_FUNC(cellImeJp, cellImeJpAllDeleteConvertString);
+ REG_FUNC(cellImeJp, cellImeJpConvertForward);
+ REG_FUNC(cellImeJp, cellImeJpConvertBackward);
+ REG_FUNC(cellImeJp, cellImeJpCurrentPartConfirm);
+ REG_FUNC(cellImeJp, cellImeJpAllConfirm);
+ REG_FUNC(cellImeJp, cellImeJpConvertCancel);
+ REG_FUNC(cellImeJp, cellImeJpAllConvertCancel);
+ REG_FUNC(cellImeJp, cellImeJpExtendConvertArea);
+ REG_FUNC(cellImeJp, cellImeJpShortenConvertArea);
+ REG_FUNC(cellImeJp, cellImeJpTemporalConfirm);
+ REG_FUNC(cellImeJp, cellImeJpPostConvert);
+ REG_FUNC(cellImeJp, cellImeJpMoveFocusClause);
+ REG_FUNC(cellImeJp, cellImeJpGetFocusTop);
+ REG_FUNC(cellImeJp, cellImeJpGetFocusLength);
+ REG_FUNC(cellImeJp, cellImeJpGetConfirmYomiString);
+ REG_FUNC(cellImeJp, cellImeJpGetConfirmString);
+ REG_FUNC(cellImeJp, cellImeJpGetConvertYomiString);
+ REG_FUNC(cellImeJp, cellImeJpGetConvertString);
+ REG_FUNC(cellImeJp, cellImeJpGetCandidateListSize);
+ REG_FUNC(cellImeJp, cellImeJpGetCandidateList);
+ REG_FUNC(cellImeJp, cellImeJpGetCandidateSelect);
+ REG_FUNC(cellImeJp, cellImeJpGetPredictList);
+ REG_FUNC(cellImeJp, cellImeJpConfirmPrediction);
+});
diff --git a/rpcs3/Emu/SysCalls/Modules/cellMusic.cpp b/rpcs3/Emu/SysCalls/Modules/cellMusic.cpp
new file mode 100644
index 0000000000..ed3b438b2d
--- /dev/null
+++ b/rpcs3/Emu/SysCalls/Modules/cellMusic.cpp
@@ -0,0 +1,142 @@
+#include "stdafx.h"
+#include "Emu/Memory/Memory.h"
+#include "Emu/SysCalls/Modules.h"
+
+extern Module cellMusic;
+
+s32 cellMusicGetSelectionContext()
+{
+ throw EXCEPTION("");
+}
+
+s32 cellMusicSetSelectionContext2()
+{
+ throw EXCEPTION("");
+}
+
+s32 cellMusicSetVolume2()
+{
+ throw EXCEPTION("");
+}
+
+s32 cellMusicGetContentsId()
+{
+ throw EXCEPTION("");
+}
+
+s32 cellMusicSetSelectionContext()
+{
+ throw EXCEPTION("");
+}
+
+s32 cellMusicInitialize2SystemWorkload()
+{
+ throw EXCEPTION("");
+}
+
+s32 cellMusicGetPlaybackStatus2()
+{
+ throw EXCEPTION("");
+}
+
+s32 cellMusicGetContentsId2()
+{
+ throw EXCEPTION("");
+}
+
+s32 cellMusicFinalize()
+{
+ throw EXCEPTION("");
+}
+
+s32 cellMusicInitializeSystemWorkload()
+{
+ throw EXCEPTION("");
+}
+
+s32 cellMusicInitialize()
+{
+ throw EXCEPTION("");
+}
+
+s32 cellMusicFinalize2()
+{
+ throw EXCEPTION("");
+}
+
+s32 cellMusicGetSelectionContext2()
+{
+ throw EXCEPTION("");
+}
+
+s32 cellMusicGetVolume()
+{
+ throw EXCEPTION("");
+}
+
+s32 cellMusicGetPlaybackStatus()
+{
+ throw EXCEPTION("");
+}
+
+s32 cellMusicSetPlaybackCommand2()
+{
+ throw EXCEPTION("");
+}
+
+s32 cellMusicSetPlaybackCommand()
+{
+ throw EXCEPTION("");
+}
+
+s32 cellMusicSelectContents2()
+{
+ throw EXCEPTION("");
+}
+
+s32 cellMusicSelectContents()
+{
+ throw EXCEPTION("");
+}
+
+s32 cellMusicInitialize2()
+{
+ throw EXCEPTION("");
+}
+
+s32 cellMusicSetVolume()
+{
+ throw EXCEPTION("");
+}
+
+s32 cellMusicGetVolume2()
+{
+ throw EXCEPTION("");
+}
+
+
+Module cellMusic("cellMusic", []()
+{
+ REG_FUNC(cellMusic, cellMusicGetSelectionContext);
+ REG_FUNC(cellMusic, cellMusicSetSelectionContext2);
+ REG_FUNC(cellMusic, cellMusicSetVolume2);
+ REG_FUNC(cellMusic, cellMusicGetContentsId);
+ REG_FUNC(cellMusic, cellMusicSetSelectionContext);
+ REG_FUNC(cellMusic, cellMusicInitialize2SystemWorkload);
+ REG_FUNC(cellMusic, cellMusicGetPlaybackStatus2);
+ REG_FUNC(cellMusic, cellMusicGetContentsId2);
+ REG_FUNC(cellMusic, cellMusicFinalize);
+ REG_FUNC(cellMusic, cellMusicInitializeSystemWorkload);
+ REG_FUNC(cellMusic, cellMusicInitialize);
+ REG_FUNC(cellMusic, cellMusicFinalize2);
+ REG_FUNC(cellMusic, cellMusicGetSelectionContext2);
+ REG_FUNC(cellMusic, cellMusicGetVolume);
+ REG_FUNC(cellMusic, cellMusicGetPlaybackStatus);
+ REG_FUNC(cellMusic, cellMusicSetPlaybackCommand2);
+ REG_FUNC(cellMusic, cellMusicSetPlaybackCommand);
+ REG_FUNC(cellMusic, cellMusicSelectContents2);
+ REG_FUNC(cellMusic, cellMusicSelectContents);
+ REG_FUNC(cellMusic, cellMusicInitialize2);
+ REG_FUNC(cellMusic, cellMusicSetVolume);
+ REG_FUNC(cellMusic, cellMusicGetVolume2);
+});
diff --git a/rpcs3/Emu/SysCalls/Modules/cellMusicDecode.cpp b/rpcs3/Emu/SysCalls/Modules/cellMusicDecode.cpp
index da47cfdcef..f0fbb5dcd7 100644
--- a/rpcs3/Emu/SysCalls/Modules/cellMusicDecode.cpp
+++ b/rpcs3/Emu/SysCalls/Modules/cellMusicDecode.cpp
@@ -1,8 +1,8 @@
#include "stdafx.h"
-#if 0
+#include "Emu/Memory/Memory.h"
+#include "Emu/SysCalls/Modules.h"
-void cellMusicDecode_init();
-Module cellMusicDecode(0x004f, cellMusicDecode_init);
+extern Module cellMusicDecode;
// Return Codes
enum
@@ -24,67 +24,128 @@ enum
CELL_MUSIC_DECODE_ERROR_GENERIC = 0x8002C1FF,
};
-int cellMusicDecodeInitialize()
+s32 cellMusicDecodeInitialize()
{
UNIMPLEMENTED_FUNC(cellMusicDecode);
return CELL_OK;
}
-int cellMusicDecodeInitializeSystemWorkload()
+s32 cellMusicDecodeInitializeSystemWorkload()
{
UNIMPLEMENTED_FUNC(cellMusicDecode);
return CELL_OK;
}
-int cellMusicDecodeFinalize()
+s32 cellMusicDecodeFinalize()
{
UNIMPLEMENTED_FUNC(cellMusicDecode);
return CELL_OK;
}
-int cellMusicDecodeSelectContents()
+s32 cellMusicDecodeSelectContents()
{
UNIMPLEMENTED_FUNC(cellMusicDecode);
return CELL_OK;
}
-int cellMusicDecodeSetDecodeCommand()
+s32 cellMusicDecodeSetDecodeCommand()
{
UNIMPLEMENTED_FUNC(cellMusicDecode);
return CELL_OK;
}
-int cellMusicDecodeGetDecodeStatus()
+s32 cellMusicDecodeGetDecodeStatus()
{
UNIMPLEMENTED_FUNC(cellMusicDecode);
return CELL_OK;
}
-int cellMusicDecodeRead()
+s32 cellMusicDecodeRead()
{
UNIMPLEMENTED_FUNC(cellMusicDecode);
return CELL_OK;
}
-int cellMusicDecodeGetSelectionContext()
+s32 cellMusicDecodeGetSelectionContext()
{
UNIMPLEMENTED_FUNC(cellMusicDecode);
return CELL_OK;
}
-int cellMusicDecodeSetSelectionContext()
+s32 cellMusicDecodeSetSelectionContext()
{
UNIMPLEMENTED_FUNC(cellMusicDecode);
return CELL_OK;
}
-int cellMusicDecodeGetContentsId()
+s32 cellMusicDecodeGetContentsId()
{
UNIMPLEMENTED_FUNC(cellMusicDecode);
return CELL_OK;
}
-void cellMusicDecode_init()
+s32 cellMusicDecodeInitialize2()
+{
+ UNIMPLEMENTED_FUNC(cellMusicDecode);
+ return CELL_OK;
+}
+
+s32 cellMusicDecodeInitialize2SystemWorkload()
+{
+ UNIMPLEMENTED_FUNC(cellMusicDecode);
+ return CELL_OK;
+}
+
+s32 cellMusicDecodeFinalize2()
+{
+ UNIMPLEMENTED_FUNC(cellMusicDecode);
+ return CELL_OK;
+}
+
+s32 cellMusicDecodeSelectContents2()
+{
+ UNIMPLEMENTED_FUNC(cellMusicDecode);
+ return CELL_OK;
+}
+
+s32 cellMusicDecodeSetDecodeCommand2()
+{
+ UNIMPLEMENTED_FUNC(cellMusicDecode);
+ return CELL_OK;
+}
+
+s32 cellMusicDecodeGetDecodeStatus2()
+{
+ UNIMPLEMENTED_FUNC(cellMusicDecode);
+ return CELL_OK;
+}
+
+s32 cellMusicDecodeRead2()
+{
+ UNIMPLEMENTED_FUNC(cellMusicDecode);
+ return CELL_OK;
+}
+
+s32 cellMusicDecodeGetSelectionContext2()
+{
+ UNIMPLEMENTED_FUNC(cellMusicDecode);
+ return CELL_OK;
+}
+
+s32 cellMusicDecodeSetSelectionContext2()
+{
+ UNIMPLEMENTED_FUNC(cellMusicDecode);
+ return CELL_OK;
+}
+
+s32 cellMusicDecodeGetContentsId2()
+{
+ UNIMPLEMENTED_FUNC(cellMusicDecode);
+ return CELL_OK;
+}
+
+
+Module cellMusicDecode("cellMusicDecode", []()
{
REG_FUNC(cellMusicDecode, cellMusicDecodeInitialize);
REG_FUNC(cellMusicDecode, cellMusicDecodeInitializeSystemWorkload);
@@ -96,5 +157,15 @@ void cellMusicDecode_init()
REG_FUNC(cellMusicDecode, cellMusicDecodeGetSelectionContext);
REG_FUNC(cellMusicDecode, cellMusicDecodeSetSelectionContext);
REG_FUNC(cellMusicDecode, cellMusicDecodeGetContentsId);
-}
-#endif
+
+ REG_FUNC(cellMusicDecode, cellMusicDecodeInitialize2);
+ REG_FUNC(cellMusicDecode, cellMusicDecodeInitialize2SystemWorkload);
+ REG_FUNC(cellMusicDecode, cellMusicDecodeFinalize2);
+ REG_FUNC(cellMusicDecode, cellMusicDecodeSelectContents2);
+ REG_FUNC(cellMusicDecode, cellMusicDecodeSetDecodeCommand2);
+ REG_FUNC(cellMusicDecode, cellMusicDecodeGetDecodeStatus2);
+ REG_FUNC(cellMusicDecode, cellMusicDecodeRead2);
+ REG_FUNC(cellMusicDecode, cellMusicDecodeGetSelectionContext2);
+ REG_FUNC(cellMusicDecode, cellMusicDecodeSetSelectionContext2);
+ REG_FUNC(cellMusicDecode, cellMusicDecodeGetContentsId2);
+});
diff --git a/rpcs3/Emu/SysCalls/Modules/cellMusicExport.cpp b/rpcs3/Emu/SysCalls/Modules/cellMusicExport.cpp
index 0eccd57292..571a4a5e88 100644
--- a/rpcs3/Emu/SysCalls/Modules/cellMusicExport.cpp
+++ b/rpcs3/Emu/SysCalls/Modules/cellMusicExport.cpp
@@ -1,8 +1,8 @@
#include "stdafx.h"
-#if 0
+#include "Emu/Memory/Memory.h"
+#include "Emu/SysCalls/Modules.h"
-void cellMusicExport_init();
-Module cellMusicExport(0xf02c, cellMusicExport_init);
+extern Module cellMusicExport;
// Return Codes
enum
@@ -21,42 +21,41 @@ enum
CELL_MUSIC_EXPORT_UTIL_ERROR_INITIALIZE = 0x8002c60a,
};
-int cellMusicExportInitialize()
+s32 cellMusicExportInitialize()
{
UNIMPLEMENTED_FUNC(cellMusicExport);
return CELL_OK;
}
-int cellMusicExportInitialize2()
+s32 cellMusicExportInitialize2()
{
UNIMPLEMENTED_FUNC(cellMusicExport);
return CELL_OK;
}
-int cellMusicExportFinalize()
+s32 cellMusicExportFinalize()
{
UNIMPLEMENTED_FUNC(cellMusicExport);
return CELL_OK;
}
-int cellMusicExportFromFile()
+s32 cellMusicExportFromFile()
{
UNIMPLEMENTED_FUNC(cellMusicExport);
return CELL_OK;
}
-int cellMusicExportProgress()
+s32 cellMusicExportProgress()
{
UNIMPLEMENTED_FUNC(cellMusicExport);
return CELL_OK;
}
-void cellMusicExport_init()
+Module cellMusicExport("cellMusicExport", []()
{
REG_FUNC(cellMusicExport, cellMusicExportInitialize);
REG_FUNC(cellMusicExport, cellMusicExportInitialize2);
REG_FUNC(cellMusicExport, cellMusicExportFinalize);
REG_FUNC(cellMusicExport, cellMusicExportFromFile);
REG_FUNC(cellMusicExport, cellMusicExportProgress);
-}
-#endif
+});
diff --git a/rpcs3/Emu/SysCalls/Modules/cellSysutilMisc.cpp b/rpcs3/Emu/SysCalls/Modules/cellSysutilMisc.cpp
new file mode 100644
index 0000000000..7658cbee4c
--- /dev/null
+++ b/rpcs3/Emu/SysCalls/Modules/cellSysutilMisc.cpp
@@ -0,0 +1,15 @@
+#include "stdafx.h"
+#include "Emu/Memory/Memory.h"
+#include "Emu/SysCalls/Modules.h"
+
+extern Module cellSysutilMisc;
+
+s32 cellSysutilGetLicenseArea()
+{
+ throw EXCEPTION("");
+}
+
+Module cellSysutilMisc("cellSysutilMisc", []()
+{
+ REG_FUNC(cellSysutilMisc, cellSysutilGetLicenseArea);
+});
diff --git a/rpcs3/emucore.vcxproj b/rpcs3/emucore.vcxproj
index 70ae05db53..57ffc2c322 100644
--- a/rpcs3/emucore.vcxproj
+++ b/rpcs3/emucore.vcxproj
@@ -48,6 +48,7 @@
+
@@ -263,6 +264,7 @@
+
diff --git a/rpcs3/emucore.vcxproj.filters b/rpcs3/emucore.vcxproj.filters
index 9360ffc050..54855a1986 100644
--- a/rpcs3/emucore.vcxproj.filters
+++ b/rpcs3/emucore.vcxproj.filters
@@ -413,15 +413,6 @@
Emu\SysCalls
-
- Emu\SysCalls\currently_unused
-
-
- Emu\SysCalls\currently_unused
-
-
- Emu\SysCalls\currently_unused
-
Emu\SysCalls\currently_unused
@@ -899,6 +890,21 @@
Emu\SysCalls\Modules
+
+ Emu\SysCalls\Modules
+
+
+ Emu\SysCalls\Modules
+
+
+ Emu\SysCalls\Modules
+
+
+ Emu\SysCalls\Modules
+
+
+ Emu\SysCalls\Modules
+