public virtual int sceNpService_B2EA4530(TPointer64 unknown) { // The returned value seems to be the ticket validity duration unknown.Value = 10 * 60 * 1000; return(0); }
public virtual int sceRtcGetLastReincarnatedTime(TPointer64 tickAddr) { // Returns the last tick that was saved upon a battery shutdown. // Just return our current tick, since there's no need to mimick such behavior. tickAddr.Value = hleGetCurrentTick(); return(0); }
public virtual int sceRtcGetLastAdjustedTime(TPointer64 tickAddr) { // Returns the last time that was manually set by the user. // Just return our current tick, since there's no need to mimick such behavior. tickAddr.Value = hleGetCurrentTick(); return(0); }
public virtual int sceKernelGetSystemTime(TPointer64 time_addr) { long systemTime = SystemTime; time_addr.Value = systemTime; return(0); }
public virtual int sceRtcConvertLocalTimeToUTC(TPointer64 localPtr, TPointer64 utcPtr) { // Subtract the offset of the local time zone to UTC TimeZone localTimeZone = LocalTimeZone; hleRtcTickAdd64(utcPtr, localPtr, -localTimeZone.RawOffset, 1000L); return(0); }
public virtual int sceRtcSetTick(TPointer timeAddr, TPointer64 ticksAddr) { long ticks = ticksAddr.Value - rtcMagicOffset; ScePspDateTime time = ScePspDateTime.fromMicros(ticks); time.write(timeAddr); return(0); }
public virtual int sceRtcSetAlarmTick(TPointer64 srcPtr) { if (log.DebugEnabled && srcPtr.NotNull) { Console.WriteLine(string.Format("sceRtcSetAlarmTick src=0x{0:X}", srcPtr.Value)); } return(0); }
public virtual int sceRtcConvertUtcToLocalTime(TPointer64 utcPtr, TPointer64 localPtr) { // Add the offset of the local time zone to UTC TimeZone localTimeZone = LocalTimeZone; hleRtcTickAdd64(localPtr, utcPtr, localTimeZone.RawOffset, 1000L); return(0); }
/// <summary> /// 32 bit addend </summary> protected internal virtual int hleRtcTickAdd32(TPointer64 dstPtr, TPointer64 srcPtr, int value, long multiplier) { Console.WriteLine("hleRtcTickAdd32 " + multiplier + " * " + value); long src = srcPtr.Value; dstPtr.Value = src + multiplier * value; return(0); }
public virtual int sceRtcGetCurrentNetworkTick(TPointer64 networkTick) { networkTick.Value = hleGetCurrentTick(); //if (log.DebugEnabled) { Console.WriteLine(string.Format("sceRtcGetCurrentNetworkTick returning {0:D}", networkTick.Value)); } return(0); }
/// <summary> /// 64 bit addend </summary> protected internal virtual int hleRtcTickAdd64(TPointer64 dstPtr, TPointer64 srcPtr, long value, long multiplier) { //if (log.DebugEnabled) { Console.WriteLine(string.Format("hleRtcTickAdd64 dstPtr={0}, srcPtr={1}({2:D}), {3:D} * {4:D}", dstPtr, srcPtr, srcPtr.Value, value, multiplier)); } long src = srcPtr.Value; dstPtr.Value = src + multiplier * value; return(0); }
public virtual int sceRtcFormatRFC3339LocalTime(TPointer resultString, TPointer64 srcPtr) { DateTime date = getDateFromTick(srcPtr.Value); string result = formatRFC3339(date); //if (log.DebugEnabled) { Console.WriteLine(string.Format("sceRtcFormatRFC3339LocalTime src={0:D}, returning '{1}'", srcPtr.Value, result)); } resultString.StringZ = result; return(0); }
public virtual int sceRtcCompareTick(TPointer64 firstPtr, TPointer64 secondPtr) { long tick1 = firstPtr.Value; long tick2 = secondPtr.Value; if (tick1 < tick2) { return(-1); } if (tick1 > tick2) { return(1); } return(0); }
public virtual int sceRtcGetWin32FileTime(ScePspDateTime dateTime, TPointer64 timeAddr) { DateTime cal = new DateTime(); cal = new DateTime(dateTime.year, dateTime.month - 1, dateTime.day, dateTime.hour, dateTime.minute, dateTime.second); int filetimetime = (int)(cal.Ticks / 1000L); //if (log.DebugEnabled) { Console.WriteLine(string.Format("sceRtcGetWin32FileTime returning {0:D}", filetimetime)); } timeAddr.Value = filetimetime; return(0); }
public virtual int sceRtcGetTime64_t(ScePspDateTime dateTime, TPointer64 timeAddr) { DateTime cal = new DateTime(); cal = new DateTime(dateTime.year, dateTime.month - 1, dateTime.day, dateTime.hour, dateTime.minute, dateTime.second); long unixtime = cal.Ticks / 1000L; //if (log.DebugEnabled) { Console.WriteLine(string.Format("sceRtcGetTime64_t psptime={0} returning unixtime={1:D}", dateTime, unixtime)); } timeAddr.Value = unixtime; return(0); }
public virtual int sceRtcGetTick(ScePspDateTime time, TPointer64 ticksAddr) { // use java library to convert a date to seconds, then multiply it by the tick resolution DateTime cal = new GregorianCalendar(time.year, time.month - 1, time.day, time.hour, time.minute, time.second); cal.set(DateTime.MILLISECOND, time.microsecond / 1000); cal.TimeZone = ScePspDateTime.GMT; long ticks = rtcMagicOffset + (cal.Ticks * 1000L) + (time.microsecond % 1000); ticksAddr.Value = ticks; //if (log.DebugEnabled) { Console.WriteLine(string.Format("sceRtcGetTick returning {0:D}", ticks)); } return(0); }
public virtual int sceKernelSysClock2USec(TPointer64 sysClockAddr, TPointer32 secAddr, TPointer32 microSecAddr) { long sysClock = sysClockAddr.Value; //if (log.DebugEnabled) { Console.WriteLine(string.Format("sceKernelSysClock2USec sysClockAddr={0}({1:D}), secAddr={2}, microSecAddr={3}", sysClockAddr, sysClock, secAddr, microSecAddr)); } if (secAddr.Null) { // PSP is copying sysclock value directly to microSecAddr when secAddr is NULL microSecAddr.setValue((int)sysClock); } else { secAddr.setValue((int)(sysClock / 1000000)); microSecAddr.setValue((int)(sysClock % 1000000)); } return(0); }
public virtual int sceKernelUSec2SysClock(int usec, TPointer64 sysClockAddr) { sysClockAddr.Value = usec & 0xFFFFFFFFL; return(0); }
public virtual int sceUsbGpsGetInitDataLocation(TPointer64 unknown) { unknown.Value = 0; return(0); }
public virtual int sceRtcSetTick_660(TPointer timeAddr, TPointer64 ticksAddr) { return(sceRtcSetTick(timeAddr, ticksAddr)); }
public virtual int sceRtc_508BA64B(TPointer64 unknown) { return(0); }
public virtual int sceRtcGetCurrentSecureTick(TPointer64 currentTick) { return(sceRtcGetCurrentTick(currentTick)); }
public virtual int sceRtcSetAlarmTick_660(TPointer64 srcPtr) { return(sceRtcSetAlarmTick(srcPtr)); }
public virtual int sceRtcGetAlarmTick(TPointer64 alarmTick) { alarmTick.Value = 0L; return(0); }
public virtual int sceRtcTickAddSeconds(TPointer64 dstPtr, TPointer64 srcPtr, long value) { Console.WriteLine("sceRtcTickAddSeconds redirecting to hleRtcTickAdd64(1000000)"); return(hleRtcTickAdd64(dstPtr, srcPtr, value, 1000000L)); }
public virtual int sceRtcTickAddMinutes(TPointer64 dstPtr, TPointer64 srcPtr, long value) { Console.WriteLine("sceRtcTickAddMinutes redirecting to hleRtcTickAdd64(60*1000000)"); return(hleRtcTickAdd64(dstPtr, srcPtr, value, PSP_TIME_SECONDS_IN_MINUTE * 1000000L)); }
public virtual int sceRtcTickAddYears(TPointer64 dstPtr, TPointer64 srcPtr, int value) { Console.WriteLine("sceRtcTickAddYears redirecting to hleRtcTickAdd32(365*24*60*60*1000000)"); return(hleRtcTickAdd32(dstPtr, srcPtr, value, PSP_TIME_SECONDS_IN_YEAR * 1000000L)); }