トップページgamedev
981コメント326KB

NintendoDS(NDS)非公式開発 Part3

■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。2008/04/08(火) 07:05:13ID:MngpkM4u
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/1175812090/
0402名前は開発中のものです。2008/11/11(火) 10:45:13ID:xT3IPl+x
>>401
いいね。プロジェクタでプレゼンとかでも使えるかも。
0403名前は開発中のものです。2008/11/12(水) 13:09:16ID:ABPWOzhf
質問させてください。開発環境はdevkitPro+NDSLite+R4です。

上画面と下画面、両方コンソールはできますか?
上Sub, 下Mainで構成しています。
両方ともconsoleInitDefaultで初期化(VRAMは適当に)するまではいいのですが、
どうやったら出力を上下切り替えればいいのでしょうか?
0404名前は開発中のものです。2008/11/12(水) 21:28:22ID:Irex4HlZ
コンソールに日本語を出すために、libndsのconsole.cをベースに
write_rを作ってdevoptab_listに設定するようにした。
同じような感じで、標準出力1と標準出力2を作ってAddDeviceすれば
いけるんじゃないかと思う。
0405名前は開発中のものです。2008/11/13(木) 04:07:46ID:tSh4lFcC
ソース読んでないけど、あのコンソールって複数箇所で使うようにはできて無いんじゃないの?
printfのとこを真面目に作るんじゃなければ簡単だし自作しちゃうのが手っ取り早い気がする
自分の使いやすいようにできるしね
0406名前は開発中のものです。2008/11/13(木) 04:13:44ID:PMMLpm0T
printfなんてsnprintfでいいじゃん。可変引数をラップすれば終わりだ。
0407名前は開発中のものです。2008/11/13(木) 22:51:09ID:xuholqIR
教えて頂いたキーワードでググったところ、勝手に使っていいものかはわかりませんが、
両画面表示ができるコンソールが公開されているのを見つけました。
ttp://meraman.dip.jp/index.php?NDS_Clmn1

いろんなアプローチがあるんですね!目から鱗です。
今回は上のコンソールも使わず、ただ単に諦めることにしましたw
(使っていいものかわかりませんし、自力で作るのは無理そうなため)

ありがとうございました!
0408名前は開発中のものです。2008/11/14(金) 00:53:00ID:6N3LMOUt
DSで再生してるムービーって形式は何なの
0409名前は開発中のものです。2008/11/14(金) 10:34:05ID:rC8IZRbN
市販ソフトなら大体actimagine社のvxかmodsか
0410名前は開発中のものです。2008/11/15(土) 01:48:13ID:RfNDR2XM
くまたんちはなんだったっけ
0411名前は開発中のものです。2008/11/15(土) 07:38:58ID:IevcS/it
DSはムービーはdpgだと思ってた
0412名前は開発中のものです。2008/11/15(土) 17:29:16ID:KbYyRJ/N
cygwinでbuildscriptからdevkitProをビルドしたんですが
いろいろ問題が起きてうまくいってません。
みなさんはcygwin上でできているんでしょうか?
それともcygwin上ってのをあきらめたほうがよさげ?

今ぶつかってる問題は、ndstoolがdefault.arm7を
/d:evkitPro/libndsへ探しに行っちゃうこと
環境変数はDEVKITPRO=/devkitProとしてあります
0413名前は開発中のものです。2008/11/15(土) 19:57:07ID:UeMILktP
そのままmingwで使ってるからわかんね
0414名前は開発中のものです。2008/11/15(土) 23:08:30ID:oomo/59x
>>412
つ cygwinとの決別
0415名前は開発中のものです。2008/11/16(日) 05:20:47ID:qx7gPRSZ
以前挑戦しかけたけど、解らないことばっかりで調べることが多すぎて面倒になって速攻で挫折
cygwin周りってなんか罠が多そうだから深入りしたくなかったし・・・
DSで開発する時間を削ってでも勉強したいと思うなら諦めずにがんばればいいと思う
0416名前は開発中のものです。2008/11/17(月) 04:57:23ID:empHggti
DSって秒間12万ポリゴンが最大みたいだけど
市販ゲーでそんなに使ってるやつってあんの?
0417名前は開発中のものです。2008/11/17(月) 05:27:40ID:Co9Qm5cS
>>416
30FPSで1フレ4000ポリゴン、60fpsで2000ポリゴンでしょ。妥当じゃね?
0418名前は開発中のものです。2008/11/17(月) 07:14:32ID:z2gXQpjD
4000ポリゴン出せるけど30FPSになるんじゃなくて、
2000ポリゴンしか出せないけど60FPSで動くって感じ。
0419名前は開発中のものです。2008/11/17(月) 18:10:28ID:K3xRwdOf
30fps1フレ4000ポリゴンにしても、1画面2000ポリゴンなのは変わらんしな
トリッキーなハードだ
0420名前は開発中のものです。2008/11/17(月) 20:02:41ID:i7TzQWLw
>>419
あれ?3Dできるのメイン画面だけじゃないの?
0421名前は開発中のものです。2008/11/17(月) 21:13:30ID:K3xRwdOf
メインへの出力をDISPCAPCNTでサブに転送すれば両方で3D出来る
0422名前は開発中のものです。2008/11/17(月) 21:45:21ID:5qiBRI+G
>>413-415
規制巻き込まれ遅レスすんません
たしかに本題じゃないことに時間割くのは違いますね・・・
一応makeは通るようになったんですが、
動作しないndsファイルができたのであきらめましたw
おとなしくmingwでいきます
0423名前は開発中のものです。2008/11/17(月) 22:16:43ID:iDQZx+7x
>>421
同時には出来ないが、ということだな
0424名前は開発中のものです。2008/11/17(月) 23:36:53ID:K3xRwdOf
しょゆこと
0425名前は開発中のものです。2008/11/18(火) 03:01:24ID:kI4o23cf
サガフロ1や2程度ならDSに移植出来そうだ
0426名前は開発中のものです。2008/11/18(火) 17:47:36ID:VfbVyHaP
DSのプログラムを1から勉強しているのですが、3日前からフレームバッファで
つまづいているので助言お願いします。

フレームバッファを使って、タッチペンでタッチした場所に色を表示する
単純なプログラムを作っているのですが、
if(keysHeld() & KEY_TOUCH){
int address;
address = ((touchXY.py * SCREEN_WIDTH) + touchXY.px);
buf[address] = RGB15(0,0,0);
}
で、表示させることができたのですが、main関数のwhileループに入る前に
画面を白く塗りつぶすための、
for(i = 0; i < SCREEN_WIDTH * SCREEN_HEIGHT; i++)
 *buf++ = RGB15(31,31,31);
を追加させると、画面はしろくなるのですが、
画面上でタッチした場所の色が変わりません。

かなり悩んでるんですが、周りに相談する人がいないので書き込みさせて
いただきました。
0427名前は開発中のものです。2008/11/18(火) 18:27:37ID:viT1+w9Z
*buf++でbufの指してるアドレス変わってない?
0428名前は開発中のものです。2008/11/18(火) 18:29:09ID:84++eCic
>>426
buf++が何をしているか考えてみろよ
そこはbuf[i]でいいよ
0429名前は開発中のものです。2008/11/18(火) 18:56:54ID:VfbVyHaP
>>427 >>428
素早い返信ありがとうございます。

レス見て、あっと思いました。修正したところ無事
表示させることができました。ありがとうございました。
0430名前は開発中のものです。2008/11/19(水) 10:56:18ID:dvPrjKMk
なんだこりゃ
0431名前は開発中のものです。2008/11/23(日) 10:50:15ID:Vn7hshmA
>>385
これ誰か試してみた人いる?
0432名前は開発中のものです。2008/11/24(月) 15:35:58ID:VPayrrHh
まだ開発途中だと思うが、AceKardとCycloDSがDSiで動き出したらしい。
今後、Homebrewも動くようになって、メモリ16MとSDカードへのアクセスがフルで出来るようになったら、色々と出来ることが増えそうだ。
DSiはCPUも早くなってるとか聞いたけど、その恩恵も得られるのかな?
0433名前は開発中のものです。2008/11/25(火) 21:10:36ID:8TOmiG8T
>>432
ARM9双発だそうだ。ソース(ほかでも見た気がする):
ttp://it.nikkei.co.jp/digital/news/index.aspx?n=MMITew000010102008&cp=2
でも国内一億台超えてw

ARM11積んでくれればなぁ……
0434名前は開発中のものです。2008/11/25(火) 21:27:00ID:8TOmiG8T
訂正。

上のURLが憶測で書いてあったので、軽くググったところ、
ARM7+ARM9なのは変わってないようだ。(これも基盤からの推測なのだが)
ttp://nds.jpn.org/dsi/dsibunkai.html
まぁ日本語のものしか読んでないから、英語がサラサラ読める人ヨロ。
0435名前は開発中のものです。2008/11/26(水) 11:42:05ID:umqEwqvy
チップのコード変わってるんだけどね
0436名前は開発中のものです。2008/11/26(水) 13:26:05ID:voTjobk+
NTR B のような改版チップではなく TWL という別チップなので何かは変わってるんだろうけどね
0437名前は開発中のものです。2008/11/27(木) 21:02:43ID:k5Y6jsN0
64とDSってポリゴン表示数どっちが多いわけ?
0438名前は開発中のものです。2008/11/27(木) 21:53:20ID:xFbkW+o0
>>437
ds
0439名前は開発中のものです。2008/11/28(金) 16:16:29ID:BRELlpCX
メモリ少ないしポリゴン数多くても意味無いと思う
0440名前は開発中のものです。2008/11/28(金) 19:16:57ID:IGZ8XFUY
N64も標準では4MBだし、VRAMの分DSの方が多いような気もする
0441名前は開発中のものです。2008/11/29(土) 04:23:04ID:SGh4sXJ7
圧縮技術とかは今の方が進んでるし
解像度も画面も小さいからテクスチャは誤魔化しがきくな
てかカートリッジなんだからロードがネックだったPSやSSの移植もっとやればいいのに
0442名前は開発中のものです。2008/11/29(土) 05:16:14ID:8+byfF8r
DSでもPSPでも携帯電話でも、続編商法ならぬ移植商法はもういいよ
任天堂もよほど売れそうなタイトル以外は企画突き返してんじゃないかねぇ
もっとDSだからこそのゲームを考えろって言って

実は丁度さ、DSの機能をよく使ったゲームって何なのか考えてたんだ
例えばタッチパネルって温度センサにもなってるんだよな
推理ADVで指乗っけて嘘発見器にならんのかとか

WiiFitが売れて、じゃぁDSで体脂肪計れたら脳を鍛える以上にヒットすんじゃね?
とか思ったら万歩計って、周辺機器同梱はずるいだろとか

頭いっぱい使ったから寝るぜ
0443名前は開発中のものです。2008/11/30(日) 20:19:08ID:BMffC8Ze
なんかキャラクターメイキングが自由にできますとか言って
すごく細かいパラメータをいじくらないといけないやつを
身長体重を測って適当に見繕ってくれたらいいなと思ったりした
0444名前は開発中のものです。2008/12/03(水) 01:49:06ID:TBVxdy2w
DSって64よりポリゴン数多く描画できるのか
てことはPS1より上なのか
0445名前は開発中のものです。2008/12/03(水) 21:19:11ID:ZUsaZJd3
Homebrew BOF

ゲーム機など開発環境が公開されていないハード、及びマイナーハード開発者の集いを企画しています。

日時:コミケ(12/28-30)前後 当日なら17-19時くらい + 宴会
場所:東京都区内
費用:会場実費(0-数百円?)

たぶん日本全体で100人もいないんじゃないかと思いますが、
コミケで上京する人もいるでしょうからその時期を予定しています。

http://www27.atwiki.jp/homebrew/

マルチすまん
0446名前は開発中のものです。2008/12/03(水) 23:49:15ID:6AoZGnqX
先人の知恵を借りたい的な初心者も参加OKですか?
0447名前は開発中のものです。2008/12/04(木) 01:42:14ID:uWCcJveQ
>445
む、bero氏が参加するのか。
行ってみたい気が。
0448名前は開発中のものです。2008/12/04(木) 03:02:52ID:ypW3iUIz
DSi用のマジコンが出るのか。DSi用のMoonShellに期待だ。
作者がやらなくても
M3さくらの人たちがMoonlightの意志をついで
何かをつくってくれるに違いない。

ttp://home.att.ne.jp/blue/moonlight/
0449名前は開発中のものです。2008/12/04(木) 07:56:04ID:f93IhlbP
Moonlightって女性なの?
0450名前は開発中のものです。2008/12/04(木) 12:42:03ID:x7p7CrcZ
>>445
楽しそうだなあ
でもWiiとかは更に少ないだろうな
0451名前は開発中のものです。2008/12/04(木) 20:54:57ID:xedmQ7pv
>>445
これは、主要プログラマーたちが
任天堂から一斉摘発。。
0452名前は開発中のものです。2008/12/04(木) 23:01:58ID:f93IhlbP
>>451
プログラム作るなという制約は無いはずだが
0453名前は開発中のものです。2008/12/04(木) 23:57:03ID:rTZTLwyD
>>445
行ってみたいが…
話についていけずにポツーンとしてそうだ…
0454名前は開発中のものです。2008/12/05(金) 00:04:33ID:T4M/WKIR
DSあまりいないね…GBAの人だけかな
Nintendo DSでプログラミングの人に何か講演してほしいな
0455名前は開発中のものです。2008/12/07(日) 06:33:30ID:R5QeDfwM
DSってCPUはどの程度の速さなわけ
0456名前は開発中のものです。2008/12/07(日) 10:49:22ID:XTAuxh2E
メイン ARM9 66MHz
サブ ARM7 33MHz
0457名前は開発中のものです。2008/12/07(日) 16:38:28ID:t9duOPg2
>>455
速さは、CPUと呼ぶか否かに影響しない。
0458名前は開発中のものです。2008/12/07(日) 16:59:45ID:XVPMcV/L
>>455
キミの少ない脳ミソと比べると爆速
0459名前は開発中のものです。2008/12/09(火) 22:51:31ID:QNDYVX+s
devkitProで開発してるんだけど……sleepって使えないの?
0460名前は開発中のものです。2008/12/09(火) 22:55:10ID:WD21vW6Y
sleepでどうしたいの? 用途によって処理が違うから。
0461名前は開発中のものです。2008/12/09(火) 22:56:34ID:QNDYVX+s
待ちたいだけです。
クレジット画面で1500ミリ秒くらい待ちたい、という用途です。
0462名前は開発中のものです。2008/12/09(火) 23:31:04ID:ELHSSBa+
横槍だが、1/60秒ごとのVBlankを待って
for(int i = 0; i < 1500/(1000/60); i++) {
swiWaitForVBlank();
}
これじゃだめ?「くらい」ならこれで十分っぽいけど
0463名前は開発中のものです。2008/12/09(火) 23:42:47ID:QNDYVX+s
>>462
書き込んだ後にも考えてたら同じことを思いついたが、もっとエレガントな方法を待ってた。

……んだけど、別に問題ないからこれにするわ。ありがとう!
0464名前は開発中のものです。2008/12/10(水) 00:07:05ID:DsEFORYs
BGのマップチップ化とかBGのスクロール
どうやってやればいいのかまったく分からない…
04654602008/12/10(水) 00:26:10ID:6Pi7shf8
>>463
エレガントてwww

static volatile bool sSleepingFlag;

void SleepPoolHandler(void)
{
sSleepingFlag = false;
}

...
sSleepingFlag = true;
irqSet(IRQ_TIMER0,SleepPoolHandler);
TIMER0_DATA = 0x10000 - ( ( 0x2000000 * 1.5 ) / 1024 );
TIMER0_CR = TIMER_DIV_1024 | TIMER_IRQ_REQ | TIMER_ENABLE;

while(sSleepingFlag == true)
{
swiWaitForIRQ();
}
...

動作確認してないがこんな風に強制的にCPUを寝かせるとかか?
0466名前は開発中のものです。2008/12/10(水) 01:18:42ID:0BH3Odor
>>464
ttp://void-main.org/dsprogram/
0467名前は開発中のものです。2008/12/10(水) 02:37:50ID:QGo/k5Yp
ファミコン以降、日本のハードなのに外人の方が活発なのは何故なんだろう
0468名前は開発中のものです。2008/12/10(水) 04:09:44ID:DMj82Pnv
メーカーの手が及びにくいからでしょ
0469名前は開発中のものです。2008/12/10(水) 14:57:35ID:W0j1zly8
それとメーカーの資料がことごとく英語だから。

他言語では英語力のある誰かが翻訳したものを公開しないと、
英語得意でないプログラミングはそこそこできるメインクリエーター層が作れない。
仕事でやってるのに家でもやりたい英語力のあるプログラマなどそういない。
04704592008/12/10(水) 14:59:07ID:W0j1zly8
>>465 thx
0471名前は開発中のものです。2008/12/10(水) 19:00:44ID:j0jj2bBQ

技術資料に英語力というほどのものは必要ないんだがなぁ
日本語ベーシックで組んでるわけじゃねーんだし…
さいあく動かしてみて結果みりゃいい。

どっちかというと英語アレルギーな人が多そうだ。
0472名前は開発中のものです。2008/12/10(水) 20:05:31ID:ent80I3u
単に母数の差だろ
0473名前は開発中のものです。2008/12/10(水) 23:09:31ID:DsEFORYs
>>466
とりあえずそこを参考にがんばってみるd
04744592008/12/11(木) 12:43:27ID:RCslEvU8
最終的にこれでやることにしました。引数はms、実際は100ms単位。
void sleep(int ms){
int ms_100 = 6*(ms/100);
for(int i=0; i<ms_100; i++){
swiWaitForVBlank();
}
}
0475名前は開発中のものです。2008/12/12(金) 06:00:46ID:265Hxd0w
100ms=1デシ秒だから引数はds
としなかったのは褒めてやる
0476名前は開発中のものです。2008/12/12(金) 11:39:35ID:Oka0Aoxl
デシ秒……初めて聞いたw
0477名前は開発中のものです。2008/12/13(土) 01:44:20ID:CZ4YDb8Y
デシリットルなら聞いたことあるだろ
0478名前は開発中のものです。2008/12/13(土) 01:49:58ID:R2eJx3h7
自分で書いた関数名にsleepとか使わんだろ
0479名前は開発中のものです。2008/12/13(土) 04:47:24ID:WyiH3dbo
おまえの気にすることなの?
0480名前は開発中のものです。2008/12/14(日) 04:03:51ID:fCkbPF0R
devkitpro 1.4.8きてたのでインスコしたら、手持ちのソースがコンパイル通らなくなったw
ヘッダが変わってるのか?
0481名前は開発中のものです。2008/12/14(日) 06:15:22ID:2gBPCuOl
>>480
ソレは試してないが、CVSでおとしたlibndsとかはかなり変わってたな…
そんときは、タッチペンとサウンド周りとvramのBGあたりの修正でとおった。


ヒマできたら1.4.8おとさねーとな…
0482名前は開発中のものです。2008/12/14(日) 18:21:17ID:O1dj7R0T
>>480
一昨日それ体験した。
ConsoleInitDefault()がConsoleDemoInit()になってたり、コンソールウィンドウが取り入れられたり。
(デフォルトフォントも256文字→128文字になってる?)
ほかにもWiFiを使うのが相当容易になってて(知らなかっただけ?)、サンプルソースも今回はある。
あと、タッチパッドの位置取得方法も変わってる。

というわけで変更点多いのでサンプルやヘッダ見ることを強く勧める。
0483名前は開発中のものです。2008/12/15(月) 15:33:21ID:KD/w6yNc
>>467
人口比で言えば健闘してるんじゃね?
欧州 5億
米国 3億
日本 1億

一応、
中国 13億
インド 11億
0484名前は開発中のものです。2008/12/17(水) 22:03:03ID:vkLdz7pK
〉481
〉482
サンクス。
週末にでもサンプル読んでいじってみるわ
0485名前は開発中のものです。2008/12/18(木) 00:50:48ID:zhO+xG3n
>>484
開発の前にアンカを取得してこい
0486名前は開発中のものです。2008/12/18(木) 01:30:25ID:S1y74lO/
maxmod使ってみたヒト、どんな感じ?
0487名前は開発中のものです。2008/12/19(金) 09:22:57ID:qlUd/zG4
ところでさ、>>483見て思ったんだけど
インド人ってゲーム作らないの?
全く聞かないんだけど。欧米の下請けしかできないの?
0488名前は開発中のものです。2008/12/19(金) 20:04:08ID:ArBTHVdY
きっとゲームよりもっと凄いもんを作ってるに違いない
0489名前は開発中のものです。2008/12/19(金) 22:38:39ID:9PDN7lZP
ゲームを出来る余裕のあるインド人が少ないから無理。
0490名前は開発中のものです。2008/12/20(土) 14:40:11ID:VKXSZGRm
あの人たち凄く記憶力いいらしいから
常に右においときたい
0491名前は開発中のものです。2008/12/20(土) 17:48:16ID:poMoKjbU
全員が良い訳じゃないよ
0492名前は開発中のものです。2008/12/21(日) 11:01:14ID:wSEGn/Bu
やっぱりインド人は右だよなあ
0493名前は開発中のものです。2008/12/22(月) 14:58:27ID:ChR4UhlA
インド人は右に
ハンドルは左に
0494名前は開発中のものです。2008/12/28(日) 20:34:03ID:4xR92OwD
マジコンチェックってどういう仕組みなんですか?
スレチかもしれませんがここが1番適切だと思いました。
0495名前は開発中のものです。2008/12/28(日) 23:26:00ID:gPoSopbT
ここはそう言うスレではない
0496名前は開発中のものです。2008/12/28(日) 23:27:17ID:6VUzlrCB
DSの裏を見るとすぐに分かるらしい
0497名前は開発中のものです。2008/12/28(日) 23:41:18ID:ahz3XpDO
丑年の来年は日本を凌駕するコンテンツがインドから発信される模様
0498名前は開発中のものです。2008/12/29(月) 05:08:32ID:3FZYPX9W
>>495
なら、何処のスレが適切なのでしょうか?
ご教示いただければ幸いです。
0499名前は開発中のものです。2008/12/29(月) 10:30:45ID:AKOsyeJz
冬休みすぎだろw
0500名前は開発中のものです。2008/12/29(月) 10:39:27ID:2N+THQcr
マジコンチェックって市販のヤツ?それならソフトによるだろうし解析せんとわからんだろ
興味ないけど

単純にマジコンかどうか確認したいって意味なら、
あんまりマジコンよりの部分興味ないからよく覚えてないけど
特定の領域の値読んだりしてマジコンの機種自動認識させたりしてるソースみたことあるなぁ
fatとかマジコン直接叩いてるようなライブラリのソースあたってみりゃ良いんじゃね
0501名前は開発中のものです。2008/12/30(火) 10:43:19ID:Zr5H115l
でもマジコンやエミュ作ってる人間はメーカーに対策されるのを避けるために
実機かマジコンやエミュかどうかを判別する特殊な機構は実装しないと思うんだけどなー。
実際にソース見たことある人がいるならあるんだろうけど。
■ このスレッドは過去ログ倉庫に格納されています