Sony PSP程序开发简介

PSPSDK开发文档完整指南 PSPSDK(PlayStation Portable Software Development Kit)是索尼官方提供的软件开发工具包,旨在帮助开发者为PSP平台创建各种类型的应用程序,从简单的实用程序到复杂的游戏。PSPSDK提供了一系列文档、示例代码、库文件和开发工具,确保开发者能够高效利用PSP平台的硬件和软件功能。文档按章节顺序介绍了PSPSDK的各个方面,从基础知识到高级编程技巧,每一部分都旨在逐步深入,帮助开发者全面掌握PSPSDK的使用。 阅读详情
7个月前PSP在日本发售,4个月前在美国发售,2个月内即将在欧洲发售。然而, 在家里开发PSP程序已经成为现实.在这篇文章里我会介绍在这个小巧平台上进行编程的基本知识。
和其他console游戏平台一样,Sony从未想过让最终用户拥有在PSP平台上开发程序的能力。但是,通过逆向工程专家们的努力,几乎每个平台诞生的同时便可以在家里进行这个平台上的开发了。就PSP平台而言,两件事使这变为现实。第一件事是第一个发布版的PSP firmware中存在一个bug,这个bug只存在于最初几个月在日本售出的PSP中,利用这个bug可以执行未经签名的程序代码.第二件事是 nemnem写的'hello world'程序的发布.nemnem拆开了PSP,取下保存着firmware的闪存芯片并反汇编fireware.通过反汇编出的信息,nemnem 写出了他的'hello world'程序.在此基础上,ps2dev社区反向工程了剩下的fireware,终于制作出了一个可用的toolchain(译者注: toolchain 是 指一连串的编译工具,因为在编译源代码的过程中,会以序的被执行到,因此被称为toolchain)和sdk.
PSP内核基于 MIPS R4000.它包含CPU、FPU、和一个向量处理单元(vector unit : 进行向量和矩阵操作的协处理器)。这些单元组成一个Allegrex CPU核心。CPU的时钟频率可以在1Mhz和333Mhz之间任意调节。Sony为了保证PSP的使用时间将CPU频率限制在222Mhz。和CPU搭配使用的还有一个专用媒体处理CPU,它具有MP3、ATRAC3和h.264硬件解码能力。图形方面,PSP有一颗专用GPU,其具有光照、贴图、细分、像素操作和其他一些功能。PSP的主内存容量为32mb(译者注:原文是'mb',疑为MB,下同),其中8mb为内核使用,另外24mb供运行中的游戏使用。视频存储器容量为2mb。整个硬件配置和PS2非常相似,PS2有一个MIPS R5900内核,2个向量处理单元,32mb主内存和4mb视频存储器。任何熟悉PS2编程的人都会很适应PSP开发。
在家里进行PSP开发的前提条件是:1)熟悉c编程,2)toolchain,3)SDK,4)测试代码的平台。图形开发方面如果熟悉 framebuffer和OpenGL将会有很大帮助。现在PSP模拟器还处在初期阶段,离让人满意还差很大距离。可以用一个运行firmware1.0 或1.5版本的PSP作为测试平台。现在还没有办法在更高的firmware版本上运行未签名的程序。toolchain可以从 http://www.oopo.net/consoledev或使用subversion在svn://svn.pspdev.org/psp/trunk/psptoolchain取得。toolchain包含 binutils、newlib和一个用来使gcc4支持Allegrex CPU的补丁。直接在linux或Cygwin的命令行下执行toolchain.sh就可以安装toolchain了。安装和配置Cygwin的细节并不属于本文所讨论的范畴,你可以在其他地方找到相关资料。toolchain.sh会从subversion服务器上下载并安装SDK。PSP SDK在开发时的一个目标就是完全合法化。这意味着没有一行代码是从泄露的商业SDK中拿来的。PSP SDK中的任何内容都是通过反向工程firmware和已经发布的游戏得来的。pspdev论坛上有如何将SDK集成到几种IDE中的介绍。
当安装完上述的工具并其可以工作时,你就可以开始在PSP上写代码了。看一下SDK带的例子是一个很好的开端。在linux上例子安装在 /usr/local/pspdev/psp/sdk/samples目录下。我们从sdktest这里例子开始。首先需要包含一些头文件:
#include <pspkernel.h>
#include <pspdebug.h>
#include <stdlib.h>
#include <string.h>
接下来是设置二进制文件的一些属性:
PSP_MODULE_INFO("SDKTEST", 0, 1, 1);
这些参数按顺序依次是:名称,标记,主版本号,次版本号。现在将标记设置为0。

接下来是一些相当标准的事情。下面几个函数用来设置相应home按键的退出回调函数。这些代码基本上是可以表达其含义的-大多数情况下你可以直接在程序中使用例子中的这些代码。在那些代码之后是通常的main()函数。这些对于书写可以编译并执行的代码来说已经足够了。(编译并允许一次sdktest还是值得的,这可以检验SDK是否配置正确)。在运行firmware1.0的PSP上,只需要复制make出的EBOOT.PBP到$ PSP/psp/game/sdktest就可以了($PSP代表你的PSP记忆棒在你的OS上的路径)。在运行firmware1.5的PSP上,使用 'make kxploit'代替'make'命令,这样会生成两个目录,将其全部复制到$PSP/psp/game/目录下。最后在PSP里选择UMD图标下面的 Memory Stick图标后,程序就会出现在PSP屏幕上了。
自此,你可以开始写一些代码了。你可以查看剩下的例子和SDK文档学会如何使用SDK。第二篇介绍图形和输入硬件细节的文章即将发布。
推荐资源:
http://wiki.pspdev.org, the ps[2,p] wiki
http://forums.ps2dev.org, the ps2dev 论坛。在发帖前请先搜索一下已有资源
http://www.pspwiki.org, 一个关于PSP信息的wiki.虽然 有些信息不太可靠,但是还是有一些有用的信息。
注意:不论何时提到ps2dev或pspdev,它们是可以互换的,代表同样的含义 : http://www.pspdev.org 和 http://www.ps2dev.org 是可以互换的。但是psp-dev并不是ps2dev或pspdev,他们发布了1.5版的firmware exploit.

原文地址:
http://www.osix.net/modules/article/print.php?id=713
译者:
gxcoo Ω hotmail.com
 
pspsdk:用于PSP自家开发的开源SDK PSP软件开发套件 版本1.0 + beta2- 介绍 PSP软件开发套件(PSPSDK)是为索尼的Playstation Portable(PSP)游戏机编写的开放源代码工具和库的集合。 它还包括文档和开发人员可以用来为PSP编写软件的其他资源。 PSPSDK是根据BSD兼容许可证发行的,但位于tools / PrxEncrypter中的文件除外。 位于tools / PrxEncrypter目录中的文件受GNU通用公共许可证版本3的条款约束。有关更多信息,请参阅LICENSE文件。 特征 PSPSDK提供了用于创建PSP软件的全套库: 与PSP操作系统接口的存根库和标头,包括线程库,文件io,显示驱动程序和wifi网络。 对可执行文件和库的基本运行时支持(crt0)。 包括标准C库(libc)的最小端口。 PSPSDK的mini-libc提供了可移植的内存分配,字符串格式和 立即下载

相关推荐

本人亲自整合的PSPSDK开发包(共4部分)

本人亲自整合的PSPSDK, 说明:这里包含2套SDK,一套是1.5(现在很少有人在用了), 另一套是现在正在用的3xx-5xx 目录里,150的是150版本,如果要用150的,请把include150之类的150去掉 原本的include是3xx-5xx的版本,在编译的时候要在makefile里定义 PSP_SDK_VERSION=371 之类的 这2套开发库里还包括了SDL,OGG,libnge,libsqlite,libopengl,JPG,png,libfreetype等支持的类库,方便开发。 同时附带实例。 首次运行时要先运行 createbat.exe 然后启动start.bat用make开始编译, 如果找不到的话还要设置系统环境变量(path) 如果有问题或想交流PSP开发经验 请加QQ群5126002或15047430。

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

     放假啊,这叫玩啊,天天不务正业,还玩些可能和未来工作无关的技术!内心充满了罪恶感啊    写HelloWorld太无聊了,转了一圈PSPSDK发现有自带sample,方便快速上手的好东西,位置在开发包/psp/sdk/samples下面,其中包括声音,控制器,红外,usb,wifi,电源等等。还真不少,先挑简单的看看。恩~~我看controller挺简单!就看这个!    

