转 我也玩PSP开发 (2)—— PSPSDK示例 源码分析

本文介绍了作者在假期尝试PSP开发的过程,通过分析PSPSDK提供的控制器样本代码,理解了EBOOT.PBP、PARAM.SFO等文件的作用,并进行了简单的运行和源码分析,感叹PSPSDK公开的函数有限,暗示深入学习可能需要研究开源代码库。
摘要由CSDN通过智能技术生成
               

    放假啊,这叫玩啊,天天不务正业,还玩些可能和未来工作无关的技术!内心充满了罪恶感啊

    写HelloWorld太无聊了,转了一圈PSPSDK发现有自带sample,方便快速上手的好东西,位置在开发包/psp/sdk/samples下 面,其中包括声音,控制器,红外,usb,wifi,电源等等。还真不少,先挑简单的看看。恩~~我看controller挺简单!就看这个!


     打开controller/base目录,只有一个main.c 和 Makefile。肯定不会很难,先make一个试试,还好很顺利,编译得到四个文件: main.o controller_basic.elf EBOOT.PBP PARAM.SFO。
    main.o 不用说肯定是main.c的生成的目标文件。
    controller_basic.elf 我知道ELF是linux下的二进制文件格式,可能PSP也是这个格式。
    EBOOT.PBP 这个就是最终的执行文件了,这个应该是包装过的,其中包含一些图标文件什么的。
    PARAM.SFO 这个我就不知道,有高手可以告诉我,(我怀疑!我猜测!是源码中定义的那些宏有关,是一些信息,最后打包到EBOOT.PBP。不要太相信,只是个思路)。

    然后就是插上usb,靠到psp/game下,建个文件夹,叫什么名都可以!然后把EBOOT.PBP(不要改名字!)放进去,运行就可以了。

    也看了运行后什么模样了!下面就是分析源码了,分析都写成注释了!

    以下是源码 :

 

/**/ /*
 * PSP Software Development Kit - http://www.pspdev.org
 * -----------------------------------------------------------------------
 * Licensed under the BSD license, see LICENSE in PSPSDK root for details.
 *
 * main.c - Basic Input demo -- reads from control pad and indicates button
 *          presses.
 *
 * 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>
 * Copyright (c) 2005 Donour Sizemore <donour@uchicago.edu>
 *
 * $Id: main.c 1095 2005-09-27 21:02:16Z jim $
 */


/**/ /* psp的一些头文件,从文件名应该能看出来时干嘛使得 */
#include  < pspkernel.h >
#include  < pspdebug.h >
#include  < pspctrl.h >

/**/ /* psp sdk中自带标准c库和标准c++库   */
#include  < stdlib.h >
#include  < string .h >


/**/ /* 定义模块信息  包括版本 */
/**/ /* Define the module info section */
PSP_MODULE_INFO( " CONTROLTEST " ,  0 ,  1 ,  1 );

/**/ /* 定义主线程属性 还没具体研究,有时间再改上*/
/**/ /
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值