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

NintendoDS(NDS)非公式開発 Part3

レス数が950を超えています。1000を超えると書き込みができなくなります。
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/
08538512009/07/02(木) 05:43:31ID:dUlswWg6
ideasにうさみみでメモリブレークかけてブレークしたところでレジスタ参照すれば同じようなことが出来ましたふみー
0854名前は開発中のものです。2009/07/04(土) 23:58:31ID:e/WfE2EJ
dswifi、libfatを使ったプログラムのテストをエミュでやりたいんですが
それぞれどうすればできますか?
0855名前は開発中のものです。2009/07/05(日) 14:27:39ID:S47tuif7
早く教えてください!
0856名前は開発中のものです。2009/07/05(日) 14:34:36ID:sB+DKYUf
ニトロなんとかってのを使えば出来るかもしれない
0857名前は開発中のものです。2009/07/05(日) 20:20:48ID:1XJBAMnK
nitrofsは組み込み用のファイルシステムですよね。
やっぱエミュから別のファイルにアクセスするのは無理か…
あとlibfatで相対パスって使えないんですか?
0858名前は開発中のものです。2009/07/06(月) 02:04:52ID:IX+++oOx
nitrofs使ってエミュでファイル読み込みのテストができるようになったのはいいんですが
これ実機では使えないんですか?
devkitProのサンプルすらエラーが出るんですが。
環境はSuperCard DS(ONE) SDHCで、DLDIパッチも当ててみました。
0859名前は開発中のものです。2009/07/06(月) 17:29:19ID:1E3S6lj+
>>858
日本語ファイルではないよね?
0860名前は開発中のものです。2009/07/06(月) 22:28:28ID:IX+++oOx
>>859
ROMも読み込ませたいファイル名も半角です。
そもそもnitroFSInit()自体が成功しません。
0861名前は開発中のものです。2009/07/07(火) 06:22:59ID:CynDJxTa
ROM名とmain.cの中のdefineで定義してるFILENAMEの名前は同じになってる?
0862名前は開発中のものです。2009/07/07(火) 08:56:49ID:+HuBOFQB
2つのftpサーバー試したんですが、大きなファイルを送ると
とまってしまいます。
0863名前は開発中のものです。2009/07/07(火) 11:55:25ID:Q/jYyYAm
>>861
devkitProのサンプルでは定義されてないのですが
FILENAMEをdefineしてどこで使うのですか?
0864名前は開発中のものです。2009/07/07(火) 19:09:01ID:CynDJxTa
>>863
なんでnitrofsのテストでdevkitProのサンプルが出てくるのかよくわからんが
もしかして最近のバージョンだとdevkitProの中にnitrofsが入ってるのか?
nitrofsのサンプル見たらnitroFSInit(FILENAME)って呼んでるんだがバージョン違うのか
0865名前は開発中のものです。2009/07/08(水) 00:12:48ID:pap4Zsw4
>>864
最新のdevkitProではexamplesにnitrofsのサンプルが入っていたのでその話だと思っていました。
どうも実機では初期化が成功しないようですね…

引数を取るInitはNitrotstprojectv0.6-turboですか?
includeしてるのにnitroFSInit(char const*)が宣言されていないというエラーが出てコンパイルできない…
0866名前は開発中のものです。2009/07/08(水) 01:41:45ID:a446cPn3
またごちゃごちゃライブラリが変更&パワーアップされているのか・・・
見なかったことにしよう。

0867名前は開発中のものです。2009/07/08(水) 02:49:15ID:pDdLsNsR
>>863
誰もが同じ環境でやってるわけじゃないので
・nds-examplesの日付
・libndsのversion
・default.arm7のversion
・libfilesystemのversion
ぐらい示さないと話にならないぞ

ちなみにリリースの前後関係や修正内容は
ttp://forums.devkitpro.org/viewforum.php?f=13
をみるといいかもしれない

>>865
WinterMuteとNitroFSの作者との連携が取れて
ないんじゃないの?w
0868名前は開発中のものです。2009/07/08(水) 09:46:33ID:pap4Zsw4


