Exemple #1
0
        public virtual int sceNpService_B2EA4530(TPointer64 unknown)
        {
            // The returned value seems to be the ticket validity duration
            unknown.Value = 10 * 60 * 1000;

            return(0);
        }
Exemple #2
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);
        }
Exemple #3
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);
        }
Exemple #4
0
        public virtual int sceKernelGetSystemTime(TPointer64 time_addr)
        {
            long systemTime = SystemTime;

            time_addr.Value = systemTime;

            return(0);
        }
Exemple #5
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);
        }
Exemple #6
0
        public virtual int sceRtcSetTick(TPointer timeAddr, TPointer64 ticksAddr)
        {
            long           ticks = ticksAddr.Value - rtcMagicOffset;
            ScePspDateTime time  = ScePspDateTime.fromMicros(ticks);

            time.write(timeAddr);

            return(0);
        }
Exemple #7
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);
        }
Exemple #8
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);
        }
Exemple #9
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);
        }
Exemple #10
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);
        }
Exemple #11
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);
        }
Exemple #12
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);
        }
Exemple #13
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);
        }
Exemple #14
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);
        }
Exemple #15
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);
        }
Exemple #16
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);
        }
Exemple #17
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);
        }
Exemple #18
0
 public virtual int sceKernelUSec2SysClock(int usec, TPointer64 sysClockAddr)
 {
     sysClockAddr.Value = usec & 0xFFFFFFFFL;
     return(0);
 }
Exemple #19
0
 public virtual int sceUsbGpsGetInitDataLocation(TPointer64 unknown)
 {
     unknown.Value = 0;
     return(0);
 }
Exemple #20
0
 public virtual int sceRtcSetTick_660(TPointer timeAddr, TPointer64 ticksAddr)
 {
     return(sceRtcSetTick(timeAddr, ticksAddr));
 }
Exemple #21
0
 public virtual int sceRtc_508BA64B(TPointer64 unknown)
 {
     return(0);
 }
Exemple #22
0
 public virtual int sceRtcGetCurrentSecureTick(TPointer64 currentTick)
 {
     return(sceRtcGetCurrentTick(currentTick));
 }
Exemple #23
0
 public virtual int sceRtcSetAlarmTick_660(TPointer64 srcPtr)
 {
     return(sceRtcSetAlarmTick(srcPtr));
 }
Exemple #24
0
        public virtual int sceRtcGetAlarmTick(TPointer64 alarmTick)
        {
            alarmTick.Value = 0L;

            return(0);
        }
Exemple #25
0
 public virtual int sceRtcTickAddSeconds(TPointer64 dstPtr, TPointer64 srcPtr, long value)
 {
     Console.WriteLine("sceRtcTickAddSeconds redirecting to hleRtcTickAdd64(1000000)");
     return(hleRtcTickAdd64(dstPtr, srcPtr, value, 1000000L));
 }
Exemple #26
0
 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));
 }
Exemple #27
0
 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));
 }