[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 2chのread.cgiへ]
Update time : 05/09 11:45 / Filesize : 221 KB / Number-of Response : 833
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

ゲームボーイアドバンス(GBA)非公式開発 Part2



1 名前:名前は開発中のものです。 mailto:sage [04/10/30 15:50:05 ID:XmInH8YR]
GBAで何やら作ってみようという人の為のスレ。ライセンス不要。
初心者歓迎。質問歓迎。英語苦手な人歓迎。冷やかし歓迎。ネカマ歓迎。

資料、リンク等
www.devrs.com/gba/
www.gbadev.org/
www.vsync.org/agb/
nocash.emubase.de/gbatek.htm
www.bomber.co.jp/chaola/docs/ARM/

開発環境
DevkitAdvance devkitadv.sourceforge.net/index.html
DevkitARM www.devkit.tk/
VisualHAM visualham.console-dev.de/
DragonBasic jm-basic.com/dragon/index.php

GBA Wiki
cgi.f26.aaacafe.ne.jp/~gbawiki/pukiwiki/pukiwiki.php
【GBA】Linuxから目覚めるぼくらのゲームボーイ!
pc5.2ch.net/test/read.cgi/linux/1070983168/

ゲームボーイアドバンス(GBA)開発@ゲ製板(避難所)
bbs.gamdev.org/test/read.cgi/gamedev/1055111303/
前スレ
pc5.2ch.net/test/read.cgi/gamedev/1013750899/


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

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

415 名前:名前は開発中のものです。 mailto:sage [2006/02/13(月) 20:34:51 ID:NZEWyj/P]
心が狭いのね
狭くなくっちゃ、心も車も

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

417 名前:407 [2006/02/13(月) 23:11:29 ID:eECtxr3h]
414さまアップお願い致します。

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

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

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

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

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

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



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

423 名前:名前は開発中のものです。 mailto:sage [2006/02/14(火) 00:51:24 ID:kJMSUOot]
ttp://user.chem.tue.nl/jakvijn/downloads.htm
この辺とかは?

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

425 名前:384 mailto:sage [2006/02/14(火) 00:59:46 ID:tYPhpHwC]
俺もprintf関数もどき作りました。

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

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

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

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

