extern "C" int main(int argc, char *argv[]) { vtimer = sceKernelCreateVTimer("cancel", NULL); testCancel("Normal", vtimer); testCancel("Twice", vtimer); testCancel("NULL", 0); testCancel("Invalid", 0xDEADBEEF); sceKernelDeleteVTimer(vtimer); testCancel("Deleted", vtimer); vtimer = sceKernelCreateVTimer("delete", NULL); sceKernelStartVTimer(vtimer); testCancel("Started", vtimer); sceKernelSetVTimerHandlerWide(vtimer, 1, &basicHandler, (void *)0xABCD1337); testCancel("With handler", vtimer); SceKernelSysClock t = {1, 0}; sceKernelSetVTimerHandler(vtimer, &t, &cancelHandler, (void *)0xABCD1337); sceKernelDelayThread(1000); testCancel("After cancel handler", vtimer); sceKernelSetVTimerHandlerWide(vtimer, 1, &zeroHandler, (void *)0xABCD1337); sceKernelDelayThread(1000); schedfVTimer(vtimer); testCancel("After return zero handler", vtimer); return 0; }
extern "C" int main(int argc, char *argv[]) { SceUID vtimer = sceKernelCreateVTimer("test", NULL); checkpointNext("Objects"); checkpoint(" Normal: %08x", sceKernelStopVTimer(vtimer)); checkpoint(" Twice: %08x", sceKernelStopVTimer(vtimer)); checkpoint(" NULL: %08x", sceKernelStopVTimer(0)); checkpoint(" Invalid: %08x", sceKernelStopVTimer(0xDEADBEEF)); sceKernelDeleteVTimer(vtimer); checkpoint(" Deleted: %08x", sceKernelStopVTimer(vtimer)); vtimer = sceKernelCreateVTimer("test", NULL); checkpointNext("Resetting"); sceKernelStartVTimer(vtimer); sceKernelDelayThread(1000); sceKernelStopVTimer(vtimer); sceKernelDelayThread(1000); sceKernelStartVTimer(vtimer); sceKernelDelayThread(1000); sceKernelStopVTimer(vtimer); sceKernelDelayThread(1000); sceKernelStartVTimer(vtimer); sceKernelDelayThread(1000); sceKernelStopVTimer(vtimer); checkpoint(" Start/Stop 3 times: %dms", (int)(sceKernelGetVTimerTimeWide(vtimer) / 1000)); checkpoint(" Base: %lld", sceKernelGetVTimerBaseWide(vtimer)); sceKernelDeleteVTimer(vtimer); return 0; }
void testVTimerGetSimple() { SceUID vtimer1; printf("sceKernelCreateVTimer:%08X\n", vtimer1 = sceKernelCreateVTimer("VTIMER1", NULL)); sceKernelDelayThread(10000); printf("sceKernelGetVTimerTimeWide: %lld\n", sceKernelGetVTimerTimeWide(vtimer1) / 10000); printf("sceKernelStartVTimer:0x%08X\n", sceKernelStartVTimer(vtimer1)); sceKernelDelayThread(10000); printf("sceKernelGetVTimerTimeWide: %lld\n", sceKernelGetVTimerTimeWide(vtimer1) / 10000); printf("sceKernelStopVTimer:0x%08X\n", sceKernelStopVTimer(vtimer1)); printf("sceKernelStartVTimer:0x%08X\n", sceKernelStartVTimer(vtimer1)); sceKernelDelayThread(10000); printf("sceKernelGetVTimerTimeWide: %lld\n", sceKernelGetVTimerTimeWide(vtimer1) / 10000); printf("sceKernelStopVTimer:0x%08X\n", sceKernelStopVTimer(vtimer1)); printf("sceKernelStopVTimer:0x%08X\n", sceKernelStopVTimer(vtimer1)); printf("sceKernelGetVTimerTimeWide: %lld\n", sceKernelGetVTimerTimeWide(vtimer1) / 10000); printf("sceKernelCancelVTimerHandler:0x%08X\n", sceKernelCancelVTimerHandler(vtimer1)); }
void testVTimerHandler() { SceKernelSysClock time; printf("sceKernelCreateVTimer:%08X\n", vtimer = sceKernelCreateVTimer("VTIMER", NULL)); printf("sceKernelStartVTimer:%08X\n", sceKernelStartVTimer(vtimer)); time.hi = 0; time.low = 1000; printf("sceKernelSetVTimerHandler:0x%08X\n", sceKernelSetVTimerHandler(vtimer, &time, testVTimerHandler_TimerHandler, NULL)); sceKernelDelayThread(5000); printf("sceKernelStopVTimer:0x%08X\n", sceKernelStopVTimer(vtimer)); printf("sceKernelCancelVTimerHandler:0x%08X\n", sceKernelCancelVTimerHandler(vtimer)); }