[過去ログ]
ゲームボーイアドバンス(GBA)非公式開発 Part2 (1002レス)
ゲームボーイアドバンス(GBA)非公式開発 Part2 http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
700: 名前は開発中のものです。 [sage] 2008/03/04(火) 04:09:00 ID:ajlkIhCi すいません。この本「Linuxから目覚めるぼくらのゲームボーイ!」 を読みながら、第2章のbox_tile.cまで進んだんですが、 サンプルプログラムをそのまま使用して、 コンパイルまでできたのですが、VBAで実行させると画面が真っ暗なままで 何も起こりません。これは実機でないと動作しないのでしょうか? http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/700
701: 名前は開発中のものです。 [sage] 2008/03/04(火) 12:37:05 ID:23nZbsqP 半分あたり その本はメモリからブートすることを前提にしているので ROMからブートすることを前提にしているエミュだとそのままでは動作しない VBAで動かすにはbox_tile.mb.binに名前を変えてあげな http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/701
702: 名前は開発中のものです。 [sage] 2008/03/04(火) 21:25:47 ID:ajlkIhCi >>701 レスありがとうございます。 ファイル名を変えてやってみましたがうまくいきませんでした。。 代わりにリンカスクリプトでプログラムの開始アドレスを0x08000000に変えたら動きました! おかげで挫折する期間が延びましたwありがとうございました。 しかしbox_tile.cより前に出てくるプログラムは何で内部メモリブートでもうまくいったのかなあ http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/702
703: 名前は開発中のものです。 [sage] 2008/03/08(土) 22:06:12 ID:IYGGmug3 すいません。「Linuxから目覚めるぼくらのゲームボーイ!」 を第3章まで読み進めたのですが、clock.cがうまく動作しません。 割り込みハンドラの中でvolatile修飾したグローバル変数の値を書き換えているのに 全く値が変わりません。なにか考えられる原因はありますか? ちなみに割り込みハンドラ自体が実行されていることは自作のprintf文の実行結果から 画面に文字が出力されるので間違いありません。 http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/703
704: 名前は開発中のものです。 [sage] 2008/03/09(日) 00:32:24 ID:9hgngbOa >ちなみに割り込みハンドラ自体が実行されていることは自作のprintf文の実行結果から >画面に文字が出力されるので間違いありません。 釈然としない どう出力されたからそう思ったの? ちょっと貼ってみてよ http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/704
705: 名前は開発中のものです。 [sage] 2008/03/09(日) 01:09:00 ID:gfwS1uas 該当部分のソースを張ります。 これでタイマー0がオーバーフローしたときに下記関数が実行されて、 VBAver1.7.2だとなぜか0110100100111010が常に表示されます。 volatile int tmr0_cnt = 0x0000; void int_handler(void){ int flag; int i; register(INT_IME) = INT_IME_OFF; flag = register(INT_IF); if(flag & INT_TMR0){ tmr0_cnt++; draw_str("タイマーわりこみ", 0, 13, BG_1); for(i=0; i<16; i++){ if(((tmr0_cnt >> i) & 0x0001) == 1){ draw_str
("1", 16-i, 1, BG_1); } else{ draw_str("0", 16-i, 1, BG_1); } } } register(INT_IF) = flag; register(INT_IME) = INT_IME_ON; } http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/705
706: 名前は開発中のものです。 [sage] 2008/03/09(日) 01:10:28 ID:gfwS1uas ちなみにメイン関数の方では下記処理を行っており、 タイマ0のカウンタは正常にカウントアップしていることが画面表示から確認できました。 何か分かりますでしょうか。よろしくお願い致します。 while(1){ sec = register(TMR_COUNT0); for(i=0; i<16; i++){ if(((sec >> i) & 0x0001) == 1){ draw_str("1", 16-i, 0, BG_1); } else{ draw_str("0", 16-i, 0, BG_1); } } } http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/706
707: 名前は開発中のものです。 [sage] 2008/03/09(日) 01:16:20 ID:gfwS1uas あと、リンカスクリプトを書き換えて、テキストセクションの開始アドレスを 0x80000000にしているのですが、このことが何か関係があるのでしょうか。。 http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/707
708: 名前は開発中のものです。 [sage] 2008/03/09(日) 05:29:51 ID:9hgngbOa ひょっとして全て理解した上でからかってる? >>707はたしかに関係ある テキストセクションを0x08000000に置いたあと以降の 連続した領域にBSSセクションとデータセクションを置いているので グローバル変数に書き込みたくてもROMだから書きこめない 今までよく動いてたな。。。 http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/708
709: 名前は開発中のものです。 [sage] 2008/03/09(日) 09:31:57 ID:gfwS1uas リンカスクリプトについての理解が不十分でした。 下記ホームページを参考にリンカスクリプトを書き換えたら、 見事1秒ごとにtmr0_cntが0からカウントアップされるようになりました。 おかげで挫折する期間が延びました。ありがとうございました。 http://www.nextappli.com/index.php?GBA%2FROM%B2%BD#content_1_0 http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/709
710: 名前は開発中のものです。 [sage] 2008/03/09(日) 19:34:43 ID:I/rPhsey 例えば mov r1, #128 strh r1, [r3, #0] ldrh r3, [r2, #0] を実行するのに、何クロック掛かるか・・という事を説明してくれる 本やサイトご存知内ですか? http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/710
711: 名前は開発中のものです。 [sage] 2008/03/11(火) 00:29:05 ID:IfG+az6x 音の多重再生をするにはどうしたらいいのですか http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/711
712: 名前は開発中のものです。 [sage] 2008/03/11(火) 00:36:17 ID:IfG+az6x 数十曲の音楽データをROMに格納したいのですが容量が足りません。 何か工夫が必要なのでしょうか。 マザー3なんかは100曲ものBGMが入ってましたがあれはどうやって実現しているのでしょうか。 http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/712
713: 名前は開発中のものです。 [sage] 2008/03/11(火) 00:38:46 ID:IfG+az6x すいません。100曲でなく250曲の間違いでした。 http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/713
714: 名前は開発中のものです。 [sage] 2008/03/11(火) 01:46:18 ID:UWuqXy/S 譜面データと、音源データを分けて持っているから、かな? MIDI見たいな感じで。 それに、要所要所でPCMをかぶせれば 大抵の曲は再現できそう。 あとは、圧縮をかけるだね。 (譜面データにたいして、また、ADPCMとは言わないが適当な圧縮形式で。) http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/714
715: 名前は開発中のものです。 [sage] 2008/03/11(火) 09:34:19 ID:IfG+az6x そんなのは俺の手に負えねえ。ここで挫折しまするわ。 http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/715
716: 名前は開発中のものです。 [sage] 2008/03/12(水) 17:36:52 ID:Us8flhJs ここでGBの事聞いても大丈夫かな? バンク切り替えの事について調べてるんですけど MBC2のバンク切り替えについてすずめさんところのウェブアーカイブと お受験に出るゲームボーイのページを調べてみたんですけどMBC2に関する情報が載っていなくて… 恐らく0x2000番地への書き込みだと思うんですけどどこか正確な情報がある場所ってないでしょうか? それと現在自分がどのバンクを操作しているのか判別する方法があるかないかご存知の方いらっしゃいますか? もしかしてバ
ンクの位置情報はどこにも展開されず完全に自分で管理する必要があるんでしょうか? デバッグの際にバンク情報がないと調べるのが大変で… http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/716
717: 名前は開発中のものです。 [sage] 2008/03/12(水) 17:53:19 ID:Jo1vXsg5 スレ違い ttp://www.geocities.co.jp/Playtown/2004/gmbspecj.txt ttp://fms.komkon.org/GameBoy/Tech/Software.html エミュレータのソースも併せて読むといい http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/717
718: 名前は開発中のものです。 [sage] 2008/03/12(水) 18:12:53 ID:Us8flhJs すみません該当するようなスレが無かった物で。 挙げて頂いた上記サイト等も参考にしてみます。 エミュのソースをみれば確かに内部動作はカンペキに把握できますね。 GBのエミュも大分こなれてる様なのでその辺も参考にしてみます。 ご親切にどうもありがとうございました。スレ汚し失礼しました。 http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/718
719: 名前は開発中のものです。 [sage] 2008/03/13(木) 15:11:16 ID:d99ZfhW7 >>712-715 GBA用のFreeのMODライブラリでも使って組み込めばそれで終わり。 問題は、MODを作れるかどうかだがw http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/719
720: 名前は開発中のものです。 [sage] 2008/03/16(日) 06:19:18 ID:RXPkoV7l devkitProを使ってGBAでゲームを作っているのですが、 const int hoge1 = 1 ; const int hoge2 = hoge1 ; のようにすると、「initializer element is not constant」と出てしまいます。 VC++だと普通にコンパイルが成功しました。 Cではこういう事は出来ないのでしょうか? http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/720
721: 名前は開発中のものです。 [sage] 2008/03/16(日) 12:05:58 ID:0SBCpDyI >>720 スレ違いだが回答。 C言語とC++のconst修飾子の動作の違いのために起きる問題。 const int hoge1 = 1 ; がC言語では変数として定義されるのに対し、C++では定数として定義される。 このため、 const int hoge2 = hoge1 ; がエラーとなる(初期値つき変数に定数以外を指定したから)。 結論:C++でなくC言語で書くなら、定数はマクロやenumで定義しましょう。 余談だが、const修飾子には他にも違いがあり、グローバル変数をconst修飾した場合に、 C言語では
デフォルトで外部リンケージ(要するにextern)になるのに対し、 C++では内部リンケージ(要するにstatic)となる。 http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/721
722: 名前は開発中のものです。 [sage] 2008/03/16(日) 12:18:17 ID:0SBCpDyI >>721 スレ違うというか板違いでしたね。 あと、一応補足。 当たり前だけどC++でグローバルな const int hoge0 = 1; static const int hoge1 = 1; extern const int hoge2 = 1; を定義すると、hoge0とhoge1は定数、hoge2は変数となる。 http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/722
723: 名前は開発中のものです。 [sage] 2008/03/16(日) 15:31:08 ID:3fassPpA >>722 変数と定数と、どう言い分けてるの? 挙げられた例だと全部定数式として使えるはずだよ。 http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/723
724: 名前は開発中のものです。 [sage] 2008/03/17(月) 02:10:37 ID:xMktvNUH >>723 スマン。内容に不足があった。 ×hoge2は変数となる ○hoge2は定数であると同時に外部リンケージの変数も定義される http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/724
725: 720 [sage] 2008/03/17(月) 03:34:16 ID:C1jKoyjP なるほど、そもそもCとC++じゃconstの仕様が違うのですね。 良く分かりました。 板違いの質問に答えて頂き、ありがとうございました。 http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/725
726: 名前は開発中のものです。 [sage] 2008/03/17(月) 10:01:08 ID:7F2zgz+N >>724 やっぱり変数と定数の意味に無理があるだろ。どこで そんなネタ仕込まれたんだ? 722 の3つは全部 const int 型変数の定義。 const int 型変数が定数式で初期化されていれば、 それもまた定数式となる。 リンケージはそれぞれ決まっているし、外部リンケージ じゃなければ初期化が必須だったりするけど、それらは 定数式として使えるかどうかとは別の話。 http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/726
727: 名前は開発中のものです。 [sage] 2008/03/24(月) 05:51:58 ID:UCF17QKn GB音源(例えばチャンネル1)でエンベロープをハードウェアでは無く自力でやりたい場合、 SOUND1CNT_Hのbit12-15をいじって、 SOUND1CNT_Xのbit15を立てて初期化するしかないのでしょうか? これだと発音中の波形の状態も最初に戻ってしまうらしく、 音が自然にならないので困っています。 何か良い方法をご存知の方はいらっしゃらないでしょうか? http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/727
728: 名前は開発中のものです。 [sage] 2008/03/24(月) 08:16:50 ID:bI8PsKud その方法しか無いがチャンネル1と2は必ず発音がリセットされるので実質使えない チャンネル3はリセットされないからソフト制御可能 http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/728
729: 名前は開発中のものです。 [sage] 2008/03/24(月) 13:22:21 ID:o6pWhQxB GBAのスペックに サウンド:アナログ(パルス波2ch+波形メモリ1ch+ノイズ1chの音源、従来機と同様)+デジタル(PCM)2ch ってあるけどこれと同時発音数は別の話だよね もっと沢山鳴らしてるようなメガデモはあるし、実際は何音までなんでしょ http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/729
730: 名前は開発中のものです。 [sage] 2008/03/24(月) 16:23:44 ID:bI8PsKud それで全部だけど? http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/730
731: 名前は開発中のものです。 [sage] 2008/03/24(月) 18:13:20 ID:o6pWhQxB では同じトラック三つコピペして全部違うPCMにしても 音切れがないのはどういう仕組み? http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/731
732: 名前は開発中のものです。 [sage] 2008/03/24(月) 18:22:44 ID:+9oLoWUN >>731 複数の音をリアルタイムに合成すればいいんじゃないの? http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/732
733: 名前は開発中のものです。 [sage] 2008/03/24(月) 18:22:59 ID:bI8PsKud 自分でPCMと書いてるじゃん・・・ http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/733
734: 名前は開発中のものです。 [sage] 2008/03/24(月) 18:32:15 ID:o6pWhQxB デジタル(PCM)2chって書いてあるけど 合成すればいいってんなら何音まで? http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/734
735: 名前は開発中のものです。 [sage] 2008/03/24(月) 21:01:23 ID:+9oLoWUN >>734 好きなだけ重ねればいいんじゃないかな。 あとは処理時間を見て4音や8音などに制限していくとか。 「GBA PCM 合成」でググってみるといいかもよ。 http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/735
736: 727 [sage] 2008/03/25(火) 03:27:18 ID:XMS5LhkT >728 うへぇそうなんですかorz レスありがとうございます。 こんなキッツイ制限があるのにGBのゲームには一杯名曲があるというのが信じられません。 というかFCよりもキツイですねこれは。 FCミニとか、エミュレーターとかも結構苦労して再現してそうですね。 http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/736
737: 名前は開発中のものです。 [] 2008/03/25(火) 21:01:25 ID:cUljzw0d Raylight Studios - Resident Evil GBA + Bonus http://jp.youtube.com/watch?v=DBHNtTNPzV0 やっぱ出なかったのは容量の問題かな http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/737
738: 名前は開発中のものです。 [sage] 2008/03/25(火) 22:32:13 ID:DSvlIXZK すげえな http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/738
739: 名前は開発中のものです。 [] 2008/04/04(金) 05:56:12 ID:hXz7vhFd GBAよりスーファミの方が開発意欲がそそられる http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/739
740: 名前は開発中のものです。 [sage] 2008/04/27(日) 02:28:18 ID:BegmYBqI devkitProを使ってみようかと思ってるのですが、 コレを使ってGBAソフトを作ってネットで配布する場合、 ソースも配布可能にしなきゃいけないのでしょうか? http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/740
741: 名前は開発中のものです。 [sage] 2008/04/27(日) 09:09:17 ID:gOa+IOAb ライブラリを改変しなければ配布しなくてもよかったと思います。 http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/741
742: 名前は開発中のものです。 [sage] 2008/04/27(日) 14:36:38 ID:gA0/oGVB >>740 ソースクレクレ厨が出てきたら、改変して売りつける悪質な業者だと思ったほうがいいよ 配布には十分注意しる まぁ、GBAだからもう居ないと思うけどね・・・ http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/742
743: 740 [sage] 2008/04/28(月) 03:52:19 ID:fpXnuQEH >>741 そのまま組み込めば、配布しなくてもOKって事ですか、分かりました。 教えていただきありがとうございます。 >>742 配布しなくちゃいけなくなった場合に、そういう輩も出てくるんじゃないかと 懸念していたのですが、どうやら大丈夫みたいですね。 http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/743
744: 名前は開発中のものです。 [sage] 2008/06/22(日) 12:06:27 ID:/JClv6am >>50 サイト消えてる・・・ http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/744
745: 名前は開発中のものです。 [sage] 2008/07/22(火) 08:08:44 ID:UkA+4UPJ 海外ソフトの和訳ハックとか作れますか? もし可能性が少しでもあるなら頑張ってみようかなと・・・ 予備知識ゼロだけど・・・orz http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/745
746: 名前は開発中のものです。 [sage] 2008/10/15(水) 19:46:04 ID:BTWkaFv3 GB伊次郎ってどっかで手に入らないものだろうか… http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/746
747: 名前は開発中のものです。 [sage] 2008/10/20(月) 09:28:59 ID:udn3EoyF >>746 GBXchangerと任天堂パワーのGB用カートリッジがあれば、似たようなことができると思う http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/747
748: 名前は開発中のものです。 [sage] 2008/10/21(火) 00:04:47 ID:Izk3rpBS それが手に入れば苦労はしないっての… http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/748
749: 名前は開発中のものです。 [sage] 2008/10/21(火) 09:46:42 ID:weSdSC9r この手のものは時期逃すと手に入りにくいからなあ・・・ 数年前なら、数少ないが売っている店はあった あとは今あるとしたらオークション http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/749
750: 名前は開発中のものです。 [sage] 2008/10/22(水) 12:38:33 ID:nJuXMnla ヤフオクで1点だけ見かけた http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/750
751: 名前は開発中のものです。 [sage] 2008/11/01(土) 00:24:39 ID:Tvk5Kt8k GBのマジコンって今でも需要あるんだね KOMAKUYAはもうスターターキット出さないのかな http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/751
752: 名前は開発中のものです。 [sage] 2008/11/16(日) 05:12:20 ID:yRHdgsS9 void line(hword Xa, hword Ya, hword Xb, hword Yb, hword color) { hword x, y; int j = Ya; int e = 0; for(x = Xa; x < Xb; x++) { draw_point(x, j, color); e = e + (Yb-Ya); if((Xb-Xa)< e) { e = e - (Xb - Xa); j = j + 1; } } } このメソッドがどのように動いて斜線を引いているか分かり易く教えていただけないでしょうか? draw_pointメソッドは指定された(x,j)座標にcolorで指定した
色のドットを表示するメソッドです。 斜線の範囲は(Xa, Ya)から(Xb, Yb)です。 http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/752
753: 名前は開発中のものです。 [sage] 2008/11/16(日) 12:27:42 ID:yRHdgsS9 void line(hword Xa, hword Ya, hword Xb, hword Yb, hword color) { hword x, y; int j = Ya; int e = 0; for(x = Xa; x < Xb; x++) { draw_point(x, j, color); e = e + (Yb-Ya); if((Xb-Xa)< e) { e = e - (Xb - Xa); j = j + 1; } } } このメソッドがどのように動いて斜線を引いているか分かり易く教えていただけないでしょうか? draw_pointメソッドは指定された(x,j)座標にcolorで指定した色の
ドットを表示するメソッドです。 斜線の範囲は(Xa, Ya)から(Xb, Yb)です。 http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/753
754: 名前は開発中のものです。 [sage] 2008/11/16(日) 18:17:08 ID:9y44eiNe ブレゼンハムでググれ こんなところで聞くよりいい解説がどこかにある http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/754
755: 名前は開発中のものです。 [sage] 2008/11/17(月) 12:01:38 ID:M2eDLwwk デジタル微分解析(DDA)でググ・・・ったら余計わからんくて俺が吹いた http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/755
756: 名前は開発中のものです。 [sage] 2008/11/17(月) 22:21:48 ID:0FeRBUS+ 厳密に考えるとやっかいなところは多々あるが 2Dで直線や多角形描くぐらいならただの差分方程式だろ http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/756
757: 名前は開発中のものです。 [sage] 2008/11/18(火) 22:54:21 ID:35X+8Y/i GBAで1〜10までのランダム値を取ろうと思ったらどうすればよいのでしょうか? rand()は使えませんよね http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/757
758: 名前は開発中のものです。 [sage] 2008/11/19(水) 03:13:42 ID:iECaJTAb >>757 rand() % 10 + 1 …ってスレ違いだね。 プログラミング初心者向けのスレに行くといいよ。 http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/758
759: 名前は開発中のものです。 [sage] 2008/12/03(水) 21:17:08 ID:ZUsaZJd3 Homebrew BOF ゲーム機など開発環境が公開されていないハード、及びマイナーハード開発者の集いを企画しています。 日時:コミケ(12/28-30)前後 当日なら17-19時くらい + 宴会 場所:東京都区内 費用:会場実費(0-数百円?) たぶん日本全体で100人もいないんじゃないかと思いますが、 コミケで上京する人もいるでしょうからその時期を予定しています。 http://www27.atwiki.jp/homebrew/ マルチすまん http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/759
760: 名前は開発中のものです。 [] 2009/01/09(金) 21:44:01 ID:JmGx4bkn age http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/760
761: 名前は開発中のものです。 [] 2009/01/09(金) 21:54:46 ID:JmGx4bkn おtingting http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/761
762: 名前は開発中のものです。 [] 2009/01/09(金) 22:02:00 ID:JmGx4bkn マジキチ動画(ββ) http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/762
763: 名前は開発中のものです。 [sage] 2009/01/17(土) 21:22:00 ID:/uotE80P GBAでMP3を再生する方法を教えてください http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/763
764: 名前は開発中のものです。 [sage] 2009/01/18(日) 02:54:34 ID:eSDINTKa 市販プレーヤー買った方が手間取らない http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/764
765: 名前は開発中のものです。 [sage] 2009/01/18(日) 05:28:35 ID:vCC7QsmR プレイやん http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/765
766: 名前は開発中のものです。 [sage] 2009/01/18(日) 13:23:24 ID:F84aYW6Z サウンドプレイヤーを自作したいと思っています。20曲程入れたいんですが何らかの形で圧縮して組み込みことが必要だと思うのですがどうしたらいいですか。 http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/766
767: 名前は開発中のものです。 [sage] 2009/01/18(日) 14:23:20 ID:+OkZIPbY PCでそのプログラムは作ってみた? http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/767
768: 名前は開発中のものです。 [sage] 2009/01/18(日) 14:26:28 ID:F84aYW6Z PCではDXライブラリを使えばMP3の再生ができるので作れることが分かっています。 http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/768
769: 名前は開発中のものです。 [sage] 2009/01/19(月) 01:08:21 ID:4HQkQlpM じゃ、DXライブラリ使わずにmp3再生できるように頑張れ http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/769
770: 名前は開発中のものです。 [] 2009/02/06(金) 17:43:16 ID:6cgXmSA9 じゃあ脳内再生しかないな http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/770
771: 名前は開発中のものです。 [sage] 2009/02/06(金) 19:56:14 ID:BaBBx5bc GBAの性能じゃmp3プレイヤーは厳しくないか? http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/771
772: 名前は開発中のものです。 [sage] 2009/02/15(日) 02:31:54 ID:boVc3Mdt DMA1&2とTIMER0&1を使って、ダイレクトサウンドA&Bで同時に音を鳴らしたいのですが 片方しか音が鳴りません。 VBAのIOViewerでFIFOが変化しているのは確認したのですが 何も音がしない理由としては、どんな事が考えられますか? SGCNT0_H(0x4000082) SGCNT1(0x4000084) の音量他もちゃんと値が入ってます。 http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/772
773: 名前は開発中のものです。 [sage] 2009/02/15(日) 05:26:13 ID:PZvLdBG/ 本当に値が正しいなら あとはVBA側でDirect Sound A,Bのどちらかがオフになってる位しか無いな http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/773
774: 772 [sage] 2009/02/15(日) 06:41:13 ID:boVc3Mdt レスありがとうございます。 VBAの設定も間違いなかったみたいです。 あれから色々試してました。 実は多重再生の為に、FIFOにコピーするバッファはサウンドデータと別にしていて、 TIMERのハンドラ内で手動でDMAを使ってFIFOにコピーをしてました。 鳴らないのはダイレクトサウンドAの方(BGM用)で、 ダイレクトサウンドB(効果音用)が鳴った時に何故かAも鳴ったので 調べてみると、効果音用のTIMER1が動くと鳴ると解りました。 とりあえず、AとBのFIFOコピーにどちらもTIMER1を使用すること
で一応解決しました。 タイマーを分けると鳴らなくなる理由がわからないままですが。 もしやDSOUNDCTRL(0x4000082)以外にも、 TIMERとダイレクトサウンドを関連付けるレジスタがあるのでしょうか? http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/774
775: 772 [sage] 2009/02/15(日) 08:59:40 ID:boVc3Mdt 原因が解りました…。 DSOUNDCTRLの初期化にor演算子しか使っていなかったこと (タイマーを指定するのに、DSOUNDCTRL |= DSOUNDCTRL_ATIMER(0)としかやってませんでした) 自分の使っているgba_sound.hのDSOUNDCTRL_ARESETが 0x0400と定義されていた事(実際は0x0800。0x0400はタイマーの指定に使用) が原因でした…。 お騒がせしてしまってすみませんでした。 http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/775
776: 名前は開発中のものです。 [sage] 2009/02/20(金) 20:47:15 ID:Oxql6lkt GBAとかファミコンは開発環境が強力じゃないから そういう所でハマっちゃうと、抜けるの大変だよね http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/776
777: 名前は開発中のものです。 [sage] 2009/03/10(火) 20:46:38 ID:yBs8MUSr GBAではないですが、GBCの板が見当たらなかったので試しに書いてみます。 ttp://nagasaki.cool.ne.jp/xor-a/ ユーザーアプリがロッピーとかで配信出来たらなぁと思うのは愚痴ですが。 http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/777
778: 名前は開発中のものです。 [sage] 2009/03/20(金) 18:11:44 ID:RqzCAhzX GBCの板は昔あったんだが、過疎すぎて落ちちゃった VCとかに配信できたら面白そうだけどね>自作ゲーム http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/778
779: 名前は開発中のものです。 [sage] 2009/03/31(火) 03:30:28 ID:LhzYAQbh 今まではメインループの始めにV-Blankを待って、それから各処理を行っていたのですが、 開発が進むにつれてV-Blank中だけじゃ処理が間に合わなくなってしまいました。 そこでゲーム処理と描画関係の処理にわけて while( V_COUNT != 0 ){} GameProc() ; // ゲーム処理 while( V_COUNT < 160) {} GraphicProc() ; // 描画関係の処理 と、二つに分けてやる事にしました。 表面上はうまく動いているように見えるのですが、 こういう事をやってしまっても大丈夫なのでしょ
うか? http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/779
780: 名前は開発中のものです。 [sage] 2009/03/31(火) 12:58:22 ID:WlDU8zsj 分けること自体は問題ないけど ゲーム処理でV_COUNT != 0を待つ意味は無いよ 描画が終わったらすぐに処理を始めていい while( V_COUNT < 160) ; GraphicProc(); GameProc(); http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/780
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 222 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.015s