Variadic templates for module logs

Two new module log types: Todo() and Notice()
This commit is contained in:
Nekotekina 2014-07-21 18:42:43 +04:00
parent da8194d659
commit 640de81571
29 changed files with 233 additions and 235 deletions

View file

@ -158,60 +158,6 @@ void Module::SetName(const std::string& name)
m_name = name; m_name = name;
} }
void Module::Log(const u32 id, std::string fmt, ...)
{
if(Ini.HLELogging.GetValue())
{
va_list list;
va_start(list, fmt);
LOG_NOTICE(HLE, GetName() + fmt::Format("[%d]: ", id) + fmt::FormatV(fmt, list));
va_end(list);
}
}
void Module::Log(std::string fmt, ...)
{
if(Ini.HLELogging.GetValue())
{
va_list list;
va_start(list, fmt);
LOG_NOTICE(HLE, GetName() + ": " + fmt::FormatV(fmt, list));
va_end(list);
}
}
void Module::Warning(const u32 id, std::string fmt, ...)
{
va_list list;
va_start(list, fmt);
LOG_WARNING(HLE, GetName() + fmt::Format("[%d] warning: ", id) + fmt::FormatV(fmt, list));
va_end(list);
}
void Module::Warning(std::string fmt, ...)
{
va_list list;
va_start(list, fmt);
LOG_WARNING(HLE, GetName() + " warning: " + fmt::FormatV(fmt, list));
va_end(list);
}
void Module::Error(const u32 id, std::string fmt, ...)
{
va_list list;
va_start(list, fmt);
LOG_ERROR(HLE, GetName() + fmt::Format("[%d] error: ", id) + fmt::FormatV(fmt, list));
va_end(list);
}
void Module::Error(std::string fmt, ...)
{
va_list list;
va_start(list, fmt);
LOG_ERROR(HLE, GetName() + " error: " + fmt::FormatV(fmt, list));
va_end(list);
}
bool Module::CheckID(u32 id) const bool Module::CheckID(u32 id) const
{ {
return Emu.GetIdManager().CheckID(id) && Emu.GetIdManager().GetID(id).m_name == GetName(); return Emu.GetIdManager().CheckID(id) && Emu.GetIdManager().GetID(id).m_name == GetName();

View file

@ -77,15 +77,66 @@ public:
void SetName(const std::string& name); void SetName(const std::string& name);
public: public:
//TODO: use variadic function templates here to be able to use string references and forward all arguments without copying bool IsLogging()
void Log(const u32 id, std::string fmt, ...); {
void Log(std::string fmt, ...); return Ini.HLELogging.GetValue();
}
void Warning(const u32 id, std::string fmt, ...); template<typename... Targs> void Notice(const u32 id, const char* fmt, Targs... args)
void Warning(std::string fmt, ...); {
LOG_NOTICE(HLE, GetName() + fmt::Format("[%d]: ", id) + fmt::Format(fmt, args...));
}
void Error(const u32 id, std::string fmt, ...); template<typename... Targs> void Notice(const char* fmt, Targs... args)
void Error(std::string fmt, ...); {
LOG_NOTICE(HLE, GetName() + ": " + fmt::Format(fmt, args...));
}
template<typename... Targs> __forceinline void Log(const char* fmt, Targs... args)
{
if (IsLogging())
{
Notice(fmt, args...);
}
}
template<typename... Targs> __forceinline void Log(const u32 id, const char* fmt, Targs... args)
{
if (IsLogging())
{
Notice(id, fmt, args...);
}
}
template<typename... Targs> void Warning(const u32 id, const char* fmt, Targs... args)
{
LOG_WARNING(HLE, GetName() + fmt::Format("[%d] warning: ", id) + fmt::Format(fmt, args...));
}
template<typename... Targs> void Warning(const char* fmt, Targs... args)
{
LOG_WARNING(HLE, GetName() + " warning: " + fmt::Format(fmt, args...));
}
template<typename... Targs> void Error(const u32 id, const char* fmt, Targs... args)
{
LOG_ERROR(HLE, GetName() + fmt::Format("[%d] error: ", id) + fmt::Format(fmt, args...));
}
template<typename... Targs> void Error(const char* fmt, Targs... args)
{
LOG_ERROR(HLE, GetName() + " error: " + fmt::Format(fmt, args...));
}
template<typename... Targs> void Todo(const u32 id, const char* fmt, Targs... args)
{
LOG_ERROR(HLE, GetName() + fmt::Format("[%d] TODO: ", id) + fmt::Format(fmt, args...));
}
template<typename... Targs> void Todo(const char* fmt, Targs... args)
{
LOG_ERROR(HLE, GetName() + " TODO: " + fmt::Format(fmt, args...));
}
bool CheckID(u32 id) const; bool CheckID(u32 id) const;
template<typename T> bool CheckId(u32 id, T*& data) template<typename T> bool CheckId(u32 id, T*& data)

View file

@ -534,7 +534,7 @@ bool adecCheckType(AudioCodecType type)
case CELL_ADEC_TYPE_CELP: case CELL_ADEC_TYPE_CELP:
case CELL_ADEC_TYPE_M4AAC: case CELL_ADEC_TYPE_M4AAC:
case CELL_ADEC_TYPE_CELP8: case CELL_ADEC_TYPE_CELP8:
cellAdec->Error("Unimplemented audio codec type (%d)", type); cellAdec->Todo("Unimplemented audio codec type (%d)", type);
break; break;
default: default:
return false; return false;
@ -640,7 +640,7 @@ int cellAdecStartSeq(u32 handle, u32 param_addr)
} }
else*/ else*/
{ {
cellAdec->Warning("cellAdecStartSeq: (TODO) initialization"); cellAdec->Todo("cellAdecStartSeq(): initialization");
} }
adec->job.Push(task); adec->job.Push(task);

View file

