FC2ブログ

スポンサーサイト 

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
[ --/--/-- --:-- ] スポンサー広告 | トラックバック(-) | コメント(-)

新しいAPIを使う 

PSPのAPIがソースのどこにもなかった場合は、アセンブラでAPIを
定義してやることで使えるようになります

いつものサイトで定義に必要な API名、ライブラリ名、関数ID を調べる





今回は「vshCtrlReadBufferPositive関数」を定義します

API名:     vshCtrlReadBufferPositive
ライブラリ名: sceVshBridge
関数ID:    0xC6395C03


アセンブラで定義

1. 名前を適当に決めて、拡張子をSにしてメモ帳か何かで開く  例: vsh_ctrl.S

  構文
  .set noreorder
  #include "pspstub.s"

  左から順に ライブラリ名、変えなくていい、定義する数(1のところ※16進数)
  STUB_START "sceVshBridge", 0x40090000, 0x00010005

  左から順に 関数ID、API名
  STUB_FUNC 0xC6395C03, vshCtrlReadBufferPositive

  定義終了
  STUB_END

2. ソースファイルに定義する

  int vshCtrlReadBufferPositive(SceCtrlData *pad_data, int count);

3. Makefileに定義する

  vsh_ctrl.Sを OBJS = vsh_ctrl.o のように、OBJSに追加で記述する


  これでvshCtrlReadBufferPositive関数が使えるようになってます
  ※sceCtrlReadBufferPositive関数と使い方は変わりません(たぶん)
スポンサーサイト
アセンブリとかさっぱりなんですが、覚えたほうがいいでしょうかね?
ほんと凄いです
[ 2010/08/12 00:09 ] [ 編集 ]
自分もあんまりアセンブラについて勉強してません
実はここの記事を参考にしてます
http://yun.cup.com/psppg009.html
[ 2010/08/12 01:16 ] [ 編集 ]
コメントの投稿













管理者にだけ表示を許可する


上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。