トップページgamedev
990コメント372KB

NintendoDS(NDS)非公式開発 Part2

■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。2007/04/06(金) 07:28:10ID:0HAbZjic
NDSで何やら作ってみようという人の為のスレ。ライセンス不要。
初心者歓迎。質問歓迎。英語苦手な人歓迎。冷やかし歓迎。ネカマ歓迎。

資料、リンク等
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/
0309名前は開発中のものです。2007/10/15(月) 09:44:33ID:D7Z6X8aH
頑張って解析してください
0310名前は開発中のものです。2007/10/15(月) 12:41:50ID:kk0ID/qV
スプライトの拡張パレットの使い方が分からないんですが、
DISPLAY_CRの拡張パレットを有効にして、
とりあえずVRAM_Eを拡張パレットに使おうと思い、
vramSetBankE(VRAM_E_OBJ_EXT_PALETTE)と設定した所まで出来たのですが、
それをどう使うのかが分からないんです。

分かる人がいたら、御教授していただきたいです。
0311名前は開発中のものです。2007/10/15(月) 20:21:54ID:ugt16RuX
人気がありすぎて偽造されてしまいました。
http://www.stoneheads.co.jp/stone/codepink/nisemono.html
0312Moonlight2007/10/15(月) 21:39:14ID:Fb0LVtuP
VRAMを割り当てるときに、いくつかのモードはCPU(バス)に接続されなくなりますので、表示していない時間(VBlank期間等)にCPUに接続されているモードに変えて内容を書き換え、また戻しておく必要があるみたいです。

{
vramSetBankE(VRAM_E_LCD);
u16 *pdstpals=(u16*)VRAM_E_EXT_PALETTE;
for(u32 idx=0;idx<(16*256);idx++) pdstpals[idx]=colors[idx] | BIT15;
vramSetBankE(VRAM_E_OBJ_EXT_PALETTE);
}

ぜんぜんコンパイルしていない上に、VRAM_E_LCDとかVRAM_E_EXT_PALETTEは初めて見たのですが、たぶんこんな感じで更新できるんじゃないかと思います。
0313Moonlight2007/10/15(月) 21:58:55ID:Fb0LVtuP
すいません、下げ忘れました。
ついでに補足、VSync割り込みではなくメイン処理内で更新したいときで処理時間を気にしないなら、更新直前にswiWaitForVBlank()を呼べばOKです。
適切に割り込みが初期化されていないときは、swiWaitForVBlank()ではなく、
{
while(DISP_Y!=191);
while(DISP_Y==191);
}
という感じで。バッテリー食いますがテストなら関係ないと思います。
0314名前は開発中のものです。2007/10/16(火) 00:50:23ID:BDOJEEUK
メイン画面でOBJの拡張パレット使うなら、
DISPLAY_CR |=DISPLAY_SPR_EXT_PALETTE
が必要になるんじゃないかな?


0315名前は開発中のものです。2007/10/16(火) 01:42:39ID:EBLEskhE
>>308
板違いでは?
いわゆるハックだから、裏技・改造板が適切かと

裏技・改造
http://game12.2ch.net/gameurawaza/
03163102007/10/16(火) 11:15:33ID:vSTxkmkG
>>312
使えるようになりました。
ありがとうございました。
0317名前は開発中のものです。2007/10/16(火) 13:20:17ID:LyMKS2G1
DScripterマダー?
0318名前は開発中のものです。2007/10/16(火) 13:21:58ID:aFmxsukO
>>317
あなたが作ってください。
0319名前は開発中のものです。2007/10/16(火) 14:30:36ID:Wllgqeow
>>318
あなたの力量では作れないんですか?
03203102007/10/16(火) 16:04:37ID:vSTxkmkG
たびたび申し訳ないですが、
>>312の方法を試した所、エミュでは正しく動作するのですが、
実機では色が付かなく、黒で表示されてしまいました。
どなたか分かる方はいませんか?
0321名前は開発中のものです。2007/10/16(火) 21:30:36ID:BDOJEEUK
とりあえず、サンプルソース公開。
0322名前は開発中のものです。2007/10/17(水) 12:14:53ID:4R/8hBJ/
だれかDSでBMSプレーヤー作ってくれないかな
0323名前は開発中のものです。2007/10/17(水) 12:34:00ID:izILH0fr
BMSプレーヤーって何すか?
馬鹿にしてんすか?
0324名前は開発中のものです。2007/10/17(水) 23:47:01ID:xzaWhU4c
>>323
bmsを再生するソフトだろ?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
>>322
昔ちょっと考えた。
指DDRができるかな? と思ったんで。
dwiというシーケンスフォーマットがあるというところまで調べた。
http://dwi.ddruk.com/

