MAPLUS にオービスアラーム機能を付加するプラグインを作成中.
原理としては,
1. PSP の USB GPS のデータをリードするシステムコールをフックして,現在位置をゲット
2. オービスデータベースを参照し,近くにオービスがあったら警告
1. のシステムコールをフックして,現在位置をゲット は割と簡単にできた.これでルート案内中でもナビのログを取る事ができる (MAPLUSは,ルート案内中は GPS ログを取れないという変な仕様).
もんだいは 2. の警告音を鳴らすやつで,いろんなサンプルをあたってみたけど,ほとんど mikmod とか SDL とか,ゲーム向けの巨大なライブラリを使用していて,プラグイン化するとメモリが足りない…
そのうち pspAudioInit() と pspAudioSetChannelCallback() を使ったサンプルを見つけたので,これで実装してみたらそこそこいける.だが依然 pspAudioInit() がメモリを食うのか,MAPLUS の起動中に pspAudioInit() が呼ばれたりするとメモリアローケートに失敗して MAPLUS が死ぬ_| ̄|○
サウンドを鳴らす軽いサンプルプログラムどっかにないかな〜?
0 件のコメント:
コメントを投稿