由小白到大大的涅盘,从vgsky.com开始!

PSP软件开发常见问题解答FAQ(问与答)

Update:2007/10/6,Click:0 本文如有下载 请从下面附件中下载

举手之劳 是您对我们最大的支持 感谢您!

K[A@'本文来自:V电G玩S天K空Y
 -----------------------------------------------------------K[A@'本文来自:V电G玩S天K空Y
 PSP软件开发FAQ(问与答)K[A@'本文来自:V电G玩S天K空Y
 -----------------------------------------------------------K[A@'本文来自:V电G玩S天K空Y
 K[A@'本文来自:V电G玩S天K空Y
 1. 问: 我想在PSP开发软件, 需要什么软件?K[A@'本文来自:V电G玩S天K空Y
     答:  - Cygwin+PSPSDK+自己顺手的编辑器(软件开发环境)K[A@'本文来自:V电G玩S天K空Y
              (开发环境也可考虑用devkitPro内的devkitPSP)K[A@'本文来自:V电G玩S天K空Y
           - Kxploit Tool/PBP Maker/PSPBrew(1.00执行档转1.50工具)K[A@'本文来自:V电G玩S天K空Y
           (由 maxhoov 提供)K[A@'本文来自:V电G玩S天K空Y
 K[A@'本文来自:V电G玩S天K空Y
 2. 问: 怎样安装开发环境?K[A@'本文来自:V电G玩S天K空Y
     答: - 用Cygwin+Toolchain 安装. 请参考本版maxhoov 的: 简述建立Cygwin环境下的PSP开发环境K[A@'本文来自:V电G玩S天K空Y
         - 安装devkitPro, 请参考本版: 简述安装devkitPSP开发环境, 完全免用CygwinK[A@'本文来自:V电G玩S天K空Y
 K[A@'本文来自:V电G玩S天K空Y
 3. 问: 怎样开始编写PSP程序?K[A@'本文来自:V电G玩S天K空Y
     答: - 学好C 或 C++K[A@'本文来自:V电G玩S天K空Y
          - 拿一些PSP的HELLO WORLD来研究K[A@'本文来自:V电G玩S天K空Y
          - 参考psp/sdk/samples内的范例K[A@'本文来自:V电G玩S天K空Y
          - 参考本版: 学习PSP游戏制作实况记录K[A@'本文来自:V电G玩S天K空Y
          - 请参考 我的第一个PSP程序: Hello World! PSP编程从这里开始! (11月13日新加)K[A@'本文来自:V电G玩S天K空Y
 K[A@'本文来自:V电G玩S天K空Y
 4. 问: 可以用C++编程吗?K[A@'本文来自:V电G玩S天K空Y
     答: 可以! 请参考nj-zero的有关研究:K[A@'本文来自:V电G玩S天K空Y
          - 通过用c++编译程序的可行性研究K[A@'本文来自:V电G玩S天K空Y
          - 向c++前进(用c++建立psp开发框架之史前篇)K[A@'本文来自:V电G玩S天K空Y
 K[A@'本文来自:V电G玩S天K空Y
 5. 问: 怎样显示中文?K[A@'本文来自:V电G玩S天K空Y
     答: 请参考 - 月光大大/ahtya大大的: CNREADER的代码K[A@'本文来自:V电G玩S天K空Y
                    - zhongzf 的: 一个作图和显示汉字的类库 + 源码K[A@'本文来自:V电G玩S天K空Y
 K[A@'本文来自:V电G玩S天K空Y
 6. 问: 怎样安装libpng?K[A@'本文来自:V电G玩S天K空Y
     答: 请参考: 学习PSP游戏制作实况记录 K[A@'本文来自:V电G玩S天K空Y
 7. 问: 怎样安装mikmodlib?K[A@'本文来自:V电G玩S天K空Y
     答: 请参考: 学习PSP游戏制作实况记录 K[A@'本文来自:V电G玩S天K空Y
 8. 问: 怎样在PSP上除虫呢?K[A@'本文来自:V电G玩S天K空Y
     答: 因为我们不是用官方的开发环境, 在下所知就只可以用古老的"printf"方法了, 即是把有关的变量值打印在屏幕上, 或在适当位置用printf印出字句, 看看程序跑到那里. 设定和使用printf的方法:K[A@'本文来自:V电G玩S天K空Y
 K[A@'本文来自:V电G玩S天K空Y
   // PSPSDK 的printf 正式名为pspDebugScreenPrintf, 为了方便, define 为printfK[A@'本文来自:V电G玩S天K空Y
 #define printf   pspDebugScreenPrintfK[A@'本文来自:V电G玩S天K空Y
 K[A@'本文来自:V电G玩S天K空Y
 //然后在我们程序头:K[A@'本文来自:V电G玩S天K空Y
 pspDebugScreenInit();K[A@'本文来自:V电G玩S天K空Y
 K[A@'本文来自:V电G玩S天K空Y
 然后就可以把它当成是C 内的printf一样来应用, 例如:K[A@'本文来自:V电G玩S天K空Y
     printf("%d", n);K[A@'本文来自:V电G玩S天K空Y
     printf("x pos:%d", x);
K[A@'本文来自:V电G玩S天K空Y
 我们也可以安装"exception handler", 避免出错时锁机. 请参考 安装Exception Handler, 避免试跑时锁机 K[A@'本文来自:V电G玩S天K空Y
 K[A@'本文来自:V电G玩S天K空Y
 9. 问: 我很想在PSP上编程, 但这样做, 会把我可爱宝贵的她弄成砖头吗?K[A@'本文来自:V电G玩S天K空Y
     答: (注意, 本答案只是个依常理下的判断, 后果一切自负)根据网上资料和maxhoov 的分析 (见本版:简要分析Trojan.PSPBrick病毒), 我们只会在乱弄Flash Rom(闪记忆)档案的情况下, 才有机会把PSP弄成砖头, 我们要只是编写一般的应用程序, 调用RAM(随机记忆), 应该没有问题的. 要是锁机了, 只要把电池拆出装回, 应该就好了.K[A@'本文来自:V电G玩S天K空Y
     K[A@'本文来自:V电G玩S天K空Y
     要是你还是担心的话, 可以花二万美元, 买入SONY官方的PSPSDK. 没有二万美元? 那就只好望着你的PSP轻叹了, 睡觉时要好好的把她放在枕头边, 过马路时要小心, 别把她从口袋里掉出来 ;)K[A@'本文来自:V电G玩S天K空Y
 K[A@'本文来自:V电G玩S天K空Y
 10. 问: 我的程序把PSP弄至黑屏锁机, 为什么?K[A@'本文来自:V电G玩S天K空Y
       答: 可能的原因有:K[A@'本文来自:V电G玩S天K空Y
            - 写入了不该写的记忆地址.K[A@'本文来自:V电G玩S天K空Y
            - 除以0 (Divided by zero).K[A@'本文来自:V电G玩S天K空Y
            - NULL POINTERS!!! K[A@'本文来自:V电G玩S天K空Y
 K[A@'本文来自:V电G玩S天K空Y
 11. 问: 我的程序把PSP弄至黑屏锁机, 怎么办?K[A@'本文来自:V电G玩S天K空Y
       答: 试一下以下的方法:K[A@'本文来自:V电G玩S天K空Y
            - 看看能不能关上电源, 可以关的话, 再开电源看看, 是否恢复了?K[A@'本文来自:V电G玩S天K空Y
            - 把电池拆除再安上, 一般情况应该没问题的了.K[A@'本文来自:V电G玩S天K空Y
            - 还是没有反应... 把问题贴在本版, 请教一下高手吧 :| K[A@'本文来自:V电G玩S天K空Y
 K[A@'本文来自:V电G玩S天K空Y
 12. 问: 除了PSPChina, 还有那里可以找到有关开发PSP软件的数据呢?K[A@'本文来自:V电G玩S天K空Y
       答: 可以参考以下这些国外网站:K[A@'本文来自:V电G玩S天K空Y
            - ps2dev.org的PSP ForumK[A@'本文来自:V电G玩S天K空Y
            - QJ Forum 的 PSP Development & HomebrewK[A@'本文来自:V电G玩S天K空Y
            - psDevWikiK[A@'本文来自:V电G玩S天K空Y
 K[A@'本文来自:V电G玩S天K空Y
 K[A@'本文来自:V电G玩S天K空Y
 13. 问: 到那里下载有关PSP开发的工具呢?K[A@'本文来自:V电G玩S天K空Y
       答: 试一下这些国外网站:K[A@'本文来自:V电G玩S天K空Y
            -  http://files.pspupdates.qj.net/K[A@'本文来自:V电G玩S天K空Y
 K[A@'本文来自:V电G玩S天K空Y
 14. 问: 怎样写/改那个Makefile呢?K[A@'本文来自:V电G玩S天K空Y
       答: 请参考/下载本版ssddn 大大的: gcc手册和《跟我一起学Makefile》K[A@'本文来自:V电G玩S天K空Y
 K[A@'本文来自:V电G玩S天K空Y
 15. 问: 编译成功了, 我怎么样把"EBOOT.PBP"放入PSP跑呢?K[A@'本文来自:V电G玩S天K空Y
       答: 要是你的PSP是1.50版, 把它用USB线与计算机连接, 执行Kxploit Tool, 就可以把你的大作放到PSP上测试.K[A@'本文来自:V电G玩S天K空Y
            (关于1.00版, 要请有1.00版的朋友帮忙提供了)K[A@'本文来自:V电G玩S天K空Y
 K[A@'本文来自:V电G玩S天K空Y
 16.问: 那里有PSPSDK的函数列表?K[A@'本文来自:V电G玩S天K空Y
      答:K[A@'本文来自:V电G玩S天K空Y
 K[A@'本文来自:V电G玩S天K空Y
   ssddn:K[A@'本文来自:V电G玩S天K空Y
 函数手册 http://psp.jim.sh/pspsdk-doc/K[A@'本文来自:V电G玩S天K空Y
 在其安装目录下有Sample程序,可以参考。 K[A@'本文来自:V电G玩S天K空Y
 K[A@'本文来自:V电G玩S天K空Y
 K[A@'本文来自:V电G玩S天K空Y
   aeolusc :K[A@'本文来自:V电G玩S天K空Y
 cygwin编译版和devkitpro版都有一个doc目录K[A@'本文来自:V电G玩S天K空Y
 cygwin版在/usr/local/pspdev/psp/sdk/doc... 这个目录下有一个html目录,里面的index.htm就是document的首页 K[A@'本文来自:V电G玩S天K空Y
 17. 问: 在PSP上怎样读写档案?K[A@'本文来自:V电G玩S天K空Y
       答: 可以用标准的C文件操作函数:K[A@'本文来自:V电G玩S天K空Y
 K[A@'本文来自:V电G玩S天K空Y
   FILE *fp;K[A@'本文来自:V电G玩S天K空Y
 ...K[A@'本文来自:V电G玩S天K空Y
 if ((fp = fopen(filename, "rb")) == NULL) return NULL;K[A@'本文来自:V电G玩S天K空Y
 ...K[A@'本文来自:V电G玩S天K空Y
 int n = fread(buf, 1, SIZE, fp);K[A@'本文来自:V电G玩S天K空Y
 ...K[A@'本文来自:V电G玩S天K空Y
 fclose(fp);
K[A@'本文来自:V电G玩S天K空Y
 -----------------------------------------------------------------------------K[A@'本文来自:V电G玩S天K空Y
 K[A@'本文来自:V电G玩S天K空Y
   FILE* fp;K[A@'本文来自:V电G玩S天K空Y
 ...K[A@'本文来自:V电G玩S天K空Y
 fp = fopen(filename, "wb");K[A@'本文来自:V电G玩S天K空Y
 if (fp==NULL) return;K[A@'本文来自:V电G玩S天K空Y
 ...K[A@'本文来自:V电G玩S天K空Y
 int n = fwrite(buf, 1, SIZE, fp);K[A@'本文来自:V电G玩S天K空Y
 ...K[A@'本文来自:V电G玩S天K空Y
 fclose(fp);
K[A@'本文来自:V电G玩S天K空Y
 18. 问: 怎样在我自己的程序内支持true type 字体呢? (11月2日)K[A@'本文来自:V电G玩S天K空Y
       答: 请参考本版ssddn大大的: FreeType字体程序库介绍K[A@'本文来自:V电G玩S天K空Y
 K[A@'本文来自:V电G玩S天K空Y
 19. 问: 怎样在程序内转换文字编码, 如 utf-8<-->gb2312? (11月2日)K[A@'本文来自:V电G玩S天K空Y
       答: 可以利用iconv函数族, 请参考本版ssddn大大在这个贴2至3楼的回应:K[A@'本文来自:V电G玩S天K空Y
            关于文件名显示不全的成因分析K[A@'本文来自:V电G玩S天K空Y
           另外请参考: 教你如何编译iconv -- 凑合版K[A@'本文来自:V电G玩S天K空Y
 K[A@'本文来自:V电G玩S天K空Y
 20. 问: 我把一些额外的函数库(如libpng, mikmodlib等等...) 加入makefile, 本来好好的代码在编译时就出现错误了, 怎么搞的?K[A@'本文来自:V电G玩S天K空Y
        答: 试一试把新加的函数库, 放在前头, 把PSP的系统函数库放在最后, 例如:K[A@'本文来自:V电G玩S天K空Y
 K[A@'本文来自:V电G玩S天K空Y
   LIBS = -lpng -lz -lm -lpsppower -lpspaudiolib -lpspaudio K[A@'本文来自:V电G玩S天K空Y
 21. 问: 如何在我们自己的程序里响应待机事件? (11月13日)K[A@'本文来自:V电G玩S天K空Y
       答:请参考 问一下如何响应待机事件K[A@'本文来自:V电G玩S天K空Y
 K[A@'本文来自:V电G玩S天K空Y
 22. 问: 我想用 math.h 里的函数, 编译时郄出现错误, 为什么呢? (11月13日)K[A@'本文来自:V电G玩S天K空Y
       答: 请在你的makefile里, 加入相关的math 库:K[A@'本文来自:V电G玩S天K空Y
 K[A@'本文来自:V电G玩S天K空Y
   LIBS = -lm ... K[A@'本文来自:V电G玩S天K空Y
 23. 问: 怎样在firmware 2.0 上执行自制软件呢? (12月31日)K[A@'本文来自:V电G玩S天K空Y
       答: 用fanjita 的 eboot loader 0.9 吧:K[A@'本文来自:V电G玩S天K空Y
       http://www.fanjita.org/content/eboot.html

【分类导航】

【热门游戏资讯】

更多

【推荐游戏资讯】

更多

【最新资讯更新】

更多

【赞助商链接】