[devkitARM]
Version=26


[libnds]
Version=1.3.5



[ndsexamples]
Version=20090531

[libndsfat]Version=1.0.4
[defaultarm7]Version=0.5.4
[filesystem]Version=0.9.2

です。この環境で実機でnitrofs使えてる人いませんか?
0869ひきプロ ◆HIRO2ZQ2Xo 2009/07/08(水) 13:52:43ID:5ehjzFMy?2BP(123)
僕は使ったことないですが、
nitroFSって扱いが難しかった気がします。
libfat使って、ideasのR4プラグイン入れて
R4のDLDIパッチ当てて実験するのが手っ取り早いように思います。
Wifiの方は、うちの環境ではエミュレータ上でうまく動かなかったので、
実機に何回も転送して実験しましたw
08708642009/07/08(水) 19:01:51ID:1y4fZ+NG
>>865
最新版チェックせずに見当はずれなこと言ってすまんかった
0871名前は開発中のものです。2009/07/08(水) 23:10:33ID:7d8q/TmV
>>868
とりあえず、libnds 1.3.5はobsoluteされてる
ただ、Forumに出ているlibnds 1.3.6の動作報告にもSuperCardは
なかった気がする

nitrofsの話ではないが、libnds1.3.4からLinux版Desmume 0.9.2と
相性が悪くて、生成したバイナリがまともに動いてくれないのは
どうしたもんだか。。。

>>869
blogにあったクロスリファレンスの話だけど、GNU globalってのは
ご存知?
0872名前は開発中のものです。2009/07/14(火) 01:12:55ID:NgdbzRR8
>>868
遅レスですが、、、
filesystemは、argvに対応したマジコンでないとダメかと思われます。
対応していない場合は、homebrewmenu.ndsを使えばargvがセットされます。
homebrewmenu.ndsはdevkitproのsvnから拾ってコンパイルします。

http://devkitpro.svn.sourceforge.net/viewvc/devkitpro/trunk/projects/nds/HomebrewMenu/

ちなみに、iDeasもDeSumuMEもlibfatの読み込みに対応してます。
iDeasはR4の、DeSumuMEはmpcfをDLDIパッチします。
起動したndsファイルがあるフォルダがルートになります。
desmumeなら、ディスクイメージを作れば書き込みにも対応してます。
イメージは適当なイメージツールでベタイメージ作成すればOK。
コマンドラインでイメージを指定しつつ起動。
スイッチは --cflash=イメージファイルフルパス を指定。

08738712009/07/16(木) 01:22:08ID:x/ELzY+m
Desmume 0.9.4でlibnds 1.3.6との相性の悪さが改善された
開発チーム乙
0874名前は開発中のものです。2009/07/24(金) 16:42:15ID:LLy+Qyix
よろしく
0875名前は開発中のものです。2009/08/03(月) 16:00:18ID:EVZMLoen
あの?まだですか?
0876名前は開発中のものです。2009/08/23(日) 15:34:49ID:TeSGUq3Y
独自ソフト使ってるとやたら電池の消耗が激しいと思ったら、
本体の蓋を閉じても休止モードになっていませんでした。
休止モードにするにはどうすればよいのですか?
0877名前は開発中のものです。2009/08/24(月) 08:03:48ID:lkmDUi24
本体の蓋を閉じる。
0878名前は開発中のものです。2009/08/24(月) 11:39:47ID:ptunDqQj
MoonShellのこと?
0879名前は開発中のものです。2009/08/24(月) 15:49:52ID:KVdcoPYT
めらまんさんの電力制御ライブラリ使えば?
0880名前は開発中のものです。2009/08/26(水) 03:30:47ID:kfYaZGTk
MoonShellは、本体の蓋を閉じても休止モードにならないんですか?
08818782009/08/26(水) 12:55:57ID:iM0GfFpG
スタンバイモードになるよ。俺の勘違いでスマン。普通の自作ゲームのことか
0882名前は開発中のものです。2009/08/27(木) 23:06:41ID:FZ/cXlfB
エミュで開発を始めたいんですが、おすすめの環境はありますか?
0883名前は開発中のものです。2009/08/28(金) 13:08:25ID:1hI5Dl3o
>>882 自分で調べた候補はどれ?
0884名前は開発中のものです。2009/08/28(金) 16:15:47ID:dkA1HT2S
>>882
いろんなので確認したほうがいいよ
iDeasとかNO$とか
0885名前は開発中のものです。2009/08/28(金) 21:34:32ID:hiZvtNu4
>>883-884
おすすめを教えてください
0886名前は開発中のものです。2009/08/29(土) 01:43:03ID:TpfkrF34
>>883-884
言い方が悪かったですね。エミュではなく、eclipseとかVC++といったような開発環境のことです。
無いなら無いでTeraPadとコマンドプロンプトでやるつもりですが・・・

