「pspで動作する最小っぽいソース」の編集履歴(バックアップ)一覧はこちら
pspで動作する最小っぽいソース - (2008/11/26 (水) 23:32:24) の1つ前との変更点
追加された行は緑色になります。
削除された行は赤色になります。
pspで動作する最小っぽいソース
#include <pspkernel.h>
PSP_MODULE_INFO("TEST",0,1,1);
PSP_MAIN_THREAD_ATTR(THREAD_ATTR_USER | THREAD_ATTR_VFPU);
int main(int argc,char *argv[])
{
sceKernelExitGame();
return 0;
}
何もしないで、終了します。
#include <pspkernel.h>
sceKernel*系のAPIのプロトタイプ宣言とかあといろいろ。
Main include file that includes all major kernel headers.
って書いてあり、イメージ的にはwindows.hみたいな存在か
PSP_MODULE_INFO("TEST",0,1,1);
.rodata.sceModuleInfo ELF section を定義します。
左からモジュールの名前、属性、メジャーバージョン、マイナーバージョン
属性は
enum PspModuleInfoAttr
{
PSP_MODULE_USER = 0,
PSP_MODULE_KERNEL = 0x1000,
};
これいがいに
0x0800 VSH モードで
0x1006 IdStorage 使用?
よくわかりません。
PSP_MAIN_THREAD_ATTR(THREAD_ATTR_USER | THREAD_ATTR_VFPU);
enum PspThreadAttributes
{
/** Enable VFPU access for the thread. */
PSP_THREAD_ATTR_VFPU = 0x00004000,
/** Start the thread in user mode (done automatically
if the thread creating it is in user mode). */
PSP_THREAD_ATTR_USER = 0x80000000,
/** Thread is part of the USB/WLAN API. */
PSP_THREAD_ATTR_USBWLAN = 0xa0000000,
/** Thread is part of the VSH API. */
PSP_THREAD_ATTR_VSH = 0xc0000000,
/** Allow using scratchpad memory for a thread, NOT USABLE ON V1.0 */
PSP_THREAD_ATTR_SCRATCH_SRAM = 0x00008000,
/** Disables filling the stack with 0xFF on creation */
PSP_THREAD_ATTR_NO_FILLSTACK = 0x00100000,
/** Clear the stack when the thread is deleted */
PSP_THREAD_ATTR_CLEAR_STACK = 0x00200000,
};
なようです。
http://pspnfo.orz.hm/index.php?Development%2FAPIReference%2FModule%20Information
が詳しいです。
main()で始まります。
sceKernelExitGame();で終了します。
これを呼び出さないと終了しないか
安全に終われません。