ゲームボーイアドバンス(GBA)非公式開発 Part2at GAMEDEV
ゲームボーイアドバンス(GBA)非公式開発 Part2 - 暇つぶし2ch150:名無し
05/04/28 22:21:18 jhMyagtx
URLリンク(www.nintendo.co.jp)
DSのソフトが作れる・・・都合が合えば行ったのに

151:名前は開発中のものです。
05/04/29 21:14:42 M5yck9uH
>>150
任天堂ゲームセミナーは相当狭い門ですぜ?

152:名前は開発中のものです。
05/05/05 11:01:50 vy4ixo8o
>>83
コンパイルが出来ん・・・
% ./configure -C arm7tmdi -S evaluator_7t
だけじゃいけないんだよな・・・

-Pも設定しないといけないしコンパイラ設定も変更しないといけないんだよな・・・
わからん・・・

153:名前は開発中のものです。
05/05/17 20:36:28 X16jtpzA
初心者過ぎて申し訳ないけど、
VisualHAMは支援ツール?これのみでコンパイルは出来ないの?
DevkitAdvanceは入れないとダメ?


154:名前は開発中のものです。
05/05/18 05:41:26 06W9q8Ma
コンパイル出来るぞ。
プロ研でDevkitAdvanceの導入を説明してるのは、IDEだけ使いたかったからじゃねーの。
HAM使うと最初にロゴ入っちゃうし。

155:名前は開発中のものです。
05/05/18 14:47:12 L9iNmBkK
>>154
回答、情報ありがとう。
とりあえず環境の構築がんばってみます。
機会があればまた宜しくお願いします。

156:age
05/05/19 20:57:05 lftmMhtg
なんで動かんの?と悩んでたんだが、リンク時のbssアドレス指定ミスか・・・
IWRAM領域を指定してたら足りなくなるよなぁ

質問なんだけど、スタック領域はどこに割り当てられるの?
このあたりの指定はどうやってするの?

♯私はIDE、ソースデバッガとしてVisualStudioを使ってます
♯VisualBoyAdvanceとは交信できないけどね。
♯Insightデバッガは使い方がわからん

157:名前は開発中のものです。
05/05/20 00:38:41 On9mnSyy
>>156
URLリンク(www.geocities.co.jp)
まず2.2.2を読んでね

DevkitAdvanceの場合はインストールしたフォルダのctrls/lnkscriptsに
指定が書いてあるよ。

158:名前は開発中のものです。
05/05/28 21:55:39 Y2DuO2Y0
今日から1ヶ月以内にGBAでインターネットができるようなソフトを作ろうと思うのですが、
遠隔操作ソフトを使ってパソコンから画像を発信してGBAではマウスの操作と画像を読み込むシステムにしようと思っているのですが、
なかなかよいソフトが見つかりません。もし何かよいソフトを持っている方がいたら教えて下さいお願いします。



159:名前は開発中のものです。
05/05/28 23:46:29 w56wSIin
まずは>>158を日本語に訳してくれる有志を募ろうか

160:名前は開発中のものです。
05/05/29 00:44:05 tpMSB+bX
まあ、そこまで言わなくても一行の文章を短く終わらせて書けば。

161:名前は開発中のものです。
05/05/29 02:55:21 UFZ9c0zv
SaTaって人が全く同じことやってるよ

162:名前は開発中のものです。
05/05/31 16:11:29 llLI5kWl
memsetは使えてるっぽいけどsprintfは使えないのかな?DevkitAdvance
-nostdlib ってどういう意味だろ?

最適化は面倒だからパスしようかな、とりあえずの目標はクリアしたり・・・

163:名前は開発中のものです。
05/06/01 01:30:53 61IqLEFZ
このまったりとした流れなら言えそうなので質問、音楽鳴らそうと思ってダイレクトサウンドについて調べた
C言語ファイルでデータを記述するものとオブジェクトデータでデータを記述するものがあるらしい
容量的にはオブジェクトデータの方が軽くなるらしいので使おうと思ったがC言語ファイルのデータを読むサンプルしか見つからない
pcmconvでコンバートしその後オブジェクトデータを出力するらしいbin2oを実行しても元ファイルに非常に似たファイルが出てくるだけです
その後調べてみたところリンカーの辺りで結合するらしいのですが、分からない事がいくつか出てきました
どのようにして結合すれば良いのでしょうか?
またデータがどこにおいてあるのかどうやって調べれば良いのでしょうか?
一番の問題としてポインタすら完全には理解できていない人の手に負えるものでしょうか?

開発環境はDevkitAdvanceのバージョン4です

164:名前は開発中のものです。
05/06/01 06:10:01 by7iY2yF
>>163
ヒント:__iwram_overlay_lma