427 名前:名前は開発中のものです。 [2006/02/14(火) 18:19:17 ID: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 名前:名前は開発中のものです。 mailto:sage [2006/02/14(火) 18:55:03 ID:WgJRobF9]
画像データ領域(VRAM)とキャラクター領域(OAM)は分離して考えろ
>>427の例で言うと
OAMには128個登録できても
VRAMには64種類の画像しか収まらない

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

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

430 名前:424 mailto:age [2006/02/14(火) 21:44:12 ID:oQP7vhex]
自作snpritnf(snprintf_mini)です。良かったらどうぞ
49uper.com:8080/html/img-s/111753.lzh

431 名前:420 mailto:sage [2006/02/15(水) 23:02:19 ID:UMaLkZ5l]
ありがとうございます!
正直、よく分からないですが、参考にするか
もしくはそのまま使わせて頂きます!



432 名前:名前は開発中のものです。 mailto:sage [2006/02/16(木) 00:00:45 ID: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 mailto:age [2006/02/16(木) 09:40:13 ID:IJObToHy]
うん、文字画像データは入ってないよ
あくまでもおいらが作ったsnprintfの実装(snprintf_mini)だから文字列を作るだけです。

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

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

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

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

            ///




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

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


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

437 名前:424 mailto:age [2006/02/16(木) 21:32:19 ID:IJObToHy]
確認用に作った文字表示用プログラムです
ttp://49uper.com:8080/html/img-s/112125.lzh

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

438 名前:名前は開発中のものです。 mailto:sage [2006/02/16(木) 22:19:46 ID:M6PXBfNk]
拙作
ttp://gamdev.org/up/img/4680.png

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

440 名前:名前は開発中のものです。 mailto:sage [2006/02/16(木) 22:53:00 ID:Jk3f3/1N]
>>438
liarsoftさん?

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



442 名前:432 mailto:sage [2006/02/17(金) 16:40:32 ID:x9jBkP1z]
サンプルありがとうございます。
私は420=431さんとは別人です、横入りすみません。

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

443 名前:名前は開発中のものです。 mailto:sage [2006/02/17(金) 18:32:26 ID:iAZtWxeh]
ttp://khdd.net/kanou/fonts/x11bdfs.html

444 名前:424 mailto:age [2006/02/18(土) 01:08:37 ID:uRwRaCgY]
おお、サンクス
でもbdfフォーマットの仕様書はadobeの有料開発メンバじゃないと読めないのね・・・

で、探した結果、良さそうなページを発見
ttp://hp.vector.co.jp/authors/VA013241/font/bdf.html

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

445 名前:名前は開発中のものです。 mailto:sage [2006/02/18(土) 02:27:52 ID:QKtp7HhO]
DIRECTSOUNDをDMAで鳴らそうと
belogic.com/gba/directsound.shtml
を参考にしてるんですが、演奏を止めるための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 名前:名前は開発中のものです。 mailto:sage [2006/02/18(土) 03:41:17 ID:4ZdB2i2h]
データサイズで合ってる
cascade from time 0になっているということは
timer 0が桁あふれしたときにtimer 1が1つ進むということ
timer 0が桁あふれしたとき同時に何が起こっているのか考えてみればそのうち分かる
頑張れ

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

448 名前:名前は開発中のものです。 mailto:sage [2006/02/18(土) 17:05:13 ID:ZbScaNGm]
フリーの日本語ビットマップフォント一覧
ttp://kappa.allnet.ne.jp/kanou/fonts/x11bdfs.html


449 名前:名前は開発中のものです。 mailto:sage [2006/02/18(土) 18:51:03 ID:iQRmZRdR]
5つほど上に既に貼ってあるジャマイカ

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

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



452 名前:名前は開発中のものです。 mailto:sage [2006/02/19(日) 01:10:26 ID: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 mailto:sage [2006/02/19(日) 01:11:38 ID: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 名前:名前は開発中のものです。 mailto:sage [2006/02/19(日) 02:00:16 ID:m3SmeD2S]
>>452
了解しました。トライしてみます。
あと、timerを使わずに止める方法があるのならご教授プリーズ。


455 名前:名前は開発中のものです。 mailto:sage [2006/02/19(日) 04:25:56 ID:iq15VETn]
チョット違うことしてるのかな?一応
つdirecsoundサンプル
gamdev.org/up/img/4705.zip

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

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

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

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

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

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



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


463 名前:名前は開発中のものです。 [2006/02/21(火) 05:42:06 ID: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 名前:名前は開発中のものです。 mailto:sage [2006/02/21(火) 07:28:21 ID:GiHvck/8]
書き込みできるかテスト

465 名前:名前は開発中のものです。 mailto:sage [2006/02/21(火) 08:22:43 ID:BSGVJJY5]
>>463
それぞれの変数の値を出力してみろ

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

467 名前:名前は開発中のものです。 [2006/02/25(土) 15:24:22 ID: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 名前:名前は開発中のものです。 [2006/02/25(土) 15:25:34 ID:LRNrnoNa]
変数の型と変数名がつながっているのは書き込み時に
つながってしまったもので実際には正しく記述しています。

469 名前:名前は開発中のものです。 mailto:sage [2006/02/25(土) 16:32:04 ID:ChwfFfDn]
>>466-467
アライメントの勉強をしてみよう。
www.google.co.jp/search?q=%E3%83%A1%E3%83%A2%E3%83%AA+%E3%82%A2%E3%83%A9%E3%82%A4%E3%83%A1%E3%83%B3%E3%83%88

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

470 名前:424 mailto:age [2006/02/25(土) 17:25:32 ID:T5T+YA0I]
こういう使い方をしたいときはunionを使うんだっけ?

使ったことないけど

471 名前:名前は開発中のものです。 mailto:sage [2006/02/25(土) 17:28:03 ID: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 名前:名前は開発中のものです。 mailto:sage [2006/02/25(土) 17:30:14 ID:JLoubNl/]
>>470
この場合unionは全く関係ないし的外れ

473 名前:名前は開発中のものです。 mailto:sage [2006/02/25(土) 17:32:36 ID:+k+s2zkt]
メモリをダンプしてみろ
それからだ。

474 名前:名前は開発中のものです。 mailto:sage [2006/02/25(土) 17:38:12 ID: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 名前:名前は開発中のものです。 [2006/02/25(土) 18:20:18 ID:LRNrnoNa]
みなさん、アドバイスありがとうございます。
アライメント自体の概念はわかりました。
実用についてはまだよくわからんのですこし調べてみます。

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

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

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

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

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

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

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

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

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

これで使える。ヤター!

480 名前:479 mailto:sage [2006/02/26(日) 07:53:54 ID:e+6sQVje]
のべ〜るは>>380
でした。失礼。

481 名前:466 [2006/02/26(日) 15:39:57 ID:UpVKMws2]
構造体のキャストで質問したものです。
とりあえず、みなさんのおかげで
スプライト制御が一段落したんで
経過をご報告します。
ttp://2ch-library.com/uploader/src/up_2121.zip



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

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

483 名前:名前は開発中のものです。 mailto:sage [2006/02/27(月) 22:45:37 ID:NtZAdaLq]
>>482 gcc なんだから、できるよ。

484 名前:名前は開発中のものです。 mailto:sage [2006/02/27(月) 23:07:51 ID:yy1S2zAQ]
>>482
つ Tennodai Bunko

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

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

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


487 名前:名前は開発中のものです。 mailto:sage [2006/02/28(火) 13:47:49 ID:ykuetkSe]
確証は無いけど透明色じゃないの?

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


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

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

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

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


491 名前:名前は開発中のものです。 mailto:sage [2006/03/02(木) 23:52:12 ID:fFp03F4Q]
>>490
漏れの環境ではVBA-SDLでしかInsightと接続できないorz



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

493 名前:名前は開発中のものです。 mailto:sage [2006/03/04(土) 13:52:52 ID:x3hAFwv9]
>>492
VBAでGBAファイル起動

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


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

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

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

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

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

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

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

501 名前:名前は開発中のものです。 mailto:sage [2006/03/04(土) 22:30:48 ID:ega3649d]
>>498
SRAM(0x0E000000〜)に数値書き込めばいい



502 名前:名前は開発中のものです。 mailto:sage [2006/03/05(日) 10:53:06 ID:bBYTbtx/]
>>500
管理人が捕まったとか

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

504 名前:名前は開発中のものです。 mailto:sage [2006/03/05(日) 16:30:00 ID:vg84cSdA]
>>503
怒られたので消しました、って更新履歴にあったような気が?
今となっては確認が難しいが。

505 名前:名前は開発中のものです。 mailto:sage [2006/03/05(日) 22:27:41 ID:aIloybH9]
”捕まった”とか言うとデマに発展しそうな気がしてイヤンな感じ

広告掲載の方法についてサーバーの提供元から警告が来たので広告を消した、
というような更新が最後だった希ガス

確かにGBAの方は更新がほぼ止ってたような気がしないでもないが
DS用のページも作ってたみたいだし(DSの方はやってないのでよく知らないが)
更新意欲がなくなってそのままフェードアウトした感じではないのだが・・・

506 名前:名前は開発中のものです。 mailto:sage [2006/03/05(日) 22:32:48 ID:ZGr9k1wh]
DSの方の掲示板は業者スパムだらけだったな

507 名前:名前は開発中のものです。 [2006/03/07(火) 00:19:36 ID:2maRPTXR]
ソニックザヘッジホッグやロックマンとかの横スクロールアクションで
地形、足場の当たり判定をどのように持つかについて質問なんですが

素人考えだと
@タイルごとに当たり判定の属性を持つ。
A当たり判定のある背景だけを一つのBGに分けて
 背景色以外の部分に当たり判定を持つ。
だと思うのですが

@だとタイル単位でしか扱えないため斜めの坂などの複雑な地形を作れません。
Aだと坂とかも表現できるとおもいます。

でも、ロックマンゼロとかのマップデータをVBAで確認してみると
当たり判定がある部分と無い部分の背景が一枚のBGに描かれています。
この場合、どのように当たり判定を持っているのでしょうか?

作成するゲームによって当たり判定の持ち方は変わってくると思いますが
上記のようなゲームを作る場合はどのように当たり判定を持つのが一般的でしょうか?
参考になるサイトとかあれば教えてもらえないでしょうか?


508 名前:名前は開発中のものです。 mailto:sage [2006/03/07(火) 01:50:52 ID:TN1OAFRk]
>>480
つ ttp://gamdev.org/up/img/4889.zip


509 名前:名前は開発中のものです。 mailto:sage [2006/03/07(火) 07:32:50 ID:P11agiDo]
>>507
当たり判定だけのマップを作る
そのマップが視覚的に見えてる必要は無い

510 名前:名前は開発中のものです。 mailto:sage [2006/03/07(火) 07:35:16 ID:jNiGJUSI]
>>507
BGにとらわれずに、マップのパラメータを配列の変数として持てばいいんじゃね?
床と傾斜の違いも同じく。

511 名前:名前は開発中のものです。 mailto:sage [2006/03/07(火) 22:33:51 ID:GCKxwI5B]
>>507のAは草の上を歩く場合、困ったことに…葉っぱ一枚の上にも乗っかってしまう。
>>509 510のやり方をになると想像。チップごとに当たり判定がある@の方法。
チップごとに次のような判定をする。

0…当たり判定無し
 □□□□
 □□□□
 □□□□
 □□□□
@…当たり判定あり。
 ■■■■
 ■■■■
 ■■■■
 ■■■■
A…当たり判定ありで次のような判定をする
 ■□□□
 ■■□□
 ■■■□
 ■■■■
B…当たり判定ありで次のような判定をする。
 □□□■
 □□■■
 □■■■
 ■■■■
白い□の部分は当たり判定が無い。背景チップ番号を取得して0〜Bの場合に
分けて当たり判定。当たり判定の種類をもっと増やすこともできる。
これでマリオ風の坂道をなだらかに歩いて降りる表現もできるようになる。
チップ内の当たり判定だけど、上は4x4マスにしたけど、8x8ドットで
判定するなら8x8マスでの当たった/当たらない判定になる。
やったことないので想像です、スマソ。



512 名前:名前は開発中のものです。 mailto:sage [2006/03/07(火) 22:38:25 ID:GCKxwI5B]
>508
乙です。ありがたく使わせていただきます。

513 名前:名前は開発中のものです。 mailto:sage [2006/03/10(金) 16:21:11 ID:/vUYzsUw]
インターネットアーカイブがzipとかも保存してればなぁ・・・






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<221KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef