NintendoDS(NDS)非公式開発 Part2
■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。
2007/04/06(金) 07:28:10ID:0HAbZjic初心者歓迎。質問歓迎。英語苦手な人歓迎。冷やかし歓迎。ネカマ歓迎。
資料、リンク等
http://nocash.emubase.de/gbatek.htm
http://www.bottledlight.com/ds/index.php/Main/HomePage
http://www.helloworld.jp/~duke/nintendo_ds/
開発環境
http://www.devkitpro.org/
http://sourceforge.net/project/showfiles.php?group_id=114505
関連スレ
ゲームボーイアドバンス(GBA)開発@ゲ製板(避難所)
http://bbs.gamdev.org/test/read.cgi/gamedev/1055111303/
ゲームボーイアドバンス(GBA)非公式開発 Part2
http://pc5.2ch.net/test/read.cgi/gamedev/1099119005/
前スレ
http://pc11.2ch.net/test/read.cgi/gamedev/1113780562/
0324名前は開発中のものです。
2007/10/17(水) 23:47:01ID:xzaWhU4cbmsを再生するソフトだろ?BM98とか。プレーヤーだかプレイヤーだか知らんけど。
ttp://ja.wikipedia.org/wiki/%E9%9F%B3%E6%A5%BD%E3%82%B2%E3%83%BC%E3%83%A0#BMS.E3.83.97.E3.83.AC.E3.83.BC.E3.83.A4.E3.83.BC
普通に使われてるようだが?
>>319
そういう偉そうなこと言うってことはおまえは作れるんだろ?
ならおまえが作っとけ。
先に行っておくが、自分は作れる作れない以前にNスクは興味ないから。別にわざわざDSでパソゲやろうと思わんし。
とりあえず>>317=304=288でおk?
0325名前は開発中のものです。
2007/10/18(木) 08:50:40ID:dlEaD6Yb昔ちょっと考えた。
指DDRができるかな? と思ったんで。
dwiというシーケンスフォーマットがあるというところまで調べた。
http://dwi.ddruk.com/
だけど、音周りがうまく鳴らせず断念。
0326名前は開発中のものです。
2007/10/18(木) 15:50:03ID:7DWuJ+LL音さえ鳴らせれば、DDRなんてパターンの決まった(ランダムでない)もぐら叩きと同じなんだよね。
0327名前は開発中のものです。
2007/10/20(土) 20:34:00ID:paJOv51g0328名前は開発中のものです。
2007/10/20(土) 21:52:44ID:QP4iOhZT0329名前は開発中のものです。
2007/10/27(土) 19:08:06ID:OyeguvNU0330名前は開発中のものです。
2007/10/27(土) 22:50:22ID:fi5ZYB7k0331名前は開発中のものです。
2007/10/28(日) 09:48:34ID:ns6ZXqne0332名前は開発中のものです。
2007/10/28(日) 12:29:30ID:jlr9JuG40333名前は開発中のものです。
2007/10/28(日) 15:27:00ID:La0iP22a簡単にかいつまんで解説するが
スプライトはGBAと一緒だからそっちの解説を探してみたらいい。
SpriteEntry sprites[128]; /* スプライト格納領域 */
pSpriteRotation spriteRotations = (pSpriteRotation)sprites; /* 行列 */
/* スプライトを設定する */
sprites[0].attribute[0] |= ATTR0_ROTSCALE_DOUBLE; /* 伸縮フラグを立てる */
sprites[0].attribute[1] += rotate_index << 9; /* 使用する行列テーブルの番号を入れる */
spriteRotation[0].hdx = pa; /* 行列を入れる */
spriteRotation[0].hdy = pb;
spriteRotation[0].vdx = pc;
spriteRotation[0].vdy = pd;
0334名前は開発中のものです。
2007/10/28(日) 18:28:42ID:/CmTbYYNここ
0335名前は開発中のものです。
2007/10/28(日) 18:39:32ID:g8josTQrありがとうございます。
調べてみたところ、hdxとhdyに横倍率の逆数、vdxとvdyに縦倍率の逆数をかけることで伸縮できました。
ところでここに3Dの行列を入れれば3次元上で回転させたように見せることもできますか?
0336名前は開発中のものです。
2007/10/29(月) 01:02:33ID:VCIhU7hh他所ってどこだよ><
0337名前は開発中のものです。
2007/10/30(火) 00:42:39ID:kZWn034a・・・裏技改造板にスレあるよ、一応。
0338名前は開発中のものです。
2007/10/30(火) 02:11:19ID:T1izkCENMIDIやWAVをMODに変換できるツールをご存知でしょうか?
RAWへはXOSというのを見つけたのですが、
MODへの変換をしてくれるフリーソフトを知っていたら教えてくださいませ。
0339名前は開発中のものです。
2007/10/30(火) 02:42:27ID:gDjg1+2Gwavからは知らん
0340名前は開発中のものです。
2007/10/30(火) 03:14:32ID:m/tOj1fG0341名前は開発中のものです。
2007/10/30(火) 07:44:45ID:A1u37RCUNO$GBAで動かないってことは実機でも動かないってことじゃないの
俺の経験じゃNO$が一番実機に近い挙動してる
VRAMの奇数バイトアクセス不可とかもエミュレートしてるし
0342名前は開発中のものです。
2007/10/30(火) 21:26:13ID:m/tOj1fG実機では動いてるよ。エミュレータを過信してるんじゃないの?
もし疑うなら、何でもいいからリビルドして試してみな。
0343名前は開発中のものです。
2007/10/31(水) 11:58:48ID:+Mg4ID2Vもちろんエミュはあくまでも開発補助
自分の場合はエミュでは動くけど実機で動かない事ばっかりだったんでね
0344名前は開発中のものです。
2007/10/31(水) 15:12:57ID:WqvwxYU4あの中のサンプルソースの画像って著作権フリーですか?
0345名前は開発中のものです。
2007/11/06(火) 23:19:57ID:cV8zgn4dもう対応パッチ当ててビルドしなおさなくていい。
0346名前は開発中のものです。
2007/11/07(水) 18:42:33ID:n8jQxGon0347名前は開発中のものです。
2007/11/07(水) 20:19:26ID:VOhgcTGI> 俺の経験じゃNO$が一番実機に近い挙動してる
NO$ は DSLinux の Boot が怪しいんだよねぇ。
0348名前は開発中のものです。
2007/11/08(木) 20:19:39ID:Z0qHkP9Oまだ触ってないけど。
0349名前は開発中のものです。
2007/11/08(木) 21:12:38ID:/TZD8dLw0350名前は開発中のものです。
2007/11/09(金) 23:54:20ID:QeKUwD52的確なツッコミ吹いたw
0351名前は開発中のものです。
2007/11/10(土) 08:48:24ID:QEIzktaiXPに入れて、ソースリビルドするとFATの部分で落ちる・・・
0352名前は開発中のものです。
2007/11/10(土) 08:52:31ID:QEIzktaiNDSの開発でいきづまった
どなたかNDSの保存系のサンプル、またはヒントを下さい。
EEPRomサンプル群・・・動かん!
0353名前は開発中のものです。
2007/11/10(土) 09:25:06ID:QEIzktaiすまん、落ちるのGBFSの部分だった。
0354名前は開発中のものです。
2007/11/10(土) 10:49:24ID:iJG/Y12o保存ってファイルシステムのことか
libfatでDLDI使ってるけど
0355名前は開発中のものです。
2007/11/10(土) 11:57:15ID:QEIzktaiFATじゃない
EEPRomです。
まぁマジコンのファイルで言えば
xxx.savだね
0356名前は開発中のものです。
2007/11/10(土) 16:48:33ID:vCXuSmRJ0357名前は開発中のものです。
2007/11/10(土) 22:51:12ID:tYh2WndPhttp://wwwww.2ch.net/test/read.cgi/news4vip/1194617474/
0358名前は開発中のものです。
2007/11/11(日) 19:33:41ID:JZE/mdIx0359名前は開発中のものです。
2007/11/11(日) 19:57:10ID:+C/a0u8i最近exampleが新しくなってるけど、それに付いてる
EEPROMサンプル(card)は
一見、動いてるように見えるが正しく機能していないような気がする
しかも、読み込みだけのサンプルだし・・・
header部だけは動いたかな・・・
NO$も実機でもダメぽだったなぁ
0360名前は開発中のものです。
2007/11/13(火) 09:33:03ID:BExTGgd+どのようにするのでしょうか?
初歩的な質問ですいません。
R4を使っています。
0361名前は開発中のものです。
2007/11/13(火) 09:51:23ID:lcgTvL4Sどれでも好きなのどうぞ。
EEPROM,FlashROM,電池で保持するSRAM,F-RAM
メインメモリでも運がよければ一日程度は消えませんよ。
0362名前は開発中のものです。
2007/11/13(火) 12:45:50ID:PP08FL2o何がやりたいのか不明だが
microSDにファイルとしてセーブ
0363名前は開発中のものです。
2007/11/13(火) 19:34:36ID:lcgTvL4S開発用としてストックしておきたい奴はいまのうちだぞ。
0364名前は開発中のものです。
2007/11/13(火) 19:44:54ID:nq86+yHe0365名前は開発中のものです。
2007/11/13(火) 19:47:20ID:lcgTvL4Sweb であんまり流れてないけど、秋葉の店先にそういう張り紙があったんだよ。
値段釣り上げる工作かもしれないけど、一応注意は促しておく。
0366名前は開発中のものです。
2007/11/13(火) 20:54:04ID:nq86+yHe本スレで張り紙の画像見てきた。
スレでは店側の工作ってことで話し流れたみたいだけど安いうちに予備を買っておこうかな
0367名前は開発中のものです。
2007/11/13(火) 21:54:53ID:lcgTvL4S本スレ見てないけど、あっちにも出てたんだ。
0368名前は開発中のものです。
2007/11/14(水) 04:16:07ID:1yE+1amt必要ないからやめとけ。
R4が買えなくなったら他のマジコン買えばいいだけだし。
どうしても予備が欲しいならR4以外にしたほうがいい。
0369名前は開発中のものです。
2007/11/14(水) 08:04:11ID:+iV4MB8y0370名前は開発中のものです。
2007/11/14(水) 09:26:41ID:l6mTicwS0371名前は開発中のものです。
2007/11/14(水) 15:49:46ID:fcDqe3EYttp://www.inside-games.jp/news/244/24450.html
けっこう有名なニュースかと思ってたけどあまり知られてなかったのね
0372名前は開発中のものです。
2007/11/14(水) 17:29:41ID:p+47/3HUで他のルートやら在庫やらかき集めたら、逆に供給過剰になって(ry
0373名前は開発中のものです。
2007/11/15(木) 05:31:48ID:OW4hLH5A0374名前は開発中のものです。
2007/11/16(金) 16:38:59ID:h28GMeOe税関云々はデマだったらしいよ
0375名前は開発中のものです。
2007/11/18(日) 01:05:41ID:a8sfrJAM0376名前は開発中のものです。
2007/11/18(日) 03:43:19ID:6SczAs0iむしろメインメモリより速い。
0377名前は開発中のものです。
2007/11/18(日) 09:52:16ID:a8sfrJAMベンチマークは取ってないけど、
VRAMの書き込みは速いけど読み込みは遅い印象がある
(読み込むことなんてあまりないけどね)
今度暇を見てベンチマーク取ってみよう
0378名前は開発中のものです。
2007/11/18(日) 14:39:22ID:6Ai+gozw0379名前は開発中のものです。
2007/11/18(日) 16:18:59ID:a8sfrJAM0380名前は開発中のものです。
2007/11/18(日) 21:00:29ID:a8sfrJAMDSでプログラム開発をする道中を記録するページを作りました。
昨日までblogで書いていたのを今日wikiに変更です。
ttp://void-main.org/dsprogram/
俺はGBAはおろか、今までいかなるゲーム機でも
プログラミングをしたことがないゲーム制作初心者だけれど、
低レベルの知識は少々ながらもあるし、
何より日本語でDS開発のための資料を用意するのは
ある程度意味があるんじゃないかと思うので、暫く頑張ってみます。
来年の6月までにチェスのアプリを作るのが目的です。
何かあれば是非助言をよろしくお願いします。
以上、宣伝すみませんでした。
0381名前は開発中のものです。
2007/11/18(日) 21:24:07ID:M/XRemLjまあがんばれww
0382名前は開発中のものです。
2007/11/18(日) 22:15:20ID:QRaAoJl0GJ 期待してる
0383名前は開発中のものです。
2007/11/19(月) 00:04:44ID:EnibBZ/Ihttp://ndsd.chicappa.jp/wiki/
つっても10月で更新が止まってるが。でも日本語コンソールライブラリとか
ダウンローダとか便利なものがあったり。
0384名前は開発中のものです。
2007/11/19(月) 02:31:56ID:sOCTIabs二画面表示で片方はキーボード動作、片方はマウスで操作ってできないだろうか
PCでやれたらかなり面白そうなんだが
0385Moonlight
2007/11/19(月) 04:04:16ID:m1125lP2長文失礼します。
単にある区切りの時間を調べるだけなら、次のような感じでどうでしょうか。
__attribute__((noinline)) static void PrfStart(void)
{
TIMER0_CR=0;
TIMER0_DATA=0;
TIMER0_CR=TIMER_ENABLE | TIMER_DIV_1;
TIMER1_CR=0;
TIMER1_DATA=0;
TIMER1_CR=TIMER_ENABLE | TIMER_CASCADE;
}
__attribute__((noinline)) static u32 PrfEnd(void)
{
vu32 t0d=TIMER0_DATA;
vu32 t1d=TIMER1_DATA;
u32 clk=(t1d<<16) | t0d;
double dus=clk/((double)33513982/1000/1000);
_consolePrintf("prf %6dus %dclk.\n",(u32)dus,clk);
return(clk);
}
(改行多すぎで怒られたのでもう一つ追加します)
0386Moonlight
2007/11/19(月) 04:05:11ID:m1125lP2TIMER_DIV_1で長時間だと16bitオーバーフローするのでカスケードで使いました。最長約128秒まで計測できるはずです。
時間表示はマイクロ秒(1/1000000秒)単位で、ベースクロックは約33MHz単位です。
たぶん50クロック分くらいオーバーヘッドがあると思いますので、BIASは+2マイクロ秒くらいになると思います。
全ての関数の出入りをトラップして入れ子OKなプロファイラも作ってみたのですが、それなりな規模でギリギリまで最適化しなきゃいけないプロジェクトがないので使いませんでした。
様子見だけなら次のURLを流し読みしてみて下さい。使い道がありそうならソース公開します。
http://mdxonline.dyndns.org/archives/2007/10/post_1964.shtml
0387名前は開発中のものです。
2007/11/19(月) 09:29:07ID:8gBUAruzありがとう、なかなか素晴らしいサイトだね。リンクに追加しておきます。
こちらは初心者による初心者のためのチュートリアル風味というスタンスでやっていくよ。
>>385-386
細かくありがとう。ここまで書いてもらったからには計測してみます。
ところで、こういった技術情報を自分で調べる時に、どこの資料を調べていますか?
実は自分でタイマーについて調べていたのですが、とっかかりも掴めなかったので
今後の参考までに教えてもらえないでしょうか
0388Moonlight
2007/11/19(月) 16:45:56ID:m1125lP2私は本当に英語が苦手なので、ほとんどこのページだけしか見ていません。
http://nocash.emubase.de/gbatek.htm
あとはひたすらトライ&エラーで。(笑
ところでベンチマークを作るなら、940TDDI0144BJ.pdfの11.2辺りも参考になると思います。
0389名前は開発中のものです。
2007/11/20(火) 18:54:10ID:ZMd3r+nr誰かマジコンに挿してるmicroSDのベンチマークソフト作ってよ!
0390名前は開発中のものです。
2007/11/20(火) 19:52:27ID:u0GCnkyKSCDSに載ってる
0391名前は開発中のものです。
2007/11/20(火) 19:56:37ID:QkNOenxxドラキュラでも動かしとけ
0392名前は開発中のものです。
2007/11/20(火) 22:54:40ID:ZMd3r+nrお前頭悪いだろ
0393名前は開発中のものです。
2007/11/21(水) 08:24:17ID:6vcKbxSp0394名前は開発中のものです。
2007/11/21(水) 15:12:30ID:mEyHPxM5お前頭悪いだろ
0395名前は開発中のものです。
2007/11/22(木) 10:43:48ID:FqUX21e80396名前は開発中のものです。
2007/11/22(木) 12:20:00ID:5k4I28PI再生しようとしているのですが、思ったように再生されません。
>>103 でsoxの使い方が間違っていたという書き込みがありますが、
sox に何かオプションが必要ですか?
もしよければ >>93 のサンプルをいただけませんか。
おねがいします。
0397名前は開発中のものです。
2007/11/22(木) 12:52:30ID:/fyHsu2Fmoonshellのソースになかったっけ
0398Moonlight
2007/11/22(木) 15:24:04ID:Tov9bwtW日本語を含めたグラフィックライブラリでglibというのを作ったことがあります。
http://mdxonline.dyndns.org/archives/2005/11/glib_ver_01.shtml
新しいDevKitProでは動かないので、ARM9ソースだけはMorningTimerあたりからglibフォルダをコピーしたほうがいいかもです。r21で動くかはわかりません。
glibはその場その場で必要なところを勝手に変更して使っています。最近のglibにはSJISコンバータが入っていません。(基本的にUnicodeしか使わなくなってしまったので)
新しいDevKitProではpScreenMainOverlayが使えるようにできなかった記憶があります。
上のURLのファイルは、Unicode文字列の描画にバグがあるので、次のURLを見ながら修正して下さい。(MorningTimerで使ってるのは修正済みです)
http://mdxonline.dyndns.org/archives/2006/01/post_1523.shtml
ダブルバッファリングのフリップの使い方についての補足。
http://mdxonline.dyndns.org/archives/2006/01/flip_on_glib.shtml
>>396
サウンド再生サンプルを同じURLに再アップしました。
0400名前は開発中のものです。
2007/11/22(木) 22:50:11ID:03G/tE3Vオレもdsで遊びたい(´・ω・`)
0401名前は開発中のものです。
2007/11/23(金) 00:23:51ID:8+63/DiR勉強したらいいと思うよ。
0402名前は開発中のものです。
2007/11/23(金) 02:36:55ID:9k21jG5G0403名前は開発中のものです。
2007/11/23(金) 10:50:27ID:lfgCRRTiDSで「ゲーム」して遊ぶのは簡単。ソフト買えば遊べる。
DSの「プログラム」して遊ぶのは…
とりあえず色々試して勉強すれば動くプログラムは組めるようになる。
ただその組んだプログラムが、使えるプログラム(MoonShellとか)・楽しいプログラム(ゲームとか)なのか?というのは別の話。
プログラムの世界は、時間をかけて色々試したりして経験しないと理解が進まない世界だと思う。
0404名前は開発中のものです。
2007/11/23(金) 11:30:22ID:JRTY0qBBたとえHello World表示するだけでも
DSの上で自分のプログラムが動いたら楽しい
0405名前は開発中のものです。
2007/11/24(土) 01:49:57ID:nvXpdiM40406名前は開発中のものです。
2007/11/24(土) 02:26:32ID:7a/Zqsri>時間をかけて色々試したりして経験しないと理解が進まない世界
なんでもそうだろw
0407名前は開発中のものです。
2007/11/26(月) 12:33:10ID:+58xCPadttp://void-main.org/dsprogram/
これ読んでもよくわからん
videoSetModeで、そのスクリーンの全体的な設定するんだよね
例えばMODE 5を設定すると、BG0 BG1 BG2 BG3がそれぞれ
テキストか3D、テキスト、拡大縮小回転ラスター、拡大縮小回転ラスター
という感じになるのはわかった
わからんのは、vramSetBankA。
バンクがAからIまであって、そのうちのAを設定するのはわかる。
このバンクを例えばスプライトに使いたい場合は
VRAM_A_MAIN_SPRITE をセットするのもわかるんだけど、
この場合、BGの何番がスプライトになるの?
BGxとバンクの関係はどこで定義されるの?
0408名前は開発中のものです。
2007/11/26(月) 14:20:27ID:Yt1IpFoJvramSetBankxはメモリを設定するだけでBGには無関係
BGxCNTとDISPCNTによってそれぞれにどのメモリ(どの機能)を使うか決める
0409名前は開発中のものです。
2007/11/26(月) 14:21:39ID:ZZFETsGBBGは関係ないよ。
全部スプライトに割り当てられる。
結局は、VRAMをどんなふうに、BG or スプライトの領域に割り当てるか。
BG領域にVRAMを割り当てなければ、BGのための領域としては使えない。
BGx の設定レジスタ(CNT)に、バンク(というかBG用に割り当てられたメモリ) の
どこから使いますよって設定があるよ。
それで、BGx用の領域を、他のBGxと切り分けて使ったりする。
もちろん他のBGと共用で使ってもいいし。
0410名前は開発中のものです。
2007/11/26(月) 14:28:40ID:uwgSkU5uVRAM_A_MAIN_SPRITEは、AバンクをMAIN画面のスプライトキャラクタ専用のバンクにするという指定。
0411名前は開発中のものです。
2007/11/26(月) 14:37:49ID:uwgSkU5u0412名前は開発中のものです。
2007/11/26(月) 14:39:09ID:Yt1IpFoJみんな良い人ばっかりでw
0413名前は開発中のものです。
2007/11/26(月) 17:28:30ID:+58xCPadこれから実際に作りながらゆっくり読んでみるよ、ありがとう
0414名前は開発中のものです。
2007/11/27(火) 07:08:47ID:k1+ERDjyモード周りは分かりにくいから、適当にいじって試すのが一番かも。
0415名前は開発中のものです。
2007/11/27(火) 07:41:16ID:ek9nTtShパレットの最上位ビットを0のままにして色が出ないと悩んでいたこともあった
VRAMには偶数バイトにしかアクセスできないのを知らずに悩んでいたこともあった
0416名前は開発中のものです。
2007/11/27(火) 13:49:47ID:mwHZjx7Iミスしやすいところが先に分かるのはありがたいね
0417名前は開発中のものです。
2007/11/27(火) 22:12:04ID:rqCq3peyPAlib使うと、そう悩まずにPCでプログラム書くような楽ちんさですな。
ドキュメントが充実しているのが驚き。
0418名前は開発中のものです。
2007/11/28(水) 22:02:10ID:tHzYmS4d前回サウンド再生で挫折したことを思い出した。
dcdev38の人はTTA鳴らせてるのか?
サンプルgdgdじゃないか。
0419名前は開発中のものです。
2007/11/30(金) 20:06:25ID:9t4jPe0f0420名前は開発中のものです。
2007/12/02(日) 15:25:40ID:xqn6cyGs0421名前は開発中のものです。
2007/12/02(日) 16:12:07ID:W+fIfwuU0422名前は開発中のものです。
2007/12/02(日) 18:58:15ID:XRvEMne6もしくは、よくわかってないのに、がんばって書き込んでいる人も・・・
あれ・・・何がいいたかったんだろう。
0423名前は開発中のものです。
2007/12/03(月) 08:56:24ID:U4Ce0oqsPAlib、チュートリアルをみた感じでは別に楽になるように見えないんだけれど
具体的にどんなところが楽になった?
■ このスレッドは過去ログ倉庫に格納されています