[转] 我的第一個PSP程式: Hello World! PSP編程從這里開始!
来源:百度文库 编辑:神马文学网 时间:2024/04/28 02:01:04
看到不少版友, 對於在PSP上開發軟件都很感興趣, 但因缺乏相關經驗, 不知道該從那裡開始. 本貼就是希望透過編譯和測試一個最簡單的PSP程式, HelloWorld, 給新手作出一個示範.
=== 所需設備和軟件
- PSP
- 電腦 (本篇所包括的只是視窗操作系統)
- PSP軟件開發環境
- 任何editor
(注: 以前需要的 KXploit Tool, 現在已不用了! 詳情見下面的解說.)
(注: 本篇只會講解在Firmware 1.50上測試程式)
=== 安裝開發環境
在滿懷斗志的想著怎麼在PSP上寫個cnreader超級加強版之前, 要開發PSP軟件, 我們首先要在自己的電腦上, 安裝好PSP軟件開發環境, 比較流行的安裝方法有兩個: 1) cygwin+toolchain, 2)devkitPSP.
1) cygwin+toolchain 的安裝方法, 請參考: 简述建立Cygwin环境下的PSP开发环境
2) devkitPSP 的安裝方法, 請參考: 简述安装devkitPSP开发环境, 完全免用Cygwin
cygwin+toolchain 的方法比較"正統", 因在安裝時, 它會從svn.ps2dev.org下載最新的PSPSDK原碼並編譯, 所以安裝好了, 你所擁有的PSPSDK是最新的. 但也因為如此, 它所用的時間比較長, 由數小時至數日不等 ;) 而cygwin是模擬UNIX系統, 要是你不熟識UNIX相關的東西, 在安裝時遇到問題, 也會比較頭痛. 不過只要你一步步的跟著简述建立Cygwin环境下的PSP开发环境, 再參考一下貼內的回應, 應該沒有太大問題的!
devkitPSP的安裝相對來說比較容易, 但它內含的 PSPSDK, 是9月左右的, 要是你並不計較和最新的PSPSDK的兼容問題, 作為學習在PSP上編程是足夠的了.
有不少朋友在安裝開發環境時遇到問題, 但開發環境是必需的, 大家只要給點耐性, 小心的跟著安裝教程, 一定可以安裝好的!
=== Hello World
好了, 大家也等了很久了, 馬上看看我們今天的主角, Hello World的代碼:
复制代码
還有它的相關makefile:
复制代码
代碼的內容, 我們可以先不用理會, 我們現在所想要做的, 是把它編譯, 然後放上PSP測試! 大家可以下載本篇的附件包, 然後把附件包解壓, 放在任何地方都可以.
在cygwin 環境, 假設我們是放在我們的"home"目錄內, 即"x:\cygwin\home\myname"里:
- 打開cygwin
- cd HelloWorld
- make
要是你看到類似以下的畫面, 高舉雙手大叫3 聲吧! 你成功了! 你已編譯成功你的第一個PSP程式!
EBOOT.PBP就是我們所需要的最重要的執行包!
=== 跑吧, Hello World!
接下來, 我們就可以把編譯好的Hello World, 放到PSP上試跑了!
但剛才編輯好的東西, 還不可直接放到PSP上, 一般我們要用 Kxploit tool 做點工作, 但現在的 pspsdk, 己不再需要它了, 我們不用 "make", 而用 "make kxploit" 就行了:
"make kxploit" 後, 在當前文件夾內, 會多了兩個文件夾: "hello" 和 "hello%".
當我們把 PSP 以 USB 綫接到電腦, 在PSP上, 選"USB Connection", 這時, 視窗操作系統會把PSP當成一個可移動的儲存裝置, 並會給予一個儲存裝置字母, 例如"M:".
這時, 我們把"hello" 和 "hello%"抄到PSP 的 MEMORY STICK 上的"\PSP\GAME" 里, 即可以測試了!
在PSP上, 離開"USB Connection", 移至"Game"->"Memory Stick"並進入, 我們可能會先看到一個"Corrupted Data", 不用理會它, 向下移一格, 應該就會看到我們的"Hello World"了!按下執行按鈕, 你就會看到我們非常熟識的句子"Hello World"打印在PSP龐大的螢幕上 :) 成功!!!
當你欣賞完了美麗的"Hello World!"顯示, 可以按"Home"按鈕, 選擇退出, 回到PSP的系統菜單!
看到那個"Corrupted Data" 圖標, 大家可能有點不爽, 要是你用的是比較新的 pspsdk, 那麼你可以試一下不用 "make kxploit" 而用 "make SCEkxploit":
"make kxploit" 後, 在當前文件夾內, 會多了兩個文件夾: "__SCE__hello" 和 "%__SCE__hello", 我們把它們抄到PSP 的 MEMORY STICK 上的"\PSP\GAME" 里, 就可以沒有Corrupted Data" 的圖標而又正常的測試我們的程序!
=== 接下來...
接下來大家可以用Hello World 為根基, 加加減減的編寫別的東西了. 至於要寫什麼, 那要看你的興趣了!
想編寫應用程式, 可以參考: PSP程序代码收集
想編寫遊戲, 請看: 學習PSP遊戲制作實況記錄 (雖然標題是學習寫遊戲, 但其實例子中很多東西也適合在應用程式上的)
常見問題可以看一下: PSP軟件開發FAQ(問與答)
=== 所需設備和軟件
- PSP
- 電腦 (本篇所包括的只是視窗操作系統)
- PSP軟件開發環境
- 任何editor
(注: 以前需要的 KXploit Tool, 現在已不用了! 詳情見下面的解說.)
(注: 本篇只會講解在Firmware 1.50上測試程式)
=== 安裝開發環境
在滿懷斗志的想著怎麼在PSP上寫個cnreader超級加強版之前, 要開發PSP軟件, 我們首先要在自己的電腦上, 安裝好PSP軟件開發環境, 比較流行的安裝方法有兩個: 1) cygwin+toolchain, 2)devkitPSP.
1) cygwin+toolchain 的安裝方法, 請參考: 简述建立Cygwin环境下的PSP开发环境
2) devkitPSP 的安裝方法, 請參考: 简述安装devkitPSP开发环境, 完全免用Cygwin
cygwin+toolchain 的方法比較"正統", 因在安裝時, 它會從svn.ps2dev.org下載最新的PSPSDK原碼並編譯, 所以安裝好了, 你所擁有的PSPSDK是最新的. 但也因為如此, 它所用的時間比較長, 由數小時至數日不等 ;) 而cygwin是模擬UNIX系統, 要是你不熟識UNIX相關的東西, 在安裝時遇到問題, 也會比較頭痛. 不過只要你一步步的跟著简述建立Cygwin环境下的PSP开发环境, 再參考一下貼內的回應, 應該沒有太大問題的!
devkitPSP的安裝相對來說比較容易, 但它內含的 PSPSDK, 是9月左右的, 要是你並不計較和最新的PSPSDK的兼容問題, 作為學習在PSP上編程是足夠的了.
有不少朋友在安裝開發環境時遇到問題, 但開發環境是必需的, 大家只要給點耐性, 小心的跟著安裝教程, 一定可以安裝好的!
=== Hello World
好了, 大家也等了很久了, 馬上看看我們今天的主角, Hello World的代碼:
- /// Hello World - My First App for the PSP
- #include
- #include
- PSP_MODULE_INFO("Hello World", 0, 1, 1);
- // 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, 0, 0);
- if(thid >= 0)
- {
- sceKernelStartThread(thid, 0, 0);
- }
- return thid;
- }
- int main()
- {
- pspDebugScreenInit();
- SetupCallbacks();
- pspDebugScreenPrintf("Hello World");
- sceKernelSleepThread();
- return 0;
- }
- #include
复制代码
還有它的相關makefile:
- TARGET = hello
- OBJS = main.o
- CFLAGS = -O2 -G0 -Wall
- CXXFLAGS = $(CFLAGS) -fno-exceptions -fno-rtti
- ASFLAGS = $(CFLAGS)
- EXTRA_TARGETS = EBOOT.PBP
- PSP_EBOOT_TITLE = Hello World
- PSPSDK=$(shell psp-config --pspsdk-path)
- include $(PSPSDK)/lib/build.mak
复制代码
代碼的內容, 我們可以先不用理會, 我們現在所想要做的, 是把它編譯, 然後放上PSP測試! 大家可以下載本篇的附件包, 然後把附件包解壓, 放在任何地方都可以.
在cygwin 環境, 假設我們是放在我們的"home"目錄內, 即"x:\cygwin\home\myname"里:
- 打開cygwin
- cd HelloWorld
- make
要是你看到類似以下的畫面, 高舉雙手大叫3 聲吧! 你成功了! 你已編譯成功你的第一個PSP程式!
EBOOT.PBP就是我們所需要的最重要的執行包!
=== 跑吧, Hello World!
接下來, 我們就可以把編譯好的Hello World, 放到PSP上試跑了!
但剛才編輯好的東西, 還不可直接放到PSP上, 一般我們要用 Kxploit tool 做點工作, 但現在的 pspsdk, 己不再需要它了, 我們不用 "make", 而用 "make kxploit" 就行了:
"make kxploit" 後, 在當前文件夾內, 會多了兩個文件夾: "hello" 和 "hello%".
當我們把 PSP 以 USB 綫接到電腦, 在PSP上, 選"USB Connection", 這時, 視窗操作系統會把PSP當成一個可移動的儲存裝置, 並會給予一個儲存裝置字母, 例如"M:".
這時, 我們把"hello" 和 "hello%"抄到PSP 的 MEMORY STICK 上的"\PSP\GAME" 里, 即可以測試了!
在PSP上, 離開"USB Connection", 移至"Game"->"Memory Stick"並進入, 我們可能會先看到一個"Corrupted Data", 不用理會它, 向下移一格, 應該就會看到我們的"Hello World"了!按下執行按鈕, 你就會看到我們非常熟識的句子"Hello World"打印在PSP龐大的螢幕上 :) 成功!!!
當你欣賞完了美麗的"Hello World!"顯示, 可以按"Home"按鈕, 選擇退出, 回到PSP的系統菜單!
看到那個"Corrupted Data" 圖標, 大家可能有點不爽, 要是你用的是比較新的 pspsdk, 那麼你可以試一下不用 "make kxploit" 而用 "make SCEkxploit":
"make kxploit" 後, 在當前文件夾內, 會多了兩個文件夾: "__SCE__hello" 和 "%__SCE__hello", 我們把它們抄到PSP 的 MEMORY STICK 上的"\PSP\GAME" 里, 就可以沒有Corrupted Data" 的圖標而又正常的測試我們的程序!
=== 接下來...
接下來大家可以用Hello World 為根基, 加加減減的編寫別的東西了. 至於要寫什麼, 那要看你的興趣了!
想編寫應用程式, 可以參考: PSP程序代码收集
想編寫遊戲, 請看: 學習PSP遊戲制作實況記錄 (雖然標題是學習寫遊戲, 但其實例子中很多東西也適合在應用程式上的)
常見問題可以看一下: PSP軟件開發FAQ(問與答)
[转] 我的第一個PSP程式: Hello World! PSP編程從這里開始!
与时俱进的小学生作文:我捡到了一个PSP -口袋推推
与时俱进的小学生作文:我捡到了一个PSP -口袋推推
好色男生PSP的用途
Hello World
Hello World
雷人的歌:My Dick !(翻译) - PSP、PSP go主机讨...
如何用PSP看电影,PSP怎么看电影
如何用PSP看电影,PSP怎么看电影
小学生作文选:我捡到了一个PSP
psp新手心得
如何用PSP看电影
PSP怎么上网
PSP怎么上网c
什么叫PSP破解
女朋友今天送我的nike!穿这个搭上小p简直太强大了! - PSP/PSP2000讨论区 ...
PSP的程序安装和带%文件夹的由来
严重浪漫制作的所有PSP游戏,汇总。
教你如何录制PSP视频~[转自TGBUS]
新春掌机PSP全面导购指南-psp价格
- PSP、PSP go主机讨论区 - 玩家网 下游...
在RUP中结合PSP
PSP 模拟人生攻略完成
修改 PSP EBOOT.PBP文件