diff --git a/rpcs3/Emu/Cell/Modules/cellAudioOut.cpp b/rpcs3/Emu/Cell/Modules/cellAudioOut.cpp index 7990f4237a..c97263606f 100644 --- a/rpcs3/Emu/Cell/Modules/cellAudioOut.cpp +++ b/rpcs3/Emu/Cell/Modules/cellAudioOut.cpp @@ -232,6 +232,16 @@ s32 cellAudioOutSetCopyControl(u32 audioOut, u32 control) return CELL_OK; } +s32 cellAudioOutConfigure2() +{ + fmt::throw_exception("Unimplemented" HERE); +} + +s32 cellAudioOutGetConfiguration2() +{ + fmt::throw_exception("Unimplemented" HERE); +} + s32 cellAudioOutRegisterCallback() { fmt::throw_exception("Unimplemented" HERE); @@ -247,11 +257,13 @@ void cellSysutil_AudioOut_init() { REG_FUNC(cellSysutil, cellAudioOutGetState); REG_FUNC(cellSysutil, cellAudioOutConfigure); + REG_FUNC(cellSysutil, cellAudioOutConfigure2); REG_FUNC(cellSysutil, cellAudioOutGetSoundAvailability); REG_FUNC(cellSysutil, cellAudioOutGetSoundAvailability2); REG_FUNC(cellSysutil, cellAudioOutGetDeviceInfo); REG_FUNC(cellSysutil, cellAudioOutGetNumberOfDevice); REG_FUNC(cellSysutil, cellAudioOutGetConfiguration); + REG_FUNC(cellSysutil, cellAudioOutGetConfiguration2); REG_FUNC(cellSysutil, cellAudioOutSetCopyControl); REG_FUNC(cellSysutil, cellAudioOutRegisterCallback); REG_FUNC(cellSysutil, cellAudioOutUnregisterCallback); diff --git a/rpcs3/Emu/Cell/Modules/cellCamera.cpp b/rpcs3/Emu/Cell/Modules/cellCamera.cpp index 4ab8ddf5be..5afb4b14a7 100644 --- a/rpcs3/Emu/Cell/Modules/cellCamera.cpp +++ b/rpcs3/Emu/Cell/Modules/cellCamera.cpp @@ -374,6 +374,12 @@ s32 cellCameraOpen() // seems unused return CELL_OK; } +s32 cellCameraOpenAsync() +{ + UNIMPLEMENTED_FUNC(cellCamera); + return CELL_OK; +} + s32 cellCameraOpenEx(s32 dev_num, vm::ptr info) { cellCamera.todo("cellCameraOpenEx(dev_num=%d, type=*0x%x)", dev_num, info); @@ -476,6 +482,12 @@ s32 cellCameraClose(s32 dev_num) return CELL_OK; } +s32 cellCameraCloseAsync() +{ + UNIMPLEMENTED_FUNC(cellCamera); + return CELL_OK; +} + s32 cellCameraGetDeviceGUID(s32 dev_num, vm::ptr guid) { cellCamera.todo("cellCameraGetDeviceGUID(dev_num=%d, guid=*0x%x)", dev_num, guid); @@ -838,6 +850,12 @@ s32 cellCameraSetExtensionUnit(s32 dev_num, u16 value, u16 length, vm::ptr d return cellCameraCtrlExtensionUnit(dev_num, SET_CUR, value, length, data); } +s32 cellCameraSetContainer() +{ + UNIMPLEMENTED_FUNC(cellCamera); + return CELL_OK; +} + s32 cellCameraReset(s32 dev_num) { cellCamera.todo("cellCameraReset(dev_num=%d)", dev_num); @@ -874,6 +892,12 @@ s32 cellCameraReset(s32 dev_num) return CELL_OK; } +s32 cellCameraResetAsync() +{ + UNIMPLEMENTED_FUNC(cellCamera); + return CELL_OK; +} + s32 cellCameraStart(s32 dev_num) { cellCamera.todo("cellCameraStart(dev_num=%d)", dev_num); @@ -913,6 +937,12 @@ s32 cellCameraStart(s32 dev_num) return CELL_OK; } +s32 cellCameraStartAsync() +{ + UNIMPLEMENTED_FUNC(cellCamera); + return CELL_OK; +} + s32 cellCameraRead(s32 dev_num, vm::ptr frame_num, vm::ptr bytes_read) { cellCamera.todo("cellCameraRead(dev_num=%d, frame_num=*0x%x, bytes_read=*0x%x)", dev_num, frame_num, bytes_read); @@ -939,6 +969,12 @@ s32 cellCameraRead(s32 dev_num, vm::ptr frame_num, vm::ptr bytes_read) return CELL_OK; } +s32 cellCameraRead2() +{ + UNIMPLEMENTED_FUNC(cellCamera); + return CELL_OK; +} + s32 cellCameraReadEx(s32 dev_num, vm::ptr read) { cellCamera.todo("cellCameraReadEx(dev_num=%d, read=0x%x)", dev_num, read); @@ -1044,6 +1080,12 @@ s32 cellCameraStop(s32 dev_num) return CELL_OK; } +s32 cellCameraStopAsync() +{ + UNIMPLEMENTED_FUNC(cellCamera); + return CELL_OK; +} + s32 cellCameraSetNotifyEventQueue(u64 key) { cellCamera.todo("cellCameraSetNotifyEventQueue(key=0x%x)", key); @@ -1121,8 +1163,10 @@ DECLARE(ppu_module_manager::cellCamera)("cellCamera", []() REG_FUNC(cellCamera, cellCameraInit); REG_FUNC(cellCamera, cellCameraEnd); REG_FUNC(cellCamera, cellCameraOpen); // was "renamed", but exists + REG_FUNC(cellCamera, cellCameraOpenAsync); REG_FUNC(cellCamera, cellCameraOpenEx); REG_FUNC(cellCamera, cellCameraClose); + REG_FUNC(cellCamera, cellCameraCloseAsync); REG_FUNC(cellCamera, cellCameraGetDeviceGUID); REG_FUNC(cellCamera, cellCameraGetType); @@ -1140,13 +1184,18 @@ DECLARE(ppu_module_manager::cellCamera)("cellCamera", []() REG_FUNC(cellCamera, cellCameraCtrlExtensionUnit); REG_FUNC(cellCamera, cellCameraGetExtensionUnit); REG_FUNC(cellCamera, cellCameraSetExtensionUnit); + REG_FUNC(cellCamera, cellCameraSetContainer); REG_FUNC(cellCamera, cellCameraReset); + REG_FUNC(cellCamera, cellCameraResetAsync); REG_FUNC(cellCamera, cellCameraStart); + REG_FUNC(cellCamera, cellCameraStartAsync); REG_FUNC(cellCamera, cellCameraRead); + REG_FUNC(cellCamera, cellCameraRead2); REG_FUNC(cellCamera, cellCameraReadEx); REG_FUNC(cellCamera, cellCameraReadComplete); REG_FUNC(cellCamera, cellCameraStop); + REG_FUNC(cellCamera, cellCameraStopAsync); REG_FUNC(cellCamera, cellCameraSetNotifyEventQueue); REG_FUNC(cellCamera, cellCameraRemoveNotifyEventQueue); diff --git a/rpcs3/Emu/Cell/Modules/cellFont.cpp b/rpcs3/Emu/Cell/Modules/cellFont.cpp index bfa252d55f..57a138ef07 100644 --- a/rpcs3/Emu/Cell/Modules/cellFont.cpp +++ b/rpcs3/Emu/Cell/Modules/cellFont.cpp @@ -745,6 +745,11 @@ s32 cellFontControl() fmt::throw_exception("Unimplemented" HERE); } +s32 cellFontStatic() +{ + fmt::throw_exception("Unimplemented" HERE); +} + DECLARE(ppu_module_manager::cellFont)("cellFont", []() { @@ -831,4 +836,5 @@ DECLARE(ppu_module_manager::cellFont)("cellFont", []() REG_FUNC(cellFont, cellFontGetScalePoint); REG_FUNC(cellFont, cellFontGraphicsGetLineRGBA); REG_FUNC(cellFont, cellFontControl); + REG_FUNC(cellFont, cellFontStatic); }); diff --git a/rpcs3/Emu/Cell/Modules/cellFontFT.cpp b/rpcs3/Emu/Cell/Modules/cellFontFT.cpp index 97c84f639f..02ed3e2fcf 100644 --- a/rpcs3/Emu/Cell/Modules/cellFontFT.cpp +++ b/rpcs3/Emu/Cell/Modules/cellFontFT.cpp @@ -50,12 +50,24 @@ s32 FTCacheStream_CalcCacheIndexSize() return CELL_OK; } +s32 FTCacheStream_End() +{ + UNIMPLEMENTED_FUNC(cellFontFT); + return CELL_OK; +} + s32 FTCacheStream_Init() { UNIMPLEMENTED_FUNC(cellFontFT); return CELL_OK; } +s32 FTFaceH_Close() +{ + UNIMPLEMENTED_FUNC(cellFontFT); + return CELL_OK; +} + s32 FTFaceH_FontFamilyName() { UNIMPLEMENTED_FUNC(cellFontFT); @@ -110,6 +122,12 @@ s32 FTFaceH_GetBoundingBoxWidth() return CELL_OK; } +s32 FTFaceH_GetCompositeCodes() +{ + UNIMPLEMENTED_FUNC(cellFontFT); + return CELL_OK; +} + s32 FTFaceH_GetGlyphImage() { UNIMPLEMENTED_FUNC(cellFontFT); @@ -122,6 +140,12 @@ s32 FTFaceH_GetGlyphMetrics() return CELL_OK; } +s32 FTFaceH_GetKerning() +{ + UNIMPLEMENTED_FUNC(cellFontFT); + return CELL_OK; +} + s32 FTFaceH_GetMaxHorizontalAdvance() { UNIMPLEMENTED_FUNC(cellFontFT); @@ -140,12 +164,30 @@ s32 FTFaceH_GetRenderBufferSize() return CELL_OK; } +s32 FTFaceH_GetRenderEffectSlant() +{ + UNIMPLEMENTED_FUNC(cellFontFT); + return CELL_OK; +} + +s32 FTFaceH_GetRenderEffectWeight() +{ + UNIMPLEMENTED_FUNC(cellFontFT); + return CELL_OK; +} + s32 FTFaceH_GetRenderScale() { UNIMPLEMENTED_FUNC(cellFontFT); return CELL_OK; } +s32 FTFaceH_GetRenderScalePixel() +{ + UNIMPLEMENTED_FUNC(cellFontFT); + return CELL_OK; +} + s32 FTFaceH_GetRenderScalePoint() { UNIMPLEMENTED_FUNC(cellFontFT); @@ -158,6 +200,18 @@ s32 FTFaceH_SetCompositeCodes() return CELL_OK; } +s32 FTFaceH_SetRenderEffectSlant() +{ + UNIMPLEMENTED_FUNC(cellFontFT); + return CELL_OK; +} + +s32 FTFaceH_SetRenderEffectWeight() +{ + UNIMPLEMENTED_FUNC(cellFontFT); + return CELL_OK; +} + s32 FTFaceH_SetRenderScalePixel() { UNIMPLEMENTED_FUNC(cellFontFT); @@ -206,6 +260,12 @@ s32 FTManager_OpenStreamFace() return CELL_OK; } +s32 FTManager_SetFontOpenMode() +{ + UNIMPLEMENTED_FUNC(cellFontFT); + return CELL_OK; +} + DECLARE(ppu_module_manager::cellFontFT)("cellFontFT", []() { REG_FUNC(cellFontFT, cellFontInitLibraryFreeType); @@ -216,8 +276,10 @@ DECLARE(ppu_module_manager::cellFontFT)("cellFontFT", []() REG_FUNC(cellFontFT, FTCacheStream_CacheEnd); REG_FUNC(cellFontFT, FTCacheStream_CacheInit); REG_FUNC(cellFontFT, FTCacheStream_CalcCacheIndexSize); + REG_FUNC(cellFontFT, FTCacheStream_End); REG_FUNC(cellFontFT, FTCacheStream_Init); + REG_FUNC(cellFontFT, FTFaceH_Close); REG_FUNC(cellFontFT, FTFaceH_FontFamilyName); REG_FUNC(cellFontFT, FTFaceH_FontStyleName); REG_FUNC(cellFontFT, FTFaceH_GetAscender); @@ -227,14 +289,21 @@ DECLARE(ppu_module_manager::cellFontFT)("cellFontFT", []() REG_FUNC(cellFontFT, FTFaceH_GetBoundingBoxMinX); REG_FUNC(cellFontFT, FTFaceH_GetBoundingBoxMinY); REG_FUNC(cellFontFT, FTFaceH_GetBoundingBoxWidth); + REG_FUNC(cellFontFT, FTFaceH_GetCompositeCodes); REG_FUNC(cellFontFT, FTFaceH_GetGlyphImage); REG_FUNC(cellFontFT, FTFaceH_GetGlyphMetrics); + REG_FUNC(cellFontFT, FTFaceH_GetKerning); REG_FUNC(cellFontFT, FTFaceH_GetMaxHorizontalAdvance); REG_FUNC(cellFontFT, FTFaceH_GetMaxVerticalAdvance); REG_FUNC(cellFontFT, FTFaceH_GetRenderBufferSize); + REG_FUNC(cellFontFT, FTFaceH_GetRenderEffectSlant); + REG_FUNC(cellFontFT, FTFaceH_GetRenderEffectWeight); REG_FUNC(cellFontFT, FTFaceH_GetRenderScale); + REG_FUNC(cellFontFT, FTFaceH_GetRenderScalePixel); REG_FUNC(cellFontFT, FTFaceH_GetRenderScalePoint); REG_FUNC(cellFontFT, FTFaceH_SetCompositeCodes); + REG_FUNC(cellFontFT, FTFaceH_SetRenderEffectSlant); + REG_FUNC(cellFontFT, FTFaceH_SetRenderEffectWeight); REG_FUNC(cellFontFT, FTFaceH_SetRenderScalePixel); REG_FUNC(cellFontFT, FTFaceH_SetRenderScalePoint); @@ -244,4 +313,5 @@ DECLARE(ppu_module_manager::cellFontFT)("cellFontFT", []() REG_FUNC(cellFontFT, FTManager_OpenFileFace); REG_FUNC(cellFontFT, FTManager_OpenMemFace); REG_FUNC(cellFontFT, FTManager_OpenStreamFace); + REG_FUNC(cellFontFT, FTManager_SetFontOpenMode); }); diff --git a/rpcs3/Emu/Cell/Modules/cellFs.cpp b/rpcs3/Emu/Cell/Modules/cellFs.cpp index 2f6b44128f..e3d4963d86 100644 --- a/rpcs3/Emu/Cell/Modules/cellFs.cpp +++ b/rpcs3/Emu/Cell/Modules/cellFs.cpp @@ -550,6 +550,12 @@ error_code cellFsSdataOpenWithVersion() return CELL_OK; } +error_code cellFsSetAttribute() +{ + UNIMPLEMENTED_FUNC(cellFs); + return CELL_OK; +} + error_code cellFsSetDefaultContainer(u32 id, u32 total_limit) { cellFs.todo("cellFsSetDefaultContainer(id=0x%x, total_limit=%u)", id, total_limit); @@ -1064,6 +1070,7 @@ DECLARE(ppu_module_manager::cellFs)("sys_fs", []() REG_FUNC(sys_fs, cellFsSdataOpen); REG_FUNC(sys_fs, cellFsSdataOpenByFd); REG_FUNC(sys_fs, cellFsSdataOpenWithVersion); + REG_FUNC(sys_fs, cellFsSetAttribute); REG_FUNC(sys_fs, cellFsSetDefaultContainer); REG_FUNC(sys_fs, cellFsSetDiscReadRetrySetting); REG_FUNC(sys_fs, cellFsSetIoBuffer); diff --git a/rpcs3/Emu/Cell/Modules/cellGcmSys.cpp b/rpcs3/Emu/Cell/Modules/cellGcmSys.cpp index 32d46e8e21..9759ad06a0 100644 --- a/rpcs3/Emu/Cell/Modules/cellGcmSys.cpp +++ b/rpcs3/Emu/Cell/Modules/cellGcmSys.cpp @@ -325,6 +325,12 @@ u32 cellGcmGetFlipStatus() return status; } +s32 cellGcmGetFlipStatus2() +{ + UNIMPLEMENTED_FUNC(cellGcmSys); + return CELL_OK; +} + u32 cellGcmGetTiledPitchSize(u32 size) { cellGcmSys.trace("cellGcmGetTiledPitchSize(size=%d)", size); @@ -456,6 +462,12 @@ void cellGcmResetFlipStatus() rsx::get_current_renderer()->flip_status = CELL_GCM_DISPLAY_FLIP_STATUS_WAITING; } +s32 cellGcmResetFlipStatus2() +{ + UNIMPLEMENTED_FUNC(cellGcmSys); + return CELL_OK; +} + void cellGcmSetDebugOutputLevel(s32 level) { cellGcmSys.warning("cellGcmSetDebugOutputLevel(level=%d)", level); @@ -516,6 +528,12 @@ void cellGcmSetFlipHandler(vm::ptr handler) rsx::get_current_renderer()->flip_handler = handler; } +s32 cellGcmSetFlipHandler2() +{ + UNIMPLEMENTED_FUNC(cellGcmSys); + return CELL_OK; +} + void cellGcmSetFlipMode(u32 mode) { cellGcmSys.warning("cellGcmSetFlipMode(mode=%d)", mode); @@ -523,6 +541,12 @@ void cellGcmSetFlipMode(u32 mode) rsx::get_current_renderer()->requested_vsync.store(mode == CELL_GCM_DISPLAY_VSYNC); } +s32 cellGcmSetFlipMode2() +{ + UNIMPLEMENTED_FUNC(cellGcmSys); + return CELL_OK; +} + void cellGcmSetFlipStatus() { cellGcmSys.warning("cellGcmSetFlipStatus()"); @@ -530,6 +554,12 @@ void cellGcmSetFlipStatus() rsx::get_current_renderer()->flip_status = CELL_GCM_DISPLAY_FLIP_STATUS_DONE; } +s32 cellGcmSetFlipStatus2() +{ + UNIMPLEMENTED_FUNC(cellGcmSys); + return CELL_OK; +} + s32 cellGcmSetPrepareFlip(ppu_thread& ppu, vm::ptr ctxt, u32 id) { cellGcmSys.trace("cellGcmSetPrepareFlip(ctxt=*0x%x, id=0x%x)", ctxt, id); @@ -810,6 +840,12 @@ u64 cellGcmGetLastFlipTime() return rsx::get_current_renderer()->last_flip_time; } +s32 cellGcmGetLastFlipTime2() +{ + UNIMPLEMENTED_FUNC(cellGcmSys); + return CELL_OK; +} + u64 cellGcmGetLastSecondVTime() { cellGcmSys.todo("cellGcmGetLastSecondVTime()"); @@ -823,6 +859,12 @@ u64 cellGcmGetVBlankCount() return rsx::get_current_renderer()->vblank_count; } +s32 cellGcmGetVBlankCount2() +{ + UNIMPLEMENTED_FUNC(cellGcmSys); + return CELL_OK; +} + s32 cellGcmSysGetLastVBlankTime() { fmt::throw_exception("Unimplemented" HERE); @@ -852,6 +894,12 @@ s32 cellGcmSetFlipImmediate(u8 id) return CELL_OK; } +s32 cellGcmSetFlipImmediate2() +{ + UNIMPLEMENTED_FUNC(cellGcmSys); + return CELL_OK; +} + void cellGcmSetGraphicsHandler(vm::ptr handler) { cellGcmSys.todo("cellGcmSetGraphicsHandler(handler=*0x%x)", handler); @@ -1225,6 +1273,12 @@ s32 _cellGcmSetFlipCommand(ppu_thread& ppu, vm::ptr ctx, u32 return cellGcmSetPrepareFlip(ppu, ctx, id); } +s32 _cellGcmSetFlipCommand2() +{ + UNIMPLEMENTED_FUNC(cellGcmSys); + return CELL_OK; +} + s32 _cellGcmSetFlipCommandWithWaitLabel(ppu_thread& ppu, vm::ptr ctx, u32 id, u32 label_index, u32 label_value) { cellGcmSys.trace("cellGcmSetFlipCommandWithWaitLabel(ctx=*0x%x, id=0x%x, label_index=0x%x, label_value=0x%x)", ctx, id, label_index, label_value); @@ -1439,23 +1493,31 @@ DECLARE(ppu_module_manager::cellGcmSys)("cellGcmSys", []() REG_FUNC(cellGcmSys, cellGcmGetConfiguration); REG_FUNC(cellGcmSys, cellGcmGetDisplayBufferByFlipIndex); REG_FUNC(cellGcmSys, cellGcmGetFlipStatus); + REG_FUNC(cellGcmSys, cellGcmGetFlipStatus2); REG_FUNC(cellGcmSys, cellGcmGetLastFlipTime); + REG_FUNC(cellGcmSys, cellGcmGetLastFlipTime2); REG_FUNC(cellGcmSys, cellGcmGetLastSecondVTime); REG_FUNC(cellGcmSys, cellGcmGetTiledPitchSize); REG_FUNC(cellGcmSys, cellGcmGetVBlankCount); + REG_FUNC(cellGcmSys, cellGcmGetVBlankCount2); REG_FUNC(cellGcmSys, cellGcmSysGetLastVBlankTime); REG_FUNC(cellGcmSys, _cellGcmFunc1); REG_FUNC(cellGcmSys, _cellGcmFunc15); REG_FUNC(cellGcmSys, _cellGcmInitBody); REG_FUNC(cellGcmSys, cellGcmInitSystemMode); REG_FUNC(cellGcmSys, cellGcmResetFlipStatus); + REG_FUNC(cellGcmSys, cellGcmResetFlipStatus2); REG_FUNC(cellGcmSys, cellGcmSetDebugOutputLevel); REG_FUNC(cellGcmSys, cellGcmSetDisplayBuffer); REG_FUNC(cellGcmSys, cellGcmSetFlip); // REG_FUNC(cellGcmSys, cellGcmSetFlipHandler); + REG_FUNC(cellGcmSys, cellGcmSetFlipHandler2); REG_FUNC(cellGcmSys, cellGcmSetFlipImmediate); + REG_FUNC(cellGcmSys, cellGcmSetFlipImmediate2); REG_FUNC(cellGcmSys, cellGcmSetFlipMode); + REG_FUNC(cellGcmSys, cellGcmSetFlipMode2); REG_FUNC(cellGcmSys, cellGcmSetFlipStatus); + REG_FUNC(cellGcmSys, cellGcmSetFlipStatus2); REG_FUNC(cellGcmSys, cellGcmSetGraphicsHandler); REG_FUNC(cellGcmSys, cellGcmSetPrepareFlip); REG_FUNC(cellGcmSys, cellGcmSetQueueHandler); @@ -1507,6 +1569,7 @@ DECLARE(ppu_module_manager::cellGcmSys)("cellGcmSys", []() // Other REG_FUNC(cellGcmSys, _cellGcmSetFlipCommand); + REG_FUNC(cellGcmSys, _cellGcmSetFlipCommand2); REG_FUNC(cellGcmSys, _cellGcmSetFlipCommandWithWaitLabel); REG_FUNC(cellGcmSys, cellGcmSetTile); REG_FUNC(cellGcmSys, _cellGcmFunc2); diff --git a/rpcs3/Emu/Cell/Modules/cellGem.cpp b/rpcs3/Emu/Cell/Modules/cellGem.cpp index 3995039405..2186fceee2 100644 --- a/rpcs3/Emu/Cell/Modules/cellGem.cpp +++ b/rpcs3/Emu/Cell/Modules/cellGem.cpp @@ -368,6 +368,12 @@ s32 cellGemEnableMagnetometer(u32 gem_num, u32 enable) return CELL_OK; } +s32 cellGemEnableMagnetometer2() +{ + UNIMPLEMENTED_FUNC(cellGem); + return CELL_OK; +} + s32 cellGemEnd() { cellGem.warning("cellGemEnd()"); @@ -1034,6 +1040,7 @@ DECLARE(ppu_module_manager::cellGem)("libgem", []() REG_FUNC(libgem, cellGemConvertVideoStart); REG_FUNC(libgem, cellGemEnableCameraPitchAngleCorrection); REG_FUNC(libgem, cellGemEnableMagnetometer); + REG_FUNC(libgem, cellGemEnableMagnetometer2); REG_FUNC(libgem, cellGemEnd); REG_FUNC(libgem, cellGemFilterState); REG_FUNC(libgem, cellGemForceRGB); diff --git a/rpcs3/Emu/Cell/Modules/cellHttp.cpp b/rpcs3/Emu/Cell/Modules/cellHttp.cpp index 24e8e7ad53..b53696212c 100644 --- a/rpcs3/Emu/Cell/Modules/cellHttp.cpp +++ b/rpcs3/Emu/Cell/Modules/cellHttp.cpp @@ -713,6 +713,18 @@ s32 cellHttpInitCache() return CELL_OK; } +s32 cellHttpGetCacheInfo() +{ + UNIMPLEMENTED_FUNC(cellHttp); + return CELL_OK; +} + +s32 cellHttpGetMemoryInfo() +{ + UNIMPLEMENTED_FUNC(cellHttp); + return CELL_OK; +} + DECLARE(ppu_module_manager::cellHttp)("cellHttp", []() { REG_FUNC(cellHttp, cellHttpAuthCacheExport); @@ -848,6 +860,8 @@ DECLARE(ppu_module_manager::cellHttp)("cellHttp", []() REG_FUNC(cellHttp, cellHttpFlushCache); REG_FUNC(cellHttp, cellHttpEndCache); REG_FUNC(cellHttp, cellHttpInitCache); + REG_FUNC(cellHttp, cellHttpGetCacheInfo); + REG_FUNC(cellHttp, cellHttpGetMemoryInfo); }); DECLARE(ppu_module_manager::cellHttps)("cellHttps", []() diff --git a/rpcs3/Emu/Cell/Modules/cellImeJp.cpp b/rpcs3/Emu/Cell/Modules/cellImeJp.cpp index 2947b096e4..8950b57387 100644 --- a/rpcs3/Emu/Cell/Modules/cellImeJp.cpp +++ b/rpcs3/Emu/Cell/Modules/cellImeJp.cpp @@ -39,6 +39,12 @@ s32 cellImeJpOpen3() return CELL_OK; } +s32 cellImeJpOpenExt() +{ + UNIMPLEMENTED_FUNC(cellImeJp); + return CELL_OK; +} + s32 cellImeJpClose() { UNIMPLEMENTED_FUNC(cellImeJp); @@ -280,6 +286,7 @@ DECLARE(ppu_module_manager::cellImeJp)("cellImeJpUtility", []() REG_FUNC(cellImeJpUtility, cellImeJpOpen); REG_FUNC(cellImeJpUtility, cellImeJpOpen2); REG_FUNC(cellImeJpUtility, cellImeJpOpen3); + REG_FUNC(cellImeJpUtility, cellImeJpOpenExt); REG_FUNC(cellImeJpUtility, cellImeJpClose); REG_FUNC(cellImeJpUtility, cellImeJpSetKanaInputMode); diff --git a/rpcs3/Emu/Cell/Modules/cellOskDialog.cpp b/rpcs3/Emu/Cell/Modules/cellOskDialog.cpp index 63abe5298c..476232ace6 100644 --- a/rpcs3/Emu/Cell/Modules/cellOskDialog.cpp +++ b/rpcs3/Emu/Cell/Modules/cellOskDialog.cpp @@ -239,6 +239,12 @@ error_code cellOskDialogLoadAsync(u32 container, vm::ptr dia return CELL_OK; } +error_code cellOskDialogLoadAsyncExt() +{ + UNIMPLEMENTED_FUNC(cellOskDialog); + return CELL_OK; +} + error_code getText(vm::ptr OutputInfo, bool is_unload) { if (!OutputInfo || OutputInfo->numCharsResultString < 0) @@ -563,6 +569,7 @@ error_code cellOskDialogExtRegisterForceFinishCallback(vm::ptr::format(std::string& out, u64 arg) }); } +s32 _cellSysutilGetSystemParamInt() +{ + UNIMPLEMENTED_FUNC(cellSysutil); + return CELL_OK; +} + s32 cellSysutilGetSystemParamInt(CellSysutilParamId id, vm::ptr value) { cellSysutil.warning("cellSysutilGetSystemParamInt(id=0x%x(%s), value=*0x%x)", id, id, value); @@ -485,6 +491,11 @@ s32 cellSysutilSharedMemoryFree() fmt::throw_exception("Unimplemented" HERE); } +s32 cellSysutilNotification() +{ + fmt::throw_exception("Unimplemented" HERE); +} + s32 _ZN4cxml7Element11AppendChildERS0_() { UNIMPLEMENTED_FUNC(cellSysutil); @@ -605,6 +616,12 @@ s32 _ZN8cxmlutil8GetFloatERKN4cxml7ElementEPKcPf() return CELL_OK; } +s32 _ZN8cxmlutil8SetFloatERKN4cxml7ElementEPKcf() +{ + UNIMPLEMENTED_FUNC(cellSysutil); + return CELL_OK; +} + s32 _ZN8cxmlutil9GetStringERKN4cxml7ElementEPKcPS5_Pj() { UNIMPLEMENTED_FUNC(cellSysutil); @@ -696,6 +713,7 @@ DECLARE(ppu_module_manager::cellSysutil)("cellSysutil", []() cellSysutil_AudioOut_init(); // cellAudioOut functions cellSysutil_VideoOut_init(); // cellVideoOut functions + REG_FUNC(cellSysutil, _cellSysutilGetSystemParamInt); REG_FUNC(cellSysutil, cellSysutilGetSystemParamInt); REG_FUNC(cellSysutil, cellSysutilGetSystemParamString); @@ -730,6 +748,8 @@ DECLARE(ppu_module_manager::cellSysutil)("cellSysutil", []() REG_FUNC(cellSysutil, cellSysutilSharedMemoryAlloc); REG_FUNC(cellSysutil, cellSysutilSharedMemoryFree); + REG_FUNC(cellSysutil, cellSysutilNotification); + REG_FUNC(cellSysutil, _ZN4cxml7Element11AppendChildERS0_); REG_FUNC(cellSysutil, _ZN4cxml8DocumentC1Ev); @@ -753,6 +773,7 @@ DECLARE(ppu_module_manager::cellSysutil)("cellSysutil", []() REG_FUNC(cellSysutil, _ZN8cxmlutil6GetIntERKN4cxml7ElementEPKcPi); REG_FUNC(cellSysutil, _ZN8cxmlutil7SetFileERKN4cxml7ElementEPKcRKNS0_4FileE); REG_FUNC(cellSysutil, _ZN8cxmlutil8GetFloatERKN4cxml7ElementEPKcPf); + REG_FUNC(cellSysutil, _ZN8cxmlutil8SetFloatERKN4cxml7ElementEPKcf); REG_FUNC(cellSysutil, _ZN8cxmlutil9GetStringERKN4cxml7ElementEPKcPS5_Pj); REG_FUNC(cellSysutil, _ZN8cxmlutil9SetStringERKN4cxml7ElementEPKcS5_); REG_FUNC(cellSysutil, _ZN8cxmlutil16CheckElementNameERKN4cxml7ElementEPKc); diff --git a/rpcs3/Emu/Cell/Modules/cellUsbd.cpp b/rpcs3/Emu/Cell/Modules/cellUsbd.cpp index d0b8b93fca..6bbcc38a36 100644 --- a/rpcs3/Emu/Cell/Modules/cellUsbd.cpp +++ b/rpcs3/Emu/Cell/Modules/cellUsbd.cpp @@ -1,5 +1,4 @@ #include "stdafx.h" -#include "Emu/System.h" #include "Emu/Cell/PPUModule.h" #include "cellUsbd.h" @@ -157,6 +156,12 @@ s32 cellUsbdAllocateMemory() return CELL_OK; } +s32 cellUsbdAllocateSharedMemory() +{ + UNIMPLEMENTED_FUNC(cellUsbd); + return CELL_OK; +} + s32 cellUsbdFreeMemory() { UNIMPLEMENTED_FUNC(cellUsbd); @@ -204,6 +209,7 @@ DECLARE(ppu_module_manager::cellUsbd)("cellUsbd", []() REG_FUNC(cellUsbd, cellUsbdGetPrivateData); REG_FUNC(cellUsbd, cellUsbdAllocateMemory); + REG_FUNC(cellUsbd, cellUsbdAllocateSharedMemory); REG_FUNC(cellUsbd, cellUsbdFreeMemory); REG_FUNC(cellUsbd, cellUsbdResetDevice); diff --git a/rpcs3/Emu/Cell/Modules/cellVdec.cpp b/rpcs3/Emu/Cell/Modules/cellVdec.cpp index 7b6eaef86b..31f954f71c 100644 --- a/rpcs3/Emu/Cell/Modules/cellVdec.cpp +++ b/rpcs3/Emu/Cell/Modules/cellVdec.cpp @@ -564,6 +564,12 @@ s32 cellVdecDecodeAu(u32 handle, CellVdecDecodeMode mode, vm::cptr format, vm::ptr outBuff) { cellVdec.trace("cellVdecGetPicture(handle=0x%x, format=*0x%x, outBuff=*0x%x)", handle, format, outBuff); @@ -921,6 +927,12 @@ s32 cellVdecStartSeqExt() return CELL_OK; } +s32 cellVdecGetPicItemEx() +{ + UNIMPLEMENTED_FUNC(cellVdec); + return CELL_OK; +} + s32 cellVdecGetPicItemExt() { UNIMPLEMENTED_FUNC(cellVdec); @@ -962,9 +974,11 @@ DECLARE(ppu_module_manager::cellVdec)("libvdec", []() REG_FUNC(libvdec, cellVdecStartSeqExt); // 0xebb8e70a REG_FUNC(libvdec, cellVdecEndSeq); REG_FUNC(libvdec, cellVdecDecodeAu); + REG_FUNC(libvdec, cellVdecDecodeAuEx2); REG_FUNC(libvdec, cellVdecGetPicture); REG_FUNC(libvdec, cellVdecGetPictureExt); // 0xa21aa896 REG_FUNC(libvdec, cellVdecGetPicItem); + REG_FUNC(libvdec, cellVdecGetPicItemEx); REG_FUNC(libvdec, cellVdecGetPicItemExt); // 0x2cbd9806 REG_FUNC(libvdec, cellVdecSetFrameRate); REG_FUNC(libvdec, cellVdecSetFrameRateExt); // 0xcffc42a5 diff --git a/rpcs3/Emu/Cell/Modules/cellVideoOut.cpp b/rpcs3/Emu/Cell/Modules/cellVideoOut.cpp index c4a71dfe66..451a4b4426 100644 --- a/rpcs3/Emu/Cell/Modules/cellVideoOut.cpp +++ b/rpcs3/Emu/Cell/Modules/cellVideoOut.cpp @@ -262,6 +262,16 @@ error_code cellVideoOutGetResolutionAvailability(u32 videoOut, u32 resolutionId, return CELL_VIDEO_OUT_ERROR_UNSUPPORTED_VIDEO_OUT; } +s32 cellVideoOutConfigure2() +{ + fmt::throw_exception("Unimplemented" HERE); +} + +s32 cellVideoOutGetResolutionAvailability2() +{ + fmt::throw_exception("Unimplemented" HERE); +} + s32 cellVideoOutGetConvertCursorColorInfo(vm::ptr rgbOutputRange) { fmt::throw_exception("Unimplemented" HERE); @@ -288,10 +298,12 @@ void cellSysutil_VideoOut_init() REG_FUNC(cellSysutil, cellVideoOutGetState); REG_FUNC(cellSysutil, cellVideoOutGetResolution).flag(MFF_PERFECT); REG_FUNC(cellSysutil, cellVideoOutConfigure); + REG_FUNC(cellSysutil, cellVideoOutConfigure2); REG_FUNC(cellSysutil, cellVideoOutGetConfiguration); REG_FUNC(cellSysutil, cellVideoOutGetDeviceInfo); REG_FUNC(cellSysutil, cellVideoOutGetNumberOfDevice); REG_FUNC(cellSysutil, cellVideoOutGetResolutionAvailability); + REG_FUNC(cellSysutil, cellVideoOutGetResolutionAvailability2); REG_FUNC(cellSysutil, cellVideoOutGetConvertCursorColorInfo); REG_FUNC(cellSysutil, cellVideoOutDebugSetMonitorType); REG_FUNC(cellSysutil, cellVideoOutRegisterCallback); diff --git a/rpcs3/Emu/Cell/Modules/cell_FreeType2.cpp b/rpcs3/Emu/Cell/Modules/cell_FreeType2.cpp index 36ca998262..485fb448bd 100644 --- a/rpcs3/Emu/Cell/Modules/cell_FreeType2.cpp +++ b/rpcs3/Emu/Cell/Modules/cell_FreeType2.cpp @@ -1,5 +1,4 @@ #include "stdafx.h" -#include "Emu/System.h" #include "Emu/Cell/PPUModule.h" LOG_CHANNEL(cell_FreeType2); @@ -29,6 +28,12 @@ s32 FT_Add_Module() return CELL_OK; } +s32 FT_Alloc() +{ + UNIMPLEMENTED_FUNC(cell_FreeType2); + return CELL_OK; +} + s32 FT_Angle_Diff() { UNIMPLEMENTED_FUNC(cell_FreeType2); @@ -209,6 +214,12 @@ s32 FT_FloorFix() return CELL_OK; } +s32 FT_Free() +{ + UNIMPLEMENTED_FUNC(cell_FreeType2); + return CELL_OK; +} + s32 FT_Get_BDF_Charset_ID() { UNIMPLEMENTED_FUNC(cell_FreeType2); @@ -539,6 +550,12 @@ s32 FT_New_Library() return CELL_OK; } +s32 FT_New_Memory() +{ + UNIMPLEMENTED_FUNC(cell_FreeType2); + return CELL_OK; +} + s32 FT_New_Memory_Face() { UNIMPLEMENTED_FUNC(cell_FreeType2); @@ -665,6 +682,12 @@ s32 FT_Outline_Translate() return CELL_OK; } +s32 FT_Realloc() +{ + UNIMPLEMENTED_FUNC(cell_FreeType2); + return CELL_OK; +} + s32 FT_Remove_Module() { UNIMPLEMENTED_FUNC(cell_FreeType2); @@ -919,6 +942,7 @@ DECLARE(ppu_module_manager::cell_FreeType2)("cell_FreeType2", []() REG_FUNC(cell_FreeType2, FT_Activate_Size); REG_FUNC(cell_FreeType2, FT_Add_Default_Modules); REG_FUNC(cell_FreeType2, FT_Add_Module); + REG_FUNC(cell_FreeType2, FT_Alloc); REG_FUNC(cell_FreeType2, FT_Angle_Diff); REG_FUNC(cell_FreeType2, FT_Atan2); REG_FUNC(cell_FreeType2, FT_Attach_File); @@ -949,6 +973,7 @@ DECLARE(ppu_module_manager::cell_FreeType2)("cell_FreeType2", []() REG_FUNC(cell_FreeType2, FT_Done_Library); REG_FUNC(cell_FreeType2, FT_Done_Size); REG_FUNC(cell_FreeType2, FT_FloorFix); + REG_FUNC(cell_FreeType2, FT_Free); REG_FUNC(cell_FreeType2, FT_Get_BDF_Charset_ID); REG_FUNC(cell_FreeType2, FT_Get_BDF_Property); REG_FUNC(cell_FreeType2, FT_Get_Char_Index); @@ -1004,6 +1029,7 @@ DECLARE(ppu_module_manager::cell_FreeType2)("cell_FreeType2", []() REG_FUNC(cell_FreeType2, FT_MulFix); REG_FUNC(cell_FreeType2, FT_New_Face); REG_FUNC(cell_FreeType2, FT_New_Library); + REG_FUNC(cell_FreeType2, FT_New_Memory); REG_FUNC(cell_FreeType2, FT_New_Memory_Face); REG_FUNC(cell_FreeType2, FT_New_Size); REG_FUNC(cell_FreeType2, FT_Open_Face); @@ -1025,6 +1051,7 @@ DECLARE(ppu_module_manager::cell_FreeType2)("cell_FreeType2", []() REG_FUNC(cell_FreeType2, FT_Outline_Reverse); REG_FUNC(cell_FreeType2, FT_Outline_Transform); REG_FUNC(cell_FreeType2, FT_Outline_Translate); + REG_FUNC(cell_FreeType2, FT_Realloc); REG_FUNC(cell_FreeType2, FT_Remove_Module); REG_FUNC(cell_FreeType2, FT_Render_Glyph); REG_FUNC(cell_FreeType2, FT_Request_Size); diff --git a/rpcs3/Emu/Cell/Modules/libad_async.cpp b/rpcs3/Emu/Cell/Modules/libad_async.cpp index a47458d6e3..b086eb4301 100644 --- a/rpcs3/Emu/Cell/Modules/libad_async.cpp +++ b/rpcs3/Emu/Cell/Modules/libad_async.cpp @@ -15,8 +15,15 @@ s32 sceAdAsyncSpaceClose() return CELL_OK; } +s32 sceAdAsyncCloseContext() +{ + UNIMPLEMENTED_FUNC(libad_async); + return CELL_OK; +} + DECLARE(ppu_module_manager::libad_async)("libad_async", []() { REG_FUNC(libad_async, sceAdAsyncSpaceOpen); REG_FUNC(libad_async, sceAdAsyncSpaceClose); + REG_FUNC(libad_async, sceAdAsyncCloseContext); }); diff --git a/rpcs3/Emu/Cell/Modules/libad_core.cpp b/rpcs3/Emu/Cell/Modules/libad_core.cpp index 91e6f0fcff..d65276abaa 100644 --- a/rpcs3/Emu/Cell/Modules/libad_core.cpp +++ b/rpcs3/Emu/Cell/Modules/libad_core.cpp @@ -9,14 +9,28 @@ s32 sceAdGetAssetInfo() return CELL_OK; } +s32 sceAdCloseContext() +{ + UNIMPLEMENTED_FUNC(libad_core); + return CELL_OK; +} + s32 sceAdGetSpaceInfo() { UNIMPLEMENTED_FUNC(libad_core); return CELL_OK; } +s32 sceAdGetConnectionInfo() +{ + UNIMPLEMENTED_FUNC(libad_core); + return CELL_OK; +} + DECLARE(ppu_module_manager::libad_core)("libad_core", []() { REG_FUNC(libad_core, sceAdGetAssetInfo); + REG_FUNC(libad_core, sceAdCloseContext); REG_FUNC(libad_core, sceAdGetSpaceInfo); + REG_FUNC(libad_core, sceAdGetConnectionInfo); }); diff --git a/rpcs3/Emu/Cell/Modules/sceNp.cpp b/rpcs3/Emu/Cell/Modules/sceNp.cpp index c4701e67e0..46794d8d90 100644 --- a/rpcs3/Emu/Cell/Modules/sceNp.cpp +++ b/rpcs3/Emu/Cell/Modules/sceNp.cpp @@ -1334,6 +1334,12 @@ s32 sceNpManagerGetEntitlementById() return CELL_OK; } +s32 sceNpManagerGetSigninId() +{ + UNIMPLEMENTED_FUNC(sceNp); + return CELL_OK; +} + s32 sceNpManagerSubSignin() { UNIMPLEMENTED_FUNC(sceNp); @@ -2107,6 +2113,7 @@ DECLARE(ppu_module_manager::sceNp)("sceNp", []() REG_FUNC(sceNp, sceNpManagerGetTicketParam); REG_FUNC(sceNp, sceNpManagerGetEntitlementIdList); REG_FUNC(sceNp, sceNpManagerGetEntitlementById); + REG_FUNC(sceNp, sceNpManagerGetSigninId); REG_FUNC(sceNp, sceNpManagerSubSignin); REG_FUNC(sceNp, sceNpManagerSubSigninAbortGui); REG_FUNC(sceNp, sceNpManagerSubSignout); diff --git a/rpcs3/Emu/Cell/Modules/sceNp2.cpp b/rpcs3/Emu/Cell/Modules/sceNp2.cpp index 5f030f7068..441e461b1c 100644 --- a/rpcs3/Emu/Cell/Modules/sceNp2.cpp +++ b/rpcs3/Emu/Cell/Modules/sceNp2.cpp @@ -505,6 +505,12 @@ s32 sceNpAuthGetAuthorizationCode() return CELL_OK; } +s32 sceNpAuthGetAuthorizationCode2() +{ + UNIMPLEMENTED_FUNC(sceNp2); + return CELL_OK; +} + DECLARE(ppu_module_manager::sceNp2)("sceNp2", []() { REG_FUNC(sceNp2, sceNpMatching2DestroyContext); @@ -587,4 +593,5 @@ DECLARE(ppu_module_manager::sceNp2)("sceNp2", []() REG_FUNC(sceNp2, sceNpAuthDeleteOAuthRequest); REG_FUNC(sceNp2, sceNpAuthAbortOAuthRequest); REG_FUNC(sceNp2, sceNpAuthGetAuthorizationCode); + REG_FUNC(sceNp2, sceNpAuthGetAuthorizationCode2); }); diff --git a/rpcs3/Emu/Cell/Modules/sceNpTrophy.cpp b/rpcs3/Emu/Cell/Modules/sceNpTrophy.cpp index 5d753a83cf..7541f39652 100644 --- a/rpcs3/Emu/Cell/Modules/sceNpTrophy.cpp +++ b/rpcs3/Emu/Cell/Modules/sceNpTrophy.cpp @@ -817,6 +817,12 @@ error_code sceNpTrophyGetGameIcon(u32 context, u32 handle, vm::ptr buffer, return CELL_OK; } +error_code sceNpTrophyGetUserInfo() +{ + UNIMPLEMENTED_FUNC(sceNpTrophy); + return CELL_OK; +} + error_code sceNpTrophyGetTrophyIcon(u32 context, u32 handle, s32 trophyId, vm::ptr buffer, vm::ptr size) { sceNpTrophy.warning("sceNpTrophyGetTrophyIcon(context=0x%x, handle=0x%x, trophyId=%d, buffer=*0x%x, size=*0x%x)", context, handle, trophyId, buffer, size); @@ -886,6 +892,7 @@ DECLARE(ppu_module_manager::sceNpTrophy)("sceNpTrophy", []() REG_FUNC(sceNpTrophy, sceNpTrophyUnlockTrophy); REG_FUNC(sceNpTrophy, sceNpTrophyTerm); REG_FUNC(sceNpTrophy, sceNpTrophyGetTrophyUnlockState); + REG_FUNC(sceNpTrophy, sceNpTrophyGetUserInfo); REG_FUNC(sceNpTrophy, sceNpTrophyGetTrophyIcon); REG_FUNC(sceNpTrophy, sceNpTrophyCreateContext); REG_FUNC(sceNpTrophy, sceNpTrophyGetTrophyInfo);