- 1 名前:名前は開発中のものです。 [2008/04/08(火) 07:05:13 ID:MngpkM4u]
- NDSで何やら作ってみようという人の為のスレ。ライセンス不要。
初心者歓迎。質問歓迎。英語苦手な人歓迎。冷やかし歓迎。ネカマ歓迎。 資料、リンク等 nocash.emubase.de/gbatek.htm www.bottledlight.com/ds/index.php/Main/HomePage www.helloworld.jp/~duke/nintendo_ds/ 開発環境 www.devkitpro.org/ sourceforge.net/project/showfiles.php?group_id=114505 関連スレ ゲームボーイアドバンス(GBA)開発@ゲ製板(避難所) bbs.gamdev.org/test/read.cgi/gamedev/1055111303/ ゲームボーイアドバンス(GBA)非公式開発 Part2 pc5.2ch.net/test/read.cgi/gamedev/1099119005/ 前スレ pc11.2ch.net/test/read.cgi/gamedev/1175812090/
- 133 名前:名前は開発中のものです。 mailto:sage [2008/05/20(火) 21:41:56 ID:mk1SjfwX]
- フリーのDS用日本語手書き文字認識ができたらすごいな
DS版もSourceForgeでやってほしいわ
- 134 名前:名前は開発中のものです。 mailto:sage [2008/05/20(火) 22:08:14 ID:3kt9IMad]
- souceforgeじゃなくていいな
むしろうまくいかなくなると思われ
- 135 名前:名前は開発中のものです。 mailto:sage [2008/05/20(火) 23:53:39 ID:xIWP/ob7]
- SourceForgeとかwwwうえww
正直、偉そうなこと言ってるけど、完成度低いんだよホントに・・・ 実際に触ってみると分かるよ ttp://www.mediafire.com/?pwfnmymd0x7 バグ多いけど目つぶってね orz この流れが続くと痛いから、ぼちぼちROMに戻るデス
- 136 名前:名前は開発中のものです。 mailto:sage [2008/05/21(水) 03:37:24 ID:bvk1AfAx]
- 初歩的な質問ですみません。
メモリの空き容量を調べたいと思って、mallocとfreeを繰り返してNULLが帰ってくるまでループ回すってやり方を試してみたんですが、正しい結果が得られないみたいなんです。 何かいい方法はありますか?
- 137 名前:名前は開発中のものです。 mailto:sage [2008/05/21(水) 07:13:30 ID:dwc8/njx]
- >>136
メモリの空き容量っていうのが、曖昧でよくわからない 確保できる「最大の」容量が知りたいのか 確保できる「合計の」容量が知りたいのか mallocとfreeを繰り返して、っていうのはつまりどういうこと? メモリはmalloc/freeを繰り返すうちに断片化されていくから 最大の容量≠合計の容量になるのは分かるよね? 最大の容量がしりたいなら for(size = 40000000; malloc(size) != NULL; size--); これで調べられるとおもう。 合計の容量がしりたいなら、malloc(256)を何回繰り返せるかカウント してみたらどうでしょう。
- 138 名前:名前は開発中のものです。 mailto:sage [2008/05/21(水) 07:25:04 ID:dwc8/njx]
- 曙が3人座れるサイズの長椅子があったとして、
もし真ん中に曙0.2人分サイズの子供が座ってたら 空いてるスペースは曙2.8人分ぐらいだけれども 実際に座れるのは2人だよね。 malloc() free() を繰り返すっていっても 同じサイズで何度も繰り返すのか、それとも少しずつ 確保するサイズを増やすの、減らすの?
- 139 名前:名前は開発中のものです。 mailto:sage [2008/05/21(水) 08:28:21 ID:bvk1AfAx]
- あいまいな書き方ですみませんです。
今現在取得できる連続したメモリの空き容量ってことで、こんなのでやってました。 これで実行したら、場合によっては4194304以上の数字が出たりします。 んで、whileから抜けれて無いみたい。 char *m_ptr; m_ptr=NULL; int cnt=1; while (1) { m_ptr=(char*)malloc(cnt*1024); if (m_ptr==NULL) break; free(m_ptr); m_ptr=NULL; cnt++; iprintf("mem:%d\n",cnt*1024); } iprintf("memfree:%d\n",cnt*1024);
- 140 名前:名前は開発中のものです。 mailto:sage [2008/05/21(水) 08:29:24 ID:bvk1AfAx]
- うぁ、コピペしたら変な改行はいった・・・
- 141 名前:名前は開発中のものです。 mailto:sage [2008/05/21(水) 09:13:18 ID:WmlOwoHY]
- libcが物理メモリと関係なく、確保できるぶんだけ確保するとか、
物理メモリ境界をオーバーしてもNULLを返さないような実装になってんじゃね?
- 142 名前:名前は開発中のものです。 mailto:sage [2008/05/21(水) 11:39:45 ID:dwc8/njx]
- 完全に推測でしかないんですが
メインRAMで使える領域は、正確には4Mじゃなくて 後ろの方をシステムが使用してるから(4M - 4k)だよね /devkitPRO/devkitARM/arm-eabi/lib/ds_arm9.ld を見ると # MEMORY { # rom : ORIGIN = 0x08000000, LENGTH = 32M # ewram : ORIGIN = 0x02000000, LENGTH = 4M - 4k # dtcm : ORIGIN = 0x0b000000, LENGTH = 16K # itcm : ORIGIN = 0x01000000, LENGTH = 32K # } # __ewram_end = ORIGIN(ewram) + LENGTH(ewram); # __eheap_end = ORIGIN(ewram) + LENGTH(ewram); 実際に、こう書いてあるし。 だから、2000000h 〜 3FFF800がmalloc()で確保される空間なんだろうが /libnds/include/ipc.h をみると # static inline # TransferRegion volatile * getIPC() { # return (TransferRegion volatile *)(0x027FF000); # } ヒープの後ろ4096kを、なんか無断でつかっちょる 前々から、これってmalloc()で27FF000h〜が確保されたら ぐちゃぐちゃになるんじゃないかってヒヤヒヤしてるんだけど どうなのこれ? 大丈夫なの?
- 143 名前:名前は開発中のものです。 mailto:sage [2008/05/21(水) 11:41:39 ID:dwc8/njx]
- 2000000h 〜 3FFF800
じゃなくて 2000000h 〜 2FFF800 に脳内変換しておいてくだしあ orz
- 144 名前:名前は開発中のものです。 mailto:sage [2008/05/21(水) 17:00:30 ID:oS9AT3QG]
- neimod.com/dstek/
消えてる?
- 145 名前:名前は開発中のものです。 mailto:sage [2008/05/21(水) 20:53:26 ID:bvk1AfAx]
- 難しすぎてよくわかりませんが、先に書いた方法では上手くいかないんですね・・・
ちょっと困っちゃったかもです。 考えてみます。
- 146 名前:名前は開発中のものです。 mailto:sage [2008/05/22(木) 00:11:54 ID:0fQn8Ipy]
- どうすればいいんだ?自分でnewハンドラを実装が一番楽かな
- 147 名前:名前は開発中のものです。 mailto:sage [2008/05/22(木) 01:40:27 ID:UbCa5G5P]
- mallinfo()
使えるかどうかは知らん
- 148 名前:名前は開発中のものです。 mailto:sage [2008/05/22(木) 07:45:52 ID:x3H0CM1w]
- >>142
ld が割り当てる RAM の容量は 4M-4k なんだけど、そうするとその空間は 02000000-023fefff じゃね? これだと IPC のアドレスが変なんだけど、それは 02400000 からが RAM の ミラーになってるからで、027ff000 は 023ff000 にあたるので問題無し >>145 >>137 じゃだめなの?
- 149 名前:名前は開発中のものです。 mailto:sage [2008/05/22(木) 08:16:21 ID:UEUlTLpO]
- >>148
forの方は、4Mから徐々に確保する量を減らして、NULLが帰ってこなかったらそれが連続して取れるメモリ容量って意図だと思うんですが、 初めの確保できないはずの4Mの時点でNULLが帰ってこないので、ループが終わってしまいます。 256づつってのも、確保されたメモリが必ず連続したものとは限らないので、今回の趣旨には合いません。
- 150 名前:Moonlight mailto:sage [2008/05/22(木) 18:31:31 ID:GVceNApO]
- mdxonline.dyndns.org/imgview111_memtool.txt
safemalloc_nocheck関数が、私がそれなりに安心して使えると信じて使っているmalloc関数です。 atypeっていうのは、バッファアンダー&オーバーラン、解放し忘れと二重解放を検出するために私が勝手に作った部分ですので、読み飛ばして頂いて問題ありません。 読みづらいと思いますが、もし参考になれば見てみてくださいませ。 DevKitProのmallocが信用できればこんなに苦労しないのに。標準関数をオーバーライドする技術があれば…。(苦笑
- 151 名前:名前は開発中のものです。 mailto:sage [2008/05/22(木) 19:33:07 ID:0fQn8Ipy]
- >>150
こんなに重いmalloc関数、使ってられないんじゃないか?
- 152 名前:Moonlight mailto:sage [2008/05/22(木) 20:00:45 ID:nu+6rnes]
- >>151
仰る通り本当に重いです。でも安全性を最も気にしていることと、リソース絡みのバグは非常に見つけづらいこともあって、私はこのスタイルを愛用しています。 本当に処理速度が必要な一番内側のループで仕方なくmallocする必要があるときは、ある程度大きなブロックの最初で空きメモリを計算しておいて…あぁ面倒くさい。(苦笑 毎度毎度フラグメントしないようにmallocする順番を考えるのも面倒くさいですし。 メモリをぎりぎりまで使おうと思わなければ(例えば動的キャッシュなどを考えなければ)普通にmallocすれば大抵は動くと思うのですが…。 って愚痴っぽくなってきたので退散します。蛇足失礼しました。
- 153 名前:名前は開発中のものです。 mailto:sage [2008/05/22(木) 20:10:06 ID:0fQn8Ipy]
- >>152
なるほど、さすがに今まで苦労している人は違いますね。サンクス。 俺は今までmallocの問題を感じたことがなかったんだけど、 問題がどこにあるのか完全に切り分けることができれば、 new演算子や完全に独立したmalloc関数を作るのがいいんじゃないか?
- 154 名前:136 mailto:sage [2008/05/22(木) 20:43:09 ID:UEUlTLpO]
- >>Moonlight氏
試しに、プログラムにそのまま組み込んでみます。(当然変更する部分は変更して) 上手くいった場合、組み込んだままプログラム公開とかしても問題ないでしょうか?
- 155 名前:Moonlight mailto:saga [2008/05/22(木) 21:28:14 ID:nu+6rnes]
- >>153
もちろんスタブをオーバーライドするのが一番いいのでしょうが、標準関数に手を加えるのはDKPがバージョンアップしたときにトラブルの元になりそうと思ってやめてしまいました。 libfatとかはfopenなどを上書きしていましたがなんとなく気持ち悪くて。(プログラマにあるまじき感覚的表現 DevKitProというか、libndsの更新リストが信用でき(ry >>154 速度や安全性が十分に要求水準を満たすことを確認できたときは、自由に使っていただいてOKです。 私に報告することも、なにか表示する必要もありません。 atype絡みはばさっと切っちゃうが吉ですたぶん。
- 156 名前:名前は開発中のものです。 mailto:sage [2008/05/22(木) 22:45:41 ID:x3H0CM1w]
- うーん、RAM 容量以上でも NULL が返ってこないのは何か
malloc のアルゴリズム以前の別の問題がある気がするんですが… 少なくともうちでは >>137 風のプログラムも >>139 も動いてます 環境は devkitARM release 23 b とそれでコンパイルした libnds 20071023
- 157 名前:136 mailto:sage [2008/05/22(木) 23:30:26 ID:UEUlTLpO]
- 環境依存なの?
うちはDevkitPro release 21 (DevkitARM r21)なんで、そのせいとか? ちなみに、>>139 のを実行したら、値がいくらって出てますか?
- 158 名前:名前は開発中のものです。 mailto:sage [2008/05/23(金) 06:04:27 ID:lXYT/wck]
- r23b で 4128768、r21 で 4145152 でした
ソースと r23b でコンパイルしたものをあげておきます ttp://gamdev3.hp.infoseek.co.jp/cgi-bin/up/No_0271zip.html
- 159 名前:136 mailto:sage [2008/05/23(金) 08:34:48 ID:XZvO7U4o]
- >>158
DLして試してみたところ、こっちでr21でコンパイルしたものを実行したら4128768の値が出ました。(forのタイプ) となると、今作ってるプログラムが怪しいってことなのかな? プログラムでどこかシステムに関わるようなところを潰している? 根本的に何か間違ってる?
- 160 名前:名前は開発中のものです。 mailto:sage [2008/05/23(金) 09:03:10 ID:gPnkFXwS]
- >>159
malloc と free のペアをコンパイラが認識して、最適化で潰されてるってことはない? コンパイルついでにアセンブリを吐かせてみるとか。
- 161 名前:名前は開発中のものです。 mailto:sage [2008/05/23(金) 10:06:00 ID:1BDliqaC]
- >>160
malloc()やfree()はコンパイラから見たら単なる関数呼び出しだから、最適化で消えることはない。 しかも、freeされないパスもあるわけだから、なおさら最適化で消えるはずはない。
- 162 名前:名前は開発中のものです。 mailto:sage [2008/05/23(金) 16:12:01 ID:JQlc5Wg2]
- BGのパレット0が透明にならないようにする方法ってある?
- 163 名前:名前は開発中のものです。 mailto:sage [2008/05/23(金) 16:19:54 ID:GlW5b/3a]
- 一番奥に持っていけばいい
- 164 名前:名前は開発中のものです。 mailto:sage [2008/05/23(金) 16:43:13 ID:dp7Y5NLp]
- >>136
GBAの方でスレ違いだけど 自分はこんな感じで作っています。 ttp://akkera102.sakura.ne.jp/test/mymem.txt 動的確保してないし そのままだとコンパイルできないけど 参考までに見てやってください。
- 165 名前:名前は開発中のものです。 mailto:sage [2008/05/23(金) 17:22:32 ID:JsGk0+Q7]
- C++で開発したいけどアロケーターというかnewの信頼性って...Devkitだとどんなもんなんだろ...
- 166 名前:名前は開発中のものです。 mailto:sage [2008/05/23(金) 21:51:38 ID:kcI1LowV]
- エエエエなにこの流れは
もう手書き認識エンジンをC++つかって書いちゃったんですけど もしかして、信頼性やばいとかいう話ですか・・・( ´Д⊂ヽゥエエェ
- 167 名前:名前は開発中のものです。 mailto:sage [2008/05/23(金) 22:05:41 ID:kcI1LowV]
- いちお手書き認識デモのROMイメージ
www.mediafire.com/?jl0zzomezig 認識精度と認識にかかる時間でけっこう苦しんだんですが 問題なく使えるレベルにまでなんとか持っていけたので この土日に頑張れれば、ソース投下できる気がします。 ただし 相変わらず辞書にTomoeから引っ張ってきたデータを使っているので カタカナが入っていません。ひらがなも濁音拗音が入っていません。 アルファベットも入っていません orz
- 168 名前:136 mailto:sage [2008/05/23(金) 22:20:09 ID:XZvO7U4o]
- >>166
うちのプログラムがおかしい可能性が大です。 外部関数等を色々引っ張ってきて組み込んだりしてたので、その影響なのかもしれません。 まだ解決には至ってませんが、あとは自分で頑張って調べてみたいと思います。 色々情報等ありがとうございました。
- 169 名前:136 mailto:sage [2008/05/24(土) 09:57:36 ID:SU4ROGma]
- 原因が多分わかりました。
自分のプログラムではmallocを使ってメモリを確保していたのですが、他から持ってきたソースがnewを使っていたみたいです。 newを使っていた部分をmallocに変更したら、正しい数値を返すようになりました。 色々とご迷惑をおかけしました。
- 170 名前:名前は開発中のものです。 mailto:sage [2008/05/24(土) 17:05:00 ID:vwEWTo+E]
- セックスフレンドのコンバーター作ってくださいね♥
- 171 名前:名前は開発中のものです。 mailto:sage [2008/05/27(火) 10:41:54 ID:YZ7IFeP9]
- newで確保したメモリをdeleteでなくfreeで開放してたって事でしょうか。
それとも、devkitではnewにはdelete、mallocにはfreeと使い分けてても駄目なのかな? VC++とかは対応がしっかりしてれば平気なんだけど。 (もちろん、混在しないほうが問題を起こさないで済みますね。前に似たようなトラブルで痛い目に)
- 172 名前:名前は開発中のものです。 mailto:sage [2008/05/29(木) 13:34:28 ID:yLtThVzs]
- ニトロエミュレーター要らない
- 173 名前:名前は開発中のものです。 mailto:sage [2008/06/02(月) 20:30:47 ID:WvDNfNGa]
- J2ME移植してた人どうしてますか?
HSP移植してみたけどこのスレ的には要らない子ですよね。
- 174 名前:名前は開発中のものです。 mailto:sage [2008/06/02(月) 23:33:18 ID:ND3GH5J+]
- >>173
wktk 要らない子だなんて言わないでさぁ。
- 175 名前:名前は開発中のものです。 mailto:sage [2008/06/03(火) 20:16:53 ID:A0JtPb+m]
- >>174
peppermint.jp/products/hsp/ スプライトとタイルエンジンが手抜きなのも一因なんですが そもそものインタプリタの性能的にアクションゲームは厳しそうです
- 176 名前:名前は開発中のものです。 mailto:sage [2008/06/05(木) 01:58:55 ID:2eUO7g6w]
- NDScripterどなたか再アップロードしていただけませんか?
- 177 名前:名前は開発中のものです。 mailto:sage [2008/06/05(木) 15:10:16 ID:9maHgBmq]
- セックスフレンドのコンバーターどなたか作っていただけませんか?
- 178 名前:名前は開発中のものです。 mailto:sage [2008/06/08(日) 23:21:51 ID:uru8nGCo]
- >>175
typoあるよ。 郡 → 群
- 179 名前:名前は開発中のものです。 mailto:sage [2008/06/09(月) 22:02:37 ID:ly2i6a0d]
- >>178
thx。直しました。
- 180 名前:名前は開発中のものです。 mailto:sage [2008/06/12(木) 00:48:39 ID:abLtMVX/]
- 上画面と下画面とで同時に3D画面を表示するのってどうやんの?
できればサンプルコード、キボン
- 181 名前:名前は開発中のものです。 mailto:sage [2008/06/12(木) 03:05:39 ID:Yl90CHys]
- え、できるの?
- 182 名前:名前は開発中のものです。 mailto:sage [2008/06/12(木) 03:26:37 ID:ERHI+GZc]
- 3D対応なのはEngineA だけだから、どうしてもやりたいなら
片方はソフトでがんばるしかないんじゃないか?
- 183 名前:名前は開発中のものです。 mailto:sage [2008/06/12(木) 08:20:05 ID:59gOD9Qc]
- いやキャプチャしつつ毎フレームlcdSwapで可能。
フレームレートは半分になるけど。
- 184 名前:名前は開発中のものです。 mailto:sage [2008/06/12(木) 10:02:00 ID:Au+VrmBW]
- devkitARM R23bでサンプルがコンパイルできないんだけど設定が悪いのかな?それとも仕様?
ググッてみたけどPAlibではR21以上では使えないみたいなのしか出てこなかった…PAlibは使ってないのに。 C:\devkitPro\examples\nds\Graphics\2D\hello_world>make linking hello_world.elf c:/devkitpro/devkitarm/bin/../lib/gcc/arm-eabi/4.3.0/../../../../arm-eabi/lib/th umb/ds_arm9_crt0.o: In function `CIDLoop': (.init+0x2ac): undefined reference to `initSystem' collect2: ld returned 1 exit status make[1]: *** [/c/devkitPro/examples/nds/Graphics/2D/hello_world/hello_world.elf] Error 1 make: *** [build] Error 2
- 185 名前:名前は開発中のものです。 mailto:sage [2008/06/12(木) 11:53:49 ID:hPJuu01m]
- >>184
アップデートしてmakeしてみた D:\devkitPro\examples\nds\Graphics\2D\hello_world>make main.cpp arm-eabi-g++ -MMD -MP -MF /d/devkitPro/examples/nds/Graphics/2D/hello_world/buil d/main.d -g -Wall -O2 -mcpu=arm9tdmi -mtune=arm9tdmi -fomit-frame-pointer -ffast -math -mthumb -mthumb-interwork -I/d/devkitPro/examples/nds/Graphics/2D/hello_wo rld/include -I/d/devkitPro/examples/nds/Graphics/2D/hello_world/build -I/D/devki tPro/libnds/include -I/D/devkitPro/libnds/include -I/d/devkitPro/examples/nds/Gr aphics/2D/hello_world/build -DARM9 -fno-rtti -fno-exceptions -c /d/devkitPro/exa mples/nds/Graphics/2D/hello_world/source/main.cpp -o main.o linking hello_world.elf built ... hello_world.arm9 Nintendo DS rom tool 1.38 - May 15 2008 by Rafael Vuijk, Dave Murphy, Alexei Karpenko built ... hello_world.nds D:\devkitPro\examples\nds\Graphics\2D\hello_world>
- 186 名前:名前は開発中のものです。 mailto:sage [2008/06/13(金) 00:32:45 ID:hTZLLvJH]
- >>185
検証サンクス。 どうやらインストールに失敗していただけのようだ。 環境変数を弄くって再インストールしたらできた。
- 187 名前:名前は開発中のものです。 mailto:sage [2008/06/13(金) 01:25:41 ID:I9zeYfhZ]
- devkitproのサンプルを見ると、glBeginとglEndの間はglTexCoord2t16やglVertex3v16で
チマチマ描いてるみたいですが、これが最速なんですかね。 それとも6144頂点で頭打ちするから描画速度を心配する必要はないのかな?
- 188 名前:名前は開発中のものです。 mailto:sage [2008/06/13(金) 23:43:19 ID:edkaQlWT]
- ディスプレイリストのサンプルみたいにコマンドパックをDMAで送った方が早いと思う。
- 189 名前:名前は開発中のものです。 mailto:sage [2008/06/14(土) 09:45:26 ID:bjLZXeDG]
- まぁなんのためのGFXFIFOなのかと
- 190 名前:名前は開発中のものです。 mailto:sage [2008/06/14(土) 19:47:28 ID:b5JMntJj]
- ちょ、Moonlightさん何やってんのwww さくらはwww
- 191 名前:名前は開発中のものです。 mailto:sage [2008/06/16(月) 00:09:18 ID:h5aN3++z]
- >188-189
わかた、ども
- 192 名前:名前は開発中のものです。 mailto:sage [2008/06/16(月) 20:07:21 ID:Fi+4mDrr]
- ndsで自分のソフトに組み込めるファイラってある?
- 193 名前:名前は開発中のものです。 mailto:sage [2008/06/17(火) 22:49:31 ID:QaaOCC1U]
- libndsのGL_FOGの使い方、さっぱりワカンネ
教えて、エロイヒト!
- 194 名前:名前は開発中のものです。 mailto:sage [2008/06/19(木) 11:12:46 ID:aMY2EDOc]
- OpenGLでフォグの知識があればわかると思う
というかとりあえずそっちから理解するべき
- 195 名前:名前は開発中のものです。 mailto:sage [2008/06/20(金) 08:22:45 ID:YtCEI6xK]
- みなさん、DLDI(FAT)を使ったプログラムを作った時のテストってどうしています?
私は実機で毎回テストしているんですが、microSDカードの付け替えが面倒で、 出来ることならばエミュレータ上でテストしたいんですが、 エミュレータはアダプタに対応していないので困っています。 何かいい方法を実践されている方がいらっしゃれば、ぜひ教えてください。
- 196 名前:名前は開発中のものです。 mailto:sage [2008/06/20(金) 20:53:20 ID:IKyKkzlU]
- R4互換で動くエミュがあったはず。
かなり前の記憶なので、よく覚えてない。 エミュ使わずに実機で試すってのなら、DSFTPとかでDS側にプログラム持ってくるとか。 金かけてもいいってのなら、DS-RAMアダプターも選択肢の一つかもね。
- 197 名前:名前は開発中のものです。 mailto:sage [2008/06/20(金) 22:22:14 ID:X2WfPJnz]
- desmume 0.8はlibfat経由でファイルI/Oできてる
- 198 名前:名前は開発中のものです。 mailto:sage [2008/06/21(土) 02:38:49 ID:7hV1kaOb]
- Scale&Rotateのスプライトを使ってプログラムしているんだけれど、
スプライトの数が32個を超えると画像の一部が欠けてしまう。 特に32個に制限はなかったと思うけれど、何が原因かわかる人いますか?
- 199 名前:名前は開発中のものです。 mailto:sage [2008/06/21(土) 02:50:47 ID:1eIWMQ3q]
- 正確なピクセル数は忘れましたが、横一直線にオブジェクトが並ぶとスキャンラインの仕様でオブジェクトの一部が処理されなくなります。
SCALEしても規定範囲を超えないオブジェクトや、ROTATEではみ出た部分が重要でない場合は、DOUBLEフラグを外すのがお手軽な対応です。 ここらへんは(NDSはGBAとほぼ同じなので)正直日記さんを読むと詳しく書いてあるのでお勧めです。 HBLANK/VBLANK期間内のみVRAMにアクセスする設定にするのも道が開けるかもしれません。 BGを4枚使い切ることがないのであれば、巨大オブジェクトの一部をBG3/BG4に展開してしまうのも手だと思います。
- 200 名前:名前は開発中のものです。 mailto:sage [2008/06/21(土) 03:16:03 ID:7hV1kaOb]
- >>199
あ、なるほど。32個ではなくて並びすぎだったのか。 情報ありがとうございます、ROTATEを外して対応してみます。
- 201 名前:名前は開発中のものです。 mailto:sage [2008/06/21(土) 13:56:37 ID:TKydpBdA]
- DSのスプライトが横一直線に表示できるのは透過色も含めて1018ドット
REG_DISPCNTのBIT23を0にしたときは1414ドット・・・のはず DOUBLEフラグを付けると32ドットのスプライトならscaleに関わらず64ドット相当になり 64ドット*32個で2048ドットなのでオーバーした分が欠ける
- 202 名前:名前は開発中のものです。 mailto:sage [2008/06/21(土) 14:12:05 ID:TKydpBdA]
- 遅レスだが>>119
REG_DISPCNTにスプライトVRAMを256Kまで使えるようにするフラグがある インデックス自体は増やせないが、インデックスのポインタサイズを2〜8倍に出来るので 画像のビット深度を上げても低いときと同じ量のキャラクタ数が格納できる
- 203 名前:名前は開発中のものです。 mailto:sage [2008/06/21(土) 18:49:10 ID:LaL2WHZA]
- >>195
desmumeの他にはideasもイケる ideasの方はイメージファイルにr4tf.dldiをパッチして PropertyからR4エミュレーションを有効にする必要が あるけどな
- 204 名前:名前は開発中のものです。 mailto:sage [2008/06/21(土) 21:54:17 ID:EDSbWPdd]
- >>202
DISPLAY_CRの別名だよね? DISPLAY_SPR_1D_SIZE_〜?
- 205 名前:名前は開発中のものです。 [2008/06/22(日) 04:06:31 ID:cwyntve3]
- >>198
ATTR0_ROTSCALEを使っているんじゃないか? ATTR0_ROTSCALEで一度に回転できるのは32個まで。なので、そのせいだと妄想。 すべて回転するには、ATTR1_ROTDATA(n)で回転するスプライトを入れ替えると できるはず。 使っていればの話・・。
- 206 名前:195 mailto:sage [2008/06/22(日) 05:41:28 ID:hOUiSeY7]
- 皆さんありがとうございました。desmume 0.8で問題なく動かすことができました。
- 207 名前:名前は開発中のものです。 mailto:sage [2008/06/22(日) 08:47:16 ID:BkmplJLn]
- >>202
そうそれ DISPLAY_SPR_1D_SIZE_64だと256色スプライトを16色と同様のインデックスで扱えるようになる レスとは関係ないがgbatekはでかすぎて使いづらいのでNDSの部分に絞って分割しといた 適当にお前らで活用してくれ gamdev3.hp.infoseek.co.jp/cgi-bin/up/No_0294zip.html
- 208 名前:名前は開発中のものです。 mailto:sage [2008/06/22(日) 08:48:37 ID:BkmplJLn]
- >>207は>>204宛て
- 209 名前:名前は開発中のものです。 mailto:sage [2008/06/22(日) 08:59:08 ID:ip+XhLaB]
- NDScripterはどこにありますか?
ここにあったっぽいけど、荒れちゃってます。 ttp://hylom.sakura.ne.jp/wiki/wiki.cgi?NDScripter%B4%D8%CF%A2%A5%C4%A1%BC%A5%EB
- 210 名前:名前は開発中のものです。 mailto:sage [2008/06/22(日) 09:41:37 ID:F9/jxuyE]
- >>209
> NDScripterはどこにありますか? ttp://www7.axfc.net/uploader/File/so/7518 上げてみた。 ただ、DLDIとか無い頃のツールだから、 SLOT2系マジコンでないと動かなかったはず。
- 211 名前:名前は開発中のものです。 mailto:sage [2008/06/22(日) 09:48:41 ID:nTuD9rb+]
- >>207
ども 119じゃないけどやってみる
- 212 名前:名前は開発中のものです。 mailto:sage [2008/06/23(月) 06:13:35 ID:Rn5bq30C]
- >>207
gbatekサンクス
- 213 名前:名前は開発中のものです。 mailto:sage [2008/06/23(月) 18:41:54 ID:YoriIvPJ]
- 俺Wiiで趣味の開発してるんだけど、いいなこのスレ
Wii版立てたら需要あるかしら
- 214 名前:名前は開発中のものです。 mailto:sage [2008/06/23(月) 21:14:25 ID:lRqgu29v]
- >>213
もう、あるから、建てなくていい。 ★ 任天堂 Wii ★ ttp://pc11.2ch.net/test/read.cgi/gamedev/1163719664/
- 215 名前:名前は開発中のものです。 mailto:sage [2008/06/24(火) 07:37:04 ID:FHhjKSvv]
- >>213
もっとWiiの開発資料が集まらないと皆やる気でないんじゃないか?
- 216 名前:名前は開発中のものです。 mailto:sage [2008/06/24(火) 11:29:21 ID:+aLrM5an]
- DeSmuMEを使ってみたけど、dldiに対応しているのは嬉しいね。
でもprintfで表示しているfontが欠けるんだけど、 どの設定を変更すれば直るだろう?
- 217 名前:名前は開発中のものです。 mailto:sage [2008/06/24(火) 14:31:14 ID:EsOI+g4Y]
- 本家DeSmuMEはウインドウのサイズ調整に問題があって多分本来より縦横が縮小されてた記憶があるので
ちょっと広げてやると見えないかな
- 218 名前:名前は開発中のものです。 mailto:sage [2008/06/24(火) 16:49:05 ID:+aLrM5an]
- >>217
なるほど、うちの環境では 上のWindowメニューが2段になってしまっているから それできちんと表示できなかったわけですね。 原因分かってすっきりしました、ありがとう
- 219 名前:名前は開発中のものです。 mailto:sage [2008/06/24(火) 18:47:47 ID:/aiv48RP]
- そうなんだー
- 220 名前:名前は開発中のものです。 mailto:sage [2008/06/24(火) 22:59:50 ID:+aLrM5an]
- DeSmuMEの、ウィンドウが縮小されてしまう問題の解決策を
一応ここにも書いておきます。 ソースが公開されているので、自分でソースを修正するのが一番ですが ・ソースのコンパイルにはPerlのXML::Parserが必要;msys上でのインストールは面倒 ・ソース中にWinAPIでAdjustWindowRectExを使っているので、メニューバーの高さの計算が面倒 というわけでソースをいじるよりはリソースをいじった方が早そうに感じました。 Resource Hackerというフリーのツールで、Menu/MENU_PRINCIPAL/1033のメニューから &Emulatorの部分を&Emuに書き換えました。 (なお、配布版のDeSmuMEはUPXで圧縮されているので、UPXで解凍してからResource Hackerで処理します) これでメニューが折れることなく、フォントが潰れることなく表示出来ます。 ご参考までに。
- 221 名前:名前は開発中のものです。 mailto:sage [2008/06/25(水) 00:35:05 ID:bsamtd8K]
- >>194
Fogは他でよく使っているだけにハマってしまった libndsではglFogみたいなAPIが充実してないから Fogに必要な値は直接流し込まないとダメなんだw
- 222 名前:名前は開発中のものです。 mailto:sage [2008/06/25(水) 19:42:05 ID:wZrlLkCy]
- よろしくお願いします。
- 223 名前:名前は開発中のものです。 mailto:sage [2008/06/27(金) 17:22:31 ID:+C7TXW3x]
- 質問よろしいでしょうか。
最新のdevkitProを入れたんですが、devkitARM\includeにファイルがありません。 これが通常ですか? VC++2008Expressで開発したいんですが、一部IntelliSenseが効かないです。 C:\devkitPro\libnds\includeとC:\devkitPro\devkitARM\includeはインクルードディレクトリに指定済みです。 他に指定しなければならないものがあるのでしょうか? (irq~は補完してくれますが、video~や、vram~,iprintf等は無理です。)
- 224 名前:名前は開発中のものです。 mailto:sage [2008/06/27(金) 17:39:19 ID:5tSU1H4B]
- >>223
devkitARM\includeは俺のも空だよ インテリセンスはサブフォルダも全部指定しないとだめなんじゃないかな
- 225 名前:223 mailto:sage [2008/06/27(金) 17:44:04 ID:ih9Lx+ZJ]
- >>224
devkitARM\includeはなくてもOKなんですね。 C:\devkitPro\libnds\include以下のディレクトリ全部指定しても補完してくれませんでした・・・
- 226 名前:名前は開発中のものです。 mailto:sage [2008/06/27(金) 18:28:31 ID:5tSU1H4B]
- >>225
VC++2005でやってみたけど同じだね #include <nds/arm9/video.h> のように直接インクルードすれば反映されるようだ
- 227 名前:223 mailto:sage [2008/06/27(金) 18:46:18 ID:wtcjxR28]
- >>226 #include <nds/arm9/video.h>
試してみましたが、だめでした。 nds.hが、関連するものはすべてインクルードしてるはずですよね? BuildLogに以下のようにかかれているのが気になりますが、ビルドはできています。何なんでしょうか。 コマンド ライン 一時ファイル "D:\forXP\TMP\BAT00000118883252.bat" を作成しています。内容 : [ @echo off make -r 2>&1 | sed -e 's/\(.[a-zA-Z]\+\):\([0-9]\+\):/\1(\2):/' if errorlevel 1 goto VCReportError goto VCEnd :VCReportError echo Project : error PRJ0019: ツールはエラー コードを返しました : "メイクファイル プロジェクト動作を実行しています。" exit 1 :VCEnd ] コマンド ライン "D:\forXP\TMP\BAT00000118883252.bat" を作成しています。
- 228 名前:名前は開発中のものです。 mailto:sage [2008/06/27(金) 21:31:43 ID:+HE8SgZ1]
- >>227
つ arm-eabi-objdump
- 229 名前:名前は開発中のものです。 mailto:sage [2008/06/28(土) 07:28:16 ID:maYXHA8v]
- >>223
IntelliSenseが効かないだけなら、ここより専門のがあるんじゃない?
- 230 名前:223 mailto:sage [2008/06/28(土) 15:05:16 ID:egOCuvJR]
- >>229
nds.hファイル内の”#ifdef ARM9”と”#ifdef ARM7”及び対応するendifをコメントアウトしさえすれば IntelliSenseは効くようです。コメントアウトせずに済み方法があればいいんですが、スレ違いですね。 インクルード内でifdefで囲まれているインクルード対象をIntelliSenseに対応させる方法探します。 >>228 使ってみたんですが、エラーコードの原因はどうやって特定するんでしょうか?
- 231 名前:名前は開発中のものです。 mailto:sage [2008/06/28(土) 17:09:03 ID:6d5xjZP+]
- GBAのノウハウってDSに引き継げんの?
- 232 名前:名前は開発中のものです。 mailto:sage [2008/06/28(土) 20:22:45 ID:um/2IwtR]
- >>230
おいおい、objdumpでVCのエラーなんてわからないだろ、常考 objdumpはできあがったバイナリを調べるのに使うんだよw Makefileの中身のどの箇所でエラーとなっているかは 自分で突き止めるんだ コマンドラインからなら通るのか、そのmake?
- 233 名前:名前は開発中のものです。 mailto:sage [2008/06/28(土) 21:36:51 ID:oliOclzy]
- つかエラーじゃないよそれ
|

|