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/
0256名前は開発中のものです。
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:txGfZrBe0275名前は開発中のものです。
2008/07/24(木) 02:32:29ID:TUCz/kf5以降のglColorは無効となるので、色指定にはglMaterialfを
使わなければならないでFA?
0276名前は開発中のものです。
2008/07/24(木) 09:54:52ID:SX2LVinoただし頂点ごとにglColor指定していればそちら優先
0277名前は開発中のものです。
2008/07/24(木) 10:22:01ID:lNE7+lYRDSの3Dはいろいろ特殊で
ライトを設定しても法線がないと意味がないのと
法線があってもglColorを全ての頂点に設定しているとカラーの色が優先されたりするんだったきがする
曖昧ですまん
0278名前は開発中のものです。
2008/07/24(木) 13:42:55ID:i8vESAtohttp://hatimaki.blog110.fc2.com/blog-entry-539.html
任天動くかな・・
0279名前は開発中のものです。
2008/07/24(木) 16:31:44ID:T/TcEZ8r自作ソフトで金取ったら捕まるんじゃね?
0280名前は開発中のものです。
2008/07/24(木) 17:24:15ID:G6oyO9Ec0281名前は開発中のものです。
2008/07/24(木) 18:26:03ID:Bi0s/vle> マジコンにこういう使い方があるとは・・・
って書いてあるけど、Homebrewを動かすのって、
建前上は一番基本的な使い方のはずなんだが。
0282名前は開発中のものです。
2008/07/24(木) 18:31:13ID:mj2WadFu0283名前は開発中のものです。
2008/07/25(金) 03:43:22ID:kwMaafB0d
逆にNormalが指定してあるのにLightを指定してないと実機では真っ黒になるとか、
libndsのglRotatefの回転方向が普通のOpenGLと逆とか、いろいろ謎杉
あと、NDSならではっぽいPolygon IDもイマイチ理解できないYO!
誰かNDSでのShadow Volumeのサンプルソース、プリーズ。
0284名前は開発中のものです。
2008/07/26(土) 15:11:59ID:h/jClE6opaypal中止しててお金送れず・・・
ううむ
0285名前は開発中のものです。
2008/07/26(土) 16:39:13ID:Auh5eJ2y0286名前は開発中のものです。
2008/07/26(土) 17:17:36ID:9fSQH7CP0287名前は開発中のものです。
2008/07/26(土) 18:12:23ID:h/jClE6o0288名前は開発中のものです。
2008/07/26(土) 21:27:39ID:2TBdmr2b見ている限り2年前のはにはに+夏kanon動作確認動画からバージョンうpしてないようなのだが・・・
ONSをDSで動かすにはかなり大変なようだし・・・なんだかなぁ
0289名前は開発中のものです。
2008/07/26(土) 23:48:03ID:YbbPRemH俺も同じ経験がある。
3か月くらい前の話だが、既にダメだった。
0290名前は開発中のものです。
2008/07/28(月) 16:31:18ID:2D9ctRkYスプライトの ATTR0_ROTSCALE_DOUBLE 使用時は、
ATTR1_FLIP_X の併用はできないのでしょうか?
ATTR1_FLIP_X を使わない場合は通常通り表示されているグラフィックが
ATTR1_FLIP_X を使った時に限り単色塗りつぶし矩形として表示されてしまいます。
同じような現象に遭った方、いらっしゃいませんでしょうか?
0291名前は開発中のものです。
2008/07/28(月) 22:46:35ID:y5/QDNNB0292名前は開発中のものです。
2008/07/28(月) 23:31:53ID:RsoqNuWb0293名前は開発中のものです。
2008/07/28(月) 23:34:02ID:SZNX3m/m0294名前は開発中のものです。
2008/07/29(火) 01:16:35ID:3E6q8T5VSUB_BG3_XDX = ( angleCos * scaleX ) >>8;
SUB_BG3_XDY = ( -angleSin * scaleX ) >>8;
SUB_BG3_YDX = ( angleSin * scaleY ) >>8;
SUB_BG3_YDY = ( angleCos * scaleY ) >>8;
の所を
SUB_BG3_XDX = ( -angleCos * scaleX ) >>8;
SUB_BG3_XDY = ( -angleSin * scaleX ) >>8;
SUB_BG3_YDX = ( -angleSin * scaleY ) >>8;
SUB_BG3_YDY = ( angleCos * scaleY ) >>8;
ってやったら反転できた。スプライトも似たようなもんだから
こんな感じで出来るかも
0295名前は開発中のものです。
2008/07/29(火) 01:20:51ID:3E6q8T5V○これはBGだけど
0296290
2008/07/29(火) 16:45:46ID:ka3ZdjYgご指摘の方法を試してみた所、望んでいた処理結果となりました。
当方、行列や微分積分を習わない学科に籍を置いていたため、
「変換行列でフリップをしてみては?」という意見が出ていても
なかなか理解できなくて困っていたのでとても助かりました。
ありがとうございました。
0297名前は開発中のものです。
2008/07/30(水) 12:24:49ID:Yc2cQFuo0298名前は開発中のものです。
2008/08/02(土) 03:07:01ID:3KgJL95d0299名前は開発中のものです。
2008/08/02(土) 09:16:04ID:RY65IW340300名前は開発中のものです。
2008/08/02(土) 18:57:36ID:pOzuVdtQ毎回微妙に違うから最新版は目覚まし時計のソースから引っ張ってきたらいいが、単体でアップされていたglibに付属ツール群が同梱されていたので、Windows用ツールは単体glibから使うのがお勧めだ。
一発画面初期化関数と、CglCanvasは便利すぎる。
0301名前は開発中のものです。
2008/08/02(土) 21:28:31ID:3KgJL95dありがとうございます!
さっそく使わせてもらいます。
0302名前は開発中のものです。
2008/08/05(火) 06:08:08ID:pz5K41tp0303名前は開発中のものです。
2008/08/05(火) 08:46:48ID:ENW5ls370304名前は開発中のものです。
2008/08/05(火) 17:10:30ID:iQ6V5DCV0305名前は開発中のものです。
2008/08/05(火) 18:27:23ID:AC7UDN7L俺が読んだ話だと、M3さくらで大金貰ったからバカバカしくてやめたらしい。(ソースはさくらスレ)
けど最後の日記を見るとそうは思えないんだよな−−−
でかサクラ関係なのは間違いないんだろう。良い人を亡くしたよ。
0306名前は開発中のものです。
2008/08/06(水) 15:39:02ID:iupa6le2関連付けするにはどうすればいいでしょうか?
0307名前は開発中のものです。
2008/08/06(水) 19:58:07ID:+ObwHsP9/⌒ ⌒\ ホジホジ
/( ●) (●)\ >>305
/::::::⌒(__人__)⌒::::: \ <で?
| mj |ー'´ |
\ 〈__ノ /
ノ ノ
0308名前は開発中のものです。
2008/08/07(木) 04:59:45ID:3S2Xa5LTバンクとかビデオモードって何?ってかんじです(^^)
0309名前は開発中のものです。
2008/08/07(木) 12:05:39ID:Y8nTPA6rGBからの歴史的経緯で妙な事になってたりするからな
単に携帯機でプログラム書きたいならPSPもありだと思う
0310名前は開発中のものです。
2008/08/07(木) 12:19:37ID:KK0q6wSe0311名前は開発中のものです。
2008/08/09(土) 16:27:29ID:vqJFqWaeマック必須とか俺的には無いが
0312名前は開発中のものです。
2008/08/10(日) 10:12:54ID:G9d4jf9R0313名前は開発中のものです。
2008/08/10(日) 12:19:08ID:bnNN4Ddfつttp://digital-haze.net/vnds.php
日本語対応よろしくw
0314名前は開発中のものです。
2008/08/13(水) 01:54:52ID:mCa7yggbバカな俺がちょっと疑問に思ってみた。
0315名前は開発中のものです。
2008/08/13(水) 12:13:38ID:qx2eQaCKネットに流れてるROMは実際のものとヘッダが違うのでそこを調べる。
つかネットに流れてる奴って暗号化がすでに解かれてるんだろ?調べれば一発じゃん。
もっと詳しく調べたいならマジコンが置かれる領域をあらかじめ調べ
現物があるか調べる、但しこれは本来禁止されている行為(DSの意図しない領域へのアクセス)
なのでやる可能性は低い。それ以外だと昔ながらの方法で直にROM領域に書き込んでみるとか。
しかしROM領域に書き込む方法は無かったはず・・。
0316名前は開発中のものです。
2008/08/13(水) 22:50:38ID:uSr/SbZ8というのは常に非合法、となってしまうわけか?
やり口うまいなぁ。
ちなみにNScriptなんかも危険なのかね?(エロゲ移植楽勝的な意味で
0317名前は開発中のものです。
2008/08/14(木) 11:59:48ID:AGQkLAj70318名前は開発中のものです。
2008/08/14(木) 20:57:13ID:0ZgQNLErマジコンの販売は全部非合法のはず
ソフトの開発を完全に制限すると独禁法に引っかかるから制限していない
(1社につき何本、などはあり)
0319名前は開発中のものです。
2008/08/15(金) 16:48:44ID:Na0PYdPb0320名前は開発中のものです。
2008/08/15(金) 19:24:44ID:6cB068BM0321名前は開発中のものです。
2008/08/16(土) 01:16:13ID:tqgEmnbZ■DSの同人エロゲが発売中止に→制作者、任天堂に逆ギレ
http://blog.livedoor.jp/dqnplus/archives/1156809.html
これの事か。
0322名前は開発中のものです。
2008/08/16(土) 01:53:38ID:ZFcyT52eブースでマジコン自体を売ろうとしてたという話もあるし
そりゃさすがにマズいだろという
0323名前は開発中のものです。
2008/08/18(月) 20:55:59ID:at+m9WaDそりゃただのねつ造 ニンテンは圧力かけてないだろ
0324名前は開発中のものです。
2008/08/18(月) 21:36:11ID:HS9yFwFt0325名前は開発中のものです。
2008/08/19(火) 03:14:07ID:cmsJU7X50326名前は開発中のものです。
2008/08/24(日) 15:14:53ID:lq+jPbXwdevkitって書いてあるだろ
0327名前は開発中のものです。
2008/08/24(日) 18:39:27ID:xXzDezRGdevkitだろうとなんだろうとな
0328名前は開発中のものです。
2008/08/24(日) 20:02:54ID:8VfoSDG9CD-ROMに焼いたとか、量産できる媒体に対して著作権などが発生する
逆にソフトウェアそのものにはほぼそれらが発生しない。
>>325はそういうことが言いたかったんじゃないかな?
0329名前は開発中のものです。
2008/08/24(日) 23:51:10ID:xXzDezRGもちろん、DSに刺してそのまま動くような媒体で配布するのでなければ
なんら問題ないとは思っているよ
0330名前は開発中のものです。
2008/08/26(火) 21:05:40ID:UH3fc3I70331名前は開発中のものです。
2008/08/27(水) 07:53:51ID:+r6/O9dOお前が作れ
0332名前は開発中のものです。
2008/08/27(水) 19:59:55ID:0IBhzRAf期待してるぞ
0333330
2008/08/27(水) 20:21:54ID:NY8U1MXK0334名前は開発中のものです。
2008/08/28(木) 14:35:31ID:himZTe+50335名前は開発中のものです。
2008/08/28(木) 14:45:58ID:itYkETsy0336名前は開発中のものです。
2008/08/30(土) 18:10:45ID:OueHFlIwところで、PAlibの最新版が出てたんだ。
未だにr21のみの対応か、絶望した!
0337sage
2008/08/31(日) 12:53:15ID:NgWtUu+Wビットマップを追加するごとに毎回インクルードするのめんどくさいから、
ファイルをアーカイブするツール作って1個のbinにして中で解析してるんだけど、
なんかヘンだ…
00 00 FE 5D
のような並びにあって、FEの位置のポインタを
u8* p = bufとして取得したとして、
u16* plt = (u16*)p;
u16 color;
memcpy( &color, &plt[0], sizeof( u16 ) );
てすると
plt[0] -> FE00
color -> 5DFE
てなる…orz
0338名前は開発中のものです。
2008/08/31(日) 12:54:42ID:NgWtUu+W0339名前は開発中のものです。
2008/08/31(日) 13:05:48ID:RBkQ5Qjd何が問題?どういう動作を求めてる?
memcpyの動作は正しいよな。pltはアライメントかな?
0340名前は開発中のものです。
2008/08/31(日) 16:54:02ID:NgWtUu+W管理するクラスが#include "archive_bin.h"しつつ、
archive_binのそれぞれのファイルの先頭ポインタを保存する仕組みを作成していたんです。
とりあえず手始めにビットマップのコンバートからやってたのですが、
indexとpalleteのポインタをそのままSPRITE_PALETTEとSPRITE_GFXにdmcCopyしても、
なぜか絵がうまく出ないんです。(色が変だったり所々が欠けたような絵になります)
AGBGFXConverterで吐き出したソースと同じ様に配置したつもりなんですけど…
ちなみにAGBGFXConverterで同じ絵をコンバートして、
インデックスを両方1タイル分ずつprintfして見ているんですけど、
インデックスの並びは全く一緒でした。
なので色はバグってても同じ絵は出ると思ったのですが…
で今度はパレットの中身を見たらあれ?みたいな感じになったわけです。
0341名前は開発中のものです。
2008/09/01(月) 23:08:04ID:/cE8NRcOこんな感じで取得させていて、構造体の中にインデックスとパレットのポインタが入っています。
arc::bmp_info* bmp = arc::bmp_info((char*)"256color_test.bmp");
こんな感じだと正常に表示されました。
// ----------------------------------------------
u16 color[ 256 ];
memcpy( color, bmp->palette, sizeof( color ) );
for ( u32 i = 0 ; i < 256 ; ++i )
{
SPRITE_PALETTE[ i ] = color[ i ];
}
u32 size = ( ( 32 * 32 ) / 2 );
u16 index[ size ];
memcpy( index, bmp->index, sizeof( index ) );
for ( u32 i = 0 ; i < size ; ++i )
{
SPRITE_GFX[ ( 64 * 16 ) + i ] = index[ i ];
}
// ----------------------------------------------
0342名前は開発中のものです。
2008/09/01(月) 23:09:40ID:/cE8NRcO// ----------------------------------------------
u16 color[ 256 ];
memcpy( color, bmp->palette, sizeof( color ) );
dmaCopy( color, SPRITE_PALETTE, sizeof( color ) );
u32 size = ( ( 32 * 32 ) / 2 );
u16 index[ size ];
memcpy( index, bmp->index, sizeof( index ) );
dmaCopy( index, &SPRITE_GFX[ 64 * 16 ], sizeof( index ) );
// ----------------------------------------------
これもダメ(本来こうしたい)
// ----------------------------------------------
dmaCopy( bmp->palette, SPRITE_PALETTE, sizeof( u16 ) * 256 );
dmaCopy( bmp->index, &SPRITE_GFX[ 64 * 16 ], bmp->GetSize() );
// ----------------------------------------------
あとソースで
u32 size = ( ( 32 * 32 ) / 2 );
u16 index[ size ];
見たいな書き方してるんですけど、間違えて書いたら普通にビルドが通るので使ってました。
0343名前は開発中のものです。
2008/09/01(月) 23:19:54ID:JD3+KZZhメインメモリ4MBってつまり
libfat使わない限りはndsファイルのサイズつかプログラム+データを
4MBに収めないといけないってこと?
プログラムとメモリの関係が良くわからんです・・・
0344名前は開発中のものです。
2008/09/01(月) 23:25:31ID:v+MMQ4csつ swiCopy()
0345名前は開発中のものです。
2008/09/01(月) 23:29:46ID:wvhb43Poiprintf("bmp %x\n",bmp);
iprintf("%x\n",bmp->palette);
iprintf("%x, %x\n",bmp->index, bmp->GetSize() );
の実行結果見せて。
dkpr23bのdmaCopyはDMA_COPY_HALFWORDSで実装されてるから2byte単位になっていれば大丈夫なはずなんだけど。
ないとは思うけど、DMA3を別で使ってるところがないかどうかも確認したほうがいいです。
>>343
そうです。GBAカート時代のNDSマジコンは外部ROMとして使えたから便利だったんだけどね。
0346名前は開発中のものです。
2008/09/01(月) 23:35:25ID:XJAdcBTd0347名前は開発中のものです。
2008/09/01(月) 23:49:45ID:/cE8NRcOこっちでもアーカイブした中でもファイルによって正常に出るものがあったので、
アライメントをファイル内でそろえようとしていた所でした。
ちなみにアドレスをprintfした結果はこれです。
bmp 202c6900
200f7db
200f3bd, 400
0348名前は開発中のものです。
2008/09/02(火) 00:44:46ID:xhnSuTcgRAMとして扱えるのが4M
っ gbfs ndstool
0349名前は開発中のものです。
2008/09/02(火) 02:08:35ID:bvei474e>>343じゃないけど、R4とかだとできないよね?
0350348
2008/09/02(火) 08:38:04ID:xhnSuTcgまじで?
DSTTしかもってないしfat使ってるから実際に試したことは無かった
仕事終わったらちょっとやってみる
0351名前は開発中のものです。
2008/09/02(火) 10:42:55ID:PcRBassS4M以降に配置されるヤツはスロ1のマジコンではだめだったとおもうけど。
0352名前は開発中のものです。
2008/09/02(火) 15:30:28ID:bvei474e4M内ならgbfs使うメリットあんまないよね
0353名前は開発中のものです。
2008/09/02(火) 16:53:09ID:bEchRn3L0354343
2008/09/02(火) 21:04:24ID:9aalbRTR参考になりました。
音楽はメモリ食い虫なのでバッサリ切る事にしました。
ところで大量(数百〜)のオブジェクト扱うとなるとスプライト使えないんですね・・・
フレームバッファで直描きで良いんでしょうか?
2Dエンジンのグラフィックモードの意味がさっぱり理解出来ないので
ごり押しでソースかいてるんですがみなさんお勧めのモードとかありますか?
DirectXみたいに2Dゲーだけど描画自体は3Dでテクスチャーを平面で動かすとか
そういうのが主流だったりするんでしょうかね。
0355名前は開発中のものです。
2008/09/02(火) 22:42:52ID:WCYfR70y天然?真性?釣り?
0356343
2008/09/02(火) 23:27:25ID:9aalbRTR日本語のサイトは当たったのですが素で良くわかってません。
リアルタイムなプログラムは初めてな割りに変な知識だけ持ってしまったので。
やっぱとんちんかんなこと言ってますか。
って実機で試したら全画面αブレンド(自前計算)するだけで処理落ちしてる!
ndsの2Dのスペック最大30Mピクセル/秒て
VRAMに毎フレーム0.5Mピクセルぶんアクセス出来るって意味じゃないんですか?!
奥が深い・・・
■ このスレッドは過去ログ倉庫に格納されています