⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.c

📁 psp开发用的所有头文件。包含所有系统API。需要psp-gcc编译器。在www.psp-dev.com上有
💻 C
字号:
/* * PSP Software Development Kit - http://www.pspdev.org * ----------------------------------------------------------------------- * Licensed under the BSD license, see LICENSE in PSPSDK root for details. * * main.c - Basic sample to demonstrate installing an exception handler. * * Copyright (c) 2005 Marcus R. Brown <mrbrown@ocgnet.org> * Copyright (c) 2005 James Forshaw <tyranid@gmail.com> * Copyright (c) 2005 John Kelley <ps2dev@kelley.ca> * * $Id: main.c 1095 2005-09-27 21:02:16Z jim $ */#include <pspkernel.h>#include <pspdebug.h>#include <pspctrl.h>#include <pspdisplay.h>PSP_MODULE_INFO("EXTEST", 0x1000, 1, 1);/* Define the main thread's attribute value (optional) */PSP_MAIN_THREAD_ATTR(0);/* Define printf, just to make typing easier */#define printf	pspDebugScreenPrintf/* Exit callback */int exit_callback(int arg1, int arg2, void *common){	sceKernelExitGame();	return 0;}/* Callback thread */int CallbackThread(SceSize args, void *argp){	int cbid;	cbid = sceKernelCreateCallback("Exit Callback", exit_callback, NULL);	sceKernelRegisterExitCallback(cbid);	sceKernelSleepThreadCB();	return 0;}/* Sets up the callback thread and returns its thread id */int SetupCallbacks(void){	int thid = 0;	thid = sceKernelCreateThread("update_thread", CallbackThread, 0x11, 0xFA0, THREAD_ATTR_USER, 0);	if(thid >= 0)	{		sceKernelStartThread(thid, 0, 0);	}	return thid;}/* Example custom exception handler */void MyExceptionHandler(PspDebugRegBlock *regs){	/* Do normal initial dump, setup screen etc */	pspDebugScreenInit();	/* I always felt BSODs were more interesting that white on black */	pspDebugScreenSetBackColor(0x00FF0000);	pspDebugScreenSetTextColor(0xFFFFFFFF);	pspDebugScreenClear();	pspDebugScreenPrintf("I regret to inform you your psp has just crashed\n");	pspDebugScreenPrintf("Please contact Sony technical support for further information\n\n");	pspDebugScreenPrintf("Exception Details:\n");	pspDebugDumpException(regs);	pspDebugScreenPrintf("\nBlame the 3rd party software, it cannot possibly be our fault!\n");}int main(void){	SceCtrlData pad;	pspDebugScreenInit();	SetupCallbacks();	/* Install our custom exception handler. If this was NULL then the default would be used */	pspDebugInstallErrorHandler(MyExceptionHandler);	sceCtrlSetSamplingCycle(0);	sceCtrlSetSamplingMode(PSP_CTRL_MODE_DIGITAL);	pspDebugScreenPrintf("Exception Sample\n\n");	pspDebugScreenPrintf("You have two choices, press O for a bus error or X for a breakpoint\n\n");	while(1)	{		sceCtrlReadBufferPositive(&pad, 1);		if(pad.Buttons & PSP_CTRL_CIRCLE)		{			/* Cause a bus error */			_sw(0, 0);		}		if(pad.Buttons & PSP_CTRL_CROSS)		{			/* Cause a break exception */			asm(				"break\r\n"			  );		}		sceDisplayWaitVblankStart();	}	/* We will never end up here, hopefully */	printf("End\n");	sceKernelExitDeleteThread(0);	return 0;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -