[過去ログ] ゲームボーイアドバンス(GBA)非公式開発 Part2 (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
115: 05/02/24 16:32 ID:3vx/UQTw(1/4) AAS
BG2_ENABLE?
116: 114 05/02/24 16:40 ID:kxDRQPBZ(2/4) AAS
YES
117: 114 05/02/24 17:52 ID:kxDRQPBZ(3/4) AAS
配列全体に単色で塗りつぶしてもダメ...。
他の色も混じってて(横線)バグってる。
その配列にconst修飾で、画像データ入れたら綺麗に表示された。
そもそもバックバッファ作ろうとすること自体不可能なのか。。。
118: 05/02/24 18:14 ID:3vx/UQTw(2/4) AAS
症状出ているサンプル上げてもらえますか?
それとも適当なサンプルアップしますか?
119: 05/02/24 18:19 ID:3vx/UQTw(3/4) AAS
IWRAM 32kb
Mode3VRAM 240x160x16bit 76800byte
グローバル変数はIWRAMに確保される。EWRAMはmallocなり自流ポインタアクセスなり。
120: 05/02/24 18:27 ID:3vx/UQTw(4/4) AAS
連続書き込み失礼。
const修飾するとROM領域にマッピングされる。
広大でリニアなメモリ空間のあるWindows環境と比べて、メモリが不足してないか、分断してないか、どの領域を使い分けるか、領域外アクセスしていないか、を常に頭に入れておく必要がある。
個人的には面倒くさいのでEWRAMにmallocで終わり。ちなみにEWRAMは256kb。
121: 114 05/02/24 18:53 ID:kxDRQPBZ(4/4) AAS
おぉ、ありがとうございます。
GBA初心者なものでメモリ配置とか無視してました。
というより、知らなかっただけなんですが。
256kb以内なら良いと思ってたんですが、とんでもない間違いだったと。
122(1): 05/02/28 23:41 ID:k73Ny1KH(1) AAS
でかいマップを扱うときに
うまく切り替えて相対表示させるいい方法ありませんか
123: 05/03/01 08:43 ID:/qSC9hpB(1) AAS
32x22(240x160+上下左右隠蔽8x8分)のマップを表示して見えない部分を書き換える。
8x8以下の微動分はオフセットでコントロールする。
具体的に右に動く(左にスクロールする)時は、全体を1map(8x8)分をDMAなりCPUSetなりで左にコピーして右端一列を書き換える。
上下左右一端は見えない領域だから無限マップのように見える古典的手法。
GBAはファミコン、PCEクラスの使い古されたテクニックが使えるので古い文献を当たってみるのもいいかもしれない。
124: 05/03/01 14:55 ID:4qmU95zQ(1/2) AAS
画面一杯でない、CPUが有り余っている、同時に使うキャラクタパターンが異常に多い、不定形or生成キャラクタを使う、前後関係が複雑(3面以上?)、8x8の倍数以外…
めんどいからMODE4でもいいんじゃね?
125: 05/03/01 19:56 ID:4qmU95zQ(2/2) AAS
>>122
外部リンク[cgi]:j-gbadev.hp.infoseek.co.jp
外部リンク[cgi]:j-gbadev.hp.infoseek.co.jp
外部リンク[cgi]:j-gbadev.hp.infoseek.co.jp
126: 05/03/16 04:12 ID:RhUd5twa(1) AAS
WINDOWSの富豪的プログラムに慣れ親しんでしまってて、
高速化に鈍感だったのを思い知らされる...。GBAに。
というかPCじゃ速すぎてそうならざる得ない所が痛い。
127: 05/03/16 09:36 ID:6URp9XZB(1) AAS
GBAプログラム研究所にDSデモのスクショがある
128: 名無し 05/03/16 10:21 ID:KTADbIgb(1) AAS
ほんとだ。
つーか、エミュもうあったのか
129: 05/03/18 08:57 ID:xdEzd/mQ(1) AAS
GBAプログラム研究所にDS開発環境の詳細がある
130: 05/03/18 11:30 ID:UpZJvGe+(1/6) AAS
どうする?もうDSに移行したい?
131: 05/03/18 11:49 ID:hgCKeqrG(1) AAS
98SEなんでインスコ出来ないんです><
132: 05/03/18 12:00 ID:UpZJvGe+(2/6) AAS
ちょっとまて。
2000とxpの方法が書いてあるだけでそんなことは・・・。
ためしてみるから早まるな。
133: 05/03/18 12:11 ID:+JmJ5BHL(1) AAS
外部リンク[zip]:www.drunkencoders.com
のリンクが切れてるけど
外部リンク[zip]:www.aaronrogers.com
でいいの?
134(1): 05/03/18 12:48 ID:UpZJvGe+(3/6) AAS
中間報告だが、
CMD.EXEが98SEになさそうだな?
おそらく別の方法を探すしかない。
135: 05/03/18 14:02 ID:UpZJvGe+(4/6) AAS
8メガのほうは展開されないので諦める。
rar形式のほうはOKだったが、
まだできないんだが。
ndslibのinstallで詰まる。
神が降臨するのを待つしかないか?
136: NAGA [5ch掲示板が出来たね。] 05/03/18 14:24 ID:GusXn0Ti(1) AAS
DSがPCで?
137: 名無し 05/03/18 20:44 ID:MWRJcpGT(1) AAS
>>134
MS-DOSプロンプトでいいんでない?
98SEならcommand.exeだったと思うけど
138: 05/03/18 21:00 ID:UpZJvGe+(5/6) AAS
make書き換えでなんとかなりそうですか?
ちょっとやってみます。
139: sage 05/03/18 21:15 ID:c4Wp8MOS(1) AAS
command.comです。
140: 05/03/18 22:17 ID:UpZJvGe+(6/6) AAS
俺の気のせいだったのかも。
template.nds.binが生成されたということは成功なのかもしれん。(←かなり疑問が残る。)
Win98SE
疑問とは
install.bat実行中に
YESかNOと聞いてくるはずのところで
ディレクトリの指定が違います。が6行でて終了。
141: 名無し 05/03/19 02:01 ID:rTN9pn5h(1) AAS
はやく実機で動してー
142: 05/03/19 11:06 ID:vDcym4qc(1) AAS
というかすでにエミュレータの動作環境が満たされてないっぽい。
143: 05/03/19 11:29 ID:34NDR8Jw(1) AAS
エミュレータが関連付けに対応してない(´・ω・`)ショボーン
スプライトサンプルはなんとなくわかるけどbmp表示どうやってるんだろ
bmpから変換したっぽい.cソースが見当たらん
144: 2005/03/23(水)10:44 ID:KnbzUNwA(1) AAS
研究所のページによると
画像のフォーマットはGBAと同じらしい。
145: 名無し 2005/04/04(月)20:48 ID:E7ZB2tjS(1) AAS
DSのAction Replay、セーブデータは読み書きできるみたいだけど
ROMのほうは読めないのかな?
146: 2005/04/12(火)20:42 ID:sfo0NTM8(1/2) AAS
ndsdev2.2.6
サンプルをmakeしたものを実行しようとするとエミュレータが落ちるよ(´Д⊂グスン
漏れの環境に何か問題があるんかな・・・
147: 2005/04/12(火)20:58 ID:sfo0NTM8(2/2) AAS
…即解決。
2D_Example_davrなんだけど、
StartUp Guideを読んだら、arm9.bin(エミュ用の?)が実行ファイルだったよ。
カレントに出力されたtemplate.ds.gbaを実行しようとしてたよ…
arm7とかbootとか絡めてる辺り、カレントに出力されたものは実機用なのかな。
148: 名無し 2005/04/12(火)21:34 ID:Wxb/7tj8(1) AAS
外部リンク[wmv]:users.belgacom.net
外部リンク[php]:forum.gbadev.org
Wireless マルチブートきたー?
149: 2005/04/12(火)23:11 ID:6ge74tOk(1) AAS
はあっ!!スレがまだ生きている!!
というかarm9が実行ファイルだったのかぁっ!!
150(1): 名無し 2005/04/28(木)22:21 ID:jhMyagtx(1) AAS
外部リンク[html]:www.nintendo.co.jp
DSのソフトが作れる・・・都合が合えば行ったのに
151: 2005/04/29(金)21:14 ID:M5yck9uH(1) AAS
>>150
任天堂ゲームセミナーは相当狭い門ですぜ?
152: 2005/05/05(木)11:01 ID:vy4ixo8o(1) AAS
>>83
コンパイルが出来ん・・・
% ./configure -C arm7tmdi -S evaluator_7t
だけじゃいけないんだよな・・・
-Pも設定しないといけないしコンパイラ設定も変更しないといけないんだよな・・・
わからん・・・
153: 2005/05/17(火)20:36 ID:X16jtpzA(1) AAS
初心者過ぎて申し訳ないけど、
VisualHAMは支援ツール?これのみでコンパイルは出来ないの?
DevkitAdvanceは入れないとダメ?
154(1): 2005/05/18(水)05:41 ID:06W9q8Ma(1) AAS
コンパイル出来るぞ。
プロ研でDevkitAdvanceの導入を説明してるのは、IDEだけ使いたかったからじゃねーの。
HAM使うと最初にロゴ入っちゃうし。
155: 2005/05/18(水)14:47 ID:L9iNmBkK(1) AAS
>>154
回答、情報ありがとう。
とりあえず環境の構築がんばってみます。
機会があればまた宜しくお願いします。
156(1): age [age] 2005/05/19(木)20:57 ID:lftmMhtg(1) AAS
なんで動かんの?と悩んでたんだが、リンク時のbssアドレス指定ミスか・・・
IWRAM領域を指定してたら足りなくなるよなぁ
質問なんだけど、スタック領域はどこに割り当てられるの?
このあたりの指定はどうやってするの?
♯私はIDE、ソースデバッガとしてVisualStudioを使ってます
♯VisualBoyAdvanceとは交信できないけどね。
♯Insightデバッガは使い方がわからん
157: 2005/05/20(金)00:38 ID:On9mnSyy(1) AAS
>>156
外部リンク[html]:www.geocities.co.jp
まず2.2.2を読んでね
DevkitAdvanceの場合はインストールしたフォルダのctrls/lnkscriptsに
指定が書いてあるよ。
158(1): 2005/05/28(土)21:55 ID:Y2DuO2Y0(1) AAS
今日から1ヶ月以内にGBAでインターネットができるようなソフトを作ろうと思うのですが、
遠隔操作ソフトを使ってパソコンから画像を発信してGBAではマウスの操作と画像を読み込むシステムにしようと思っているのですが、
なかなかよいソフトが見つかりません。もし何かよいソフトを持っている方がいたら教えて下さいお願いします。
159: 2005/05/28(土)23:46 ID:w56wSIin(1) AAS
まずは>>158を日本語に訳してくれる有志を募ろうか
160: 2005/05/29(日)00:44 ID:tpMSB+bX(1) AAS
まあ、そこまで言わなくても一行の文章を短く終わらせて書けば。
161: 2005/05/29(日)02:55 ID:UFZ9c0zv(1) AAS
SaTaって人が全く同じことやってるよ
162(18): 2005/05/31(火)16:11 ID:llLI5kWl(1) AAS
memsetは使えてるっぽいけどsprintfは使えないのかな?DevkitAdvance
-nostdlib ってどういう意味だろ?
最適化は面倒だからパスしようかな、とりあえずの目標はクリアしたり・・・
163(1): 2005/06/01(水)01:30 ID:61IqLEFZ(1/4) AAS
このまったりとした流れなら言えそうなので質問、音楽鳴らそうと思ってダイレクトサウンドについて調べた
C言語ファイルでデータを記述するものとオブジェクトデータでデータを記述するものがあるらしい
容量的にはオブジェクトデータの方が軽くなるらしいので使おうと思ったがC言語ファイルのデータを読むサンプルしか見つからない
pcmconvでコンバートしその後オブジェクトデータを出力するらしいbin2oを実行しても元ファイルに非常に似たファイルが出てくるだけです
その後調べてみたところリンカーの辺りで結合するらしいのですが、分からない事がいくつか出てきました
どのようにして結合すれば良いのでしょうか?
またデータがどこにおいてあるのかどうやって調べれば良いのでしょうか?
省2
164(1): 2005/06/01(水)06:10 ID:by7iY2yF(1) AAS
>>163
ヒント:__iwram_overlay_lma
165: 2005/06/01(水)07:29 ID:61IqLEFZ(2/4) AAS
(u8 *)(&__iwram_overlay_lma)
これですか?
宣言の後にこれで読めると言うのは分かりました。
同じ所でファイルそのものをバイナリで結合していたのですが
こんな事をやっても大丈夫?と言うかこれが普通なのでしょうか?
(とりあえず確めてみてだめだったらもう一度ヒントもらいに来ます
>>164 有難うございました
166: 2005/06/01(水)10:00 ID:OOZ2G8Rs(1/2) AAS
__iwram_overlay_lmaは生のデータを後から追加で結合したいときだけに使え。
.oを作れるならリンクしたほうが確実だぞ。リンクの仕方は分かってるのか?
bin2o hoge.bin hoge.o !hogeでhoge.oを作ったとして
Cから使うにはextern const unsigned char hoge[];と宣言するだけだ。
167: 2005/06/01(水)11:02 ID:61IqLEFZ(3/4) AAS
リンクの仕方もわかってません
makefile.txtに色々書きこんでバッチ処理の時に一緒に読み込ませてるのはわかるので
とりあえずググッていくつかの.o読み込んでるサンプル眺めて来ます
ついでにC言語ファイルでは音が出せました
けど割り込みで失敗します
研究所の割り込みのソースのブランクをTIMER0に変えるだけでは駄目なのでしょうか?
168: 2005/06/01(水)12:22 ID:OOZ2G8Rs(2/2) AAS
リンクの仕方が分からないようなら書こうと思ったけど、調べるんならいいや。
>研究所の割り込みのソースのブランクをTIMER0に変えるだけでは駄目なのでしょうか?
TM0CNTの割り込みフラグは立ててるか?
169: 2005/06/01(水)19:16 ID:61IqLEFZ(4/4) AAS
>TM0CNTの割り込みフラグ
それだ!
タイマー開始のところの数字弄ったら解決できました。有難うございます。
170(1): 162 2005/06/02(木)15:39 ID:F8Q5wqFY(1/2) AAS
やっぱり最適化してます
プログラムをIRAMに置かない場合、thumb用でコンパイルしないといけないんだよな?
objdumpで逆アセンブルしてみたら4Byte間隔で0x0800****番地に配置されて
いるのはARM用にコンパイルされてるから?
#リンク時に -Ttext 0x08000000 としてます
コンパイル時の指定はどうすればthumbでコンパイルできるの?
-bかな?machineの指定はどうすればいいんだろう・・・
171(1): 2005/06/02(木)16:32 ID:mT3sDBIJ(1) AAS
>>170
つ -mthumb-interwork -mthumb
指定しない場合はARM
ちなみにARMだろうかTHUMBだろうが動くんじゃないかな。
172: 162 2005/06/02(木)17:41 ID:F8Q5wqFY(2/2) AAS
ありがと>>171
いろいろ調べてみたけど、みんな気にしてないのかな?
たいてい指定無しでmakefileつくってる。-mthumb-interworkだけで
> ちなみにARMだろうかTHUMBだろうが動くんじゃないかな。
うん、いまのとこ何も指定しなくても(ってことはARMか)でも動いてる
いままではCのプログラムとしては最適化してきたけど
GBA用としてはまったく最適化してないの
省4
173(1): 2005/06/03(金)22:30 ID:aUPd22sd(1) AAS
typedef const unsigned char u8;
u8 foo[] = { }
っていうデータの音楽のファイルを馬鹿でかく(1.4MB)してコンパイルしよう
としたら
Virtual memory exhausted: Permission denied
って出るんだが…これってメモリに入りきらないって事?
普段はROMに置きっぱなしで必要な時だけ読み出すとかで解決出来るのであればその解決方を誰か教えて頂けないでしょうか?
174: 2005/06/04(土)00:22 ID:VXQa3VA9(1) AAS
>>173
Cのソースがでかすぎてコンパイル出来ねえよってこと。
コンパイルオプションに-O0(マイナスオーゼロ)をつけるか
bin2oで出来たオブジェクトファイルを直接リンクするか
ソースをasm(.s)で書け。
175(3): 2005/06/04(土)08:49 ID:Ri0Izx+x(1/4) AAS
オブジェクトファイルのリンクが出来ない…orz
研究所のWav2gba_guiで.oファイルを作り
makefileの
OFILES += main.o \
bgm01.o
ってやってるんだが何度やっても変数がないって罵られる
makefileが悪いのかそれとも他に原因があるのか…
省1
176: 175 2005/06/04(土)10:32 ID:Ri0Izx+x(2/4) AAS
自己レス
とりあえず原点回帰ということで
Dark Fader's site
のwav2gba bin2oで.oファイル作ったらコンパイルできた
今度は音がならない…
177: 175 2005/06/04(土)16:55 ID:Ri0Izx+x(3/4) AAS
またも自己レス
宣言をu16にしたら音は出たんだがCソースのデータでやってた時と比べて激しくノイジー
次から次に問題が出てくるんだが自分なんか間違ったやり方でやってるんだろうか?
178: 175 2005/06/04(土)17:23 ID:Ri0Izx+x(4/4) AAS
もう何が原因だったのかわからない。
もう一度u8に戻しても音再生できたしorz
ついでにノイジーになったのはシンクロナイズ外してたからでコンパイル時のミスではありませんでした
まる一日掛けて駄レスしまくってスマソ
179: 162 2005/06/06(月)21:58 ID:PaMPnmfV(1/4) AAS
質問です
memcpyでローカル変数の配列データをVRAMへデータをセットしようとすると
上手くいく時となんか行かない時が規則的に現れるんですが
原因はなんだと思いますか?
現状は:
配列データは多分予想どおりのデータが入ってる。
#memcpyを使わないでforループで書き込むと上手くいってる
省2
180: 162 2005/06/06(月)22:32 ID:PaMPnmfV(2/4) AAS
追加:
memcpyの座標が1dot x方向に増えた座標へcopyすると上手くいく
#逆に上手くいってたものが上手く色を塗らなくなった
どう変かといえば、白が薄ピンク色になる
#オセロ盤で本来なら全部白いマスのはずが白いマスとピンクのマスが交互に並んでしまう
181: 2005/06/06(月)22:41 ID:TKmnaeHh(1/2) AAS
ヒント: バス幅
182(1): 162 2005/06/06(月)22:51 ID:PaMPnmfV(3/4) AAS
あ、もしかして書込み先が4Byte境界じゃないと上手く動かないのかな?
183: 2005/06/06(月)23:34 ID:TKmnaeHh(2/2) AAS
ヒント: 8× 16○ 32○
184: 162 2005/06/06(月)23:46 ID:PaMPnmfV(4/4) AAS
>>182 サンクス
ここのページの
外部リンク[html]:home.att.ne.jp
真ん中少し上の「メモリアクセス速度について」の
VRAMのwriteの書き込み制限(8bitでは×)のことかな?
こんな制限あったんだ、なるほど
wmemcpyを使えばいいんだろうか?
185: 2005/06/06(月)23:47 ID:s0kMJQK9(1) AAS
外部リンク[htm]:www.work.de
Address Bus Width and CPU Read/Write Access Widths
VRAMって使いづらいよね。
186: 2005/06/07(火)01:57 ID:hxwVLTzF(1) AAS
ドット単位でなにかしたいのなら
仮想VRAMに書いてドカッとコピーするか、
奇数偶数で演算を変えればいいだけだが?
もっともGBAはそういうアーキじゃないけどな
187: 2005/06/07(火)09:09 ID:x9MyQnam(1) AAS
VRAMは書き込みが遅いので、
mallocでとっておいて、
そこに書いた後DMA転送するのがいいです。
バイト単位で書き込みできるしね。
外部ファイルから取り込んだビットマップデータとかならDMA一発だしな。
188(1): 162 2005/06/07(火)18:32 ID:ZI5uYn33(1/2) AAS
mallocを使うのってsbrkを移植するの?
newlibを移植すればいいのかな?このあたりのことはよくわからん
この辺に書いてあるかな?
C/C++による組み込みシステムプログラミング
外部リンク:www.amazon.co.jp
189: 2005/06/07(火)21:20 ID:3YUGrd7x(1) AAS
>>188
#include <malloc.h>
u16* pseudoscreen;
if ((pseudoscreen = malloc(sizeof(u16) * ScreenWidth * ScreenHeight)) == NULL) while (1) {};
とか。
190(2): 162 2005/06/07(火)23:38 ID:ZI5uYn33(2/2) AAS
mallocって前もって準備しなくても使えるの?devkitadvance使ってます
PCでmallocの使い方はわかるけど、GBAの開発でそのまま使えるとは思わなかった
manでみるとsbrkのサポートが必要みたいだけどこれはどうなってるの?
使えるなら質問
mallocで確保されるメモリはIWRAM領域から確保されるの?
EWRAM領域?bssで指定された領域?グローバル変数との使い分けは大丈夫なの?
191: 2005/06/07(火)23:51 ID:f73nwpU2(1) AAS
実際にmallocしてアドレス確認すりゃいいと思うんだが
192: 2005/06/08(水)00:20 ID:mCV1pDkj(1) AAS
>>190
つ[crt0.s]
193: 2005/06/08(水)02:08 ID:Rbo74Gtn(1) AAS
それよりはlnkscriptとgccの吐くmapファイルを見比べるべきだと思うが。
crt0.Sなんか見ても役に立たんぞ。
194: 2005/06/08(水)10:20 ID:q69/QVDR(1) AAS
>>190
つ「論よりRUN」
195: 2005/06/08(水)11:15 ID:VgzV7AVL(1) AAS
悩むな
u16 buff[ScreenWidth * ScreenHeight];
これでおっけー
上下前次1-新書関写板覧索設栞歴
あと 807 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.028s