mirror of
https://github.com/hrydgard/ppsspp.git
synced 2026-11-13 09:39:33 +01:00
Stop reporting more things we already know about
From going through what report.ppsspp.org still gets from v1.20.4 and later. The logging stays: - Module load options: invalid positions are rejected (and reported) before this, the rest is handled. - Savedata versions 1-3 are normal, only higher ones are rejected. - sceNetAdhocMatchingInit, sceIoAssign and the screenshot dialog's init: every call was reported. - sceKernelStopUnloadSelfModuleWithStatus is implemented, like the version without status, which already wasn't reported. - Thread attributes we ignore, morph and spline vertex types, BREAK, and the POPS emulator invalidating code near the PC. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
4fabe3fe0a
commit
6e5b54142e
9 files changed
+12
-13
No files matched your search
@@ -687,7 +687,7 @@ int SavedataParam::LoadSaveData(SceUtilitySavedataParam *param, const std::strin
|
||||
ERROR_LOG_REPORT(Log::sceUtility, "Savedata version with missing key: %d", param->secureVersion);
|
||||
return SCE_UTILITY_SAVEDATA_ERROR_LOAD_PARAM;
|
||||
} else if (param->secureVersion != 0) {
|
||||
WARN_LOG_REPORT(Log::sceUtility, "Savedata version requested: %d", param->secureVersion);
|
||||
INFO_LOG(Log::sceUtility, "Savedata version requested: %d", param->secureVersion);
|
||||
}
|
||||
|
||||
std::string filename = GetFileName(param);
|
||||
|
||||
+1
-1
@@ -843,7 +843,7 @@ static u32 sceIoAssign(u32 alias_addr, u32 physical_addr, u32 filesystem_addr, i
|
||||
perm = "unhandled";
|
||||
break;
|
||||
}
|
||||
WARN_LOG_REPORT(Log::sceIo, "sceIoAssign(%s, %s, %s, %s, %08x, %i)", alias.c_str(), physical_dev.c_str(), filesystem_dev.c_str(), perm.c_str(), arg_addr, argSize);
|
||||
INFO_LOG(Log::sceIo, "sceIoAssign(%s, %s, %s, %s, %08x, %i)", alias.c_str(), physical_dev.c_str(), filesystem_dev.c_str(), perm.c_str(), arg_addr, argSize);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
@@ -3055,7 +3055,7 @@ u32 sceKernelLoadModule(MIPSState *mips, const char *name, u32 flags, u32 option
|
||||
ERROR_LOG_REPORT(Log::Loader, "sceKernelLoadModule(%s): invalid position (fixed)", name);
|
||||
return hleDelayResult(SCE_KERNEL_ERROR_MEMBLOCK_ALLOC_FAILED, "module loaded", 500);
|
||||
}
|
||||
WARN_LOG_REPORT(Log::Loader, "sceKernelLoadModule: unsupported options size=%08x, flags=%08x, pos=%d, access=%d, data=%d, text=%d", lmoption->size, lmoption->flags, lmoption->position, lmoption->access, lmoption->mpiddata, lmoption->mpidtext);
|
||||
WARN_LOG(Log::Loader, "sceKernelLoadModule: unsupported options size=%08x, flags=%08x, pos=%d, access=%d, data=%d, text=%d", lmoption->size, lmoption->flags, lmoption->position, lmoption->access, lmoption->mpiddata, lmoption->mpidtext);
|
||||
}
|
||||
|
||||
// Opening and reading the file, then about 1ms plus 30us per KB of loader work, the caller waiting
|
||||
@@ -3455,7 +3455,7 @@ u32 __KernelStopUnloadSelfModuleWithOrWithoutStatus(u32 exitCode, u32 argSize, u
|
||||
|
||||
if (loadedModules.size() > 1) {
|
||||
if (WithStatus) {
|
||||
ERROR_LOG_REPORT(Log::sceModule, "UNIMPL sceKernelStopUnloadSelfModuleWithStatus(%08x, %08x, %08x, %08x, %08x): game may have crashed", exitCode, argSize, argp, statusAddr, optionAddr);
|
||||
WARN_LOG(Log::sceModule, "sceKernelStopUnloadSelfModuleWithStatus(%08x, %08x, %08x, %08x, %08x)", exitCode, argSize, argp, statusAddr, optionAddr);
|
||||
} else {
|
||||
// NOTE: The previous "may have crashed" message is not accurate, Splinter Cell Essentials uses this normally when leaving/entering in-game.
|
||||
// We should not report this.
|
||||
@@ -3749,7 +3749,7 @@ static u32 sceKernelLoadModuleByID(u32 id, u32 flags, u32 lmoptionPtr) {
|
||||
const SceKernelLMOption *lmoption = 0;
|
||||
if (lmoptionPtr) {
|
||||
lmoption = (const SceKernelLMOption *)Memory::GetPointerOrException(lmoptionPtr);
|
||||
WARN_LOG_REPORT(Log::Loader, "sceKernelLoadModuleByID: unsupported options size=%08x, flags=%08x, pos=%d, access=%d, data=%d, text=%d", lmoption->size, lmoption->flags, lmoption->position, lmoption->access, lmoption->mpiddata, lmoption->mpidtext);
|
||||
WARN_LOG(Log::Loader, "sceKernelLoadModuleByID: unsupported options size=%08x, flags=%08x, pos=%d, access=%d, data=%d, text=%d", lmoption->size, lmoption->flags, lmoption->position, lmoption->access, lmoption->mpiddata, lmoption->mpidtext);
|
||||
}
|
||||
u32 pos = (u32)pspFileSystem.SeekFile(handle, 0, FILEMOVE_CURRENT);
|
||||
size_t size = pspFileSystem.SeekFile(handle, 0, FILEMOVE_END);
|
||||
@@ -3866,7 +3866,7 @@ SceUID sceKernelLoadModuleBufferUsbWlan(u32 size, u32 bufPtr, u32 flags, u32 lmo
|
||||
const SceKernelLMOption *lmoption = 0;
|
||||
if (lmoptionPtr) {
|
||||
lmoption = (const SceKernelLMOption *)Memory::GetPointerOrException(lmoptionPtr);
|
||||
WARN_LOG_REPORT(Log::Loader, "sceKernelLoadModuleBufferUsbWlan: unsupported options size=%08x, flags=%08x, pos=%d, access=%d, data=%d, text=%d", lmoption->size, lmoption->flags, lmoption->position, lmoption->access, lmoption->mpiddata, lmoption->mpidtext);
|
||||
WARN_LOG(Log::Loader, "sceKernelLoadModuleBufferUsbWlan: unsupported options size=%08x, flags=%08x, pos=%d, access=%d, data=%d, text=%d", lmoption->size, lmoption->flags, lmoption->position, lmoption->access, lmoption->mpiddata, lmoption->mpidtext);
|
||||
}
|
||||
std::string error_string;
|
||||
PSPModule *module = nullptr;
|
||||
|
||||
@@ -2175,7 +2175,7 @@ int __KernelCreateThread(const char *threadName, SceUID moduleID, u32 entry, u32
|
||||
}
|
||||
|
||||
if ((attr & ~PSP_THREAD_ATTR_SUPPORTED) != 0) {
|
||||
WARN_LOG_REPORT(Log::sceKernel, "sceKernelCreateThread(name=%s): unsupported attributes %08x, ignoring", threadName, attr & ~PSP_THREAD_ATTR_SUPPORTED);
|
||||
WARN_LOG(Log::sceKernel, "sceKernelCreateThread(name=%s): unsupported attributes %08x, ignoring", threadName, attr & ~PSP_THREAD_ATTR_SUPPORTED);
|
||||
}
|
||||
|
||||
// TODO: Not sure what these values are, but they are removed from the attr silently.
|
||||
|
||||
@@ -1525,7 +1525,7 @@ int sceNetAdhocMatchingDelete(MIPSState *mips, int matchingId) {
|
||||
}
|
||||
|
||||
int sceNetAdhocMatchingInit(MIPSState *mips, u32 memsize) {
|
||||
WARN_LOG_REPORT_ONCE(sceNetAdhocMatchingInit, Log::sceNet, "sceNetAdhocMatchingInit(%d) at %08x", memsize, mips->pc);
|
||||
INFO_LOG(Log::sceNet, "sceNetAdhocMatchingInit(%d) at %08x", memsize, mips->pc);
|
||||
|
||||
// Uninitialized Library
|
||||
if (netAdhocMatchingInited)
|
||||
|
||||
@@ -1413,7 +1413,7 @@ static int sceUtilityGetNetParamLatestID(u32 idAddr) {
|
||||
//TODO: Implement all sceUtilityScreenshot* for real, it doesn't seem to be complex
|
||||
//but it requires more investigation
|
||||
static int sceUtilityScreenshotInitStart(u32 paramAddr) {
|
||||
return hleReportWarning(Log::sceUtility, UtilityInitStart(UtilityDialogType::SCREENSHOT, screenshotDialog, paramAddr));
|
||||
return hleLogInfo(Log::sceUtility, UtilityInitStart(UtilityDialogType::SCREENSHOT, screenshotDialog, paramAddr));
|
||||
}
|
||||
|
||||
static int sceUtilityScreenshotShutdownStart() {
|
||||
|
||||
@@ -155,7 +155,7 @@ namespace MIPSInt {
|
||||
}
|
||||
if (alignedAddr <= PC + 4 && alignedAddr + size >= PC - 4) {
|
||||
// This is probably rare so we don't use a static bool.
|
||||
WARN_LOG_REPORT_ONCE(icacheInvalidatePC, Log::JIT, "Invalidating address near PC: %08x (%08x + %d) at PC=%08x", addr, R(rs), imm, PC);
|
||||
WARN_LOG_ONCE(icacheInvalidatePC, Log::JIT, "Invalidating address near PC: %08x (%08x + %d) at PC=%08x", addr, R(rs), imm, PC);
|
||||
}
|
||||
}
|
||||
break;
|
||||
@@ -219,7 +219,6 @@ namespace MIPSInt {
|
||||
}
|
||||
|
||||
void Int_Break(MIPSState *mips, MIPSOpcode op) {
|
||||
Reporting::ReportMessage("BREAK instruction hit");
|
||||
Core_BreakException(PC);
|
||||
PC += 4;
|
||||
}
|
||||
|
||||
@@ -1222,7 +1222,7 @@ void VertexDecoder::SetVertexType(u32 fmt, const VertexDecoderOptions &options,
|
||||
memset(&decFmt, 0, sizeof(decFmt));
|
||||
|
||||
if (morphcount > 1) {
|
||||
DEBUG_LOG_REPORT_ONCE(vtypeM, Log::G3D, "VTYPE with morph used: THRU=%i TC=%i COL=%i POS=%i NRM=%i WT=%i NW=%i IDX=%i MC=%i", (int)throughmode, tc, col, pos, nrm, weighttype, nweights, idx, morphcount);
|
||||
DEBUG_LOG(Log::G3D, "VTYPE with morph used: THRU=%i TC=%i COL=%i POS=%i NRM=%i WT=%i NW=%i IDX=%i MC=%i", (int)throughmode, tc, col, pos, nrm, weighttype, nweights, idx, morphcount);
|
||||
} else {
|
||||
DEBUG_LOG(Log::G3D, "VTYPE: THRU=%i TC=%i COL=%i POS=%i NRM=%i WT=%i NW=%i IDX=%i MC=%i", (int)throughmode, tc, col, pos, nrm, weighttype, nweights, idx, morphcount);
|
||||
}
|
||||
|
||||
+1
-1
@@ -1361,7 +1361,7 @@ void GPUCommonHW::Execute_Bezier(u32 op, u32 diff) {
|
||||
}
|
||||
|
||||
if (vertTypeIsSkinningEnabled(vertType)) {
|
||||
DEBUG_LOG_REPORT(Log::G3D, "Unusual bezier/spline vtype: %08x, morph: %d, bones: %d", vertType, (vertType & GE_VTYPE_MORPHCOUNT_MASK) >> GE_VTYPE_MORPHCOUNT_SHIFT, vertTypeGetNumBoneWeights(vertType));
|
||||
DEBUG_LOG(Log::G3D, "Unusual bezier/spline vtype: %08x, morph: %d, bones: %d", vertType, (vertType & GE_VTYPE_MORPHCOUNT_MASK) >> GE_VTYPE_MORPHCOUNT_SHIFT, vertTypeGetNumBoneWeights(vertType));
|
||||
}
|
||||
|
||||
// Can't flush after setting gstate_c.submitType below since it'll be a mess - it must be done already.
|
||||
|
||||
Reference in new issue
Block a user