トップページgamedev
984コメント379KB

NintendoDS(NDS)非公式開発 Part1

レス数が950を超えています。1000を超えると書き込みができなくなります。
0001名前は開発中のものです。2005/04/18(月) 08:29:22ID:LMyYYz9X
NDSで何やら作ってみようという人の為のスレ。ライセンス不要。
初心者歓迎。質問歓迎。英語苦手な人歓迎。冷やかし歓迎。ネカマ歓迎。

資料、リンク等

NDSTech Wiki
http://www.bottledlight.com/ds/index.php/Main/HomePage

Home-Brew Programmers Guide to the Nintendo DS Home-Brew Programmers Guide to the Nintendo DS
http://www.dspassme.com/programmers_guide/Tutorial/index.html

開発環境

NDSDevEnv
http://www.aaronrogers.com/nintendods/ndsdevenv.php (Offline Installer 2.2.6 (8MB) をダウンロード)

NDS Development
http://j-gbadev.hp.infoseek.co.jp/ds/index.htm

GBAの資料が役に立つので関連スレ

ゲームボーイアドバンス(GBA)開発@ゲ製板(避難所)
http://bbs.gamdev.org/test/read.cgi/gamedev/1055111303/
ゲームボーイアドバンス(GBA)非公式開発 Part2
http://pc5.2ch.net/test/read.cgi/gamedev/1099119005/

09579552007/03/06(火) 01:31:01ID:Iq7ybKwA
>>956
これって、RAM有効レジスタを有効にして0x9000000以降にアクセスすれば、
拡張RAMエリアとして読み書き出来るって事かな?
0958名前は開発中のものです。 2007/03/06(火) 11:47:44ID:E0ND1NNC
NDScripterの再うぷお願いします。
0959名前は開発中のものです。2007/03/06(火) 11:48:19ID:QRT8pHFk
ここはどう?
DS Memory Expansion Pak
http://forum.gbadev.org/viewtopic.php?t=12271&start=0&postdays=0&postorder=asc&highlight=
0960名前は開発中のものです。2007/03/07(水) 07:00:24ID:r9qgCI5D
ttp://slashdot.jp/developers/07/03/06/1744244.shtml

前に配ってたネコソギトルネードとかやり損ねたんでやってみたいんだが。
ファイルで落ちてないですかね。
0961名前は開発中のものです。2007/03/07(水) 15:24:27ID:5/MCvScV
板違い野郎登場
09629552007/03/07(水) 21:22:48ID:cjoET6PU
>>959
おぉ、なんか詳しそうな情報ですね。
Moonlight氏のソースも参考に、チャレンジしてみます。
09639552007/03/18(日) 02:36:35ID:Cg+NBzeJ
ムッキー!!色々試してんだけど、うまくいかね・・・
メモリー拡張カートリッジを認識するかのテストが上手くいかない。
試しでMoonShell 1.51のソースに入っていたextmem.cppも組み込んでみたけど、認識してないっぽい。
(ExistsDSBM呼んでもfalseしか帰ってこない)
ARM9のアクセス優先度とか変えても同じだった。
なんか前処理とかいる?根本的に手順が間違ってる?
0964Moonlight2007/03/20(火) 06:22:25ID:c79pMfjS
>>963

