コード例 #1
0
ファイル: sceRtc.cpp プロジェクト: CrymsonZX/ppsspp
int sceRtcGetTime64_t(u32 datePtr, u32 timePtr)
{
	DEBUG_LOG(HLE, "sceRtcGetTime64_t(%08x,%08x)", datePtr, timePtr);
	if (Memory::IsValidAddress(datePtr)&&Memory::IsValidAddress(timePtr))
	{
		ScePspDateTime pt;
		Memory::ReadStruct(datePtr, &pt);
		u64 result = (__RtcPspTimeToTicks(pt)-rtcMagicOffset)/1000000ULL;
		Memory::Write_U64(result, timePtr);
	}
	else
	{
		return 1;
	}
	return 0;
}
コード例 #2
0
ファイル: sceRtc.cpp プロジェクト: libretro/PSP1
static int sceRtcGetTime_t(u32 datePtr, u32 timePtr)
{
    DEBUG_LOG(SCERTC, "sceRtcGetTime_t(%08x,%08x)", datePtr, timePtr);
    if (Memory::IsValidAddress(datePtr)&&Memory::IsValidAddress(timePtr))
    {
        ScePspDateTime pt;
        Memory::ReadStructUnchecked(datePtr, &pt);
        u32 result = (u32) ((__RtcPspTimeToTicks(pt)-rtcMagicOffset)/1000000ULL);
        Memory::Write_U32(result, timePtr);
    }
    else
    {
        return 1;
    }
    return 0;
}
コード例 #3
0
ファイル: sceRtc.cpp プロジェクト: CrymsonZX/ppsspp
u32 sceRtcGetTick(u32 pspTimePtr, u32 tickPtr)
{
	DEBUG_LOG(HLE, "sceRtcGetTick(%08x, %08x)", pspTimePtr, tickPtr);
	ScePspDateTime pt;

	if (Memory::IsValidAddress(pspTimePtr) && Memory::IsValidAddress(tickPtr))
	{
		Memory::ReadStruct(pspTimePtr, &pt);

		if (!__RtcValidatePspTime(pt))
			return SCE_KERNEL_ERROR_INVALID_VALUE;

		u64 result = __RtcPspTimeToTicks(pt);

		Memory::Write_U64(result, tickPtr);
	}

	return 0;
}