他のサイトの内容だと自前ライブラリ作るには微妙に情報不足→自前で解析するかー というわけで、上のリンク先と合わせて読めば幸せになれるかも ライブラリを作るとき使うexpファイルの構文 #構文開始の合図 PSP_BEGIN_EXPORTS #以下の4行は必須 PSP_EXPORT_START(syslib, 0, 0x8000) PSP_EXPORT_FUNC_HASH(module_start) PSP_EXPORT_VAR_HASH(module_info) PSP_EXPORT_END # ここから自前のライブラリの宣言 PSP_EXPORT_START(MyLib, 0, 0x0001)#名前、バージョン、アトリビュート PSP_EXPORT_FUNC_HASH(getModuleInfo)#関数名 PSP_EXPORT_END #構文終了の合図 PSP_END_EXPORTS ライブラリを使うときに使う.Sファイルの構文 .set noreorder #include "pspstub.s" STUB_START "MyLib",0x00090000,0x00010005 STUB_FUNC 0x563FF2B2,getModuleInfo STUB_END STUB_STARTの引数は名前、フラグとバージョン、関数の数と変な数字 名前は.expに指定したものを使う フラグとバージョンは…上位16ビットがアトリビュートで下位16ビットがバージョンかな? 関数の数と変な数字。上位16ビットが関数の数。下位16ビットは0005で固定らしい STUB_FUNCの引数はハッシュ値と関数名 ハッシュ値は関数名をSHA-1で計算して出てきたハッシュから上位32ビットを抽出、リトルエンディアンに並べ替えればいい |
Documents >