Alex Xu's blog 9661

Crifilesystem_cpk转dll_cpk_cpk解压_crifilesystem_crifilesystem下载_

解压cpk文件 可以将cpk文件里的资源提取出来 实用性高

[开发环境]PSP开发整合包(一键安装,无须配置包含目前最新的全库)

[开发环境]PSP开发整合包(一键安装,无须配置包含目前最新的全库)在制作psp的程序过程中,发现在windows下编译程序是比较方便一些,但是devkitpro支持的库太少,不支持一些库的配置,例如freetype,sdl,sdl_ttf,sdl_image,所以萌发了我整合所有psp开发库的想法,我把linux开发环境下的所有的psp库都提出来,修改了他们的配置,使他们能够顺利的编译

liyang467的专栏 1835

crifilesystem.rar

生成cpk格式视频文件

从贝塞尔曲线到FFD变形

贝塞尔曲线的性质到FFD变形 与Hermite曲线通过始末两点和亮点的方向来绘制曲线不同,贝塞尔样条曲线是通过多个关键控制点构成曲线,曲线有如下良好的性质,这些性质决定了FFD最终使用贝塞尔样条曲线而非Hermite曲线。 对于给定关键点的贝塞尔曲线,曲线穿过最开始和最后的关键点 曲线的大致趋势与关键点相契合 曲线在关键点的包围之中,不会伸出到关键点以外现提出两个问题:为什么说这样的性质很契合FFD

雨诺寒雪的博客 2150

psp开发------环境搭建

1.下载pspsdk https://github.com/pspdev/pspsdk 2、xia

奔跑的蜗牛 4350

模拟电子技术课设-压控信号发生器

正弦波产生电路的目的就是使电路产生一定频率和幅度的正弦波,我们一般在放大电路中引入正反馈,并创造条件,使其产生稳定可靠的振荡。由于图2.3-1所示电路中存在RC电路和积分电路两个延迟环节,在实用电路中,将它们“合二为一”,即去掉方波发生电路中的RC回路,使积分运算电路即作为延迟环节,又作为方变三角波电路,滯回比较器和积分运算电路的输出互为另一个电路的输入。接着对各单元电路的工作原理进行了分析,由直流稳压电源电路提供所需电压,文氏振荡器产生正弦波,滞回比较器产生方波,滞回比较器与积分器连接产生三角波。

Sulfurone的博客 5325

Linux ported to Sony PSP

Linux ported to Sony PSP Jan. 29, 2007A self-described "world famous celebrity hacker" has managed to boot uClinux on Sonys MIPS-based P

CrazyBOY 909

【Nordic实战】nRF54L15引脚规划:电源域、专用引脚与低功耗设计避坑指南

本文深入解析Nordic nRF54L15芯片的引脚规划策略,重点阐述其基于电源域(MCU域、PERI域、LP域)的GPIO分配原则。文章提供了从思维转变到实战避坑的完整指南,强调遵循专用引脚与域对应关系是实现超低功耗设计的关键,并分享了系统化的引脚规划流程与工具使用建议。

weixin_29192141的博客 321

Unity AR开发实战:从Vuforia图片识别到实体识别全流程解析

增强现实(AR)技术通过计算机视觉算法将虚拟信息叠加到现实世界,其核心原理在于对现实环境的感知与理解。在移动端AR开发中,图像识别与物体识别是实现虚实融合的关键技术,它们决定了虚拟内容能否准确、稳定地与现实对象对齐。Vuforia作为成熟的商业AR SDK,为开发者提供了从平面图像识别(Image Target)到三维实体识别(Model Target)的完整解决方案,极大降低了计算机视觉技术的应用门槛。在工程实践中,Vuforia通过封装复杂的特征提取与匹配算法,使开发者能够专注于交互设计与内容制作,广泛

