NintendoDS(NDS)非公式開発 Part3
■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。
2008/04/08(火) 07:05:13ID:MngpkM4u初心者歓迎。質問歓迎。英語苦手な人歓迎。冷やかし歓迎。ネカマ歓迎。
資料、リンク等
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/
0175名前は開発中のものです。
2008/06/03(火) 20:16:53ID:A0JtPb+mhttp://peppermint.jp/products/hsp/
スプライトとタイルエンジンが手抜きなのも一因なんですが
そもそものインタプリタの性能的にアクションゲームは厳しそうです
0176名前は開発中のものです。
2008/06/05(木) 01:58:55ID:2eUO7g6w0177名前は開発中のものです。
2008/06/05(木) 15:10:16ID:9maHgBmq0178名前は開発中のものです。
2008/06/08(日) 23:21:51ID:uru8nGCotypoあるよ。
郡 → 群
0179名前は開発中のものです。
2008/06/09(月) 22:02:37ID:ly2i6a0dthx。直しました。
0180名前は開発中のものです。
2008/06/12(木) 00:48:39ID:abLtMVX/できればサンプルコード、キボン
0181名前は開発中のものです。
2008/06/12(木) 03:05:39ID:Yl90CHys0182名前は開発中のものです。
2008/06/12(木) 03:26:37ID:ERHI+GZc片方はソフトでがんばるしかないんじゃないか?
0183名前は開発中のものです。
2008/06/12(木) 08:20:05ID:59gOD9Qcフレームレートは半分になるけど。
0184名前は開発中のものです。
2008/06/12(木) 10:02:00ID:Au+VrmBWググッてみたけど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
0185名前は開発中のものです。
2008/06/12(木) 11:53:49ID:hPJuu01mアップデートして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>
0186名前は開発中のものです。
2008/06/13(金) 00:32:45ID:hTZLLvJH検証サンクス。
どうやらインストールに失敗していただけのようだ。
環境変数を弄くって再インストールしたらできた。
0187名前は開発中のものです。
2008/06/13(金) 01:25:41ID:I9zeYfhZチマチマ描いてるみたいですが、これが最速なんですかね。
それとも6144頂点で頭打ちするから描画速度を心配する必要はないのかな?
0188名前は開発中のものです。
2008/06/13(金) 23:43:19ID:edkaQlWT0189名前は開発中のものです。
2008/06/14(土) 09:45:26ID:bjLZXeDG0190名前は開発中のものです。
2008/06/14(土) 19:47:28ID:b5JMntJj0191名前は開発中のものです。
2008/06/16(月) 00:09:18ID:h5aN3++zわかた、ども
0192名前は開発中のものです。
2008/06/16(月) 20:07:21ID:Fi+4mDrr0193名前は開発中のものです。
2008/06/17(火) 22:49:31ID:QaaOCC1U教えて、エロイヒト!
0194名前は開発中のものです。
2008/06/19(木) 11:12:46ID:aMY2EDOcというかとりあえずそっちから理解するべき
0195名前は開発中のものです。
2008/06/20(金) 08:22:45ID:YtCEI6xK私は実機で毎回テストしているんですが、microSDカードの付け替えが面倒で、
出来ることならばエミュレータ上でテストしたいんですが、
エミュレータはアダプタに対応していないので困っています。
何かいい方法を実践されている方がいらっしゃれば、ぜひ教えてください。
0196名前は開発中のものです。
2008/06/20(金) 20:53:20ID:IKyKkzlUかなり前の記憶なので、よく覚えてない。
エミュ使わずに実機で試すってのなら、DSFTPとかでDS側にプログラム持ってくるとか。
金かけてもいいってのなら、DS-RAMアダプターも選択肢の一つかもね。
0197名前は開発中のものです。
2008/06/20(金) 22:22:14ID:X2WfPJnz0198名前は開発中のものです。
2008/06/21(土) 02:38:49ID:7hV1kaObスプライトの数が32個を超えると画像の一部が欠けてしまう。
特に32個に制限はなかったと思うけれど、何が原因かわかる人いますか?
0199名前は開発中のものです。
2008/06/21(土) 02:50:47ID:1eIWMQ3qSCALEしても規定範囲を超えないオブジェクトや、ROTATEではみ出た部分が重要でない場合は、DOUBLEフラグを外すのがお手軽な対応です。
ここらへんは(NDSはGBAとほぼ同じなので)正直日記さんを読むと詳しく書いてあるのでお勧めです。
HBLANK/VBLANK期間内のみVRAMにアクセスする設定にするのも道が開けるかもしれません。
BGを4枚使い切ることがないのであれば、巨大オブジェクトの一部をBG3/BG4に展開してしまうのも手だと思います。
0200名前は開発中のものです。
2008/06/21(土) 03:16:03ID:7hV1kaObあ、なるほど。32個ではなくて並びすぎだったのか。
情報ありがとうございます、ROTATEを外して対応してみます。
0201名前は開発中のものです。
2008/06/21(土) 13:56:37ID:TKydpBdAREG_DISPCNTのBIT23を0にしたときは1414ドット・・・のはず
DOUBLEフラグを付けると32ドットのスプライトならscaleに関わらず64ドット相当になり
64ドット*32個で2048ドットなのでオーバーした分が欠ける
0202名前は開発中のものです。
2008/06/21(土) 14:12:05ID:TKydpBdAREG_DISPCNTにスプライトVRAMを256Kまで使えるようにするフラグがある
インデックス自体は増やせないが、インデックスのポインタサイズを2〜8倍に出来るので
画像のビット深度を上げても低いときと同じ量のキャラクタ数が格納できる
0203名前は開発中のものです。
2008/06/21(土) 18:49:10ID:LaL2WHZAdesmumeの他にはideasもイケる
ideasの方はイメージファイルにr4tf.dldiをパッチして
PropertyからR4エミュレーションを有効にする必要が
あるけどな
0204名前は開発中のものです。
2008/06/21(土) 21:54:17ID:EDSbWPddDISPLAY_CRの別名だよね?
DISPLAY_SPR_1D_SIZE_〜?
0205名前は開発中のものです。
2008/06/22(日) 04:06:31ID:cwyntve3ATTR0_ROTSCALEを使っているんじゃないか?
ATTR0_ROTSCALEで一度に回転できるのは32個まで。なので、そのせいだと妄想。
すべて回転するには、ATTR1_ROTDATA(n)で回転するスプライトを入れ替えると
できるはず。
使っていればの話・・。
0206195
2008/06/22(日) 05:41:28ID:hOUiSeY70207名前は開発中のものです。
2008/06/22(日) 08:47:16ID:BkmplJLnそうそれ
DISPLAY_SPR_1D_SIZE_64だと256色スプライトを16色と同様のインデックスで扱えるようになる
レスとは関係ないがgbatekはでかすぎて使いづらいのでNDSの部分に絞って分割しといた
適当にお前らで活用してくれ
http://gamdev3.hp.infoseek.co.jp/cgi-bin/up/No_0294zip.html
0208名前は開発中のものです。
2008/06/22(日) 08:48:37ID:BkmplJLn0209名前は開発中のものです。
2008/06/22(日) 08:59:08ID:ip+XhLaBここにあったっぽいけど、荒れちゃってます。
ttp://hylom.sakura.ne.jp/wiki/wiki.cgi?NDScripter%B4%D8%CF%A2%A5%C4%A1%BC%A5%EB
0210名前は開発中のものです。
2008/06/22(日) 09:41:37ID:F9/jxuyE> NDScripterはどこにありますか?
ttp://www7.axfc.net/uploader/File/so/7518
上げてみた。
ただ、DLDIとか無い頃のツールだから、
SLOT2系マジコンでないと動かなかったはず。
0211名前は開発中のものです。
2008/06/22(日) 09:48:41ID:nTuD9rb+ども
119じゃないけどやってみる
0212名前は開発中のものです。
2008/06/23(月) 06:13:35ID:Rn5bq30Cgbatekサンクス
0213名前は開発中のものです。
2008/06/23(月) 18:41:54ID:YoriIvPJWii版立てたら需要あるかしら
0214名前は開発中のものです。
2008/06/23(月) 21:14:25ID:lRqgu29vもう、あるから、建てなくていい。
★ 任天堂 Wii ★
ttp://pc11.2ch.net/test/read.cgi/gamedev/1163719664/
0215名前は開発中のものです。
2008/06/24(火) 07:37:04ID:FHhjKSvvもっとWiiの開発資料が集まらないと皆やる気でないんじゃないか?
0216名前は開発中のものです。
2008/06/24(火) 11:29:21ID:+aLrM5anでもprintfで表示しているfontが欠けるんだけど、
どの設定を変更すれば直るだろう?
0217名前は開発中のものです。
2008/06/24(火) 14:31:14ID:EsOI+g4Yちょっと広げてやると見えないかな
0218名前は開発中のものです。
2008/06/24(火) 16:49:05ID:+aLrM5anなるほど、うちの環境では
上のWindowメニューが2段になってしまっているから
それできちんと表示できなかったわけですね。
原因分かってすっきりしました、ありがとう
0219名前は開発中のものです。
2008/06/24(火) 18:47:47ID:/aiv48RP0220名前は開発中のものです。
2008/06/24(火) 22:59:50ID:+aLrM5an一応ここにも書いておきます。
ソースが公開されているので、自分でソースを修正するのが一番ですが
・ソースのコンパイルにはPerlのXML::Parserが必要;msys上でのインストールは面倒
・ソース中にWinAPIでAdjustWindowRectExを使っているので、メニューバーの高さの計算が面倒
というわけでソースをいじるよりはリソースをいじった方が早そうに感じました。
Resource Hackerというフリーのツールで、Menu/MENU_PRINCIPAL/1033のメニューから
&Emulatorの部分を&Emuに書き換えました。
(なお、配布版のDeSmuMEはUPXで圧縮されているので、UPXで解凍してからResource Hackerで処理します)
これでメニューが折れることなく、フォントが潰れることなく表示出来ます。
ご参考までに。
0221名前は開発中のものです。
2008/06/25(水) 00:35:05ID:bsamtd8KFogは他でよく使っているだけにハマってしまった
libndsではglFogみたいなAPIが充実してないから
Fogに必要な値は直接流し込まないとダメなんだw
0222名前は開発中のものです。
2008/06/25(水) 19:42:05ID:wZrlLkCy0223名前は開発中のものです。
2008/06/27(金) 17:22:31ID:+C7TXW3x最新のdevkitProを入れたんですが、devkitARM\includeにファイルがありません。
これが通常ですか?
VC++2008Expressで開発したいんですが、一部IntelliSenseが効かないです。
C:\devkitPro\libnds\includeとC:\devkitPro\devkitARM\includeはインクルードディレクトリに指定済みです。
他に指定しなければならないものがあるのでしょうか?
(irq~は補完してくれますが、video~や、vram~,iprintf等は無理です。)
0224名前は開発中のものです。
2008/06/27(金) 17:39:19ID:5tSU1H4BdevkitARM\includeは俺のも空だよ
インテリセンスはサブフォルダも全部指定しないとだめなんじゃないかな
0225223
2008/06/27(金) 17:44:04ID:ih9Lx+ZJdevkitARM\includeはなくてもOKなんですね。
C:\devkitPro\libnds\include以下のディレクトリ全部指定しても補完してくれませんでした・・・
0226名前は開発中のものです。
2008/06/27(金) 18:28:31ID:5tSU1H4BVC++2005でやってみたけど同じだね
#include <nds/arm9/video.h>
のように直接インクルードすれば反映されるようだ
0227223
2008/06/27(金) 18:46:18ID:wtcjxR28試してみましたが、だめでした。
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" を作成しています。
0228名前は開発中のものです。
2008/06/27(金) 21:31:43ID:+HE8SgZ1つ arm-eabi-objdump
0229名前は開発中のものです。
2008/06/28(土) 07:28:16ID:maYXHA8vIntelliSenseが効かないだけなら、ここより専門のがあるんじゃない?
0230223
2008/06/28(土) 15:05:16ID:egOCuvJRnds.hファイル内の”#ifdef ARM9”と”#ifdef ARM7”及び対応するendifをコメントアウトしさえすれば
IntelliSenseは効くようです。コメントアウトせずに済み方法があればいいんですが、スレ違いですね。
インクルード内でifdefで囲まれているインクルード対象をIntelliSenseに対応させる方法探します。
>>228
使ってみたんですが、エラーコードの原因はどうやって特定するんでしょうか?
0231名前は開発中のものです。
2008/06/28(土) 17:09:03ID:6d5xjZP+0232名前は開発中のものです。
2008/06/28(土) 20:22:45ID:um/2IwtRおいおい、objdumpでVCのエラーなんてわからないだろ、常考
objdumpはできあがったバイナリを調べるのに使うんだよw
Makefileの中身のどの箇所でエラーとなっているかは
自分で突き止めるんだ
コマンドラインからなら通るのか、そのmake?
0233名前は開発中のものです。
2008/06/28(土) 21:36:51ID:oliOclzy0234223
2008/06/29(日) 00:28:40ID:EnkXWu9V.nds(正常に動作する)は出力されてるのでmakeはできてると思います。
>>233
では、VCのバグですか?
0235名前は開発中のものです。
2008/06/29(日) 00:48:27ID:Y7gCl5u+単にmakeを実行する一時バッチファイルの中身が表示されてるだけ
0236名前は開発中のものです。
2008/06/29(日) 05:42:04ID:mp2w3Eah簡単に言うとスレ違い
プリプロセッサならdefineすれば良いんじゃないのと適当に返してみる
0237名前は開発中のものです。
2008/06/29(日) 07:31:09ID:nVyn2ztWVCのバグとか・・・すれ違いにもほどがある。
C言語をVCで始めからやり直してから来た方がいいような気がする。
0238名前は開発中のものです。
2008/06/29(日) 17:20:32ID:FGehACnw0239名前は開発中のものです。
2008/06/29(日) 18:58:21ID:rJdZl+FK0240名前は開発中のものです。
2008/07/01(火) 23:01:39ID:Y/1PAekQ0241名前は開発中のものです。
2008/07/02(水) 00:59:30ID:9geo0vjV間違いなくM3さくらのせいだろうな
プライド高そうな人だったし気が触れちゃったんじゃねーの?
まさかあの騒動がここまで影響出るとはね
動画エンコーダアップロードとMDXOnlineだけでも復活してくれねーかな・・・
0242名前は開発中のものです。
2008/07/02(水) 05:11:02ID:IY721JqU0243名前は開発中のものです。
2008/07/02(水) 09:42:37ID:TA2gbyqL0244名前は開発中のものです。
2008/07/02(水) 13:05:46ID:mglFmLQ7才能があれば&リアルで自分と関わりがなければ全然問題ないけど
0245名前は開発中のものです。
2008/07/02(水) 15:37:34ID:AkFpiYfA0246名前は開発中のものです。
2008/07/02(水) 20:29:11ID:cOfiZCm9お前のが確実におかしいよ
精神的にちょっとおかしいと思っても、普通なら口に出して言わない
0247名前は開発中のものです。
2008/07/02(水) 20:33:51ID:lnzc/nfa0248名前は開発中のものです。
2008/07/02(水) 22:43:46ID:Rnn1diOX御免、kwsk。
0249名前は開発中のものです。
2008/07/03(木) 00:57:33ID:qh4VOJePそれフォローになってないw
0250名前は開発中のものです。
2008/07/05(土) 10:22:06ID:C83wURmzBG面で256色モードと16色モードの混在って出来るのでしょうか?
出来るのであれば、パレットはどういった扱いになるのでしょうか?
0251名前は開発中のものです。
2008/07/06(日) 08:57:48ID:scmPwqAZモードはなに?
使っているのはどのBG?
詳しく書かないとわからないよ。
0252名前は開発中のものです。
2008/07/06(日) 12:16:40ID:8XSWHn8K回答はしりませんすんまそん
0253名前は開発中のものです。
2008/07/06(日) 13:49:17ID:SZCj44wu0254名前は開発中のものです。
2008/07/06(日) 13:50:46ID:P5Ag2mIbモード0, 1なら、BGxCNTレジスタのbit7を設定すれば一応可能。
ただし、パレットデータは共用される(256個分の領域しかないのだから当たり前)。
つまり、うまくやらないと混在させるのは難しい。
素直に256色モードに統一したほうが楽だと思う。
0255名前は開発中のものです。
2008/07/11(金) 22:00:42ID:JfXmTNvX0256名前は開発中のものです。
2008/07/13(日) 18:05:12ID:2eCljy4EDSLuaでの開発についてはスレ違いだが、
DSLuaの内部の実装とかならOKだと思う。
0257名前は開発中のものです。
2008/07/14(月) 20:49:17ID:5pmKiOkdこのままフェードアウトは、余りに寂しい。
とつぶやきつつ、devkitのサンプルソースを読む俺。
なんか、ndsのnscriptをテスト動作させている動画とか出てきた・・。
昔、中の人がアップした奴かな
0258名前は開発中のものです。
2008/07/15(火) 20:30:36ID:rG/YXUJGアングラサイトの終り方なんてだいたいそんなもん
0259名前は開発中のものです。
2008/07/16(水) 14:56:35ID:VC6XQ46u0260名前は開発中のものです。
2008/07/16(水) 20:11:10ID:XIZgDcrA0261名前は開発中のものです。
2008/07/16(水) 21:19:46ID:hShHFIpYを実機で動かして、画面をタッチペンでぐりぐりしてると、
時々タッチ位置が一瞬意図しない位置にズレる事があるのですが、皆さんのDSでは
タッチ位置がズレることはありますか?
調べてみたところ、以下のような結果が出ました。
タッチ位置のずれ
HelloWorld あり
既製ゲームのおまけのお絵かき機能 あり
ピクトチャット なし
タッチ位置の瞬間的なズレはDSの仕様で、ピクトチャットのみがそれを補正しているように感じるのですが、
実際のところどうなのかわかる方教えていただきたいです。
0262名前は開発中のものです。
2008/07/16(水) 22:58:26ID:atVrTywb今見られないので詳細はかけないが、要約すると諦めて自分で
補正考えろって結論だったと思う
0263名前は開発中のものです。
2008/07/17(木) 00:00:48ID:1pFczrD2ありがとうございます。
自分のDSがおかしい訳ではないようですね。
0264名前は開発中のものです。
2008/07/17(木) 01:38:28ID:tCrgQo92Linux版のdesmume 0.8ではダメだった。
これって他の環境では問題なく動作するもの?
それともshort file nameを逆引きする(やり方知らないけど)とかして
fopen()しないとダメ?
0265名前は開発中のものです。
2008/07/17(木) 07:07:42ID:xMrlCQt5emu用のdldiとかあったっけ
0266名前は開発中のものです。
2008/07/17(木) 14:44:25ID:59hHhVsQなによりWrite出来ないし
ああイメージは例外だけど
0267名前は開発中のものです。
2008/07/17(木) 15:42:32ID:M+WZ9yK/0268名前は開発中のものです。
2008/07/17(木) 16:17:54ID:zIUQ/uil保護シール貼ってる?
0269名前は開発中のものです。
2008/07/17(木) 19:26:39ID:1pFczrD2保護シールは貼ってない状態での話です。
0270名前は開発中のものです。
2008/07/18(金) 02:13:21ID:gnbDMtym静電気で飛ぶんだったけか?
昔パーム系の開発サイトで補正のノウハウを見たような気が
するが忘れてしまったなw
HELD中の履歴をとっておいて単位時間内に大きく履歴から
外れた座標が来たら無視するとかはどうよ?
0271名前は開発中のものです。
2008/07/18(金) 18:02:35ID:Xik3Vsvn一応そんな感じで無視するようにしてありますが、
どれくらい飛んだら処理するか細かい調整が必要がみたいです。。
0272名前は開発中のものです。
2008/07/19(土) 00:32:54ID:9qnQsuIXhttp://www.softech.co.jp/mm_060510_firm.htm
0273名前は開発中のものです。
2008/07/19(土) 11:12:15ID:NXgdmyxi自分の場合、ARM7側で6フレーム分のタッチ位置情報を随時バッファに入れていって更新させる。
ARM9側でタッチ位置情報が必要になったら、バッファの一番古い情報から取り出す。
ただし、KEY_TOUCHがOFFからONに変わった時に、先頭4フレーム分は無効データとする。
取得したX・Y座標とも0でない場合に、それをタッチ位置として使ってる。
4フレーム以上連続してタッチしていないと、タッチしたことにならないって方法。
リアルタイムで処理させるのには向かないかもしれないけどね。
0274名前は開発中のものです。
2008/07/19(土) 22:30:43ID:txGfZrBe■ このスレッドは過去ログ倉庫に格納されています