[表示 : 全て 最新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/


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

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

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

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

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


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

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

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

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

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




380 名前:名前は開発中のものです。 mailto:sage [2006/02/03(金) 02:23:02 ID:slbWlN2h]
つ ttp://gamdev.org/up/img/4552.zip

381 名前:名前は開発中のものです。 mailto:sage [2006/02/06(月) 21:06:46 ID:T2WaEpGB]
つTinyB2T v0.20
ttp://nagoya.cool.ne.jp/dcdev38/gba/

382 名前:名前は開発中のものです。 mailto:sage [2006/02/06(月) 21:49:34 ID:WwPe7cx3]
すばらしい。

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

383 名前:382 mailto:sage [2006/02/06(月) 21:50:38 ID:WwPe7cx3]
あ、382は >380へのレスです。

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

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

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

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

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

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

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



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

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

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

393 名前:名前は開発中のものです。 mailto:sage [2006/02/11(土) 00:20:59 ID:lrk8MfSr]
24は無理
その前に吸出しデータを利用するな

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

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

396 名前:名前は開発中のものです。 mailto:sage [2006/02/11(土) 01:42:14 ID:5ZKNwKwC]
32x32のスプライトをEDGEで縦3/4にするとか

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

398 名前:名前は開発中のものです。 mailto:sage [2006/02/11(土) 02:52:49 ID:lrk8MfSr]
>>394
SNESも24は無理
その程度の知識でよくROM吸い出来たな

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



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

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

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

402 名前:名前は開発中のものです。 mailto:sage [2006/02/12(日) 17:28:27 ID: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 名前:名前は開発中のものです。 mailto:sage [2006/02/12(日) 17:33:59 ID: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 名前:名前は開発中のものです。 mailto:sage [2006/02/12(日) 20:32:14 ID:lQGmnJOY]
>>402
>フレーム数を計ってプログラマーの方で手動で再生を切っているようですがそんな方法しかないのでしょうか
そんな方法しか無い
サウンドのサイズを自分で管理し
サイズ分転送したらDMAとサウンドの両方を止めれ

405 名前:名前は開発中のものです。 mailto:sage [2006/02/12(日) 23:09:14 ID:Cgq3GpSK]
わかりました・・・
頑張って自前で管理することにします

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

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

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

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

つぎのレスにつづく

408 名前:名前は開発中のものです。 [2006/02/13(月) 14:41:59 ID:eECtxr3h]

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

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

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

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



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

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

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

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

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

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

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

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;






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

前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