GBAで何やら作ってみようという人の為のスレ。ライセンス不要。
初心者歓迎。質問歓迎。英語苦手な人歓迎。冷やかし歓迎。ネカマ歓迎。
資料、リンク等
http://www.devrs.com/gba/
http://www.gbadev.org/
http://www.vsync.org/agb/
http://nocash.emubase.de/gbatek.htm
http://www.bomber.co.jp/chaola/docs/ARM/
開発環境
DevkitAdvance http://devkitadv.sourceforge.net/index.html
DevkitARM http://www.devkit.tk/
VisualHAM http://visualham.console-dev.de/
DragonBasic http://jm-basic.com/dragon/index.php
GBA Wiki
http://cgi.f26.aaacafe.ne.jp/~gbawiki/pukiwiki/pukiwiki.php
【GBA】Linuxから目覚めるぼくらのゲームボーイ!
http://pc5.2ch.net/test/read.cgi/linux/1070983168/
ゲームボーイアドバンス(GBA)開発@ゲ製板(避難所)
http://bbs.gamdev.org/test/read.cgi/gamedev/1055111303/
前スレ
http://pc5.2ch.net/test/read.cgi/gamedev/1013750899/
探検
ゲームボーイアドバンス(GBA)非公式開発 Part2
■ このスレッドは過去ログ倉庫に格納されています
04/10/30 15:50:05ID:XmInH8YR
360名前は開発中のものです。
2006/01/15(日) 23:35:28ID:jOSGvqrE >>359
どうもです^^
どうもです^^
361名前は開発中のものです。
2006/01/16(月) 15:19:06ID:T9mslL+x 初心者すぎるとだめですか
そうですか
そうですか
362名前は開発中のものです。
2006/01/16(月) 16:03:05ID:CTGsSkVi そんなこと無いけどGBA研究所のBBSで聞いた方がいい
質問が多いみたいですね。あちらの方が丁寧に
教えてくれますよ。
質問が多いみたいですね。あちらの方が丁寧に
教えてくれますよ。
363名前は開発中のものです。
2006/01/16(月) 16:27:56ID:T9mslL+x ごめんスレ間違った
364名前は開発中のものです。
2006/01/16(月) 16:37:45ID:mOmX5K2f パスが通ってねえだけだろ
DOS窓開いて
c:
cd \devkitadv\bin
gcc -v
と打て
バージョンが表示されたらパスの設定しなおし
されなかったらインストールのしなおし
DOS窓開いて
c:
cd \devkitadv\bin
gcc -v
と打て
バージョンが表示されたらパスの設定しなおし
されなかったらインストールのしなおし
365357
2006/01/16(月) 18:44:54ID:CbJ6YI7c C:devkitadv¥gcctest>gcc-V
‘gcc’は内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチファイルとして認識されてません。
C:devkitadv¥gcctest>pause
続行するには何かキーを押してください、、、
と出ます
‘gcc’は内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチファイルとして認識されてません。
C:devkitadv¥gcctest>pause
続行するには何かキーを押してください、、、
と出ます
366名前は開発中のものです。
2006/01/16(月) 21:53:17ID:YtT3zcKi だから path 通せって・・
367357
2006/01/16(月) 22:20:20ID:CbJ6YI7c 通してますよ
Pathを選び編集、編集値の最初か最後にC\devkitadv\bin:を入れてOKですよね?これやっているけどできないです・・・ちなみに最後に付けてます
Pathを選び編集、編集値の最初か最後にC\devkitadv\bin:を入れてOKですよね?これやっているけどできないです・・・ちなみに最後に付けてます
368名前は開発中のものです。
2006/01/16(月) 22:24:36ID:XED7qovj 単なるタイプミスかもしれないけど、それセミコロンじゃないよな
369357
2006/01/16(月) 22:35:07ID:CbJ6YI7c あのレスは自分で打ったので気にしないでください。登録に使ったのは基本から学ぶサイトのをコピーして貼ったから間違いはないと思うのですが・・・
370名前は開発中のものです。
2006/01/16(月) 22:46:18ID:4iFikG75 ・gcc-v と打っていないか? gcc -v だぞ
・ちゃんとPATH設定してるか?
環境変数エディタ eveで確認しる
http://www.munepi.com/software/eve.html
あとは、コマンドプロンプトで、echo %PATH%と打った出力をさらしてみるとか。
・ちゃんとPATH設定してるか?
環境変数エディタ eveで確認しる
http://www.munepi.com/software/eve.html
あとは、コマンドプロンプトで、echo %PATH%と打った出力をさらしてみるとか。
371名前は開発中のものです。
2006/01/16(月) 22:52:01ID:mOmX5K2f372357
2006/01/16(月) 22:59:18ID:CbJ6YI7c373名前は開発中のものです。
2006/01/16(月) 23:31:51ID:4iFikG75374名前は開発中のものです。
2006/01/17(火) 00:42:17ID:9917DXoA375名前は開発中のものです。
2006/01/17(火) 01:45:50ID:Nc6+wOb/ 俺様メモ:
moefs20040712の関数moe_getfilenum()内の
if(strcmpi(filepath,fn)==0)
{
return i;
}
の直下に
filepath[0] = '\0';
が必要…あれ?公開停止!?
moefs20040712の関数moe_getfilenum()内の
if(strcmpi(filepath,fn)==0)
{
return i;
}
の直下に
filepath[0] = '\0';
が必要…あれ?公開停止!?
376名前は開発中のものです。
2006/01/17(火) 02:35:03ID:Nc6+wOb/377名前は開発中のものです。
2006/01/28(土) 04:46:46ID:qHfVsUDg ここでいいのかわからないけど。
空ロムにただのゲームボーイソフト突っ込んで、アドバンスでうごくの?
空ロムにただのゲームボーイソフト突っ込んで、アドバンスでうごくの?
378名前は開発中のものです。
2006/01/28(土) 05:27:44ID:qqUIY9F3 ゲームボーイの空ロムならうごくけど
アドバンスの空ロムには無理
アドバンスの空ロムには無理
379名前は開発中のものです。
2006/01/28(土) 14:37:31ID:RRZH8vGq 8bit PCMのwavをwav2gbaとかで変換せずにそのまま鳴らすには
wavヘッダ解析した後に割り込みの中でunsigned→signed変換する
しかない?
wavヘッダ解析した後に割り込みの中でunsigned→signed変換する
しかない?
380名前は開発中のものです。
2006/02/03(金) 02:23:02ID:slbWlN2h つ ttp://gamdev.org/up/img/4552.zip
381名前は開発中のものです。
2006/02/06(月) 21:06:46ID:T2WaEpGB つTinyB2T v0.20
ttp://nagoya.cool.ne.jp/dcdev38/gba/
ttp://nagoya.cool.ne.jp/dcdev38/gba/
382名前は開発中のものです。
2006/02/06(月) 21:49:34ID:WwPe7cx3383382
2006/02/06(月) 21:50:38ID:WwPe7cx3 あ、382は >380へのレスです。
384名前は開発中のものです。
2006/02/09(木) 10:13:49ID:Pyq5lHIe (コメント以外で)日本語を含むプログラムを書いた人っていませんか?
今、GCC 2.9 が採用している文字コード表を探していまして
直接的には見つからなかったのですが、「(\バグ付の)不完全なシフトJIS」らしいので
シフトJISコード表を参考にプログラムしちゃっていいんでしょうか
今、GCC 2.9 が採用している文字コード表を探していまして
直接的には見つからなかったのですが、「(\バグ付の)不完全なシフトJIS」らしいので
シフトJISコード表を参考にプログラムしちゃっていいんでしょうか
385名前は開発中のものです。
2006/02/09(木) 18:56:56ID:jiBYaVSU 「ソ」や「表」などの¥でエスケープすべき文字が分かっていればそれでいいよ。
EUCに代えるのも一つの手だとは思うけど。
EUCに代えるのも一つの手だとは思うけど。
386名前は開発中のものです。
2006/02/09(木) 19:25:28ID:6fIFnbBj387名前は開発中のものです。
2006/02/09(木) 19:59:06ID:BVk4/W+U388名前は開発中のものです。
2006/02/09(木) 21:08:07ID:2FQ4gYWp GBAプログラム研究所落ちてない?
なんでだろ。教えてエロい人。
なんでだろ。教えてエロい人。
389名前は開発中のものです。
2006/02/09(木) 21:10:03ID:2FQ4gYWp GBAプログラム研究所落ちてない?
なんでだろ。教えてエロい人。
なんでだろ。教えてエロい人。
390名前は開発中のものです。
2006/02/09(木) 21:45:17ID:BVk4/W+U ほんとだ
トップページは403 その他は404になってる
鯖落ちか何かじゃない
トップページは403 その他は404になってる
鯖落ちか何かじゃない
391名前は開発中のものです。
2006/02/10(金) 00:31:48ID:IqPCQaO9 みんななんだかんだいって見てるんだね
最近BBSにも書き込みなかったみたいだけど
最近BBSにも書き込みなかったみたいだけど
392名前は開発中のものです。
2006/02/11(土) 00:08:16ID:BVtzYhDA SFCのロムから吸い出したスプライトデータとかみると
24*32サイズのものが多い気がします。
これをGBAで利用するには32*32のスプライトを用意して
センター寄せで読み込ませるしかないんでしょうか?
それとも24*32サイズのスプライトを造ることができるんでしょうか?
24*32サイズのものが多い気がします。
これをGBAで利用するには32*32のスプライトを用意して
センター寄せで読み込ませるしかないんでしょうか?
それとも24*32サイズのスプライトを造ることができるんでしょうか?
393名前は開発中のものです。
2006/02/11(土) 00:20:59ID:lrk8MfSr 24は無理
その前に吸出しデータを利用するな
その前に吸出しデータを利用するな
394名前は開発中のものです。
2006/02/11(土) 00:27:43ID:BVtzYhDA すいません。キャラチップ作るのに時間をかけたくなかったので…。
RPGツクールのフリー素材とかも24*32なんですよね。
SFCでは24*32ってモードがあったんでしょうか?
RPGツクールのフリー素材とかも24*32なんですよね。
SFCでは24*32ってモードがあったんでしょうか?
395名前は開発中のものです。
2006/02/11(土) 00:46:51ID:lPtUC7MP ツクールの素材ってツクールにしか使えないやつがほとんどじゃない?
任意のサイズにしたかったら複数のスプライト組み合わせればいいじゃん
任意のサイズにしたかったら複数のスプライト組み合わせればいいじゃん
396名前は開発中のものです。
2006/02/11(土) 01:42:14ID:5ZKNwKwC 32x32のスプライトをEDGEで縦3/4にするとか
397名前は開発中のものです。
2006/02/11(土) 01:43:41ID:5ZKNwKwC ロムから吸い出したデータなんか役に立つのかいな
色化けてるんじゃない?SFCはパレットじゃなくハイカラー以上なのか
色化けてるんじゃない?SFCはパレットじゃなくハイカラー以上なのか
398名前は開発中のものです。
2006/02/11(土) 02:52:49ID:lrk8MfSr399名前は開発中のものです。
2006/02/11(土) 02:55:29ID:XLrbZqXi >>392
どうしたらいいのか思いつかないようなヴァカには無理だからやめとけ
どうしたらいいのか思いつかないようなヴァカには無理だからやめとけ
400名前は開発中のものです。
2006/02/11(土) 03:47:31ID:lrk8MfSr401名前は開発中のものです。
2006/02/11(土) 06:59:41ID:hZfjJeiU >>392
センターよせが一番無難じゃないか?
回転させることとかも考えれば。
ところで、BoyScoutって公式トラッカーしかないの?
日本語環境だとレイアウトが微妙に崩れてて使いにくそうなんだが。
センターよせが一番無難じゃないか?
回転させることとかも考えれば。
ところで、BoyScoutって公式トラッカーしかないの?
日本語環境だとレイアウトが微妙に崩れてて使いにくそうなんだが。
402名前は開発中のものです。
2006/02/12(日) 17:28:27ID: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のソースでは、フレーム数を計ってプログラマーの方で手動で再生を切っているようですが
そんな方法しかないのでしょうか
「波平」と、サンプルソース( >>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名前は開発中のものです。
2006/02/12(日) 17:33:59ID: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.
}
// 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名前は開発中のものです。
2006/02/12(日) 20:32:14ID:lQGmnJOY >>402
>フレーム数を計ってプログラマーの方で手動で再生を切っているようですがそんな方法しかないのでしょうか
そんな方法しか無い
サウンドのサイズを自分で管理し
サイズ分転送したらDMAとサウンドの両方を止めれ
>フレーム数を計ってプログラマーの方で手動で再生を切っているようですがそんな方法しかないのでしょうか
そんな方法しか無い
サウンドのサイズを自分で管理し
サイズ分転送したらDMAとサウンドの両方を止めれ
405名前は開発中のものです。
2006/02/12(日) 23:09:14ID:Cgq3GpSK わかりました・・・
頑張って自前で管理することにします
頑張って自前で管理することにします
406名前は開発中のものです。
2006/02/13(月) 02:39:56ID:Gtc5I6Df ファイル長はすぐわかるね。
wav2gba.exeの吐き出した.binデータを右クリック、プロパティを開く
サイズ ???KB (????? バイト)
()内のバイトがファイルサイズ。
wav2gba.exeの吐き出した.binデータを右クリック、プロパティを開く
サイズ ???KB (????? バイト)
()内のバイトがファイルサイズ。
407名前は開発中のものです。
2006/02/13(月) 14:40:33ID:eECtxr3h 次のゲームの画面を再現するにはどの画面モードで
各要素をどの画像で再現すればいいでしょうか?
1)SFCのころのドラクエ風戦闘画面
要素:
背景画像
インターフェース
文字
モンスター
攻撃&魔法エフェクト
僕の予想では
画面モードはモード0。
背景、インターフェースはタイル。
エフェクトはタイル?(全画面アニメがあるため)
モンスターはスプライト(ボスキャラ等はタイル+スプライト)
文字はスプライト(タイルのBG面が足りないため)
つぎのレスにつづく
各要素をどの画像で再現すればいいでしょうか?
1)SFCのころのドラクエ風戦闘画面
要素:
背景画像
インターフェース
文字
モンスター
攻撃&魔法エフェクト
僕の予想では
画面モードはモード0。
背景、インターフェースはタイル。
エフェクトはタイル?(全画面アニメがあるため)
モンスターはスプライト(ボスキャラ等はタイル+スプライト)
文字はスプライト(タイルのBG面が足りないため)
つぎのレスにつづく
408名前は開発中のものです。
2006/02/13(月) 14:41:59ID:eECtxr3h2)SFCのころのFF風戦闘画面
要素:
背景画像
インターフェース
文字
プレイヤーキャラクター
モンスター
攻撃&魔法エフェクト
僕の予想では
画面モードはモード3。
背景、インターフェース、モンスターはビットマップ。
プレイヤーキャラクター、エフェクト、文字はスプライト。
タイルモードかなと思ったんですがボスキャラが消えるときとか
キャラ画像の奇数ラインと偶数ラインがずれて消えるときとかあるので
あれをタイルモードで再現する方法がわかりませんでした。
あってますでしょうか?アドバイス御願いします。
409名前は開発中のものです。
2006/02/13(月) 16:11:54ID:2pbmjWEa 主人公、モンスター、効果はスプライト。
BGの仕様を決めるのは難しい。
どういう演出をするのかによって変わる。
背景を拡大縮小する演出をするならモード12345。
しないなら絵がたくさん登録できるモード0。
表示する情報が少なく簡単にレイアウトできるなら0123のキャラクターモード、
多色を使って、8x8ドットに縛られたくないならモード345。
でもモード345は情報量が多く重くなる。ダブルバッファを使用するなら
モード4か5しかない
たしかBGが容量の大きいモードのとき、スプライトの登録数が圧迫されるんじゃ
なかったっけ。
全体のバランスを取るには、だいたいの仕様を決めて
サンプルを作って動かしてみるしかないんじゃない?
FFも3とか4とか決めてそれを目標にすれば、イメージも明確になるのじゃいか。
BGの仕様を決めるのは難しい。
どういう演出をするのかによって変わる。
背景を拡大縮小する演出をするならモード12345。
しないなら絵がたくさん登録できるモード0。
表示する情報が少なく簡単にレイアウトできるなら0123のキャラクターモード、
多色を使って、8x8ドットに縛られたくないならモード345。
でもモード345は情報量が多く重くなる。ダブルバッファを使用するなら
モード4か5しかない
たしかBGが容量の大きいモードのとき、スプライトの登録数が圧迫されるんじゃ
なかったっけ。
全体のバランスを取るには、だいたいの仕様を決めて
サンプルを作って動かしてみるしかないんじゃない?
FFも3とか4とか決めてそれを目標にすれば、イメージも明確になるのじゃいか。
410名前は開発中のものです。
2006/02/13(月) 16:17:41ID:2pbmjWEa そういえば文字の表示が大きな悩み。
日本語表示するのだろうから、VRAMにすべての文字を登録するのは
不可能。割り込み中に表示画面に必要な分の文字を転送するしかない。
あるいはダブルバッファリングできるモードを使う?
ということはビットマップモード4か5。キャラのモードの時は
意識して上の領域はA、そのとき見えない領域B
としてダブルバッファリンク゛することもできるけど。
GBA研究所の日本語表示サンプルを改造してドラクエ戦闘画面の
インターフェースみたいのをまず作ってみるべき。
ワールドマップとかはそのあとでもいい。まず日本語表示が難関。
日本語表示するのだろうから、VRAMにすべての文字を登録するのは
不可能。割り込み中に表示画面に必要な分の文字を転送するしかない。
あるいはダブルバッファリングできるモードを使う?
ということはビットマップモード4か5。キャラのモードの時は
意識して上の領域はA、そのとき見えない領域B
としてダブルバッファリンク゛することもできるけど。
GBA研究所の日本語表示サンプルを改造してドラクエ戦闘画面の
インターフェースみたいのをまず作ってみるべき。
ワールドマップとかはそのあとでもいい。まず日本語表示が難関。
411名前は開発中のものです。
2006/02/13(月) 17:42:11ID:eECtxr3h GBA研究所は落ちてるんですよね…。
マップエディタが入手できず大弱りです。
マップエディタが入手できず大弱りです。
412名前は開発中のものです。
2006/02/13(月) 19:45:25ID:VY0KRAb6413407
2006/02/13(月) 19:55:05ID:eECtxr3h みなさん、アドバイス有難う御座います。
これでとりあえずの実装は出来そうです。
魔法別で悩んだらまた質問しますので
厳しくもやさしく教えてください。。。
これでとりあえずの実装は出来そうです。
魔法別で悩んだらまた質問しますので
厳しくもやさしく教えてください。。。
414名前は開発中のものです。
2006/02/13(月) 20:19:49ID:VY0KRAb6 俺のMAPエディタをうpしてやろうかと思ったけど
みなさんで一括りにされたからやめるか
みなさんで一括りにされたからやめるか
415名前は開発中のものです。
2006/02/13(月) 20:34:51ID:NZEWyj/P 心が狭いのね
狭くなくっちゃ、心も車も
狭くなくっちゃ、心も車も
416名前は開発中のものです。
2006/02/13(月) 20:59:44ID:pe7jKuDW 文字表示の実装が全く分からないのですが、
分かりやすいサイトはないですか?
分かりやすいサイトはないですか?
417407
2006/02/13(月) 23:11:29ID:eECtxr3h 414さまアップお願い致します。
418名前は開発中のものです。
2006/02/13(月) 23:53:36ID:VY0KRAb6 >>416
タイルモードのときはタイルを順番に横に並べて
並べたタイルに文字データを転送するだけ
ビットマップモードのときはVRAMに直接書けばいいだけなので
PCでやるのとやり方は一緒
どっちにしても文字データは自分で用意しなくちゃ駄目
タイルモードのときはタイルを順番に横に並べて
並べたタイルに文字データを転送するだけ
ビットマップモードのときはVRAMに直接書けばいいだけなので
PCでやるのとやり方は一緒
どっちにしても文字データは自分で用意しなくちゃ駄目
419名前は開発中のものです。
2006/02/14(火) 00:03:36ID:Mc0x+HZh >>406
wav2gbaはv1.01だと、バイナリの先頭に
2byte: type
2byte: stat
4byte: freq
4byte: loop
4byte: size ←これがデータ長
なヘッダが付いてるので気を付けれ。
wav2gbaはv1.01だと、バイナリの先頭に
2byte: type
2byte: stat
4byte: freq
4byte: loop
4byte: size ←これがデータ長
なヘッダが付いてるので気を付けれ。
420名前は開発中のものです。
2006/02/14(火) 00:06:53ID:x7UBz7YU421名前は開発中のものです。
2006/02/14(火) 00:34:47ID:WgJRobF9422名前は開発中のものです。
2006/02/14(火) 00:40:40ID:945ce4fT 研究所のやつじゃなくてもいいので
使い勝手のいいマップエディタしりませんか?
ドラクエ風のワールドマップを作りたいのですが。。。。
使い勝手のいいマップエディタしりませんか?
ドラクエ風のワールドマップを作りたいのですが。。。。
423名前は開発中のものです。
2006/02/14(火) 00:51:24ID:kJMSUOot ttp://user.chem.tue.nl/jakvijn/downloads.htm
この辺とかは?
この辺とかは?
424名前は開発中のものです。
2006/02/14(火) 00:51:46ID:DPfKwksc sprintfって使えたっけ?devkitadv
自作snprintfで対応しちゃった
#あと文字が書いてあるbitmap背景の2本立て
自作snprintfで対応しちゃった
#あと文字が書いてあるbitmap背景の2本立て
425384
2006/02/14(火) 00:59:46ID:tYPhpHwC 俺もprintf関数もどき作りました。
全角の文字列を引数として受け取って、
その先頭のアドレスから、内容を4ビット(16進一桁、要するに文字コードの中の一桁)
ずつチェックしていき、最終的に文字コードとBGタイル番号をつき合わせて
BG一面に出力するようにしました
BGを一つ占領しちゃうんであまりよいやり方では無さそうですが
全角の文字列を引数として受け取って、
その先頭のアドレスから、内容を4ビット(16進一桁、要するに文字コードの中の一桁)
ずつチェックしていき、最終的に文字コードとBGタイル番号をつき合わせて
BG一面に出力するようにしました
BGを一つ占領しちゃうんであまりよいやり方では無さそうですが
426名前は開発中のものです。
2006/02/14(火) 01:49:16ID:WgJRobF9427名前は開発中のものです。
2006/02/14(火) 18:19:17ID: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個表示可能
最大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名前は開発中のものです。
2006/02/14(火) 18:55:03ID:WgJRobF9 画像データ領域(VRAM)とキャラクター領域(OAM)は分離して考えろ
>>427の例で言うと
OAMには128個登録できても
VRAMには64種類の画像しか収まらない
逆に言うと64種類の画像を128個表示できるということ
>>427の例で言うと
OAMには128個登録できても
VRAMには64種類の画像しか収まらない
逆に言うと64種類の画像を128個表示できるということ
429429
2006/02/14(火) 19:29:47ID:KtOq4mfG なるほど、つまりVRAMにおさまりさえすれば
64*64の画像を128個表示することができると
いうことなんですね。
64*64の画像を128個表示することができると
いうことなんですね。
430424
2006/02/14(火) 21:44:12ID:oQP7vhex 自作snpritnf(snprintf_mini)です。良かったらどうぞ
http://49uper.com:8080/html/img-s/111753.lzh
http://49uper.com:8080/html/img-s/111753.lzh
431420
2006/02/15(水) 23:02:19ID:UMaLkZ5l ありがとうございます!
正直、よく分からないですが、参考にするか
もしくはそのまま使わせて頂きます!
正直、よく分からないですが、参考にするか
もしくはそのまま使わせて頂きます!
432名前は開発中のものです。
2006/02/16(木) 00:00:45ID: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
どこがいかんのでしょう
みたとこ画像データが無いようですが。
コンパイル用バッチファイル
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
どこがいかんのでしょう
みたとこ画像データが無いようですが。
433424
2006/02/16(木) 09:40:13ID:IJObToHy うん、文字画像データは入ってないよ
あくまでもおいらが作ったsnprintfの実装(snprintf_mini)だから文字列を作るだけです。
main.cはちゃんと作れているかどうか確認している単体テスト用のプログラム
なのでdevkitadvのgcc(arm-agb-elf-gcc)じゃなくて普通(?)のgccを使って
snprintf実装例を確認してね。
GUIなデバッガがあればどんな感じで処理してるか追っかけられるでしょ
#VCだとsnprintfが使えないかも。そのときはsprintfで代用して確認してね
作った文字列をVisualBoyAdvanceで表示するには文字列表示用の処理と文字データを
自分の環境用につくらないと出来ないです。
まず、putcみたいな1文字表示用の関数を作ってみてはどうでしょうか?
あくまでもおいらが作ったsnprintfの実装(snprintf_mini)だから文字列を作るだけです。
main.cはちゃんと作れているかどうか確認している単体テスト用のプログラム
なのでdevkitadvのgcc(arm-agb-elf-gcc)じゃなくて普通(?)のgccを使って
snprintf実装例を確認してね。
GUIなデバッガがあればどんな感じで処理してるか追っかけられるでしょ
#VCだとsnprintfが使えないかも。そのときはsprintfで代用して確認してね
作った文字列をVisualBoyAdvanceで表示するには文字列表示用の処理と文字データを
自分の環境用につくらないと出来ないです。
まず、putcみたいな1文字表示用の関数を作ってみてはどうでしょうか?
434名前は開発中のものです。
2006/02/16(木) 09:44:32ID:zo8+sFWC ◆◆,,,,_ /⌒;
/*' 3 `*ヽーっ /<ワンワン,ツウツウ,スリィスリィ,フォウフォウ
⊂二 。 ゚ ⌒_つ/ ガンガン ズンズン グイグイ 上昇
`、 ⌒_つ /
`'ー-‐'''''" /
/_/
///
. _____
. `ヽ ,」_ァ'"´
. f'て}. ̄ rY ト、 __
. | r个 √`>‐.k } f゙)ヾ>
}l r ''"`ァ'゙ ,ノ、ム'^'ァ'゙
人.ヒ,ィ゙ ァ弌__,,>'´゙ヽ
い, `'<, ,r'^ ,ノ
. }⌒'‐\ ,、 ゙'くョr.''"´
い弌-、 \ }. ゝ-、
. `'ー' ゙'ー‐--‐'⌒''''''゙
/*' 3 `*ヽーっ /<ワンワン,ツウツウ,スリィスリィ,フォウフォウ
⊂二 。 ゚ ⌒_つ/ ガンガン ズンズン グイグイ 上昇
`、 ⌒_つ /
`'ー-‐'''''" /
/_/
///
. _____
. `ヽ ,」_ァ'"´
. f'て}. ̄ rY ト、 __
. | r个 √`>‐.k } f゙)ヾ>
}l r ''"`ァ'゙ ,ノ、ム'^'ァ'゙
人.ヒ,ィ゙ ァ弌__,,>'´゙ヽ
い, `'<, ,r'^ ,ノ
. }⌒'‐\ ,、 ゙'くョr.''"´
い弌-、 \ }. ゝ-、
. `'ー' ゙'ー‐--‐'⌒''''''゙
435名前は開発中のものです。
2006/02/16(木) 18:36:32ID:kz0iIF7u436名前は開発中のものです。
2006/02/16(木) 20:06:45ID:M6PXBfNk437424
2006/02/16(木) 21:32:19ID:IJObToHy 確認用に作った文字表示用プログラムです
ttp://49uper.com:8080/html/img-s/112125.lzh
VCとVisualBoyAdvanceの両方で動作確認できるようにちょっと細工してます
このフォントデータは多分ライセンス違反になると思います。
#外見はラスタフォント6x13そのままです。
#文字を表示した状態のスクリーンショットBMPからデータを作りました・・・
ttp://49uper.com:8080/html/img-s/112125.lzh
VCとVisualBoyAdvanceの両方で動作確認できるようにちょっと細工してます
このフォントデータは多分ライセンス違反になると思います。
#外見はラスタフォント6x13そのままです。
#文字を表示した状態のスクリーンショットBMPからデータを作りました・・・
438名前は開発中のものです。
2006/02/16(木) 22:19:46ID:M6PXBfNk 拙作
ttp://gamdev.org/up/img/4680.png
ttp://gamdev.org/up/img/4680.png
439名前は開発中のものです。
2006/02/16(木) 22:21:45ID:kxrgDS8c440名前は開発中のものです。
2006/02/16(木) 22:53:00ID:Jk3f3/1N >>438
liarsoftさん?
liarsoftさん?
441424
2006/02/16(木) 23:55:24ID:IJObToHy へー、かっこいい
フリーのフォントって知らなかったけど調べてみたらいろいろあるんだな
とりあえず、FONTX形式にすればいいのだろうか?
フリーのフォントって知らなかったけど調べてみたらいろいろあるんだな
とりあえず、FONTX形式にすればいいのだろうか?
442432
2006/02/17(金) 16:40:32ID:x9jBkP1z サンプルありがとうございます。
私は420=431さんとは別人です、横入りすみません。
フリーのフォント、元GBA研究所のサンプルにあったものを
流用しようと・・問題有りますでしょうか
完全フリーなものが欲しいのですけどそうなるとなかなか
ありませんよね。フリーソフトのみとかメールでの通知義務とか。
私は420=431さんとは別人です、横入りすみません。
フリーのフォント、元GBA研究所のサンプルにあったものを
流用しようと・・問題有りますでしょうか
完全フリーなものが欲しいのですけどそうなるとなかなか
ありませんよね。フリーソフトのみとかメールでの通知義務とか。
443名前は開発中のものです。
2006/02/17(金) 18:32:26ID:iAZtWxeh ttp://khdd.net/kanou/fonts/x11bdfs.html
444424
2006/02/18(土) 01:08:37ID:uRwRaCgY おお、サンクス
でもbdfフォーマットの仕様書はadobeの有料開発メンバじゃないと読めないのね・・・
で、探した結果、良さそうなページを発見
ttp://hp.vector.co.jp/authors/VA013241/font/bdf.html
あとは日本語文字コードか、やれやれ。
でもbdfフォーマットの仕様書はadobeの有料開発メンバじゃないと読めないのね・・・
で、探した結果、良さそうなページを発見
ttp://hp.vector.co.jp/authors/VA013241/font/bdf.html
あとは日本語文字コードか、やれやれ。
445名前は開発中のものです。
2006/02/18(土) 02:27:52ID:QKtp7HhO DIRECTSOUNDをDMAで鳴らそうと
http://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の算出式がよくわかりません。
単純にデータサイズというわけではなさそうですが。。。
http://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名前は開発中のものです。
2006/02/18(土) 03:41:17ID:4ZdB2i2h データサイズで合ってる
cascade from time 0になっているということは
timer 0が桁あふれしたときにtimer 1が1つ進むということ
timer 0が桁あふれしたとき同時に何が起こっているのか考えてみればそのうち分かる
頑張れ
cascade from time 0になっているということは
timer 0が桁あふれしたときにtimer 1が1つ進むということ
timer 0が桁あふれしたとき同時に何が起こっているのか考えてみればそのうち分かる
頑張れ
447名前は開発中のものです。
2006/02/18(土) 16:03:02ID:1rrcgcm5448名前は開発中のものです。
2006/02/18(土) 17:05:13ID:ZbScaNGm フリーの日本語ビットマップフォント一覧
ttp://kappa.allnet.ne.jp/kanou/fonts/x11bdfs.html
ttp://kappa.allnet.ne.jp/kanou/fonts/x11bdfs.html
449名前は開発中のものです。
2006/02/18(土) 18:51:03ID:iQRmZRdR 5つほど上に既に貼ってあるジャマイカ
450名前は開発中のものです。
2006/02/18(土) 21:15:59ID:yUcx3isO 研究所が未だに復活しない件。
猫でもみたいなTips集的な使い方をしていたので、他所を探すのが以外に大変。
猫でもみたいなTips集的な使い方をしていたので、他所を探すのが以外に大変。
451名前は開発中のものです。
2006/02/18(土) 22:05:41ID:q2PjLLP+ 儂はウェブアーカイブで拾ってきたよ。zipファイルは保存してないからサンプルは取れないけど。
ヘッダとソースは見られる。makefileが無いのが難点。
ヘッダとソースは見られる。makefileが無いのが難点。
452名前は開発中のものです。
2006/02/19(日) 01:10:26ID: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
どうしても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
453452
2006/02/19(日) 01:11:38ID: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
// (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名前は開発中のものです。
2006/02/19(日) 02:00:16ID:m3SmeD2S455名前は開発中のものです。
2006/02/19(日) 04:25:56ID:iq15VETn456名前は開発中のものです。
2006/02/19(日) 10:19:03ID:QSXlPkGt457名前は開発中のものです。
2006/02/19(日) 21:44:01ID:oTR8sHnf DarkFaderのMylibとかNylibとか入れてみようと思ってやってみたがダメだ…。
やり方が悪いのかサンプルmakeできなかった。
ライブラリ自体はすごそうだ。使ってる人いる?
やり方が悪いのかサンプルmakeできなかった。
ライブラリ自体はすごそうだ。使ってる人いる?
458名前は開発中のものです。
2006/02/20(月) 03:17:45ID:B+Dm9jGk NyLibは任天堂の純正ライブラリそのものだから使わないほうがいいぞ
MyLibはゴミ
MyLibはゴミ
459名前は開発中のものです。
2006/02/20(月) 21:23:56ID:bbMb17ur 1Dモードでスプライトの属性を指定します。
attr2(ゼロが最初)のキャラクタ番号(0-9ビットまで)に指定の番号をセットすると正しく表示されません。
2倍の値をセットすると正しく指定できました。
これってあってる? ゼロビット目がキャラクタ番号じゃないんじゃ、とか思います。
1Dのスプライトについて書かれているページとかありませんか?
attr2(ゼロが最初)のキャラクタ番号(0-9ビットまで)に指定の番号をセットすると正しく表示されません。
2倍の値をセットすると正しく指定できました。
これってあってる? ゼロビット目がキャラクタ番号じゃないんじゃ、とか思います。
1Dのスプライトについて書かれているページとかありませんか?
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国国防省が再反論 SNSで公開した音声とは“別の通報”で日本に訓練の時間や海域を通報したと主張★3 [夜のけいちゃん★]
- 資さんうどんが「PayPay」の取り扱いを停止 他のキャッシュレス決済は引き続き利用可能 [少考さん★]
- こども家庭庁、2026年から“独身税”を開始、年収200万なら年4200円、年収400万なら年7800円 ★7 [お断り★]
- 【令和】「ゲーム機にスペックは必要かどうか」議論が白熱 ユーザーが実際に求めているものは? [王子★]
- 高市首相「従来の立場超えたと受け止められ反省」 存立危機発言巡り ★4 [蚤の市★]
- 「ここぞとばかりにBreakingDownを叩いてる奴らが気持ち悪くてしょうがない」元王者が騒ぐ世論に苦言 [王子★]
