2019-09-08 17:36:10 +02:00
|
|
|
|
#include "stdafx.h"
|
2016-03-21 20:42:14 +01:00
|
|
|
|
#include "Emu/Cell/PPUModule.h"
|
2019-09-08 17:36:10 +02:00
|
|
|
|
#include "Emu/IdManager.h"
|
2015-07-24 18:31:16 +02:00
|
|
|
|
|
|
|
|
|
|
#include "sceNp.h"
|
2015-07-26 11:15:15 +02:00
|
|
|
|
#include "sceNpUtil.h"
|
2015-07-24 18:31:16 +02:00
|
|
|
|
|
2018-08-25 14:39:00 +02:00
|
|
|
|
LOG_CHANNEL(sceNpUtil);
|
2015-07-24 18:31:16 +02:00
|
|
|
|
|
2019-09-08 17:36:10 +02:00
|
|
|
|
error_code sceNpUtilBandwidthTestInitStart(u32 prio, u64 stack)
|
2015-07-24 18:31:16 +02:00
|
|
|
|
{
|
2019-09-08 17:36:10 +02:00
|
|
|
|
sceNpUtil.todo("sceNpUtilBandwidthTestInitStart(prio=%d, stack=%d)", prio, stack);
|
|
|
|
|
|
|
|
|
|
|
|
const auto util_manager = g_fxo->get<sce_np_util_manager>();
|
|
|
|
|
|
|
|
|
|
|
|
if (util_manager->is_initialized)
|
|
|
|
|
|
{
|
|
|
|
|
|
return SCE_NP_ERROR_ALREADY_INITIALIZED;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
util_manager->is_initialized = true;
|
|
|
|
|
|
|
2015-07-24 18:31:16 +02:00
|
|
|
|
return CELL_OK;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2019-09-08 17:36:10 +02:00
|
|
|
|
error_code sceNpUtilBandwidthTestGetStatus()
|
2015-07-24 18:31:16 +02:00
|
|
|
|
{
|
2019-09-08 17:36:10 +02:00
|
|
|
|
sceNpUtil.todo("sceNpUtilBandwidthTestGetStatus()");
|
|
|
|
|
|
|
|
|
|
|
|
if (!g_fxo->get<sce_np_util_manager>()->is_initialized)
|
|
|
|
|
|
{
|
|
|
|
|
|
return SCE_NP_ERROR_NOT_INITIALIZED;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
return not_an_error(SCE_NP_UTIL_BANDWIDTH_TEST_STATUS_FINISHED);
|
2015-07-24 18:31:16 +02:00
|
|
|
|
}
|
|
|
|
|
|
|
2019-09-08 17:36:10 +02:00
|
|
|
|
error_code sceNpUtilBandwidthTestShutdown(vm::ptr<SceNpUtilBandwidthTestResult> result)
|
2015-07-24 18:31:16 +02:00
|
|
|
|
{
|
2019-09-08 17:36:10 +02:00
|
|
|
|
sceNpUtil.todo("sceNpUtilBandwidthTestShutdown(result=*0x%x)", result);
|
|
|
|
|
|
|
|
|
|
|
|
const auto util_manager = g_fxo->get<sce_np_util_manager>();
|
|
|
|
|
|
|
|
|
|
|
|
if (!util_manager->is_initialized)
|
|
|
|
|
|
{
|
|
|
|
|
|
return SCE_NP_ERROR_NOT_INITIALIZED;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
util_manager->is_initialized = false;
|
|
|
|
|
|
|
2015-07-24 18:31:16 +02:00
|
|
|
|
return CELL_OK;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2019-09-08 17:36:10 +02:00
|
|
|
|
error_code sceNpUtilBandwidthTestAbort()
|
2015-07-24 18:31:16 +02:00
|
|
|
|
{
|
2019-09-08 17:36:10 +02:00
|
|
|
|
sceNpUtil.todo("sceNpUtilBandwidthTestAbort()");
|
|
|
|
|
|
|
|
|
|
|
|
if (!g_fxo->get<sce_np_util_manager>()->is_initialized)
|
|
|
|
|
|
{
|
|
|
|
|
|
return SCE_NP_ERROR_NOT_INITIALIZED;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2015-07-24 18:31:16 +02:00
|
|
|
|
return CELL_OK;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2016-03-21 20:42:14 +01:00
|
|
|
|
DECLARE(ppu_module_manager::sceNpUtil)("sceNpUtil", []()
|
2015-07-24 18:31:16 +02:00
|
|
|
|
{
|
|
|
|
|
|
REG_FUNC(sceNpUtil, sceNpUtilBandwidthTestInitStart);
|
|
|
|
|
|
REG_FUNC(sceNpUtil, sceNpUtilBandwidthTestShutdown);
|
|
|
|
|
|
REG_FUNC(sceNpUtil, sceNpUtilBandwidthTestGetStatus);
|
|
|
|
|
|
REG_FUNC(sceNpUtil, sceNpUtilBandwidthTestAbort);
|
2015-07-31 23:47:29 +02:00
|
|
|
|
});
|