📄 callbacks.c
字号:
/* * PSP Software Development Kit - http://www.pspdev.org * ----------------------------------------------------------------------- * Licensed under the BSD license, see LICENSE in PSPSDK root for details. * * Copyright (c) 2005 Jesper Svennevid */#include <pspkernel.h>#include <pspdisplay.h>#include <pspdebug.h>#include <stdlib.h>#include <stdio.h>#include <math.h>#include <string.h>#include <time.h>static int exitRequest = 0;#define printf pspDebugScreenPrintfint running(){ return !exitRequest;}int exitCallback(int arg1, int arg2, void *common){ sceKernelExitGame(); exitRequest = 1; return 0;}int callbackThread(SceSize args, void *argp){ int cbid; cbid = sceKernelCreateCallback("Exit Callback", exitCallback, NULL); sceKernelRegisterExitCallback(cbid); sceKernelSleepThreadCB(); return 0;}int setupCallbacks(void){ int thid = 0; thid = sceKernelCreateThread("update_thread", callbackThread, 0x11, 0xFA0, 0, 0); if(thid >= 0) { sceKernelStartThread(thid, 0, 0); } return thid;}/* Dump the current thread's status */void dump_threadstatus(void){ int thid; SceKernelThreadInfo status; int ret; thid = sceKernelGetThreadId(); memset(&status, 0, sizeof(SceKernelThreadInfo)); printf("Thread ID: %08X\n", thid); status.size = sizeof(SceKernelThreadInfo); ret = sceKernelReferThreadStatus(thid, &status); printf("Get Thread Status: %08X\n", ret); if(ret == 0) { printf("Name: %s\n", status.name); printf("Thread Addr: %p\n", status.entry); printf("Stack Addr: %p\n", status.stack); printf("Stack Size: %08X\n", status.stackSize); printf("gp: %p\n", status.gpReg); printf("Initial Pri: %x\n", status.initPriority); printf("Current Pri: %x\n", status.currentPriority); }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -