- 1 名前:デフォルトの名無しさん mailto:sage [2009/06/04(木) 08:58:09 ]
- BREW(Binary Runtime Environment for Wireless)についてのスレ
■テンプレ brew.s214.xrea.com/pukiwiki/ kintubo.kakiko.com/brew/ ■前スレ 10 pc12.2ch.net/test/read.cgi/tech/1195449992/ ■過去スレ 09 pc11.2ch.net/test/read.cgi/tech/1166675852/ 08 pc8.2ch.net/test/read.cgi/tech/1147832791/ 07 pc8.2ch.net/test/read.cgi/tech/1137502541/ 06 pc8.2ch.net/test/read.cgi/tech/1126846736/ 05 pc8.2ch.net/test/read.cgi/tech/1119056460/ 04 pc8.2ch.net/test/read.cgi/tech/1111028365/ 03 pc5.2ch.net/test/read.cgi/tech/1096006023/ 02 pc5.2ch.net/test/read.cgi/tech/1076511398/ 01 pc2.2ch.net/test/read.cgi/tech/1011078904/ 関連情報>>2-10
- 148 名前:デフォルトの名無しさん mailto:sage [2009/10/20(火) 16:50:51 ]
- 何となくコールバック登録のタイミングの問題のような気がする。
Socketは使ったこと無いけど、 IrDAでイベント受信したタイミングにコールバック登録しても動かないのがよくあった。 Timerか何かでちょっと待ってからコールバック登録してもダメ?
- 149 名前:147 mailto:sage [2009/10/20(火) 18:09:37 ]
- 自己解決しました。
お騒がせです。
- 150 名前:147 mailto:sage [2009/10/20(火) 18:19:04 ]
- >>148
すみません。コメント見えてませんでした。 助言ありがとうございます。 実はコールバックのタイミングが悪いのではなくて ISOCKET_Sendで送っているものの中身がダメだったようです。 自分のミスでした。 (^0^)アチャー
- 151 名前:デフォルトの名無しさん mailto:sage [2009/10/22(木) 20:36:22 ]
- ググったけど不明なんで教えてください。
apploaderはMacでも使えますでしょうか? 買い換え検討中なのです。。
- 152 名前:デフォルトの名無しさん mailto:sage [2009/10/23(金) 21:37:39 ]
- >>151
Windowsのみです
- 153 名前:デフォルトの名無しさん mailto:sage [2009/10/23(金) 23:14:19 ]
- >>152
ありがとうございます Windowsとして起動するモードでなんとかしようと思います
- 154 名前:デフォルトの名無しさん mailto:sage [2009/10/24(土) 01:33:55 ]
- BootcampでOSごとWindowsとして起動するならいいけど、
仮想マシンでWindows動かす方法じゃ多分無理。 仮想マシンからもUSBが使えるタイプなら可能かもしれないけど試してない。 AppLoaderが動いてもMySyncケーブルがOSから認識されてないと転送できないからね。
- 155 名前:デフォルトの名無しさん [2009/10/24(土) 21:20:54 ]
- >>154
なるほど ありがとうございます ブートキャンプで試してみます!
- 156 名前:デフォルトの名無しさん mailto:sage [2009/10/27(火) 02:40:30 ]
- BREWアプリではサウンドを同時再生したい場合、spfで再生するのが基本とBREW
Forumで見て 試してみたけど、再生できません。特にAPIでエラーは帰ってこないんですが。。。 pMe->mdata.clsData = MMD_FILE_NAME; pMe->mdata.pData = "abc.spf"; pMe->mdata.dwSize = 0; ISHELL_CreateInstance(pMe->a.m_pIShell, AEECLSID_MEDIAMMF, (void**)&pMe->pIMedia); IMEDIA_SetMediaData(pMe->pIMedia, &pMe->mdata); IMEDIA_RegisterNotify(pMe->pIMedia, (PFNMEDIANOTIFY)IMediaNotifyCB, pMe); IMEDIA_Play(pMe->pIMedia); なにが問題か教えてください(;_;) データは一応 SMAF/Phrase オーサリングツール (ATS-SMAFPhraseL1) Ver.1.2.0 で変換したものですが、あやしいです。 確実に再生できるデータをお持ちの方いただけないでしょうか。
- 157 名前:デフォルトの名無しさん mailto:sage [2009/10/27(火) 13:43:43 ]
- MA5以上のデータの場合シミュレータで鳴らないデータもあるよ。
MA3用で作ってみたら?
- 158 名前:デフォルトの名無しさん mailto:sage [2009/10/27(火) 13:51:33 ]
- あとソフバンのHPにクリエイター向けの素材があった気がする
- 159 名前:156 mailto:sage [2009/10/28(水) 00:33:30 ]
- ありがとうございます。
ソフトバンクの下記サイトでダウンロードしたファイルも再生できませんでした。 creation.mb.softbank.jp/free_material/slib_bgm.html 「スピード」 2OP MA2/Phrase 2OP MA3/Phrase 4OP MA3/Phrase 追加情報ですが、 IMEDIA_RegisterNotify()で登録したコールバックで @MM_STATUS_START AMM_STATUS_MEDIA_SPEC BMM_STATUS_ABORT の順に結果が返ってきます。 シミュレータのバージョン:BREW SDK v4.0.1 SP05日本語版 C:\Program Files\BREW 4.0.1 SP05 Ja\bin\mod\BREWSim\modulesに ma3smwemu.dllは入れておりMMFファイルは再生できます。
- 160 名前:デフォルトの名無しさん mailto:sage [2009/10/28(水) 00:50:38 ]
- >>156
spfもAEECLSID_MEDIAMMFで良かったでしょうか?
- 161 名前:156 mailto:sage [2009/10/28(水) 01:12:20 ]
- >>160
すみません、ISHELL_CreateInstance()に渡すクラスIDですよね? 書き込みの際に間違えました。 ISHELL_CreateInstance(pMe->a.m_pIShell, AEECLSID_MEDIAPHR,(void**)&pMe->pIMedia); これでも再生できません。
- 162 名前:デフォルトの名無しさん mailto:sage [2009/10/28(水) 16:57:18 ]
- pData に渡すのってファイル名であってんの?
- 163 名前:156 mailto:sage [2009/10/28(水) 18:43:37 ]
- 問題ないと思います。
゙abc.mmf゙ファイルの再生は確認できました。
- 164 名前:156 mailto:sage [2009/11/01(日) 01:53:54 ]
- みなさん、温かいレスありがとうございます。
過去スレでmidとwav(ADPCM圧縮化)の同時再生が可能とのことですので、 残念ながらspfの再生は諦めます。 > 2.1以前と3.1の数端末はMA5ハードの端末だからspfじゃないと無理だけど、 > 今メインのMA7ハードは音数制限無いmidとwavを4つまで同時に鳴らせるぞ。 ここで言われている3.1の数端末が何なのか知りたいのですが、 サウンド再生に関するスペックの一覧等は公開されているのでしょうか?
- 165 名前:デフォルトの名無しさん mailto:sage [2009/11/04(水) 10:55:09 ]
- RVCT3.0 アンインストールしようとしても
PC再起動しろしか出なくてアンインストールできねぇ!(゚Д゚) 一度入れなおさんとダメか。
- 166 名前:デフォルトの名無しさん mailto:sage [2009/11/05(木) 01:38:16 ]
- >>164
MA-5か7かならSmafのサイトに一覧がある。 各端末のBREWバージョンは別途調べる必要があるけど。 ・・・規制のおかげで超遅レスになってしまったよ。
- 167 名前:デフォルトの名無しさん mailto:sage [2009/11/05(木) 15:22:15 ]
- でも移植のこと考えると昔ながらの4和音spf×4に落ち着いちゃうんだよなぁ
各キャリア共通でmp3+wav効果音とか使えたら楽なのになぁ
- 168 名前:デフォルトの名無しさん mailto:sage [2009/11/05(木) 22:16:03 ]
- そのspfの元は大抵SMFなわけだから、そのSMF再生すりゃよくね?って話もw
音色の関係で調整はしなきゃならんだろうが、それはspfでも同じだし。 DoCoMoがMIDI形式のMLD+PCM形式のMLDの再生が出来る端末多くなってるから、 BREWで同じことしようとするとSMF+ADPCMになる。 比較的最近の端末に限定するなら、むしろSoftBankが仲間はずれっていう。
- 169 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 16:46:03 ]
- 現在BREW SDK 3.1にてゲームを開発しているのですが、
実機上(W41SH)で動作させると画面がちらつく不具合が発生してしまいます。 オフスクリーンイメージを用意し、一旦そこに描画してから 画面に一括転送する方法を試してみたのですが 目立った変化はありませんでした。 対処方法をご存知の方がいらっしゃれば、ご教授の程宜しくお願いします。
- 170 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 22:36:52 ]
- >>169
うちも見たこと無いし、BREWスレは初代から見てるけどそういうバグは見たことない気がする。 何か変なことやってんじゃねーの? 1フレーム内でIDISPLAY_Updateが複数回よばれてるとか、UpdateEx使ってるとか(Exの方は 未サポートの端末あるはず)。 あとBREWは自前でダブルバッファリングするから、オフスクリーンバッファ自作する意味はあんまり無い。
- 171 名前:169 mailto:sage [2009/11/19(木) 16:20:15 ]
- >>170
早速のご回答ありがとうございます。 > 1フレーム内でIDISPLAY_Updateが複数回よばれてるとか、UpdateEx使ってるとか(Exの方は > 未サポートの端末あるはず)。 画面の更新は1フレームに一度IDISPLAY_Updateを実行することで行っています。 IDISPLAY_UpdateEx未サポート端末の件については知らなかったので大変助かりました。 > あとBREWは自前でダブルバッファリングするから、オフスクリーンバッファ自作する意味はあんまり無い。 BREWの方ではあまり意味がないとのこと、承知いたしました。 S!アプリなどでは画面のちらつきを抑えるのに ダブルバッファリングが有効だったため、まずは試してみた次第です。 画面のちらつきが発生する場面とタイミングは毎回同じなので、引き続き調査を行ってみます。
- 172 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 23:04:09 ]
- HandleEvent 内で自前で描画処理してたり
何らかの描画を伴うコントロール使ってたりしない?
- 173 名前:デフォルトの名無しさん mailto:sage [2009/11/27(金) 10:59:55 ]
- 2年ぶりにBREWアプリ作ることになった\(^o^)/
検証用の資料まだ入手してなくて調査不足承知の上で質問。 elf2modでグローバル変数使えるようになったけど、 wikiにあるmod圧縮と組み合わせるとどーなるって分かる方教えてくだちい。 Singletonの実装とか楽になるので使えるのなら使いたい。
- 174 名前:デフォルトの名無しさん mailto:sage [2009/11/28(土) 15:56:47 ]
- RVCT3.0のライセンス更新許可が出ないくらいの財政難。
他所の会社に投げる事も考えたら1.2レベルで作るのが 身のため会社のため業界のため。
- 175 名前:デフォルトの名無しさん [2009/11/28(土) 17:12:24 ]
- ざまあ
- 176 名前:デフォルトの名無しさん mailto:sage [2009/11/30(月) 17:15:36 ]
- BREW Apploader使ってmifファイル転送しようとしたら
なんかBREW Apploaderが落ちちゃうんだけど…。 同じような症状に陥った人居ます?
- 177 名前:デフォルトの名無しさん mailto:sage [2009/11/30(月) 17:32:05 ]
- 端末を再起動してアプリが起動していない状態で転送。
更にアプリ一覧も出してはいけない。
- 178 名前:デフォルトの名無しさん mailto:sage [2009/12/01(火) 11:58:16 ]
- >>177
情報ありがとうございます。 やってみたけど駄目でしたorz なんかモデム用とデータ転送用って違うケーブルらしいけど それが原因なのかな…? BREW Apploaderで接続まで行けばデータ転送用ケーブルってもんでもない?
- 179 名前:デフォルトの名無しさん mailto:sage [2009/12/01(火) 13:02:24 ]
- >>178
モデム用かしらんけど付属のケーブルはAppLoaderで接続すらできなかったから 接続できたならデータ転送もできそうな気はする。 でも、症状を見る限り確実なケーブルに変えたほうがよさそうね。
- 180 名前:デフォルトの名無しさん mailto:sage [2009/12/01(火) 13:06:02 ]
- >>178
あー、あとAppLoader(というかBREW Tools)のバージョンが古いと そんな感じの現象がでたきがするから、最新版かどうか確認してみては?
- 181 名前:デフォルトの名無しさん mailto:sage [2009/12/01(火) 13:55:19 ]
- BTIL⇒1.0.2.13
BREW TOOL SUTIE⇒3.1.1.15 サイト等も確認しましたが、やはり最新版のようです。 ケーブル…確かな確証が無いと上からお金出ないからなぁ…orz 給料日前でゲームソフト売りながら生活してる状態だしorz あとでもう一度上に相談してみよう。
- 182 名前:デフォルトの名無しさん [2009/12/01(火) 15:48:58 ]
- IPREMIUMの開発用スタブの使い方教えてください。
/* プレミアム認証課金モジュール・インスタンス生成 */ ISHELL_CreateInstance(pIShell, AEECLSID_IPREMIUM, (void**)(&pMe->pExt)); 上記のインスタンス生成が成功しないんですけど、 自分のアプリのmifに何か追加しなければいけないことってあるんでしょうか? (readme.txtに書かれている【3.インストール】はしてあります) (BREW4.0シミュレータにてテスト中です)
- 183 名前:182 mailto:sage [2009/12/01(火) 18:40:03 ]
- 検索変えたら前7スレで似た様なのが出てきたので
それを見ながらやってみます。
- 184 名前:182 mailto:sage [2009/12/01(火) 19:06:25 ]
- だめだ。
前スレの人は、ISHELL_CreateInstanceしたところ3=ECLASSNOTSUPPORTが返ってるようだけど 自分のは、1=EFAILEDが返ってくる。 何がだめなんだ。 今日はせっかくの誕生日なのに、BREWとお付き合いとか泣けてくる。
- 185 名前:182 mailto:sage [2009/12/01(火) 21:44:27 ]
- 自己解決しました。
けど正しく原因が特定できていません。特定できたら書き記したいと思います。 お騒がせしました。
- 186 名前:デフォルトの名無しさん mailto:sage [2009/12/02(水) 11:12:18 ]
- 176ですー
今日KDDIから色々なケーブルを借りてきまして テストをしたんですが、bidファイルだけは転送できるみたいですね。 その他のmod,sig,mifあたりは駄目みたいorz
- 187 名前:デフォルトの名無しさん mailto:sage [2009/12/02(水) 12:30:19 ]
- >>186
接続時のBREW versionとかEFSのVersion設定とかは色々試しましたか? Apploaderが落ちたことは無いけどEFSバージョンが違うとアップロードができないことはあったなぁ
- 188 名前:デフォルトの名無しさん mailto:sage [2009/12/02(水) 13:55:02 ]
- >>187
どわーーー! EFSの設定をEFS1からAutodetectに変更したら 全てのファイルが転送できるようになりました! 187さん、その他協力して下さった方、ありがとうございました。
- 189 名前:デフォルトの名無しさん mailto:sage [2009/12/02(水) 13:56:37 ]
- 設定変更して全く認識しないならまだマシなんだが、
半端に認識されるとどうしていいかわからんよな。
- 190 名前:デフォルトの名無しさん mailto:sage [2009/12/02(水) 16:52:24 ]
- >>189
だよねー。 他にも、転送はちゃんとできるけど、実は全てのフォルダが表示されてないとかもあったり。。。。 既知のバグでみたからもう修正されてるかもだけど
- 191 名前:デフォルトの名無しさん mailto:sage [2009/12/02(水) 17:48:32 ]
- 転送したアプリがアプリ一覧に表示すらされない場合って
何か考えられます?
- 192 名前:デフォルトの名無しさん mailto:sage [2009/12/02(水) 17:49:54 ]
- 一緒に突っ込んだsigはその端末の奴?
- 193 名前:デフォルトの名無しさん mailto:sage [2009/12/02(水) 17:50:31 ]
- Quallcomのサイトより作成したものです。
- 194 名前:デフォルトの名無しさん mailto:sage [2009/12/02(水) 18:39:13 ]
- 普通にmifが悪い気がするけど、シミュレータで普通に表示されてるなら別なのかな
- 195 名前:デフォルトの名無しさん mailto:sage [2009/12/02(水) 18:40:31 ]
- 転送して再起動してないって・・・のは流石に無いだろうな
- 196 名前:デフォルトの名無しさん mailto:sage [2009/12/03(木) 00:27:47 ]
- あとは起動設定とか?
- 197 名前:デフォルトの名無しさん mailto:sage [2009/12/03(木) 09:15:32 ]
- 色々と教えて頂きましてありがとうございます。
BREW Apploaderで送る時に小文字じゃないといけないとか言われていて ファイルを全部小文字にしたのですが、そのファイルと シミュレータのフォルダのmifファイルを入れ替えたら シミュレータではエラーが出てしまったので ちょっと色々と見直してみたいと思います。
- 198 名前:デフォルトの名無しさん mailto:sage [2009/12/03(木) 11:58:07 ]
- ちなみにSIGファイルを作る際の
Enter ESN or IMEI or MEID: ってこれってESNでよろしいのでしょうか? ESNにしてクラスIDの値を入力してSIGファイルを生成していましたが…。
- 199 名前:デフォルトの名無しさん mailto:sage [2009/12/03(木) 11:59:18 ]
- ↑すみません。自己解決しました。
ESNなのは問題なかったようですが ケータイの下8桁を入力しなければならないんですね。
- 200 名前:デフォルトの名無しさん mailto:sage [2009/12/03(木) 13:21:00 ]
- 守秘義務って知ってるんだろうか
- 201 名前:デフォルトの名無しさん mailto:sage [2009/12/03(木) 13:23:44 ]
- SIG生成のはちょっとヤバいよね
- 202 名前:デフォルトの名無しさん mailto:sage [2009/12/03(木) 13:32:37 ]
- 確かにあそこのページの文章を抜粋するのは
思慮が足りてませんでした。 失礼しましたm(_ _)m
- 203 名前:デフォルトの名無しさん mailto:sage [2009/12/03(木) 14:34:35 ]
- シュミレータで動作させる際に
Unknown Error (266)と中々みかけないエラーが出てきたんですが 同じエラーが出たことある人っていらっしゃいますか?
- 204 名前:デフォルトの名無しさん mailto:sage [2009/12/03(木) 14:36:41 ]
- シミュレータが起動しなかった事無いから知らない。
- 205 名前:デフォルトの名無しさん mailto:sage [2009/12/03(木) 14:44:33 ]
- は?
- 206 名前:デフォルトの名無しさん mailto:sage [2009/12/03(木) 22:23:18 ]
- 開発中だからって適当なClassIDつけたら前のと被ってて、
被ったアプリのうち片方しか表示されなくなった、ってことをたまにやらかす。
- 207 名前:デフォルトの名無しさん mailto:sage [2009/12/03(木) 22:53:41 ]
- 開発中ClassIDはその日の日付を入れてる
- 208 名前:デフォルトの名無しさん mailto:sage [2009/12/03(木) 23:16:44 ]
- 1年後、まだBREWをやっていた罠wwwww泣けるwww
- 209 名前:デフォルトの名無しさん [2009/12/04(金) 16:34:21 ]
- お伺いします。
シミュレータの未使用領域のサイズを取得する方法はありませんか。 シミュレータによって未使用領域が変わるので、描画処理したら 表示が無茶苦茶になってしまいます。。。
- 210 名前:デフォルトの名無しさん mailto:sage [2009/12/04(金) 16:39:55 ]
- 俺の日本語解釈が間違っていないのなら、
画面サイズ取得して、自分の使ってる領域引いたサイズが 未使用領域のサイズ。
- 211 名前:デフォルトの名無しさん [2009/12/04(金) 18:01:18 ]
- >210
画面サイズを取りたいのですが、AEEDeviceInfoで取れてくるサイズは アプリの表示領域の240X296 画面サイズの取得できるメソッドがあるのでしょうか。
- 212 名前:デフォルトの名無しさん mailto:sage [2009/12/04(金) 19:26:47 ]
- >>211
「アプリの表示領域」と「画面サイズ」の違いを具体的に。
- 213 名前:デフォルトの名無しさん mailto:sage [2009/12/04(金) 19:31:42 ]
- あー
もしかしてハズレのデバイス構成ファイル使ってるのかも。 最近試したらW32Hは初期状態から相当弄らないと表示が崩れたままだった。 もしこの辺の事を言ってるのなら、アプリ側の問題じゃないよ。 とりあえずW65Tはそのまま行けたから試してみて。
- 214 名前:デフォルトの名無しさん mailto:sage [2009/12/05(土) 12:03:02 ]
- 最近、スレの流れがやけに新規な人が増えてるように見えるけど
どこかで複数の新規案件でも出てるのかな? それとも、今更BREWを新規で始めるような企業は無いだろうし 次期端末向けプリインストールアプリ開発かな? それか、どこかのCPが案件の丸投げ先を変えたのかな? 万が一、新規で始めるような企業があると恐ろしい。 KDDI検証とかsigとか何も知らないだろうし。
- 215 名前:デフォルトの名無しさん mailto:sage [2009/12/05(土) 16:13:54 ]
- むしろ下請け仕事激減して、
自社コンテンツやってみるしか無くなった可能性も。
- 216 名前:デフォルトの名無しさん mailto:sage [2009/12/05(土) 22:06:08 ]
- そういやBREW短期開発の話を見かけたな。
短期ってあんた無理ですから。
- 217 名前:デフォルトの名無しさん mailto:sage [2009/12/07(月) 02:26:04 ]
- >>173
遅レスだが、elf2modでグローバル変数を使用したmod圧縮は BREW3.1用はOK BREW4.0用はNG の模様。 もしかしたら4.0でグローバル変数を使ったmod圧縮は無理?
- 218 名前:173 mailto:sage [2009/12/07(月) 10:18:23 ]
- >>217
おぉありがとうございます。 GNUARM使うので圧縮は必須だし…Singletonはヘンテコ実装するかぁ。 >>214 ウチは今更新規だよ。 転職先でもBREWだったでござるの巻。
- 219 名前:デフォルトの名無しさん [2009/12/07(月) 10:49:31 ]
- >>212
「アプリの表示領域」は、アプリを起動したときの表示サイズ 「画面サイズ」はケータイのディスプレイのサイズ >>213 「SH001」を使ってます。「W65T」で試してみました。 リソースファイルに登録した画像は綺麗に出ているのですが、 IIMAGE_Draw()関数を使って画像を描画するとずれて ケータイのディスプレイの上の方にでてしまいます。 どうしよう・・・ >>214 同じく新規でございます。 brew テキストエディタがないのにはビビりました。
- 220 名前:デフォルトの名無しさん mailto:sage [2009/12/07(月) 10:52:19 ]
- てきすとえでぃた?
- 221 名前:デフォルトの名無しさん [2009/12/07(月) 11:40:40 ]
- >>220
テキストボックスでした
- 222 名前:デフォルトの名無しさん mailto:sage [2009/12/07(月) 13:45:41 ]
- >>219
アプリから描画できるサイズはどの機種もデフォルトでは240x296固定だよ。 それ以上のサイズを使いたいならアプリ側から指定しなきゃだめ。 KDDIのドキュメントに書いてあるよん。
- 223 名前:デフォルトの名無しさん [2009/12/07(月) 17:46:41 ]
- >>222
はい それはドキュメントをみて確認しています。 240x296の範囲内で画像を表示させたいのですが、 シミュレータで確認をすると240x296以外の場所に 画像が表示されてしまうんです。
- 224 名前:デフォルトの名無しさん mailto:sage [2009/12/07(月) 17:57:41 ]
- 実機を信じろ
- 225 名前:デフォルトの名無しさん mailto:sage [2009/12/07(月) 18:52:24 ]
- >>224
それはひょっとしてギャグで言っ(ry
- 226 名前:デフォルトの名無しさん [2009/12/07(月) 18:53:59 ]
- >>224
実機で崩れないことを祈ってやってみます。
- 227 名前:デフォルトの名無しさん mailto:sage [2009/12/07(月) 19:42:18 ]
- >>226
多分何か間違っているだろう事だけはわかるんだが 情報が曖昧すぎてアドバイスできないというのが多分全員の認識だと思う。 フツーにアプリ作ってりゃ、少なくとも簡単な表示系の部分で エミュと実機に差が出る事なんて少ないんだが、 如何せんレスに一貫性が無くて理解出来ん。 自分で自分の文章読んで、状況把握できるか考えてみろよ。 アドバイス要らないのなら中途半端なレスすんな。
- 228 名前:デフォルトの名無しさん mailto:sage [2009/12/07(月) 22:20:42 ]
- 教えて欲しかったらソースくらい書いてみろ新入生
- 229 名前:デフォルトの名無しさん [2009/12/07(月) 23:45:13 ]
- フル3Dのオフゲー完成。
- 230 名前:デフォルトの名無しさん mailto:sage [2009/12/07(月) 23:51:53 ]
- アッソシネヨ
- 231 名前:デフォルトの名無しさん mailto:sage [2009/12/08(火) 02:12:44 ]
- >>217
3.1も4.0もロード周り(AEEModGen.c / AEEMod_Load)は大差ないはずなんだが、 どこで差が出るんだろうな。 もっともアプリ側が大差ないだけで、OS側はかなり違うって可能性は大いにあるが。
- 232 名前:231 mailto:sage [2009/12/08(火) 09:31:29 ]
- >>217
ふと思ったんだが、ひょっとして>>1のwikiにアップされてるmod圧縮プログラムそのまま使ってる? BREW4.0はIModuleVtbl::CreateInstanceが呼ばれる前だとIFileMgrが作成できないからグローバル 変数どころかmod圧縮自体がそのままじゃ動かないぜ。 4.0でmod圧縮しようとすると展開ルーチン自体がグローバル変数として圧縮されたデータを持たな いといけない(スタック上には置ききれんだろう)。 この処置をいれても駄目だったんなら要らぬお節介だ、すまぬ。 しかし、これ(バイナリ埋め込み)やっちゃうと展開後に圧縮データ格納領域が無駄になるんだよなぁ。 メモリプールの餌にするとか、バッファとして使い回すとかすれば無駄もなくなるか? でも圧縮後のサイズは不定だから、***バイトあると思ってアクセスしたら落ちた、とか起こりそう。 そもそもmod圧縮時にしか使えないバッファとか汎用性が無くて頼りづらいか。
- 233 名前:231 mailto:sage [2009/12/08(火) 09:58:02 ]
- あー、すまん。wikiに4.0対応版がアップされてるのね・・・
しかしソース読んでみたが、IModuleVtbl::CreateInstanceで展開して本体のCreateInstanceに 繋いでるな。これ使っちゃうとグローバル変数駄目かもしれない。 BREWがグローバル変数使えなかったのはmodのローダ(OSの処理)がアドレスのリロケーション を行わないから・・・だったはず。で、elf2modが自前でリロケーション行う処理を追加してmod吐く。 なんだけどこのリロケーション処理、AEEMod_Loadの前に連結されてるはず(その分AEEMod_Load 本体のアドレスがずれる)。modバイナリでいうと0x08〜か? で、直にCreateInstanceへ飛んじゃうとこのリロケーション処理行われないままだから、グローバル変数 へアクセスすると落ちる。リロケーション前だと多分、プログラムコード部分(かもっと前)と被ってる。 3.1版では展開用のAEEMod_Loadが呼び出すのは展開されたmodのオフセット0x08(ModuleProxy.cppsの175行)、 つまりリロケーション処理のコード。だからグローバル変数が使えてる。 ・・・と予想してみた。 4.0でグローバル変数使うためには>>232で書いたように、圧縮バイナリを展開プログラムに持たせるしか。 あるいは自力でリロケーションコード書いて、CreateInstanceで呼び出す・・・これはちょっと無謀かも。
- 234 名前:デフォルトの名無しさん mailto:sage [2009/12/08(火) 10:22:47 ]
- >>223
あ〜、それ俺も知りたい。 アプリからWVGAサイズを指定してもシミュレータじゃ240x296以上の領域には描画できない。 ちゃんとWVGA用のデバイス定義ファイル使ってるのに。 でも実機だとしっかり描画される。 て、いま見てみたらWVGA用のデバイス定義ファイルなくなってるじゃん! 公開取りやめたのか…!
- 235 名前:デフォルトの名無しさん mailto:sage [2009/12/08(火) 11:42:18 ]
- W65T使う場合
初期状態WQVGA > SCREEN 107 243 347 559 AVS_SCREEN_0 241 317 0.000000 0.000000 INCH 16 1 WQVGAフルスクリーン >SCREEN 107 159 347 559 AVS_SCREEN_0 241 401 0.000000 0.000000 INCH 16 1 WVGAフルスクリーン >SCREEN 107 159 347 559 AVS_SCREEN_0 481 801 0.000000 0.000000 INCH 16 1 こういうことでなく?
- 236 名前:234 mailto:sage [2009/12/08(火) 13:31:36 ]
- >>235
おおう、ありがとう! できたよ。 KDDIが公開してた「WVGA用」っていうファイル使ってもできなかったから、 どうしようもないと思いこんでたよ。。。
- 237 名前:デフォルトの名無しさん mailto:sage [2009/12/08(火) 14:15:56 ]
- すいません、GCCでコンパイルをかける際に
EABIのバージョンが違うと怒られてしまうのですが この設定を変更するにはどうすれば良いのでしょうか?
- 238 名前:デフォルトの名無しさん mailto:sage [2009/12/08(火) 15:13:10 ]
- >>237
最近GNUARMで環境作ったけど、そういうエラーはお目にかからなかった。 とりあえず環境晒した方が良いのでは? こちらではGNUARMとwikiのhelloworld.makでBREWElf2mod使う環境はできた。 efl2mod使う場合はソフィアクレイドルの解説と、 脳味噌ぶら〜んってwikiにコンパイラオプション載ってて、 それ参考に弄ったらコンパイルは通った。 ケーブルと相性悪くて実機でテストできてないけど。 あとサンプルのmakefileはgccのincludeにパス通ってるけど stdlib使って良いのか気になってる。
- 239 名前:デフォルトの名無しさん mailto:sage [2009/12/08(火) 15:48:53 ]
- >>238
返信ありがとうございます。 背景をお話しますと、今回はじめてGCCのコンパイルにチャレンジして どうにもできないという事ではなくて、 別の環境下で作られたプロジェクトファイルを自環境で コンパイルしようとしたらこうなったという感じです。 貰った人に一応環境について確認はとっていますが やはり環境を揃えるのが一番の近道ですかね…。
- 240 名前:デフォルトの名無しさん mailto:sage [2009/12/08(火) 23:01:11 ]
- GNUARM と GNUDE とあるから注意だぜ。
それぞれでコンパイルオプションとか違ったはず。
- 241 名前:デフォルトの名無しさん mailto:sage [2009/12/08(火) 23:20:35 ]
- >>233
少なくとも俺の BREW4.0 の環境では Wiki にあるソースでグローバル変数使えてるよ。 どこかの領域が壊れてて偶然動いてる可能性も否定できないけど。 CreateInstance 呼ぶ前にちゃんと AEEMod_Load 実行してるから大丈夫じゃない?とは思う。 ところである程度でかいバイナリの場合、展開して初期化しようとすると 起動が遅いってことで検証で怒られない? 俺それで怒られたから仕方なく UI 表示してから展開するようなの書いたんだけど。
- 242 名前:231 mailto:sage [2009/12/08(火) 23:50:56 ]
- 度々失礼・・・
> ちゃんと AEEMod_Load 実行してる あらやだ、ほんとだわ・・・見落としてた。 てことは、>>217の使い方がおかしいか、特殊なケースでこける可能性があるってことかね。 うーん・・・>>217がどういう環境でテストしたのか分からないと、これ以上の解析はむりぽだな。
- 243 名前:217 mailto:sage [2009/12/09(水) 07:13:39 ]
- >>231、>>241
色々と情報提供ありがとうございます。 今は職場変わって試したときの環境がないのだが、たしか グローバル変数未使用のソースをelf2modで吐いたものでもBREW4.0では動作しなかった。(3.1はOK) ちなみに使用していたツールは、elf2modが1.0.2でGCCが3.3.1。 >>241のようにグローバル変数使えてる実例があるので、>>217の内容が間違ってたらすまんです。 転送時間を短縮できるのも大きなメリットだと思うので、elf2modを使用した BREW4.0のmod圧縮がうまくいく環境を知りたいです。
- 244 名前:デフォルトの名無しさん mailto:sage [2009/12/09(水) 22:50:27 ]
- GCCって仮想関数テーブルをbssセクションだかに配置するんじゃなかったっけ。
>>243 なのでGCCの場合グローバル変数未使用でも仮想関数使ってればリロケーションが必要。 ていうか公式サポート外のGCCで、更にmod圧縮みたいなトリッキーなことをやろうとする のが間違い。本来この程度なら自力でデバッグ出来るレベルの人向けな技術だし。 いやRVCTが高い上に現行の3.0は1年ライセンスだから導入しづらいのは分かるけどね・・・ >>241含め4.0版が動いてる人はADS/RVCT使ってる人?
- 245 名前:241 mailto:sage [2009/12/10(木) 00:24:25 ]
- RVCT 3.0 使ってる。
GCC は使ったことが無いから分からないなぁ。 そういえば mod 圧縮を使うと、最初は 3.1 で動いてたのが 4.0 で動かなかった。 AEEMod_Load がある .cpp ファイルを別のクラスとか関数とか一切書かず、 その関数だけにしてバイナリ作ったら動いた記憶がある。 まあ環境が違うから関係ないとは思うが・・・。
- 246 名前:217 mailto:sage [2009/12/10(木) 12:54:18 ]
- >>244、>>245
なるほど。RVCTとGCCはセクション配置が違うのね。 けど、4.0のみ動かないというのが謎。 GCCでも動いているって情報ないかなぁ・・・。
- 247 名前:デフォルトの名無しさん [2009/12/11(金) 11:22:19 ]
- >>226
報告をさせていただきます。 実機に載せて試してみたところ 問題なく表示されました。 アプリ表示領域に綺麗に納まりました。なぞです。 新たな問題が出てしまいました。 少し力をお貸し頂きたいのですが、WVGAサイズのシミュレータを使うと 画面に小さく表示されてしまうのですが、これを大きくする方法はあるのでしょうか。
- 248 名前:デフォルトの名無しさん mailto:sage [2009/12/11(金) 14:18:10 ]
- >>247
お前そろそろ何したいのか書けよ。
|

|