weixin_30972263的博客 302

PSP破解编年史

PSP破解编年史   PSP自2004年12月12日开始向世界发行,一 个改变很多人生活的掌机从此诞生了,这两年来,PSP从一 个光驱游戏运行器变成今天的一 个几乎全能的移动娱乐中心,其中很大的一 部分功劳都是来源自黑客的破解,在PSP诞生两周年之际,让我们一起回首这段艰辛而又美好的破解过程。SONY时代:  2004年12月12日:PSP发售,主机自带1。0的系统,此系统很脆弱,加密系统

xwk的专栏 3105

ThinkBook 16p 2024 BIOS降压定频实战:从解锁CFG Lock到AC Loadline调优

高性能笔记本在满载时频繁撞上温度墙,通常源于固件层默认电压冗余过大,而系统级降压工具又受限于CFG Lock锁定。要根治问题,需要从BIOS固件层面理解电压管理机制——AC/DC Loadline参数控制着CPU在不同负载下的电压请求,通过修改这些负载线值可以安全降低电压,解锁CFG Lock后还能让XTU、ThrottleStop等软件调参工具恢复可用。这种BIOS级调优在工程实践中广泛用于改善散热、稳定频率、压降风扇噪音,尤其适用于联想ThinkBook 16p 2024与拯救者Y9000P等采用HX平

weixin_32496547的博客 388

强制开源---Sony PSP

经常看到有人拿着PsP, 男男女女。 其实这也是一个重要的开源现象。 http://df38.dot5hosting.com/~remember/chris/ 摘录网文如下 ========================================================================================== IGN...

paofan 852

AUTOSAR BswM配置实战:手把手教你用Vector Davinci Configurator搭建第一个模式管理规则

本文详细介绍了如何使用Vector Davinci Configurator工具配置AUTOSAR BswM模块,实现车身控制ECU的模式管理规则。通过实战案例,从环境准备、核心概念梳理到具体配置步骤,包括ModeRequestPort、ModeCondition、Logical Expression和Rules的构建,帮助工程师快速掌握BswM配置技巧,提升汽车电子软件开发效率。

weixin_28678831的博客 353

【教程4>第5章>第28节】基于帧同步+相位同步+位同步的QPSK调制解调通信系统整体性能分析

综上所述:1.SNR<10db时,整体性能下降,当SNR=0db时,系统无法正常工作。2.gardner环性能达到2.5e-5时偏可以正常工作,增加之后无法正常工作。3.当相位偏差大于pi/4的时候,对最后的性能会有一定影响。

FPGA/MATLAB学习教程/源码/项目合作开发 556

psp的疯狂

初始psp好像是在04年底05年初(记不清了...),当时正在攒钱买N-gageQD,对psp热情并不大,我只认为就是超豪华版的GBA。psp是04年12月开始正式发售的,我想怎么也得05年春天大陆才有卖的吧,谁想我在闲逛电脑城的时候,一家电玩店主竟告诉我他已经卖出2台了。价格自然是天价,4800元一台,正版游戏碟(umd)380元每张,远远超过我经济能力。后来又攒钱买笔记本,差不多把psp忘了。

简单小虫 3093

Python从0到100(十九):Python标准库初探

哈希函数又称哈希算法或散列函数,是一种为已有的数据创建“数字指纹”(哈希摘要)的方法。哈希函数把数据压缩成摘要,对于相同的输入,哈希函数可以生成相同的摘要(数字指纹),需要注意的是这个过程并不可逆(不能通过摘要计算出输入的内容)。举一个简单的例子,用户注册时我们希望在数据库中保存用户的密码,很显然我们不能将用户密码直接保存在数据库中,这样可能会导致用户隐私的泄露,所以在数据库中保存用户密码时,通常都会将密码的“指纹”保存起来,用户登录时通过哈希函数计算密码的“指纹”再进行匹配来判断用户登录是否成功。

拥有百余位万粉技术博主、200余位可合作代发博主,私域技术社群规模达千人,商务合作私信 5004

