BREW(Binary Runtime Environment for Wireless) 11
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2009/06/04(木) 08:58:09■テンプレ
http://brew.s214.xrea.com/pukiwiki/
http://kintubo.kakiko.com/brew/
■前スレ
10 http://pc12.2ch.net/test/read.cgi/tech/1195449992/
■過去スレ
09 http://pc11.2ch.net/test/read.cgi/tech/1166675852/
08 http://pc8.2ch.net/test/read.cgi/tech/1147832791/
07 http://pc8.2ch.net/test/read.cgi/tech/1137502541/
06 http://pc8.2ch.net/test/read.cgi/tech/1126846736/
05 http://pc8.2ch.net/test/read.cgi/tech/1119056460/
04 http://pc8.2ch.net/test/read.cgi/tech/1111028365/
03 http://pc5.2ch.net/test/read.cgi/tech/1096006023/
02 http://pc5.2ch.net/test/read.cgi/tech/1076511398/
01 http://pc2.2ch.net/test/read.cgi/tech/1011078904/
関連情報>>2-10
0348デフォルトの名無しさん
2010/03/21(日) 18:06:020349デフォルトの名無しさん
2010/03/21(日) 21:15:31奴隷同士を戦わせる事に成功したから
日本のITはぎじゅちゅしゃを安値で使役出来たんだけどなw
0350デフォルトの名無しさん
2010/03/22(月) 19:42:350351デフォルトの名無しさん
2010/03/31(水) 18:26:13・elf2mod使用
・gnude(GCC3.3.1 )
・BREW4.0
・機種「CA001」
・グローバル変数あり
仕事でmod圧縮が必要になったので
上の条件で圧縮を行ってみた所
1回目はほぼOK(たまに起動せず落ちる)
2回目以降はNG(こっちは絶対落ちます)
つまり、modとmod.binを新しく入れ直すと1回だけ起動する
という状況になったのですがこういう物なのでしょうか?
以前、グローバル変数を使用していると駄目という書き込みは見ましたが
そこが問題なのであれば一度も起動できないのでは?と思うのですが・・・
知ってる方いらっしゃいましたらお教えて下さい><
0352デフォルトの名無しさん
2010/04/01(木) 14:51:31たまたま転送直後はグローバル変数の使用領域と
偶然使えるヒープ領域が一致してただけでしょ。
OS側だってヒープの確保、開放をしてるんだし毎度同じと思う方がおかしい。
RVCTの方で圧縮後も動くのは、
グローバル変数が使用するヒープ領域を初期化する処理が、
圧縮後も上手く動くから。
GCCの方はその辺すっ飛ばしちゃうのが問題なんだけど、
このあたり対応する手段を検討してるあいだにRVCT買う事になって
その後はもう調べてない。
0353デフォルトの名無しさん
2010/04/01(木) 22:10:40回答してくれるのはうれしいけど、質問も理解できない方は無理に答えていただかなくても結構です
0354デフォルトの名無しさん
2010/04/02(金) 05:54:24そうじゃないなら、353が質問に答えてくれよと。ちなみに俺は分からん。
0355デフォルトの名無しさん
2010/04/02(金) 16:22:30異常性を指摘したら質問の理解不足と指摘されたでござるの巻。
0356デフォルトの名無しさん
2010/04/03(土) 02:18:460357デフォルトの名無しさん
2010/04/06(火) 03:26:20原因は他にあるが353の態度見たら教える義理もあるまい
0358デフォルトの名無しさん
2010/04/06(火) 16:49:540359デフォルトの名無しさん
2010/04/11(日) 14:07:410360デフォルトの名無しさん
2010/04/15(木) 14:32:19端末Aだと_SetMediaData()で成功しても、_Playで失敗し続ける。
端末Bだと再生は問題ないが、停止で端末リセットだったりする。
これタイマー回してIMediaのご様子伺いながら1個ずつ実行するようしないとダメかな・・?
少なくとも使用した端末の仕様書には、同期処理のAPIしか使ってないんだが。
0361デフォルトの名無しさん
2010/04/16(金) 12:38:29AEEApplet_New()で登録したPFNFREEAPPDATA型の終了処理関数が、
二回以上呼ばれることはありうるのでしょうか? もしあるので
あれば、その条件を教えていただけないでしょうか?(例えば
ISHELL_CloseApplet()を複数回呼ぶとその回数分終了処理関数が
呼ばれてしまうとか???)
その終了処理関数を自分で直接呼びだすコードは一切書いておらず、
AEEApplet_New()に渡しているだけなのですが、BREW Loggerのログを
見ていると、どうも終了処理関数が二回呼ばれる場合があるみたい
なのです。
よろしくお願いします!
0362デフォルトの名無しさん
2010/04/16(金) 14:43:23自分は全てRELEASEIF()でメモリの解放をしているから、
呼ばれていたとしても気づかないけど。
EVT_APP_STOPにTRUE返してる?
あと、ISHELL_CloseApplet()を複数回呼び出しても関係ないはず。
ちょっと、コーディング・センスを疑うけど。
0363デフォルトの名無しさん
2010/04/16(金) 22:55:07あとはわかるな
0364デフォルトの名無しさん
2010/04/18(日) 01:26:26現在いくつか問題を抱えており、どなたかご教授いただけないでしょうか?
1.
BREW3.1のauアプリでメモリの最大使用制限というのは
MALLOC()以外で取得されたメモリ
IDISPLAY_CreateDIBitmap()、ISHELL_LoadBitmap()等で
作成されたものも含まれるのでしょうか?
2.
反転画像を転送する際に
画像ロード(8bitパレット)->DDBに転送(16bit)->
ITRANSFORM_TransformBltSimple()->画面に表示(16bit)
という手順で行っているのですが、せっかく画像を8bitパレットで作っても
転送する前に16bit化しなければならず、倍のサイズをつかってしまい
メモリ容量が厳しいことになっています。保持しておく画像は8bitパレットのままで
うまく反転画像を表示させたいのですが、他のやり方を知っている方がいましたら
教えていただきたいです。(そもそも、間違っている場合はご指摘を・・・)
ワークバッファを持ち、直前に16bit化を行ってみたのですが
処理に時間がかかってしまい使えませんでした。
いきなり出てきてすみませんが、ヨロシクお願いします。
0365デフォルトの名無しさん
2010/04/18(日) 01:45:16ホント、だらしないな。
0366デフォルトの名無しさん
2010/04/18(日) 11:05:49ま た ゲ ー ム か
0367デフォルトの名無しさん
2010/04/18(日) 17:52:38この前の偉そうなヤツより質問は丁寧でいいけど。
0368デフォルトの名無しさん
2010/04/18(日) 18:22:101.についてはこちらの認識不足でした。
上の方で似た様な質問があったのと
時間の問題で焦っていたので質問してしまいました。
不快にしてしまい、申し訳無いです。
改めて2.についてお尋ねしたいのですが
いかがでしょうか?
0369デフォルトの名無しさん
2010/04/19(月) 10:47:26DDBの描画がダメならDIB使えばいいだけじゃない?
DDB互換DIBのキャンパスに対して、8bitDIBを描画する方法ならありそうだけど。
0370デフォルトの名無しさん
2010/04/19(月) 23:07:300371デフォルトの名無しさん
2010/04/20(火) 01:17:10つまりさ、その反転「必要」なの?必要というなら、時間がかかってもやるしかないけどさ。
0372デフォルトの名無しさん
2010/04/20(火) 23:41:15皆さん回答ありがとうございます。
反転は必要で、速度と容量も稼ぎたいという、ワガママな状態ですみません。
やはりパフォーマンス周りの問題はどうにもならないんですね。
DDB互換のキャンパスに書いたとしてもDDBと同じ16bitとなってしまうかと思うのです。
自分で反転させたDIBを保持すると8bit+8bitで16bitと同じになってしまいますし
リソースごとに対応を変える形で対処しようと思います。
0373デフォルトの名無しさん
2010/04/21(水) 02:33:380374デフォルトの名無しさん
2010/04/21(水) 16:18:39反転するだけならアセンブラ使わなくてもそんなに重くはならないと思う。
0375デフォルトの名無しさん
2010/04/21(水) 21:50:420376デフォルトの名無しさん
2010/04/22(木) 03:51:05用意して転送するって話でしょ。イメージ展開されてなきゃ処理できん。
ARM926EJ-Sはデータキャッシュ128KBだから(MSM6550でもキャッシュ積んでるかは知らんが)
オンキャッシュで処理できそうではあるな。画像サイズ次第ではピクセルデータごと乗る。
アセンブラで書くなら、ARMは複数レジスタロード・ストア、レジスタのローテート、ロードアドレスの
オフセット指定なんかがあるから、これらを駆使すればそこそこ高速なルーチンができそうな気がする。
0377デフォルトの名無しさん
2010/04/22(木) 10:08:08こんなこと自明だと思って書かなかったんだけど。
0378デフォルトの名無しさん
2010/04/22(木) 12:06:59IDIBのパレットを直で弄って IDIB_TO_IBITMAP → ITransform だと何がダメなの?
0379デフォルトの名無しさん
2010/04/22(木) 17:50:50パレットの変更は許可されてるから16bpp相当に書き換えることはできるけど、
描画システム側がRGB888を前提にしてんだから色崩れまくりになる予感。
そもそもシステムがどこでビットマップの互換性をチェックしてるのか不明だし。
互換性チェックパスしないとITRANSFORM_Blt系って失敗する気が。
>>377
ISHELL_LoadBitmapだとDDBにったはず・・・なので今の機種だと16bpp?になるんじゃないかな。
IImageDecoder使えば8bppのままDIBとして取得できる。
0380デフォルトの名無しさん
2010/04/22(木) 18:15:490381デフォルトの名無しさん
2010/05/19(水) 23:06:110382デフォルトの名無しさん
2010/05/21(金) 19:47:263Dとか使ってると大変なのかな?
0383デフォルトの名無しさん
2010/05/27(木) 01:59:25最新のモジュールを入れてるつもりなんだが、どこか設定が必要なんだろうか…
実機では鳴ってるので、ファイルがおかしいって事は無い。
0384デフォルトの名無しさん
2010/05/27(木) 02:11:17NDAって言葉すら知らないのか、池沼共は。
0385デフォルトの名無しさん
2010/05/27(木) 08:27:100386デフォルトの名無しさん
2010/05/27(木) 16:47:352chみたいな場所でNDA意識しろって書き込むだけってのは無駄じゃないかな。
0387デフォルトの名無しさん
2010/05/28(金) 09:32:45NDAに触れるようには見えないのだけど。
0388デフォルトの名無しさん
2010/05/28(金) 12:39:21前スレだと『音のモジュール入れたけどシミュがかっとぶんだけど』
みたいな話が、何の躊躇もなく話し合われていたw
つーか
>654 :デフォルトの名無しさん:2008/09/19(金) 09:50:48
> いちおう皆NDA守るんだな
NDAという単語が出てきたのはこれだけだよw あとGUNDAMとかw
それから次に単語が出てきたのが今年の4月w
0389デフォルトの名無しさん
2010/05/28(金) 15:10:29ウチもSMAF MA-5の音源が各種DLL入れても鳴ってない。
サンプルアプリで鳴ってるんで、間違いなく俺が悪いんだと思うけど。
実機で鳴ってるから気にしないことにしてる。
0390デフォルトの名無しさん
2010/05/28(金) 23:09:55んだから教えないんだ
0391デフォルトの名無しさん
2010/05/29(土) 13:26:21みたいな結論が出ていたと思うよ
0392デフォルトの名無しさん
2010/06/12(土) 00:43:26とくにクイックアクセスメニューから複数アプリ起動すると高確率で落ちるorz...
0393392
2010/06/14(月) 23:29:06_AEEMod_Loadで本体生成後に以下のコードを挿入したら直った。
for (uint32 cnt = pM->m_nRefs - 1; cnt != 0; --cnt)
{
pM->_pIModule->pvt->AddRef(pM->_pIModule);
}
pM->m_nRefs = 1;
0394デフォルトの名無しさん
2010/06/15(火) 04:11:290395デフォルトの名無しさん
2010/06/15(火) 15:39:560396デフォルトの名無しさん
2010/06/17(木) 06:48:15まあ、実物あわせしかできないゲームプログラマに何を言っても仕方ないんだろうけど。
0397デフォルトの名無しさん
2010/06/17(木) 12:59:123.1端末では特にメモリリークや類似の不具合は出ていないのですが、
ソースをほぼそのまま移植した4.0において、アプリ終了時に携帯がリセットしてしまいます。
ファイルにログを出力したところ、全てのデストラクタを通り、
AEEApplet_New に登録する終了時のコールバックを最後まで抜けているようで、
原因がわかりません。
同じような現象に当たった方、なにか情報を頂けないでしょうか?
0398デフォルトの名無しさん
2010/06/17(木) 13:43:27俺の解釈が間違ってるのかも知れんが、
>>393は本体モジュールと自分自身(ローダ)の参照カウントを
調整してるだけで全体のカウント数は変えてないのでは?
本体に対してAddRefして、その分ローダをReleaseしてるんでしょ。
そうすることで、システムから見てローダが透過的になると。
ただ、本来はModuleProxy::Release()の中でうまく処理すべきこと
なのかも知れないとは思う。
0399デフォルトの名無しさん
2010/06/17(木) 14:26:48uint32 ModuleProxy::Release(IModule *po) {
ModuleProxy* pMe = (ModuleProxy*)po;
if(pMe->_pIModule) {
uint32 nRef;
if( (nRef = pMe->_pIModule->pvt->Release( pMe->_pIModule )) == 0 ) {
pMe->_pIModule = NULL;
return Release(po);
}
return nRef + pMe->m_nRefs - 1;
} else {
(以下変更なしにつき省略)
ちょっと試した限りでは問題なさげ。
0400デフォルトの名無しさん
2010/06/17(木) 21:54:53本体生成直後の状態でローダのカウントが2以上、本体のカウントが1になると思うが、
その状態でReleaseが呼び出されると累計のカウントが1以上あるにも拘らず
本体のモジュールを開放してしまってるけどいけるのか?
0401デフォルトの名無しさん
2010/06/17(木) 23:10:210402デフォルトの名無しさん
2010/06/18(金) 00:17:400403399
2010/06/18(金) 10:26:24そこは俺も気になったんだが、CreateInstance前のAddRefって、
AddRefする側はインスタンスを取得できてないわけでしょ。
だったら本体を参照される恐れはないんじゃないかと。
(参照されるにしてもIModule周りだけじゃないかと)
でも考えてみたら、ReleaseがAddRefの逆順に呼ばれる保証はないし、
これじゃマズい罠。ごめん。
思いつきで書いただけだから399は忘れてくれ。
0404デフォルトの名無しさん
2010/06/21(月) 20:46:52バージョンが変わるたびに現物あわせするしかないし、
本当にそれで問題ないのか、誰にも分からん。
0405デフォルトの名無しさん
2010/06/21(月) 23:11:100406デフォルトの名無しさん
2010/06/22(火) 01:57:140407デフォルトの名無しさん
2010/06/23(水) 01:16:12これって単に元のコードにバグがあったってだけの話では?
バグの内容はModuleProxy::Release()が間違った参照カウント数を返してしまうってもので、
それを間接的な方法で修正したのが>>393。直接的に修正しようとしたのが>>399。
元のコードが現物合わせなのは確かだけど>>393や>>399には明確な根拠があるし
これを現物合わせとか言うのは違う気がする。
>>406
ソフィアのやつも4.0のは当初問題が発生してたような…気のせい?
0408デフォルトの名無しさん
2010/06/23(水) 06:11:470409デフォルトの名無しさん
2010/06/23(水) 20:03:52だから現物合わせって言われるんだよ。
0410デフォルトの名無しさん
2010/06/23(水) 23:51:080411407
2010/06/24(木) 02:07:03圧縮ツールの問題。
>>409
う〜ん…もしかして現物合わせって言葉、俺勘違いしてるのかな?
現物合わせって、システムの非公開部分に関わる根拠が明確でない操作をして、
手探りでなんとかうまく動くよう調整することだと思ってた。
この場合非公開部分に変更があるとうまく動かなくなる可能性があるから
そういうのって嫌われるよね。
修正コードは参照カウンタを無理やり操作したりしてるからエレガントなコードとは言えないけど、
それによる影響はローダ内部で管理してるから、たとえシステムに変更が加えられても大丈夫なはず。
そういう意味で現物合わせとは違うと思ったのよ。
俺の勘違いだったらごめん。
誰か、もっとエレガントなコード書いてくれないかな。
0412デフォルトの名無しさん
2010/06/30(水) 10:48:57シミュレータでファイルにアクセスすると、
DLLの存在するディレクトリが基準になる様なのは
理解しています。
では、シミュレータでSDカードにアクセスするには
"fs:/card0/pc/Test.dat"
という名前でいいのでしょうか?
また、これは、シミュレータ側では、どんなパス名になりますか?
0413デフォルトの名無しさん
2010/06/30(水) 19:42:28アイドリングの一部の子みたいだな。
0414デフォルトの名無しさん
2010/07/01(木) 09:40:53ttp://brewforums.qualcomm.com/showpost.php?s=4d450b8a5eba95078bff998cf22d7426&p=45630&postcount=8
これかな?違ってたらスマン
0415デフォルトの名無しさん
2010/07/01(木) 19:00:06ありがとうございます。
あと、card0とかにアクセスするには、
MIFエディタでアクセス権をあらかじめ与えていないとだめですか?
0416デフォルトの名無しさん
2010/07/01(木) 22:33:330417デフォルトの名無しさん
2010/07/02(金) 09:40:54身元割れるかも知れんけどまぁいいや
0418デフォルトの名無しさん
2010/07/02(金) 14:29:00/card0 rw/rw CARD0_ACCESS
というような設定が出来たら
IFILEMGR_OpenFile( , "fs:/card0/test.dat", _OFM_CREATE )
失敗で
GetLastError
が、21とかわからない数から
EFILENOEXISTSが帰るようになりました
しかし作成を指定してるのに作られません。
何か足らないことがありますか?
0419デフォルトの名無しさん
2010/07/02(金) 14:33:07同様の現象が起こった方はおりますか?
デバイス接続やデータ確認は出来るのに、データ転送のみ出来ない状態です
0420デフォルトの名無しさん
2010/07/02(金) 21:31:23脳味噌
0421デフォルトの名無しさん
2010/07/02(金) 22:06:080422デフォルトの名無しさん
2010/07/07(水) 23:31:53今日会社で
「BREWでこれ3ヶ月ぐらいで作って(1人で)」
とか言われました。
検索条件入力→一覧表示→選択
もしくは
商品のバーコード読み取りで選択
詳細表示→入力して更新
の様な感じの全30画面程。
色々調べてみたらAUの審査に1ヶ月以上掛かると見たのですが、
ぶっちゃけ残りの2ヵ月で作れると思いますか?
0423デフォルトの名無しさん
2010/07/07(水) 23:35:48w
0424デフォルトの名無しさん
2010/07/08(木) 01:49:58そうでないなら未知数と言うか変な端末仕様にぶつからないかどうかの運次第
0425デフォルトの名無しさん
2010/07/08(木) 05:58:410426デフォルトの名無しさん
2010/07/08(木) 09:13:070427デフォルトの名無しさん
2010/07/09(金) 00:53:27多分お客さん的には携帯でデータいじれたらOKだと思うので、
携帯のブラウザでアクセスするサイト作れば行けそうな気も…。
レスありがとうございました。
0428デフォルトの名無しさん
2010/07/09(金) 09:11:220429デフォルトの名無しさん
2010/08/25(水) 23:07:090430デフォルトの名無しさん
2010/09/01(水) 15:49:20http://twitter.com/wataru4/status/22616152186
http://twitter.com/wataru4/status/22616326787
http://twitter.com/wataru4/status/22617362215
0431デフォルトの名無しさん
2010/09/09(木) 17:21:55機能拡張されるってことだと思う。
JavaアプリがBREWアプリと同等の地位に格上げってことになるのかな?
0432デフォルトの名無しさん
2010/09/09(木) 23:00:430433デフォルトの名無しさん
2010/09/27(月) 11:06:07・・・にしてもネタが無いのは良いことなんだろうか。
0434デフォルトの名無しさん
2010/09/28(火) 22:42:100435デフォルトの名無しさん
2010/10/01(金) 10:36:03http://www.itmedia.co.jp/promobile/articles/1008/31/news085.html
これのこと?>終了宣言
0436デフォルトの名無しさん
2010/10/11(月) 18:36:12あれば教えていただきたいです。
0437デフォルトの名無しさん
2010/10/11(月) 19:40:47詳細はKDDIに聞いてください。
0438デフォルトの名無しさん
2010/10/11(月) 20:25:390440デフォルトの名無しさん
2010/10/17(日) 12:00:160441デフォルトの名無しさん
2010/10/17(日) 15:47:140442デフォルトの名無しさん
2010/10/27(水) 22:58:160443デフォルトの名無しさん
2010/10/28(木) 01:36:150444デフォルトの名無しさん
2010/10/28(木) 07:08:340445デフォルトの名無しさん
2010/10/28(木) 09:41:040446デフォルトの名無しさん
2010/10/28(木) 18:52:22それ以前に、どんなソリューションでもそうだけど、特定ソリューション専業ってのは問題でしょ。
0447デフォルトの名無しさん
2010/10/28(木) 22:07:21最終的にはOSにしか残らないだろうな。
そうなると端末の中の人以外はBREW開発の仕事が無くなる。
0448デフォルトの名無しさん
2010/10/29(金) 23:37:28常識的には、端末販売後2年間は割賦販売で端末が残るわけだし。
結局、Androidでも画面サイズ対応とか、拡張キーアサイン対応とかやらされるんだろ?
一緒だよ、一緒。数年で使い捨てのコードを書くという意味では。
■ このスレッドは過去ログ倉庫に格納されています