mirror of
https://github.com/RPCS3/rpcs3.git
synced 2024-11-26 12:42:41 +01:00
Merge pull request #845 from Survanium90/master
Various changes in CellGem, SceNP and CellMic
This commit is contained in:
commit
59c8def566
@ -24,6 +24,8 @@ extern void cellGem_unload();
|
|||||||
extern void cellJpgDec_init(Module *pxThis);
|
extern void cellJpgDec_init(Module *pxThis);
|
||||||
extern void cellGifDec_init(Module *pxThis);
|
extern void cellGifDec_init(Module *pxThis);
|
||||||
extern void cellL10n_init(Module *pxThis);
|
extern void cellL10n_init(Module *pxThis);
|
||||||
|
extern void cellMic_init(Module *pxThis);
|
||||||
|
extern void cellMic_unload();
|
||||||
extern void cellNetCtl_init(Module *pxThis);
|
extern void cellNetCtl_init(Module *pxThis);
|
||||||
extern void cellNetCtl_unload();
|
extern void cellNetCtl_unload();
|
||||||
extern void cellOvis_init(Module *pxThis);
|
extern void cellOvis_init(Module *pxThis);
|
||||||
@ -109,7 +111,7 @@ static const g_modules_list[] =
|
|||||||
{ 0x001f, "cellResc", cellResc_init, cellResc_load, cellResc_unload },
|
{ 0x001f, "cellResc", cellResc_init, cellResc_load, cellResc_unload },
|
||||||
{ 0x0020, "cellDaisy", nullptr, nullptr, nullptr },
|
{ 0x0020, "cellDaisy", nullptr, nullptr, nullptr },
|
||||||
{ 0x0021, "cellKey2char", nullptr, nullptr, nullptr },
|
{ 0x0021, "cellKey2char", nullptr, nullptr, nullptr },
|
||||||
{ 0x0022, "cellMic", nullptr, nullptr, nullptr },
|
{ 0x0022, "cellMic", cellMic_init, nullptr, cellMic_unload },
|
||||||
{ 0x0023, "cellCamera", cellCamera_init, nullptr, cellCamera_unload },
|
{ 0x0023, "cellCamera", cellCamera_init, nullptr, cellCamera_unload },
|
||||||
{ 0x0024, "cellVdecMpeg2", nullptr, nullptr, nullptr },
|
{ 0x0024, "cellVdecMpeg2", nullptr, nullptr, nullptr },
|
||||||
{ 0x0025, "cellVdecAvc", nullptr, nullptr, nullptr },
|
{ 0x0025, "cellVdecAvc", nullptr, nullptr, nullptr },
|
||||||
|
@ -21,36 +21,60 @@ cellGemInternal cellGemInstance;
|
|||||||
int cellGemCalibrate()
|
int cellGemCalibrate()
|
||||||
{
|
{
|
||||||
UNIMPLEMENTED_FUNC(cellGem);
|
UNIMPLEMENTED_FUNC(cellGem);
|
||||||
|
|
||||||
|
if (!cellGemInstance.m_bInitialized)
|
||||||
|
return CELL_GEM_ERROR_UNINITIALIZED;
|
||||||
|
|
||||||
return CELL_OK;
|
return CELL_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
int cellGemClearStatusFlags()
|
int cellGemClearStatusFlags()
|
||||||
{
|
{
|
||||||
UNIMPLEMENTED_FUNC(cellGem);
|
UNIMPLEMENTED_FUNC(cellGem);
|
||||||
|
|
||||||
|
if (!cellGemInstance.m_bInitialized)
|
||||||
|
return CELL_GEM_ERROR_UNINITIALIZED;
|
||||||
|
|
||||||
return CELL_OK;
|
return CELL_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
int cellGemConvertVideoFinish()
|
int cellGemConvertVideoFinish()
|
||||||
{
|
{
|
||||||
UNIMPLEMENTED_FUNC(cellGem);
|
UNIMPLEMENTED_FUNC(cellGem);
|
||||||
|
|
||||||
|
if (!cellGemInstance.m_bInitialized)
|
||||||
|
return CELL_GEM_ERROR_UNINITIALIZED;
|
||||||
|
|
||||||
return CELL_OK;
|
return CELL_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
int cellGemConvertVideoStart()
|
int cellGemConvertVideoStart()
|
||||||
{
|
{
|
||||||
UNIMPLEMENTED_FUNC(cellGem);
|
UNIMPLEMENTED_FUNC(cellGem);
|
||||||
|
|
||||||
|
if (!cellGemInstance.m_bInitialized)
|
||||||
|
return CELL_GEM_ERROR_UNINITIALIZED;
|
||||||
|
|
||||||
return CELL_OK;
|
return CELL_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
int cellGemEnableCameraPitchAngleCorrection()
|
int cellGemEnableCameraPitchAngleCorrection()
|
||||||
{
|
{
|
||||||
UNIMPLEMENTED_FUNC(cellGem);
|
UNIMPLEMENTED_FUNC(cellGem);
|
||||||
|
|
||||||
|
if (!cellGemInstance.m_bInitialized)
|
||||||
|
return CELL_GEM_ERROR_UNINITIALIZED;
|
||||||
|
|
||||||
return CELL_OK;
|
return CELL_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
int cellGemEnableMagnetometer()
|
int cellGemEnableMagnetometer()
|
||||||
{
|
{
|
||||||
UNIMPLEMENTED_FUNC(cellGem);
|
UNIMPLEMENTED_FUNC(cellGem);
|
||||||
|
|
||||||
|
if (!cellGemInstance.m_bInitialized)
|
||||||
|
return CELL_GEM_ERROR_UNINITIALIZED;
|
||||||
|
|
||||||
return CELL_OK;
|
return CELL_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -69,60 +93,100 @@ int cellGemEnd()
|
|||||||
int cellGemFilterState()
|
int cellGemFilterState()
|
||||||
{
|
{
|
||||||
UNIMPLEMENTED_FUNC(cellGem);
|
UNIMPLEMENTED_FUNC(cellGem);
|
||||||
|
|
||||||
|
if (!cellGemInstance.m_bInitialized)
|
||||||
|
return CELL_GEM_ERROR_UNINITIALIZED;
|
||||||
|
|
||||||
return CELL_OK;
|
return CELL_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
int cellGemForceRGB()
|
int cellGemForceRGB()
|
||||||
{
|
{
|
||||||
UNIMPLEMENTED_FUNC(cellGem);
|
UNIMPLEMENTED_FUNC(cellGem);
|
||||||
|
|
||||||
|
if (!cellGemInstance.m_bInitialized)
|
||||||
|
return CELL_GEM_ERROR_UNINITIALIZED;
|
||||||
|
|
||||||
return CELL_OK;
|
return CELL_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
int cellGemGetAccelerometerPositionInDevice()
|
int cellGemGetAccelerometerPositionInDevice()
|
||||||
{
|
{
|
||||||
UNIMPLEMENTED_FUNC(cellGem);
|
UNIMPLEMENTED_FUNC(cellGem);
|
||||||
|
|
||||||
|
if (!cellGemInstance.m_bInitialized)
|
||||||
|
return CELL_GEM_ERROR_UNINITIALIZED;
|
||||||
|
|
||||||
return CELL_OK;
|
return CELL_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
int cellGemGetAllTrackableHues()
|
int cellGemGetAllTrackableHues()
|
||||||
{
|
{
|
||||||
UNIMPLEMENTED_FUNC(cellGem);
|
UNIMPLEMENTED_FUNC(cellGem);
|
||||||
|
|
||||||
|
if (!cellGemInstance.m_bInitialized)
|
||||||
|
return CELL_GEM_ERROR_UNINITIALIZED;
|
||||||
|
|
||||||
return CELL_OK;
|
return CELL_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
int cellGemGetCameraState()
|
int cellGemGetCameraState()
|
||||||
{
|
{
|
||||||
UNIMPLEMENTED_FUNC(cellGem);
|
UNIMPLEMENTED_FUNC(cellGem);
|
||||||
|
|
||||||
|
if (!cellGemInstance.m_bInitialized)
|
||||||
|
return CELL_GEM_ERROR_UNINITIALIZED;
|
||||||
|
|
||||||
return CELL_OK;
|
return CELL_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
int cellGemGetEnvironmentLightingColor()
|
int cellGemGetEnvironmentLightingColor()
|
||||||
{
|
{
|
||||||
UNIMPLEMENTED_FUNC(cellGem);
|
UNIMPLEMENTED_FUNC(cellGem);
|
||||||
|
|
||||||
|
if (!cellGemInstance.m_bInitialized)
|
||||||
|
return CELL_GEM_ERROR_UNINITIALIZED;
|
||||||
|
|
||||||
return CELL_OK;
|
return CELL_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
int cellGemGetHuePixels()
|
int cellGemGetHuePixels()
|
||||||
{
|
{
|
||||||
UNIMPLEMENTED_FUNC(cellGem);
|
UNIMPLEMENTED_FUNC(cellGem);
|
||||||
|
|
||||||
|
if (!cellGemInstance.m_bInitialized)
|
||||||
|
return CELL_GEM_ERROR_UNINITIALIZED;
|
||||||
|
|
||||||
return CELL_OK;
|
return CELL_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
int cellGemGetImageState()
|
int cellGemGetImageState()
|
||||||
{
|
{
|
||||||
UNIMPLEMENTED_FUNC(cellGem);
|
UNIMPLEMENTED_FUNC(cellGem);
|
||||||
|
|
||||||
|
if (!cellGemInstance.m_bInitialized)
|
||||||
|
return CELL_GEM_ERROR_UNINITIALIZED;
|
||||||
|
|
||||||
return CELL_OK;
|
return CELL_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
int cellGemGetInertialState()
|
int cellGemGetInertialState()
|
||||||
{
|
{
|
||||||
UNIMPLEMENTED_FUNC(cellGem);
|
UNIMPLEMENTED_FUNC(cellGem);
|
||||||
|
|
||||||
|
if (!cellGemInstance.m_bInitialized)
|
||||||
|
return CELL_GEM_ERROR_UNINITIALIZED;
|
||||||
|
|
||||||
return CELL_OK;
|
return CELL_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
int cellGemGetInfo()
|
int cellGemGetInfo()
|
||||||
{
|
{
|
||||||
UNIMPLEMENTED_FUNC(cellGem);
|
UNIMPLEMENTED_FUNC(cellGem);
|
||||||
|
|
||||||
|
if (!cellGemInstance.m_bInitialized)
|
||||||
|
return CELL_GEM_ERROR_UNINITIALIZED;
|
||||||
|
|
||||||
return CELL_OK;
|
return CELL_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -140,30 +204,50 @@ s32 cellGemGetMemorySize(be_t<s32> max_connect)
|
|||||||
int cellGemGetRGB()
|
int cellGemGetRGB()
|
||||||
{
|
{
|
||||||
UNIMPLEMENTED_FUNC(cellGem);
|
UNIMPLEMENTED_FUNC(cellGem);
|
||||||
|
|
||||||
|
if (!cellGemInstance.m_bInitialized)
|
||||||
|
return CELL_GEM_ERROR_UNINITIALIZED;
|
||||||
|
|
||||||
return CELL_OK;
|
return CELL_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
int cellGemGetRumble()
|
int cellGemGetRumble()
|
||||||
{
|
{
|
||||||
UNIMPLEMENTED_FUNC(cellGem);
|
UNIMPLEMENTED_FUNC(cellGem);
|
||||||
|
|
||||||
|
if (!cellGemInstance.m_bInitialized)
|
||||||
|
return CELL_GEM_ERROR_UNINITIALIZED;
|
||||||
|
|
||||||
return CELL_OK;
|
return CELL_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
int cellGemGetState()
|
int cellGemGetState()
|
||||||
{
|
{
|
||||||
UNIMPLEMENTED_FUNC(cellGem);
|
UNIMPLEMENTED_FUNC(cellGem);
|
||||||
|
|
||||||
|
if (!cellGemInstance.m_bInitialized)
|
||||||
|
return CELL_GEM_ERROR_UNINITIALIZED;
|
||||||
|
|
||||||
return CELL_OK;
|
return CELL_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
int cellGemGetStatusFlags()
|
int cellGemGetStatusFlags()
|
||||||
{
|
{
|
||||||
UNIMPLEMENTED_FUNC(cellGem);
|
UNIMPLEMENTED_FUNC(cellGem);
|
||||||
|
|
||||||
|
if (!cellGemInstance.m_bInitialized)
|
||||||
|
return CELL_GEM_ERROR_UNINITIALIZED;
|
||||||
|
|
||||||
return CELL_OK;
|
return CELL_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
int cellGemGetTrackerHue()
|
int cellGemGetTrackerHue()
|
||||||
{
|
{
|
||||||
UNIMPLEMENTED_FUNC(cellGem);
|
UNIMPLEMENTED_FUNC(cellGem);
|
||||||
|
|
||||||
|
if (!cellGemInstance.m_bInitialized)
|
||||||
|
return CELL_GEM_ERROR_UNINITIALIZED;
|
||||||
|
|
||||||
return CELL_OK;
|
return CELL_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -188,6 +272,10 @@ int cellGemInit(vm::ptr<CellGemAttribute> attribute)
|
|||||||
int cellGemInvalidateCalibration()
|
int cellGemInvalidateCalibration()
|
||||||
{
|
{
|
||||||
UNIMPLEMENTED_FUNC(cellGem);
|
UNIMPLEMENTED_FUNC(cellGem);
|
||||||
|
|
||||||
|
if (!cellGemInstance.m_bInitialized)
|
||||||
|
return CELL_GEM_ERROR_UNINITIALIZED;
|
||||||
|
|
||||||
return CELL_OK;
|
return CELL_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -200,54 +288,90 @@ int cellGemIsTrackableHue()
|
|||||||
int cellGemPrepareCamera()
|
int cellGemPrepareCamera()
|
||||||
{
|
{
|
||||||
UNIMPLEMENTED_FUNC(cellGem);
|
UNIMPLEMENTED_FUNC(cellGem);
|
||||||
|
|
||||||
|
if (!cellGemInstance.m_bInitialized)
|
||||||
|
return CELL_GEM_ERROR_UNINITIALIZED;
|
||||||
|
|
||||||
return CELL_OK;
|
return CELL_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
int cellGemPrepareVideoConvert()
|
int cellGemPrepareVideoConvert()
|
||||||
{
|
{
|
||||||
UNIMPLEMENTED_FUNC(cellGem);
|
UNIMPLEMENTED_FUNC(cellGem);
|
||||||
|
|
||||||
|
if (!cellGemInstance.m_bInitialized)
|
||||||
|
return CELL_GEM_ERROR_UNINITIALIZED;
|
||||||
|
|
||||||
return CELL_OK;
|
return CELL_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
int cellGemReset()
|
int cellGemReset()
|
||||||
{
|
{
|
||||||
UNIMPLEMENTED_FUNC(cellGem);
|
UNIMPLEMENTED_FUNC(cellGem);
|
||||||
|
|
||||||
|
if (!cellGemInstance.m_bInitialized)
|
||||||
|
return CELL_GEM_ERROR_UNINITIALIZED;
|
||||||
|
|
||||||
return CELL_OK;
|
return CELL_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
int cellGemSetRumble()
|
int cellGemSetRumble()
|
||||||
{
|
{
|
||||||
UNIMPLEMENTED_FUNC(cellGem);
|
UNIMPLEMENTED_FUNC(cellGem);
|
||||||
|
|
||||||
|
if (!cellGemInstance.m_bInitialized)
|
||||||
|
return CELL_GEM_ERROR_UNINITIALIZED;
|
||||||
|
|
||||||
return CELL_OK;
|
return CELL_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
int cellGemSetYaw()
|
int cellGemSetYaw()
|
||||||
{
|
{
|
||||||
UNIMPLEMENTED_FUNC(cellGem);
|
UNIMPLEMENTED_FUNC(cellGem);
|
||||||
|
|
||||||
|
if (!cellGemInstance.m_bInitialized)
|
||||||
|
return CELL_GEM_ERROR_UNINITIALIZED;
|
||||||
|
|
||||||
return CELL_OK;
|
return CELL_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
int cellGemTrackHues()
|
int cellGemTrackHues()
|
||||||
{
|
{
|
||||||
UNIMPLEMENTED_FUNC(cellGem);
|
UNIMPLEMENTED_FUNC(cellGem);
|
||||||
|
|
||||||
|
if (!cellGemInstance.m_bInitialized)
|
||||||
|
return CELL_GEM_ERROR_UNINITIALIZED;
|
||||||
|
|
||||||
return CELL_OK;
|
return CELL_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
int cellGemUpdateFinish()
|
int cellGemUpdateFinish()
|
||||||
{
|
{
|
||||||
UNIMPLEMENTED_FUNC(cellGem);
|
UNIMPLEMENTED_FUNC(cellGem);
|
||||||
|
|
||||||
|
if (!cellGemInstance.m_bInitialized)
|
||||||
|
return CELL_GEM_ERROR_UNINITIALIZED;
|
||||||
|
|
||||||
return CELL_OK;
|
return CELL_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
int cellGemUpdateStart()
|
int cellGemUpdateStart()
|
||||||
{
|
{
|
||||||
UNIMPLEMENTED_FUNC(cellGem);
|
UNIMPLEMENTED_FUNC(cellGem);
|
||||||
|
|
||||||
|
if (!cellGemInstance.m_bInitialized)
|
||||||
|
return CELL_GEM_ERROR_UNINITIALIZED;
|
||||||
|
|
||||||
return CELL_OK;
|
return CELL_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
int cellGemWriteExternalPort()
|
int cellGemWriteExternalPort()
|
||||||
{
|
{
|
||||||
UNIMPLEMENTED_FUNC(cellGem);
|
UNIMPLEMENTED_FUNC(cellGem);
|
||||||
|
|
||||||
|
if (!cellGemInstance.m_bInitialized)
|
||||||
|
return CELL_GEM_ERROR_UNINITIALIZED;
|
||||||
|
|
||||||
return CELL_OK;
|
return CELL_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,40 +1,45 @@
|
|||||||
#include "stdafx.h"
|
#include "stdafx.h"
|
||||||
#if 0
|
#include "Emu/Memory/Memory.h"
|
||||||
|
#include "Emu/System.h"
|
||||||
|
#include "Emu/SysCalls/Modules.h"
|
||||||
|
|
||||||
void cellMic_init();
|
#include "cellMic.h"
|
||||||
Module cellMic(0x0022, cellMic_init);
|
|
||||||
|
|
||||||
// Error Codes
|
Module *cellMic = nullptr;
|
||||||
enum
|
|
||||||
|
struct cellMicInternal
|
||||||
{
|
{
|
||||||
CELL_MICIN_ERROR_ALREADY_INIT = 0x80140101,
|
bool m_bCellMicInitialized;;
|
||||||
CELL_MICIN_ERROR_SYSTEM = 0x80140102,
|
|
||||||
CELL_MICIN_ERROR_NOT_INIT = 0x80140103,
|
cellMicInternal()
|
||||||
CELL_MICIN_ERROR_PARAM = 0x80140104,
|
: m_bCellMicInitialized(false)
|
||||||
CELL_MICIN_ERROR_PORT_FULL = 0x80140105,
|
{
|
||||||
CELL_MICIN_ERROR_ALREADY_OPEN = 0x80140106,
|
}
|
||||||
CELL_MICIN_ERROR_NOT_OPEN = 0x80140107,
|
|
||||||
CELL_MICIN_ERROR_NOT_RUN = 0x80140108,
|
|
||||||
CELL_MICIN_ERROR_TRANS_EVENT = 0x80140109,
|
|
||||||
CELL_MICIN_ERROR_OPEN = 0x8014010a,
|
|
||||||
CELL_MICIN_ERROR_SHAREDMEMORY = 0x8014010b,
|
|
||||||
CELL_MICIN_ERROR_MUTEX = 0x8014010c,
|
|
||||||
CELL_MICIN_ERROR_EVENT_QUEUE = 0x8014010d,
|
|
||||||
CELL_MICIN_ERROR_DEVICE_NOT_FOUND = 0x8014010e,
|
|
||||||
CELL_MICIN_ERROR_SYSTEM_NOT_FOUND = 0x8014010e,
|
|
||||||
CELL_MICIN_ERROR_FATAL = 0x8014010f,
|
|
||||||
CELL_MICIN_ERROR_DEVICE_NOT_SUPPORT = 0x80140110,
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
cellMicInternal CellMicInstance;
|
||||||
|
|
||||||
int cellMicInit()
|
int cellMicInit()
|
||||||
{
|
{
|
||||||
UNIMPLEMENTED_FUNC(cellMic);
|
cellMic->Warning("cellMicInit()");
|
||||||
|
|
||||||
|
if (CellMicInstance.m_bCellMicInitialized)
|
||||||
|
return CELL_MICIN_ERROR_ALREADY_INIT;
|
||||||
|
|
||||||
|
CellMicInstance.m_bCellMicInitialized = true;
|
||||||
|
|
||||||
return CELL_OK;
|
return CELL_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
int cellMicEnd()
|
int cellMicEnd()
|
||||||
{
|
{
|
||||||
UNIMPLEMENTED_FUNC(cellMic);
|
cellMic->Warning("cellMicEnd()");
|
||||||
|
|
||||||
|
if (!CellMicInstance.m_bCellMicInitialized)
|
||||||
|
return CELL_MICIN_ERROR_NOT_INIT;
|
||||||
|
|
||||||
|
CellMicInstance.m_bCellMicInitialized = false;
|
||||||
|
|
||||||
return CELL_OK;
|
return CELL_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -278,54 +283,60 @@ int cellMicGetDeviceIdentifier()
|
|||||||
return CELL_OK;
|
return CELL_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
void cellMic_init()
|
void cellMic_unload()
|
||||||
{
|
{
|
||||||
cellMic.AddFunc(0x8325e02d, cellMicInit);
|
CellMicInstance.m_bCellMicInitialized = false;
|
||||||
cellMic.AddFunc(0xc6328caa, cellMicEnd);
|
}
|
||||||
cellMic.AddFunc(0xdd1b59f0, cellMicOpen);
|
|
||||||
cellMic.AddFunc(0x8d229f8e, cellMicClose);
|
void cellMic_init(Module *pxThis)
|
||||||
|
{
|
||||||
cellMic.AddFunc(0x017024a8, cellMicGetDeviceGUID);
|
cellMic = pxThis;
|
||||||
cellMic.AddFunc(0xa52d2ae4, cellMicGetType);
|
|
||||||
cellMic.AddFunc(0x1b42101b, cellMicIsAttached);
|
cellMic->AddFunc(0x8325e02d, cellMicInit);
|
||||||
cellMic.AddFunc(0x186cb1fb, cellMicIsOpen);
|
cellMic->AddFunc(0xc6328caa, cellMicEnd);
|
||||||
cellMic.AddFunc(0x6a024aa0, cellMicGetDeviceAttr);
|
cellMic->AddFunc(0xdd1b59f0, cellMicOpen);
|
||||||
cellMic.AddFunc(0xb2c16321, cellMicSetDeviceAttr);
|
cellMic->AddFunc(0x8d229f8e, cellMicClose);
|
||||||
cellMic.AddFunc(0xac5ba03a, cellMicGetSignalAttr);
|
|
||||||
cellMic.AddFunc(0x323deb41, cellMicSetSignalAttr);
|
cellMic->AddFunc(0x017024a8, cellMicGetDeviceGUID);
|
||||||
cellMic.AddFunc(0xb30780eb, cellMicGetSignalState);
|
cellMic->AddFunc(0xa52d2ae4, cellMicGetType);
|
||||||
|
cellMic->AddFunc(0x1b42101b, cellMicIsAttached);
|
||||||
cellMic.AddFunc(0xdd724314, cellMicStart);
|
cellMic->AddFunc(0x186cb1fb, cellMicIsOpen);
|
||||||
cellMic.AddFunc(0x07e1b12c, cellMicRead);
|
cellMic->AddFunc(0x6a024aa0, cellMicGetDeviceAttr);
|
||||||
cellMic.AddFunc(0xfcfaf246, cellMicStop);
|
cellMic->AddFunc(0xb2c16321, cellMicSetDeviceAttr);
|
||||||
cellMic.AddFunc(0x6bc46aab, cellMicReset);
|
cellMic->AddFunc(0xac5ba03a, cellMicGetSignalAttr);
|
||||||
|
cellMic->AddFunc(0x323deb41, cellMicSetSignalAttr);
|
||||||
cellMic.AddFunc(0x7903400e, cellMicSetNotifyEventQueue);
|
cellMic->AddFunc(0xb30780eb, cellMicGetSignalState);
|
||||||
cellMic.AddFunc(0x6cc7ae00, cellMicSetNotifyEventQueue2);
|
|
||||||
cellMic.AddFunc(0x65336418, cellMicRemoveNotifyEventQueue);
|
cellMic->AddFunc(0xdd724314, cellMicStart);
|
||||||
|
cellMic->AddFunc(0x07e1b12c, cellMicRead);
|
||||||
cellMic.AddFunc(0x05709bbf, cellMicOpenEx);
|
cellMic->AddFunc(0xfcfaf246, cellMicStop);
|
||||||
cellMic.AddFunc(0xddd19a89, cellMicStartEx);
|
cellMic->AddFunc(0x6bc46aab, cellMicReset);
|
||||||
cellMic.AddFunc(0x4e0b69ee, cellMicGetFormatRaw);
|
|
||||||
cellMic.AddFunc(0xfda12276, cellMicGetFormatAux);
|
cellMic->AddFunc(0x7903400e, cellMicSetNotifyEventQueue);
|
||||||
cellMic.AddFunc(0x87a08d29, cellMicGetFormatDsp);
|
cellMic->AddFunc(0x6cc7ae00, cellMicSetNotifyEventQueue2);
|
||||||
cellMic.AddFunc(0xa42ac07a, cellMicOpenRaw);
|
cellMic->AddFunc(0x65336418, cellMicRemoveNotifyEventQueue);
|
||||||
cellMic.AddFunc(0x72165a7f, cellMicReadRaw);
|
|
||||||
cellMic.AddFunc(0x3acc118e, cellMicReadAux);
|
cellMic->AddFunc(0x05709bbf, cellMicOpenEx);
|
||||||
cellMic.AddFunc(0xc414faa5, cellMicReadDsp);
|
cellMic->AddFunc(0xddd19a89, cellMicStartEx);
|
||||||
|
cellMic->AddFunc(0x4e0b69ee, cellMicGetFormatRaw);
|
||||||
cellMic.AddFunc(0x25c5723f, cellMicGetStatus);
|
cellMic->AddFunc(0xfda12276, cellMicGetFormatAux);
|
||||||
cellMic.AddFunc(0xe839380f, cellMicStopEx);
|
cellMic->AddFunc(0x87a08d29, cellMicGetFormatDsp);
|
||||||
cellMic.AddFunc(0x3ace58f3, cellMicSysShareClose);
|
cellMic->AddFunc(0xa42ac07a, cellMicOpenRaw);
|
||||||
cellMic.AddFunc(0x48108a23, cellMicGetFormat);
|
cellMic->AddFunc(0x72165a7f, cellMicReadRaw);
|
||||||
cellMic.AddFunc(0x891c6291, cellMicSetMultiMicNotifyEventQueue);
|
cellMic->AddFunc(0x3acc118e, cellMicReadAux);
|
||||||
cellMic.AddFunc(0xad049ecf, cellMicGetFormatEx);
|
cellMic->AddFunc(0xc414faa5, cellMicReadDsp);
|
||||||
cellMic.AddFunc(0xbdfd51e2, cellMicSysShareStop);
|
|
||||||
cellMic.AddFunc(0xc3610dbd, cellMicSysShareOpen);
|
cellMic->AddFunc(0x25c5723f, cellMicGetStatus);
|
||||||
cellMic.AddFunc(0xc461563c, cellMicCommand);
|
cellMic->AddFunc(0xe839380f, cellMicStopEx);
|
||||||
cellMic.AddFunc(0xcac7e7d7, cellMicSysShareStart);
|
cellMic->AddFunc(0x3ace58f3, cellMicSysShareClose);
|
||||||
cellMic.AddFunc(0xd127cd3e, cellMicSysShareInit);
|
cellMic->AddFunc(0x48108a23, cellMicGetFormat);
|
||||||
cellMic.AddFunc(0xf82bbf7c, cellMicSysShareEnd);
|
cellMic->AddFunc(0x891c6291, cellMicSetMultiMicNotifyEventQueue);
|
||||||
cellMic.AddFunc(0xfdbbe469, cellMicGetDeviceIdentifier);
|
cellMic->AddFunc(0xad049ecf, cellMicGetFormatEx);
|
||||||
|
cellMic->AddFunc(0xbdfd51e2, cellMicSysShareStop);
|
||||||
|
cellMic->AddFunc(0xc3610dbd, cellMicSysShareOpen);
|
||||||
|
cellMic->AddFunc(0xc461563c, cellMicCommand);
|
||||||
|
cellMic->AddFunc(0xcac7e7d7, cellMicSysShareStart);
|
||||||
|
cellMic->AddFunc(0xd127cd3e, cellMicSysShareInit);
|
||||||
|
cellMic->AddFunc(0xf82bbf7c, cellMicSysShareEnd);
|
||||||
|
cellMic->AddFunc(0xfdbbe469, cellMicGetDeviceIdentifier);
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
@ -962,9 +962,17 @@ int sceNpManagerGetAccountAge()
|
|||||||
return CELL_OK;
|
return CELL_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
int sceNpManagerGetContentRatingFlag()
|
int sceNpManagerGetContentRatingFlag(vm::ptr<u32> isRestricted, vm::ptr<u32> age)
|
||||||
{
|
{
|
||||||
UNIMPLEMENTED_FUNC(sceNp);
|
sceNp->Warning("sceNpManagerGetContentRatingFlag(isRestricted=%d, age=%d)", isRestricted, age);
|
||||||
|
|
||||||
|
if (!sceNpInstance.m_bSceNpInitialized)
|
||||||
|
return SCE_NP_ERROR_NOT_INITIALIZED;
|
||||||
|
|
||||||
|
// TODO: read user's parental control information
|
||||||
|
*isRestricted = 0;
|
||||||
|
*age = 18;
|
||||||
|
|
||||||
return CELL_OK;
|
return CELL_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
23
rpcs3/cellMic.h
Normal file
23
rpcs3/cellMic.h
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
#pragma once
|
||||||
|
|
||||||
|
// Error Codes
|
||||||
|
enum
|
||||||
|
{
|
||||||
|
CELL_MICIN_ERROR_ALREADY_INIT = 0x80140101,
|
||||||
|
CELL_MICIN_ERROR_SYSTEM = 0x80140102,
|
||||||
|
CELL_MICIN_ERROR_NOT_INIT = 0x80140103,
|
||||||
|
CELL_MICIN_ERROR_PARAM = 0x80140104,
|
||||||
|
CELL_MICIN_ERROR_PORT_FULL = 0x80140105,
|
||||||
|
CELL_MICIN_ERROR_ALREADY_OPEN = 0x80140106,
|
||||||
|
CELL_MICIN_ERROR_NOT_OPEN = 0x80140107,
|
||||||
|
CELL_MICIN_ERROR_NOT_RUN = 0x80140108,
|
||||||
|
CELL_MICIN_ERROR_TRANS_EVENT = 0x80140109,
|
||||||
|
CELL_MICIN_ERROR_OPEN = 0x8014010a,
|
||||||
|
CELL_MICIN_ERROR_SHAREDMEMORY = 0x8014010b,
|
||||||
|
CELL_MICIN_ERROR_MUTEX = 0x8014010c,
|
||||||
|
CELL_MICIN_ERROR_EVENT_QUEUE = 0x8014010d,
|
||||||
|
CELL_MICIN_ERROR_DEVICE_NOT_FOUND = 0x8014010e,
|
||||||
|
CELL_MICIN_ERROR_SYSTEM_NOT_FOUND = 0x8014010e,
|
||||||
|
CELL_MICIN_ERROR_FATAL = 0x8014010f,
|
||||||
|
CELL_MICIN_ERROR_DEVICE_NOT_SUPPORT = 0x80140110,
|
||||||
|
};
|
@ -244,6 +244,7 @@
|
|||||||
<ClInclude Include="..\Utilities\StrFmt.h" />
|
<ClInclude Include="..\Utilities\StrFmt.h" />
|
||||||
<ClInclude Include="..\Utilities\Thread.h" />
|
<ClInclude Include="..\Utilities\Thread.h" />
|
||||||
<ClInclude Include="..\Utilities\Timer.h" />
|
<ClInclude Include="..\Utilities\Timer.h" />
|
||||||
|
<ClInclude Include="cellMic.h" />
|
||||||
<ClInclude Include="Crypto\aes.h" />
|
<ClInclude Include="Crypto\aes.h" />
|
||||||
<ClInclude Include="Crypto\ec.h" />
|
<ClInclude Include="Crypto\ec.h" />
|
||||||
<ClInclude Include="Crypto\key_vault.h" />
|
<ClInclude Include="Crypto\key_vault.h" />
|
||||||
|
@ -422,9 +422,6 @@
|
|||||||
<ClCompile Include="Emu\SysCalls\Modules\cellLv2dbg.cpp">
|
<ClCompile Include="Emu\SysCalls\Modules\cellLv2dbg.cpp">
|
||||||
<Filter>Emu\SysCalls\currently_unused</Filter>
|
<Filter>Emu\SysCalls\currently_unused</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<ClCompile Include="Emu\SysCalls\Modules\cellMic.cpp">
|
|
||||||
<Filter>Emu\SysCalls\currently_unused</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="Emu\SysCalls\Modules\cellMusicDecode.cpp">
|
<ClCompile Include="Emu\SysCalls\Modules\cellMusicDecode.cpp">
|
||||||
<Filter>Emu\SysCalls\currently_unused</Filter>
|
<Filter>Emu\SysCalls\currently_unused</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
@ -626,6 +623,9 @@
|
|||||||
<ClCompile Include="Crypto\ec.cpp">
|
<ClCompile Include="Crypto\ec.cpp">
|
||||||
<Filter>Crypto</Filter>
|
<Filter>Crypto</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
|
<ClCompile Include="Emu\SysCalls\Modules\cellMic.cpp">
|
||||||
|
<Filter>Emu\SysCalls\Modules</Filter>
|
||||||
|
</ClCompile>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClInclude Include="Crypto\aes.h">
|
<ClInclude Include="Crypto\aes.h">
|
||||||
@ -1231,5 +1231,8 @@
|
|||||||
<ClInclude Include="Crypto\ec.h">
|
<ClInclude Include="Crypto\ec.h">
|
||||||
<Filter>Crypto</Filter>
|
<Filter>Crypto</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
|
<ClInclude Include="cellMic.h">
|
||||||
|
<Filter>Emu\SysCalls\Modules</Filter>
|
||||||
|
</ClInclude>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
</Project>
|
</Project>
|
Loading…
Reference in New Issue
Block a user