Imp sceUtilityScreenshotContStart

This commit is contained in:
sum2012 2014-03-30 14:42:29 +08:00
parent d6de42df93
commit 11311b2b69
3 changed files with 31 additions and 4 deletions

View File

@ -49,3 +49,16 @@ int PSPPlaceholderDialog::Update(int animSpeed)
}
return 0;
}
int PSPPlaceholderDialog::ContStart()
{
// base on JPCSP http://code.google.com/p/jpcsp/source/detail?r=3381
// be initialized with sceUtilityScreenshotInitStart and the startupType
// parameter has to be PSP_UTILITY_SCREENSHOT_TYPE_CONT_AUTO, otherwise, an
// error is returned.
if (status != SCE_UTILITY_STATUS_SCREENSHOT_UNKNOWN)
return SCE_ERROR_UTILITY_INVALID_STATUS;
// Check with JPCSPTrace log of Dream Club Portable
status = SCE_UTILITY_STATUS_FINISHED;
return 0;
}

View File

@ -26,5 +26,7 @@ public:
virtual int Init();
virtual int Update(int animSpeed);
virtual int ContStart();
};

View File

@ -448,7 +448,7 @@ u32 sceUtilityScreenshotShutdownStart()
}
currentDialogActive = false;
int ret = screenshotDialog.Shutdown();
WARN_LOG(SCEUTILITY, "UNTESTED %08x=sceUtilityScreenshotShutdownStart()",ret);
WARN_LOG(SCEUTILITY, "%08x=sceUtilityScreenshotShutdownStart()",ret);
return ret;
}
@ -460,7 +460,7 @@ u32 sceUtilityScreenshotUpdate(u32 animSpeed)
return SCE_ERROR_UTILITY_WRONG_TYPE;
}
int ret = screenshotDialog.Update(animSpeed);
WARN_LOG(SCEUTILITY, " %08x=sceUtilityScreenshotUpdate(%d)", ret, animSpeed);
WARN_LOG(SCEUTILITY, "%08x=sceUtilityScreenshotUpdate(%d)", ret, animSpeed);
return ret;
}
@ -473,10 +473,22 @@ int sceUtilityScreenshotGetStatus()
}
u32 retval = screenshotDialog.GetStatus();
WARN_LOG(SCEUTILITY, "UNIMPL %08x=sceUtilityScreenshotGetStatus()", retval);
WARN_LOG(SCEUTILITY, "%08x=sceUtilityScreenshotGetStatus()", retval);
return retval;
}
u32 sceUtilityScreenshotContStart(u32 paramAddr)
{
if (currentDialogType != UTILITY_DIALOG_SCREENSHOT)
{
WARN_LOG(SCEUTILITY, "sceUtilityScreenshotUpdate(): wrong dialog type");
return SCE_ERROR_UTILITY_WRONG_TYPE;
}
u32 ret = screenshotDialog.ContStart();
WARN_LOG(SCEUTILITY, "%08x=sceUtilityScreenshotContStart(%08x)", ret, paramAddr);
return ret;
}
int sceUtilityGamedataInstallInitStart(u32 paramsAddr)
{
if (currentDialogActive && currentDialogType != UTILITY_DIALOG_GAMEDATAINSTALL)
@ -766,7 +778,7 @@ const HLEFunction sceUtility[] =
{0xF9E0008C, &WrapU_V<sceUtilityScreenshotShutdownStart>, "sceUtilityScreenshotShutdownStart"},
{0xAB083EA9, &WrapU_U<sceUtilityScreenshotUpdate>, "sceUtilityScreenshotUpdate"},
{0xD81957B7, &WrapI_V<sceUtilityScreenshotGetStatus>, "sceUtilityScreenshotGetStatus"},
{0x86A03A27, 0, "sceUtilityScreenshotContStart"},
{0x86A03A27, &WrapU_U<sceUtilityScreenshotContStart>, "sceUtilityScreenshotContStart"},
{0x0D5BC6D2, 0, "sceUtilityLoadUsbModule"},
{0xF64910F0, 0, "sceUtilityUnloadUsbModule"},