diff --git a/source/os_functions.c b/source/os_functions.c index f7db305..c79c2c7 100644 --- a/source/os_functions.c +++ b/source/os_functions.c @@ -118,6 +118,8 @@ EXPORT_DECL(bool, DisassemblePPCOpcode, u32 *, char *, u32, DisasmGetSym, u32); EXPORT_DECL(void*, OSGetSymbolName, u32, u8 *, u32); EXPORT_DECL(int, OSIsDebuggerInitialized, void); +EXPORT_DECL(bool, OSGetSharedData, u32 type, u32 unk_r4, u8 *addr, u32 *size); + //!---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- //! Memory functions //!---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- @@ -150,7 +152,9 @@ EXPORT_DECL(s32, OSGetMemBound, s32 type, u32 * startAddress, u32 * size); //!---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- EXPORT_DECL(s32, MCP_Open, void); EXPORT_DECL(s32, MCP_Close, s32 handle); -EXPORT_DECL(s32, MCP_GetOwnTitleInfo, s32 handle, MCPTitleListType * data); +EXPORT_DECL(s32, MCP_TitleCount, s32 handle); +EXPORT_DECL(s32, MCP_TitleList, s32 handle, s32 *res, void *data, s32 count); +EXPORT_DECL(s32, MCP_GetOwnTitleInfo, s32 handle, void *data); EXPORT_DECL(void*, MCP_GetDeviceId, s32 handle, u32 * id); //!---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- @@ -285,6 +289,8 @@ void InitOSFunctionPointers(void){ OS_FIND_EXPORT(coreinit_handle, DisassemblePPCOpcode); OS_FIND_EXPORT(coreinit_handle, OSGetSymbolName); OS_FIND_EXPORT(coreinit_handle, OSIsDebuggerInitialized); + + OS_FIND_EXPORT(coreinit_handle, OSGetSharedData); //!---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- //! Thread functions //!---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- @@ -336,6 +342,8 @@ void InitOSFunctionPointers(void){ //!---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- OS_FIND_EXPORT(coreinit_handle, MCP_Open); OS_FIND_EXPORT(coreinit_handle, MCP_Close); + OS_FIND_EXPORT(coreinit_handle, MCP_TitleCount); + OS_FIND_EXPORT(coreinit_handle, MCP_TitleList); OS_FIND_EXPORT(coreinit_handle, MCP_GetOwnTitleInfo); OS_FIND_EXPORT(coreinit_handle, MCP_GetDeviceId); diff --git a/source/os_functions.h b/source/os_functions.h index c96757a..18404d3 100644 --- a/source/os_functions.h +++ b/source/os_functions.h @@ -201,6 +201,8 @@ extern bool (*DisassemblePPCOpcode)(u32 *opcode, char *outputBuffer, u32 bufferS extern void *(*OSGetSymbolName)(u32 addr, u8 *symbolName, u32 nameBufSize); extern int (*OSIsDebuggerInitialized)(void); +extern bool (*OSGetSharedData)(u32 type, u32 unk_r4, u8 *addr, u32 *size); + //!---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- //! Memory functions //!---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- @@ -231,7 +233,9 @@ extern s32 (* OSGetMemBound)(s32 type, u32 * startAddress, u32 * size); //!---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- extern s32 (* MCP_Open)(void); extern s32 (* MCP_Close)(s32 handle); -extern s32 (* MCP_GetOwnTitleInfo)(s32 handle, MCPTitleListType * data); +extern s32 (* MCP_TitleCount)(s32 handle); +extern s32 (* MCP_TitleList)(s32 handle, s32 *res, void *data, s32 count); +extern s32 (* MCP_GetOwnTitleInfo)(s32 handle, void *data); extern void* (* MCP_GetDeviceId)(s32 handle, u32 * id); //!----------------------------------------------------------------------------------------------------------------------------------------------------------------------------