だけど、音周りがうまく鳴らせず断念。
0326名前は開発中のものです。2007/10/18(木) 15:50:03ID:7DWuJ+LL
>>325
音さえ鳴らせれば、DDRなんてパターンの決まった(ランダムでない)もぐら叩きと同じなんだよね。
0327名前は開発中のものです。2007/10/20(土) 20:34:00ID:paJOv51g
俺の益子キタ━━━━━━(゚∀゚)━━━━━━ !!!!!
0328名前は開発中のものです。2007/10/20(土) 21:52:44ID:QP4iOhZT
俺の益子キタ━━━━━━(゚∀゚)━━━━━━ !!!!!
0329名前は開発中のものです。2007/10/27(土) 19:08:06ID:OyeguvNU
スプライトを伸縮させるにはどうすればいいですか?
0330名前は開発中のものです。2007/10/27(土) 22:50:22ID:fi5ZYB7k
左右をつかんで、えいっ、って引っ張る。
0331名前は開発中のものです。2007/10/28(日) 09:48:34ID:ns6ZXqne
ここは過疎だから余所行ったほうが良い
0332名前は開発中のものです。2007/10/28(日) 12:29:30ID:jlr9JuG4
DSLuaの話が出来るスレはどこじゃろか
0333名前は開発中のものです。2007/10/28(日) 15:27:00ID:La0iP22a
>>329
簡単にかいつまんで解説するが
スプライトは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
>>332
ここ
0335名前は開発中のものです。2007/10/28(日) 18:39:32ID:g8josTQr
>>333
ありがとうございます。
調べてみたところ、hdxとhdyに横倍率の逆数、vdxとvdyに縦倍率の逆数をかけることで伸縮できました。
ところでここに3Dの行列を入れれば3次元上で回転させたように見せることもできますか?
0336名前は開発中のものです。2007/10/29(月) 01:02:33ID:VCIhU7hh
>>331
他所ってどこだよ><
0337名前は開発中のものです。2007/10/30(火) 00:42:39ID:kZWn034a
>>336
・・・裏技改造板にスレあるよ、一応。
0338名前は開発中のものです。2007/10/30(火) 02:11:19ID:T1izkCEN
DSLuaでMOD形式の音楽を鳴らしたいのですが、
MIDIやWAVをMODに変換できるツールをご存知でしょうか?

RAWへはXOSというのを見つけたのですが、
MODへの変換をしてくれるフリーソフトを知っていたら教えてくださいませ。
0339名前は開発中のものです。2007/10/30(火) 02:42:27ID:gDjg1+2G
midiからはModPlugTracker
wavからは知らん
0340名前は開発中のものです。2007/10/30(火) 03:14:32ID:m/tOj1fG
最新のdevkitProでビルドすると、NO$GBA 2.5で動かないなあ。不便だ。
0341名前は開発中のものです。2007/10/30(火) 07:44:45ID:A1u37RCU
>>340
NO$GBAで動かないってことは実機でも動かないってことじゃないの
俺の経験じゃNO$が一番実機に近い挙動してる
VRAMの奇数バイトアクセス不可とかもエミュレートしてるし
0342名前は開発中のものです。2007/10/30(火) 21:26:13ID:m/tOj1fG
>>341
実機では動いてるよ。エミュレータを過信してるんじゃないの?
もし疑うなら、何でもいいからリビルドして試してみな。
0343名前は開発中のものです。2007/10/31(水) 11:58:48ID:+Mg4ID2V
>>342
もちろんエミュはあくまでも開発補助
自分の場合はエミュでは動くけど実機で動かない事ばっかりだったんでね
0344名前は開発中のものです。2007/10/31(水) 15:12:57ID:WqvwxYU4
PAlibっていうライブラリを見つけたんですけど、
あの中のサンプルソースの画像って著作権フリーですか?
0345名前は開発中のものです。2007/11/06(火) 23:19:57ID:cV8zgn4d
いまさらだけど、Vistaで動くdevkitARM R21が来てる!!
もう対応パッチ当ててビルドしなおさなくていい。
0346名前は開発中のものです。2007/11/07(水) 18:42:33ID:n8jQxGon
R4のthemeを13種以上に増やす事できる?
0347名前は開発中のものです。2007/11/07(水) 20:19:26ID:VOhgcTGI
>>341
> 俺の経験じゃNO$が一番実機に近い挙動してる
NO$ は DSLinux の Boot が怪しいんだよねぇ。
0348名前は開発中のものです。2007/11/08(木) 20:19:39ID:Z0qHkP9O
PAlib070118がでてる。
まだ触ってないけど。
0349名前は開発中のものです。2007/11/08(木) 21:12:38ID:/TZD8dLw
どう見ても1月18日版だろ
0350名前は開発中のものです。2007/11/09(金) 23:54:20ID:QeKUwD52
>>349
的確なツッコミ吹いたw
0351名前は開発中のものです。2007/11/10(土) 08:48:24ID:QEIzktai
Vistaで動くdevkitARM R21が出てるらしいんだけど・・・
XPに入れて、ソースリビルドするとFATの部分で落ちる・・・
0352名前は開発中のものです。2007/11/10(土) 08:52:31ID:QEIzktai
もうダメぽ
NDSの開発でいきづまった
どなたかNDSの保存系のサンプル、またはヒントを下さい。
EEPRomサンプル群・・・動かん!
0353名前は開発中のものです。2007/11/10(土) 09:25:06ID:QEIzktai
>>351
すまん、落ちるのGBFSの部分だった。
0354名前は開発中のものです。2007/11/10(土) 10:49:24ID:iJG/Y12o
>>352
保存ってファイルシステムのことか
libfatでDLDI使ってるけど
0355名前は開発中のものです。2007/11/10(土) 11:57:15ID:QEIzktai
>>354
FATじゃない
EEPRomです。
まぁマジコンのファイルで言えば
xxx.savだね
0356名前は開発中のものです。2007/11/10(土) 16:48:33ID:vCXuSmRJ
何を言ってるのかよくわからんが、EEPROMサンプルは保存なんてしないぞ
0357名前は開発中のものです。2007/11/10(土) 22:51:12ID:tYh2WndP
助けてくださいorz
http://wwwww.2ch.net/test/read.cgi/news4vip/1194617474/
0358名前は開発中のものです。2007/11/11(日) 19:33:41ID:JZE/mdIx
セックスフレンドDSのコンバーターまってます♥
0359名前は開発中のものです。2007/11/11(日) 19:57:10ID:+C/a0u8i
>>356
最近exampleが新しくなってるけど、それに付いてる
EEPROMサンプル(card)は
一見、動いてるように見えるが正しく機能していないような気がする
しかも、読み込みだけのサンプルだし・・・
header部だけは動いたかな・・・
NO$も実機でもダメぽだったなぁ
0360名前は開発中のものです。2007/11/13(火) 09:33:03ID:BExTGgd+
変数の内容を電源を切っても覚えておきたいのですが、
どのようにするのでしょうか?

初歩的な質問ですいません。
R4を使っています。

0361名前は開発中のものです。2007/11/13(火) 09:51:23ID:lcgTvL4S
>>360
どれでも好きなのどうぞ。
EEPROM,FlashROM,電池で保持するSRAM,F-RAM

メインメモリでも運がよければ一日程度は消えませんよ。
0362名前は開発中のものです。2007/11/13(火) 12:45:50ID:PP08FL2o
>>360
何がやりたいのか不明だが
microSDにファイルとしてセーブ
0363名前は開発中のものです。2007/11/13(火) 19:34:36ID:lcgTvL4S
そういえば R4DS の製造元摘発されたらしいな。
開発用としてストックしておきたい奴はいまのうちだぞ。
0364名前は開発中のものです。2007/11/13(火) 19:44:54ID:nq86+yHe
マジか
0365名前は開発中のものです。2007/11/13(火) 19:47:20ID:lcgTvL4S
>>364
web であんまり流れてないけど、秋葉の店先にそういう張り紙があったんだよ。
値段釣り上げる工作かもしれないけど、一応注意は促しておく。
0366名前は開発中のものです。2007/11/13(火) 20:54:04ID:nq86+yHe
>>365
本スレで張り紙の画像見てきた。
スレでは店側の工作ってことで話し流れたみたいだけど安いうちに予備を買っておこうかな
0367名前は開発中のものです。2007/11/13(火) 21:54:53ID:lcgTvL4S
>>366
本スレ見てないけど、あっちにも出てたんだ。
0368名前は開発中のものです。2007/11/14(水) 04:16:07ID:1yE+1amt
>>366
必要ないからやめとけ。
R4が買えなくなったら他のマジコン買えばいいだけだし。
どうしても予備が欲しいならR4以外にしたほうがいい。
0369名前は開発中のものです。2007/11/14(水) 08:04:11ID:+iV4MB8y
R4以外のオススメは?
0370名前は開発中のものです。2007/11/14(水) 09:26:41ID:l6mTicwS
環境はいくつかあったほうが動作確認の時便利かもね
0371名前は開発中のものです。2007/11/14(水) 15:49:46ID:fcDqe3EY
>>363-366
ttp://www.inside-games.jp/news/244/24450.html
けっこう有名なニュースかと思ってたけどあまり知られてなかったのね
0372名前は開発中のものです。2007/11/14(水) 17:29:41ID:p+47/3HU
つか、しばらく前にR4が税関で止められて高騰したのってそのせいだろ。
で他のルートやら在庫やらかき集めたら、逆に供給過剰になって(ry
0373名前は開発中のものです。2007/11/15(木) 05:31:48ID:OW4hLH5A
小売が品薄感煽るために嘘流したのかも試練が
0374名前は開発中のものです。2007/11/16(金) 16:38:59ID:h28GMeOe
>>372
税関云々はデマだったらしいよ
0375名前は開発中のものです。2007/11/18(日) 01:05:41ID:a8sfrJAM
やっぱりVRAMへのアクセスって他のメモリに比べて遅いのかな?
0376名前は開発中のものです。2007/11/18(日) 03:43:19ID:6SczAs0i
>>375
むしろメインメモリより速い。
0377名前は開発中のものです。2007/11/18(日) 09:52:16ID:a8sfrJAM
>>376
ベンチマークは取ってないけど、
VRAMの書き込みは速いけど読み込みは遅い印象がある
(読み込むことなんてあまりないけどね)
今度暇を見てベンチマーク取ってみよう
0378名前は開発中のものです。2007/11/18(日) 14:39:22ID:6Ai+gozw
結果報告よろぴこ
0379名前は開発中のものです。2007/11/18(日) 16:18:59ID:a8sfrJAM
プロファイルのための精度の高いタイマーの使い方を教えてくれ
0380名前は開発中のものです。2007/11/18(日) 21:00:29ID:a8sfrJAM
ある種の宣伝で悪いけれど、
DSでプログラム開発をする道中を記録するページを作りました。
昨日までblogで書いていたのを今日wikiに変更です。

ttp://void-main.org/dsprogram/

俺はGBAはおろか、今までいかなるゲーム機でも
プログラミングをしたことがないゲーム制作初心者だけれど、
低レベルの知識は少々ながらもあるし、
何より日本語でDS開発のための資料を用意するのは
ある程度意味があるんじゃないかと思うので、暫く頑張ってみます。

来年の6月までにチェスのアプリを作るのが目的です。
何かあれば是非助言をよろしくお願いします。
以上、宣伝すみませんでした。
0381名前は開発中のものです。2007/11/18(日) 21:24:07ID:M/XRemLj
>>380
まあがんばれww
0382名前は開発中のものです。2007/11/18(日) 22:15:20ID:QRaAoJl0
>>380
GJ 期待してる
0383名前は開発中のものです。2007/11/19(月) 00:04:44ID:EnibBZ/I
DSのプログラミングのwikiは一応他にもある。
http://ndsd.chicappa.jp/wiki/
つっても10月で更新が止まってるが。でも日本語コンソールライブラリとか
ダウンローダとか便利なものがあったり。
0384名前は開発中のものです。2007/11/19(月) 02:31:56ID:sOCTIabs
さっき寝てて突然ひらめいたからかいてみる。ただの通りすがりです。

二画面表示で片方はキーボード動作、片方はマウスで操作ってできないだろうか
PCでやれたらかなり面白そうなんだが
0385Moonlight2007/11/19(月) 04:04:16ID:m1125lP2
>>379

長文失礼します。
単にある区切りの時間を調べるだけなら、次のような感じでどうでしょうか。

__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);
}

(改行多すぎで怒られたのでもう一つ追加します)
0386Moonlight2007/11/19(月) 04:05:11ID:m1125lP2
>>379

TIMER_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
>>383
ありがとう、なかなか素晴らしいサイトだね。リンクに追加しておきます。
こちらは初心者による初心者のためのチュートリアル風味というスタンスでやっていくよ。

>>385-386
細かくありがとう。ここまで書いてもらったからには計測してみます。
ところで、こういった技術情報を自分で調べる時に、どこの資料を調べていますか?
実は自分でタイマーについて調べていたのですが、とっかかりも掴めなかったので
今後の参考までに教えてもらえないでしょうか
0388Moonlight2007/11/19(月) 16:45:56ID:m1125lP2
>>387

私は本当に英語が苦手なので、ほとんどこのページだけしか見ていません。
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:u0GCnkyK
>>389
SCDSに載ってる
0391名前は開発中のものです。2007/11/20(火) 19:56:37ID:QkNOenxx
>>389
ドラキュラでも動かしとけ
0392名前は開発中のものです。2007/11/20(火) 22:54:40ID:ZMd3r+nr
>>391
お前頭悪いだろ
0393名前は開発中のものです。2007/11/21(水) 08:24:17ID:6vcKbxSp
ミジンコが騒いでるな
0394名前は開発中のものです。2007/11/21(水) 15:12:30ID:mEyHPxM5
>>392
お前頭悪いだろ
0395名前は開発中のものです。2007/11/22(木) 10:43:48ID:FqUX21e8
日本語用のフォントどこかに無かったっけか
0396名前は開発中のものです。2007/11/22(木) 12:20:00ID:5k4I28PI
自分も >>92 の書き込みとおなじように音声を入れ替えて
再生しようとしているのですが、思ったように再生されません。

>>103 でsoxの使い方が間違っていたという書き込みがありますが、
sox に何かオプションが必要ですか?

もしよければ >>93 のサンプルをいただけませんか。
おねがいします。
0397名前は開発中のものです。2007/11/22(木) 12:52:30ID:/fyHsu2F
>>395
moonshellのソースになかったっけ
0398Moonlight2007/11/22(木) 15:24:04ID:Tov9bwtW
>>395

日本語を含めたグラフィックライブラリで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に再アップしました。
03993962007/11/22(木) 18:18:01ID:5k4I28PI
>>398
ありがとうございます。
ちゃんと鳴らすことが出来ました。

0400名前は開発中のものです。2007/11/22(木) 22:50:11ID:03G/tE3V
いいなぁプノグラム出来る人は
オレもdsで遊びたい(´・ω・`)
0401名前は開発中のものです。2007/11/23(金) 00:23:51ID:8+63/DiR
>>400
勉強したらいいと思うよ。
0402名前は開発中のものです。2007/11/23(金) 02:36:55ID:9k21jG5G
勉強したけど覚えられんかった
0403名前は開発中のものです。2007/11/23(金) 10:50:27ID:lfgCRRTi
遊ぶ…
DSで「ゲーム」して遊ぶのは簡単。ソフト買えば遊べる。
DSの「プログラム」して遊ぶのは…

とりあえず色々試して勉強すれば動くプログラムは組めるようになる。
ただその組んだプログラムが、使えるプログラム(MoonShellとか)・楽しいプログラム(ゲームとか)なのか?というのは別の話。

プログラムの世界は、時間をかけて色々試したりして経験しないと理解が進まない世界だと思う。
0404名前は開発中のものです。2007/11/23(金) 11:30:22ID:JRTY0qBB
プログラミング自体が楽しいけどな
たとえHello World表示するだけでも
DSの上で自分のプログラムが動いたら楽しい
0405名前は開発中のものです。2007/11/24(土) 01:49:57ID:nvXpdiM4
プログラミング自体がちょっとしたパズルゲームみたいなもんだな
0406名前は開発中のものです。2007/11/24(土) 02:26:32ID:7a/Zqsri
>>403
>時間をかけて色々試したりして経験しないと理解が進まない世界
なんでもそうだろw
0407名前は開発中のものです。2007/11/26(月) 12:33:10ID:+58xCPad
VRAMのモードとバンクの具体的な意味がわからない
ttp://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:Yt1IpFoJ
BGはBG、スプライトはスプライト
vramSetBankxはメモリを設定するだけでBGには無関係
BGxCNTとDISPCNTによってそれぞれにどのメモリ(どの機能)を使うか決める
■ このスレッドは過去ログ倉庫に格納されています