ブラウザ拡張メモリ専用で単にメモリとして使いたいだけなら、extmem.cppなんか使わないで自前で書いた方が楽だと思います。(アレは汎用性を求めて設計をミスったのでぐちゃぐちゃです
大前提としてGBAカートは16bitバスなのを注意することと、GBAカートアクセス権をARM9側に設定する(WAIT_CR/REG_EXEMEMCNTのBIT7を0にする)ことを忘れずに。
あと、バカにされているように感じたらごめんなさいなのですが、mallocなどのC標準メモリ管理も使えないと思った方が無難です。

簡単な判定方法は、
const u8 Data[16]={0xFF,0xFF,0x00,0x00,0x00,0x24,0x24,0x24,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F};
がアドレス0x080000B0から16byteに存在すればブラウザ拡張メモリがあります。(判定は16bit単位で)
アドレス0x08240000に1を書き込むと読み書き可、0を書き込むと読み込みのみ(だったはず)になります。
ちなみに、メモリマップは0x09000000から8MByte分(0x09800000まで)です。

ブラウザ拡張メモリをブートに使ったりするときは、イメージを書いた後に読み込みのみにしておいたほうが無難かもです。
0965Moonlight2007/03/20(火) 06:28:21ID:c79pMfjS
すいません、下げ忘れました…。
ついでに補足。GBAカートメモリは(TCMではなくメインメモリと比べても)非常に遅いので、CF/SDなどリアルタイムに変わるI/Oが無ければ、GBAカート領域をCPUキャッシュ有効にしてDMAを使わないようにするほうがずっと速いです。
もちろんキャッシュをフラッシュすればメインメモリと同じようにDMAが使えます。
0966名前は開発中のものです。2007/03/20(火) 17:29:33ID:W3RvmqHG
お、moonさん来たみたいですね
09679552007/03/20(火) 22:54:16ID:0mirLlS7
>>Moonlight
レス大感謝です。
初めは自前でやってたんですけど、どうも上手くいかないのでextmem.cppを試してみたんですよ。
結果ですが、無事認識しました。
手持ちの資料のGBAカートアクセス権ビット設定に関する記述が違っていたというオチでした・・・orz
認識しない訳ですわ。

拡張メモリーはやっぱり遅いですか。
フォントや画像(基本的に書き換えしないデータ)をメインメモリの外に置ければと思ったんですけど、
メインメモリとあまりにも速度差があるのであれば色々考えないと・・・
でも、8Mの容量は捨てがたいです。
0968名前は開発中のものです。2007/03/21(水) 17:10:23ID:XqjbPkW+
R4での最新版DSLuaの動かし方がわからない( p_q)
突っ込んでdslua.ndsを起動すると真っ暗
起動方法教えて!
0969Moonlight2007/03/21(水) 19:16:49ID:bMq3DP8a
>>967

GBAカートアクセスは遅いです…私の感覚だけで書くと、GBAのARM7/33MHzキャッシュ無しの頃でさえ遅くてGBAカートからメインメモリ(EWRAMかIWRAM)に転送して使っていたくらいなのに、
NDSのARM9/66MHzキャッシュ有りメモリと比べるなんてとんでもない、という感じです。
ただ、GBAカートエリアをキャッシュONにすれば(キャッシュに収まる範囲でですが)DTCMと等速になる(はず)ので、最初の読み込み以外は変わらないと思いますけれど、
データキャッシュに収まるくらいの小容量データならメインメモリでいいよね、って話でいまいち使い所が難しいです。
967を読む限りで想像すると、DSカードから読み込んで解凍、GBAカートRAM上で運用、という形みたいですが。
ちなみにMoonShell/ImageViewerで大きめの画像を扱うときのGBAカートRAM有り/無しでは雲泥の差があります。解凍(展開)に10秒掛かる…なんてときは、かなり意味があると思います。
今後の流れでhomebrew動かすときはとりあえずみんなDSブラウザ拡張メモリ(または互換カートリッジ)を差してくれるくらいになれば、それ前提で大規模アプリ開発に繋がると思いますが、
無くても動くようにしなきゃいけないとなるとディスクキャッシュとか画像キャッシュとか、そういう二次的な高速化手段以上になれないと思います。
長文&愚痴っぽくなってしまってすいません。何やってるか知りませんが(笑)かげながら応援してます。ではでは。
0970名前は開発中のものです。2007/03/22(木) 12:30:42ID:lsr2fM8z
http://www.aaronrogers.com/nintendods/ndsdevenv.php (Offline Installer 2.2.6 (8MB) をダウンロード)

りむーぶどうこうって書かれていて存在しないっぽいんだけど
探せない俺がプログラムするのは無理?w
0971名前は開発中のものです。2007/03/22(木) 18:57:44ID:0IajFvL4
それよりも,
プログラミング自体未経験なんだったらまずはWindows上で勉強してから
0972Moonlight2007/03/22(木) 20:48:52ID:oQS86Vwg
>>970

いまなら「devkitPro Updater 1.4.2」を標準インストールすれば大丈夫だと思います。
失礼ですが、もしまったく未経験なら、いきなり組み込み系ではなくWindowsで十分練習してからのほうが変な癖がつかなくて後々楽だと強く思います。Google使うとすぐ情報出てくるし。
昔と違って非商用ならフリーの開発環境がいくつかあるので挑戦してみたら楽しいかもです。
0973名前は開発中のものです。2007/03/23(金) 00:33:17ID:pjVcJJoa
丁寧にありがとうございます!
そうですね、
簡単に考えてましたが難しそうなので基礎を身に着けてからがんばります!
ありがとうございました。
0974名前は開発中のものです。2007/03/25(日) 19:14:08ID:RPddLeNY
↓で公開されているSDLのDS移植版使っている人います?
http://gpf.dcemu.co.uk/ndsSDL.shtml

とりあえずライブラリ自体のインストールはできたんだけど、
exampleがまともに動かない・・・。
コンパイルはできるけどDesmumeで動かすとまったく画面表示がされないっす。

ちなみにdevkitPRO r20、libnds-20070127環境。
0975名前は開発中のものです。2007/03/25(日) 20:38:45ID:Huakjrj8
そろそろ次スレ?
0976名前は開発中のものです。2007/03/26(月) 11:37:24ID:6JLTGYBQ
ソースをいじれる人間から言うとDeSmuMEの3Dは使い物にならない
0977名前は開発中のものです。2007/03/28(水) 00:11:06ID:rswjKy4g
DEVKIT PRO R20を使い始めたのですが、プログラムの動作確認はエミュレーターでは出来ないのでしょうか?
DUALISで確かめようとしても、DUALIS自体が終了してしまいます。
0978名前は開発中のものです。2007/03/28(水) 08:33:18ID:J2CYkT36
>>977
出来たり出来なかったりだね
開発が続いているno$gba-wとかDesmuMeを使え
0979名前は開発中のものです。2007/04/01(日) 14:02:44ID:TOi2TziN
文字毎スプライトを貼り付ける以外で日本語を表示するにはどうすればいいんですか?
0980名前は開発中のものです。2007/04/02(月) 01:02:31ID:jnNxqG4P
タイルを32x4とか適当な数確保する。
それをフレームバッファ(でいいんだっけ?)に見立ててガリガリ書く。
タイルの高さ(この場合、32ピクセル)を超えなければ、8ピクセル以上のでかい文字も書ける。

というのをGBAでやってるサンプル。
DSにも流用できる。
http://nagoya.cool.ne.jp/dcdev38/gba/
0981名前は開発中のものです。2007/04/05(木) 10:18:40ID:DjH1kNPw
誰か次スレ立てといてくれんか?
0982名前は開発中のものです。2007/04/05(木) 12:47:55ID:oB8nkerB
>>981
>>1が2年前なのですでにリンク切れとか情報が古い
新しいテンプレ案があれば立てるよ
0983名前は開発中のものです。2007/04/06(金) 00:08:57ID:HYYJktDv
付け足し、不要リンク削除は頼んだ。

- ↓ここから -

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/
0984名前は開発中のものです。2007/04/06(金) 07:29:24ID:0HAbZjic
次スレ
NintendoDS(NDS)非公式開発 Part2
http://pc11.2ch.net/test/read.cgi/gamedev/1175812090/
レス数が950を超えています。1000を超えると書き込みができなくなります。