[過去ログ]
ゲームボーイアドバンス(GBA)非公式開発 Part2 (1002レス)
ゲームボーイアドバンス(GBA)非公式開発 Part2 http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
162: 名前は開発中のものです。 [sage] 2005/05/31(火) 16:11:29 ID:llLI5kWl memsetは使えてるっぽいけどsprintfは使えないのかな?DevkitAdvance -nostdlib ってどういう意味だろ? 最適化は面倒だからパスしようかな、とりあえずの目標はクリアしたり・・・ http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/162
170: 162 [sage] 2005/06/02(木) 15:39:03 ID:F8Q5wqFY やっぱり最適化してます プログラムをIRAMに置かない場合、thumb用でコンパイルしないといけないんだよな? objdumpで逆アセンブルしてみたら4Byte間隔で0x0800****番地に配置されて いるのはARM用にコンパイルされてるから? #リンク時に -Ttext 0x08000000 としてます コンパイル時の指定はどうすればthumbでコンパイルできるの? -bかな?machineの指定はどうすればいいんだろう・・・ http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/170
172: 162 [sage] 2005/06/02(木) 17:41:22 ID:F8Q5wqFY ありがと>>171 いろいろ調べてみたけど、みんな気にしてないのかな? たいてい指定無しでmakefileつくってる。-mthumb-interworkだけで > ちなみにARMだろうかTHUMBだろうが動くんじゃないかな。 うん、いまのとこ何も指定しなくても(ってことはARMか)でも動いてる いままではCのプログラムとしては最適化してきたけど GBA用としてはまったく最適化してないの つーか、GBAの機能はビデオバッファとその指定(MODE3,BG2限定)、キー入力の #define KEYS *(volatile u32*)0x04000130 しかつかってないや・・・ みんなすごいね、割り込みとか、タイマーとか、スプライトとか、音とか・・・ http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/172
179: 162 [sage] 2005/06/06(月) 21:58:46 ID:PaMPnmfV 質問です memcpyでローカル変数の配列データをVRAMへデータをセットしようとすると 上手くいく時となんか行かない時が規則的に現れるんですが 原因はなんだと思いますか? 現状は: 配列データは多分予想どおりのデータが入ってる。 #memcpyを使わないでforループで書き込むと上手くいってる objdumpでみると多分/arm-agb-elf/lib/thumb/interwork/libc.aの中のmemcpyをリンクしている ヒントでもいいからプリーズ http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/179
180: 162 [sage] 2005/06/06(月) 22:32:35 ID:PaMPnmfV 追加: memcpyの座標が1dot x方向に増えた座標へcopyすると上手くいく #逆に上手くいってたものが上手く色を塗らなくなった どう変かといえば、白が薄ピンク色になる #オセロ盤で本来なら全部白いマスのはずが白いマスとピンクのマスが交互に並んでしまう http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/180
182: 162 [sage] 2005/06/06(月) 22:51:05 ID:PaMPnmfV あ、もしかして書込み先が4Byte境界じゃないと上手く動かないのかな? http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/182
184: 162 [sage] 2005/06/06(月) 23:46:08 ID:PaMPnmfV >>182 サンクス ここのページの ttp://home.att.ne.jp/blue/moonlight/uraha/gbadevmemo.html 真ん中少し上の「メモリアクセス速度について」の VRAMのwriteの書き込み制限(8bitでは×)のことかな? こんな制限あったんだ、なるほど wmemcpyを使えばいいんだろうか? http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/184
188: 162 [sage] 2005/06/07(火) 18:32:29 ID:ZI5uYn33 mallocを使うのってsbrkを移植するの? newlibを移植すればいいのかな?このあたりのことはよくわからん この辺に書いてあるかな? C/C++による組み込みシステムプログラミング ttp://www.amazon.co.jp/exec/obidos/ASIN/4873110130/ http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/188
190: 162 [sage] 2005/06/07(火) 23:38:21 ID:ZI5uYn33 mallocって前もって準備しなくても使えるの?devkitadvance使ってます PCでmallocの使い方はわかるけど、GBAの開発でそのまま使えるとは思わなかった manでみるとsbrkのサポートが必要みたいだけどこれはどうなってるの? 使えるなら質問 mallocで確保されるメモリはIWRAM領域から確保されるの? EWRAM領域?bssで指定された領域?グローバル変数との使い分けは大丈夫なの? http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/190
196: 162 [sage] 2005/06/08(水) 23:15:03 ID:aq/RdM9p ヒントがあるかと思ってnewlibのコンパイルに挑戦 makeは出来たっぽいけどmake installが上手くいかん でもlibc.aは出来たし(同じとは限らんが)、malloc等標準ライブラリのソースも 付いてたのはうれしい発見だな #おかげでmemcpyが8bit毎にコピーしてるのが確かめられた ふーん、libc.aって***.oをarで固めたものなんだ。 やっぱり組み込み側の知識が足りんなぁ 参考資料: Interface2005年1月号フリーソフトウエア活用組み込みプログラミング 第4章 C標準ライブラリ(newlib)を使ってみよう http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/196
206: 162 [sage] 2005/06/13(月) 00:15:38 ID:WeLHi+pU チラシの裏: newlibのmake,make install成功。 上手くいかなかった原因はdevkitadb/binがPATHの検索順で自分でコンパイルしたarm-elf-**より先にあったためと思われる 対処方法としてdevkitadb/binをPATHからはずしてbinutils,gcc,newlibを作成 ありがとう、みんな http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/206
207: 162 [sage] 2005/06/20(月) 10:45:55 ID:nuWkCFET #mallocから逃げてるオイラ memcpyの代わりにDMAを使ってローカル変数配列をVRAMに描くことで最適化できないかと思い for(行数分){ // memcpy(); DMAmemcpy(); //中でDMAをつかってる } こんな感じでDMAをつかってmemcpyしたら速くなるかな?とおもって作ってみました。 でも動かないT_T こんな感じでDMAを使うのはまちがってるんでしょうか? #間違ってるんだろうなぁ・・・ #小さい画像データならスプライト使うほうが正しいんだろうなぁ・・・ http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/207
209: 162 [sage] 2005/06/20(月) 12:03:40 ID:nuWkCFET >>208 さんくす たぶん、「 表示期間中はDMAでVRAMへの転送は出来ない」これだろうなぁ 1番はエラーチェック入れてるし、3番は多分間違ってない、と思うし 描画タイミングなんて考えたこと無かった う〜ん、イベントループで描画用イベントをつくり、描画はそちらにまとめないと駄目だなぁ・・・ http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/209
211: 162 [sage] 2005/06/20(月) 13:29:38 ID:nuWkCFET 動かない、ってのは誤解させたか 正確に言えば、その部分の描画処理をしてくれない、かな 四角く塗りつぶす関数 for(y行分){ for(x幅){ VRAMへ書き込む } } を for(x幅){ローカル配列に書き込み} for(y行分){ローカル配列をDMAmemcpyでVRAMへ} って処理にしたら塗ってくれなくなったのよ 調べてたらDMAチャンネルうんぬんってのがあるみたいだし、 CPUが空いててもDMAコントローラ(?)は空いてないだろうし・・・ http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/211
213: 162 [sage] 2005/06/20(月) 14:12:35 ID:nuWkCFET >>212 それだ、やっと頭の中でつながった!サンクス http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/213
215: 162 [sage] 2005/06/21(火) 17:36:36 ID:2bu24OLk 一番の目標は、組み込み向け開発ノウハウの勉強 それも、単純なLEDだけの世界じゃなくて、ある程度GUIがある組み込み。 でもそれだけじゃ漠然としすぎてどこから手をつけたらいいか迷うので 今作ってるのはパズル。「数独」ってしってる? これならグラフィックやシナリオで迷わなくていい。 次はマインスイーパかソリティアでもつくろうかなって思ってるところ http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/215
225: 162 [age] 2005/07/07(木) 22:26:25 ID:IdWw8xni 一応動くようになりました。 ちゃんと動くかな? 質問に答えてもらったお礼です。 http://up.isp.2ch.net/up/4b16ea0ad8c0.lzh http://up.isp.2ch.net/upload/c=03okari/index.cgi http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/225
226: 162 [age] 2005/07/07(木) 22:28:21 ID:IdWw8xni 操作方法は ・selectでメニュー ・Aでセルの数字が増える ・Bでセルクリア ・十字キーで移動 です http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/226
230: 162 [age] 2005/07/13(水) 14:04:49 ID:QdmkZAfq printfくらいは自作してもいいけど入力どうしようかな? ケータイみたいな仮想キーを作ってそれで入力する、かなぁ これなら12この仮想キー(ボタン?)で済む 「ホームランド」みたいな入力システム作れればいいんだろうけど、ムズカシイ・・・ http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/230
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.030s