@ -10,7 +10,7 @@ Module *cellAtrac = nullptr;
int cellAtracSetDataAndGetMemSize(mem_ptr_t<CellAtracHandle> pHandle, u32 pucBufferAddr, u32 uiReadByte, u32 uiBufferByte, mem32_t puiWorkMemByte) int cellAtracSetDataAndGetMemSize(mem_ptr_t<CellAtracHandle> pHandle, u32 pucBufferAddr, u32 uiReadByte, u32 uiBufferByte, mem32_t puiWorkMemByte)
{ {
cellAtrac->Error("cellAtracSetDataAndGetMemSize(pHandle=0x%x, pucBufferAddr=0x%x, uiReadByte=0x%x, uiBufferByte=0x%x, puiWorkMemByte_addr=0x%x)", cellAtrac->Todo("cellAtracSetDataAndGetMemSize(pHandle=0x%x, pucBufferAddr=0x%x, uiReadByte=0x%x, uiBufferByte=0x%x, puiWorkMemByte_addr=0x%x)",
pHandle.GetAddr(), pucBufferAddr, uiReadByte, uiBufferByte, puiWorkMemByte.GetAddr()); pHandle.GetAddr(), pucBufferAddr, uiReadByte, uiBufferByte, puiWorkMemByte.GetAddr());
puiWorkMemByte = 0x1000; // unproved puiWorkMemByte = 0x1000; // unproved
@ -19,7 +19,7 @@ int cellAtracSetDataAndGetMemSize(mem_ptr_t<CellAtracHandle> pHandle, u32 pucBuf
int cellAtracCreateDecoder(mem_ptr_t<CellAtracHandle> pHandle, u32 pucWorkMem_addr, u32 uiPpuThreadPriority, u32 uiSpuThreadPriority) int cellAtracCreateDecoder(mem_ptr_t<CellAtracHandle> pHandle, u32 pucWorkMem_addr, u32 uiPpuThreadPriority, u32 uiSpuThreadPriority)
{ {
cellAtrac->Error("cellAtracCreateDecoder(pHandle=0x%x, pucWorkMem_addr=0x%x, uiPpuThreadPriority=%d, uiSpuThreadPriority=%d)", cellAtrac->Todo("cellAtracCreateDecoder(pHandle=0x%x, pucWorkMem_addr=0x%x, uiPpuThreadPriority=%d, uiSpuThreadPriority=%d)",
pHandle.GetAddr(), pucWorkMem_addr, uiPpuThreadPriority, uiSpuThreadPriority); pHandle.GetAddr(), pucWorkMem_addr, uiPpuThreadPriority, uiSpuThreadPriority);
pHandle->data.pucWorkMem_addr = pucWorkMem_addr; pHandle->data.pucWorkMem_addr = pucWorkMem_addr;
@ -28,7 +28,7 @@ int cellAtracCreateDecoder(mem_ptr_t<CellAtracHandle> pHandle, u32 pucWorkMem_ad
int cellAtracCreateDecoderExt(mem_ptr_t<CellAtracHandle> pHandle, u32 pucWorkMem_addr, u32 uiPpuThreadPriority, mem_ptr_t<CellAtracExtRes> pExtRes) int cellAtracCreateDecoderExt(mem_ptr_t<CellAtracHandle> pHandle, u32 pucWorkMem_addr, u32 uiPpuThreadPriority, mem_ptr_t<CellAtracExtRes> pExtRes)
{ {
cellAtrac->Error("cellAtracCreateDecoderExt(pHandle=0x%x, pucWorkMem_addr=0x%x, uiPpuThreadPriority=%d, pExtRes_addr=0x%x)", cellAtrac->Todo("cellAtracCreateDecoderExt(pHandle=0x%x, pucWorkMem_addr=0x%x, uiPpuThreadPriority=%d, pExtRes_addr=0x%x)",
pHandle.GetAddr(), pucWorkMem_addr, uiPpuThreadPriority, pExtRes.GetAddr()); pHandle.GetAddr(), pucWorkMem_addr, uiPpuThreadPriority, pExtRes.GetAddr());
pHandle->data.pucWorkMem_addr = pucWorkMem_addr; pHandle->data.pucWorkMem_addr = pucWorkMem_addr;
@ -37,13 +37,13 @@ int cellAtracCreateDecoderExt(mem_ptr_t<CellAtracHandle> pHandle, u32 pucWorkMem
int cellAtracDeleteDecoder(mem_ptr_t<CellAtracHandle> pHandle) int cellAtracDeleteDecoder(mem_ptr_t<CellAtracHandle> pHandle)
{ {
cellAtrac->Error("cellAtracDeleteDecoder(pHandle=0x%x)", pHandle.GetAddr()); cellAtrac->Todo("cellAtracDeleteDecoder(pHandle=0x%x)", pHandle.GetAddr());
return CELL_OK; return CELL_OK;
} }
int cellAtracDecode(mem_ptr_t<CellAtracHandle> pHandle, u32 pfOutAddr, mem32_t puiSamples, mem32_t puiFinishflag, mem32_t piRemainFrame) int cellAtracDecode(mem_ptr_t<CellAtracHandle> pHandle, u32 pfOutAddr, mem32_t puiSamples, mem32_t puiFinishflag, mem32_t piRemainFrame)
{ {
cellAtrac->Error("cellAtracDecode(pHandle=0x%x, pfOutAddr=0x%x, puiSamples_addr=0x%x, puiFinishFlag_addr=0x%x, piRemainFrame_addr=0x%x)", cellAtrac->Todo("cellAtracDecode(pHandle=0x%x, pfOutAddr=0x%x, puiSamples_addr=0x%x, puiFinishFlag_addr=0x%x, piRemainFrame_addr=0x%x)",
pHandle.GetAddr(), pfOutAddr, puiSamples.GetAddr(), puiFinishflag.GetAddr(), piRemainFrame.GetAddr()); pHandle.GetAddr(), pfOutAddr, puiSamples.GetAddr(), puiFinishflag.GetAddr(), piRemainFrame.GetAddr());
puiSamples = 0; puiSamples = 0;
@ -54,7 +54,7 @@ int cellAtracDecode(mem_ptr_t<CellAtracHandle> pHandle, u32 pfOutAddr, mem32_t p
int cellAtracGetStreamDataInfo(mem_ptr_t<CellAtracHandle> pHandle, mem32_t ppucWritePointer, mem32_t puiWritableByte, mem32_t puiReadPosition) int cellAtracGetStreamDataInfo(mem_ptr_t<CellAtracHandle> pHandle, mem32_t ppucWritePointer, mem32_t puiWritableByte, mem32_t puiReadPosition)
{ {
cellAtrac->Error("cellAtracGetStreamDataInfo(pHandle=0x%x, ppucWritePointer_addr=0x%x, puiWritableByte_addr=0x%x, puiReadPosition_addr=0x%x)", cellAtrac->Todo("cellAtracGetStreamDataInfo(pHandle=0x%x, ppucWritePointer_addr=0x%x, puiWritableByte_addr=0x%x, puiReadPosition_addr=0x%x)",
pHandle.GetAddr(), ppucWritePointer.GetAddr(), puiWritableByte.GetAddr(), puiReadPosition.GetAddr()); pHandle.GetAddr(), ppucWritePointer.GetAddr(), puiWritableByte.GetAddr(), puiReadPosition.GetAddr());
ppucWritePointer = pHandle->data.pucWorkMem_addr; ppucWritePointer = pHandle->data.pucWorkMem_addr;
@ -65,13 +65,13 @@ int cellAtracGetStreamDataInfo(mem_ptr_t<CellAtracHandle> pHandle, mem32_t ppucW
int cellAtracAddStreamData(mem_ptr_t<CellAtracHandle> pHandle, u32 uiAddByte) int cellAtracAddStreamData(mem_ptr_t<CellAtracHandle> pHandle, u32 uiAddByte)
{ {
cellAtrac->Error("cellAtracAddStreamData(pHandle=0x%x, uiAddByte=0x%x)", pHandle.GetAddr(), uiAddByte); cellAtrac->Todo("cellAtracAddStreamData(pHandle=0x%x, uiAddByte=0x%x)", pHandle.GetAddr(), uiAddByte);
return CELL_OK; return CELL_OK;
} }
int cellAtracGetRemainFrame(mem_ptr_t<CellAtracHandle> pHandle, mem32_t piRemainFrame) int cellAtracGetRemainFrame(mem_ptr_t<CellAtracHandle> pHandle, mem32_t piRemainFrame)
{ {
cellAtrac->Error("cellAtracGetRemainFrame(pHandle=0x%x, piRemainFrame_addr=0x%x)", pHandle.GetAddr(), piRemainFrame.GetAddr()); cellAtrac->Todo("cellAtracGetRemainFrame(pHandle=0x%x, piRemainFrame_addr=0x%x)", pHandle.GetAddr(), piRemainFrame.GetAddr());
piRemainFrame = CELL_ATRAC_ALLDATA_IS_ON_MEMORY; piRemainFrame = CELL_ATRAC_ALLDATA_IS_ON_MEMORY;
return CELL_OK; return CELL_OK;
@ -79,7 +79,7 @@ int cellAtracGetRemainFrame(mem_ptr_t<CellAtracHandle> pHandle, mem32_t piRemain
int cellAtracGetVacantSize(mem_ptr_t<CellAtracHandle> pHandle, mem32_t puiVacantSize) int cellAtracGetVacantSize(mem_ptr_t<CellAtracHandle> pHandle, mem32_t puiVacantSize)
{ {
cellAtrac->Error("cellAtracGetVacantSize(pHandle=0x%x, puiVacantSize_addr=0x%x)", pHandle.GetAddr(), puiVacantSize.GetAddr()); cellAtrac->Todo("cellAtracGetVacantSize(pHandle=0x%x, puiVacantSize_addr=0x%x)", pHandle.GetAddr(), puiVacantSize.GetAddr());
puiVacantSize = 0x1000; puiVacantSize = 0x1000;
return CELL_OK; return CELL_OK;
@ -87,13 +87,13 @@ int cellAtracGetVacantSize(mem_ptr_t<CellAtracHandle> pHandle, mem32_t puiVacant
int cellAtracIsSecondBufferNeeded(mem_ptr_t<CellAtracHandle> pHandle) int cellAtracIsSecondBufferNeeded(mem_ptr_t<CellAtracHandle> pHandle)
{ {
cellAtrac->Error("cellAtracIsSecondBufferNeeded(pHandle=0x%x)", pHandle.GetAddr()); cellAtrac->Todo("cellAtracIsSecondBufferNeeded(pHandle=0x%x)", pHandle.GetAddr());
return CELL_OK; return CELL_OK;
} }
int cellAtracGetSecondBufferInfo(mem_ptr_t<CellAtracHandle> pHandle, mem32_t puiReadPosition, mem32_t puiDataByte) int cellAtracGetSecondBufferInfo(mem_ptr_t<CellAtracHandle> pHandle, mem32_t puiReadPosition, mem32_t puiDataByte)
{ {
cellAtrac->Error("cellAtracGetSecondBufferInfo(pHandle=0x%x, puiReadPosition_addr=0x%x, puiDataByte_addr=0x%x)", cellAtrac->Todo("cellAtracGetSecondBufferInfo(pHandle=0x%x, puiReadPosition_addr=0x%x, puiDataByte_addr=0x%x)",
pHandle.GetAddr(), puiReadPosition.GetAddr(), puiDataByte.GetAddr()); pHandle.GetAddr(), puiReadPosition.GetAddr(), puiDataByte.GetAddr());
puiReadPosition = 0; puiReadPosition = 0;
@ -103,14 +103,14 @@ int cellAtracGetSecondBufferInfo(mem_ptr_t<CellAtracHandle> pHandle, mem32_t pui
int cellAtracSetSecondBuffer(mem_ptr_t<CellAtracHandle> pHandle, u32 pucSecondBufferAddr, u32 uiSecondBufferByte) int cellAtracSetSecondBuffer(mem_ptr_t<CellAtracHandle> pHandle, u32 pucSecondBufferAddr, u32 uiSecondBufferByte)
{ {
cellAtrac->Error("cellAtracSetSecondBuffer(pHandle=0x%x, pucSecondBufferAddr=0x%x, uiSecondBufferByte=0x%x)", cellAtrac->Todo("cellAtracSetSecondBuffer(pHandle=0x%x, pucSecondBufferAddr=0x%x, uiSecondBufferByte=0x%x)",
pHandle.GetAddr(), pucSecondBufferAddr, uiSecondBufferByte); pHandle.GetAddr(), pucSecondBufferAddr, uiSecondBufferByte);
return CELL_OK; return CELL_OK;
} }
int cellAtracGetChannel(mem_ptr_t<CellAtracHandle> pHandle, mem32_t puiChannel) int cellAtracGetChannel(mem_ptr_t<CellAtracHandle> pHandle, mem32_t puiChannel)
{ {
cellAtrac->Error("cellAtracGetChannel(pHandle=0x%x, puiChannel_addr=0x%x)", pHandle.GetAddr(), puiChannel.GetAddr()); cellAtrac->Todo("cellAtracGetChannel(pHandle=0x%x, puiChannel_addr=0x%x)", pHandle.GetAddr(), puiChannel.GetAddr());
puiChannel = 2; puiChannel = 2;
return CELL_OK; return CELL_OK;
@ -118,7 +118,7 @@ int cellAtracGetChannel(mem_ptr_t<CellAtracHandle> pHandle, mem32_t puiChannel)
int cellAtracGetMaxSample(mem_ptr_t<CellAtracHandle> pHandle, mem32_t puiMaxSample) int cellAtracGetMaxSample(mem_ptr_t<CellAtracHandle> pHandle, mem32_t puiMaxSample)
{ {
cellAtrac->Error("cellAtracGetMaxSample(pHandle=0x%x, puiMaxSample_addr=0x%x)", pHandle.GetAddr(), puiMaxSample.GetAddr()); cellAtrac->Todo("cellAtracGetMaxSample(pHandle=0x%x, puiMaxSample_addr=0x%x)", pHandle.GetAddr(), puiMaxSample.GetAddr());
puiMaxSample = 512; puiMaxSample = 512;
return CELL_OK; return CELL_OK;
@ -126,7 +126,7 @@ int cellAtracGetMaxSample(mem_ptr_t<CellAtracHandle> pHandle, mem32_t puiMaxSamp
int cellAtracGetNextSample(mem_ptr_t<CellAtracHandle> pHandle, mem32_t puiNextSample) int cellAtracGetNextSample(mem_ptr_t<CellAtracHandle> pHandle, mem32_t puiNextSample)
{ {
cellAtrac->Error("cellAtracGetNextSample(pHandle=0x%x, puiNextSample_addr=0x%x)", pHandle.GetAddr(), puiNextSample.GetAddr()); cellAtrac->Todo("cellAtracGetNextSample(pHandle=0x%x, puiNextSample_addr=0x%x)", pHandle.GetAddr(), puiNextSample.GetAddr());
puiNextSample = 0; puiNextSample = 0;
return CELL_OK; return CELL_OK;
@ -134,7 +134,7 @@ int cellAtracGetNextSample(mem_ptr_t<CellAtracHandle> pHandle, mem32_t puiNextSa
int cellAtracGetSoundInfo(mem_ptr_t<CellAtracHandle> pHandle, mem32_t piEndSample, mem32_t piLoopStartSample, mem32_t piLoopEndSample) int cellAtracGetSoundInfo(mem_ptr_t<CellAtracHandle> pHandle, mem32_t piEndSample, mem32_t piLoopStartSample, mem32_t piLoopEndSample)
{ {
cellAtrac->Error("cellAtracGetSoundInfo(pHandle=0x%x, piEndSample_addr=0x%x, piLoopStartSample_addr=0x%x, piLoopEndSample_addr=0x%x)", cellAtrac->Todo("cellAtracGetSoundInfo(pHandle=0x%x, piEndSample_addr=0x%x, piLoopStartSample_addr=0x%x, piLoopEndSample_addr=0x%x)",
pHandle.GetAddr(), piEndSample.GetAddr(), piLoopStartSample.GetAddr(), piLoopEndSample.GetAddr()); pHandle.GetAddr(), piEndSample.GetAddr(), piLoopStartSample.GetAddr(), piLoopEndSample.GetAddr());
piEndSample = 0; piEndSample = 0;
@ -145,7 +145,7 @@ int cellAtracGetSoundInfo(mem_ptr_t<CellAtracHandle> pHandle, mem32_t piEndSampl
int cellAtracGetNextDecodePosition(mem_ptr_t<CellAtracHandle> pHandle, mem32_t puiSamplePosition) int cellAtracGetNextDecodePosition(mem_ptr_t<CellAtracHandle> pHandle, mem32_t puiSamplePosition)
{ {
cellAtrac->Error("cellAtracGetNextDecodePosition(pHandle=0x%x, puiSamplePosition_addr=0x%x)", cellAtrac->Todo("cellAtracGetNextDecodePosition(pHandle=0x%x, puiSamplePosition_addr=0x%x)",
pHandle.GetAddr(), puiSamplePosition.GetAddr()); pHandle.GetAddr(), puiSamplePosition.GetAddr());
puiSamplePosition = 0; puiSamplePosition = 0;
@ -154,7 +154,7 @@ int cellAtracGetNextDecodePosition(mem_ptr_t<CellAtracHandle> pHandle, mem32_t p
int cellAtracGetBitrate(mem_ptr_t<CellAtracHandle> pHandle, mem32_t puiBitrate) int cellAtracGetBitrate(mem_ptr_t<CellAtracHandle> pHandle, mem32_t puiBitrate)
{ {
cellAtrac->Error("cellAtracGetBitrate(pHandle=0x%x, puiBitrate_addr=0x%x)", cellAtrac->Todo("cellAtracGetBitrate(pHandle=0x%x, puiBitrate_addr=0x%x)",
pHandle.GetAddr(), puiBitrate.GetAddr()); pHandle.GetAddr(), puiBitrate.GetAddr());
puiBitrate = 128; puiBitrate = 128;
@ -163,7 +163,7 @@ int cellAtracGetBitrate(mem_ptr_t<CellAtracHandle> pHandle, mem32_t puiBitrate)
int cellAtracGetLoopInfo(mem_ptr_t<CellAtracHandle> pHandle, mem32_t piLoopNum, mem32_t puiLoopStatus) int cellAtracGetLoopInfo(mem_ptr_t<CellAtracHandle> pHandle, mem32_t piLoopNum, mem32_t puiLoopStatus)
{ {
cellAtrac->Error("cellAtracGetLoopInfo(pHandle=0x%x, piLoopNum_addr=0x%x, puiLoopStatus_addr=0x%x)", cellAtrac->Todo("cellAtracGetLoopInfo(pHandle=0x%x, piLoopNum_addr=0x%x, puiLoopStatus_addr=0x%x)",
pHandle.GetAddr(), piLoopNum.GetAddr(), puiLoopStatus.GetAddr()); pHandle.GetAddr(), piLoopNum.GetAddr(), puiLoopStatus.GetAddr());
piLoopNum = 0; piLoopNum = 0;
@ -173,13 +173,13 @@ int cellAtracGetLoopInfo(mem_ptr_t<CellAtracHandle> pHandle, mem32_t piLoopNum,
int cellAtracSetLoopNum(mem_ptr_t<CellAtracHandle> pHandle, int iLoopNum) int cellAtracSetLoopNum(mem_ptr_t<CellAtracHandle> pHandle, int iLoopNum)
{ {
cellAtrac->Error("cellAtracSetLoopNum(pHandle=0x%x, iLoopNum=0x%x)", pHandle.GetAddr(), iLoopNum); cellAtrac->Todo("cellAtracSetLoopNum(pHandle=0x%x, iLoopNum=0x%x)", pHandle.GetAddr(), iLoopNum);
return CELL_OK; return CELL_OK;
} }
int cellAtracGetBufferInfoForResetting(mem_ptr_t<CellAtracHandle> pHandle, u32 uiSample, mem_ptr_t<CellAtracBufferInfo> pBufferInfo) int cellAtracGetBufferInfoForResetting(mem_ptr_t<CellAtracHandle> pHandle, u32 uiSample, mem_ptr_t<CellAtracBufferInfo> pBufferInfo)
{ {
cellAtrac->Error("cellAtracGetBufferInfoForResetting(pHandle=0x%x, uiSample=0x%x, pBufferInfo_addr=0x%x)", cellAtrac->Todo("cellAtracGetBufferInfoForResetting(pHandle=0x%x, uiSample=0x%x, pBufferInfo_addr=0x%x)",
pHandle.GetAddr(), uiSample, pBufferInfo.GetAddr()); pHandle.GetAddr(), uiSample, pBufferInfo.GetAddr());
pBufferInfo->pucWriteAddr = pHandle->data.pucWorkMem_addr; pBufferInfo->pucWriteAddr = pHandle->data.pucWorkMem_addr;
@ -191,14 +191,14 @@ int cellAtracGetBufferInfoForResetting(mem_ptr_t<CellAtracHandle> pHandle, u32 u
int cellAtracResetPlayPosition(mem_ptr_t<CellAtracHandle> pHandle, u32 uiSample, u32 uiWriteByte) int cellAtracResetPlayPosition(mem_ptr_t<CellAtracHandle> pHandle, u32 uiSample, u32 uiWriteByte)
{ {
cellAtrac->Error("cellAtracResetPlayPosition(pHandle=0x%x, uiSample=0x%x, uiWriteByte=0x%x)", cellAtrac->Todo("cellAtracResetPlayPosition(pHandle=0x%x, uiSample=0x%x, uiWriteByte=0x%x)",
pHandle.GetAddr(), uiSample, uiWriteByte); pHandle.GetAddr(), uiSample, uiWriteByte);
return CELL_OK; return CELL_OK;
} }
int cellAtracGetInternalErrorInfo(mem_ptr_t<CellAtracHandle> pHandle, mem32_t piResult) int cellAtracGetInternalErrorInfo(mem_ptr_t<CellAtracHandle> pHandle, mem32_t piResult)
{ {
cellAtrac->Error("cellAtracGetInternalErrorInfo(pHandle=0x%x, piResult_addr=0x%x)", cellAtrac->Todo("cellAtracGetInternalErrorInfo(pHandle=0x%x, piResult_addr=0x%x)",
pHandle.GetAddr(), piResult.GetAddr()); pHandle.GetAddr(), piResult.GetAddr());
piResult = 0; piResult = 0;

View file

@ -736,7 +736,7 @@ int cellAudioGetPortBlockTag(u32 portNum, u64 blockNo, mem64_t tag)
int cellAudioSetPortLevel(u32 portNum, float level) int cellAudioSetPortLevel(u32 portNum, float level)
{ {
cellAudio->Error("cellAudioSetPortLevel(portNum=0x%x, level=%f)", portNum, level); cellAudio->Todo("cellAudioSetPortLevel(portNum=0x%x, level=%f)", portNum, level);
return CELL_OK; return CELL_OK;
} }
@ -771,7 +771,7 @@ int cellAudioCreateNotifyEventQueue(mem32_t id, mem64_t key)
int cellAudioCreateNotifyEventQueueEx(mem32_t id, mem64_t key, u32 iFlags) int cellAudioCreateNotifyEventQueueEx(mem32_t id, mem64_t key, u32 iFlags)
{ {
cellAudio->Error("cellAudioCreateNotifyEventQueueEx(id_addr=0x%x, key_addr=0x%x, iFlags=0x%x)", id.GetAddr(), key.GetAddr(), iFlags); cellAudio->Todo("cellAudioCreateNotifyEventQueueEx(id_addr=0x%x, key_addr=0x%x, iFlags=0x%x)", id.GetAddr(), key.GetAddr(), iFlags);
return CELL_OK; return CELL_OK;
} }
@ -803,7 +803,7 @@ int cellAudioSetNotifyEventQueue(u64 key)
int cellAudioSetNotifyEventQueueEx(u64 key, u32 iFlags) int cellAudioSetNotifyEventQueueEx(u64 key, u32 iFlags)
{ {
cellAudio->Error("cellAudioSetNotifyEventQueueEx(key=0x%llx, iFlags=0x%x)", key, iFlags); cellAudio->Todo("cellAudioSetNotifyEventQueueEx(key=0x%llx, iFlags=0x%x)", key, iFlags);
return CELL_OK; return CELL_OK;
} }
@ -843,49 +843,49 @@ int cellAudioRemoveNotifyEventQueue(u64 key)
int cellAudioRemoveNotifyEventQueueEx(u64 key, u32 iFlags) int cellAudioRemoveNotifyEventQueueEx(u64 key, u32 iFlags)
{ {
cellAudio->Error("cellAudioRemoveNotifyEventQueueEx(key=0x%llx, iFlags=0x%x)", key, iFlags); cellAudio->Todo("cellAudioRemoveNotifyEventQueueEx(key=0x%llx, iFlags=0x%x)", key, iFlags);
return CELL_OK; return CELL_OK;
} }
int cellAudioAddData(u32 portNum, mem32_t src, u32 samples, float volume) int cellAudioAddData(u32 portNum, mem32_t src, u32 samples, float volume)
{ {
cellAudio->Error("cellAudioAddData(portNum=0x%x, src_addr=0x%x, samples=%d, volume=%f)", portNum, src.GetAddr(), samples, volume); cellAudio->Todo("cellAudioAddData(portNum=0x%x, src_addr=0x%x, samples=%d, volume=%f)", portNum, src.GetAddr(), samples, volume);
return CELL_OK; return CELL_OK;
} }
int cellAudioAdd2chData(u32 portNum, mem32_t src, u32 samples, float volume) int cellAudioAdd2chData(u32 portNum, mem32_t src, u32 samples, float volume)
{ {
cellAudio->Error("cellAudioAdd2chData(portNum=0x%x, src_addr=0x%x, samples=%d, volume=%f)", portNum, src.GetAddr(), samples, volume); cellAudio->Todo("cellAudioAdd2chData(portNum=0x%x, src_addr=0x%x, samples=%d, volume=%f)", portNum, src.GetAddr(), samples, volume);
return CELL_OK; return CELL_OK;
} }
int cellAudioAdd6chData(u32 portNum, mem32_t src, float volume) int cellAudioAdd6chData(u32 portNum, mem32_t src, float volume)
{ {
cellAudio->Error("cellAudioAdd6chData(portNum=0x%x, src_addr=0x%x, volume=%f)", portNum, src.GetAddr(), volume); cellAudio->Todo("cellAudioAdd6chData(portNum=0x%x, src_addr=0x%x, volume=%f)", portNum, src.GetAddr(), volume);
return CELL_OK; return CELL_OK;
} }
int cellAudioMiscSetAccessoryVolume(u32 devNum, float volume) int cellAudioMiscSetAccessoryVolume(u32 devNum, float volume)
{ {
cellAudio->Error("cellAudioMiscSetAccessoryVolume(devNum=0x%x, volume=%f)", devNum, volume); cellAudio->Todo("cellAudioMiscSetAccessoryVolume(devNum=0x%x, volume=%f)", devNum, volume);
return CELL_OK; return CELL_OK;
} }
int cellAudioSendAck(u64 data3) int cellAudioSendAck(u64 data3)
{ {
cellAudio->Error("cellAudioSendAck(data3=0x%llx)", data3); cellAudio->Todo("cellAudioSendAck(data3=0x%llx)", data3);
return CELL_OK; return CELL_OK;
} }
int cellAudioSetPersonalDevice(int iPersonalStream, int iDevice) int cellAudioSetPersonalDevice(int iPersonalStream, int iDevice)
{ {
cellAudio->Error("cellAudioSetPersonalDevice(iPersonalStream=0x%x, iDevice=0x%x)", iPersonalStream, iDevice); cellAudio->Todo("cellAudioSetPersonalDevice(iPersonalStream=0x%x, iDevice=0x%x)", iPersonalStream, iDevice);
return CELL_OK; return CELL_OK;
} }
int cellAudioUnsetPersonalDevice(int iPersonalStream) int cellAudioUnsetPersonalDevice(int iPersonalStream)
{ {
cellAudio->Error("cellAudioUnsetPersonalDevice(iPersonalStream=0x%x)", iPersonalStream); cellAudio->Todo("cellAudioUnsetPersonalDevice(iPersonalStream=0x%x)", iPersonalStream);
return CELL_OK; return CELL_OK;
} }

View file

@ -221,7 +221,7 @@ int cellGameDataCheckCreate2(u32 version, const mem_list_ptr_t<u8> dirName, u32
if (!Emu.GetVFS().ExistsDir(dir)) if (!Emu.GetVFS().ExistsDir(dir))
{ {
cellGame->Error("cellGameDataCheckCreate2(): TODO: creating directory '%s'", dir.c_str()); cellGame->Todo("cellGameDataCheckCreate2(): creating directory '%s'", dir.c_str());
// TODO: create data // TODO: create data
return CELL_GAMEDATA_RET_OK; return CELL_GAMEDATA_RET_OK;
} }
@ -275,7 +275,7 @@ int cellGameDataCheckCreate2(u32 version, const mem_list_ptr_t<u8> dirName, u32
if (cbSet->setParam.GetAddr()) if (cbSet->setParam.GetAddr())
{ {
// TODO: write PARAM.SFO from cbSet // TODO: write PARAM.SFO from cbSet
cellGame->Error("cellGameDataCheckCreate2(): TODO: writing PARAM.SFO parameters (addr=0x%x)", cbSet->setParam.GetAddr()); cellGame->Todo("cellGameDataCheckCreate2(): writing PARAM.SFO parameters (addr=0x%x)", cbSet->setParam.GetAddr());
} }
switch ((s32)cbResult->result) switch ((s32)cbResult->result)
@ -318,7 +318,7 @@ int cellGameDataCheckCreate(u32 version, const mem_list_ptr_t<u8> dirName, u32 e
int cellGameCreateGameData(mem_ptr_t<CellGameSetInitParams> init, mem_list_ptr_t<u8> tmp_contentInfoPath, mem_list_ptr_t<u8> tmp_usrdirPath) int cellGameCreateGameData(mem_ptr_t<CellGameSetInitParams> init, mem_list_ptr_t<u8> tmp_contentInfoPath, mem_list_ptr_t<u8> tmp_usrdirPath)
{ {
cellGame->Error("cellGameCreateGameData(init_addr=0x%x, tmp_contentInfoPath_addr=0x%x, tmp_usrdirPath_addr=0x%x)", cellGame->Todo("cellGameCreateGameData(init_addr=0x%x, tmp_contentInfoPath_addr=0x%x, tmp_usrdirPath_addr=0x%x)",
init.GetAddr(), tmp_contentInfoPath.GetAddr(), tmp_usrdirPath.GetAddr()); init.GetAddr(), tmp_contentInfoPath.GetAddr(), tmp_usrdirPath.GetAddr());
// TODO: create temporary game directory, set initial PARAM.SFO parameters // TODO: create temporary game directory, set initial PARAM.SFO parameters

View file

@ -612,7 +612,7 @@ int cellGcmSetWaitFlip(mem_ptr_t<CellGcmContextData> ctxt)
int cellGcmSetZcull(u8 index, u32 offset, u32 width, u32 height, u32 cullStart, u32 zFormat, u32 aaFormat, u32 zCullDir, u32 zCullFormat, u32 sFunc, u32 sRef, u32 sMask) int cellGcmSetZcull(u8 index, u32 offset, u32 width, u32 height, u32 cullStart, u32 zFormat, u32 aaFormat, u32 zCullDir, u32 zCullFormat, u32 sFunc, u32 sRef, u32 sMask)
{ {
cellGcmSys->Warning("TODO: cellGcmSetZcull(index=%d, offset=0x%x, width=%d, height=%d, cullStart=0x%x, zFormat=0x%x, aaFormat=0x%x, zCullDir=0x%x, zCullFormat=0x%x, sFunc=0x%x, sRef=0x%x, sMask=0x%x)", cellGcmSys->Todo("cellGcmSetZcull(index=%d, offset=0x%x, width=%d, height=%d, cullStart=0x%x, zFormat=0x%x, aaFormat=0x%x, zCullDir=0x%x, zCullFormat=0x%x, sFunc=0x%x, sRef=0x%x, sMask=0x%x)",
index, offset, width, height, cullStart, zFormat, aaFormat, zCullDir, zCullFormat, sFunc, sRef, sMask); index, offset, width, height, cullStart, zFormat, aaFormat, zCullDir, zCullFormat, sFunc, sRef, sMask);
if (index >= RSXThread::m_zculls_count) if (index >= RSXThread::m_zculls_count)
@ -1096,7 +1096,7 @@ int cellGcmSetFlipCommand(u32 ctx, u32 id)
s64 cellGcmFunc15() s64 cellGcmFunc15()
{ {
cellGcmSys->Error("cellGcmFunc15()"); cellGcmSys->Todo("cellGcmFunc15()");
return 0; return 0;
} }

View file

@ -621,7 +621,7 @@ int cellPamfReaderGetNumberOfEp(mem_ptr_t<CellPamfReader> pSelf)
int cellPamfReaderGetEpIteratorWithIndex(mem_ptr_t<CellPamfReader> pSelf, u32 epIndex, mem_ptr_t<CellPamfEpIterator> pIt) int cellPamfReaderGetEpIteratorWithIndex(mem_ptr_t<CellPamfReader> pSelf, u32 epIndex, mem_ptr_t<CellPamfEpIterator> pIt)
{ {
cellPamf->Error("cellPamfReaderGetEpIteratorWithIndex(pSelf=0x%x, stream=%d, epIndex=%d, pIt_addr=0x%x)", pSelf.GetAddr(), pSelf->stream, epIndex, pIt.GetAddr()); cellPamf->Todo("cellPamfReaderGetEpIteratorWithIndex(pSelf=0x%x, stream=%d, epIndex=%d, pIt_addr=0x%x)", pSelf.GetAddr(), pSelf->stream, epIndex, pIt.GetAddr());
if (!pSelf.IsGood() || !Memory.IsGoodAddr(pSelf->pAddr)) if (!pSelf.IsGood() || !Memory.IsGoodAddr(pSelf->pAddr))
{ {
@ -636,7 +636,7 @@ int cellPamfReaderGetEpIteratorWithIndex(mem_ptr_t<CellPamfReader> pSelf, u32 ep
int cellPamfReaderGetEpIteratorWithTimeStamp(mem_ptr_t<CellPamfReader> pSelf, mem_ptr_t<CellCodecTimeStamp> pTimeStamp, mem_ptr_t<CellPamfEpIterator> pIt) int cellPamfReaderGetEpIteratorWithTimeStamp(mem_ptr_t<CellPamfReader> pSelf, mem_ptr_t<CellCodecTimeStamp> pTimeStamp, mem_ptr_t<CellPamfEpIterator> pIt)
{ {
cellPamf->Error("cellPamfReaderGetEpIteratorWithTimeStamp(pSelf=0x%x, pTimeStamp_addr=0x%x, pIt_addr=0x%x)", pSelf.GetAddr(), pTimeStamp.GetAddr(), pIt.GetAddr()); cellPamf->Todo("cellPamfReaderGetEpIteratorWithTimeStamp(pSelf=0x%x, pTimeStamp_addr=0x%x, pIt_addr=0x%x)", pSelf.GetAddr(), pTimeStamp.GetAddr(), pIt.GetAddr());
const mem_ptr_t<PamfHeader> pAddr(pSelf->pAddr); const mem_ptr_t<PamfHeader> pAddr(pSelf->pAddr);
@ -647,7 +647,7 @@ int cellPamfReaderGetEpIteratorWithTimeStamp(mem_ptr_t<CellPamfReader> pSelf, me
int cellPamfEpIteratorGetEp(mem_ptr_t<CellPamfEpIterator> pIt, mem_ptr_t<CellPamfEp> pEp) int cellPamfEpIteratorGetEp(mem_ptr_t<CellPamfEpIterator> pIt, mem_ptr_t<CellPamfEp> pEp)
{ {
cellPamf->Error("cellPamfEpIteratorGetEp(pIt_addr=0x%x, pEp_addr=0x%x)", pIt.GetAddr(), pEp.GetAddr()); cellPamf->Todo("cellPamfEpIteratorGetEp(pIt_addr=0x%x, pEp_addr=0x%x)", pIt.GetAddr(), pEp.GetAddr());
//TODO: //TODO:
@ -656,7 +656,7 @@ int cellPamfEpIteratorGetEp(mem_ptr_t<CellPamfEpIterator> pIt, mem_ptr_t<CellPam
int cellPamfEpIteratorMove(mem_ptr_t<CellPamfEpIterator> pIt, s32 steps, mem_ptr_t<CellPamfEp> pEp) int cellPamfEpIteratorMove(mem_ptr_t<CellPamfEpIterator> pIt, s32 steps, mem_ptr_t<CellPamfEp> pEp)
{ {
cellPamf->Error("cellPamfEpIteratorMove(pIt_addr=0x%x, steps=%d, pEp_addr=0x%x)", pIt.GetAddr(), steps, pEp.GetAddr()); cellPamf->Todo("cellPamfEpIteratorMove(pIt_addr=0x%x, steps=%d, pEp_addr=0x%x)", pIt.GetAddr(), steps, pEp.GetAddr());
//TODO: //TODO:

View file

@ -659,7 +659,7 @@ void cellRescExit()
if (!s_rescInternalInstance->m_bInitialized) if (!s_rescInternalInstance->m_bInitialized)
{ {
cellResc->Error("cellRescExit()"); cellResc->Error("cellRescExit(): not initialized");
return; return;
} }

View file

@ -167,7 +167,7 @@ int cellSpursAttributeSetNamePrefix(mem_ptr_t<CellSpursAttribute> attr, const me
int cellSpursAttributeEnableSpuPrintfIfAvailable(mem_ptr_t<CellSpursAttribute> attr) int cellSpursAttributeEnableSpuPrintfIfAvailable(mem_ptr_t<CellSpursAttribute> attr)
{ {
cellSpurs->Error("cellSpursAttributeEnableSpuPrintfIfAvailable(attr_addr=0x%x)", attr.GetAddr()); cellSpurs->Todo("cellSpursAttributeEnableSpuPrintfIfAvailable(attr_addr=0x%x)", attr.GetAddr());
if (attr.GetAddr() % 8 != 0) if (attr.GetAddr() % 8 != 0)
{ {
@ -208,7 +208,7 @@ int cellSpursAttributeSetSpuThreadGroupType(mem_ptr_t<CellSpursAttribute> attr,
int cellSpursAttributeEnableSystemWorkload(mem_ptr_t<CellSpursAttribute> attr, const u8 priority[CELL_SPURS_MAX_SPU], int cellSpursAttributeEnableSystemWorkload(mem_ptr_t<CellSpursAttribute> attr, const u8 priority[CELL_SPURS_MAX_SPU],
u32 maxSpu, const bool isPreemptible[CELL_SPURS_MAX_SPU]) u32 maxSpu, const bool isPreemptible[CELL_SPURS_MAX_SPU])
{ {
cellSpurs->Error("cellSpursAttributeEnableSystemWorkload(attr_addr=0x%x, priority[%u], maxSpu=%u, isPreemptible[%u])", attr.GetAddr(), priority, maxSpu, isPreemptible); cellSpurs->Todo("cellSpursAttributeEnableSystemWorkload(attr_addr=0x%x, priority[%u], maxSpu=%u, isPreemptible[%u])", attr.GetAddr(), priority, maxSpu, isPreemptible);
if (attr.GetAddr() % 8 != 0) if (attr.GetAddr() % 8 != 0)
{ {
@ -235,7 +235,7 @@ int cellSpursAttributeEnableSystemWorkload(mem_ptr_t<CellSpursAttribute> attr, c
int cellSpursGetSpuThreadGroupId(mem_ptr_t<CellSpurs> spurs, mem32_t group) int cellSpursGetSpuThreadGroupId(mem_ptr_t<CellSpurs> spurs, mem32_t group)
{ {
cellSpurs->Error("cellSpursGetSpuThreadGroupId(spurs_addr=0x%x, group_addr=0x%x)", spurs.GetAddr(), group.GetAddr()); cellSpurs->Todo("cellSpursGetSpuThreadGroupId(spurs_addr=0x%x, group_addr=0x%x)", spurs.GetAddr(), group.GetAddr());
if (spurs.GetAddr() % 128 != 0) if (spurs.GetAddr() % 128 != 0)
{ {
@ -254,7 +254,7 @@ int cellSpursGetSpuThreadGroupId(mem_ptr_t<CellSpurs> spurs, mem32_t group)
int cellSpursGetNumSpuThread(mem_ptr_t<CellSpurs> spurs, mem32_t nThreads) int cellSpursGetNumSpuThread(mem_ptr_t<CellSpurs> spurs, mem32_t nThreads)
{ {
cellSpurs->Error("cellSpursGetNumSpuThread(spurs_addr=0x%x, nThreads_addr=0x%x)", spurs.GetAddr(), nThreads.GetAddr()); cellSpurs->Todo("cellSpursGetNumSpuThread(spurs_addr=0x%x, nThreads_addr=0x%x)", spurs.GetAddr(), nThreads.GetAddr());
if (spurs.GetAddr() % 128 != 0) if (spurs.GetAddr() % 128 != 0)
{ {
@ -273,7 +273,7 @@ int cellSpursGetNumSpuThread(mem_ptr_t<CellSpurs> spurs, mem32_t nThreads)
int cellSpursGetSpuThreadId(mem_ptr_t<CellSpurs> spurs, mem32_t thread, mem32_t nThreads) int cellSpursGetSpuThreadId(mem_ptr_t<CellSpurs> spurs, mem32_t thread, mem32_t nThreads)
{ {
cellSpurs->Error("cellSpursGetSpuThreadId(spurs_addr=0x%x, thread_addr=0x%x, nThreads_addr=0x%x)", spurs.GetAddr(), thread.GetAddr(), nThreads.GetAddr()); cellSpurs->Todo("cellSpursGetSpuThreadId(spurs_addr=0x%x, thread_addr=0x%x, nThreads_addr=0x%x)", spurs.GetAddr(), thread.GetAddr(), nThreads.GetAddr());
if (spurs.GetAddr() % 128 != 0) if (spurs.GetAddr() % 128 != 0)
{ {
@ -292,7 +292,7 @@ int cellSpursGetSpuThreadId(mem_ptr_t<CellSpurs> spurs, mem32_t thread, mem32_t
int cellSpursSetMaxContention(mem_ptr_t<CellSpurs> spurs, u32 workloadId, u32 maxContention) int cellSpursSetMaxContention(mem_ptr_t<CellSpurs> spurs, u32 workloadId, u32 maxContention)
{ {
cellSpurs->Error("cellSpursSetMaxContention(spurs_addr=0x%x, workloadId=%u, maxContention=%u)", spurs.GetAddr(), workloadId, maxContention); cellSpurs->Todo("cellSpursSetMaxContention(spurs_addr=0x%x, workloadId=%u, maxContention=%u)", spurs.GetAddr(), workloadId, maxContention);
if (spurs.GetAddr() % 128 != 0) if (spurs.GetAddr() % 128 != 0)
{ {
@ -311,7 +311,7 @@ int cellSpursSetMaxContention(mem_ptr_t<CellSpurs> spurs, u32 workloadId, u32 ma
int cellSpursSetPriorities(mem_ptr_t<CellSpurs> spurs, u32 workloadId, const u8 priorities[CELL_SPURS_MAX_SPU]) int cellSpursSetPriorities(mem_ptr_t<CellSpurs> spurs, u32 workloadId, const u8 priorities[CELL_SPURS_MAX_SPU])
{ {
cellSpurs->Error("cellSpursSetPriorities(spurs_addr=0x%x, workloadId=%u, priorities[%u])", spurs.GetAddr(), workloadId, priorities); cellSpurs->Todo("cellSpursSetPriorities(spurs_addr=0x%x, workloadId=%u, priorities[%u])", spurs.GetAddr(), workloadId, priorities);
if (spurs.GetAddr() % 128 != 0) if (spurs.GetAddr() % 128 != 0)
{ {
@ -330,7 +330,7 @@ int cellSpursSetPriorities(mem_ptr_t<CellSpurs> spurs, u32 workloadId, const u8
int cellSpursSetPriority(mem_ptr_t<CellSpurs> spurs, u32 workloadId, u32 spuId, u32 priority) int cellSpursSetPriority(mem_ptr_t<CellSpurs> spurs, u32 workloadId, u32 spuId, u32 priority)
{ {
cellSpurs->Error("cellSpursSetPriority(spurs_addr=0x%x, workloadId=%u, spuId=%u, priority=%u)", spurs.GetAddr(), workloadId, spuId, priority); cellSpurs->Todo("cellSpursSetPriority(spurs_addr=0x%x, workloadId=%u, spuId=%u, priority=%u)", spurs.GetAddr(), workloadId, spuId, priority);
if (spurs.GetAddr() % 128 != 0) if (spurs.GetAddr() % 128 != 0)
{ {
@ -349,7 +349,7 @@ int cellSpursSetPriority(mem_ptr_t<CellSpurs> spurs, u32 workloadId, u32 spuId,
int cellSpursSetPreemptionVictimHints(mem_ptr_t<CellSpurs> spurs, const bool isPreemptible[CELL_SPURS_MAX_SPU]) int cellSpursSetPreemptionVictimHints(mem_ptr_t<CellSpurs> spurs, const bool isPreemptible[CELL_SPURS_MAX_SPU])
{ {
cellSpurs->Error("cellSpursSetPreemptionVictimHints(spurs_addr=0x%x, isPreemptible[%u])", spurs.GetAddr(), isPreemptible); cellSpurs->Todo("cellSpursSetPreemptionVictimHints(spurs_addr=0x%x, isPreemptible[%u])", spurs.GetAddr(), isPreemptible);
if (spurs.GetAddr() % 128 != 0) if (spurs.GetAddr() % 128 != 0)
{ {
@ -410,7 +410,7 @@ int cellSpursDetachLv2EventQueue(mem_ptr_t<CellSpurs> spurs, u8 port)
int cellSpursEnableExceptionEventHandler(mem_ptr_t<CellSpurs> spurs, bool flag) int cellSpursEnableExceptionEventHandler(mem_ptr_t<CellSpurs> spurs, bool flag)
{ {
cellSpurs->Error("cellSpursEnableExceptionEventHandler(spurs_addr=0x%x, flag=%u)", spurs.GetAddr(), flag); cellSpurs->Todo("cellSpursEnableExceptionEventHandler(spurs_addr=0x%x, flag=%u)", spurs.GetAddr(), flag);
if (spurs.GetAddr() % 128 != 0) if (spurs.GetAddr() % 128 != 0)
{ {
@ -429,7 +429,7 @@ int cellSpursEnableExceptionEventHandler(mem_ptr_t<CellSpurs> spurs, bool flag)
int cellSpursSetGlobalExceptionEventHandler(mem_ptr_t<CellSpurs> spurs, mem_func_ptr_t<CellSpursGlobalExceptionEventHandler> eaHandler, mem_ptr_t<void> arg) int cellSpursSetGlobalExceptionEventHandler(mem_ptr_t<CellSpurs> spurs, mem_func_ptr_t<CellSpursGlobalExceptionEventHandler> eaHandler, mem_ptr_t<void> arg)
{ {
cellSpurs->Error("cellSpursSetGlobalExceptionEventHandler(spurs_addr=0x%x, eaHandler_addr=0x%x, arg_addr=0x%x,)", spurs.GetAddr(), eaHandler.GetAddr(), arg.GetAddr()); cellSpurs->Todo("cellSpursSetGlobalExceptionEventHandler(spurs_addr=0x%x, eaHandler_addr=0x%x, arg_addr=0x%x,)", spurs.GetAddr(), eaHandler.GetAddr(), arg.GetAddr());
if (spurs.GetAddr() % 128 != 0) if (spurs.GetAddr() % 128 != 0)
{ {
@ -448,7 +448,7 @@ int cellSpursSetGlobalExceptionEventHandler(mem_ptr_t<CellSpurs> spurs, mem_func
int cellSpursUnsetGlobalExceptionEventHandler(mem_ptr_t<CellSpurs> spurs) int cellSpursUnsetGlobalExceptionEventHandler(mem_ptr_t<CellSpurs> spurs)
{ {
cellSpurs->Error("cellSpursUnsetGlobalExceptionEventHandler(spurs_addr=0x%x)", spurs.GetAddr()); cellSpurs->Todo("cellSpursUnsetGlobalExceptionEventHandler(spurs_addr=0x%x)", spurs.GetAddr());
if (spurs.GetAddr() % 128 != 0) if (spurs.GetAddr() % 128 != 0)
{ {
@ -467,7 +467,7 @@ int cellSpursUnsetGlobalExceptionEventHandler(mem_ptr_t<CellSpurs> spurs)
int cellSpursGetInfo(mem_ptr_t<CellSpurs> spurs, mem_ptr_t<CellSpursInfo> info) int cellSpursGetInfo(mem_ptr_t<CellSpurs> spurs, mem_ptr_t<CellSpursInfo> info)
{ {
cellSpurs->Error("cellSpursGetInfo(spurs_addr=0x%x, info_addr=0x%x)", spurs.GetAddr(), info.GetAddr()); cellSpurs->Todo("cellSpursGetInfo(spurs_addr=0x%x, info_addr=0x%x)", spurs.GetAddr(), info.GetAddr());
if (spurs.GetAddr() % 128 != 0) if (spurs.GetAddr() % 128 != 0)
{ {
@ -507,7 +507,7 @@ int _cellSpursEventFlagInitialize(mem_ptr_t<CellSpurs> spurs, mem_ptr_t<CellSpur
int cellSpursEventFlagAttachLv2EventQueue(mem_ptr_t<CellSpursEventFlag> eventFlag) int cellSpursEventFlagAttachLv2EventQueue(mem_ptr_t<CellSpursEventFlag> eventFlag)
{ {
cellSpurs->Error("cellSpursEventFlagAttachLv2EventQueue(eventFlag_addr=0x%x)", eventFlag.GetAddr()); cellSpurs->Todo("cellSpursEventFlagAttachLv2EventQueue(eventFlag_addr=0x%x)", eventFlag.GetAddr());
if (eventFlag.GetAddr() % 128 != 0) if (eventFlag.GetAddr() % 128 != 0)
{ {
@ -526,7 +526,7 @@ int cellSpursEventFlagAttachLv2EventQueue(mem_ptr_t<CellSpursEventFlag> eventFla
int cellSpursEventFlagDetachLv2EventQueue(mem_ptr_t<CellSpursEventFlag> eventFlag) int cellSpursEventFlagDetachLv2EventQueue(mem_ptr_t<CellSpursEventFlag> eventFlag)
{ {
cellSpurs->Error("cellSpursEventFlagDetachLv2EventQueue(eventFlag_addr=0x%x)", eventFlag.GetAddr()); cellSpurs->Todo("cellSpursEventFlagDetachLv2EventQueue(eventFlag_addr=0x%x)", eventFlag.GetAddr());
if (eventFlag.GetAddr() % 128 != 0) if (eventFlag.GetAddr() % 128 != 0)
{ {
@ -545,7 +545,7 @@ int cellSpursEventFlagDetachLv2EventQueue(mem_ptr_t<CellSpursEventFlag> eventFla
int cellSpursEventFlagWait(mem_ptr_t<CellSpursEventFlag> eventFlag, mem16_t mask, u32 mode) int cellSpursEventFlagWait(mem_ptr_t<CellSpursEventFlag> eventFlag, mem16_t mask, u32 mode)
{ {
cellSpurs->Error("cellSpursEventFlagWait(eventFlag_addr=0x%x, mask=0x%x, mode=%u)", eventFlag.GetAddr(), mask.GetAddr(), mode); cellSpurs->Todo("cellSpursEventFlagWait(eventFlag_addr=0x%x, mask=0x%x, mode=%u)", eventFlag.GetAddr(), mask.GetAddr(), mode);
if (eventFlag.GetAddr() % 128 != 0) if (eventFlag.GetAddr() % 128 != 0)
{ {
@ -564,7 +564,7 @@ int cellSpursEventFlagWait(mem_ptr_t<CellSpursEventFlag> eventFlag, mem16_t mask
int cellSpursEventFlagClear(mem_ptr_t<CellSpursEventFlag> eventFlag, u16 bits) int cellSpursEventFlagClear(mem_ptr_t<CellSpursEventFlag> eventFlag, u16 bits)
{ {
cellSpurs->Error("cellSpursEventFlagClear(eventFlag_addr=0x%x, bits=%u)", eventFlag.GetAddr(), bits); cellSpurs->Todo("cellSpursEventFlagClear(eventFlag_addr=0x%x, bits=%u)", eventFlag.GetAddr(), bits);
if (eventFlag.GetAddr() % 128 != 0) if (eventFlag.GetAddr() % 128 != 0)
{ {
@ -583,7 +583,7 @@ int cellSpursEventFlagClear(mem_ptr_t<CellSpursEventFlag> eventFlag, u16 bits)
int cellSpursEventFlagSet(mem_ptr_t<CellSpursEventFlag> eventFlag, u16 bits) int cellSpursEventFlagSet(mem_ptr_t<CellSpursEventFlag> eventFlag, u16 bits)
{ {
cellSpurs->Error("cellSpursEventFlagSet(eventFlag_addr=0x%x, bits=%u)", eventFlag.GetAddr(), bits); cellSpurs->Todo("cellSpursEventFlagSet(eventFlag_addr=0x%x, bits=%u)", eventFlag.GetAddr(), bits);
if (eventFlag.GetAddr() % 128 != 0) if (eventFlag.GetAddr() % 128 != 0)
{ {
@ -602,7 +602,7 @@ int cellSpursEventFlagSet(mem_ptr_t<CellSpursEventFlag> eventFlag, u16 bits)
int cellSpursEventFlagTryWait(mem_ptr_t<CellSpursEventFlag> eventFlag, mem16_t mask, u32 mode) int cellSpursEventFlagTryWait(mem_ptr_t<CellSpursEventFlag> eventFlag, mem16_t mask, u32 mode)
{ {
cellSpurs->Error("cellSpursEventFlagTryWait(eventFlag_addr=0x%x, mask_addr=0x%x, mode=%u)", eventFlag.GetAddr(), mask.GetAddr(), mode); cellSpurs->Todo("cellSpursEventFlagTryWait(eventFlag_addr=0x%x, mask_addr=0x%x, mode=%u)", eventFlag.GetAddr(), mask.GetAddr(), mode);
if (eventFlag.GetAddr() % 128 != 0) if (eventFlag.GetAddr() % 128 != 0)
{ {
@ -663,7 +663,7 @@ int cellSpursEventFlagGetClearMode(mem_ptr_t<CellSpursEventFlag> eventFlag, mem3
int cellSpursEventFlagGetTasksetAddress(mem_ptr_t<CellSpursEventFlag> eventFlag, mem_ptr_t<CellSpursTaskset> taskset) int cellSpursEventFlagGetTasksetAddress(mem_ptr_t<CellSpursEventFlag> eventFlag, mem_ptr_t<CellSpursTaskset> taskset)
{ {
cellSpurs->Error("cellSpursEventFlagTryWait(eventFlag_addr=0x%x, taskset_addr=0x%x)", eventFlag.GetAddr(), taskset.GetAddr()); cellSpurs->Todo("cellSpursEventFlagTryWait(eventFlag_addr=0x%x, taskset_addr=0x%x)", eventFlag.GetAddr(), taskset.GetAddr());
if (eventFlag.GetAddr() % 128 != 0) if (eventFlag.GetAddr() % 128 != 0)
{ {
@ -944,7 +944,7 @@ int cellSpursCreateTasksetWithAttribute()
int cellSpursCreateTaskset(mem_ptr_t<CellSpurs> spurs, mem_ptr_t<CellSpursTaskset> taskset, u64 args, mem8_t priority, u32 maxContention) int cellSpursCreateTaskset(mem_ptr_t<CellSpurs> spurs, mem_ptr_t<CellSpursTaskset> taskset, u64 args, mem8_t priority, u32 maxContention)
{ {
cellSpurs->Error("cellSpursCreateTaskset(spurs_addr=0x%x, taskset_addr=0x%x, args=0x%x, priority_addr=0x%x, maxContention=%u)", spurs.GetAddr(), taskset.GetAddr(), args, priority.GetAddr(), maxContention); cellSpurs->Todo("cellSpursCreateTaskset(spurs_addr=0x%x, taskset_addr=0x%x, args=0x%x, priority_addr=0x%x, maxContention=%u)", spurs.GetAddr(), taskset.GetAddr(), args, priority.GetAddr(), maxContention);
if ((spurs.GetAddr() % 128 != 0) || (taskset.GetAddr() % 128 != 0)) if ((spurs.GetAddr() % 128 != 0) || (taskset.GetAddr() % 128 != 0))
{ {
@ -966,7 +966,7 @@ int cellSpursCreateTaskset(mem_ptr_t<CellSpurs> spurs, mem_ptr_t<CellSpursTaskse
int cellSpursJoinTaskset(mem_ptr_t<CellSpursTaskset> taskset) int cellSpursJoinTaskset(mem_ptr_t<CellSpursTaskset> taskset)
{ {
cellSpurs->Error("cellSpursJoinTaskset(taskset_addr=0x%x)", taskset.GetAddr()); cellSpurs->Todo("cellSpursJoinTaskset(taskset_addr=0x%x)", taskset.GetAddr());
if (taskset.GetAddr() % 128 != 0) if (taskset.GetAddr() % 128 != 0)
{ {
@ -985,7 +985,7 @@ int cellSpursJoinTaskset(mem_ptr_t<CellSpursTaskset> taskset)
int cellSpursGetTasksetId(mem_ptr_t<CellSpursTaskset> taskset, mem32_t workloadId) int cellSpursGetTasksetId(mem_ptr_t<CellSpursTaskset> taskset, mem32_t workloadId)
{ {
cellSpurs->Error("cellSpursGetTasksetId(taskset_addr=0x%x, workloadId_addr=0x%x)", taskset.GetAddr(), workloadId.GetAddr()); cellSpurs->Todo("cellSpursGetTasksetId(taskset_addr=0x%x, workloadId_addr=0x%x)", taskset.GetAddr(), workloadId.GetAddr());
if (taskset.GetAddr() % 128 != 0) if (taskset.GetAddr() % 128 != 0)
{ {
@ -1004,7 +1004,7 @@ int cellSpursGetTasksetId(mem_ptr_t<CellSpursTaskset> taskset, mem32_t workloadI
int cellSpursShutdownTaskset(mem_ptr_t<CellSpursTaskset> taskset) int cellSpursShutdownTaskset(mem_ptr_t<CellSpursTaskset> taskset)
{ {
cellSpurs->Error("cellSpursShutdownTaskset(taskset_addr=0x%x)", taskset.GetAddr()); cellSpurs->Todo("cellSpursShutdownTaskset(taskset_addr=0x%x)", taskset.GetAddr());
if (taskset.GetAddr() % 128 != 0) if (taskset.GetAddr() % 128 != 0)
{ {
@ -1025,7 +1025,7 @@ int cellSpursCreateTask(mem_ptr_t<CellSpursTaskset> taskset, mem32_t taskID, mem
mem_ptr_t<void> context_addr, u32 context_size, mem_ptr_t<CellSpursTaskLsPattern> lsPattern, mem_ptr_t<void> context_addr, u32 context_size, mem_ptr_t<CellSpursTaskLsPattern> lsPattern,
mem_ptr_t<CellSpursTaskArgument> argument) mem_ptr_t<CellSpursTaskArgument> argument)
{ {
cellSpurs->Error("cellSpursCreateTask(taskset_addr=0x%x, taskID_addr=0x%x, elf_addr_addr=0x%x, context_addr_addr=0x%x, context_size=%u, lsPattern_addr=0x%x, argument_addr=0x%x)", cellSpurs->Todo("cellSpursCreateTask(taskset_addr=0x%x, taskID_addr=0x%x, elf_addr_addr=0x%x, context_addr_addr=0x%x, context_size=%u, lsPattern_addr=0x%x, argument_addr=0x%x)",
taskset.GetAddr(), taskID.GetAddr(), elf_addr.GetAddr(), context_addr.GetAddr(), context_size, lsPattern.GetAddr(), argument.GetAddr()); taskset.GetAddr(), taskID.GetAddr(), elf_addr.GetAddr(), context_addr.GetAddr(), context_size, lsPattern.GetAddr(), argument.GetAddr());
if (taskset.GetAddr() % 128 != 0) if (taskset.GetAddr() % 128 != 0)
@ -1045,7 +1045,7 @@ int cellSpursCreateTask(mem_ptr_t<CellSpursTaskset> taskset, mem32_t taskID, mem
int _cellSpursSendSignal(mem_ptr_t<CellSpursTaskset> taskset, u32 taskID) int _cellSpursSendSignal(mem_ptr_t<CellSpursTaskset> taskset, u32 taskID)
{ {
cellSpurs->Error("_cellSpursSendSignal(taskset_addr=0x%x, taskID=%u)", taskset.GetAddr(), taskID); cellSpurs->Todo("_cellSpursSendSignal(taskset_addr=0x%x, taskID=%u)", taskset.GetAddr(), taskID);
if (taskset.GetAddr() % 128 != 0) if (taskset.GetAddr() % 128 != 0)
{ {

View file

@ -156,7 +156,7 @@ int cellSysmoduleFinalize()
int cellSysmoduleSetMemcontainer(u32 ct_id) int cellSysmoduleSetMemcontainer(u32 ct_id)
{ {
cellSysmodule->Warning("TODO: cellSysmoduleSetMemcontainer(ct_id=0x%x)", ct_id); cellSysmodule->Todo("cellSysmoduleSetMemcontainer(ct_id=0x%x)", ct_id);
return CELL_OK; return CELL_OK;
} }
@ -164,7 +164,7 @@ int cellSysmoduleLoadModule(u16 id)
{ {
if (id == 0xf054) if (id == 0xf054)
{ {
cellSysmodule->Error("cellSysmoduleLoadModule: TODO: CELL_SYSMODULE_LIBATRAC3MULTI"); cellSysmodule->Todo("cellSysmoduleLoadModule: CELL_SYSMODULE_LIBATRAC3MULTI");
} }
cellSysmodule->Warning("cellSysmoduleLoadModule(%s)", getModuleName(id)); cellSysmodule->Warning("cellSysmoduleLoadModule(%s)", getModuleName(id));

View file

@ -575,7 +575,7 @@ int cellAudioOutGetNumberOfDevice(u32 audioOut)
int cellAudioOutGetDeviceInfo(u32 audioOut, u32 deviceIndex, mem_ptr_t<CellAudioOutDeviceInfo> info) int cellAudioOutGetDeviceInfo(u32 audioOut, u32 deviceIndex, mem_ptr_t<CellAudioOutDeviceInfo> info)
{ {
cellSysutil->Error("Unimplemented function: cellAudioOutGetDeviceInfo(audioOut=%u, deviceIndex=%u, info_addr=0x%x)", cellSysutil->Todo("Unimplemented function: cellAudioOutGetDeviceInfo(audioOut=%u, deviceIndex=%u, info_addr=0x%x)",
audioOut, deviceIndex, info.GetAddr()); audioOut, deviceIndex, info.GetAddr());
if(deviceIndex) return CELL_AUDIO_OUT_ERROR_DEVICE_NOT_FOUND; if(deviceIndex) return CELL_AUDIO_OUT_ERROR_DEVICE_NOT_FOUND;

View file

@ -108,8 +108,8 @@ u32 vdecQueryAttr(CellVdecCodecType type, u32 profile, u32 spec_addr /* may be 0
switch (type) // TODO: check profile levels switch (type) // TODO: check profile levels
{ {
case CELL_VDEC_CODEC_TYPE_AVC: cellVdec->Warning("cellVdecQueryAttr: AVC (profile=%d)", profile); break; case CELL_VDEC_CODEC_TYPE_AVC: cellVdec->Warning("cellVdecQueryAttr: AVC (profile=%d)", profile); break;
case CELL_VDEC_CODEC_TYPE_MPEG2: cellVdec->Error("TODO: MPEG2 not supported"); break; case CELL_VDEC_CODEC_TYPE_MPEG2: cellVdec->Todo("MPEG2 not supported"); break;
case CELL_VDEC_CODEC_TYPE_DIVX: cellVdec->Error("TODO: DIVX not supported"); break; case CELL_VDEC_CODEC_TYPE_DIVX: cellVdec->Todo("DIVX not supported"); break;
default: return CELL_VDEC_ERROR_ARG; default: return CELL_VDEC_ERROR_ARG;
} }
@ -620,13 +620,13 @@ int cellVdecGetPicture(u32 handle, const mem_ptr_t<CellVdecPicFormat> format, u3
if (format->formatType != CELL_VDEC_PICFMT_YUV420_PLANAR) if (format->formatType != CELL_VDEC_PICFMT_YUV420_PLANAR)
{ {
cellVdec->Error("cellVdecGetPicture: TODO: unknown formatType(%d)", (u32)format->formatType); cellVdec->Todo("cellVdecGetPicture: unknown formatType(%d)", (u32)format->formatType);
return CELL_OK; return CELL_OK;
} }
if (format->colorMatrixType != CELL_VDEC_COLOR_MATRIX_TYPE_BT709) if (format->colorMatrixType != CELL_VDEC_COLOR_MATRIX_TYPE_BT709)
{ {
cellVdec->Error("cellVdecGetPicture: TODO: unknown colorMatrixType(%d)", (u32)format->colorMatrixType); cellVdec->Todo("cellVdecGetPicture: unknown colorMatrixType(%d)", (u32)format->colorMatrixType);
return CELL_OK; return CELL_OK;
} }

View file

@ -532,7 +532,7 @@ int cellSurMixerStart()
int cellSurMixerSetParameter(u32 param, float value) int cellSurMixerSetParameter(u32 param, float value)
{ {
declCPU(); declCPU();
libmixer->Error("cellSurMixerSetParameter(param=0x%x, value=%f, FPR[1]=%f, FPR[2]=%f)", param, value, (float&)CPU.FPR[1], (float&)CPU.FPR[2]); libmixer->Todo("cellSurMixerSetParameter(param=0x%x, value=%f, FPR[1]=%f, FPR[2]=%f)", param, value, (float&)CPU.FPR[1], (float&)CPU.FPR[2]);
return CELL_OK; return CELL_OK;
} }
@ -560,7 +560,7 @@ int cellSurMixerSurBusAddData(u32 busNo, u32 offset, u32 addr, u32 samples)
} }
else else
{ {
libmixer->Error("cellSurMixerSurBusAddData(busNo=%d, offset=0x%x, addr=0x%x, samples=%d): unknown parameters", busNo, offset, addr, samples); libmixer->Todo("cellSurMixerSurBusAddData(busNo=%d, offset=0x%x, addr=0x%x, samples=%d)", busNo, offset, addr, samples);
return CELL_OK; return CELL_OK;
} }
@ -578,7 +578,7 @@ int cellSurMixerSurBusAddData(u32 busNo, u32 offset, u32 addr, u32 samples)
int cellSurMixerChStripSetParameter(u32 type, u32 index, mem_ptr_t<CellSurMixerChStripParam> param) int cellSurMixerChStripSetParameter(u32 type, u32 index, mem_ptr_t<CellSurMixerChStripParam> param)
{ {
libmixer->Error("cellSurMixerChStripSetParameter(type=%d, index=%d, param_addr=0x%x)", type, index, param.GetAddr()); libmixer->Todo("cellSurMixerChStripSetParameter(type=%d, index=%d, param_addr=0x%x)", type, index, param.GetAddr());
return CELL_OK; return CELL_OK;
} }
@ -614,14 +614,14 @@ int cellSurMixerGetTimestamp(u64 tag, mem64_t stamp)
void cellSurMixerBeep(u32 arg) void cellSurMixerBeep(u32 arg)
{ {
libmixer->Error("cellSurMixerBeep(arg=%d)", arg); libmixer->Todo("cellSurMixerBeep(arg=%d)", arg);
return; return;
} }
void cellSurMixerUtilGetLevelFromDB(float dB) void cellSurMixerUtilGetLevelFromDB(float dB)
{ {
// not hooked, probably unnecessary // not hooked, probably unnecessary
libmixer->Error("cellSurMixerUtilGetLevelFromDB(dB=%f)", dB); libmixer->Todo("cellSurMixerUtilGetLevelFromDB(dB=%f)", dB);
declCPU(); declCPU();
(float&)CPU.FPR[0] = 0.0f; (float&)CPU.FPR[0] = 0.0f;
} }
@ -629,7 +629,7 @@ void cellSurMixerUtilGetLevelFromDB(float dB)
void cellSurMixerUtilGetLevelFromDBIndex(int index) void cellSurMixerUtilGetLevelFromDBIndex(int index)
{ {
// not hooked, probably unnecessary // not hooked, probably unnecessary
libmixer->Error("cellSurMixerUtilGetLevelFromDBIndex(index=%d)", index); libmixer->Todo("cellSurMixerUtilGetLevelFromDBIndex(index=%d)", index);
declCPU(); declCPU();
(float&)CPU.FPR[0] = 0.0f; (float&)CPU.FPR[0] = 0.0f;
} }
@ -637,7 +637,7 @@ void cellSurMixerUtilGetLevelFromDBIndex(int index)
void cellSurMixerUtilNoteToRatio(u8 refNote, u8 note) void cellSurMixerUtilNoteToRatio(u8 refNote, u8 note)
{ {
// not hooked, probably unnecessary // not hooked, probably unnecessary
libmixer->Error("cellSurMixerUtilNoteToRatio(refNote=%d, note=%d)", refNote, note); libmixer->Todo("cellSurMixerUtilNoteToRatio(refNote=%d, note=%d)", refNote, note);
declCPU(); declCPU();
(float&)CPU.FPR[0] = 0.0f; (float&)CPU.FPR[0] = 0.0f;
} }

View file

@ -10,103 +10,103 @@ Module libsynth2("libsynth2", libsynth2_init);
int cellSoundSynth2Config(s16 param, int value) int cellSoundSynth2Config(s16 param, int value)
{ {
libsynth2.Error("cellSoundSynth2Config(param=%d, value=%d)", param, value); libsynth2.Todo("cellSoundSynth2Config(param=%d, value=%d)", param, value);
return CELL_OK; return CELL_OK;
} }
int cellSoundSynth2Init(s16 flag) int cellSoundSynth2Init(s16 flag)
{ {
libsynth2.Error("cellSoundSynth2Init(flag=%d)", flag); libsynth2.Todo("cellSoundSynth2Init(flag=%d)", flag);
return CELL_OK; return CELL_OK;
} }
int cellSoundSynth2Exit() int cellSoundSynth2Exit()
{ {
libsynth2.Error("cellSoundSynth2Exit()"); libsynth2.Todo("cellSoundSynth2Exit()");
return CELL_OK; return CELL_OK;
} }
void cellSoundSynth2SetParam(u16 reg, u16 value) void cellSoundSynth2SetParam(u16 reg, u16 value)
{ {
libsynth2.Error("cellSoundSynth2SetParam(register=0x%x, value=0x%x)", reg, value); libsynth2.Todo("cellSoundSynth2SetParam(register=0x%x, value=0x%x)", reg, value);
} }
u16 cellSoundSynth2GetParam(u16 reg) u16 cellSoundSynth2GetParam(u16 reg)
{ {
libsynth2.Error("cellSoundSynth2GetParam(register=0x%x) -> 0", reg); libsynth2.Todo("cellSoundSynth2GetParam(register=0x%x) -> 0", reg);
return 0; return 0;
} }
void cellSoundSynth2SetSwitch(u16 reg, u32 value) void cellSoundSynth2SetSwitch(u16 reg, u32 value)
{ {
libsynth2.Error("cellSoundSynth2SetSwitch(register=0x%x, value=0x%x)", reg, value); libsynth2.Todo("cellSoundSynth2SetSwitch(register=0x%x, value=0x%x)", reg, value);
} }
u32 cellSoundSynth2GetSwitch(u16 reg) u32 cellSoundSynth2GetSwitch(u16 reg)
{ {
libsynth2.Error("cellSoundSynth2GetSwitch(register=0x%x) -> 0", reg); libsynth2.Todo("cellSoundSynth2GetSwitch(register=0x%x) -> 0", reg);
return 0; return 0;
} }
int cellSoundSynth2SetAddr(u16 reg, u32 value) int cellSoundSynth2SetAddr(u16 reg, u32 value)
{ {
libsynth2.Error("cellSoundSynth2SetAddr(register=0x%x, value=0x%x)", reg, value); libsynth2.Todo("cellSoundSynth2SetAddr(register=0x%x, value=0x%x)", reg, value);
return CELL_OK; return CELL_OK;
} }
u32 cellSoundSynth2GetAddr(u16 reg) u32 cellSoundSynth2GetAddr(u16 reg)
{ {
libsynth2.Error("cellSoundSynth2GetAddr(register=0x%x) -> 0", reg); libsynth2.Todo("cellSoundSynth2GetAddr(register=0x%x) -> 0", reg);
return 0; return 0;
} }
int cellSoundSynth2SetEffectAttr(s16 bus, mem_ptr_t<CellSoundSynth2EffectAttr> attr) int cellSoundSynth2SetEffectAttr(s16 bus, mem_ptr_t<CellSoundSynth2EffectAttr> attr)
{ {
libsynth2.Error("cellSoundSynth2SetEffectAttr(bus=%d, attr_addr=0x%x)", bus, attr.GetAddr()); libsynth2.Todo("cellSoundSynth2SetEffectAttr(bus=%d, attr_addr=0x%x)", bus, attr.GetAddr());
return CELL_OK; return CELL_OK;
} }
int cellSoundSynth2SetEffectMode(s16 bus, mem_ptr_t<CellSoundSynth2EffectAttr> attr) int cellSoundSynth2SetEffectMode(s16 bus, mem_ptr_t<CellSoundSynth2EffectAttr> attr)
{ {
libsynth2.Error("cellSoundSynth2SetEffectMode(bus=%d, attr_addr=0x%x)", bus, attr.GetAddr()); libsynth2.Todo("cellSoundSynth2SetEffectMode(bus=%d, attr_addr=0x%x)", bus, attr.GetAddr());
return CELL_OK; return CELL_OK;
} }
void cellSoundSynth2SetCoreAttr(u16 entry, u16 value) void cellSoundSynth2SetCoreAttr(u16 entry, u16 value)
{ {
libsynth2.Error("cellSoundSynth2SetCoreAttr(entry=0x%x, value=0x%x)", entry, value); libsynth2.Todo("cellSoundSynth2SetCoreAttr(entry=0x%x, value=0x%x)", entry, value);
} }
int cellSoundSynth2Generate(u16 samples, u32 L_addr, u32 R_addr, u32 Lr_addr, u32 Rr_addr) int cellSoundSynth2Generate(u16 samples, u32 L_addr, u32 R_addr, u32 Lr_addr, u32 Rr_addr)
{ {
libsynth2.Error("cellSoundSynth2Generate(samples=0x%x, left=0x%x, right=0x%x, left_rear=0x%x, right_rear=0x%x)", libsynth2.Todo("cellSoundSynth2Generate(samples=0x%x, left=0x%x, right=0x%x, left_rear=0x%x, right_rear=0x%x)",
samples, L_addr, R_addr, Lr_addr, Rr_addr); samples, L_addr, R_addr, Lr_addr, Rr_addr);
return CELL_OK; return CELL_OK;
} }
int cellSoundSynth2VoiceTrans(s16 channel, u16 mode, u32 mem_side_addr, u32 lib_side_addr, u32 size) int cellSoundSynth2VoiceTrans(s16 channel, u16 mode, u32 mem_side_addr, u32 lib_side_addr, u32 size)
{ {
libsynth2.Error("cellSoundSynth2VoiceTrans(channel=%d, mode=0x%x, m_addr=0x%x, s_addr=0x%x, size=0x%x)", libsynth2.Todo("cellSoundSynth2VoiceTrans(channel=%d, mode=0x%x, m_addr=0x%x, s_addr=0x%x, size=0x%x)",
channel, mode, mem_side_addr, lib_side_addr, size); channel, mode, mem_side_addr, lib_side_addr, size);
return CELL_OK; return CELL_OK;
} }
int cellSoundSynth2VoiceTransStatus(s16 channel, s16 flag) int cellSoundSynth2VoiceTransStatus(s16 channel, s16 flag)
{ {
libsynth2.Error("cellSoundSynth2VoiceTransStatus(channel=%d, flag=%d)", channel, flag); libsynth2.Todo("cellSoundSynth2VoiceTransStatus(channel=%d, flag=%d)", channel, flag);
return CELL_OK; return CELL_OK;
} }
u16 cellSoundSynth2Note2Pitch(u16 center_note, u16 center_fine, u16 note, s16 fine) u16 cellSoundSynth2Note2Pitch(u16 center_note, u16 center_fine, u16 note, s16 fine)
{ {
libsynth2.Error("cellSoundSynth2Note2Pitch(center_note=0x%x, center_fine=0x%x, note=0x%x, fine=%d) -> 0", libsynth2.Todo("cellSoundSynth2Note2Pitch(center_note=0x%x, center_fine=0x%x, note=0x%x, fine=%d) -> 0",
center_note, center_fine, note, fine); center_note, center_fine, note, fine);
return 0; return 0;
} }
u16 cellSoundSynth2Pitch2Note(u16 center_note, u16 center_fine, u16 pitch) u16 cellSoundSynth2Pitch2Note(u16 center_note, u16 center_fine, u16 pitch)
{ {
libsynth2.Error("cellSoundSynth2Pitch2Note(center_note=0x%x, center_fine=0x%x, pitch=0x%x) -> 0", libsynth2.Todo("cellSoundSynth2Pitch2Note(center_note=0x%x, center_fine=0x%x, pitch=0x%x) -> 0",
center_note, center_fine, pitch); center_note, center_fine, pitch);
return 0; return 0;
} }

View file

@ -143,7 +143,7 @@ public:
extern int cellGcmCallback(u32 context_addr, u32 count); extern int cellGcmCallback(u32 context_addr, u32 count);
#define UNIMPLEMENTED_FUNC(module) module->Error("Unimplemented function: %s", __FUNCTION__) #define UNIMPLEMENTED_FUNC(module) module->Todo("%s", __FUNCTION__)
#define SC_ARG_0 CPU.GPR[3] #define SC_ARG_0 CPU.GPR[3]
#define SC_ARG_1 CPU.GPR[4] #define SC_ARG_1 CPU.GPR[4]

View file

@ -620,7 +620,7 @@ s32 cellFsStReadGetRegid(u32 fd, mem64_t regid)
s32 cellFsStReadStart(u32 fd, u64 offset, u64 size) s32 cellFsStReadStart(u32 fd, u64 offset, u64 size)
{ {
sys_fs->Warning("TODO: cellFsStReadStart(fd=%d, offset=0x%llx, size=0x%llx)", fd, offset, size); sys_fs->Todo("cellFsStReadStart(fd=%d, offset=0x%llx, size=0x%llx)", fd, offset, size);
vfsStream* file; vfsStream* file;
if(!sys_fs->CheckId(fd, file)) return CELL_ESRCH; if(!sys_fs->CheckId(fd, file)) return CELL_ESRCH;
@ -645,7 +645,7 @@ s32 cellFsStReadStop(u32 fd)
s32 cellFsStRead(u32 fd, u32 buf_addr, u64 size, mem64_t rsize) s32 cellFsStRead(u32 fd, u32 buf_addr, u64 size, mem64_t rsize)
{ {
sys_fs->Warning("TODO: cellFsStRead(fd=%d, buf_addr=0x%x, size=0x%llx, rsize_addr = 0x%x)", fd, buf_addr, size, rsize.GetAddr()); sys_fs->Todo("cellFsStRead(fd=%d, buf_addr=0x%x, size=0x%llx, rsize_addr = 0x%x)", fd, buf_addr, size, rsize.GetAddr());
vfsStream* file; vfsStream* file;
if(!sys_fs->CheckId(fd, file)) return CELL_ESRCH; if(!sys_fs->CheckId(fd, file)) return CELL_ESRCH;
@ -660,7 +660,7 @@ s32 cellFsStRead(u32 fd, u32 buf_addr, u64 size, mem64_t rsize)
s32 cellFsStReadGetCurrentAddr(u32 fd, mem32_t addr_addr, mem64_t size) s32 cellFsStReadGetCurrentAddr(u32 fd, mem32_t addr_addr, mem64_t size)
{ {
sys_fs->Warning("TODO: cellFsStReadGetCurrentAddr(fd=%d, addr_addr=0x%x, size_addr = 0x%x)", fd, addr_addr.GetAddr(), size.GetAddr()); sys_fs->Todo("cellFsStReadGetCurrentAddr(fd=%d, addr_addr=0x%x, size_addr = 0x%x)", fd, addr_addr.GetAddr(), size.GetAddr());
vfsStream* file; vfsStream* file;
if(!sys_fs->CheckId(fd, file)) return CELL_ESRCH; if(!sys_fs->CheckId(fd, file)) return CELL_ESRCH;
@ -672,7 +672,7 @@ s32 cellFsStReadGetCurrentAddr(u32 fd, mem32_t addr_addr, mem64_t size)
s32 cellFsStReadPutCurrentAddr(u32 fd, u32 addr_addr, u64 size) s32 cellFsStReadPutCurrentAddr(u32 fd, u32 addr_addr, u64 size)
{ {
sys_fs->Warning("TODO: cellFsStReadPutCurrentAddr(fd=%d, addr_addr=0x%x, size = 0x%llx)", fd, addr_addr, size); sys_fs->Todo("cellFsStReadPutCurrentAddr(fd=%d, addr_addr=0x%x, size = 0x%llx)", fd, addr_addr, size);
vfsStream* file; vfsStream* file;
if(!sys_fs->CheckId(fd, file)) return CELL_ESRCH; if(!sys_fs->CheckId(fd, file)) return CELL_ESRCH;
@ -684,7 +684,7 @@ s32 cellFsStReadPutCurrentAddr(u32 fd, u32 addr_addr, u64 size)
s32 cellFsStReadWait(u32 fd, u64 size) s32 cellFsStReadWait(u32 fd, u64 size)
{ {
sys_fs->Warning("TODO: cellFsStReadWait(fd=%d, size = 0x%llx)", fd, size); sys_fs->Todo("cellFsStReadWait(fd=%d, size = 0x%llx)", fd, size);
vfsStream* file; vfsStream* file;
if(!sys_fs->CheckId(fd, file)) return CELL_ESRCH; if(!sys_fs->CheckId(fd, file)) return CELL_ESRCH;
@ -694,7 +694,7 @@ s32 cellFsStReadWait(u32 fd, u64 size)
s32 cellFsStReadWaitCallback(u32 fd, u64 size, mem_func_ptr_t<void (*)(int xfd, u64 xsize)> func) s32 cellFsStReadWaitCallback(u32 fd, u64 size, mem_func_ptr_t<void (*)(int xfd, u64 xsize)> func)
{ {
sys_fs->Warning("TODO: cellFsStReadWaitCallback(fd=%d, size = 0x%llx, func_addr = 0x%x)", fd, size, func.GetAddr()); sys_fs->Todo("cellFsStReadWaitCallback(fd=%d, size = 0x%llx, func_addr = 0x%x)", fd, size, func.GetAddr());
if (!func.IsGood()) if (!func.IsGood())
return CELL_EFAULT; return CELL_EFAULT;

View file

@ -66,7 +66,7 @@ s32 sys_event_queue_create(mem32_t equeue_id, mem_ptr_t<sys_event_queue_attr> at
s32 sys_event_queue_destroy(u32 equeue_id, int mode) s32 sys_event_queue_destroy(u32 equeue_id, int mode)
{ {
sys_event.Error("sys_event_queue_destroy(equeue_id=%d, mode=0x%x)", equeue_id, mode); sys_event.Todo("sys_event_queue_destroy(equeue_id=%d, mode=0x%x)", equeue_id, mode);
EventQueue* eq; EventQueue* eq;
if (!Emu.GetIdManager().GetIDData(equeue_id, eq)) if (!Emu.GetIdManager().GetIDData(equeue_id, eq))
@ -111,7 +111,7 @@ s32 sys_event_queue_destroy(u32 equeue_id, int mode)
s32 sys_event_queue_tryreceive(u32 equeue_id, mem_ptr_t<sys_event_data> event_array, int size, mem32_t number) s32 sys_event_queue_tryreceive(u32 equeue_id, mem_ptr_t<sys_event_data> event_array, int size, mem32_t number)
{ {
sys_event.Error("sys_event_queue_tryreceive(equeue_id=%d, event_array_addr=0x%x, size=%d, number_addr=0x%x)", sys_event.Todo("sys_event_queue_tryreceive(equeue_id=%d, event_array_addr=0x%x, size=%d, number_addr=0x%x)",
equeue_id, event_array.GetAddr(), size, number.GetAddr()); equeue_id, event_array.GetAddr(), size, number.GetAddr());
if (size < 0 || !number.IsGood()) if (size < 0 || !number.IsGood())
@ -403,8 +403,8 @@ s32 sys_event_flag_create(mem32_t eflag_id, mem_ptr_t<sys_event_flag_attr> attr,
switch (attr->protocol.ToBE()) switch (attr->protocol.ToBE())
{ {
case se32(SYS_SYNC_PRIORITY): break; case se32(SYS_SYNC_PRIORITY): break;
case se32(SYS_SYNC_RETRY): sys_event.Warning("TODO: SYS_SYNC_RETRY attr"); break; case se32(SYS_SYNC_RETRY): sys_event.Todo("sys_event_flag_create(): SYS_SYNC_RETRY"); break;
case se32(SYS_SYNC_PRIORITY_INHERIT): sys_event.Warning("TODO: SYS_SYNC_PRIORITY_INHERIT attr"); break; case se32(SYS_SYNC_PRIORITY_INHERIT): sys_event.Todo("sys_event_flag_create(): SYS_SYNC_PRIORITY_INHERIT"); break;
case se32(SYS_SYNC_FIFO): break; case se32(SYS_SYNC_FIFO): break;
default: return CELL_EINVAL; default: return CELL_EINVAL;
} }

View file

@ -83,7 +83,7 @@ s32 sys_interrupt_thread_establish(mem32_t ih, u32 intrtag, u64 intrthread, u64
s32 sys_interrupt_thread_disestablish(u32 ih) s32 sys_interrupt_thread_disestablish(u32 ih)
{ {
sc_int.Error("sys_interrupt_thread_disestablish(ih=%d)", ih); sc_int.Todo("sys_interrupt_thread_disestablish(ih=%d)", ih);
CPUThread* it = Emu.GetCPU().GetThread(ih); CPUThread* it = Emu.GetCPU().GetThread(ih);
if (!it) if (!it)

View file

@ -22,8 +22,8 @@ s32 sys_mutex_create(mem32_t mutex_id, mem_ptr_t<sys_mutex_attribute> attr)
{ {
case se32(SYS_SYNC_FIFO): break; case se32(SYS_SYNC_FIFO): break;
case se32(SYS_SYNC_PRIORITY): break; case se32(SYS_SYNC_PRIORITY): break;
case se32(SYS_SYNC_PRIORITY_INHERIT): sys_mtx.Warning("TODO: SYS_SYNC_PRIORITY_INHERIT protocol"); break; case se32(SYS_SYNC_PRIORITY_INHERIT): sys_mtx.Todo("sys_mutex_create(): SYS_SYNC_PRIORITY_INHERIT"); break;
case se32(SYS_SYNC_RETRY): sys_mtx.Error("Invalid SYS_SYNC_RETRY protocol"); return CELL_EINVAL; case se32(SYS_SYNC_RETRY): sys_mtx.Error("sys_mutex_create(): SYS_SYNC_RETRY"); return CELL_EINVAL;
default: sys_mtx.Error("Unknown protocol attribute(0x%x)", (u32)attr->protocol); return CELL_EINVAL; default: sys_mtx.Error("Unknown protocol attribute(0x%x)", (u32)attr->protocol); return CELL_EINVAL;
} }

View file

@ -72,7 +72,7 @@ s32 sys_ppu_thread_join(u64 thread_id, mem64_t vptr)
s32 sys_ppu_thread_detach(u64 thread_id) s32 sys_ppu_thread_detach(u64 thread_id)
{ {
sysPrxForUser->Error("sys_ppu_thread_detach(thread_id=%lld)", thread_id); sysPrxForUser->Todo("sys_ppu_thread_detach(thread_id=%lld)", thread_id);
CPUThread* thr = Emu.GetCPU().GetThread(thread_id); CPUThread* thr = Emu.GetCPU().GetThread(thread_id);
if(!thr) return CELL_ESRCH; if(!thr) return CELL_ESRCH;

View file

@ -17,7 +17,7 @@ s32 sys_process_getpid()
s32 sys_process_getppid() s32 sys_process_getppid()
{ {
sc_p.Warning("TODO: sys_process_getppid() returns 0"); sc_p.Todo("sys_process_getppid() -> 0");
return 0; return 0;
} }
@ -46,7 +46,7 @@ void sys_game_process_exitspawn(
u32 prio, u32 prio,
u64 flags ) u64 flags )
{ {
sc_p.Error("sys_game_process_exitspawn UNIMPLEMENTED"); sc_p.Todo("sys_game_process_exitspawn()");
sc_p.Warning("path: %s", Memory.ReadString(path_addr).c_str()); sc_p.Warning("path: %s", Memory.ReadString(path_addr).c_str());
sc_p.Warning("argv: 0x%x", argv_addr); sc_p.Warning("argv: 0x%x", argv_addr);
sc_p.Warning("envp: 0x%x", envp_addr); sc_p.Warning("envp: 0x%x", envp_addr);
@ -94,7 +94,7 @@ void sys_game_process_exitspawn2(
u32 prio, u32 prio,
u64 flags) u64 flags)
{ {
sc_p.Error("sys_game_process_exitspawn2 UNIMPLEMENTED"); sc_p.Todo("sys_game_process_exitspawn2");
sc_p.Warning("path: %s", Memory.ReadString(path_addr).c_str()); sc_p.Warning("path: %s", Memory.ReadString(path_addr).c_str());
sc_p.Warning("argv: 0x%x", argv_addr); sc_p.Warning("argv: 0x%x", argv_addr);
sc_p.Warning("envp: 0x%x", envp_addr); sc_p.Warning("envp: 0x%x", envp_addr);
@ -170,7 +170,7 @@ s32 sys_process_get_number_of_object(u32 object, mem32_t nump)
s32 sys_process_get_id(u32 object, mem32_ptr_t buffer, u32 size, mem32_t set_size) s32 sys_process_get_id(u32 object, mem32_ptr_t buffer, u32 size, mem32_t set_size)
{ {
sc_p.Warning("TODO: sys_process_get_id(object=%d, buffer_addr=0x%x, size=%d, set_size_addr=0x%x)", sc_p.Todo("sys_process_get_id(object=%d, buffer_addr=0x%x, size=%d, set_size_addr=0x%x)",
object, buffer.GetAddr(), size, set_size.GetAddr()); object, buffer.GetAddr(), size, set_size.GetAddr());
switch(object) switch(object)
@ -213,7 +213,7 @@ s32 sys_process_get_id(u32 object, mem32_ptr_t buffer, u32 size, mem32_t set_siz
s32 sys_process_get_paramsfo(mem8_ptr_t buffer) s32 sys_process_get_paramsfo(mem8_ptr_t buffer)
{ {
sc_p.Warning("TODO: sys_process_get_paramsfo(buffer_addr=0x%x) returns CELL_ENOENT", buffer.GetAddr()); sc_p.Todo("sys_process_get_paramsfo(buffer_addr=0x%x) -> CELL_ENOENT", buffer.GetAddr());
return CELL_ENOENT; return CELL_ENOENT;
/*//Before uncommenting this code, we should check if it is actually working. /*//Before uncommenting this code, we should check if it is actually working.
@ -243,33 +243,33 @@ s32 sys_process_get_sdk_version(u32 pid, mem32_t version)
s32 sys_process_kill(u32 pid) s32 sys_process_kill(u32 pid)
{ {
sc_p.Error("TODO: sys_process_kill(pid=%d)", pid); sc_p.Todo("sys_process_kill(pid=%d)", pid);
return CELL_OK; return CELL_OK;
} }
s32 sys_process_wait_for_child(u32 pid, mem32_t status, u64 unk) s32 sys_process_wait_for_child(u32 pid, mem32_t status, u64 unk)
{ {
sc_p.Error("TODO: sys_process_wait_for_child(pid=%d, status_addr=0x%x, unk=0x%llx", sc_p.Todo("sys_process_wait_for_child(pid=%d, status_addr=0x%x, unk=0x%llx",
pid, status.GetAddr(), unk); pid, status.GetAddr(), unk);
return CELL_OK; return CELL_OK;
} }
s32 sys_process_wait_for_child2(u64 unk1, u64 unk2, u64 unk3, u64 unk4, u64 unk5, u64 unk6) s32 sys_process_wait_for_child2(u64 unk1, u64 unk2, u64 unk3, u64 unk4, u64 unk5, u64 unk6)
{ {
sc_p.Error("TODO: sys_process_wait_for_child2(unk1=0x%llx, unk2=0x%llx, unk3=0x%llx, unk4=0x%llx, unk5=0x%llx, unk6=0x%llx)", sc_p.Todo("sys_process_wait_for_child2(unk1=0x%llx, unk2=0x%llx, unk3=0x%llx, unk4=0x%llx, unk5=0x%llx, unk6=0x%llx)",
unk1, unk2, unk3, unk4, unk5, unk6); unk1, unk2, unk3, unk4, unk5, unk6);
return CELL_OK; return CELL_OK;
} }
s32 sys_process_get_status(u64 unk) s32 sys_process_get_status(u64 unk)
{ {
sc_p.Error("TODO: sys_process_get_status(unk=0x%llx)", unk); sc_p.Todo("sys_process_get_status(unk=0x%llx)", unk);
//Memory.Write32(CPU.GPR[4], GetPPUThreadStatus(CPU)); //Memory.Write32(CPU.GPR[4], GetPPUThreadStatus(CPU));
return CELL_OK; return CELL_OK;
} }
s32 sys_process_detach_child(u64 unk) s32 sys_process_detach_child(u64 unk)
{ {
sc_p.Error("TODO: sys_process_detach_child(unk=0x%llx)", unk); sc_p.Todo("sys_process_detach_child(unk=0x%llx)", unk);
return CELL_OK; return CELL_OK;
} }

View file

@ -14,7 +14,7 @@ s32 sys_prx_load_module(u32 path_addr, u64 flags, mem_ptr_t<sys_prx_load_module_
return CELL_PRX_ERROR_INVAL; return CELL_PRX_ERROR_INVAL;
std::string path = Memory.ReadString(path_addr); std::string path = Memory.ReadString(path_addr);
sys_prx.Error("TODO: sys_prx_load_module(path=\"%s\", flags=0x%llx, pOpt=0x%x)", path.c_str(), flags, pOpt.GetAddr()); sys_prx.Todo("sys_prx_load_module(path=\"%s\", flags=0x%llx, pOpt=0x%x)", path.c_str(), flags, pOpt.GetAddr());
vfsFile f(path); vfsFile f(path);
if (!f.IsOpened()) { if (!f.IsOpened()) {
@ -34,25 +34,25 @@ s32 sys_prx_load_module(u32 path_addr, u64 flags, mem_ptr_t<sys_prx_load_module_
s32 sys_prx_load_module_on_memcontainer() s32 sys_prx_load_module_on_memcontainer()
{ {
sys_prx.Error("TODO: sys_prx_load_module_on_memcontainer()"); sys_prx.Todo("sys_prx_load_module_on_memcontainer()");
return CELL_OK; return CELL_OK;
} }
s32 sys_prx_load_module_by_fd() s32 sys_prx_load_module_by_fd()
{ {
sys_prx.Error("TODO: sys_prx_load_module_by_fd()"); sys_prx.Todo("sys_prx_load_module_by_fd()");
return CELL_OK; return CELL_OK;
} }
s32 sys_prx_load_module_on_memcontainer_by_fd() s32 sys_prx_load_module_on_memcontainer_by_fd()
{ {
sys_prx.Error("TODO: sys_prx_load_module_on_memcontainer_by_fd()"); sys_prx.Todo("sys_prx_load_module_on_memcontainer_by_fd()");
return CELL_OK; return CELL_OK;
} }
s32 sys_prx_start_module(s32 id, u32 args, u32 argp_addr, mem32_t modres, u64 flags, mem_ptr_t<sys_prx_start_module_option_t> pOpt) s32 sys_prx_start_module(s32 id, u32 args, u32 argp_addr, mem32_t modres, u64 flags, mem_ptr_t<sys_prx_start_module_option_t> pOpt)
{ {
sys_prx.Error("TODO: sys_prx_start_module(id=%d, args=%d, argp_addr=0x%x, modres_addr=0x%x, flags=0x%llx, pOpt=0x%x)", sys_prx.Todo("sys_prx_start_module(id=%d, args=%d, argp_addr=0x%x, modres_addr=0x%x, flags=0x%llx, pOpt=0x%x)",
id, args, argp_addr, modres.GetAddr(), flags, pOpt.GetAddr()); id, args, argp_addr, modres.GetAddr(), flags, pOpt.GetAddr());
if (!modres.IsGood()) if (!modres.IsGood())
@ -70,7 +70,7 @@ s32 sys_prx_start_module(s32 id, u32 args, u32 argp_addr, mem32_t modres, u64 fl
s32 sys_prx_stop_module(s32 id, u32 args, u32 argp_addr, mem32_t modres, u64 flags, mem_ptr_t<sys_prx_stop_module_option_t> pOpt) s32 sys_prx_stop_module(s32 id, u32 args, u32 argp_addr, mem32_t modres, u64 flags, mem_ptr_t<sys_prx_stop_module_option_t> pOpt)
{ {
sys_prx.Error("TODO: sys_prx_stop_module(id=%d, args=%d, argp_addr=0x%x, modres_addr=0x%x, flags=0x%llx, pOpt=0x%x)", sys_prx.Todo("sys_prx_stop_module(id=%d, args=%d, argp_addr=0x%x, modres_addr=0x%x, flags=0x%llx, pOpt=0x%x)",
id, args, argp_addr, modres.GetAddr(), flags, pOpt.GetAddr()); id, args, argp_addr, modres.GetAddr(), flags, pOpt.GetAddr());
if (!modres.IsGood()) if (!modres.IsGood())
@ -88,7 +88,7 @@ s32 sys_prx_stop_module(s32 id, u32 args, u32 argp_addr, mem32_t modres, u64 fla
s32 sys_prx_unload_module(s32 id, u64 flags, mem_ptr_t<sys_prx_unload_module_option_t> pOpt) s32 sys_prx_unload_module(s32 id, u64 flags, mem_ptr_t<sys_prx_unload_module_option_t> pOpt)
{ {
sys_prx.Error("TODO: sys_prx_unload_module(id=%d, flags=0x%llx, pOpt=0x%x)", id, flags, pOpt.GetAddr()); sys_prx.Todo("sys_prx_unload_module(id=%d, flags=0x%llx, pOpt=0x%x)", id, flags, pOpt.GetAddr());
// Get the PRX, free the used memory and delete the object and its ID // Get the PRX, free the used memory and delete the object and its ID
sys_prx_t* prx; sys_prx_t* prx;
@ -102,90 +102,90 @@ s32 sys_prx_unload_module(s32 id, u64 flags, mem_ptr_t<sys_prx_unload_module_opt
s32 sys_prx_get_module_list() s32 sys_prx_get_module_list()
{ {
sys_prx.Error("TODO: sys_prx_get_module_list()"); sys_prx.Todo("sys_prx_get_module_list()");
return CELL_OK; return CELL_OK;
} }
s32 sys_prx_get_my_module_id() s32 sys_prx_get_my_module_id()
{ {
sys_prx.Error("TODO: sys_prx_get_my_module_id()"); sys_prx.Todo("sys_prx_get_my_module_id()");
return CELL_OK; return CELL_OK;
} }
s32 sys_prx_get_module_id_by_address() s32 sys_prx_get_module_id_by_address()
{ {
sys_prx.Error("TODO: sys_prx_get_module_id_by_address()"); sys_prx.Todo("sys_prx_get_module_id_by_address()");
return CELL_OK; return CELL_OK;
} }
s32 sys_prx_get_module_id_by_name() s32 sys_prx_get_module_id_by_name()
{ {
sys_prx.Error("TODO: sys_prx_get_module_id_by_name()"); sys_prx.Todo("sys_prx_get_module_id_by_name()");
return CELL_OK; return CELL_OK;
} }
s32 sys_prx_get_module_info() s32 sys_prx_get_module_info()
{ {
sys_prx.Error("TODO: sys_prx_get_module_info()"); sys_prx.Todo("sys_prx_get_module_info()");
return CELL_OK; return CELL_OK;
} }
s32 sys_prx_register_library(u32 lib_addr) s32 sys_prx_register_library(u32 lib_addr)
{ {
sys_prx.Error("TODO: sys_prx_register_library(lib_addr=0x%x)", lib_addr); sys_prx.Todo("sys_prx_register_library(lib_addr=0x%x)", lib_addr);
return CELL_OK; return CELL_OK;
} }
s32 sys_prx_unregister_library() s32 sys_prx_unregister_library()
{ {
sys_prx.Error("TODO: sys_prx_unregister_library()"); sys_prx.Todo("sys_prx_unregister_library()");
return CELL_OK; return CELL_OK;
} }
s32 sys_prx_get_ppu_guid() s32 sys_prx_get_ppu_guid()
{ {
sys_prx.Error("TODO: sys_prx_get_ppu_guid()"); sys_prx.Todo("sys_prx_get_ppu_guid()");
return CELL_OK; return CELL_OK;
} }
s32 sys_prx_register_module() s32 sys_prx_register_module()
{ {
sys_prx.Error("TODO: sys_prx_register_module()"); sys_prx.Todo("sys_prx_register_module()");
return CELL_OK; return CELL_OK;
} }
s32 sys_prx_query_module() s32 sys_prx_query_module()
{ {
sys_prx.Error("TODO: sys_prx_query_module()"); sys_prx.Todo("sys_prx_query_module()");
return CELL_OK; return CELL_OK;
} }
s32 sys_prx_link_library() s32 sys_prx_link_library()
{ {
sys_prx.Error("TODO: sys_prx_link_library()"); sys_prx.Todo("sys_prx_link_library()");
return CELL_OK; return CELL_OK;
} }
s32 sys_prx_unlink_library() s32 sys_prx_unlink_library()
{ {
sys_prx.Error("TODO: sys_prx_unlink_library()"); sys_prx.Todo("sys_prx_unlink_library()");
return CELL_OK; return CELL_OK;
} }
s32 sys_prx_query_library() s32 sys_prx_query_library()
{ {
sys_prx.Error("TODO: sys_prx_query_library()"); sys_prx.Todo("sys_prx_query_library()");
return CELL_OK; return CELL_OK;
} }
s32 sys_prx_start() s32 sys_prx_start()
{ {
sys_prx.Error("TODO: sys_prx_start()"); sys_prx.Todo("sys_prx_start()");
return CELL_OK; return CELL_OK;
} }
s32 sys_prx_stop() s32 sys_prx_stop()
{ {
sys_prx.Error("TODO: sys_prx_stop()"); sys_prx.Todo("sys_prx_stop()");
return CELL_OK; return CELL_OK;
} }

View file

@ -9,72 +9,72 @@ SysCallBase sys_rsx("sys_rsx");
s32 sys_rsx_device_open() s32 sys_rsx_device_open()
{ {
sys_rsx.Error("TODO: sys_rsx_device_open()"); sys_rsx.Todo("sys_rsx_device_open()");
return CELL_OK; return CELL_OK;
} }
s32 sys_rsx_device_close() s32 sys_rsx_device_close()
{ {
sys_rsx.Error("TODO: sys_rsx_device_close()"); sys_rsx.Todo("sys_rsx_device_close()");
return CELL_OK; return CELL_OK;
} }
s32 sys_rsx_memory_allocate() s32 sys_rsx_memory_allocate()
{ {
sys_rsx.Error("TODO: sys_rsx_memory_allocate()"); sys_rsx.Todo("sys_rsx_memory_allocate()");
return CELL_OK; return CELL_OK;
} }
s32 sys_rsx_memory_free() s32 sys_rsx_memory_free()
{ {
sys_rsx.Error("TODO: sys_rsx_memory_free()"); sys_rsx.Todo("sys_rsx_memory_free()");
return CELL_OK; return CELL_OK;
} }
s32 sys_rsx_context_allocate() s32 sys_rsx_context_allocate()
{ {
sys_rsx.Error("TODO: sys_rsx_context_allocate()"); sys_rsx.Todo("sys_rsx_context_allocate()");
return CELL_OK; return CELL_OK;
} }
s32 sys_rsx_context_free() s32 sys_rsx_context_free()
{ {
sys_rsx.Error("TODO: sys_rsx_context_free()"); sys_rsx.Todo("sys_rsx_context_free()");
return CELL_OK; return CELL_OK;
} }
s32 sys_rsx_context_iomap() s32 sys_rsx_context_iomap()
{ {
sys_rsx.Error("TODO: sys_rsx_context_iomap()"); sys_rsx.Todo("sys_rsx_context_iomap()");
return CELL_OK; return CELL_OK;
} }
s32 sys_rsx_context_iounmap() s32 sys_rsx_context_iounmap()
{ {
sys_rsx.Error("TODO: sys_rsx_context_iounmap()"); sys_rsx.Todo("sys_rsx_context_iounmap()");
return CELL_OK; return CELL_OK;
} }
s32 sys_rsx_context_attribute(s32 context_id, u64 a2, u64 a3, u64 a4, u64 a5, u64 a6) s32 sys_rsx_context_attribute(s32 context_id, u64 a2, u64 a3, u64 a4, u64 a5, u64 a6)
{ {
sys_rsx.Error("TODO: sys_rsx_context_attribute(context_id=%d, a2=%llu, a3=%llu, a4=%llu, a5=%llu, a6=%llu)", context_id, a2, a3, a4, a5, a6); sys_rsx.Todo("sys_rsx_context_attribute(context_id=%d, a2=%llu, a3=%llu, a4=%llu, a5=%llu, a6=%llu)", context_id, a2, a3, a4, a5, a6);
return CELL_OK; return CELL_OK;
} }
s32 sys_rsx_device_map(mem32_t a1, mem32_t a2, u32 a3) s32 sys_rsx_device_map(mem32_t a1, mem32_t a2, u32 a3)
{ {
sys_rsx.Error("TODO: sys_rsx_device_map(a1_addr=0x%x, a2_addr=0x%x, a3=%d)", a1.GetAddr(), a2.GetAddr(), a3); sys_rsx.Todo("sys_rsx_device_map(a1_addr=0x%x, a2_addr=0x%x, a3=%d)", a1.GetAddr(), a2.GetAddr(), a3);
return CELL_OK; return CELL_OK;
} }
s32 sys_rsx_device_unmap() s32 sys_rsx_device_unmap()
{ {
sys_rsx.Error("TODO: sys_rsx_device_unmap()"); sys_rsx.Todo("sys_rsx_device_unmap()");
return CELL_OK; return CELL_OK;
} }
s32 sys_rsx_attribute() s32 sys_rsx_attribute()
{ {
sys_rsx.Error("TODO: sys_rsx_attribute()"); sys_rsx.Todo("sys_rsx_attribute()");
return CELL_OK; return CELL_OK;
} }

View file

@ -14,9 +14,9 @@ s32 sys_rwlock_create(mem32_t rw_lock_id, mem_ptr_t<sys_rwlock_attribute_t> attr
switch (attr->attr_protocol.ToBE()) switch (attr->attr_protocol.ToBE())
{ {
case se(attr->attr_protocol, SYS_SYNC_PRIORITY): sys_rwlock.Warning("TODO: SYS_SYNC_PRIORITY attr"); break; case se(attr->attr_protocol, SYS_SYNC_PRIORITY): sys_rwlock.Todo("SYS_SYNC_PRIORITY"); break;
case se(attr->attr_protocol, SYS_SYNC_RETRY): sys_rwlock.Error("Invalid SYS_SYNC_RETRY attr"); break; case se(attr->attr_protocol, SYS_SYNC_RETRY): sys_rwlock.Error("SYS_SYNC_RETRY"); return CELL_EINVAL;
case se(attr->attr_protocol, SYS_SYNC_PRIORITY_INHERIT): sys_rwlock.Warning("TODO: SYS_SYNC_PRIORITY_INHERIT attr"); break; case se(attr->attr_protocol, SYS_SYNC_PRIORITY_INHERIT): sys_rwlock.Todo("SYS_SYNC_PRIORITY_INHERIT"); break;
case se(attr->attr_protocol, SYS_SYNC_FIFO): break; case se(attr->attr_protocol, SYS_SYNC_FIFO): break;
default: return CELL_EINVAL; default: return CELL_EINVAL;
} }

View file

@ -35,8 +35,8 @@ s32 sys_semaphore_create(mem32_t sem, mem_ptr_t<sys_semaphore_attribute> attr, i
{ {
case se32(SYS_SYNC_FIFO): break; case se32(SYS_SYNC_FIFO): break;
case se32(SYS_SYNC_PRIORITY): break; case se32(SYS_SYNC_PRIORITY): break;
case se32(SYS_SYNC_PRIORITY_INHERIT): sys_sem.Warning("TODO: SYS_SYNC_PRIORITY_INHERIT protocol"); break; case se32(SYS_SYNC_PRIORITY_INHERIT): sys_sem.Todo("SYS_SYNC_PRIORITY_INHERIT"); break;
case se32(SYS_SYNC_RETRY): sys_sem.Error("Invalid SYS_SYNC_RETRY protocol"); return CELL_EINVAL; case se32(SYS_SYNC_RETRY): sys_sem.Error("SYS_SYNC_RETRY"); return CELL_EINVAL;
default: sys_sem.Error("Unknown protocol attribute(0x%x)", (u32)attr->protocol); return CELL_EINVAL; default: sys_sem.Error("Unknown protocol attribute(0x%x)", (u32)attr->protocol); return CELL_EINVAL;
} }

View file

@ -26,6 +26,7 @@ void sys_spinlock_lock(mem_ptr_t<std::atomic<be_t<u32>>> lock)
{ {
while (lock->load(std::memory_order_relaxed).ToBE()) while (lock->load(std::memory_order_relaxed).ToBE())
{ {
std::this_thread::sleep_for(std::chrono::milliseconds(1)); // hack
if (Emu.IsStopped()) if (Emu.IsStopped())
{ {
break; break;

View file

@ -356,7 +356,7 @@ s32 sys_spu_thread_group_join(u32 id, mem32_t cause, mem32_t status)
s32 sys_spu_thread_create(mem32_t thread_id, mem32_t entry, u64 arg, int prio, u32 stacksize, u64 flags, u32 threadname_addr) s32 sys_spu_thread_create(mem32_t thread_id, mem32_t entry, u64 arg, int prio, u32 stacksize, u64 flags, u32 threadname_addr)
{ {
sc_spu.Error("sys_spu_thread_create(thread_id_addr=0x%x, entry_addr=0x%x, arg=0x%llx, prio=%d, stacksize=0x%x, flags=0x%llx, threadname_addr=0x%x", sc_spu.Todo("sys_spu_thread_create(thread_id_addr=0x%x, entry_addr=0x%x, arg=0x%llx, prio=%d, stacksize=0x%x, flags=0x%llx, threadname_addr=0x%x",
thread_id.GetAddr(), entry.GetAddr(), arg, prio, stacksize, flags, threadname_addr); thread_id.GetAddr(), entry.GetAddr(), arg, prio, stacksize, flags, threadname_addr);
return CELL_OK; return CELL_OK;
} }
@ -524,14 +524,14 @@ s32 sys_spu_thread_write_snr(u32 id, u32 number, u32 value)
s32 sys_spu_thread_group_connect_event(u32 id, u32 eq, u32 et) s32 sys_spu_thread_group_connect_event(u32 id, u32 eq, u32 et)
{ {
sc_spu.Error("sys_spu_thread_group_connect_event(id=%d, eq=%d, et=0x%x)", id, eq, et); sc_spu.Todo("sys_spu_thread_group_connect_event(id=%d, eq=%d, et=0x%x)", id, eq, et);
return CELL_OK; return CELL_OK;
} }
s32 sys_spu_thread_group_disconnect_event(u32 id, u32 et) s32 sys_spu_thread_group_disconnect_event(u32 id, u32 et)
{ {
sc_spu.Error("sys_spu_thread_group_disconnect_event(id=%d, et=0x%x)", id, et); sc_spu.Todo("sys_spu_thread_group_disconnect_event(id=%d, et=0x%x)", id, et);
return CELL_OK; return CELL_OK;
} }
@ -762,7 +762,7 @@ s32 sys_spu_thread_group_connect_event_all_threads(u32 id, u32 eq_id, u64 req, m
s32 sys_spu_thread_group_disconnect_event_all_threads(u32 id, u8 spup) s32 sys_spu_thread_group_disconnect_event_all_threads(u32 id, u8 spup)
{ {
sc_spu.Error("sys_spu_thread_group_disconnect_event_all_threads(id=%d, spup=%d)", id, spup); sc_spu.Todo("sys_spu_thread_group_disconnect_event_all_threads(id=%d, spup=%d)", id, spup);
return CELL_OK; return CELL_OK;
} }

View file

@ -20,7 +20,7 @@ s32 sys_timer_create(mem32_t timer_id)
s32 sys_timer_destroy(u32 timer_id) s32 sys_timer_destroy(u32 timer_id)
{ {
sys_timer.Warning("TODO: sys_timer_destroy(timer_id=%d)", timer_id); sys_timer.Todo("sys_timer_destroy(timer_id=%d)", timer_id);
if(!sys_timer.CheckId(timer_id)) return CELL_ESRCH; if(!sys_timer.CheckId(timer_id)) return CELL_ESRCH;
@ -65,7 +65,7 @@ s32 sys_timer_start(u32 timer_id, s64 base_time, u64 period)
s32 sys_timer_stop(u32 timer_id) s32 sys_timer_stop(u32 timer_id)
{ {
sys_timer.Warning("TODO: sys_timer_stop()"); sys_timer.Todo("sys_timer_stop()");
timer* timer_data = nullptr; timer* timer_data = nullptr;
if(!sys_timer.CheckId(timer_id, timer_data)) return CELL_ESRCH; if(!sys_timer.CheckId(timer_id, timer_data)) return CELL_ESRCH;
@ -91,7 +91,7 @@ s32 sys_timer_connect_event_queue(u32 timer_id, u32 queue_id, u64 name, u64 data
s32 sys_timer_disconnect_event_queue(u32 timer_id) s32 sys_timer_disconnect_event_queue(u32 timer_id)
{ {
sys_timer.Warning("TODO: sys_timer_disconnect_event_queue(timer_id=%d)", timer_id); sys_timer.Todo("sys_timer_disconnect_event_queue(timer_id=%d)", timer_id);
timer* timer_data = nullptr; timer* timer_data = nullptr;
if(!sys_timer.CheckId(timer_id, timer_data)) return CELL_ESRCH; if(!sys_timer.CheckId(timer_id, timer_data)) return CELL_ESRCH;