165:名前は開発中のものです。
05/06/01 07:29:52 61IqLEFZ
(u8 *)(&__iwram_overlay_lma)
これですか?
宣言の後にこれで読めると言うのは分かりました。
同じ所でファイルそのものをバイナリで結合していたのですが
こんな事をやっても大丈夫?と言うかこれが普通なのでしょうか?
(とりあえず確めてみてだめだったらもう一度ヒントもらいに来ます
>>164 有難うございました

166:名前は開発中のものです。
05/06/01 10:00:55 OOZ2G8Rs
__iwram_overlay_lmaは生のデータを後から追加で結合したいときだけに使え。
.oを作れるならリンクしたほうが確実だぞ。リンクの仕方は分かってるのか?

bin2o hoge.bin hoge.o !hogeでhoge.oを作ったとして
Cから使うにはextern const unsigned char hoge[];と宣言するだけだ。

167:名前は開発中のものです。
05/06/01 11:02:19 61IqLEFZ
リンクの仕方もわかってません
makefile.txtに色々書きこんでバッチ処理の時に一緒に読み込ませてるのはわかるので
とりあえずググッていくつかの.o読み込んでるサンプル眺めて来ます

ついでにC言語ファイルでは音が出せました
けど割り込みで失敗します
研究所の割り込みのソースのブランクをTIMER0に変えるだけでは駄目なのでしょうか?

168:名前は開発中のものです。
05/06/01 12:22:10 OOZ2G8Rs
リンクの仕方が分からないようなら書こうと思ったけど、調べるんならいいや。

>研究所の割り込みのソースのブランクをTIMER0に変えるだけでは駄目なのでしょうか?
TM0CNTの割り込みフラグは立ててるか?

169:名前は開発中のものです。
05/06/01 19:16:47 61IqLEFZ
>TM0CNTの割り込みフラグ
それだ!
タイマー開始のところの数字弄ったら解決できました。有難うございます。

170:162
05/06/02 15:39:03 F8Q5wqFY
やっぱり最適化してます

プログラムをIRAMに置かない場合、thumb用でコンパイルしないといけないんだよな?
objdumpで逆アセンブルしてみたら4Byte間隔で0x0800****番地に配置されて
いるのはARM用にコンパイルされてるから?
#リンク時に -Ttext 0x08000000 としてます

コンパイル時の指定はどうすればthumbでコンパイルできるの?
-bかな?machineの指定はどうすればいいんだろう・・・

171:名前は開発中のものです。
05/06/02 16:32:58 mT3sDBIJ
>>170
つ -mthumb-interwork -mthumb
指定しない場合はARM
ちなみにARMだろうかTHUMBだろうが動くんじゃないかな。

172:162
05/06/02 17:41:22 F8Q5wqFY
ありがと>>171
いろいろ調べてみたけど、みんな気にしてないのかな?
たいてい指定無しでmakefileつくってる。-mthumb-interworkだけで

> ちなみにARMだろうかTHUMBだろうが動くんじゃないかな。
うん、いまのとこ何も指定しなくても(ってことはARMか)でも動いてる
いままではCのプログラムとしては最適化してきたけど
GBA用としてはまったく最適化してないの

つーか、GBAの機能はビデオバッファとその指定(MODE3,BG2限定)、キー入力の
#define KEYS *(volatile u32*)0x04000130
しかつかってないや・・・

みんなすごいね、割り込みとか、タイマーとか、スプライトとか、音とか・・・

173:名前は開発中のものです。
05/06/03 22:30:00 aUPd22sd
typedef const unsigned char u8;
u8 foo[] = { }
っていうデータの音楽のファイルを馬鹿でかく(1.4MB)してコンパイルしよう
としたら
Virtual memory exhausted: Permission denied
って出るんだが…これってメモリに入りきらないって事?
普段はROMに置きっぱなしで必要な時だけ読み出すとかで解決出来るのであればその解決方を誰か教えて頂けないでしょうか?

174:名前は開発中のものです。
05/06/04 00:22:05 VXQa3VA9
>>173
Cのソースがでかすぎてコンパイル出来ねえよってこと。

コンパイルオプションに-O0(マイナスオーゼロ)をつけるか
bin2oで出来たオブジェクトファイルを直接リンクするか
ソースをasm(.s)で書け。

175:名前は開発中のものです。
05/06/04 08:49:38 Ri0Izx+x
オブジェクトファイルのリンクが出来ない…orz
研究所のWav2gba_guiで.oファイルを作り
makefileの
OFILES += main.o \
bgm01.o
ってやってるんだが何度やっても変数がないって罵られる
makefileが悪いのかそれとも他に原因があるのか…
誰か初心者が陥っているであろうミスを教えてくれ

176:175
05/06/04 10:32:44 Ri0Izx+x
自己レス
とりあえず原点回帰ということで
Dark Fader's site
のwav2gba bin2oで.oファイル作ったらコンパイルできた
今度は音がならない…

177:175
05/06/04 16:55:43 Ri0Izx+x
またも自己レス
宣言をu16にしたら音は出たんだがCソースのデータでやってた時と比べて激しくノイジー
次から次に問題が出てくるんだが自分なんか間違ったやり方でやってるんだろうか?

178:175
05/06/04 17:23:30 Ri0Izx+x
もう何が原因だったのかわからない。
もう一度u8に戻しても音再生できたしorz

ついでにノイジーになったのはシンクロナイズ外してたからでコンパイル時のミスではありませんでした

まる一日掛けて駄レスしまくってスマソ

179:162
05/06/06 21:58:46 PaMPnmfV
質問です
memcpyでローカル変数の配列データをVRAMへデータをセットしようとすると
上手くいく時となんか行かない時が規則的に現れるんですが
原因はなんだと思いますか?

現状は:
配列データは多分予想どおりのデータが入ってる。
#memcpyを使わないでforループで書き込むと上手くいってる
objdumpでみると多分/arm-agb-elf/lib/thumb/interwork/libc.aの中のmemcpyをリンクしている

ヒントでもいいからプリーズ

180:162
05/06/06 22:32:35 PaMPnmfV
追加:
memcpyの座標が1dot x方向に増えた座標へcopyすると上手くいく
#逆に上手くいってたものが上手く色を塗らなくなった
どう変かといえば、白が薄ピンク色になる
#オセロ盤で本来なら全部白いマスのはずが白いマスとピンクのマスが交互に並んでしまう

181:名前は開発中のものです。
05/06/06 22:41:15 TKmnaeHh
ヒント: バス幅

182:162
05/06/06 22:51:05 PaMPnmfV
あ、もしかして書込み先が4Byte境界じゃないと上手く動かないのかな?

183:名前は開発中のものです。
05/06/06 23:34:11 TKmnaeHh
ヒント: 8× 16○ 32○

184:162
05/06/06 23:46:08 PaMPnmfV
>>182 サンクス
ここのページの
URLリンク(home.att.ne.jp)
真ん中少し上の「メモリアクセス速度について」の
VRAMのwriteの書き込み制限(8bitでは×)のことかな?
こんな制限あったんだ、なるほど
wmemcpyを使えばいいんだろうか?

185:名前は開発中のものです。
05/06/06 23:47:19 s0kMJQK9
URLリンク(www.work.de)
Address Bus Width and CPU Read/Write Access Widths

VRAMって使いづらいよね。

186:名前は開発中のものです。
05/06/07 01:57:10 hxwVLTzF
ドット単位でなにかしたいのなら
仮想VRAMに書いてドカッとコピーするか、
奇数偶数で演算を変えればいいだけだが?

もっともGBAはそういうアーキじゃないけどな

187:名前は開発中のものです。
05/06/07 09:09:18 x9MyQnam
VRAMは書き込みが遅いので、
mallocでとっておいて、
そこに書いた後DMA転送するのがいいです。
バイト単位で書き込みできるしね。
外部ファイルから取り込んだビットマップデータとかならDMA一発だしな。

188:162
05/06/07 18:32:29 ZI5uYn33
mallocを使うのってsbrkを移植するの?
newlibを移植すればいいのかな?このあたりのことはよくわからん

この辺に書いてあるかな?
C/C++による組み込みシステムプログラミング
URLリンク(www.amazon.co.jp)


189:名前は開発中のものです。
05/06/07 21:20:15 3YUGrd7x
>>188
#include <malloc.h>

u16* pseudoscreen;
if ((pseudoscreen = malloc(sizeof(u16) * ScreenWidth * ScreenHeight)) == NULL) while (1) {};

とか。

190:162
05/06/07 23:38:21 ZI5uYn33
mallocって前もって準備しなくても使えるの?devkitadvance使ってます
PCでmallocの使い方はわかるけど、GBAの開発でそのまま使えるとは思わなかった

manでみるとsbrkのサポートが必要みたいだけどこれはどうなってるの?

使えるなら質問
mallocで確保されるメモリはIWRAM領域から確保されるの?
EWRAM領域?bssで指定された領域?グローバル変数との使い分けは大丈夫なの?

191:名前は開発中のものです。
05/06/07 23:51:14 f73nwpU2
実際にmallocしてアドレス確認すりゃいいと思うんだが

192:名前は開発中のものです。
05/06/08 00:20:06 mCV1pDkj
>>190
つ[crt0.s]

193:名前は開発中のものです。
05/06/08 02:08:57 Rbo74Gtn
それよりはlnkscriptとgccの吐くmapファイルを見比べるべきだと思うが。
crt0.Sなんか見ても役に立たんぞ。

194:名前は開発中のものです。
05/06/08 10:20:33 q69/QVDR
>>190
つ「論よりRUN」

195:名前は開発中のものです。
05/06/08 11:15:54 VgzV7AVL
悩むな
u16 buff[ScreenWidth * ScreenHeight];
これでおっけー

196:162
05/06/08 23:15:03 aq/RdM9p
ヒントがあるかと思ってnewlibのコンパイルに挑戦
makeは出来たっぽいけどmake installが上手くいかん
でもlibc.aは出来たし(同じとは限らんが)、malloc等標準ライブラリのソースも
付いてたのはうれしい発見だな
#おかげでmemcpyが8bit毎にコピーしてるのが確かめられた

ふーん、libc.aって***.oをarで固めたものなんだ。
やっぱり組み込み側の知識が足りんなぁ

参考資料:
Interface2005年1月号フリーソフトウエア活用組み込みプログラミング
第4章 C標準ライブラリ(newlib)を使ってみよう

197:名前は開発中のものです。
05/06/09 01:51:48 cFLah592
>>196
おいおい、ゲーム製作とは違うところに逝ってるぞw

198:名前は開発中のものです。
05/06/09 12:45:46 TWsYVQDp
質問が途切れたみたいなので質問
PCMの合成はどうすれば出来るのでしょうか?
ゲーム製作時にどのチャンネルはBGMとか決めておくものなのでしょうか?

(英語の説明書が理解できなくて海外のサウンドドライバの使い方がわからない orz

199:名前は開発中のものです。
05/06/09 15:55:56 NH9D76hP
>>198
PCMでいいんだよね?なら足し算
効果音をどうしたいかだよねぇ。
ファミコン時代なんかBGM使っているチャンネルで効果音を割り込ませて鳴らしてたな。

200:名前は開発中のものです。
05/06/09 16:40:56 tx6qK9Bb
>>199
そんな簡単な方法でいいので…けどそう簡単でもないか
足し算結果をどっかに置いといてDMA転送元にそこを指定でいいのですかね?
まぁとりあえずRUNしてみます

201:名前は開発中のものです。
05/06/09 17:35:13 Cuk1n6wp
>>200
オーバーフローチェックをどうするかだけ注意
たとえば4重合成するのなら、最初から1/4音量データを用意するとか。
シフトしてから加算でもいいけどな。

202:名前は開発中のものです。
05/06/09 18:04:21 txnsDHBq
>>201
signed shortで合成しておいて、後で一括してクリッピングしてもいいかもな

203:名前は開発中のものです。
05/06/10 00:05:29 3crWFAgA
>>200
URLリンク(belogic.com)

204:名前は開発中のものです。
05/06/10 14:55:38 YPq61nfL
すっごい素人なんだけどBGMって割り込みで鳴らすの?

205:名前は開発中のものです。
05/06/10 17:17:15 sKosQ+eo
音用のメモリがあるからそこにDMA転送で入れる。
DMAはTimer割り込み(正しくはFIFOとか言うのが割り込んでるらしいが)で送らせるように設定しておく。
ついでにビットレートはTimerの設定速度によって決まる(なんか勝手にゲーム本体がそうする)からTimerで使う値を多く取れば
低解像度(ビットレートが少ない低音質の音楽ファイル)の音が鳴る(高音質のはむちゃくちゃ遅くなる)
だから使いたい音のビットレートによってTimerに入れる値は変わる。
…らしい(所詮勘でプログラムしてるから理解していない厨wwww

206:162
05/06/13 00:15:38 WeLHi+pU
チラシの裏:
newlibのmake,make install成功。
上手くいかなかった原因はdevkitadb/binがPATHの検索順で自分でコンパイルしたarm-elf-**より先にあったためと思われる
対処方法としてdevkitadb/binをPATHからはずしてbinutils,gcc,newlibを作成

ありがとう、みんな


207:162
05/06/20 10:45:55 nuWkCFET
#mallocから逃げてるオイラ

memcpyの代わりにDMAを使ってローカル変数配列をVRAMに描くことで最適化できないかと思い
for(行数分){
// memcpy();
  DMAmemcpy(); //中でDMAをつかってる
}

こんな感じでDMAをつかってmemcpyしたら速くなるかな?とおもって作ってみました。
でも動かないT_T
こんな感じでDMAを使うのはまちがってるんでしょうか?
#間違ってるんだろうなぁ・・・
#小さい画像データならスプライト使うほうが正しいんだろうなぁ・・・

208:名前は開発中のものです。
05/06/20 11:08:20 eN4g0qsd
DMAmemcpy();の中身か、せめてパラメータを書いてくれないと全く要領を得んな。
・memcpyと違ってDMAの転送サイズ指定は2バイトか4バイト単位
・表示期間中はDMAでVRAMへの転送は出来ない
・そもそもDMAの設定方法が間違ってる
このどれか。

209:162
05/06/20 12:03:40 nuWkCFET
>>208
さんくす
たぶん、「 表示期間中はDMAでVRAMへの転送は出来ない」これだろうなぁ
1番はエラーチェック入れてるし、3番は多分間違ってない、と思うし
描画タイミングなんて考えたこと無かった

う~ん、イベントループで描画用イベントをつくり、描画はそちらにまとめないと駄目だなぁ・・・

210:名前は開発中のものです。
05/06/20 13:03:44 eN4g0qsd
それにしても動かないってことは無いだろ。
数ミリ秒ロックかかるだけなんだから。

211:162
05/06/20 13:29:38 nuWkCFET
動かない、ってのは誤解させたか
正確に言えば、その部分の描画処理をしてくれない、かな
四角く塗りつぶす関数
for(y行分){ for(x幅){ VRAMへ書き込む } }

for(x幅){ローカル配列に書き込み}
for(y行分){ローカル配列をDMAmemcpyでVRAMへ}
って処理にしたら塗ってくれなくなったのよ
調べてたらDMAチャンネルうんぬんってのがあるみたいだし、
CPUが空いててもDMAコントローラ(?)は空いてないだろうし・・・

212:名前は開発中のものです。
05/06/20 13:56:46 3V9hgg4C
>>211
DMA busyチェック/終了確認してるかい?
同じDMAで転送中に更に転送開始したら、中断する。

213:162
05/06/20 14:12:35 nuWkCFET
>>212
それだ、やっと頭の中でつながった!サンクス

214:名前は開発中のものです。
05/06/21 01:26:05 tMrqvmNm
>>213
で、何作ってんの?
AVGサンプル(DMA使用)ならゲ研にあるよ

215:162
05/06/21 17:36:36 2bu24OLk
一番の目標は、組み込み向け開発ノウハウの勉強
それも、単純なLEDだけの世界じゃなくて、ある程度GUIがある組み込み。

でもそれだけじゃ漠然としすぎてどこから手をつけたらいいか迷うので
今作ってるのはパズル。「数独」ってしってる?
これならグラフィックやシナリオで迷わなくていい。

次はマインスイーパかソリティアでもつくろうかなって思ってるところ

216:名前は開発中のものです。
05/06/25 01:31:23 e5faRMhJ
ちょっと質問です。
自分もGBAで何か作ってみようと思い、まず画像を表示する程度のものを作りました。
が、エミュ(VisualBoyAdvance)上では問題無く動くのですが、実機に転送すると動きませんでした。
試しに、URLリンク(j-gbadev.hp.infoseek.co.jp) にあるサンプルを転送してみましたがやはり動かず。
URLリンク(optimize.ath.cx) のパズルは動作しましたが、逆にこちらはエミュ上で動かず。
実機で動作させるには何が必要なのでしょうか。

217:名前は開発中のものです。
05/06/25 08:06:17 BG1w9J0p
>216
パズルの方はフラッシュに焼いて実行するなら、
makefile の LDFLAGS の -Ttext=0x02000000 を
-Ttext=0x08000000 にするんじゃない??


218:名前は開発中のものです。
05/06/25 08:09:59 BG1w9J0p
誤:パズルの方はフラッシュに焼いて実行するなら
正:パズルの法はエミュレータやフラッシュに焼いて実行するなら

219:名前は開発中のものです。
05/06/25 14:05:30 8t7IF5k/
optimizeのパズルサンプルをエミュレータで動かしたい場合は拡張子を.mb.gbaにすればいい。

>>216が作ったのはたぶんROMに焼いて動かすためのイメージだから
実機で動かすにはFlashROMを買ってくるか、
実機のRAMに直接転送して動くように作り直す必要がある。
プログラム研究所のサンプルも同様。

220:名前は開発中のものです。
05/06/25 16:01:46 IKOdqJ6y
>>216
実機で起動するときNINTENDOロゴがちゃんと表示されるか?
表示されていなければヘッダを修正する必要がある。

221:216
05/06/25 21:10:36 aa82OW6G
やはり原因は0x08000000 -> 0x02000000でした。
無事実機でも動きました!

皆様色々ありがとうございました。

222:名前は開発中のものです。
05/06/26 02:14:00 YOehEJSa
const int __gba_multiboot;
これもあったなあ

223:名前は開発中のものです。
05/06/28 09:12:06 lhzk0oNN
URLリンク(www.bidders.co.jp)

224:名前は開発中のものです。
05/07/05 22:13:11 ioT9KUEt
とりあえず環境落として始めてみたんだが、
ゲーム作るためのライブラリを作るだけでおなかいっぱいになりそうだ_| ̄|○

225:162
05/07/07 22:26:25 IdWw8xni
一応動くようになりました。
ちゃんと動くかな?
質問に答えてもらったお礼です。

URLリンク(up.isp.2ch.net)
URLリンク(up.isp.2ch.net)

226:162
05/07/07 22:28:21 IdWw8xni
操作方法は
 ・selectでメニュー
 ・Aでセルの数字が増える
 ・Bでセルクリア
 ・十字キーで移動
です

227:名前は開発中のものです。
05/07/12 03:52:28 gP0YBH4B
すみません。ど素人な質問なんですが、できればお答え下さい。
GBAのプログラムはだいたいどの位までの、データを実機で使えるものでしょうか?
個人的に、電子辞書+単語帳代わりにデータを写して使いたいのですが、
200Mbyteぐらいいけますか。また、基本的な組み込み系のプログラムはまるで触ったことのない人間なのですが、
C言語とC++をちょっとさわったくらい(ベターC程度にしか使えません)でも扱えるような物でしょうか?

あと、起動時間は10秒ぐらいでしょうか?

228:名前は開発中のものです。
05/07/12 04:50:21 vNvKsOE9
ROMが最大32Mbyte RAMが256kbyte+32kbyte
言語はCが使えれば充分 C++はベターCで全然よし
起動時間はメーカーロゴが入るので5秒くらい メーカーロゴを含めなければ一瞬

ビットマップにフォントを表示できるようになれば簡単な辞書ならすぐ作れると思う
ただし容量が少ないのでデータを厳選するか きつめに圧縮するかしないと
いけないだろうな
頑張れや

229:名前は開発中のものです。
05/07/12 23:31:40 mrySnnDH
>>227
キミの好きそうなprintf()もscanf()もないからやめとけ
素直にザウルスか電子辞書買っとけ

230:162
05/07/13 14:04:49 QdmkZAfq
printfくらいは自作してもいいけど入力どうしようかな?
ケータイみたいな仮想キーを作ってそれで入力する、かなぁ
これなら12この仮想キー(ボタン?)で済む

「ホームランド」みたいな入力システム作れればいいんだろうけど、ムズカシイ・・・

231:名前は開発中のものです。
05/07/13 18:15:54 D6iTUR2S
>>230
RとLボタンで文字種変更、十字キーで文字変更(右左で子音・上下で
母音変更とか、ケータイ方式とか)でAボタンで決定、Bでクリアとか。
SELECTでエディットモード抜けて十字キーかRLボタンでカーソル移動とか。

232:名前は開発中のものです。
05/07/13 19:05:41 wV9jl+rf
どうせやるならNDSでやったほうが良いと思う。入力デバイスの問題で。
実機で動かす方法は知らんが。

233:名前は開発中のものです。
05/07/13 21:26:47 oLrfzE3q
ゆうていみやおうきむこうでいいやん

234:名前は開発中のものです。
05/07/17 21:50:58 ATGoGOE4
>>233
ドラクエですな。

235:名前は開発中のものです。
05/07/30 16:31:02 rH8bjVXA
とあるラベルを4バイトアラインで配置したいときってどうするんでしょう?

今は配置したいラベルの前に、
asm(".align 4");
って入れているんですが、何か違うような、もっとすっきりした方法があるような気がします

236:235
05/07/30 16:42:19 rH8bjVXA
>>235
ごめん。上の方法、正しくリンクできなくなります。
誰も使わないと思うけど、念のため…

237:名前は開発中のものです。
05/07/30 20:02:20 XQpHvBfH
>>235 gcc なら __attribute__((aligned(4))) とか

238:名前は開発中のものです。
05/08/01 02:57:48 dbKAP3Zw
>>237
できました。ありがとうございます。

それはそうと、gccでラベル全てをアライン付けるオプション試してみたけど、何も変わりませんでした
devkitのこれとは違うんでしょうか。自分が意味を取り違えてる可能性のほうが高いと思うけど。

239:名前は開発中のものです。
05/08/01 08:54:44 4ELQCf+V
>>238 そんなオプションあったっけ?

240:名前は開発中のものです。
05/08/01 09:19:43 FTLI7gLF
無いはずだが。何かと勘違いしてるんじゃないか?

241:名前は開発中のものです。
05/08/12 17:27:25 tqMQkZm3
ちょっと程度の低い事ですが質問です。
スプライトの画像を左右を逆転して表示したいのですが、
sprites[0].attribute1 |= 0x1000;
とかやってますが、どうもうまくいきません。
どのようにすれば、反転して表示できるのでしょうか。

242:名前は開発中のものです。
05/08/12 19:16:14 oL+JILND
attribute0の拡縮フラグは0になってるか?
それぐらいしか思い浮かばないが・・・。

243:名前は開発中のものです。
05/08/12 19:42:07 3HIzF5vl
>>241
とりあえず、spritesの構造体定義を晒せ
話はそれからだ












…まさか、VBlank期間外にOAMを書き換えようとしてないだろうな?

244:名前は開発中のものです。
05/08/12 21:11:23 tqMQkZm3
>242
うう、まさしくそれでした。
削ったつもりだったのですが、色々試してた時のが残っていて。。。という感じでした。
兎も角、ちゃんと反転表示はできるようになりました。ありがとうございます。

>243
まんま「GBAプログラミング研究所」さんのサンプルを利用してます。

245:名前は開発中のものです。
05/08/13 01:01:17 NcqonvKf
>>243
垂直表示期間中に書き換えても、その状態が継続しているのであれば
次フレームで反映される。

246:名前は開発中のものです。
05/08/15 23:35:09 zl773reD


247:名前は開発中のものです。
05/08/22 13:25:40 xaZ8lnmP
DMAに手を出してみたけど…むつかしいね。
というか、devkitのDMA転送マクロをそのまま使うと、ちゃんと動作しないときがあるっぽい
(同じチャンネルを使い、連続して転送を実行した場合?)

別のサイトから拾ってきたソースのを使ったらうまくいったけど…ごめん。URL忘れた。

248:名前は開発中のものです。
05/08/27 22:41:20 hXi5z/ZH
DevkitAdvanceを使えと言われそうですが、都合により Thumb/ARM GCC の環境を作ろうとしていて、
そのために必要な libg.a を探しています。

ぐぐって探したところ、Glibc というライブラリに入ってそうな感じがしたのですが
ダウンロードしてアーカイブをバラしても見つかりませんでした。
どなたか持っている方がいたらアップして頂けないでしょうか?

URLリンク(gamdev.org)

249:248
05/08/28 16:48:57 rrKRiOqt
すいません、自己解決しました。

URLリンク(eodevtools.sourceforge.jp)
ここにある eota-crosslib-0.8.1.tar.gz というアーカイブを展開したら出てきました

250:名前は開発中のものです。
05/08/30 22:10:58 4nbPwlJS
自作の同人ゲーをブートスティックに入れて売ってみたいんだが、
やっぱオプティマイズの中の人の許可が無いと色々怒られっかな。

251:名前は開発中のものです。
05/08/31 00:14:27 mrP0HODf
オプティマイズの中の人も任天堂に許可を取って売っているわけではない
規模にもよるだろうけど構わないんじゃないの

252:名前は開発中のものです。
05/08/31 04:25:15 ZKQSe8Kh
スプライト表示の際ブレンド指定したら、全てのスプライトが半透明になっちゃったんですが
何か気をつけるべきことってありましたっけ?attribute0のb10,11はきっちり設定しています

あとちょっと確認なのですが、
スプライト#0はブレンド、#1はDARK…みたいにはできませんよね?
あくまでもブレンドモードなら128枚全てブレンド(か通常表示かwindow)、DARKなら128枚全てDARKで


253:名前は開発中のものです。
05/08/31 12:22:02 mrP0HODf
>>252
ちょっと勘違いしてる
REG_BLDMODは面全体に掛ける指定で、OBJを指定したらOBJ面全部が半透明になる

スプライトattribute0の半透明属性は、スプライト一個一個に対して個別に
ブレンドを指定したいときに使う

スプライトを一個だけ半透明にしたいのならREG_BLDMODのOBJフラグは立てないように
また、attribute0で半透明にしておいて、さらにREG_BLDMODでDARKにすることは可能らしい

254:名前は開発中のものです。
05/08/31 22:01:06 sP0tVan0
>249
それは x86 で動く EOTA という OS 専用のバイナリなので、他では使えませんよ

255:名前は開発中のものです。
05/08/31 22:17:56 8NGuRNsc
あちゃ、Vブランク関係のせいでコンパイルがうまく通らなかったのはそれのせいか・・・?
(↑の関数を一つコメントアウトしたら通ったけど)

経験が浅いので正直よくわかりませんが

256:名前は開発中のものです。
05/09/01 02:23:37 ZXvSssjt
>>253
ありがとうございます。
特定のスプライトだけ半透明にしたいときは、
パラメータはREG_COLEVで与えるだけで、REG_BLDMODは0のまま
半透明にしたいスプライトのattribute0をつつくってことでいいってことですよね。

いろいろこねくりまわしてみたす。

257:名前は開発中のものです。
05/09/01 22:04:30 n0AYkfq0
>>255
勘で書いてますが、コンパイルを通すためだけに libg.a が必要なら
libc.a があるならそれを libg.a のファイル名でコピーをして代用に
すればよいかもしれません。

258:名前は開発中のものです。
05/09/13 21:09:53 2pOo5niL
前に出てたヒトフデのゲームをバージョンアップしてみた

URLリンク(gamdev.org)

259:名前は開発中のものです。
05/09/14 02:09:39 8Hl+k1Y/
BASIC言語で開発が出来ると知り、初めて何か作ってみようと思い、
DragonBasicという開発ソフトを探していたのですが、見当たりませぬ…orz

入手可能なサイトの誘導 or うpきぼんぬ…

260:名前は開発中のものです。
05/09/14 02:26:58 FaJEB6bA
>>259
検索してみたけど、サイトなくなっちゃってるね
ドメイン乗っ取られたのか、開発やめたのか・・・

261:名前は開発中のものです。
05/09/14 07:33:38 TDMNN+PU
>>259
ん?
URLリンク(db.zhilaware.starfusion.org)
URLリンク(dragonbasic.tk)

262:名前は開発中のものです。
05/09/17 00:11:06 bFNjE3ho
DragonBasicってもう、制限外れたんですか?
だったらやってみようかな・・・

263:名前は開発中のものです。
05/09/20 01:06:01 AHd/OE8y
64kbの制限はもう無くなったみたい。
これで日本語の資料があればいいんだけどね。

264:名前は開発中のものです。
05/09/20 23:05:45 hW/W/PPl
>>263
最終版?(2.0.2)での制限は120k

URLリンク(db.zhilaware.starfusion.org)
URLリンク(dragonbasic.tk)
ここでダウンロード可能なのも同一のもの
制限が解除されていないのも、今確認しました

DragonBasicでも十分にできることがあるんで
制限解除したいんだが、、、なんとかならんのかなぁ

265:名前は開発中のものです。
05/09/20 23:27:03 IkrO+LDz
つ Binary Patch

266:名前は開発中のものです。
05/09/21 22:15:42 UAyFnn//
>>265
すんません。もうちょっとヒントください

267:名前は開発中のものです。
05/09/21 22:19:34 LFo8CgJX
>>265じゃないけど

お断りだ

268:名前は開発中のものです。
05/09/22 01:18:17 M4uqk1uN
>>266
ヒント:等価交換の法則

269:259
05/09/22 06:03:06 LA1GrTxo
亀だが、サンクス
(長らくアクセス規制の巻き添えをくらっていたもので…)

270:名前は開発中のものです。
05/09/23 16:35:57 fg66MsQy
VBAだとレジスタの状態とかがチェックできることを最近知ったんだけど、
他のエミュレータでこういう開発者向け機能が付いたのってないのかな

271:名前は開発中のものです。
05/09/23 21:55:36 X68oZ9tD
MappyとNO$GBAは開発者向けやね
たとえばMappyは単体でbreakpointが指定できる

272:名前は開発中のものです。
05/09/24 12:36:09 v0cMxf3H
>>271
横レスですが、ありがとー
早速導入してみます。

今まで(VBA)は0x0001に書き込んで通過したしてないを確かめてたもので…

273:名前は開発中のものです。
05/09/25 10:32:32 MQ69sEoY
デバッガとその使い方を探しています。
開発環境は、devkitARM+libgba(cygwin上でビルド)です。

試したのは、
- gdb6.0
- VBAのサイトにあるinsight
- MappyVM
なんですが、gdbの接続に関する考え方やMappyVMでのブレークの貼り方などVCにどっぷりだった人間には敷居が高すぎます。
あと、NO$GBAも試したいのですが、フリー版以外(Shareware Debugger版)が見つかりません。

何かよい資料、もしくはサイトがあれば教えてください。

274:名前は開発中のものです。
05/09/25 14:10:02 bCS0/Wcg
>>273
敷居が高いのなら手を引けばいいんジャネーノ?

275:名前は開発中のものです。
05/09/25 18:33:17 PrD3dmju
>>273
URLリンク(vba.ngemu.com)
ここ見ても分からない?
no$gbaはクラック対策のためwebには無いはず。メールすれば送ってくれるよ。

>>271
IDがX68

276:273
05/09/26 17:57:12 y5B9QtHo
>>275
そこも見たんですが・・・。

で、こんなページもあったので読んでみたのですが。
URLリンク(www.embedded.jp)
VBA側をどうしたらいいのかわかりません。

とりあえず、NO$GBAの作者にメールしました。

277:名前は開発中のものです。
05/09/26 22:16:26 AWQzooSQ
>>276
つ VBA-SDL

278:名前は開発中のものです。
05/09/26 23:06:36 iFNImh7i
>>276
VisualBoyAdvance(-SDL) -Gtcp file.gbaで接続待機状態にしておいて
あとはInsightでfile.elfを開いて127.0.0.1:55555にtcp接続するだけ

念のため注意しておくが
コンパイルオプションに-gをつけて
デバッグ情報を付加しておくのを忘れないように

279:273
05/09/28 04:16:38 CFaCLSg8
VBA-SDLで接続までこぎつけたんですが、ソースが表示できなかったり、ステップ実行できなったりきちんと動いていない模様。
CFLAGSには、-g -O0を入れているんだけど・・・。

あと、NO$GBAの作者から返事がこない。
ルーズ(時間がゆっくり進んでいる)なのか、気難しい人なのか・・・。

280:名前は開発中のものです。
05/09/28 11:16:09 ycelPrAp
>>279
その作者にも日常の生活もあるし、問い合わせをするのが貴方だけとも限らない。
たかが3日で、ルーズだの気難しいなどは失礼だぞ。

281:273
05/09/30 23:35:40 Yq1rn3Bb
>>280
MLやフォーラムだと結構早く反応がいただけるので、それと混同してました。反省します。

insightを自分の環境でビルドして、接続まで確立する事ができました。
ただ、VBAがばしばし落ちるので、シミュレーションモード?で確認を取ってます。
これだけでもかなり便利になりました。
助言をしてくださった皆さん。ありがとうございます。

insightをcygwinでビルドする際に必要なパッチを見つけました。
URLリンク(article.gmane.org)
同じような環境の方がいましたら、ご参考までに。

282:名前は開発中のものです。
05/10/01 02:17:37 NxAiC8Hv
>>273
devkitARMはどのリリースを使ってる?
r14だとデバッグに支障があるって話を聞いたぞ。

283:273
05/10/06 19:50:44 s4p5XHWr
>>282
cygwinで開発しているのでbuildscripts-20050915 でビルドしました。
リリースの日付から、r16(09/14リリース)相当かと勝手に思ってます。

284:名前は開発中のものです。
05/10/08 23:26:27 4PT3ptGH
ところでセル分割、何でやってる?

285:名前は開発中のものです。
05/10/12 01:34:35 LTw8esL9
セル分割とは?

286:名前は開発中のものです。
05/10/13 18:07:24 4qzozV78
任天堂がだしてる開発ツールを使った事ある人はいませんか?
どのていどのスキルがあれば使えるのか知りたいです。Linuxのと同じくらいだと自分の腕ではツライかなって思ってます。

287:名前は開発中のものです。
05/10/14 14:42:38 gvX8wloJ
>>286
どんなスキルがあっても、カネとコネが無いと使えないと思うよ。

288:名前は開発中のものです。
05/10/15 00:06:09 W6tE7wHT
>>285
とある画面を8*8単位で分割。
同じパターンの絵をまとめて、レイアウトを吐き出すことです
これだけでわかります?

レイアウト : mode#0-2において、0600E000からに配置するデータのこと

289:名前は開発中のものです。
05/10/15 02:37:59 GKVDk9of
>>288
おk
ここのTinyB2Tとかどうだろ。
URLリンク(nagoya.cool.ne.jp)

290:名前は開発中のものです。
05/10/15 03:10:15 W6tE7wHT
>>289
ありがとうございます。でももう自分で作っちゃった
DOS窓ベースでバッチ処理可能ですが…いる人とかいます?

291:名前は開発中のものです。
05/10/16 00:02:59 xybsDeU3
ゲーム製作ほぼ初心者の俺も参加していいんですかね?

292:名前は開発中のものです。
05/10/16 17:27:12 2dvnZTw5
任天堂が出してるツール、と一口に言われても以下略



>>290
うpうp

293:名前は開発中のものです。
05/10/17 06:55:16 wR8LJHjk
>>292
ありがとうございます。以下のアップローダーに上げておきました。
使用は自己責任でお願いします。
とりあえず自分で使っているので、最低限の機能はあると思います。
XPのDOS窓で動作します。使い方はヘルプ参照で。
ウィルスチェックはしてありますが、念のためお願いします

URLリンク(49uper.com:8080)

MD5:B364816D3FA4BE611502A94AE72D3696
pass : agb_2ch0


あと>>290ですが
×DOS窓ベースでバッチ処理可能ですが…
○DOS窓ベースなのでバッチ処理可能ですが…

294:名前は開発中のものです。
05/10/18 11:55:22 voMBlGi/
ちょっとDSをつついてみようかと、devkitproを入れたんですが、
コマンドが干渉しているのかGBAのプログラムのmakeができなくなってしまいました。
(dumping stack track…gcc.exeって出てくる)

一応make前に環境変数を書き換えて対応しているのですが、もっとスマートな方法ないでしょうか

295:名前は開発中のものです。
05/10/18 12:20:47 oKbQsifF
環境変数の変更( set PATH でのパスの追加) → make
の一連の流れをバッチファイルにする。
うまくいくかどうかは知らない

296:名前は開発中のものです。
05/10/18 12:21:48 DPwQzQ3q
>>294
つ [環境設定 bat]

297:名前は開発中のものです。
05/10/18 12:31:17 voMBlGi/
>>295-296
即レスありがと。
当然バッチかましてますー。意外なところで役に立つMS-DOSの知識

今はこんな感じ…でもいまいちスマートじゃなくて。

[prjmake.bat]
PATH = c:\devkitadv\bin;%PATH%
make -f makefile.txt
pause

298:名前は開発中のものです。
05/10/18 13:44:59 gS+ErmOl
devkitproはarm-elf-gccで
devkitadvanceはarm-agb-elf-gccじゃなかったか?
makefileのgccって書いてあるところを
直接ファイル名で指定すれば干渉しないと思う

299:名前は開発中のものです。
05/10/19 22:19:55 kIxep5vW
>>298
ごめん。ダメだった。
エラーがgcc.exeからarm-agb-elf-gccにかわっただけ。
もしかしてshかmakeが悪さしてるのか?

300:名前は開発中のものです。
05/10/20 03:08:28 cELFlIQA
エラー内容をコピペしてみてくれないか。
>(dumping stack track…gcc.exeって出てくる)
じゃ何が起きてるのかすら分からん。そもそもdumping stack traceだし。
もしDOS窓なら右クリックでコピペできるから。
gcc.exe.stackdumpの中身もあったらよろしく。

301:名前は開発中のものです。
05/10/21 22:29:38 yavK43Eo
お手数かけます

gcc -g -O3 -mthumb-interwork -Wall -fverbose-asm -fpeephole -c src/bios/actctrl.c -o actctrl.o
0 [main] gcc 816 open_stackdumpfile: Dumping stack trace to gcc.exe.stackdump

がDOS窓に出た後、
[問題が発生したため、gcc.exeを終了します。ご不便をかけて申し訳ありません。]のウィンドウが出てくる状態です

詳細情報は、
AppName : gcc.exe AppVer : 0.0.0.0 ModName cygwin1.dll
ModVer : 1003.0.0.0 Offset : 000586df

exception information
code : 0xc0000005 : flags : 0x00000000
ごめん。以下略で

302:名前は開発中のものです。
05/10/25 15:10:06 V7FjnhXC
stackdump忘れてました

Exception: STATUS_ACCESS_VIOLATION at eip=61008206
eax=710A66EC ebx=715B2F6C ecx=000208D0 edx=00000774 esi=00000000 edi=715B00D4
ebp=0240FEC0 esp=0240FE9C program=e:\sdk\AGB\devkitadv\bin\gcc.exe
cs=001B ds=0023 es=0023 fs=003B gs=0000 ss=0023
Stack trace:
Frame Function Args
0240FEC0 61008206 (715B00D4, 00000774, 00000003, 61003A6E)
0240FF10 61003BE9 (00000000, 00000002, 852E0D98, 852E0D98)
0240FF40 6100421D (004013A0, 00000002, EC845C68, 8053D991)
0240FF60 6100425C (00000000, 00000000, FFFFFFFA, 00000000)
0240FF90 0040168F (004013A0, 852E0D20, 80579100, E5553300)
0240FFC0 0040103D (00000002, 0022DFC0, 7FFDF000, EC845CF0)
31317 [main] gcc 816 handle_exceptions: Error while dumping state (probably corrupted stack)


303:名前は開発中のものです。
05/10/25 22:15:16 IoKP5aST
GBAのバンク切り替えってどうやってやればいいんでしょうか?
GB時代はSWITCH_ROM_MBC*でやっていた記憶があるのですが、
GBAでは見つかりません(使えない?)でした。

そもそも、32kbの壁を越えたプログラムって作れないんでしょうか。
1Gbitとかのフラッシュがどうやって動作しているか不思議で夜も眠れません。

304:名前は開発中のものです。
05/10/25 22:19:12 jsq1zIFe
16MBの壁ならあるが32kBの壁など無いぞ
何のことを指しているのだ?
誤解を解くためにはそこからはじめる必要がある

305:名前は開発中のものです。
05/10/25 22:23:29 jsq1zIFe
ごめん32MBの間違いだった。

306:303
05/10/25 22:42:51 IoKP5aST
>>304-305
ご、32MByteですた。ごめんなさい。

最近のフラッシュは1Gbit(1024Mbit)=128MByteですよね。
これってどうやって上位アドレスにアクセスしているのですか?

テストプログラムを組んでみたんですけど、32MB領域までしか
取り出せませんでした、、、という事はバンク切り替えで?

307:名前は開発中のものです。
05/10/26 00:59:35 u5cUViF+
ひょっとしたらpogoshellのソースにあるlibfc_*が使えるかもしれないが
使えたとしてもROM全体のオフセットアドレスが変えられるだけで
GBのようにROMエリアの後半だけ切り替えるみたいな芸当は出来ないぞ
現実的でないと思う

308:303
05/10/26 17:31:06 WC7Mmkli
情報ありがとうございます。libfc_*を解読中です。
でも、どこで切り替えているのかさっぱりw
多分executeCartあたりかなーっ。

> ROMエリアの後半だけ切り替えるみたいな芸当は出来ないぞ

全体切り替えでも十分です。
ただ、切り替えに相当の時間がかかるようであれば問題なのですが、、、

合計で50MBを越える大容量の画像データを扱いたいのですが、
何か良い方法はないのでしょうか。



309:名前は開発中のものです。
05/10/26 22:35:21 u5cUViF+
実際に切り替えているのはsetRomStart_*
visoly系ならここにも情報がある。内容はlibfcと同じだが
URLリンク(www.reinerziegler.de)
くれぐれも言っておくけど現行の大容量カートで使えるとは限らないぞ

50MBがもし圧縮した状態での容量なら・・・PSPに転向したほうが・・・
rawなら圧縮すれば・・・でもPSPの方が・・・('A`)

310:303
05/10/26 23:45:05 WC7Mmkli
ありがとうございます!! まさにコレです。
でも、ひとつ解せない事があって

> 0x8008000 rom1 register is 0x08

0x08 = 256KB(0x200000) なので、0x80200000 が開始アドレスになると思うのですが、、、
うぅ~ん、まぁ、いいか。調べてみます。

> PSPに転向したほうが・・・('A`)

おっしゃる事は重々身に沁みるのですが、諸事情でゴホゴホ、、、


311:名前は開発中のものです。
05/11/03 22:13:55 76cldjvj
copy /b でバイナリに付加したファイルやpogoshellから引き渡されたファイルのサイズを取得する方法はありませんか?
__iwram_overlay_lma の存在までは探したんですが・・・。

312:名前は開発中のものです。
05/11/03 22:28:18 feGHaXaJ
引数でファイルサイズは渡されない。

フォーマットが決まっているもの(BMP等)なら、引数のアドレスから求める。
ベタデータならフォーマットを作って、予めサイズを付加しておく。


313:名前は開発中のものです。
05/11/04 01:18:23 kMUzETOH
>>311
ケツにくっつけたバイナリは>>312の通りとして、pogoshellの方な

#define POGO_FILEHEAD (*(volatile u8**)0x0203fbfc)
#define POGO_FILETAIL (*(volatile u8**)0x0203fbf8)

u32 pogo_filesize = (u32)POGO_FILETAIL - (u32)POGO_FILEHEAD;

314:名前は開発中のものです。
05/11/20 13:06:06 6tkhGq0y
どらごんBASICのひとカモン!!

315:名前は開発中のものです。
05/11/21 14:50:46 XFrIG7rA
呼んだ?

316:名前は開発中のものです。
05/11/21 18:17:02 x5ILgyU0
ギャルのパンティおくれー!!

317:名前は開発中のものです。
05/11/21 19:34:44 fxPkAu1R
うちの妹のでいい?

318:名前は開発中のものです。
05/11/25 22:24:33 SRzJu1TJ
wavファイルを元にして音を鳴らそうとしています。
URLリンク(yun.cup.com)
このページを参考に、というかそのまんまマネをして
wavファイルの用意、変換、ソースコードへの取り込みとやってみたのですが
うまく鳴りませんでした。
全く反応がないわけではありませんが、ジジジジってノイズ音がするだけです。
wavファイルを差し替えながら何回か試行してみたのですが、結果は同じでした。

何かこう、うまく質問できないんですが、どなたか原因を推測できる方・・・いませんか?

Devkit、wav2gba、b2x、wavの編集にSoundEngineを使いました

319:名前は開発中のものです。
05/11/26 02:06:08 p93Npf8B
>>318
ソースとデータ一式どっかにうpれば見てくれる危篤な香具師がいるかもヨ?

320:名前は開発中のものです。
05/11/26 02:12:26 p93Npf8B
↓のDIRECTSOUNDのサンプルは参考になったのを思い出した。
URLリンク(f1.aaa.livedoor.jp)

321:名前は開発中のものです。
05/11/28 03:29:48 bxINegsq
>>320
403

322:名前は開発中のものです。
05/11/29 01:30:59 746vYOtp
あれま。
んじゃ、ココはどうよ?
URLリンク(www.geocities.co.jp)

323:名前は開発中のものです。
05/11/29 19:39:33 VV44O0UF
話の流れを変えてすいませんが、どなたか
ノベルエンジンのHeavensDoorというのを
持っていませんか

324:名前は開発中のものです。
05/11/30 02:08:32 mPNFPGLn
あ○ぱ○ for GBA、キテタ━━━(゚∀゚)━━━ !!!!!
さりばとーる氏、乙

325:安心君
05/12/14 19:57:14 fzqg+vfa
URLリンク(page9.auctions.yahoo.co.jp)
これはYオークションのURPです。
今ならゲームボーイSPやソフト3個510円で買えます。7時の時点で……
充電器もついています。ソフトの攻略本やいろいろなものがあります!!
私が今までに見てきた中で一番良いものだと思います!
ぜひ入札してください!


326:名前は開発中のものです。
05/12/14 20:59:12 pV4C0JuU
er

327:安心君
05/12/15 17:01:11 623xAln9
URLリンク(page9.auctions.yahoo.co.jp)
これはYオークションのURPです。
今ならゲームボーイSPやソフト3個580円で買えます。5時の時点で……
充電器もついています。ソフトの攻略本やいろいろなものがあります!!
私が今までに見てきた中で一番良いものだと思います!
ぜひ入札してください!

328:名前は開発中のものです。
05/12/18 10:39:31 AHiaO4I1
winMeでDS開発てどうなりました?

329:名前は開発中のものです。
05/12/19 16:07:29 uxNVLmZv
そんな糞OSは捨てろ

330:名前は開発中のものです。
05/12/27 21:03:12 l58Vaaez
おまいら!↓の使い方を教えてください
URLリンク(gpf.dcemu.co.uk)

331:名前は開発中のものです。
05/12/27 22:29:21 q1EVg3dQ
>>330
なに!もしかしてgbaのSDLポートですか?

332:名前は開発中のものです。
05/12/27 23:11:33 AB7qodu6
>>331
逆だ逆(w
SDLのgbaポート

>>330
URLリンク(www.libsdl.org)

333:名前は開発中のものです。
05/12/28 01:13:38 1gWF/8VC
>>318
SoundEngineで編集する前にHotWavで一度上書きしてみ
たぶん出来るよ

334:名前は開発中のものです。
05/12/28 19:29:04 yFsimYxX
GCCGBA(GCC for GBA)って今でも入手できますか?

どうやってぐぐっても、最後は
URLリンク(gccgba.gbacode.net)
ここに行き着くし、そのサイトで検索しても広告しか出てこないような気がする

335:名前は開発中のものです。
05/12/28 20:11:10 G/ntfdMf
>>334
余裕で入手出来る
日本のサイトでもダウンロードから環境設定まで
詳しく説明してくれてる

336:名前は開発中のものです。
05/12/29 07:09:31 7Ir86dw5
>>334
どうしてもGCCGBAじゃないと嫌なのか?
他にdevkitadvanceやdevkitarmもあるが・・・
この二つも中身はgccだぞ

337:334
05/12/29 23:40:06 LuJbg6uF
ほとんどのコンパイラがgccベース(というかgccそのもの)なのは知っていますが
モノによって付属のファイルに違いがある様なので、違うものと見なして色々試している所です。

とりあえず、まだ手に入る様なのでもうちょっと探してみます

338:名前は開発中のものです。
06/01/07 20:36:20 o/Kov7b5
URLリンク(gamdev.org)

339:名前は開発中のものです。
06/01/07 22:03:53 YieflwKL
>>338
それ何ですか!?
ものすごい興味があります

340:名前は開発中のものです。
06/01/08 02:07:37 LGrQp5CI
>>338
kwsk!

341:名前は開発中のものです。
06/01/08 02:30:58 tavsXbuL
つ readme.txt

342:名前は開発中のものです。
06/01/08 04:48:44 kVsqLeQW
リンク先が英語でさっぱりわからないんですが
ゲームを作るにはまずどうしたら良いのでしょうか?
エミュレータ上で動けば満足です。

343:名前は開発中のものです。
06/01/08 09:35:44 /1GHejHH
つ【Excite翻訳・ goo辞書】

344:名前は開発中のものです。
06/01/08 10:49:01 LGrQp5CI
まて、gbaならば、日本語サイト一杯あるっしょ

345:名前は開発中のものです。
06/01/13 00:09:05 K9moGWkO
日本語サイトでおすすめはどこですか?

346:名前は開発中のものです。
06/01/13 03:32:37 tSWTdBS6
>>345
>>1

347:名前は開発中のものです。
06/01/13 22:46:41 EKsFivTw
あり

348:名前は開発中のものです。
06/01/14 22:06:30 gDUWjwe4
サウンドエンジンでなにか良いものは無いですか?
いままで小物を作る時にはAASを使っていました。
ただ、
- ロゴ表示やライセンスがらみが大変そう
- modのチャンネル制限とかを受け入れながらデータを作ってくれる人がいない
- リンカスクリプトとか自分の把握しきれないソースを付加されるのが気分的にあまりよくない
(うまくいえないけど「気持ち悪い」ってやつ?)
などの理由があって、もっと手軽なものは無いかと探しています。

とりあえず、Code WavesのGBA Module Playerを試しています
URLリンク(www.codewaves.com)

# oggとかでループができると嬉しいかも

349:名前は開発中のものです。
06/01/14 22:56:07 9Bbt7+hj
>>348
madrv

350:名前は開発中のものです。
06/01/15 01:32:04 mVMDPRul
#ここかNDSスレか迷ったけどこっちにしよ

任天堂がPalmOSのライセンスを買ったって本当か?
PalmはVisorの頃しか知らんが旧MacのToolboxに似たAPIを持ってたと記憶してる。
あんなライブラリが使えるのか・・・うらやましい

351:名前は開発中のものです。
06/01/15 15:43:47 eWml9L9Z
DevkitAdvanceのファイルをDLできないけど
他にDLできるとこないですか?

352:名前は開発中のものです。
06/01/15 16:16:01 eWml9L9Z
ちなみに基礎から学ぶサイトに
agb-win-core-r5.zip
agb-win-binutils-r4.zip
agb-win-gcc-r4.zip
agb-win-newlib-r4.zip
agb-win-libstdcpp-r4.zip
agb-win-patch-r4.zip
これをDLしろと書いてますが
このサイトからはDLできなかったので他のサイトで
agb-win-binutils-r5-beta-3.zip
agb-win-core-r5-beta-3.zip
agb-win-gcc-r5-beta-3.zip
agb-win-insight-r5-beta-3.zip
agb-win-libstdcpp-r5-beta-3.zip
agb-win-newlib-r5-beta-3.zip
これをDLしたのですが、これだけでいいのでしょうか?
基礎から学ぶサイトと違うので合ってるか分かりません
どなたかご指摘をお願いします

353:名前は開発中のものです。
06/01/15 16:54:13 eWml9L9Z
自己解決しました

354:名前は開発中のものです。
06/01/15 18:50:40 BMFeXR0R
oggを再生するには解凍しながら再生するわけだから
17メガヘルツ(だっけ?)のGBAではキツイかも。
音楽だけならともかくスプライトやら背景やらの表示で
処理落ちしそう。ゲーム部分の重さにもよるだろうけど。

355:名前は開発中のものです。
06/01/15 20:44:38 hHmhgK/M
基礎から学ぶサイトのStep 01 開発環境の通りにDLしたのですが、
その後の解凍のところで手詰まりになりました^^:
ダウンロードしたあと、それらのファイルを解凍ソフトを使って解凍したあとに
ひとつの「devkitadv」のなかにまとめます。と書いてますが、
解凍するたびに「devkitadv」フォルダが出てきて上書きになってしまいます。
これは全部上書きでいいのですか?
それとCOPYINGというファイルも複数出てくるので
これも上書きでいいのですか?
どなたか教えてください

356:名前は開発中のものです。
06/01/15 21:02:34 V0F91qmy
全部上書きで良いはず
駄目でも最初からやり直せば済む話だしなんでもやってみ

357:名前は開発中のものです。
06/01/15 22:07:52 SzmXDjQJ
全部上書きでやってみました。
また質問なんですが、
正しくインストールされたか確認するの項目の
部分がよく分からないのですが、
解凍したgcctestフォルダのgcctestをクリックでokですか?
これをクリックしてもこのサイトで
書かれてる文章が出てこないのです
何度もすみませんが教えてください

358:名前は開発中のものです。
06/01/15 23:20:24 jOSGvqrE
質問なんですが、bmpファイルをプログラム内で解析して、表示
(つまりbmpファイルをそのまま表示)することって出来るんですか?
なんか.gbaファイル以外はなにも生成されないので、無理っぽいのですが。。。

359:名前は開発中のものです。
06/01/15 23:31:45 xLvz9DEg
>>358
つ URLリンク(optimize.ath.cx)

360:名前は開発中のものです。
06/01/15 23:35:28 jOSGvqrE
>>359
どうもです^^

361:名前は開発中のものです。
06/01/16 15:19:06 T9mslL+x
初心者すぎるとだめですか
そうですか

362:名前は開発中のものです。
06/01/16 16:03:05 CTGsSkVi
そんなこと無いけどGBA研究所のBBSで聞いた方がいい
質問が多いみたいですね。あちらの方が丁寧に
教えてくれますよ。


363:名前は開発中のものです。
06/01/16 16:27:56 T9mslL+x
ごめんスレ間違った

364:名前は開発中のものです。
06/01/16 16:37:45 mOmX5K2f
パスが通ってねえだけだろ
DOS窓開いて

c:
cd \devkitadv\bin
gcc -v

と打て
バージョンが表示されたらパスの設定しなおし
されなかったらインストールのしなおし

365:357
06/01/16 18:44:54 CbJ6YI7c
C:devkitadv¥gcctest>gcc-V
‘gcc’は内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチファイルとして認識されてません。

C:devkitadv¥gcctest>pause
続行するには何かキーを押してください、、、

と出ます

366:名前は開発中のものです。
06/01/16 21:53:17 YtT3zcKi
だから path 通せって・・

367:357
06/01/16 22:20:20 CbJ6YI7c
通してますよ
Pathを選び編集、編集値の最初か最後にC\devkitadv\bin:を入れてOKですよね?これやっているけどできないです・・・ちなみに最後に付けてます

368:名前は開発中のものです。
06/01/16 22:24:36 XED7qovj
単なるタイプミスかもしれないけど、それセミコロンじゃないよな

369:357
06/01/16 22:35:07 CbJ6YI7c
あのレスは自分で打ったので気にしないでください。登録に使ったのは基本から学ぶサイトのをコピーして貼ったから間違いはないと思うのですが・・・

370:名前は開発中のものです。
06/01/16 22:46:18 4iFikG75
・gcc-v と打っていないか? gcc -v だぞ
・ちゃんとPATH設定してるか?
環境変数エディタ eveで確認しる
URLリンク(www.munepi.com)
あとは、コマンドプロンプトで、echo %PATH%と打った出力をさらしてみるとか。

371:名前は開発中のものです。
06/01/16 22:52:01 mOmX5K2f
>>367
最後に入れる場合は ;C\devkitadv\bin; のほうが良いかもしれない

はっきり言ってこんなところでつまづいてるようじゃ先が思いやられる
あとお前は鼻で馬鹿にしてるんだろうが>>364もちゃんとやっとけよ

372:357
06/01/16 22:59:18 CbJ6YI7c
>>370-371
おぉできました
ありがとうございましたm(__)m
>>1に初心者歓迎と書いてたからやってみたくなったんです
本当にありがとうございましたm(__)m

373:名前は開発中のものです。
06/01/16 23:31:51 4iFikG75
>>372
できれば、どこが間違ってたかを晒しておくと、
後で、このスレみた初心者が同じところでつまづくことがなくなっていいぞ。

374:名前は開発中のものです。
06/01/17 00:42:17 9917DXoA
>>372
>>371氏の指摘してくれたこれに ;C\devkitadv\bin; を使ったらいけました


375:名前は開発中のものです。
06/01/17 01:45:50 Nc6+wOb/
俺様メモ:
moefs20040712の関数moe_getfilenum()内の
if(strcmpi(filepath,fn)==0)
{
return i;
}
の直下に
filepath[0] = '\0';
が必要…あれ?公開停止!?

376:名前は開発中のものです。
06/01/17 02:35:03 Nc6+wOb/
>>375
間違えた。
for()ループの先頭にあるべきだ。

377:名前は開発中のものです。
06/01/28 04:46:46 qHfVsUDg
ここでいいのかわからないけど。
空ロムにただのゲームボーイソフト突っ込んで、アドバンスでうごくの?

378:名前は開発中のものです。
06/01/28 05:27:44 qqUIY9F3
ゲームボーイの空ロムならうごくけど
アドバンスの空ロムには無理

379:名前は開発中のものです。
06/01/28 14:37:31 RRZH8vGq
8bit PCMのwavをwav2gbaとかで変換せずにそのまま鳴らすには
wavヘッダ解析した後に割り込みの中でunsigned→signed変換する
しかない?


380:名前は開発中のものです。
06/02/03 02:23:02 slbWlN2h
URLリンク(gamdev.org)

381:名前は開発中のものです。
06/02/06 21:06:46 T2WaEpGB
つTinyB2T v0.20
URLリンク(nagoya.cool.ne.jp)

382:名前は開発中のものです。
06/02/06 21:49:34 WwPe7cx3
すばらしい。

それでちょっと試してみたんですが、サウンドが音割れするみたい。
ここでいいのかわかりませんが一応ご報告。
>>URLリンク(gamdev.org)

383:382
06/02/06 21:50:38 WwPe7cx3
あ、382は >380へのレスです。

384:名前は開発中のものです。
06/02/09 10:13:49 Pyq5lHIe
(コメント以外で)日本語を含むプログラムを書いた人っていませんか?

今、GCC 2.9 が採用している文字コード表を探していまして
直接的には見つからなかったのですが、「(\バグ付の)不完全なシフトJIS」らしいので
シフトJISコード表を参考にプログラムしちゃっていいんでしょうか

385:名前は開発中のものです。
06/02/09 18:56:56 jiBYaVSU
「ソ」や「表」などの¥でエスケープすべき文字が分かっていればそれでいいよ。
EUCに代えるのも一つの手だとは思うけど。

386:名前は開発中のものです。
06/02/09 19:25:28 6fIFnbBj
>>384
―ソЫⅨ噂浬欺圭構蚕十申曾箪貼能表暴予禄兔喀媾彌拿杤歃濬畚秉綵臀藹觸軆鐔饅鷭偆砡
んだけ

387:名前は開発中のものです。
06/02/09 19:59:06 BVk4/W+U
>>385-386
わかりました
どうもありがとうございます

388:名前は開発中のものです。
06/02/09 21:08:07 2FQ4gYWp
GBAプログラム研究所落ちてない?
なんでだろ。教えてエロい人。

389:名前は開発中のものです。
06/02/09 21:10:03 2FQ4gYWp
GBAプログラム研究所落ちてない?
なんでだろ。教えてエロい人。

390:名前は開発中のものです。
06/02/09 21:45:17 BVk4/W+U
ほんとだ
トップページは403 その他は404になってる
鯖落ちか何かじゃない

391:名前は開発中のものです。
06/02/10 00:31:48 IqPCQaO9
みんななんだかんだいって見てるんだね
最近BBSにも書き込みなかったみたいだけど

392:名前は開発中のものです。
06/02/11 00:08:16 BVtzYhDA
SFCのロムから吸い出したスプライトデータとかみると
24*32サイズのものが多い気がします。
これをGBAで利用するには32*32のスプライトを用意して
センター寄せで読み込ませるしかないんでしょうか?
それとも24*32サイズのスプライトを造ることができるんでしょうか?

393:名前は開発中のものです。
06/02/11 00:20:59 lrk8MfSr
24は無理
その前に吸出しデータを利用するな

394:名前は開発中のものです。
06/02/11 00:27:43 BVtzYhDA
すいません。キャラチップ作るのに時間をかけたくなかったので…。
RPGツクールのフリー素材とかも24*32なんですよね。
SFCでは24*32ってモードがあったんでしょうか?

395:名前は開発中のものです。
06/02/11 00:46:51 lPtUC7MP
ツクールの素材ってツクールにしか使えないやつがほとんどじゃない?
任意のサイズにしたかったら複数のスプライト組み合わせればいいじゃん

396:名前は開発中のものです。
06/02/11 01:42:14 5ZKNwKwC
32x32のスプライトをEDGEで縦3/4にするとか

397:名前は開発中のものです。
06/02/11 01:43:41 5ZKNwKwC
ロムから吸い出したデータなんか役に立つのかいな
色化けてるんじゃない?SFCはパレットじゃなくハイカラー以上なのか

398:名前は開発中のものです。
06/02/11 02:52:49 lrk8MfSr
>>394
SNESも24は無理
その程度の知識でよくROM吸い出来たな

399:名前は開発中のものです。
06/02/11 02:55:29 XLrbZqXi
>>392
どうしたらいいのか思いつかないようなヴァカには無理だからやめとけ

400:名前は開発中のものです。
06/02/11 03:47:31 lrk8MfSr
>>395の言うように8x32と16x32を組み合わせるか
右に8ドットの空白を足して32x32で使うかだな
前者はROMサイズとVRAMの節約
後者は手間とスプライトの節約
俺なら後者を取るがね

401:名前は開発中のものです。
06/02/11 06:59:41 hZfjJeiU
>>392
センターよせが一番無難じゃないか?
回転させることとかも考えれば。

ところで、BoyScoutって公式トラッカーしかないの?
日本語環境だとレイアウトが微妙に崩れてて使いにくそうなんだが。

402:名前は開発中のものです。
06/02/12 17:28:27 7Ys7XIFa
だいぶ前にDirectSoundで音を鳴らそうとしていた>>318です。
「波平」と、サンプルソース( >>318と同じ処理 )を拾うことができたので、
あらためてチャレンジしてみたところ音が鳴るようになりました。
どうも、SoundEngineが原因だった様な気がします。


次にwavを複数登録しようとしたのですが、また壁に当たってしまいました。
複数のWavファイルをROMに格納しておいた場合、
指定してないファイルが勝手に再生されてしまうことがあります。

extern u8 test[]; // wav1
extern u8 data[]; // wav2

void AgbMain()
{
 play_dma((u32*)&data);
// play_dma((u32*)&test);

 while(1){}
}

こういうソースがあったとき、例えば data を指定して再生すると
data だけが再生されるのですが、 test を指定して再生すると
test の再生が終わった後、勝手に data の再生が始まるのです。

どうも、wavファイルの配列の先頭のアドレスは引数として渡されているけど
終端の方がチェックされていないので、ずるずると再生が続いてるような気がします。

>>322のソースでは、フレーム数を計ってプログラマーの方で手動で再生を切っているようですが
そんな方法しかないのでしょうか

403:名前は開発中のものです。
06/02/12 17:33:59 7Ys7XIFa
int play_dma(u32* sound_src){
// DirectSound設定 REG_SGCNT0_H = 0x0906;
*(u16*)0x4000082 = 0x0b0E; // sound control channel ( SGCNT0_H )

// 左右ボリュームの設定 1234 1234xLLL xRRR (0x77) REG_SGCNT0_L = 0xffff;0x0080;
*(u16*)0x4000084 = 0xffff; //sound enable ( SGCNT1 )

// *(u32*)0x40000BC =(unsigned long)&ROM_Sample; // the address of the source
// *(u32*)0x40000BC = (u32*)sound_src; // the address of the source
// Waveデータ転送アドレス設定
*(u32*)0x40000BC =(u32)sound_src; // the address of the source

// DMA→サウンド REG_SGFIFOA_L
*(u32*)0x40000c0 = 0x040000a0;// Dest DMA LOW&HIGH written (0x40000c0= DM1DAD_L )(0x040000a0=SGFIFOA_L)

// DMA有効,転送元増加,転送先固定,32ビット
// REG_DM1CNT_H = DMA_ENABLE(8000) | DMA_TIMMING_SOUND(3000) | // DMAイネーブル・サウンドFIFO要求
// DMA_IF_ENABLE(4000) | // 割り込み要求イネーブル
// DMA_CONTINUOUS_ON(0200) | // 連続モードON
// DMA_SRC_INC(0000) | DMA_DEST_FIX(0040) | // 転送元増加・転送先不変選択
// DMA_32BIT_BUS(0400); // 32ビット
// =e640
*(u16*)0x40000C6 = 0xB640; // サウンドFIFO要求を入れると音が鳴らない?

// タイマー0の値を設定 u16の-値がサンプリングレート(周波数)になる
// 11KHzの場合 -1520
*(u16*)0x4000100 = (u16)(-1520);

// タイマー0を設定、周期は1クロックで1進む
*(u16*)0x4000102 = 0x0080; //timer Control. Ingen IRQ eller nerdelning av CPU clockan.
}

404:名前は開発中のものです。
06/02/12 20:32:14 lQGmnJOY
>>402
>フレーム数を計ってプログラマーの方で手動で再生を切っているようですがそんな方法しかないのでしょうか
そんな方法しか無い
サウンドのサイズを自分で管理し
サイズ分転送したらDMAとサウンドの両方を止めれ

405:名前は開発中のものです。
06/02/12 23:09:14 Cgq3GpSK
わかりました・・・
頑張って自前で管理することにします

406:名前は開発中のものです。
06/02/13 02:39:56 Gtc5I6Df
ファイル長はすぐわかるね。
wav2gba.exeの吐き出した.binデータを右クリック、プロパティを開く
サイズ ???KB (????? バイト)
()内のバイトがファイルサイズ。

407:名前は開発中のものです。
06/02/13 14:40:33 eECtxr3h
次のゲームの画面を再現するにはどの画面モードで
各要素をどの画像で再現すればいいでしょうか?

1)SFCのころのドラクエ風戦闘画面
要素:
背景画像
インターフェース
文字
モンスター
攻撃&魔法エフェクト

僕の予想では
画面モードはモード0。
背景、インターフェースはタイル。
エフェクトはタイル?(全画面アニメがあるため)
モンスターはスプライト(ボスキャラ等はタイル+スプライト)
文字はスプライト(タイルのBG面が足りないため)

つぎのレスにつづく

408:名前は開発中のものです。
06/02/13 14:41:59 eECtxr3h

2)SFCのころのFF風戦闘画面
要素:
背景画像
インターフェース
文字
プレイヤーキャラクター
モンスター
攻撃&魔法エフェクト

僕の予想では
画面モードはモード3。
背景、インターフェース、モンスターはビットマップ。
プレイヤーキャラクター、エフェクト、文字はスプライト。
タイルモードかなと思ったんですがボスキャラが消えるときとか
キャラ画像の奇数ラインと偶数ラインがずれて消えるときとかあるので
あれをタイルモードで再現する方法がわかりませんでした。

あってますでしょうか?アドバイス御願いします。

409:名前は開発中のものです。
06/02/13 16:11:54 2pbmjWEa
主人公、モンスター、効果はスプライト。
BGの仕様を決めるのは難しい。
どういう演出をするのかによって変わる。
背景を拡大縮小する演出をするならモード12345。
しないなら絵がたくさん登録できるモード0。
表示する情報が少なく簡単にレイアウトできるなら0123のキャラクターモード、
多色を使って、8x8ドットに縛られたくないならモード345。
でもモード345は情報量が多く重くなる。ダブルバッファを使用するなら
モード4か5しかない
たしかBGが容量の大きいモードのとき、スプライトの登録数が圧迫されるんじゃ
なかったっけ。
全体のバランスを取るには、だいたいの仕様を決めて
サンプルを作って動かしてみるしかないんじゃない?
FFも3とか4とか決めてそれを目標にすれば、イメージも明確になるのじゃいか。

410:名前は開発中のものです。
06/02/13 16:17:41 2pbmjWEa
そういえば文字の表示が大きな悩み。
日本語表示するのだろうから、VRAMにすべての文字を登録するのは
不可能。割り込み中に表示画面に必要な分の文字を転送するしかない。
あるいはダブルバッファリングできるモードを使う?
ということはビットマップモード4か5。キャラのモードの時は
意識して上の領域はA、そのとき見えない領域B
としてダブルバッファリンク゛することもできるけど。

GBA研究所の日本語表示サンプルを改造してドラクエ戦闘画面の
インターフェースみたいのをまず作ってみるべき。
ワールドマップとかはそのあとでもいい。まず日本語表示が難関。

411:名前は開発中のものです。
06/02/13 17:42:11 eECtxr3h
GBA研究所は落ちてるんですよね…。
マップエディタが入手できず大弱りです。

412:名前は開発中のものです。
06/02/13 19:45:25 VY0KRAb6
>>407
インターフェースと文字は一緒に出来る
あと戦闘中の文字は平仮名カタカナしかないことに気づこう
BG0 背景
BG1 文字+枠
BG2 半透明エフェクト
SPR 敵+エフェクト

>>408
BG0 敵
BG1 背景+文字
BG2 エフェクト
SPR 味方+エフェクト

FF6は
BG0 背景
BG1 背景+文字
BG2 半透明エフェクト
SPR 敵+味方+エフェクト
一部の魔法はBG2にウインドウ重ね掛けで

敵を消すときはタイルマップじゃなくてタイルを直接消してる

413:407
06/02/13 19:55:05 eECtxr3h
みなさん、アドバイス有難う御座います。
これでとりあえずの実装は出来そうです。
魔法別で悩んだらまた質問しますので
厳しくもやさしく教えてください。。。

414:名前は開発中のものです。
06/02/13 20:19:49 VY0KRAb6
俺のMAPエディタをうpしてやろうかと思ったけど
みなさんで一括りにされたからやめるか

415:名前は開発中のものです。
06/02/13 20:34:51 NZEWyj/P
心が狭いのね
狭くなくっちゃ、心も車も

416:名前は開発中のものです。
06/02/13 20:59:44 pe7jKuDW
文字表示の実装が全く分からないのですが、
分かりやすいサイトはないですか?

417:407
06/02/13 23:11:29 eECtxr3h
414さまアップお願い致します。

418:名前は開発中のものです。
06/02/13 23:53:36 VY0KRAb6
>>416
タイルモードのときはタイルを順番に横に並べて
並べたタイルに文字データを転送するだけ

ビットマップモードのときはVRAMに直接書けばいいだけなので
PCでやるのとやり方は一緒

どっちにしても文字データは自分で用意しなくちゃ駄目

419:名前は開発中のものです。
06/02/14 00:03:36 Mc0x+HZh
>>406
wav2gbaはv1.01だと、バイナリの先頭に
2byte: type
2byte: stat
4byte: freq
4byte: loop
4byte: size ←これがデータ長
なヘッダが付いてるので気を付けれ。

420:名前は開発中のものです。
06/02/14 00:06:53 x7UBz7YU
>>418
自分の書き方が悪かったです。printf関数みたいな
感じでやりたいんです。
そもそもprintf関数の仕組みがよく分からない・・・
のぞいて見てもチンプンカンプンです。

421:名前は開発中のものです。
06/02/14 00:34:47 WgJRobF9
>>420
sprintfで文字列を作って
その文字列を表示する関数を作るんだ
printfは最初から無いものとして諦めろ

422:名前は開発中のものです。
06/02/14 00:40:40 945ce4fT
研究所のやつじゃなくてもいいので
使い勝手のいいマップエディタしりませんか?
ドラクエ風のワールドマップを作りたいのですが。。。。

423:名前は開発中のものです。
06/02/14 00:51:24 kJMSUOot
URLリンク(user.chem.tue.nl)
この辺とかは?

424:名前は開発中のものです。
06/02/14 00:51:46 DPfKwksc
sprintfって使えたっけ?devkitadv
自作snprintfで対応しちゃった
#あと文字が書いてあるbitmap背景の2本立て

425:384
06/02/14 00:59:46 tYPhpHwC
俺もprintf関数もどき作りました。

全角の文字列を引数として受け取って、
その先頭のアドレスから、内容を4ビット(16進一桁、要するに文字コードの中の一桁)
ずつチェックしていき、最終的に文字コードとBGタイル番号をつき合わせて
BG一面に出力するようにしました

BGを一つ占領しちゃうんであまりよいやり方では無さそうですが

426:名前は開発中のものです。
06/02/14 01:49:16 WgJRobF9
>>424-425
自作するよりそっちの方が簡単だろうと思ってな
printf関数の仕組みが分からないとも書いてるし

もちろんsprintfはstring.hをincludeすれば使えるぞ

427:名前は開発中のものです。
06/02/14 18:19:17 KtOq4mfG
スプライトの表示数についてなんですが
最大128個でモード0~2のVRAMのスプライトキャラクター領域は
32kバイトですよね?
32*32dotで16色のスプライトを扱う場合
下記の計算だと最大64個だと思うんですが
それ以上の表示が可能です。複数のエミュで確認したんですが
どれも表示できました。
私の計算方法がいけないんでしょうか?
それとも実機とは挙動が違うんでしょうか?


32*32dotのスプライトのデータサイズ
4bit(16色)*32dot*32dot=4096bit/8(byte換算)=512byte

VRAMのスプライトキャラクター領域
32kbyte=32768byte

16*32dotのスプライトの場合
32768byte(VRAM)/512byte(Sprite)=64個表示可能


428:名前は開発中のものです。
06/02/14 18:55:03 WgJRobF9
画像データ領域(VRAM)とキャラクター領域(OAM)は分離して考えろ
>>427の例で言うと
OAMには128個登録できても
VRAMには64種類の画像しか収まらない

逆に言うと64種類の画像を128個表示できるということ

429:429
06/02/14 19:29:47 KtOq4mfG
なるほど、つまりVRAMにおさまりさえすれば
64*64の画像を128個表示することができると
いうことなんですね。

430:424
06/02/14 21:44:12 oQP7vhex
自作snpritnf(snprintf_mini)です。良かったらどうぞ
URLリンク(49uper.com:8080)

431:420
06/02/15 23:02:19 UMaLkZ5l
ありがとうございます!
正直、よく分からないですが、参考にするか
もしくはそのまま使わせて頂きます!

432:名前は開発中のものです。
06/02/16 00:00:45 htR/zHvl
コンパイル出来たけど何も表示しまへん。

コンパイル用バッチファイル
SET PATH=c:\devkitadv;c:\devkitadv\bin;c:\devkitadv\tools:$PATH;
gcc -o main.elf main.c utils.c -mthumb-interwork
objcopy -O binary main.elf main.gba

どこがいかんのでしょう
みたとこ画像データが無いようですが。

433:424
06/02/16 09:40:13 IJObToHy
うん、文字画像データは入ってないよ
あくまでもおいらが作ったsnprintfの実装(snprintf_mini)だから文字列を作るだけです。

main.cはちゃんと作れているかどうか確認している単体テスト用のプログラム
なのでdevkitadvのgcc(arm-agb-elf-gcc)じゃなくて普通(?)のgccを使って
snprintf実装例を確認してね。
GUIなデバッガがあればどんな感じで処理してるか追っかけられるでしょ
#VCだとsnprintfが使えないかも。そのときはsprintfで代用して確認してね

作った文字列をVisualBoyAdvanceで表示するには文字列表示用の処理と文字データを
自分の環境用につくらないと出来ないです。

まず、putcみたいな1文字表示用の関数を作ってみてはどうでしょうか?

434:名前は開発中のものです。
06/02/16 09:44:32 zo8+sFWC
       ◆◆,,,,_    /⌒;
       /*' 3 `*ヽーっ   /<ワンワン,ツウツウ,スリィスリィ,フォウフォウ
    ⊂二  。 ゚  ⌒_つ/     ガンガン ズンズン グイグイ 上昇
       `、   ⌒_つ /
        `'ー-‐'''''"  /
            /_/

            ///




.         _____
.         `ヽ  ,」_ァ'"´ 
.      f'て}. ̄ rY   ト、  __ 
.     | r个 √`>‐.k } f゙)ヾ> 
      }l r ''"`ァ'゙  ,ノ、ム'^'ァ'゙
     人.ヒ,ィ゙ ァ弌__,,>'´゙ヽ
     い,  `'<,   ,r'^  ,ノ
.   }⌒'‐\ ,、    ゙'くョr.''"´
    い弌-、  \   }. ゝ-、
.    `'ー'  ゙'ー‐--‐'⌒''''''゙

435:名前は開発中のものです。
06/02/16 18:36:32 kz0iIF7u
>>433
これだけヒントを貰ってるのに文字表示すら自分で作れない香具師に
何をアドバイスしてやっても無駄だって。


436:名前は開発中のものです。
06/02/16 20:06:45 M6PXBfNk
>>433
親切すぎる。
漏れは呆れてレスする気がしなかったぐらいだってのに。

437:424
06/02/16 21:32:19 IJObToHy
確認用に作った文字表示用プログラムです
URLリンク(49uper.com:8080)

VCとVisualBoyAdvanceの両方で動作確認できるようにちょっと細工してます
このフォントデータは多分ライセンス違反になると思います。
#外見はラスタフォント6x13そのままです。
#文字を表示した状態のスクリーンショットBMPからデータを作りました・・・

438:名前は開発中のものです。
06/02/16 22:19:46 M6PXBfNk
拙作
URLリンク(gamdev.org)

439:名前は開発中のものです。
06/02/16 22:21:45 kxrgDS8c
>>438
俺が流用してるフォントと同じのを使ってる・・・気がする
俺は8x8でやってるけど

440:名前は開発中のものです。
06/02/16 22:53:00 Jk3f3/1N
>>438
liarsoftさん?

441:424
06/02/16 23:55:24 IJObToHy
へー、かっこいい
フリーのフォントって知らなかったけど調べてみたらいろいろあるんだな
とりあえず、FONTX形式にすればいいのだろうか?

442:432
06/02/17 16:40:32 x9jBkP1z
サンプルありがとうございます。
私は420=431さんとは別人です、横入りすみません。

フリーのフォント、元GBA研究所のサンプルにあったものを
流用しようと・・問題有りますでしょうか
完全フリーなものが欲しいのですけどそうなるとなかなか
ありませんよね。フリーソフトのみとかメールでの通知義務とか。

443:名前は開発中のものです。
06/02/17 18:32:26 iAZtWxeh
URLリンク(khdd.net)

444:424
06/02/18 01:08:37 uRwRaCgY
おお、サンクス
でもbdfフォーマットの仕様書はadobeの有料開発メンバじゃないと読めないのね・・・

で、探した結果、良さそうなページを発見
URLリンク(hp.vector.co.jp)

あとは日本語文字コードか、やれやれ。

445:名前は開発中のものです。
06/02/18 02:27:52 QKtp7HhO
DIRECTSOUNDをDMAで鳴らそうと
URLリンク(belogic.com)
を参考にしてるんですが、演奏を止めるためのTM1設定
REG_TM1CNT_L=0x7098; //0xffff-the number of samples to play
REG_TM1CNT_H=0xC4; //enable timer1 + irq and cascade from timer 0
のthe number of samples to playの算出式がよくわかりません。
単純にデータサイズというわけではなさそうですが。。。

446:名前は開発中のものです。
06/02/18 03:41:17 4ZdB2i2h
データサイズで合ってる
cascade from time 0になっているということは
timer 0が桁あふれしたときにtimer 1が1つ進むということ
timer 0が桁あふれしたとき同時に何が起こっているのか考えてみればそのうち分かる
頑張れ

447:名前は開発中のものです。
06/02/18 16:03:02 1rrcgcm5
>>446
すみません、もう少し教えてください
データサイズが0xffffを超える場合はどう設定すればいいのでしょうか?

448:名前は開発中のものです。
06/02/18 17:05:13 ZbScaNGm
フリーの日本語ビットマップフォント一覧
URLリンク(kappa.allnet.ne.jp)


449:名前は開発中のものです。
06/02/18 18:51:03 iQRmZRdR
5つほど上に既に貼ってあるジャマイカ

450:名前は開発中のものです。
06/02/18 21:15:59 yUcx3isO
研究所が未だに復活しない件。
猫でもみたいなTips集的な使い方をしていたので、他所を探すのが以外に大変。

451:名前は開発中のものです。
06/02/18 22:05:41 q2PjLLP+
儂はウェブアーカイブで拾ってきたよ。zipファイルは保存してないからサンプルは取れないけど。
ヘッダとソースは見られる。makefileが無いのが難点。

452:名前は開発中のものです。
06/02/19 01:10:26 prU8DMPB
>>447
どうしてもtimerを使って止めたいならtimer 2を使えばいい
お勧めしないが。。。

// (0xXXXX * 0xYYYY = datasize)
REG_TM1CNT_L=0x10000 - 0xXXXX;
REG_TM1CNT_H=0x84; //enable timer1 + cascade from timer 0
REG_TM1CNT_L=0x10000 - 0xYYYY;
REG_TM1CNT_H=0xC4; //enable timer2 + irq and cascade from timer 1
REG_IE=0x20; //enable irq for timer 2
REG_IME=1; //master enable interrupts

453:452
06/02/19 01:11:38 prU8DMPB
間違ったスマソ

// (0xXXXX * 0xYYYY = datasize)
REG_TM1CNT_L=0x10000 - 0xXXXX;
REG_TM1CNT_H=0x84; //enable timer1 + cascade from timer 0
REG_TM2CNT_L=0x10000 - 0xYYYY;
REG_TM2CNT_H=0xC4; //enable timer2 + irq and cascade from timer 1
REG_IE=0x20; //enable irq for timer 2
REG_IME=1; //master enable interrupts

454:名前は開発中のものです。
06/02/19 02:00:16 m3SmeD2S
>>452
了解しました。トライしてみます。
あと、timerを使わずに止める方法があるのならご教授プリーズ。


455:名前は開発中のものです。
06/02/19 04:25:56 iq15VETn
チョット違うことしてるのかな?一応
つdirecsoundサンプル
URLリンク(gamdev.org)

456:名前は開発中のものです。
06/02/19 10:19:03 QSXlPkGt
>>455
BeLogicのサンプルみたく別タイマーで止めないとダメだとばかり思い込んでました。
このスレよく読み直したら過去にヒントが出てたんですね。。。orz

457:名前は開発中のものです。
06/02/19 21:44:01 oTR8sHnf
DarkFaderのMylibとかNylibとか入れてみようと思ってやってみたがダメだ…。
やり方が悪いのかサンプルmakeできなかった。
ライブラリ自体はすごそうだ。使ってる人いる?

458:名前は開発中のものです。
06/02/20 03:17:45 B+Dm9jGk
NyLibは任天堂の純正ライブラリそのものだから使わないほうがいいぞ
MyLibはゴミ

459:名前は開発中のものです。
06/02/20 21:23:56 bbMb17ur
1Dモードでスプライトの属性を指定します。
attr2(ゼロが最初)のキャラクタ番号(0-9ビットまで)に指定の番号をセットすると正しく表示されません。
2倍の値をセットすると正しく指定できました。
これってあってる? ゼロビット目がキャラクタ番号じゃないんじゃ、とか思います。
1Dのスプライトについて書かれているページとかありませんか?

460:名前は開発中のものです。
06/02/20 21:39:23 LHhnamaS
マジですか。コンパイルもようできんからgcc自分で持ってきてarm-elfで作ったりしたんだがなぁ。
最低限eloistのgba.hとgbatekとかのドキュメント、あとは自分でがんばるかね。

461:名前は開発中のものです。
06/02/20 22:06:12 LHhnamaS
>>459
スプライトが256色設定の場合は2倍で指定するらしいからそのせいではないかな?

462:名前は開発中のものです。
06/02/21 00:33:12 zwimk+yf
>>459
気になるならVBAのTile Viewerでタイル番号とアドレスを確認すれ


463:名前は開発中のものです。
06/02/21 05:42:06 uuzcpC5q
ボタンを押した瞬間を取得したいんですが
下記のソースがうまく動作しません。
何がいけないかわかりますか?

//ボタンに関する列挙型
typedef enum{UP,DOWN,RIGHT,LEFT,A,B,L,R,START,SELECT} KEY;

//スタティックグローバル変数
static u32 sgKey; /* キーセンス */
static u32 sgKeyhit; /* キー押した瞬間 */

//メインループの頭でボタンの状態を一括取得
void UpdateKeySense(void)
{
static u32 keyold = 0;
sgKey = (u32)(*KEYS);
sgKeyhit = sgKey & (~keyold);
keyold = sgKey;
}

//特定のキーが今押されたかを調べる
u8 KeyHit(KEY key){
switch(key){
case A:
if(!(sgKeyhit & KEY_A)) return 1;
else return 0;
case B:
if(!(sgKeyhit & KEY_B)) return 1;
else return 0;
}
return 0;
}

464:名前は開発中のものです。
06/02/21 07:28:21 GiHvck/8
書き込みできるかテスト

465:名前は開発中のものです。
06/02/21 08:22:43 BSGVJJY5
>>463
それぞれの変数の値を出力してみろ

466:名前は開発中のものです。
06/02/25 15:23:38 LRNrnoNa
ある構造体に汎用的な配列を用意し、状況によって汎用配列部分に
別の構造体をキャストすることでいろいろ使い分けられるように
したいんですが下記(分けて書き込みます)のようなソースがうまく動きません。
「w->cnt = 5;」等の部分で値を代入しているのに正しい値がはいりません。
VC++では正しく代入できるようです。なぜだかわかりますか?
仕様なんでしょうか?

467:名前は開発中のものです。
06/02/25 15:24:22 LRNrnoNa
typedef struct{
u8use;/* 動作フラグ */
u16no;/* 自分自身のタスク番号 */
u8 phase;/* 動作フェーズ */
u8wrk[48];/* 汎用ワークエリア */
void*entryfunc;/* 実行関数 */
}TSKWRK;
TSKWRKts[10];/* 実体 */

/* 構造体 */
typedef struct{
u16 cnt;
u8 x;
u8 y;
u32 tmp;
}TEST;

//メイン処理
int main(void)
{
TSKWRK *tp = &ts[0];
TEST *w = (TEST*)&tp->wrk[0];
  w->cnt = 5;
  w->x = 4;
w->y = 9;
w->tmp = 1;
}

468:名前は開発中のものです。
06/02/25 15:25:34 LRNrnoNa
変数の型と変数名がつながっているのは書き込み時に
つながってしまったもので実際には正しく記述しています。

469:名前は開発中のものです。
06/02/25 16:32:04 ChwfFfDn
>>466-467
アライメントの勉強をしてみよう。
URLリンク(www.google.co.jp)

この場合は u8 のアライメントしか持っていない wrk に
u16 としてアクセスしていることが原因。
GBA の CPU である ARM ではアライメント違反した書き込みはできない。
VC++ で正しく動作するように見えるのは CPU が違うから。
x86 系ではアライメント違反した書き込みはパフォーマンスが落ちるだけ。

470:424
06/02/25 17:25:32 T5T+YA0I
こういう使い方をしたいときはunionを使うんだっけ?

使ったことないけど

471:名前は開発中のものです。
06/02/25 17:28:03 JLoubNl/
>>466
>>469を踏まえてこれでもう一度テストしれ

typedef struct{
u8 use;/* 動作フラグ */
u16 no;/* 自分自身のタスク番号 */
u8 phase;/* 動作フェーズ */
u8 wrk[48];/* 汎用ワークエリア */
void *entryfunc;/* 実行関数 */
} __attribute__ ((packed)) TSKWRK;

typedef struct{
u16 cnt;
u8 x;
u8 y;
u32 tmp;
} __attribute__ ((packed)) TEST;

472:名前は開発中のものです。
06/02/25 17:30:14 JLoubNl/
>>470
この場合unionは全く関係ないし的外れ

473:名前は開発中のものです。
06/02/25 17:32:36 +k+s2zkt
メモリをダンプしてみろ
それからだ。

474:名前は開発中のものです。
06/02/25 17:38:12 ChwfFfDn
>>470,472
union 使ってアライメント確保する方法がある。
Cだとコレぐらいでいいんじゃないかな?

union
{
 u8 size_holder[48];
 void* pointer_align;
 long long integer_align;
 long double floating_point_align;
} wrk;

C++ だとメンバ変数・関数ポインタを追加。

>>471
packed はパフォーマンス落としたりバイナリ互換に問題が発生したりするんで
気をつけて使う必要がある。非標準になるしね。
その例だと TSKWRK に packed は必要ない。

475:名前は開発中のものです。
06/02/25 18:20:18 LRNrnoNa
みなさん、アドバイスありがとうございます。
アライメント自体の概念はわかりました。
実用についてはまだよくわからんのですこし調べてみます。

>>474
unionのサンプルの意味は
u8でサイズを決めつつ、何のデータを扱ってもいいように
void型のポインタと最大サイズの整数と浮動少数で
共用体を定義しているということでよろしいでしょうか?

あと、私が書き込んだソースを下記のように修正したら問題なく
動くようになったんですがこのまま使い続けるのは
問題あるでしょうか? 
u8 wrk[48] → u32 wrk[12]

476:474
06/02/25 18:33:56 ChwfFfDn
>>475
サンプルの意味はそういうこと。
union 自体のアライメント要求がメンバの中で最大の物になることを利用したもの。

GBA のハードウェアで4バイト以上のアライメントを要求するものは
無かったと思うので、 GBA に限った動作だけを考えれば
u32 での置き換えで問題ないと言える。

477:名前は開発中のものです。
06/02/26 00:08:14 WfB5cmW7
関係ないけど
GBAって電源切ったとき画面の色が黒でなく白なのはなんでだろう?

478:名前は開発中のものです。
06/02/26 00:10:13 vz2qCRmn
白黒液晶ってのは黒色の文字を表示するものだから背景が黒かったらどうしようもないと
ここまで書いてGBAが白黒ではないという事実を思い出した

479:名前は開発中のものです。
06/02/26 07:47:46 e+6sQVje
>>381 ノベル制作ツール「のべ~る」で
VisualBoyAdvanceでプログラムスタート直後に音割れする現象の対策

*TOP:
#play_wav 1 music0.bin
#page
■セロ弾きのゴーシュ;
ゴーシュは町の活動写真館でセロを弾く係りでした。#w ;
けれどもあんまり上手でないと評判でした。#w ;
……

スクリプト開始のしょっぱなに何より先に#play_wavし、
直後に#pageします。これでなぜか音割れ現象が発生しなくなります。
なぜこれでうまくいくのかはよく分かりません。
ちなみに実機やその他のエミュでは試していません。
もしかしたら割り込み内でサウンドの処理より画像の処理を
先にやってるのかなとか思ったり・・見当ハズレなら作者さまスマソ。

これで使える。ヤター!

480:479
06/02/26 07:53:54 e+6sQVje
のべ~るは>>380
でした。失礼。

481:466
06/02/26 15:39:57 UpVKMws2
構造体のキャストで質問したものです。
とりあえず、みなさんのおかげで
スプライト制御が一段落したんで
経過をご報告します。
URLリンク(2ch-library.com)

482:名前は開発中のものです。
06/02/27 22:06:09 KqQE3G30
くだ質で大変申し訳ないのですが、
C++でGBAのプログラミングはできないのでしょうか?
様々なサイトをググってみたのですが、すべてCでの開発で
C++を扱っているサイトを全く見かけません。

よろしければご教授をお願いします。

483:名前は開発中のものです。
06/02/27 22:45:37 NtZAdaLq
>>482 gcc なんだから、できるよ。

484:名前は開発中のものです。
06/02/27 23:07:51 yy1S2zAQ
>>482
つ Tennodai Bunko

485:482
06/02/28 00:35:45 jBhKnEbd
>>484氏に紹介いただいたサイトを見る限り、DevkitAdvanceで普通にできそうですね。
早速試してみようと思います。

どうもありがとうございました。

486:名前は開発中のものです。
06/02/28 09:22:37 1wwrrnAa
GBAプログラミング研究所のBMP2RGB.exeで256色の出力のとき、
255番のパレットを指定したドットが0x00になり、
255番のパレット自体も0x0000になって出力されるんだけど
何か意味があるのでしょうか。


487:名前は開発中のものです。
06/02/28 13:47:49 ykuetkSe
確証は無いけど透明色じゃないの?

488:名前は開発中のものです。
06/03/01 17:29:46 CwoNSWML
ソースレベルデバッグをしたいんですが
MAPPY VMとVHAM&DevkitAdvanceの組み合わせの場合
どのようにすればよいのでしょうか?
また、NO$GBAとMAPPY VMだとどの程度違いますか?


489:名前は開発中のものです。
06/03/02 21:30:54 yUNPC8aZ
Insight + VBA(devel版) で*.elf読ませる方が楽っぽくね?

490:名前は開発中のものです。
06/03/02 22:48:33 LnIoHKvJ
arm-agb-elf-insightつかってデバッグするときにVisualBoyAdvanceの画面の状態を
確認しながらデバッグするにはどうしたらいいのですか?

File-TargetSettingからConnection-TargetをSimulatar選んでからOptionをVBAの
GDB接続待ちPortの数字にあわせればいいのですか?

InsightデバッガからRun-ConnectTargetはSucessfully connectedってでるから
成功したのかな?
でも、VBA側の接続待ち状態ダイアログが消えないから違うんだろうなぁ


491:名前は開発中のものです。
06/03/02 23:52:12 fFp03F4Q
>>490
漏れの環境ではVBA-SDLでしかInsightと接続できないorz

492:名前は開発中のものです。
06/03/04 11:46:20 m5qLcxRB
ところでGBAゲームでセーブデータってどうやって作るんですが?
研究所にはあったみたいだけど落ちてて見れない・・・

493:名前は開発中のものです。
06/03/04 13:52:52 x3hAFwv9
>>492
VBAでGBAファイル起動

494:名前は開発中のものです。
06/03/04 14:06:07 KUpila9P
>>455
このサンプルでDirectSoundの再生方法を試しているんですが
サウンド再生関数を1回目に実行した際には音がならず
2回目の実行で音がなります。
これ以外のDirectSoundのサンプルでも同様の現象が起きます。
455のサンプルに関してはソースをまんまでコンパイルしても
同様の現象になります。
付属のロムデータでは正しく動作しているようですが
何がいけないかわかりますか?


495:名前は開発中のものです。
06/03/04 17:16:26 KUpila9P
やっとこさゲームらしくなってきたんですけど
サウンドがなるとめっさ重いんですよね。
GBAってこんなもんなんでしょうか?
それともプログラムがヘボイだけ?
URLリンク(2ch-library.com)

496:名前は開発中のものです。
06/03/04 17:18:01 vi0lIxtr
AGBがまともにサウンドを鳴らせないほど非力なのは仕様です

497:名前は開発中のものです。
06/03/04 17:34:40 KUpila9P
まじですか!?
じゃあ、GB互換音源を使うしかないんですね。
研究所が消滅してコンバーターの入手も難しいし
こまったもんだ…。

498:492
06/03/04 21:18:52 m5qLcxRB
>>493
いや、そういう意味じゃなくて、
自作したゲームにセーブデータを作らせようと思ったらどうすればいいんですか?

499:名前は開発中のものです。
06/03/04 21:53:58 Msh9zdwX
>494
キーを入力しないと鳴らないんです。
main.cをコレで鳴るんじゃない?
mu_wok = 0;// 再生の直前に++のため、0からの値になります。
se_wok = 0;
PlayMusic(mu_wok,PLAY_LOOP_ON); //※追加
while(1)
{

>497
4つもの機能のちがう音源を制御するのが重そう。
ゲーム部分を軽くすることは出来ないでしょうか…

500:名前は開発中のものです。
06/03/04 22:08:24 Msh9zdwX
GBAプログラミング研究所って結局どうなりました?
どこかへ移転したとか…
日本のGBA開発に欠かせないサイトだったし、あれほどみんなが
利用していたのに突如閉鎖というのは有り得ない。

501:名前は開発中のものです。
06/03/04 22:30:48 ega3649d
>>498
SRAM(0x0E000000~)に数値書き込めばいい

502:名前は開発中のものです。
06/03/05 10:53:06 bBYTbtx/
>>500
管理人が捕まったとか

503:名前は開発中のものです。
06/03/05 11:16:39 JLfn0Pan
>>502
iswebからアマゾンの広告かなんかに警告出されたとかいうこと書いてなかったっけ?
それ放置してたら消されたとか?


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch