hle: Add more missing functions

This commit is contained in:
scribam 2019-04-05 20:14:01 +02:00 committed by Ivan
parent 7625f7df11
commit f30af3ccd2
24 changed files with 406 additions and 7 deletions

View file

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

View file

@ -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<CellCameraInfoEx> 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<u32> 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<u8> 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<u32> frame_num, vm::ptr<u32> 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<u32> frame_num, vm::ptr<u32> bytes_read)
return CELL_OK;
}
s32 cellCameraRead2()
{
UNIMPLEMENTED_FUNC(cellCamera);
return CELL_OK;
}
s32 cellCameraReadEx(s32 dev_num, vm::ptr<CellCameraReadEx> 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);

View file

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

View file

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

View file

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

View file

@ -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<void(u32)> 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<CellGcmContextData> 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<void(u32)> handler)
{
cellGcmSys.todo("cellGcmSetGraphicsHandler(handler=*0x%x)", handler);
@ -1225,6 +1273,12 @@ s32 _cellGcmSetFlipCommand(ppu_thread& ppu, vm::ptr<CellGcmContextData> ctx, u32
return cellGcmSetPrepareFlip(ppu, ctx, id);
}
s32 _cellGcmSetFlipCommand2()
{
UNIMPLEMENTED_FUNC(cellGcmSys);
return CELL_OK;
}
s32 _cellGcmSetFlipCommandWithWaitLabel(ppu_thread& ppu, vm::ptr<CellGcmContextData> 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);

View file

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

View file

@ -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", []()

View file

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

View file

@ -239,6 +239,12 @@ error_code cellOskDialogLoadAsync(u32 container, vm::ptr<CellOskDialogParam> dia
return CELL_OK;
}
error_code cellOskDialogLoadAsyncExt()
{
UNIMPLEMENTED_FUNC(cellOskDialog);
return CELL_OK;
}
error_code getText(vm::ptr<CellOskDialogCallbackReturnParam> OutputInfo, bool is_unload)
{
if (!OutputInfo || OutputInfo->numCharsResultString < 0)
@ -563,6 +569,7 @@ error_code cellOskDialogExtRegisterForceFinishCallback(vm::ptr<cellOskDialogForc
void cellSysutil_OskDialog_init()
{
REG_FUNC(cellSysutil, cellOskDialogLoadAsync);
REG_FUNC(cellSysutil, cellOskDialogLoadAsyncExt);
REG_FUNC(cellSysutil, cellOskDialogUnloadAsync);
REG_FUNC(cellSysutil, cellOskDialogGetSize);
REG_FUNC(cellSysutil, cellOskDialogAbort);

View file

@ -15,13 +15,13 @@ s32 cellRtcAlarmUnregister()
return CELL_OK;
}
s32 cellRtcAlarmGetStatus()
s32 cellRtcAlarmNotification()
{
UNIMPLEMENTED_FUNC(cellRtcAlarm);
return CELL_OK;
}
s32 cellRtcAlarm_AD8D9839()
s32 cellRtcAlarmGetStatus()
{
UNIMPLEMENTED_FUNC(cellRtcAlarm);
return CELL_OK;
@ -37,8 +37,8 @@ DECLARE(ppu_module_manager::cellRtcAlarm)("cellRtcAlarm", []()
{
REG_FUNC(cellRtcAlarm, cellRtcAlarmRegister);
REG_FUNC(cellRtcAlarm, cellRtcAlarmUnregister);
REG_FUNC(cellRtcAlarm, cellRtcAlarmNotification);
REG_FUNC(cellRtcAlarm, cellRtcAlarmGetStatus);
REG_FNID(cellRtcAlarm, 0xAD8D9839, cellRtcAlarm_AD8D9839);
REG_FNID(cellRtcAlarm, 0xB287748C, cellRtcAlarm_B287748C);
});

View file

@ -142,12 +142,24 @@ s32 cellRudpGetRemoteInfo()
return CELL_OK;
}
s32 cellRudpAccept()
{
UNIMPLEMENTED_FUNC(cellRudp);
return CELL_OK;
}
s32 cellRudpBind()
{
UNIMPLEMENTED_FUNC(cellRudp);
return CELL_OK;
}
s32 cellRudpListen()
{
UNIMPLEMENTED_FUNC(cellRudp);
return CELL_OK;
}
s32 cellRudpInitiate()
{
UNIMPLEMENTED_FUNC(cellRudp);
@ -256,7 +268,9 @@ DECLARE(ppu_module_manager::cellRudp)("cellRudp", []()
REG_FUNC(cellRudp, cellRudpGetLocalInfo);
REG_FUNC(cellRudp, cellRudpGetRemoteInfo);
REG_FUNC(cellRudp, cellRudpAccept);
REG_FUNC(cellRudp, cellRudpBind);
REG_FUNC(cellRudp, cellRudpListen);
REG_FUNC(cellRudp, cellRudpInitiate);
REG_FUNC(cellRudp, cellRudpActivate);
REG_FUNC(cellRudp, cellRudpTerminate);

View file

@ -25,6 +25,12 @@ s32 cellSslEnd()
return CELL_OK;
}
s32 cellSslGetMemoryInfo()
{
UNIMPLEMENTED_FUNC(cellSsl);
return CELL_OK;
}
std::string getCert(const std::string certPath, const int certID, const bool isNormalCert)
{
int newID = certID;
@ -662,6 +668,7 @@ DECLARE(ppu_module_manager::cellSsl)("cellSsl", []()
{
REG_FUNC(cellSsl, cellSslInit);
REG_FUNC(cellSsl, cellSslEnd);
REG_FUNC(cellSsl, cellSslGetMemoryInfo);
REG_FUNC(cellSsl, cellSslCertificateLoader);

View file

@ -373,7 +373,19 @@ s32 cellSysmoduleLoadModuleInternal()
return CELL_OK;
}
s32 cellSysmodule_1A267F98()
s32 cellSysmoduleUnloadModuleEx()
{
UNIMPLEMENTED_FUNC(cellSysmodule);
return CELL_OK;
}
s32 cellSysmoduleLoadModuleEx()
{
UNIMPLEMENTED_FUNC(cellSysmodule);
return CELL_OK;
}
s32 cellSysmoduleIsLoadedEx()
{
UNIMPLEMENTED_FUNC(cellSysmodule);
return CELL_OK;
@ -391,5 +403,7 @@ DECLARE(ppu_module_manager::cellSysmodule)("cellSysmodule", []()
REG_FUNC(cellSysmodule, cellSysmoduleFetchImage);
REG_FUNC(cellSysmodule, cellSysmoduleUnloadModuleInternal);
REG_FUNC(cellSysmodule, cellSysmoduleLoadModuleInternal);
REG_FNID(cellSysmodule, 0x1A267F98, cellSysmodule_1A267F98);
REG_FUNC(cellSysmodule, cellSysmoduleUnloadModuleEx);
REG_FUNC(cellSysmodule, cellSysmoduleLoadModuleEx);
REG_FUNC(cellSysmodule, cellSysmoduleIsLoadedEx);
});

View file

@ -132,6 +132,12 @@ void fmt_class_string<CellSysutilParamId>::format(std::string& out, u64 arg)
});
}
s32 _cellSysutilGetSystemParamInt()
{
UNIMPLEMENTED_FUNC(cellSysutil);
return CELL_OK;
}
s32 cellSysutilGetSystemParamInt(CellSysutilParamId id, vm::ptr<s32> 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);

View file

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

View file

@ -564,6 +564,12 @@ s32 cellVdecDecodeAu(u32 handle, CellVdecDecodeMode mode, vm::cptr<CellVdecAuInf
return CELL_OK;
}
s32 cellVdecDecodeAuEx2()
{
UNIMPLEMENTED_FUNC(cellVdec);
return CELL_OK;
}
s32 cellVdecGetPicture(u32 handle, vm::cptr<CellVdecPicFormat> format, vm::ptr<u8> 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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -817,6 +817,12 @@ error_code sceNpTrophyGetGameIcon(u32 context, u32 handle, vm::ptr<void> buffer,
return CELL_OK;
}
error_code sceNpTrophyGetUserInfo()
{
UNIMPLEMENTED_FUNC(sceNpTrophy);
return CELL_OK;
}
error_code sceNpTrophyGetTrophyIcon(u32 context, u32 handle, s32 trophyId, vm::ptr<void> buffer, vm::ptr<u32> 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);