MEncoder的基础用法—6.4. 编码为Sony PSP视频格式

6.4. 编码为Sony PSP视频格式 MEncoder支持到Sony PSP的视频格式转换,但是依赖于 PSP软件修改,对不同软件限制也许会有不同。如果你遵守如下守则,你将不会遇到什么问题: 比特律:不应超过每秒1500kb,然而过去的版本 几乎支持任何比特律只要头文件声明其不是太高。 维数:PSP视频的长宽应是16的倍数,并且长*宽的 积应<= 64

gaohuanjie的专栏 3930

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

PSP基础问答篇

1 PSP基础问答篇  一:基础中的基础1:PSP常见的版本?目前在大陆流通的版本基本上是日版,美版和港版机器,根据主机发售附送的东西不同,又有普通版和豪华版的区别。需要说明的是,三种版本在使用上基本没有区别,他们在价格上略有不同。现在市场上以港版居多,说白了就是哪种版本的机器便宜哪种就最多。如果不是对一些版本的机器特别有怨念,这里大可以忽略。至于各种版本的区别如下:(韩国版忽略.......

Hank_Huang的专栏 3121

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

rust-psp终极指南:如何用Rust为索尼PSP开发自制软件

rust-psp是一个强大的开源库,让开发者能够使用Rust语言为索尼PSP游戏机创建自制软件和PRX插件。它提供了完整的PSP系统库支持、内存分配功能和异常处理机制,无需依赖传统的C/C++ PSPSDK。 ## 为什么选择rust-psp开发PSP自制软件? rust-psp与传统PSPSDK相比具有多项显著优势: - **完全独立的SDK**:无需依赖原始C/C++ PSPSDK,从零

gitblog_00758的博客 972

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

sony psp3000

sony的psp又要出3000型号了,换了个屏幕而已,其实早就应该的事情。 当初的psp是发售当天拿到的,屏幕叫一个绚!随即回国之后也就卖掉了早一周购入的NDS(不过最后还是没抵挡过NDSL的诱惑),不过看电影过程中明显感觉到托影,相信顶天30ms的屏。不过在当时来说,4.2寸的屏幕,已经傲视群雄了,而且170的视角,对得起夏普的名声。 如今换个屏,就改了个型号。不尽让我想起了如下往事...

eccojap的专栏 236

什么是psp

PSP介绍 PSP全称PlayStation Portable,是一种由SONY开发的新型掌上游戏机。于2004年12月12日正式发售. 它采用4.3寸16:9比例、背光全透式的夏普ASV超广可视角TFT液晶屏幕,屏幕大小达到480*272象素,而且色彩鲜艳亮丽,显示效果一流;拥有介于PS和PS2之间的3D多边形绘图能力,对应的曲面NURBS建模更是PS2所没有的功能,游戏画面...

weixin_30753873的博客 526

PSP购买导航

鉴于游戏店的JS们没有良心(大部分),将翻新的,组装的,假冒的次品,以次充好,卖给广大玩家们,以获得高额的利润(良心都被钱吃了?)。所以我在这里仅仅教大家们如何鉴别,至于怎样使用,那是后话~如果有误,欢迎指正~img_maxwidth) {this.resized=true; this.width=img_maxwidth;}" /> 首先确定你要买普通版还是豪华版还是1G豪华版,普通版只有主

Hank_Huang的专栏 3672

psp用ps1模拟器_PSP自制系统用PS模拟器玩PS游戏指南

Dark_Alex 发布的3.02OE-B自制系统,不仅给我们带来更简单的游戏方式,还增加了PS游戏自制转换的支持,你可以自己转换普通的PS游戏,也可以从电玩巴士下载PS游戏。不过之前请将你的1.5版PSP刷入3.02OE-B自制系统,教程在此。以下内容是以你拥有3.02OE-B自制系统的PSP为基础而讲述的,关于模拟PS游戏,以及PS游戏转换,PS游戏菜单设置。PS游戏转换  对于原版的PS游戏...

weixin_36211536的博客 8282
上一篇: mysql的字符串函数
monkeyK
博客等级 码龄24年 1粉丝 8原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值