[過去ログ] ゲームボーイアドバンス(GBA)非公式開発 Part2 (1002レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
765: 2009/01/18(日)05:28 ID:vCC7QsmR(1) AAS
プレイやん
766: 2009/01/18(日)13:23 ID:F84aYW6Z(1/2) AAS
サウンドプレイヤーを自作したいと思っています。20曲程入れたいんですが何らかの形で圧縮して組み込みことが必要だと思うのですがどうしたらいいですか。
767: 2009/01/18(日)14:23 ID:+OkZIPbY(1) AAS
PCでそのプログラムは作ってみた?
768: 2009/01/18(日)14:26 ID:F84aYW6Z(2/2) AAS
PCではDXライブラリを使えばMP3の再生ができるので作れることが分かっています。
769: 2009/01/19(月)01:08 ID:4HQkQlpM(1) AAS
じゃ、DXライブラリ使わずにmp3再生できるように頑張れ
770: 2009/02/06(金)17:43 ID:6cgXmSA9(1) AAS
じゃあ脳内再生しかないな
771: 2009/02/06(金)19:56 ID:BaBBx5bc(1) AAS
GBAの性能じゃmp3プレイヤーは厳しくないか?
772
(2): 2009/02/15(日)02:31 ID:boVc3Mdt(1/3) AAS
DMA1&2とTIMER0&1を使って、ダイレクトサウンドA&Bで同時に音を鳴らしたいのですが
片方しか音が鳴りません。
VBAのIOViewerでFIFOが変化しているのは確認したのですが
何も音がしない理由としては、どんな事が考えられますか?
SGCNT0_H(0x4000082)
SGCNT1(0x4000084)
の音量他もちゃんと値が入ってます。
773: 2009/02/15(日)05:26 ID:PZvLdBG/(1) AAS
本当に値が正しいなら
あとはVBA側でDirect Sound A,Bのどちらかがオフになってる位しか無いな
774: 772 2009/02/15(日)06:41 ID:boVc3Mdt(2/3) AAS
レスありがとうございます。
VBAの設定も間違いなかったみたいです。

あれから色々試してました。
実は多重再生の為に、FIFOにコピーするバッファはサウンドデータと別にしていて、
TIMERのハンドラ内で手動でDMAを使ってFIFOにコピーをしてました。
鳴らないのはダイレクトサウンドAの方(BGM用)で、
ダイレクトサウンドB(効果音用)が鳴った時に何故かAも鳴ったので
調べてみると、効果音用のTIMER1が動くと鳴ると解りました。
とりあえず、AとBのFIFOコピーにどちらもTIMER1を使用することで一応解決しました。
タイマーを分けると鳴らなくなる理由がわからないままですが。
省2
775: 772 2009/02/15(日)08:59 ID:boVc3Mdt(3/3) AAS
原因が解りました…。
DSOUNDCTRLの初期化にor演算子しか使っていなかったこと
(タイマーを指定するのに、DSOUNDCTRL |= DSOUNDCTRL_ATIMER(0)としかやってませんでした)
自分の使っているgba_sound.hのDSOUNDCTRL_ARESETが
0x0400と定義されていた事(実際は0x0800。0x0400はタイマーの指定に使用)
が原因でした…。
お騒がせしてしまってすみませんでした。
776: 2009/02/20(金)20:47 ID:Oxql6lkt(1) AAS
GBAとかファミコンは開発環境が強力じゃないから
そういう所でハマっちゃうと、抜けるの大変だよね
777: 2009/03/10(火)20:46 ID:yBs8MUSr(1) AAS
GBAではないですが、GBCの板が見当たらなかったので試しに書いてみます。

外部リンク:nagasaki.cool.ne.jp

ユーザーアプリがロッピーとかで配信出来たらなぁと思うのは愚痴ですが。
778: 2009/03/20(金)18:11 ID:RqzCAhzX(1) AAS
GBCの板は昔あったんだが、過疎すぎて落ちちゃった

VCとかに配信できたら面白そうだけどね>自作ゲーム
779
(1): 2009/03/31(火)03:30 ID:LhzYAQbh(1) AAS
今まではメインループの始めにV-Blankを待って、それから各処理を行っていたのですが、
開発が進むにつれてV-Blank中だけじゃ処理が間に合わなくなってしまいました。
そこでゲーム処理と描画関係の処理にわけて

while( V_COUNT != 0 ){}
GameProc() ; // ゲーム処理
while( V_COUNT < 160) {}
GraphicProc() ; // 描画関係の処理

と、二つに分けてやる事にしました。
表面上はうまく動いているように見えるのですが、
こういう事をやってしまっても大丈夫なのでしょうか?
780
(1): 2009/03/31(火)12:58 ID:WlDU8zsj(1) AAS
分けること自体は問題ないけど
ゲーム処理でV_COUNT != 0を待つ意味は無いよ
描画が終わったらすぐに処理を始めていい

while( V_COUNT < 160) ;
GraphicProc();
GameProc();
781: 779 2009/04/01(水)03:36 ID:2baejuDU(1) AAS
>780
おおなるほど。
確かにそうした方が処理時間をより多くさけますね。
レスありがとうございます。
782: 2009/04/23(木)20:20 ID:jG2DENZH(1) AAS
ここってまだ人いますかね……

自分で作ったプログラムをPogoShellから起動する場合,「終了してPogoShellに戻る」
という機能をつけると便利だと思うんですが,やりかたがさっぱりわかりません.
どこで調べればいいのかご存知のかた,教えてくださいませ.
783: 2009/04/23(木)23:16 ID:GrL4nFHE(1) AAS
Pogoshell resetでググってみた。

外部リンク[php]:boards.pocketheaven.com
になんか書いてあるような気がする。

あとは自分でガンバレ
784: 2009/04/24(金)08:02 ID:7kCUCgG4(1) AAS
カートリッジのバンクセレクタを元に戻してswi 1, swi 0の順でリセットかければおk
Visoly系(F2A)とEZ/XG-Flashはlibpogoのrestart.Sを使えばいいよ
1-
あと 218 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.018s