[過去ログ] ゲームボーイアドバンス(GBA)非公式開発 Part2 (1002レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
640: 2007/01/02(火)16:05 ID:5lu1SnWM(1) AAS
>>639
サンプル関係のソースは
>>637 のページで上がってるヤツが完全じゃないかなぁ

ツール類が無かったから上げといた
BMP2RGB12a
外部リンク[zip]:gamdev.org
WideMapEditor08
省4
641: 2007/01/02(火)18:54 ID:2qSyyt6K(1) AAS
>>639
ある程度は自分で何とかしないと、道具だけあったって
いつまでたっても完成しないぜ。
642: 2007/01/25(木)03:02 ID:M87w4hor(1) AAS

643: 2007/02/25(日)15:53 ID:6fWnPDMq(1) AAS
上のツールとログ感謝。
プログラミング初心者だけど少しずつ勉強してます。
644: 2007/03/29(木)00:37 ID:82qQevcM(1) AAS
DragonBasicでプログラミングをしたみたいんですが、
どんなサイトや本で勉強するのがいいでしょうか?
また、どのBasic言語に近いですか?
645: 2007/03/29(木)21:18 ID:YDI3ylWF(1) AAS
DragonBasicやるぐらいなら Cの方が良くね?
資料やサンプルも多いし。。。
646: 2007/03/30(金)22:12 ID:YkDKnwst(1) AAS
上に同じく、DragonBasicだけはお勧めできない。
まだVisualHAMの方がましかと思われ。
647: 2007/04/02(月)22:07 ID:0q+4yudy(1) AAS
AGE
648
(1): 2007/04/17(火)16:29 ID:P6JhDjR/(1) AAS
誰かすずめ愛好会のログ保管してる方いません?
649
(1): 2007/04/20(金)17:48 ID:i9Q+t8gp(1/2) AAS
>648
外部リンク:web.archive.org

今年最初も消えた騒ぎあったから、たぶんまた復活するよ
・・と思ってたら今度は「閉鎖します」ってあるね。
どうしたんだろう・・
DSはエミュの準備が遅れたせいか盛り上がりが今ひとつだし。
コンシューマーで趣味で開発するのも下火になってくのかな
省2
650: 2007/04/20(金)17:50 ID:uuMZCywc(1) AAS
 
651: 2007/04/20(金)17:53 ID:i9Q+t8gp(2/2) AAS
外部リンク:www.gbadev.org
こっちも二ヶ月ほど更新ないし保存したい人は急いで・・・
と見てみたら更新キター(涙)
652: 2007/04/27(金)02:08 ID:DA6N3Znq(1) AAS
>>649
この前移転したばっかじゃん…と思ったら消えてた。
まぁ研究所と違ってhtml保存しといたからいいけど、
すずめ愛好会はGBAの項書きかけなんだよな。
653: 2007/05/01(火)16:14 ID:PWiUSG0M(1) AAS
「ゲームボーイのプログラム・改造マニュアル」って本読んだ事ある人居ますか?
買おうかと思ってるんだけど
ゲーム制作に生かせそうな内容なのかな?
654
(1): 2007/05/01(火)19:52 ID:GE2MjvK1(1) AAS
ゲームボーイの構造を理解するのには使えると思う。
開発環境の導入からわからなかったり、自作のフラッシュカートリッジを作るつもりなら買うといい。

ゲーム製作についてのノウハウに期待するならやめておいた方がいい。
655: 2007/05/03(木)00:08 ID:D5OchpDV(1) AAS
>>654
遅れながら参考になりました、ありがとうございます。
656: 2007/05/07(月)00:05 ID:OG5zBZdn(1) AAS
書籍つながりで、さっきヤフオクでケーブル付きのGBA本が
かなり競った結果、定価以上で落札されてた。
書籍は相当薄かったから価値の殆どはケーブルだろうけど。

とりあえず、昨日定価で売ってるところ見つけたんで買いに行ってくるわノシ
657: 2007/05/13(日)11:57 ID:wW9pgdXS(1) AAS
押入れから昔買ったパラレル用のブートケーブルが出てきた
いつ買ったか記憶にねえけどこれを使って遊んだ記憶はある
USB版もあるらしいけどもう売ってないんだね・・・
658
(1): 2007/05/30(水)00:46 ID:FQR+i3Gi(1) AAS
これからやろうと思うんだけど、どの環境でやるのがおすすめ?
devKitProはインストール簡単って聞いたけど、これでよい?
659: 2007/05/30(水)07:51 ID:bMMHSJx3(1) AAS
>>658
devkitProとVC2005EEおすすめ。
660: 2007/06/06(水)23:28 ID:sfjb+KuV(1) AAS
ありがとう
661: 2007/07/11(水)15:37 ID:yUK6R5E5(1) AAS
lfwgewreheh

hjyjrwyjwj

ryuklryul

ryeyet

ylflily
省2
662
(3): 2007/09/15(土)13:41 ID:KXWFvYd6(1) AAS
GBA で弾幕 1024 発
外部リンク[html]:gba.pqrs.org

弾幕ゲー
外部リンク[ja]:gba.pqrs.org
外部リンク[ja]:gba.pqrs.org
663
(1): 2007/09/15(土)18:35 ID:odGWNMQb(1) AAS
>>662
前に見たけど、
今見ると、スプライトダブラーすごいよなあ
他の発売されたソフトでもやってたんかな?
664: 2007/09/17(月)23:06 ID:01k7iDJx(1) AAS
>>662
何か知らんがやる気が湧いてきた。ありがとー。
665: 2007/09/18(火)13:11 ID:X/1lrDkx(1) AAS
>>663
8bitの時代からある技法だよ。
666: 2007/09/19(水)03:28 ID:/41S7z44(1) AAS
Macで作ってる人居ますか?
667: 2007/09/25(火)03:48 ID:Wtxosh+4(1) AAS
ゲームボーイのプログラム・改造マニュアル
ゲームボーイプログラミング入門

両方吸出し機とかの方に力入れてて全然役に立たなかった。
特に後者はGBAを表紙に入れておきながら殆ど触れていない。
一緒に買ったC言語超入門―Windowsでゲームボーイのプログラムを作ろう!は使えたなぁ。
668: 2007/09/28(金)04:26 ID:3PURGaCN(1/2) AAS
すいません、質問させて下さい。
typedef unsigned char u8;
typedef unsigned short u16;
typedef signed char s8;

#define USE_SPRITE_NUM 8
typedef struct{
  u8 tileno ; // 使用するタイル番号
省15
669
(1): 2007/09/28(金)07:29 ID:MwwoigrE(1/2) AAS
境界揃えようとするから。
&graphicpat_t->sprites[0] でアドレス出力してみりゃいい。

typedef struct{
  u16 tileno ; // 使用するタイルデータ番号
  u8 usespritenum ; // 使用するスプライトの数
 ここにダミーが1バイト
  spritedata_t sprites[USE_SPRITE_NUM] ; // スプライトの情報
省4
670
(1): 2007/09/28(金)07:54 ID:S2twr9xc(1) AAS
詳しいことはこちら。
外部リンク[html]:www.jp.arm.com

対処法はこんな感じで。
#define __PACKED __attribute__ ((__packed__))

typedef struct{
u16 a;
u8 b;
省2
671
(1): 2007/09/28(金)10:15 ID:MwwoigrE(2/2) AAS
dummy[1] を上に移動するだけでもいいよ。
672: 2007/09/28(金)17:57 ID:3PURGaCN(2/2) AAS
>>669-671
あれから自分でもパディングの事を調べてみたんですが、
パディングって構造体の最後だけじゃなくてメンバの途中にも入るんですね。
メンバがu8一つだけの構造体のサイズを調べると2バイトになっていたり、
u8二つの構造体のサイズは4バイトだったりするのが謎だったりで
まだちゃんと理解できてはいないのですがとりあえず
graphicpat_tのdummy[1]をusespritenumnumの次にする事でうまくいってます。
省1
673: 2007/09/29(土)19:37 ID:Yyp6PcC5(1/2) AAS
.cファイルに書いた場所(順番)によって、ポインタが指す場所が変わるのですが、
原因がわかる方はいらっしゃいますか?
具体的には

const u8 hogebindata[HOGE_SIZE] ; // .oファイルから

HOGE* pHoge1 = &hogebindata[0] ; // HOGE構造体のポインタ
HOGE* pHoge2 = &hogebindata[0] ;

これでpHoge1とpHoge2の指す場所が変わったのですが。
674
(1): 2007/09/29(土)20:45 ID:/Cn9Hphu(1) AAS
その現象は確認したことがないので
お役に立てないかも。

指す場所が変わったというけれど
1,2バイト程度のズレなのか、全然無関係な
アドレスを見ているのか気になります。

前者ならコンパイラの最適化の影響?
volatile修飾子つけてみてはどうでしょうか。
省5
675: 2007/09/29(土)22:41 ID:Yyp6PcC5(2/2) AAS
>674
レスありがとうございます。ズレも定義する位置毎に変わったり、
さらには他の部分の関数等の量(?)にも変わったりするので良く解りません。
とりあえず、今まではグローバルで定義と初期化をしていたのですが、
初期化をAgbmain()の冒頭にしたら見かけ上はうまく行きました。
原因が解らないのが気持ち悪いところではありますが…。
676
(1): 2007/09/30(日)13:48 ID:2cArtL+Y(1) AAS
・u8型なのに、HOGE*型で参照しようとするので
 キャストがおかしくなっているのかもしれない。

・Agbmain関数と聞いて、開発環境が
 DevkitAdvanceではないかと思いました。
 もしそうならばdevkitProに変えてみるといいかも。

・最終手段で、バグのままの状態でプロジェクト一式
 アップしてみるとか(ぉ。
省2
677
(1): 2007/09/30(日)14:47 ID:3pf8Eidk(1) AAS
全部じゃなくても、そちらの環境で再現する最小限のソースをうpしてみなよ。
678: 2007/10/01(月)06:09 ID:47UHIi+z(1) AAS
>676
片方が駄目で、片方は普通に使えるというのが謎なんですよね。
コンパイラの最適化関係で、何かされているのでしょうか。
makefileは他のサンプルをそのまま使っているので、
その辺のオプションは弄くれていないのでそういう事もあるかも知れないです。
それとお察しの通り、DevkitAdvanceを使ってます。
自分もdevkitProに変えたいのですが、いまいちやり方がわからず…。
省5
679: 2007/10/03(水)14:03 ID:XInTGgcu(1) AAS
コンパイラはDEVKITのどのバージョンですか
680
(1): [age] 2007/11/01(木)03:19 ID:zUdctaSC(1/2) AAS
2バイトパレットってBIT15は未使用のはずなのに、
ゲームによってはBIT15が1で、+8000hされてる色が
稀に使用されていたりして、用途がさっぱり解らないんだけど
誰かわかります?

色違いキャラなどで、同じ色が使用されている時に片方のみ
+8000hされてるなんて事はないから
意図的な設定なんだろうけど
681: [age] 2007/11/01(木)03:21 ID:zUdctaSC(2/2) AAS
同じ色が含まれている、の間違いです
682
(1): 2007/11/01(木)03:57 ID:bsWY8rCq(1) AAS
なんの根拠もないが、なんかのフラグで使ってるんじゃないか?
たとえば、パレットアニメの対象外にする時にビットを立てておくとか。
683: 2007/11/01(木)05:48 ID:ep0Z0ILK(1) AAS
>662
変なのー。
周りのやる気をなくさせようという気がまんまんだね。
言ってることとやってることが違うと何だか腹立つ。

…やってること自体は簡単だから、「すごい」とか騙されては駄目だよ。
一介のプロのつもりなんだろうけど、むしろ手抜きが目立つね。
サウンドも背景もちゃんと凝った方が全体の評価は高い。
684: 2007/11/01(木)09:42 ID:ihkhmp1x(1) AAS
>>680
GBAだと使用しないけど、NDSだとBIT15は透過フラグになってて、モードによってはそのBITを立てて使う。
NDSのプログラムでも使えるようにしてるか、git(データの変換)なんかでフラグ立てる設定で
変換したのを間違ってそのまま使ってるんじゃないかな。
685
(1): 2007/11/02(金)17:34 ID:mn9t6mJD(1) AAS
透過フラグの存在は初耳です。
でもキャラスプライトに二つ以上の透過色が
必要な使われ方はしてなかったようです。
何かのフラグが残ったままって可能性はありそう。

>>682
そういうケースもありそうですが、
パレットアニメが使われてた様子はないっぽいです
686: 2007/11/02(金)22:13 ID:IwsTzJ5B(1) AAS
聞いたことないけど
もし'何かある'としたらブレンドモードだと思う。
どんな状況で表示されてるスプライトなんだ?
687: 2007/11/03(土)10:22 ID:gtw8DYou(1) AAS
>>685
NDSはスプライトにはタイルだけじゃなく、ビットマップも使えるようになってる。
ビットマップだと0番パレットみたいな透過色の代わりに、BIT15立てることによって透過を実現してるんじゃない。
688: 2007/11/05(月)08:24 ID:WSMZViqh(1) AAS
俺にもビット15が0で色が表示されないと悩んでた時期があった
689: 2007/11/15(木)20:19 ID:LZz2LXH5(1) AAS
携帯電話の液晶を再利用したボードPC「DVIEW」
外部リンク[pl]:slashdot.jp

スプライトは使えないけど、オイラ的には実機でも動かしてみたいからこれ買うつもり

性能的にはこんなもん

CPU: ARM7TDMI Core (81MHz)
メモリ: On-Chip 40Kb SRAM (外部SD, FlashROMが利用可能)
ディスプレイ: 320x240、32K(RGB555)色
省3
690: 2007/11/16(金)05:22 ID:FnKxVSr6(1/2) AAS
メモリ 40Kbで、一体なにができるんだw
691: 2007/11/16(金)06:49 ID:oFaiRmep(1/2) AAS
40KBの間違いだろ
692
(1): 2007/11/16(金)07:05 ID:FnKxVSr6(2/2) AAS
40KBでも同じこと
693: 2007/11/16(金)12:22 ID:oFaiRmep(2/2) AAS
>>692
最初に買ったパソコンはRAM16KBだったがいろいろ出来たぞ
694
(1): 2007/12/05(水)01:08 ID:q7aGDUhk(1) AAS
全くの初心者なんですが質問させてください

既存のゲームをベースにポケモンやメダロットやFFなんかを、
テキストやら音楽やら絵やらパーツやらモンスターやらを追加したり差し替えたりして作りたいと思っているのですが
おおまかな手順と必要な知識を教えてください
695: 2007/12/05(水)02:10 ID:FhM2zJFq(1) AAS
簡単に言うと板違い。
gameurawazaに行って下さい。

難しく言うと
差し替え→コンスタント領域から該当箇所を見つけてリプレース
追加→コード領域からコンスタント領域参照部分を見つけて分岐もしくはテーブル書き換え
必要な知識→各種データフォーマット・LZ77圧縮法・ARM7インストラクション
696: 2007/12/05(水)17:45 ID:qkiwd5QC(1) AAS
算数知らないのに数学の教えを乞うようなモン
質問でもなんでもない

と書こうとしたら695が親切すぎて泣いた
697: 2007/12/06(木)19:07 ID:+3Rk8p3E(1) AAS
>>694
GBAは難しいからファミコンで練習するといいんじゃない。
698: 2007/12/07(金)00:00 ID:zCCzBOkw(1) AAS
super card上でデータを保存するにはどうすればいいんでしょうか
sramに書いたあと、自分でメニュー呼んでSDに保存できればいいのですが、どうパッチをあててもできず。
自作ソフトには付けられないんですかね、パッチ。

また、同じくsuper cardで新しめのファームウェアだと起動すらしないのですが、アプリ側でできる対処法などご存知の方いませんか
699: 2008/02/02(土)06:07 ID:9JCHDRiH(1) AAS
誰かwww.agbdev.netで配布してたデモ(Nok_Keysupd.zip、sprite.zipとか)
持ってる人いる?どんな中身か知りたいんだけどサイトが潰れちゃってさ。
700: 2008/03/04(火)04:09 ID:ajlkIhCi(1/2) AAS
すいません。この本「Linuxから目覚めるぼくらのゲームボーイ!」
を読みながら、第2章のbox_tile.cまで進んだんですが、
サンプルプログラムをそのまま使用して、
コンパイルまでできたのですが、VBAで実行させると画面が真っ暗なままで
何も起こりません。これは実機でないと動作しないのでしょうか?
701
(1): 2008/03/04(火)12:37 ID:23nZbsqP(1) AAS
半分あたり
その本はメモリからブートすることを前提にしているので
ROMからブートすることを前提にしているエミュだとそのままでは動作しない
VBAで動かすにはbox_tile.mb.binに名前を変えてあげな
702: 2008/03/04(火)21:25 ID:ajlkIhCi(2/2) AAS
>>701
レスありがとうございます。
ファイル名を変えてやってみましたがうまくいきませんでした。。
代わりにリンカスクリプトでプログラムの開始アドレスを0x08000000に変えたら動きました!
おかげで挫折する期間が延びましたwありがとうございました。
しかしbox_tile.cより前に出てくるプログラムは何で内部メモリブートでもうまくいったのかなあ
703: 2008/03/08(土)22:06 ID:IYGGmug3(1) AAS
すいません。「Linuxから目覚めるぼくらのゲームボーイ!」
を第3章まで読み進めたのですが、clock.cがうまく動作しません。
割り込みハンドラの中でvolatile修飾したグローバル変数の値を書き換えているのに
全く値が変わりません。なにか考えられる原因はありますか?
ちなみに割り込みハンドラ自体が実行されていることは自作のprintf文の実行結果から
画面に文字が出力されるので間違いありません。
704: 2008/03/09(日)00:32 ID:9hgngbOa(1/2) AAS
>ちなみに割り込みハンドラ自体が実行されていることは自作のprintf文の実行結果から
>画面に文字が出力されるので間違いありません。
釈然としない
どう出力されたからそう思ったの?
ちょっと貼ってみてよ
705: 2008/03/09(日)01:09 ID:gfwS1uas(1/4) AAS
該当部分のソースを張ります。
これでタイマー0がオーバーフローしたときに下記関数が実行されて、
VBAver1.7.2だとなぜか0110100100111010が常に表示されます。

volatile int tmr0_cnt = 0x0000;

void int_handler(void){
int flag;
int i;
省17
706: 2008/03/09(日)01:10 ID:gfwS1uas(2/4) AAS
ちなみにメイン関数の方では下記処理を行っており、
タイマ0のカウンタは正常にカウントアップしていることが画面表示から確認できました。
何か分かりますでしょうか。よろしくお願い致します。

while(1){
sec = register(TMR_COUNT0);
for(i=0; i<16; i++){
if(((sec >> i) & 0x0001) == 1){
省7
707
(1): 2008/03/09(日)01:16 ID:gfwS1uas(3/4) AAS
あと、リンカスクリプトを書き換えて、テキストセクションの開始アドレスを
0x80000000にしているのですが、このことが何か関係があるのでしょうか。。
708: 2008/03/09(日)05:29 ID:9hgngbOa(2/2) AAS
ひょっとして全て理解した上でからかってる?
>>707はたしかに関係ある
テキストセクションを0x08000000に置いたあと以降の
連続した領域にBSSセクションとデータセクションを置いているので
グローバル変数に書き込みたくてもROMだから書きこめない
今までよく動いてたな。。。
709: 2008/03/09(日)09:31 ID:gfwS1uas(4/4) AAS
リンカスクリプトについての理解が不十分でした。
下記ホームページを参考にリンカスクリプトを書き換えたら、
見事1秒ごとにtmr0_cntが0からカウントアップされるようになりました。
おかげで挫折する期間が延びました。ありがとうございました。
外部リンク[php]:www.nextappli.com
710: 2008/03/09(日)19:34 ID:I/rPhsey(1) AAS
例えば
mov r1, #128
strh r1, [r3, #0]
ldrh r3, [r2, #0]

を実行するのに、何クロック掛かるか・・という事を説明してくれる
本やサイトご存知内ですか?
711: 2008/03/11(火)00:29 ID:IfG+az6x(1/4) AAS
音の多重再生をするにはどうしたらいいのですか
712
(1): 2008/03/11(火)00:36 ID:IfG+az6x(2/4) AAS
数十曲の音楽データをROMに格納したいのですが容量が足りません。
何か工夫が必要なのでしょうか。
マザー3なんかは100曲ものBGMが入ってましたがあれはどうやって実現しているのでしょうか。
713
(1): 2008/03/11(火)00:38 ID:IfG+az6x(3/4) AAS
すいません。100曲でなく250曲の間違いでした。
714
(1): 2008/03/11(火)01:46 ID:UWuqXy/S(1) AAS
譜面データと、音源データを分けて持っているから、かな?
MIDI見たいな感じで。

それに、要所要所でPCMをかぶせれば
大抵の曲は再現できそう。

あとは、圧縮をかけるだね。
(譜面データにたいして、また、ADPCMとは言わないが適当な圧縮形式で。)
715
(1): 2008/03/11(火)09:34 ID:IfG+az6x(4/4) AAS
そんなのは俺の手に負えねえ。ここで挫折しまするわ。
716: 2008/03/12(水)17:36 ID:Us8flhJs(1/2) AAS
ここでGBの事聞いても大丈夫かな?
バンク切り替えの事について調べてるんですけど
MBC2のバンク切り替えについてすずめさんところのウェブアーカイブと
お受験に出るゲームボーイのページを調べてみたんですけどMBC2に関する情報が載っていなくて…
恐らく0x2000番地への書き込みだと思うんですけどどこか正確な情報がある場所ってないでしょうか?
それと現在自分がどのバンクを操作しているのか判別する方法があるかないかご存知の方いらっしゃいますか?
もしかしてバンクの位置情報はどこにも展開されず完全に自分で管理する必要があるんでしょうか?
省1
717: 2008/03/12(水)17:53 ID:Jo1vXsg5(1) AAS
スレ違い
外部リンク[txt]:www.geocities.co.jp
外部リンク[html]:fms.komkon.org
エミュレータのソースも併せて読むといい
718: 2008/03/12(水)18:12 ID:Us8flhJs(2/2) AAS
すみません該当するようなスレが無かった物で。
挙げて頂いた上記サイト等も参考にしてみます。
エミュのソースをみれば確かに内部動作はカンペキに把握できますね。
GBのエミュも大分こなれてる様なのでその辺も参考にしてみます。
ご親切にどうもありがとうございました。スレ汚し失礼しました。
719: 2008/03/13(木)15:11 ID:d99ZfhW7(1) AAS
>>712-715
GBA用のFreeのMODライブラリでも使って組み込めばそれで終わり。
問題は、MODを作れるかどうかだがw
720
(2): 2008/03/16(日)06:19 ID:RXPkoV7l(1) AAS
devkitProを使ってGBAでゲームを作っているのですが、
const int hoge1 = 1 ;
const int hoge2 = hoge1 ;
のようにすると、「initializer element is not constant」と出てしまいます。
VC++だと普通にコンパイルが成功しました。
Cではこういう事は出来ないのでしょうか?
1-
あと 282 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.024s