コンパイラって何でもいいんでしょうか?
0887名前は開発中のものです。2009/08/29(土) 06:57:39ID:eWNlNOhl
>>886
devkitProでいいんじゃないの
ってゆーかちょっとは自分で調べたのかよ?
0888名前は開発中のものです。2009/08/29(土) 07:27:23ID:mpSCsqLa
>>886
プログラマーズノートパッド
0889名前は開発中のものです。2009/08/29(土) 07:32:22ID:qDgPb0T/
>コンパイラって何でもいいんでしょうか?
の時点で何も調べてないことが判明したんだから
ほっときゃいいのに
0890名前は開発中のものです。2009/08/29(土) 13:09:07ID:ajW9NjPM
>>886
統合環境よりも、普通にシェルからmake使ったほうが使いやすくない?
0891名前は開発中のものです。2009/08/29(土) 14:39:51ID:CUY4iz/J
>>889
お前には聞いてない
0892名前は開発中のものです。2009/08/29(土) 16:25:16ID:LxLK5I5P
コンパイラは好きなの使え。
0893名前は開発中のものです。2009/08/29(土) 18:58:56ID:eWNlNOhl
>>890
クリック一発でmakeしたりエミュレータ立ち上がったりするから結構便利だよ
シンタックスチェックやインデントも自動でやってくれるし

やってることはmakeファイル呼び出してるだけなんだけどね
俺はVC++とgeanyをdevkitProにあわせて設定して使ってる
0894名前は開発中のものです。2009/08/29(土) 21:54:37ID:nw7YC0W2
俺は〇×で使ってるとかhogehogeを作ってるとかいうけどなんで生成物がでてこないんだ?俺のアンテナが低いだけか?
0895名前は開発中のものです。2009/08/30(日) 00:28:42ID:lYmO/tDb
devkitPro入れました。
ありがとうございました。
0896名無しさん@そうだ選挙に行こう2009/08/30(日) 14:52:52ID:/r46LI4Y
hogehoge(笑)
0897名無しさん@そうだ選挙に行こう2009/08/30(日) 19:34:12ID:s3+QKiA+
俺はchomechomeを作ってるぜ
0898名無しさん@そうだ選挙に行こう2009/08/30(日) 19:46:42ID:oonVFQpU
UNIX信者乙w
0899名前は開発中のものです。2009/08/30(日) 20:40:33ID:FmdXHYE0
>>894
HelloWorldとかでも公開したほうがいいのかな
0900名前は開発中のものです。2009/08/31(月) 10:33:59ID:q+/nkOnH
聞かないと駄目かそれは
0901名前は開発中のものです。2009/08/31(月) 13:14:20ID:O4DckLXh
どうせなら物凄いインパクトのあるHelloWorldで頼む
0902名前は開発中のものです。2009/08/31(月) 13:25:16ID:lRI2uy+a
実行したらDSが壊れるHell Worldとかどうかね
0903名前は開発中のものです。2009/08/31(月) 19:59:36ID:bgWH6CDi
実行したらボタンが吹っ飛んだりしたら物凄いインパクトあるが、フラッシュ書き換えで起動不可なんて今更だし全然インパクトなんて無い
0904名前は開発中のものです。2009/08/31(月) 21:31:18ID:X22X4uFC
インパクトはないがMicroSD破壊は地味に効く
0905名前は開発中のものです。2009/09/02(水) 22:56:12ID:lCfBesmG
初心者だけど…何から手をつければいいのかサッパリ☆分かりません!
0906名前は開発中のものです。2009/09/02(水) 23:14:40ID:XL/wCalA
>>905
・開発環境のセットアップ(devkitPro、動作検証用のDSエミュレータなど)
・サンプルのコンパイル&動作確認
・サンプルコードの改造

これくらいで1週間は時間がつぶせるかな
その間にC++の勉強も平行してやるとか

っていっても俺もこのレベルの初心者なんだけどね
0907名前は開発中のものです。2009/09/03(木) 00:04:34ID:lCfBesmG
>>906
サンクス!
まずはHelloWorldやってみます。
0908名前は開発中のものです。2009/09/03(木) 00:16:51ID:31mAbGfe
HelloWorldやってみるというか、やってみたいんだけど…
@C++?でプログラム書く
Aそのプログラムを.nds形式にコンパイラ?する
Bエミュで動作検証する
この流れでいいのかな?
0909名前は開発中のものです。2009/09/03(木) 03:59:34ID:/b9VOlZb
まずはnds-exampleを読んで動かしてみたら?

ま、この板の他のスレをみてわかるように
「プログラムが書ける」と「ゲームを作れる」の間
には大きな壁があるんだけどなw

>>894
歌って踊れるプログラマは珍種ってことだよw
オレの場合は作りたいものを作りたいように作っ
てるだけなんで基本的に身内に見せてお終い

気が向けばろだにうpしてるけどな
0910名前は開発中のものです。2009/09/13(日) 03:38:41ID:byIjLcON
worldofsand-0.1というhomebrewのソースを落としてきました。
このゲームはシュミレーションゲームに近く、砂を落としたり水を流したりして遊ぶものです。
例えば水+塩=塩水みたいなことや、水+火=水蒸気のようなこともできます。

最終的にはこれを改造して水を出そうとしたら塩水が出るような感じにしたいのです。
worldofsand-0.1\common\majic.itcm.cの一部を書き換えまして、makeが成功してndsを実行したら塩水が出せるはずのところまで来ました。
ですがなぜかmakeに失敗します。
少々長くなりましたが簡単に言えばmakeがうまくできないということです。

devkitProを使用しています。
C:\devkitPro\examples\ndsをmakeしたらすべてうまくいきました。

worldofsandのフォルダの中やその下の階層にヘッダファイルがあったので、
それをdevkitProのincludeやlibndsのフォルダあたりに入れるのかと思いましたが、どこがどこだか分りません。

makeできない原因をどうか教えてください。
worldofsandのソースはこれです↓
http://testmoonshellartwork.web.fc2.com/a/worldofsand-0.1-src.tar.gz
0911名前は開発中のものです。2009/09/13(日) 09:59:06ID:jqQuUsZ1
えすぱーさん翻訳お願い
0912名前は開発中のものです。2009/09/13(日) 13:54:11ID:byIjLcON
>>911
devkitProをインストールしました
examplesの中のやつは全部コンパイルできる
拾ってきたソースがコンパイルできない
フォルダの中にヘッダファイルがあったがどこかに入れたりしないといけないのか


ということです。意味不明ですいません。お願いします。
0913名前は開発中のものです。2009/09/13(日) 13:59:19ID:S+BVzJVX
エラー読め。
バージョンによってしょっちゅう呼び出し方とか変わったりするから
作った時と同じモノでないと9割何か出る
0914名前は開発中のものです。2009/09/13(日) 14:15:59ID:byIjLcON
http://testmoonshellartwork.web.fc2.com/a/link.html
にエラーを書き出してみました。
見た感じだとヘッダファイルがないってことと、
定義した名前がないってことだと思います。

後、プログラミングはCでprintfで変数やら代入くらいしかやったことないです。
0915名前は開発中のものです。2009/09/14(月) 02:02:47ID:VxJi1AQR
だから古いDevkitProを入れないと、そのままじゃコンパイル出来ないんだって
タイムスタンプが2007年5月だからそれ以前のを入れときゃコンパイル出来るだろ
SourceForgeにきっとあるから探せ
0916名前は開発中のものです。2009/09/14(月) 09:09:22ID:JPz/gpAJ
趣味レーション
0917名前は開発中のものです。2009/09/14(月) 20:51:36ID:P4iSjsMN
趣味レーション
0918名前は開発中のものです。2009/09/14(月) 21:42:30ID:YuXpNyeX
devkitProUpdater-1.4.10からではmakeができませんでした
devkitProUpdater-1.3.6以下ではmirrorlist.htmlのダウンロードでループします
なので1.3.6以下は試すことができません
ちょっとあきらめようかと思います
0919名前は開発中のものです。2009/09/15(火) 00:02:17ID:YuXpNyeX
>>916 >>917
突っ込まんでくれよ
できなくて頭パンクしそうなんだから
シミュレーションな
0920名前は開発中のものです。2009/09/15(火) 01:48:22ID:ump/jz5Q
>>918
俺は普通にダウンロードできたけどな。諦めるならそれでよし
0921名前は開発中のものです。2009/09/15(火) 02:37:04ID:l7FV2tGe
>>919
ちょっと前のlibndsで行われたIPCの仕様変更とグラフィックレジスタ定義の変更で
引っかかっているみたいだね

最近の環境で動かしたいなら、makeのログでerrorとなっている箇所を先頭から
丹念に潰していくしかないよ
おちついてやれば大丈夫
0922名前は開発中のものです。2009/09/15(火) 08:56:15ID:ump/jz5Q
>>921
printfしかできないような輩にできるわけが無いだろ
09239102009/09/16(水) 02:08:42ID:vB+Gh1Ry
エミュでは動くけども、実機では動かないってのは良くあること?
エミュのiDeasでは動いたけど、R4(パチモン)、DSTTi、EZ-FlashVi、acekard2i、M3izero
で検証
ROM選択後ホワイトアウトや、始まって即フリーズ、画面がバラバラ(うまく説明できない)などが起きるんだが
0924名前は開発中のものです。2009/09/16(水) 07:09:52ID:dgihcVzw
>>923
俺も奇数バイトにアクセスできないのに気づかずに悩んだことがあった
0925名前は開発中のものです。2009/09/16(水) 07:53:16ID:yMkQ9nGX
その状況を再現する状態を考えるのすら面倒
0926名前は開発中のものです。2009/09/16(水) 11:21:56ID:HcTYUMhV
こまめに実機で確認すればいいのに
ついでに言うと、実機でのみ動く場合も結構あるよ
0927名前は開発中のものです。2009/09/16(水) 13:13:09ID:dgihcVzw
確かにdldiのは実機でしか動かなかったな
0928名前は開発中のものです。2009/09/16(水) 14:39:14ID:MrFbG8AY
>>923
ゲームの動作不良は治しても、Homebrewでよく使われる機能は後回しにされてるんじゃないか?
ARM7環境、電源管理、IPC通信、IRQなどが該当しそうだ。
09299102009/09/17(木) 01:01:36ID:VMnapNPn
libndsの中身を全部消してlibnds-20071023の中身と入れ替えたらそのままのソースファイルで通ったけどもやはり変わらず。
ROM選択後ゲーム画面でたところでフリーズする。

>>924それかもしれない。
けど何も弄ってないソースすらコンパイルできないからまだ考え中
0930名前は開発中のものです。2009/09/17(木) 23:11:02ID:Se2RcdTb
>>929
default.arm7の版は合わせたか?
09319102009/09/18(金) 01:10:58ID:Pi/b/NCB
>>930
default.arm7はどこか指定されたディレクトリに入れるのでしょうか
それともdevkitProのフォルダの中に元々あるものなのでしょうか
検索かけましたが見当たらなかったもので

やはり初心者がいきなりやるのは少し無茶だったみたいです。
Cと並走して基本からやっていこうと思います。
ソースを1から書き上げる感じでやってみます。
09329102009/09/18(金) 20:20:49ID:Pi/b/NCB
>>Moonlightさん
アドバイスありがとうございます。
今の私にはとてつもなく無謀ということがわかりました。
今一度基本からやり直し、一通りできるようになってからやろうと思います。
GBAも実機の環境があるので、やれるようになったらそこから試してみようと思います。

皆様、アドバイスありがとうございました。
0933名前は開発中のものです。2009/09/18(金) 21:28:15ID:weCIIO2b
がんばれよ
0934名前は開発中のものです。2009/09/18(金) 22:57:24ID:RZ/X2E5Z
ndsファイルはARM9とARM7のコード両方を含みますがこれはどういうことでしょうか?
二つのCPUを切り替えたりする事があるのでしょうか?
0935名前は開発中のものです。2009/09/18(金) 23:25:26ID:cteGoeHk
両方同時に動いてんだよ
0936名前は開発中のものです。2009/09/18(金) 23:28:21ID:RZ/X2E5Z
マルチスレッドのようなものですか?
0937名前は開発中のものです。2009/09/18(金) 23:58:27ID:iVb89RaA
>>936
そーだよ
0938名前は開発中のものです。2009/09/19(土) 03:32:10ID:ZGLNivfT
最近のlibndsだと、凝ったことをしようと思わなければ
arm9のコードだけ書いてればOK
0939名前は開発中のものです。2009/09/19(土) 06:00:49ID:XR2eFYt5
>>936
マルチスレッドじゃなくてマルチプロセス
スレッド間だとデータ共有できるけどプロセス同士はプロセス間通信という手段でデータをやり取りしないといけない
0940名前は開発中のものです。2009/09/19(土) 09:41:33ID:ljHqZ76K
いや共有RAMあるよ
0941名前は開発中のものです。2009/09/19(土) 23:15:22ID:HQlfx5Xl
DSの中に、小人さんが二人(arm7とarm9)いて、別々の部屋で働いてんだよ。
んで、二人は情報の交換に小さいメモ紙(共有RAM)使ってやり取りすんだよ。
どうだ?わかったか?わからんだろ?
0942名前は開発中のものです。2009/09/20(日) 00:13:33ID:5sTefCsr
>>941
わからんと思う説明なら言うなよwww
0943名前は開発中のものです。2009/09/20(日) 00:15:36ID:CK+iir6j
小人さんが好き勝手に暴れるから、ゲーム作れないよ。
0944名前は開発中のものです。2009/09/20(日) 06:02:32ID:MtLnSsGj
暴れる小人さんを倒すゲームを作るんだな
09459342009/09/20(日) 13:05:16ID:ZFPEdgoY
なるほど。
どうもありがとうございました。
0946名前は開発中のものです。2009/09/20(日) 21:36:30ID:Juv3wfqg
小人さんの小さい方も大きい方の部屋を使うことが出来るけど、
大きい方に断ってからにした方が良い
0947名前は開発中のものです。2009/09/25(金) 01:18:54ID:aXHLOC0x
大きい方が小さい方をたべちゃったらどうしますか
0948名前は開発中のものです。2009/09/25(金) 20:10:46ID:/deKVuds
冥福を祈りましょう
0949名前は開発中のものです。2009/09/26(土) 23:52:15ID:vM2BnhZp
日本にはDSiモードのHomebrew開発に着手した猛者はいないのか?
0950名前は開発中のものです。2009/09/27(日) 09:14:43ID:2wApqrru
DSiの日本版本体で、HomebrewをDSiモードで起動させる方法ってもうあるの?
海外版のDSi本体では出来るらしいが、リージョン絡んでて日本版の本体では出来ないって聞いたけど。
0951名前は開発中のものです。2009/09/28(月) 13:12:49ID:gnRNUG1l
DSiを持ってない俺には無関係
0952名前は開発中のものです。2009/09/28(月) 13:14:04ID:gnRNUG1l
おまじない
0x04004000 & 3
= 1 DSi
= 0 D
S・DSL
レス数が950を超えています。1000を超えると書き込みができなくなります。