[過去ログ]
ゲームボーイアドバンス(GBA)非公式開発 Part2 (1002レス)
ゲームボーイアドバンス(GBA)非公式開発 Part2 http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
643: 名前は開発中のものです。 [sage] 2007/02/25(日) 15:53:52 ID:6fWnPDMq 上のツールとログ感謝。 プログラミング初心者だけど少しずつ勉強してます。 http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/643
644: 名前は開発中のものです。 [sage] 2007/03/29(木) 00:37:24 ID:82qQevcM DragonBasicでプログラミングをしたみたいんですが、 どんなサイトや本で勉強するのがいいでしょうか? また、どのBasic言語に近いですか? http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/644
645: 名前は開発中のものです。 [sage] 2007/03/29(木) 21:18:19 ID:YDI3ylWF DragonBasicやるぐらいなら Cの方が良くね? 資料やサンプルも多いし。。。 http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/645
646: 名前は開発中のものです。 [sage] 2007/03/30(金) 22:12:15 ID:YkDKnwst 上に同じく、DragonBasicだけはお勧めできない。 まだVisualHAMの方がましかと思われ。 http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/646
647: 名前は開発中のものです。 [] 2007/04/02(月) 22:07:34 ID:0q+4yudy AGE http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/647
648: 名前は開発中のものです。 [sage] 2007/04/17(火) 16:29:53 ID:P6JhDjR/ 誰かすずめ愛好会のログ保管してる方いません? http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/648
649: 名前は開発中のものです。 [sage] 2007/04/20(金) 17:48:19 ID:i9Q+t8gp >648 http://web.archive.org/web/*/http://vsync.org/ 今年最初も消えた騒ぎあったから、たぶんまた復活するよ ・・と思ってたら今度は「閉鎖します」ってあるね。 どうしたんだろう・・ DSはエミュの準備が遅れたせいか盛り上がりが今ひとつだし。 コンシューマーで趣味で開発するのも下火になってくのかな PS、DC以降になるとパソコン用のゲームを作るのとなんら変わり無いし。 そういや最近はXBOXのゲームを開発できるとか。 http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/649
650: 名前は開発中のものです。 [] 2007/04/20(金) 17:50:22 ID:uuMZCywc http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/650
651: 名前は開発中のものです。 [sage] 2007/04/20(金) 17:53:27 ID:i9Q+t8gp http://www.gbadev.org/ こっちも二ヶ月ほど更新ないし保存したい人は急いで・・・ と見てみたら更新キター(涙) http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/651
652: 名前は開発中のものです。 [sage] 2007/04/27(金) 02:08:37 ID:DA6N3Znq >>649 この前移転したばっかじゃん…と思ったら消えてた。 まぁ研究所と違ってhtml保存しといたからいいけど、 すずめ愛好会はGBAの項書きかけなんだよな。 http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/652
653: 名前は開発中のものです。 [] 2007/05/01(火) 16:14:42 ID:PWiUSG0M 「ゲームボーイのプログラム・改造マニュアル」って本読んだ事ある人居ますか? 買おうかと思ってるんだけど ゲーム制作に生かせそうな内容なのかな? http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/653
654: 名前は開発中のものです。 [sage] 2007/05/01(火) 19:52:28 ID:GE2MjvK1 ゲームボーイの構造を理解するのには使えると思う。 開発環境の導入からわからなかったり、自作のフラッシュカートリッジを作るつもりなら買うといい。 ゲーム製作についてのノウハウに期待するならやめておいた方がいい。 http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/654
655: 名前は開発中のものです。 [sage] 2007/05/03(木) 00:08:58 ID:D5OchpDV >>654 遅れながら参考になりました、ありがとうございます。 http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/655
656: 名前は開発中のものです。 [] 2007/05/07(月) 00:05:29 ID:OG5zBZdn 書籍つながりで、さっきヤフオクでケーブル付きのGBA本が かなり競った結果、定価以上で落札されてた。 書籍は相当薄かったから価値の殆どはケーブルだろうけど。 とりあえず、昨日定価で売ってるところ見つけたんで買いに行ってくるわノシ http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/656
657: 名前は開発中のものです。 [sage] 2007/05/13(日) 11:57:01 ID:wW9pgdXS 押入れから昔買ったパラレル用のブートケーブルが出てきた いつ買ったか記憶にねえけどこれを使って遊んだ記憶はある USB版もあるらしいけどもう売ってないんだね・・・ http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/657
658: 名前は開発中のものです。 [sage] 2007/05/30(水) 00:46:12 ID:FQR+i3Gi これからやろうと思うんだけど、どの環境でやるのがおすすめ? devKitProはインストール簡単って聞いたけど、これでよい? http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/658
659: 名前は開発中のものです。 [sage] 2007/05/30(水) 07:51:59 ID:bMMHSJx3 >>658 devkitProとVC2005EEおすすめ。 http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/659
660: 名前は開発中のものです。 [sage] 2007/06/06(水) 23:28:50 ID:sfjb+KuV ありがとう http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/660
661: 名前は開発中のものです。 [sage] 2007/07/11(水) 15:37:40 ID:yUK6R5E5 lfwgewreheh hjyjrwyjwj ryuklryul ryeyet ylflily sdbhsfhfsd yrlyrli http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/661
662: 名前は開発中のものです。 [sage] 2007/09/15(土) 13:41:17 ID:KXWFvYd6 GBA で弾幕 1024 発 ttp://gba.pqrs.org/~tekezo/gba/doc/sprite1024/index.html 弾幕ゲー ttp://gba.pqrs.org/~tekezo/gba/vulkanon/index.html.ja ttp://gba.pqrs.org/~tekezo/gba/bulletgba/index.html.ja http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/662
663: 名前は開発中のものです。 [sage] 2007/09/15(土) 18:35:07 ID:odGWNMQb >>662 前に見たけど、 今見ると、スプライトダブラーすごいよなあ 他の発売されたソフトでもやってたんかな? http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/663
664: 名前は開発中のものです。 [sage] 2007/09/17(月) 23:06:03 ID:01k7iDJx >>662 何か知らんがやる気が湧いてきた。ありがとー。 http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/664
665: 名前は開発中のものです。 [] 2007/09/18(火) 13:11:31 ID:X/1lrDkx >>663 8bitの時代からある技法だよ。 http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/665
666: 名前は開発中のものです。 [sage] 2007/09/19(水) 03:28:20 ID:/41S7z44 Macで作ってる人居ますか? http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/666
667: 名前は開発中のものです。 [sage] 2007/09/25(火) 03:48:54 ID:Wtxosh+4 ゲームボーイのプログラム・改造マニュアル ゲームボーイプログラミング入門 両方吸出し機とかの方に力入れてて全然役に立たなかった。 特に後者はGBAを表紙に入れておきながら殆ど触れていない。 一緒に買ったC言語超入門―Windowsでゲームボーイのプログラムを作ろう!は使えたなぁ。 http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/667
668: 名前は開発中のものです。 [sage] 2007/09/28(金) 04:26:30 ID:3PURGaCN すいません、質問させて下さい。 typedef unsigned char u8; typedef unsigned short u16; typedef signed char s8; #define USE_SPRITE_NUM 8 typedef struct{ u8 tileno ; // 使用するタイル番号 u8 sizetype ; // スプライトの形状とサイズ。 s8 posx ; // 座標X s8 posy ; // 座標Y u8 mirror ; // 反転フラグ。bit0が左右でbit1が上下 u8 dummy[3] ; } spritedata_t ; typedef struct{ u16 tileno ; // 使用するタイルデータ番号 u8 usespritenum ; // 使用するスプライトの数 spritedata_t sprites[USE_SPRITE_NUM] ; // スプライトの情報 u8 dummy[1] ; } graphicpat_t ; こんな感じで、作ってるのですが、sizeof(graphicpat_t)でサイズを調べると、 VC++で作成したツール上で68、GBA上で72と、違いが出てくるのですが、 何故なのでしょうか? http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/668
669: 名前は開発中のものです。 [sage] 2007/09/28(金) 07:29:04 ID:MwwoigrE 境界揃えようとするから。 &graphicpat_t->sprites[0] でアドレス出力してみりゃいい。 typedef struct{ u16 tileno ; // 使用するタイルデータ番号 u8 usespritenum ; // 使用するスプライトの数 ここにダミーが1バイト spritedata_t sprites[USE_SPRITE_NUM] ; // スプライトの情報 u8 dummy[1] ; ここにダミーが3バイト } graphicpat_t ; 多分こうなってる。 http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/669
670: 名前は開発中のものです。 [sage] 2007/09/28(金) 07:54:45 ID:S2twr9xc 詳しいことはこちら。 ttp://www.jp.arm.com/tec_support/faqdev/ads037.html 対処法はこんな感じで。 #define __PACKED __attribute__ ((__packed__)) typedef struct{ u16 a; u8 b; u16 c; } __PACKED ST_TEST; http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/670
671: 名前は開発中のものです。 [sage] 2007/09/28(金) 10:15:25 ID:MwwoigrE dummy[1] を上に移動するだけでもいいよ。 http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/671
672: 名前は開発中のものです。 [sage] 2007/09/28(金) 17:57:30 ID:3PURGaCN >>669-671 あれから自分でもパディングの事を調べてみたんですが、 パディングって構造体の最後だけじゃなくてメンバの途中にも入るんですね。 メンバがu8一つだけの構造体のサイズを調べると2バイトになっていたり、 u8二つの構造体のサイズは4バイトだったりするのが謎だったりで まだちゃんと理解できてはいないのですがとりあえず graphicpat_tのdummy[1]をusespritenumnumの次にする事でうまくいってます。 レスありがとうございました。 http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/672
673: 名前は開発中のものです。 [sage] 2007/09/29(土) 19:37:52 ID:Yyp6PcC5 .cファイルに書いた場所(順番)によって、ポインタが指す場所が変わるのですが、 原因がわかる方はいらっしゃいますか? 具体的には const u8 hogebindata[HOGE_SIZE] ; // .oファイルから HOGE* pHoge1 = &hogebindata[0] ; // HOGE構造体のポインタ HOGE* pHoge2 = &hogebindata[0] ; これでpHoge1とpHoge2の指す場所が変わったのですが。 http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/673
674: 名前は開発中のものです。 [sage] 2007/09/29(土) 20:45:51 ID:/Cn9Hphu その現象は確認したことがないので お役に立てないかも。 指す場所が変わったというけれど 1,2バイト程度のズレなのか、全然無関係な アドレスを見ているのか気になります。 前者ならコンパイラの最適化の影響? volatile修飾子つけてみてはどうでしょうか。 もしくは HOGE* pHoge1; HOGE* pHoge2; pHoge2 = pHoge1 = &hogebindata[0]; でやってみるとか。 http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/674
675: 名前は開発中のものです。 [sage] 2007/09/29(土) 22:41:19 ID:Yyp6PcC5 >674 レスありがとうございます。ズレも定義する位置毎に変わったり、 さらには他の部分の関数等の量(?)にも変わったりするので良く解りません。 とりあえず、今まではグローバルで定義と初期化をしていたのですが、 初期化をAgbmain()の冒頭にしたら見かけ上はうまく行きました。 原因が解らないのが気持ち悪いところではありますが…。 http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/675
676: 名前は開発中のものです。 [sage] 2007/09/30(日) 13:48:51 ID:2cArtL+Y ・u8型なのに、HOGE*型で参照しようとするので キャストがおかしくなっているのかもしれない。 ・Agbmain関数と聞いて、開発環境が DevkitAdvanceではないかと思いました。 もしそうならばdevkitProに変えてみるといいかも。 ・最終手段で、バグのままの状態でプロジェクト一式 アップしてみるとか(ぉ。 これぐらいしか思いつくことはないので 後は傍観させていただきます。 http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/676
677: 名前は開発中のものです。 [sage] 2007/09/30(日) 14:47:25 ID:3pf8Eidk 全部じゃなくても、そちらの環境で再現する最小限のソースをうpしてみなよ。 http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/677
678: 名前は開発中のものです。 [sage] 2007/10/01(月) 06:09:01 ID:47UHIi+z >676 片方が駄目で、片方は普通に使えるというのが謎なんですよね。 コンパイラの最適化関係で、何かされているのでしょうか。 makefileは他のサンプルをそのまま使っているので、 その辺のオプションは弄くれていないのでそういう事もあるかも知れないです。 それとお察しの通り、DevkitAdvanceを使ってます。 自分もdevkitProに変えたいのですが、いまいちやり方がわからず…。 もうちょい弄ってみます。 ソースは上げられませんが、HOGEの中身はu16 data[8]だけです。 >677 どれくらいの量でズレが起きるのかがイマイチ解りません。 新規に初めてみて試してみます。 http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/678
679: 名前は開発中のものです。 [sage] 2007/10/03(水) 14:03:17 ID:XInTGgcu コンパイラはDEVKITのどのバージョンですか http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/679
680: 名前は開発中のものです。 [age] 2007/11/01(木) 03:19:46 ID:zUdctaSC 2バイトパレットってBIT15は未使用のはずなのに、 ゲームによってはBIT15が1で、+8000hされてる色が 稀に使用されていたりして、用途がさっぱり解らないんだけど 誰かわかります? 色違いキャラなどで、同じ色が使用されている時に片方のみ +8000hされてるなんて事はないから 意図的な設定なんだろうけど http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/680
681: 名前は開発中のものです。 [age] 2007/11/01(木) 03:21:30 ID:zUdctaSC 同じ色が含まれている、の間違いです http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/681
682: 名前は開発中のものです。 [sage] 2007/11/01(木) 03:57:10 ID:bsWY8rCq なんの根拠もないが、なんかのフラグで使ってるんじゃないか? たとえば、パレットアニメの対象外にする時にビットを立てておくとか。 http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/682
683: 名前は開発中のものです。 [sage] 2007/11/01(木) 05:48:27 ID:ep0Z0ILK >662 変なのー。 周りのやる気をなくさせようという気がまんまんだね。 言ってることとやってることが違うと何だか腹立つ。 …やってること自体は簡単だから、「すごい」とか騙されては駄目だよ。 一介のプロのつもりなんだろうけど、むしろ手抜きが目立つね。 サウンドも背景もちゃんと凝った方が全体の評価は高い。 http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/683
684: 名前は開発中のものです。 [sage] 2007/11/01(木) 09:42:31 ID:ihkhmp1x >>680 GBAだと使用しないけど、NDSだとBIT15は透過フラグになってて、モードによってはそのBITを立てて使う。 NDSのプログラムでも使えるようにしてるか、git(データの変換)なんかでフラグ立てる設定で 変換したのを間違ってそのまま使ってるんじゃないかな。 http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/684
685: 名前は開発中のものです。 [sage] 2007/11/02(金) 17:34:57 ID:mn9t6mJD 透過フラグの存在は初耳です。 でもキャラスプライトに二つ以上の透過色が 必要な使われ方はしてなかったようです。 何かのフラグが残ったままって可能性はありそう。 >>682 そういうケースもありそうですが、 パレットアニメが使われてた様子はないっぽいです http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/685
686: 名前は開発中のものです。 [sage] 2007/11/02(金) 22:13:41 ID:IwsTzJ5B 聞いたことないけど もし'何かある'としたらブレンドモードだと思う。 どんな状況で表示されてるスプライトなんだ? http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/686
687: 名前は開発中のものです。 [sage] 2007/11/03(土) 10:22:21 ID:gtw8DYou >>685 NDSはスプライトにはタイルだけじゃなく、ビットマップも使えるようになってる。 ビットマップだと0番パレットみたいな透過色の代わりに、BIT15立てることによって透過を実現してるんじゃない。 http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/687
688: 名前は開発中のものです。 [sage] 2007/11/05(月) 08:24:18 ID:WSMZViqh 俺にもビット15が0で色が表示されないと悩んでた時期があった http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/688
689: 名前は開発中のものです。 [] 2007/11/15(木) 20:19:19 ID:LZz2LXH5 携帯電話の液晶を再利用したボードPC「DVIEW」 ttp://slashdot.jp/hardware/article.pl?sid=07/11/15/0122209 スプライトは使えないけど、オイラ的には実機でも動かしてみたいからこれ買うつもり 性能的にはこんなもん CPU: ARM7TDMI Core (81MHz) メモリ: On-Chip 40Kb SRAM (外部SD, FlashROMが利用可能) ディスプレイ: 320x240、32K(RGB555)色 サウンド: 2ch,16bit audio-DAC for stereo/mono output (MP3, MIDI, ADPCM対応) 周辺機器: CMOS sensor input, VideoOut, SD Host I/F, UART, SPI, JTAG (拡張ボード利用で USB, LAN) 会社のページに繋がらないのは何故だ? http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/689
690: 名前は開発中のものです。 [sage] 2007/11/16(金) 05:22:54 ID:FnKxVSr6 メモリ 40Kbで、一体なにができるんだw http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/690
691: 名前は開発中のものです。 [sage] 2007/11/16(金) 06:49:53 ID:oFaiRmep 40KBの間違いだろ http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/691
692: 名前は開発中のものです。 [sage] 2007/11/16(金) 07:05:03 ID:FnKxVSr6 40KBでも同じこと http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/692
693: 名前は開発中のものです。 [sage] 2007/11/16(金) 12:22:54 ID:oFaiRmep >>692 最初に買ったパソコンはRAM16KBだったがいろいろ出来たぞ http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/693
694: 名前は開発中のものです。 [sage] 2007/12/05(水) 01:08:25 ID:q7aGDUhk 全くの初心者なんですが質問させてください 既存のゲームをベースにポケモンやメダロットやFFなんかを、 テキストやら音楽やら絵やらパーツやらモンスターやらを追加したり差し替えたりして作りたいと思っているのですが おおまかな手順と必要な知識を教えてください http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/694
695: 名前は開発中のものです。 [sage] 2007/12/05(水) 02:10:37 ID:FhM2zJFq 簡単に言うと板違い。 gameurawazaに行って下さい。 難しく言うと 差し替え→コンスタント領域から該当箇所を見つけてリプレース 追加→コード領域からコンスタント領域参照部分を見つけて分岐もしくはテーブル書き換え 必要な知識→各種データフォーマット・LZ77圧縮法・ARM7インストラクション http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/695
696: 名前は開発中のものです。 [sage] 2007/12/05(水) 17:45:25 ID:qkiwd5QC 算数知らないのに数学の教えを乞うようなモン 質問でもなんでもない と書こうとしたら695が親切すぎて泣いた http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/696
697: 名前は開発中のものです。 [sage] 2007/12/06(木) 19:07:23 ID:+3Rk8p3E >>694 GBAは難しいからファミコンで練習するといいんじゃない。 http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/697
698: 名前は開発中のものです。 [sage] 2007/12/07(金) 00:00:25 ID:zCCzBOkw super card上でデータを保存するにはどうすればいいんでしょうか sramに書いたあと、自分でメニュー呼んでSDに保存できればいいのですが、どうパッチをあててもできず。 自作ソフトには付けられないんですかね、パッチ。 また、同じくsuper cardで新しめのファームウェアだと起動すらしないのですが、アプリ側でできる対処法などご存知の方いませんか http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/698
699: 名前は開発中のものです。 [sage] 2008/02/02(土) 06:07:02 ID:9JCHDRiH 誰かwww.agbdev.netで配布してたデモ(Nok_Keysupd.zip、sprite.zipとか) 持ってる人いる?どんな中身か知りたいんだけどサイトが潰れちゃってさ。 http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/699
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
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 279 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.015s