NintendoDS(NDS)非公式開発 Part3 at GAMEDEV
[2ch|▼Menu]
[前50を表示]
150:Moonlight
08/05/22 18:31:31 GVceNApO
URLリンク(mdxonline.dyndns.org)

safemalloc_nocheck関数が、私がそれなりに安心して使えると信じて使っているmalloc関数です。
atypeっていうのは、バッファアンダー&オーバーラン、解放し忘れと二重解放を検出するために私が勝手に作った部分ですので、読み飛ばして頂いて問題ありません。
読みづらいと思いますが、もし参考になれば見てみてくださいませ。
DevKitProのmallocが信用できればこんなに苦労しないのに。標準関数をオーバーライドする技術があれば…。(苦笑


151:名前は開発中のものです。
08/05/22 19:33:07 0fQn8Ipy
>>150
こんなに重いmalloc関数、使ってられないんじゃないか?

152:Moonlight
08/05/22 20:00:45 nu+6rnes
>>151
仰る通り本当に重いです。でも安全性を最も気にしていることと、リソース絡みのバグは非常に見つけづらいこともあって、私はこのスタイルを愛用しています。
本当に処理速度が必要な一番内側のループで仕方なくmallocする必要があるときは、ある程度大きなブロックの最初で空きメモリを計算しておいて…あぁ面倒くさい。(苦笑
毎度毎度フラグメントしないようにmallocする順番を考えるのも面倒くさいですし。
メモリをぎりぎりまで使おうと思わなければ(例えば動的キャッシュなどを考えなければ)普通にmallocすれば大抵は動くと思うのですが…。
って愚痴っぽくなってきたので退散します。蛇足失礼しました。


153:名前は開発中のものです。
08/05/22 20:10:06 0fQn8Ipy
>>152
なるほど、さすがに今まで苦労している人は違いますね。サンクス。

俺は今までmallocの問題を感じたことがなかったんだけど、
問題がどこにあるのか完全に切り分けることができれば、
new演算子や完全に独立したmalloc関数を作るのがいいんじゃないか?

154:136
08/05/22 20:43:09 UEUlTLpO
>>Moonlight氏
試しに、プログラムにそのまま組み込んでみます。(当然変更する部分は変更して)
上手くいった場合、組み込んだままプログラム公開とかしても問題ないでしょうか?

155:Moonlight
08/05/22 21:28:14 nu+6rnes
>>153
もちろんスタブをオーバーライドするのが一番いいのでしょうが、標準関数に手を加えるのはDKPがバージョンアップしたときにトラブルの元になりそうと思ってやめてしまいました。
libfatとかはfopenなどを上書きしていましたがなんとなく気持ち悪くて。(プログラマにあるまじき感覚的表現
DevKitProというか、libndsの更新リストが信用でき(ry

>>154
速度や安全性が十分に要求水準を満たすことを確認できたときは、自由に使っていただいてOKです。
私に報告することも、なにか表示する必要もありません。
atype絡みはばさっと切っちゃうが吉ですたぶん。


156:名前は開発中のものです。
08/05/22 22:45:41 x3H0CM1w
うーん、RAM 容量以上でも NULL が返ってこないのは何か
malloc のアルゴリズム以前の別の問題がある気がするんですが…

少なくともうちでは >>137 風のプログラムも >>139 も動いてます
環境は devkitARM release 23 b とそれでコンパイルした libnds 20071023

157:136
08/05/22 23:30:26 UEUlTLpO
環境依存なの?
うちはDevkitPro release 21 (DevkitARM r21)なんで、そのせいとか?
ちなみに、>>139 のを実行したら、値がいくらって出てますか?


158:名前は開発中のものです。
08/05/23 06:04:27 lXYT/wck
r23b で 4128768、r21 で 4145152 でした
ソースと r23b でコンパイルしたものをあげておきます
URLリンク(gamdev3.hp.infoseek.co.jp)

159:136
08/05/23 08:34:48 XZvO7U4o
>>158
DLして試してみたところ、こっちでr21でコンパイルしたものを実行したら4128768の値が出ました。(forのタイプ)
となると、今作ってるプログラムが怪しいってことなのかな?
プログラムでどこかシステムに関わるようなところを潰している?
根本的に何か間違ってる?

160:名前は開発中のものです。
08/05/23 09:03:10 gPnkFXwS
>>159
malloc と free のペアをコンパイラが認識して、最適化で潰されてるってことはない?
コンパイルついでにアセンブリを吐かせてみるとか。

161:名前は開発中のものです。
08/05/23 10:06:00 1BDliqaC
>>160
malloc()やfree()はコンパイラから見たら単なる関数呼び出しだから、最適化で消えることはない。
しかも、freeされないパスもあるわけだから、なおさら最適化で消えるはずはない。

162:名前は開発中のものです。
08/05/23 16:12:01 JQlc5Wg2
BGのパレット0が透明にならないようにする方法ってある?

163:名前は開発中のものです。
08/05/23 16:19:54 GlW5b/3a
一番奥に持っていけばいい

164:名前は開発中のものです。
08/05/23 16:43:13 dp7Y5NLp
>>136
GBAの方でスレ違いだけど
自分はこんな感じで作っています。
URLリンク(akkera102.sakura.ne.jp)

動的確保してないし
そのままだとコンパイルできないけど
参考までに見てやってください。

165:名前は開発中のものです。
08/05/23 17:22:32 JsGk0+Q7
C++で開発したいけどアロケーターというかnewの信頼性って...Devkitだとどんなもんなんだろ...

166:名前は開発中のものです。
08/05/23 21:51:38 kcI1LowV
エエエエなにこの流れは
もう手書き認識エンジンをC++つかって書いちゃったんですけど
もしかして、信頼性やばいとかいう話ですか・・・( ´Д⊂ヽゥエエェ

167:名前は開発中のものです。
08/05/23 22:05:41 kcI1LowV
いちお手書き認識デモのROMイメージ
URLリンク(www.mediafire.com)

認識精度と認識にかかる時間でけっこう苦しんだんですが
問題なく使えるレベルにまでなんとか持っていけたので
この土日に頑張れれば、ソース投下できる気がします。

ただし
相変わらず辞書にTomoeから引っ張ってきたデータを使っているので
カタカナが入っていません。ひらがなも濁音拗音が入っていません。
アルファベットも入っていません orz

168:136
08/05/23 22:20:09 XZvO7U4o
>>166
うちのプログラムがおかしい可能性が大です。

外部関数等を色々引っ張ってきて組み込んだりしてたので、その影響なのかもしれません。
まだ解決には至ってませんが、あとは自分で頑張って調べてみたいと思います。
色々情報等ありがとうございました。

169:136
08/05/24 09:57:36 SU4ROGma
原因が多分わかりました。
自分のプログラムではmallocを使ってメモリを確保していたのですが、他から持ってきたソースがnewを使っていたみたいです。
newを使っていた部分をmallocに変更したら、正しい数値を返すようになりました。
色々とご迷惑をおかけしました。

170:名前は開発中のものです。
08/05/24 17:05:00 vwEWTo+E
セックスフレンドのコンバーター作ってくださいね♥

171:名前は開発中のものです。
08/05/27 10:41:54 YZ7IFeP9
newで確保したメモリをdeleteでなくfreeで開放してたって事でしょうか。
それとも、devkitではnewにはdelete、mallocにはfreeと使い分けてても駄目なのかな?
VC++とかは対応がしっかりしてれば平気なんだけど。
(もちろん、混在しないほうが問題を起こさないで済みますね。前に似たようなトラブルで痛い目に)


172:名前は開発中のものです。
08/05/29 13:34:28 yLtThVzs
ニトロエミュレーター要らない

173:名前は開発中のものです。
08/06/02 20:30:47 WvDNfNGa
J2ME移植してた人どうしてますか?
HSP移植してみたけどこのスレ的には要らない子ですよね。

174:名前は開発中のものです。
08/06/02 23:33:18 ND3GH5J+
>>173
wktk
要らない子だなんて言わないでさぁ。

175:名前は開発中のものです。
08/06/03 20:16:53 A0JtPb+m
>>174
URLリンク(peppermint.jp)
スプライトとタイルエンジンが手抜きなのも一因なんですが
そもそものインタプリタの性能的にアクションゲームは厳しそうです

176:名前は開発中のものです。
08/06/05 01:58:55 2eUO7g6w
NDScripterどなたか再アップロードしていただけませんか?

177:名前は開発中のものです。
08/06/05 15:10:16 9maHgBmq
セックスフレンドのコンバーターどなたか作っていただけませんか?

178:名前は開発中のものです。
08/06/08 23:21:51 uru8nGCo
>>175
typoあるよ。
郡 → 群


179:名前は開発中のものです。
08/06/09 22:02:37 ly2i6a0d
>>178
thx。直しました。

180:名前は開発中のものです。
08/06/12 00:48:39 abLtMVX/
上画面と下画面とで同時に3D画面を表示するのってどうやんの?
できればサンプルコード、キボン

181:名前は開発中のものです。
08/06/12 03:05:39 Yl90CHys
え、できるの?

182:名前は開発中のものです。
08/06/12 03:26:37 ERHI+GZc
3D対応なのはEngineA だけだから、どうしてもやりたいなら
片方はソフトでがんばるしかないんじゃないか?

183:名前は開発中のものです。
08/06/12 08:20:05 59gOD9Qc
いやキャプチャしつつ毎フレームlcdSwapで可能。
フレームレートは半分になるけど。

184:名前は開発中のものです。
08/06/12 10:02:00 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:名前は開発中のものです。
08/06/12 11:53:49 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:名前は開発中のものです。
08/06/13 00:32:45 hTZLLvJH
>>185
検証サンクス。
どうやらインストールに失敗していただけのようだ。
環境変数を弄くって再インストールしたらできた。

187:名前は開発中のものです。
08/06/13 01:25:41 I9zeYfhZ
devkitproのサンプルを見ると、glBeginとglEndの間はglTexCoord2t16やglVertex3v16で
チマチマ描いてるみたいですが、これが最速なんですかね。
それとも6144頂点で頭打ちするから描画速度を心配する必要はないのかな?

188:名前は開発中のものです。
08/06/13 23:43:19 edkaQlWT
ディスプレイリストのサンプルみたいにコマンドパックをDMAで送った方が早いと思う。

189:名前は開発中のものです。
08/06/14 09:45:26 bjLZXeDG
まぁなんのためのGFXFIFOなのかと

190:名前は開発中のものです。
08/06/14 19:47:28 b5JMntJj
ちょ、Moonlightさん何やってんのwww さくらはwww


191:名前は開発中のものです。
08/06/16 00:09:18 h5aN3++z
>188-189
わかた、ども

192:名前は開発中のものです。
08/06/16 20:07:21 Fi+4mDrr
ndsで自分のソフトに組み込めるファイラってある?

193:名前は開発中のものです。
08/06/17 22:49:31 QaaOCC1U
libndsのGL_FOGの使い方、さっぱりワカンネ
教えて、エロイヒト!

194:名前は開発中のものです。
08/06/19 11:12:46 aMY2EDOc
OpenGLでフォグの知識があればわかると思う
というかとりあえずそっちから理解するべき

195:名前は開発中のものです。
08/06/20 08:22:45 YtCEI6xK
みなさん、DLDI(FAT)を使ったプログラムを作った時のテストってどうしています?
私は実機で毎回テストしているんですが、microSDカードの付け替えが面倒で、
出来ることならばエミュレータ上でテストしたいんですが、
エミュレータはアダプタに対応していないので困っています。
何かいい方法を実践されている方がいらっしゃれば、ぜひ教えてください。

196:名前は開発中のものです。
08/06/20 20:53:20 IKyKkzlU
R4互換で動くエミュがあったはず。
かなり前の記憶なので、よく覚えてない。

エミュ使わずに実機で試すってのなら、DSFTPとかでDS側にプログラム持ってくるとか。
金かけてもいいってのなら、DS-RAMアダプターも選択肢の一つかもね。

197:名前は開発中のものです。
08/06/20 22:22:14 X2WfPJnz
desmume 0.8はlibfat経由でファイルI/Oできてる

198:名前は開発中のものです。
08/06/21 02:38:49 7hV1kaOb
Scale&Rotateのスプライトを使ってプログラムしているんだけれど、
スプライトの数が32個を超えると画像の一部が欠けてしまう。
特に32個に制限はなかったと思うけれど、何が原因かわかる人いますか?

199:名前は開発中のものです。
08/06/21 02:50:47 1eIWMQ3q
正確なピクセル数は忘れましたが、横一直線にオブジェクトが並ぶとスキャンラインの仕様でオブジェクトの一部が処理されなくなります。
SCALEしても規定範囲を超えないオブジェクトや、ROTATEではみ出た部分が重要でない場合は、DOUBLEフラグを外すのがお手軽な対応です。
ここらへんは(NDSはGBAとほぼ同じなので)正直日記さんを読むと詳しく書いてあるのでお勧めです。
HBLANK/VBLANK期間内のみVRAMにアクセスする設定にするのも道が開けるかもしれません。
BGを4枚使い切ることがないのであれば、巨大オブジェクトの一部をBG3/BG4に展開してしまうのも手だと思います。


200:名前は開発中のものです。
08/06/21 03:16:03 7hV1kaOb
>>199
あ、なるほど。32個ではなくて並びすぎだったのか。
情報ありがとうございます、ROTATEを外して対応してみます。

201:名前は開発中のものです。
08/06/21 13:56:37 TKydpBdA
DSのスプライトが横一直線に表示できるのは透過色も含めて1018ドット
REG_DISPCNTのBIT23を0にしたときは1414ドット・・・のはず

DOUBLEフラグを付けると32ドットのスプライトならscaleに関わらず64ドット相当になり
64ドット*32個で2048ドットなのでオーバーした分が欠ける

202:名前は開発中のものです。
08/06/21 14:12:05 TKydpBdA
遅レスだが>>119
REG_DISPCNTにスプライトVRAMを256Kまで使えるようにするフラグがある
インデックス自体は増やせないが、インデックスのポインタサイズを2〜8倍に出来るので
画像のビット深度を上げても低いときと同じ量のキャラクタ数が格納できる

203:名前は開発中のものです。
08/06/21 18:49:10 LaL2WHZA
>>195
desmumeの他にはideasもイケる

ideasの方はイメージファイルにr4tf.dldiをパッチして
PropertyからR4エミュレーションを有効にする必要が
あるけどな

204:名前は開発中のものです。
08/06/21 21:54:17 EDSbWPdd
>>202
DISPLAY_CRの別名だよね?
DISPLAY_SPR_1D_SIZE_〜?

205:名前は開発中のものです。
08/06/22 04:06:31 cwyntve3
>>198
ATTR0_ROTSCALEを使っているんじゃないか?
ATTR0_ROTSCALEで一度に回転できるのは32個まで。なので、そのせいだと妄想。
すべて回転するには、ATTR1_ROTDATA(n)で回転するスプライトを入れ替えると
できるはず。

使っていればの話・・。

206:195
08/06/22 05:41:28 hOUiSeY7
皆さんありがとうございました。desmume 0.8で問題なく動かすことができました。

207:名前は開発中のものです。
08/06/22 08:47:16 BkmplJLn
>>202
そうそれ
DISPLAY_SPR_1D_SIZE_64だと256色スプライトを16色と同様のインデックスで扱えるようになる

レスとは関係ないがgbatekはでかすぎて使いづらいのでNDSの部分に絞って分割しといた
適当にお前らで活用してくれ
URLリンク(gamdev3.hp.infoseek.co.jp)

208:名前は開発中のものです。
08/06/22 08:48:37 BkmplJLn
>>207>>204宛て

209:名前は開発中のものです。
08/06/22 08:59:08 ip+XhLaB
NDScripterはどこにありますか?

ここにあったっぽいけど、荒れちゃってます。
URLリンク(hylom.sakura.ne.jp)

210:名前は開発中のものです。
08/06/22 09:41:37 F9/jxuyE
>>209
> NDScripterはどこにありますか?

URLリンク(www7.axfc.net)
上げてみた。
ただ、DLDIとか無い頃のツールだから、
SLOT2系マジコンでないと動かなかったはず。


211:名前は開発中のものです。
08/06/22 09:48:41 nTuD9rb+
>>207
ども
119じゃないけどやってみる

212:名前は開発中のものです。
08/06/23 06:13:35 Rn5bq30C
>>207
gbatekサンクス

213:名前は開発中のものです。
08/06/23 18:41:54 YoriIvPJ
俺Wiiで趣味の開発してるんだけど、いいなこのスレ
Wii版立てたら需要あるかしら

214:名前は開発中のものです。
08/06/23 21:14:25 lRqgu29v
>>213
もう、あるから、建てなくていい。

★  任天堂 Wii  ★
スレリンク(gamedev板)


215:名前は開発中のものです。
08/06/24 07:37:04 FHhjKSvv
>>213
もっとWiiの開発資料が集まらないと皆やる気でないんじゃないか?

216:名前は開発中のものです。
08/06/24 11:29:21 +aLrM5an
DeSmuMEを使ってみたけど、dldiに対応しているのは嬉しいね。
でもprintfで表示しているfontが欠けるんだけど、
どの設定を変更すれば直るだろう?

217:名前は開発中のものです。
08/06/24 14:31:14 EsOI+g4Y
本家DeSmuMEはウインドウのサイズ調整に問題があって多分本来より縦横が縮小されてた記憶があるので
ちょっと広げてやると見えないかな

218:名前は開発中のものです。
08/06/24 16:49:05 +aLrM5an
>>217
なるほど、うちの環境では
上のWindowメニューが2段になってしまっているから
それできちんと表示できなかったわけですね。

原因分かってすっきりしました、ありがとう

219:名前は開発中のものです。
08/06/24 18:47:47 /aiv48RP
そうなんだー

220:名前は開発中のものです。
08/06/24 22:59:50 +aLrM5an
DeSmuMEの、ウィンドウが縮小されてしまう問題の解決策を
一応ここにも書いておきます。

ソースが公開されているので、自分でソースを修正するのが一番ですが
・ソースのコンパイルにはPerlのXML::Parserが必要;msys上でのインストールは面倒
・ソース中にWinAPIでAdjustWindowRectExを使っているので、メニューバーの高さの計算が面倒
というわけでソースをいじるよりはリソースをいじった方が早そうに感じました。

Resource Hackerというフリーのツールで、Menu/MENU_PRINCIPAL/1033のメニューから
&Emulatorの部分を&Emuに書き換えました。
(なお、配布版のDeSmuMEはUPXで圧縮されているので、UPXで解凍してからResource Hackerで処理します)

これでメニューが折れることなく、フォントが潰れることなく表示出来ます。
ご参考までに。

221:名前は開発中のものです。
08/06/25 00:35:05 bsamtd8K
>>194
Fogは他でよく使っているだけにハマってしまった

libndsではglFogみたいなAPIが充実してないから
Fogに必要な値は直接流し込まないとダメなんだw

222:名前は開発中のものです。
08/06/25 19:42:05 wZrlLkCy
よろしくお願いします。

223:名前は開発中のものです。
08/06/27 17:22:31 +C7TXW3x
質問よろしいでしょうか。

最新のdevkitProを入れたんですが、devkitARM\includeにファイルがありません。
これが通常ですか?

VC++2008Expressで開発したいんですが、一部IntelliSenseが効かないです。
C:\devkitPro\libnds\includeとC:\devkitPro\devkitARM\includeはインクルードディレクトリに指定済みです。
他に指定しなければならないものがあるのでしょうか?
(irq~は補完してくれますが、video~や、vram~,iprintf等は無理です。)

224:名前は開発中のものです。
08/06/27 17:39:19 5tSU1H4B
>>223
devkitARM\includeは俺のも空だよ
インテリセンスはサブフォルダも全部指定しないとだめなんじゃないかな

225:223
08/06/27 17:44:04 ih9Lx+ZJ
>>224
devkitARM\includeはなくてもOKなんですね。

C:\devkitPro\libnds\include以下のディレクトリ全部指定しても補完してくれませんでした・・・

226:名前は開発中のものです。
08/06/27 18:28:31 5tSU1H4B
>>225
VC++2005でやってみたけど同じだね
#include <nds/arm9/video.h>
のように直接インクルードすれば反映されるようだ

227:223
08/06/27 18:46:18 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:名前は開発中のものです。
08/06/27 21:31:43 +HE8SgZ1
>>227
つ arm-eabi-objdump

229:名前は開発中のものです。
08/06/28 07:28:16 maYXHA8v
>>223
IntelliSenseが効かないだけなら、ここより専門のがあるんじゃない?

230:223
08/06/28 15:05:16 egOCuvJR
>>229
nds.hファイル内の”#ifdef ARM9”と”#ifdef ARM7”及び対応するendifをコメントアウトしさえすれば
IntelliSenseは効くようです。コメントアウトせずに済み方法があればいいんですが、スレ違いですね。

インクルード内でifdefで囲まれているインクルード対象をIntelliSenseに対応させる方法探します。

>>228
使ってみたんですが、エラーコードの原因はどうやって特定するんでしょうか?

231:名前は開発中のものです。
08/06/28 17:09:03 6d5xjZP+
GBAのノウハウってDSに引き継げんの?

232:名前は開発中のものです。
08/06/28 20:22:45 um/2IwtR
>>230
おいおい、objdumpでVCのエラーなんてわからないだろ、常考
objdumpはできあがったバイナリを調べるのに使うんだよw

Makefileの中身のどの箇所でエラーとなっているかは
自分で突き止めるんだ

コマンドラインからなら通るのか、そのmake?

233:名前は開発中のものです。
08/06/28 21:36:51 oliOclzy
つかエラーじゃないよそれ

234:223
08/06/29 00:28:40 EnkXWu9V
>>232
.nds(正常に動作する)は出力されてるのでmakeはできてると思います。

>>233
では、VCのバグですか?

235:名前は開発中のものです。
08/06/29 00:48:27 Y7gCl5u+
IntelliSenseの方は分からないけど、>>227のBuildLogなら
単にmakeを実行する一時バッチファイルの中身が表示されてるだけ

236:名前は開発中のものです。
08/06/29 05:42:04 mp2w3Eah
とにかく少なくともここで話す内容じゃない
簡単に言うとスレ違い
プリプロセッサならdefineすれば良いんじゃないのと適当に返してみる

237:名前は開発中のものです。
08/06/29 07:31:09 nVyn2ztW
>>234
VCのバグとか・・・すれ違いにもほどがある。
C言語をVCで始めからやり直してから来た方がいいような気がする。

238:名前は開発中のものです。
08/06/29 17:20:32 FGehACnw
basicでも大丈夫ですか?

239:名前は開発中のものです。
08/06/29 18:58:21 rJdZl+FK
やれるもんならやってみ

240:名前は開発中のものです。
08/07/01 23:01:39 Y/1PAekQ
moonshellの中の人、どうしちゃったんだろう・・・。

241:名前は開発中のものです。
08/07/02 00:59:30 9geo0vjV
>>240
間違いなくM3さくらのせいだろうな
プライド高そうな人だったし気が触れちゃったんじゃねーの?
まさかあの騒動がここまで影響出るとはね
動画エンコーダアップロードとMDXOnlineだけでも復活してくれねーかな・・・


242:名前は開発中のものです。
08/07/02 05:11:02 IY721JqU
moonlight氏かえってこないかな〜

243:名前は開発中のものです。
08/07/02 09:42:37 TA2gbyqL
あの人縁を切ると決めたら頑なっぽいからなあ…

244:名前は開発中のものです。
08/07/02 13:05:46 mglFmLQ7
精神的にちょっとおかしい人だからね
才能があれば&リアルで自分と関わりがなければ全然問題ないけど

245:名前は開発中のものです。
08/07/02 15:37:34 AkFpiYfA
死亡説が出ないのが不思議だ

246:名前は開発中のものです。
08/07/02 20:29:11 cOfiZCm9
>>244
お前のが確実におかしいよ
精神的にちょっとおかしいと思っても、普通なら口に出して言わない

247:名前は開発中のものです。
08/07/02 20:33:51 lnzc/nfa
天才と○○○は紙一重

248:名前は開発中のものです。
08/07/02 22:43:46 Rnn1diOX
>>241
御免、kwsk。

249:名前は開発中のものです。
08/07/03 00:57:33 qh4VOJeP
>>246
それフォローになってないw

250:名前は開発中のものです。
08/07/05 10:22:06 C83wURmz
ちょっと質問なんですが、
BG面で256色モードと16色モードの混在って出来るのでしょうか?
出来るのであれば、パレットはどういった扱いになるのでしょうか?

251:名前は開発中のものです。
08/07/06 08:57:48 scmPwqAZ
>>250
モードはなに?
使っているのはどのBG?
詳しく書かないとわからないよ。

252:名前は開発中のものです。
08/07/06 12:16:40 8XSWHn8K
言わんとすることはわかる気がするけどな
回答はしりませんすんまそん

253:名前は開発中のものです。
08/07/06 13:49:17 SZCj44wu
iモード

254:名前は開発中のものです。
08/07/06 13:50:46 P5Ag2mIb
>>250
モード0, 1なら、BGxCNTレジスタのbit7を設定すれば一応可能。
ただし、パレットデータは共用される(256個分の領域しかないのだから当たり前)。

つまり、うまくやらないと混在させるのは難しい。
素直に256色モードに統一したほうが楽だと思う。

255:名前は開発中のものです。
08/07/11 22:00:42 JfXmTNvX
DSluaってスレチ?

256:名前は開発中のものです。
08/07/13 18:05:12 2eCljy4E
>>255
DSLuaでの開発についてはスレ違いだが、
DSLuaの内部の実装とかならOKだと思う。

257:名前は開発中のものです。
08/07/14 20:49:17 5pmKiOkd
MDXONLINEって、どーなっちゃうのかな・・・。
このままフェードアウトは、余りに寂しい。
とつぶやきつつ、devkitのサンプルソースを読む俺。
なんか、ndsのnscriptをテスト動作させている動画とか出てきた・・。
昔、中の人がアップした奴かな

258:名前は開発中のものです。
08/07/15 20:30:36 rG/YXUJG
>257
アングラサイトの終り方なんてだいたいそんなもん

259:名前は開発中のものです。
08/07/16 14:56:35 VC6XQ46u
アングラて

260:名前は開発中のものです。
08/07/16 20:11:10 XIZgDcrA
258さんはアングラと言う言葉を最近知り、使いたくてたまらなかったんですよ

261:名前は開発中のものです。
08/07/16 21:19:46 hShHFIpY
HelloWorldとかのタッチしている位置が表示されるサンプルプログラム
を実機で動かして、画面をタッチペンでぐりぐりしてると、
時々タッチ位置が一瞬意図しない位置にズレる事があるのですが、皆さんのDSでは
タッチ位置がズレることはありますか?

調べてみたところ、以下のような結果が出ました。
タッチ位置のずれ
 HelloWorld あり 
 既製ゲームのおまけのお絵かき機能 あり
 ピクトチャット なし

タッチ位置の瞬間的なズレはDSの仕様で、ピクトチャットのみがそれを補正しているように感じるのですが、
実際のところどうなのかわかる方教えていただきたいです。

262:名前は開発中のものです。
08/07/16 22:58:26 atVrTywb
moonlightの人のblogでそういう話出てた
今見られないので詳細はかけないが、要約すると諦めて自分で
補正考えろって結論だったと思う

263:名前は開発中のものです。
08/07/17 00:00:48 1pFczrD2
>>262
ありがとうございます。
自分のDSがおかしい訳ではないようですね。

264:名前は開発中のものです。
08/07/17 01:38:28 tCrgQo92
libfatを使ってfopen()する際にLFNを指定して開こうとしたんだが、
Linux版のdesmume 0.8ではダメだった。
これって他の環境では問題なく動作するもの?
それともshort file nameを逆引きする(やり方知らないけど)とかして
fopen()しないとダメ?

265:名前は開発中のものです。
08/07/17 07:07:42 xMrlCQt5
>>264
emu用のdldiとかあったっけ


266:名前は開発中のものです。
08/07/17 14:44:25 59hHhVsQ
どれもFATが不完全
なによりWrite出来ないし
ああイメージは例外だけど

267:名前は開発中のものです。
08/07/17 15:42:32 M+WZ9yK/
セキュリティ考えるとWriteがダメってのは助かるけどな

268:名前は開発中のものです。
08/07/17 16:17:54 zIUQ/uil
>>261
保護シール貼ってる?

269:名前は開発中のものです。
08/07/17 19:26:39 1pFczrD2
>>268
保護シールは貼ってない状態での話です。

270:名前は開発中のものです。
08/07/18 02:13:21 gnbDMtym
>>269
静電気で飛ぶんだったけか?
昔パーム系の開発サイトで補正のノウハウを見たような気が
するが忘れてしまったなw
HELD中の履歴をとっておいて単位時間内に大きく履歴から
外れた座標が来たら無視するとかはどうよ?

271:名前は開発中のものです。
08/07/18 18:02:35 Xik3Vsvn
>>270
一応そんな感じで無視するようにしてありますが、
どれくらい飛んだら処理するか細かい調整が必要がみたいです。。

272:名前は開発中のものです。
08/07/19 00:32:54 9qnQsuIX
チャタリングか。市販ソフトの場合任天ライブラリでやってくれるからな。
URLリンク(www.softech.co.jp)

273:名前は開発中のものです。
08/07/19 11:12:15 NXgdmyxi
若干のタイムラグ(数フレーム)があってもいいのなら…
自分の場合、ARM7側で6フレーム分のタッチ位置情報を随時バッファに入れていって更新させる。
ARM9側でタッチ位置情報が必要になったら、バッファの一番古い情報から取り出す。
ただし、KEY_TOUCHがOFFからONに変わった時に、先頭4フレーム分は無効データとする。
取得したX・Y座標とも0でない場合に、それをタッチ位置として使ってる。
4フレーム以上連続してタッチしていないと、タッチしたことにならないって方法。
リアルタイムで処理させるのには向かないかもしれないけどね。



274:名前は開発中のものです。
08/07/19 22:30:43 txGfZrBe
セックスフレンドDSおねがいします

275:名前は開発中のものです。
08/07/24 02:32:29 TUCz/kf5
glPolyFmtでPOLY_FORMAT_LIGHT0〜3設定したら、
以降のglColorは無効となるので、色指定にはglMaterialfを
使わなければならないでFA?

276:名前は開発中のものです。
08/07/24 09:54:52 SX2LVino
OK
ただし頂点ごとにglColor指定していればそちら優先

277:名前は開発中のものです。
08/07/24 10:22:01 lNE7+lYR
あかん寝起きでそっけなく書いた
DSの3Dはいろいろ特殊で
ライトを設定しても法線がないと意味がないのと
法線があってもglColorを全ての頂点に設定しているとカラーの色が優先されたりするんだったきがする
曖昧ですまん

278:名前は開発中のものです。
08/07/24 13:42:55 i8vESAto
DSで同人エロゲ発売!?
URLリンク(hatimaki.blog110.fc2.com)
任天動くかな・・

279:名前は開発中のものです。
08/07/24 16:31:44 T/TcEZ8r
>>278
自作ソフトで金取ったら捕まるんじゃね?

280:名前は開発中のものです。
08/07/24 17:24:15 G6oyO9Ec
なんで捕まるのかね?

281:名前は開発中のものです。
08/07/24 18:26:03 Bi0s/vle
>>278
> マジコンにこういう使い方があるとは・・・

って書いてあるけど、Homebrewを動かすのって、
建前上は一番基本的な使い方のはずなんだが。

282:名前は開発中のものです。
08/07/24 18:31:13 mj2WadFu
Moonlightがさくらで数百万稼いで、悠々自適に暮らしてるのに、たかが同人ゲーで捕まるわけないだろ

283:名前は開発中のものです。
08/07/25 03:43:22 kwMaafB0
>>276-277
d

逆にNormalが指定してあるのにLightを指定してないと実機では真っ黒になるとか、
libndsのglRotatefの回転方向が普通のOpenGLと逆とか、いろいろ謎杉

あと、NDSならではっぽいPolygon IDもイマイチ理解できないYO!
誰かNDSでのShadow Volumeのサンプルソース、プリーズ。

284:名前は開発中のものです。
08/07/26 15:11:59 h/jClE6o
実機のデバックに詰まって、no$gbaのデバッカー付きを買おうと思ったら
paypal中止しててお金送れず・・・
ううむ

285:名前は開発中のものです。
08/07/26 16:39:13 Auh5eJ2y
残念でしたー^^

286:名前は開発中のものです。
08/07/26 17:17:36 9fSQH7CP
あげないよ

287:名前は開発中のものです。
08/07/26 18:12:23 h/jClE6o
夏休みと言う事をすっかり忘れてた。

288:名前は開発中のものです。
08/07/26 21:27:39 2TBdmr2b
そういや結局NDScripterってどうなったの?
見ている限り2年前のはにはに+夏kanon動作確認動画からバージョンうpしてないようなのだが・・・
ONSをDSで動かすにはかなり大変なようだし・・・なんだかなぁ

289:名前は開発中のものです。
08/07/26 23:48:03 YbbPRemH
>>284
俺も同じ経験がある。
3か月くらい前の話だが、既にダメだった。

290:名前は開発中のものです。
08/07/28 16:31:18 2D9ctRkY
スプライト関連の質問です。

スプライトの ATTR0_ROTSCALE_DOUBLE 使用時は、
ATTR1_FLIP_X の併用はできないのでしょうか?

ATTR1_FLIP_X を使わない場合は通常通り表示されているグラフィックが
ATTR1_FLIP_X を使った時に限り単色塗りつぶし矩形として表示されてしまいます。

同じような現象に遭った方、いらっしゃいませんでしょうか?

291:名前は開発中のものです。
08/07/28 22:46:35 y5/QDNNB
無理。拡大回転時のそこは拡大回転用パラメータになるので反転は出来ない

292:名前は開発中のものです。
08/07/28 23:31:53 RsoqNuWb
そうなんですか・・・そこを何とか上手く出来ませんか?

293:名前は開発中のものです。
08/07/28 23:34:02 SZNX3m/m
変換行列でフリップしたらいかんの?

294:名前は開発中のものです。
08/07/29 01:16:35 3E6q8T5V
devkitproのサンプル"rotscale_text"でこれはテキストだけど
SUB_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;
ってやったら反転できた。スプライトも似たようなもんだから
こんな感じで出来るかも

295:名前は開発中のものです。
08/07/29 01:20:51 3E6q8T5V
×これはテキストだけど
○これはBGだけど

296:290
08/07/29 16:45:46 ka3ZdjYg
ご意見、情報ありがとうございます
ご指摘の方法を試してみた所、望んでいた処理結果となりました。

当方、行列や微分積分を習わない学科に籍を置いていたため、
「変換行列でフリップをしてみては?」という意見が出ていても
なかなか理解できなくて困っていたのでとても助かりました。

ありがとうございました。

297:名前は開発中のものです。
08/07/30 12:24:49 Yc2cQFuo
wifilibでwepなしのルーターに接続ってできますか?

298:名前は開発中のものです。
08/08/02 03:07:01 3KgJL95d
グラフィックス機能をラップしたライブラリありませんか?

299:名前は開発中のものです。
08/08/02 09:16:04 RY65IW34
palibやglib

300:名前は開発中のものです。
08/08/02 18:57:36 pOzuVdtQ
補足。glibはMoonlight氏のフリーウェアには必ずといってもいいほどの高頻度で使われているグラフィックライブラリ。C++専用でクラスを多用している。
毎回微妙に違うから最新版は目覚まし時計のソースから引っ張ってきたらいいが、単体でアップされていたglibに付属ツール群が同梱されていたので、Windows用ツールは単体glibから使うのがお勧めだ。
一発画面初期化関数と、CglCanvasは便利すぎる。


301:名前は開発中のものです。
08/08/02 21:28:31 3KgJL95d
>>300
ありがとうございます!
さっそく使わせてもらいます。

302:名前は開発中のものです。
08/08/05 06:08:08 pz5K41tp
Moonlight氏のページが落ちているのですが、どうされたのでしょう

303:名前は開発中のものです。
08/08/05 08:46:48 ENW5ls37
任天堂から訴えられたんじゃねーの

304:名前は開発中のものです。
08/08/05 17:10:30 iQ6V5DCV
昔自殺未遂してるしページと一緒に消えたか

305:名前は開発中のものです。
08/08/05 18:27:23 AC7UDN7L
あーあれな。忍者でウェブキャッシュしてるからどっかに画像あるけど、一瞬グロ踏んだかと思ったもんな。
俺が読んだ話だと、M3さくらで大金貰ったからバカバカしくてやめたらしい。(ソースはさくらスレ)
けど最後の日記を見るとそうは思えないんだよな−−−
でかサクラ関係なのは間違いないんだろう。良い人を亡くしたよ。


306:名前は開発中のものです。
08/08/06 15:39:02 iupa6le2
Programmer's Notepad でrunでエミュレータを起動させるため
関連付けするにはどうすればいいでしょうか?

307:名前は開発中のものです。
08/08/06 19:58:07 +ObwHsP9
       ____
     /⌒  ⌒\ ホジホジ
   /( ●)  (●)\    >>305
  /::::::⌒(__人__)⌒::::: \  <で?
  |    mj |ー'´      |
  \  〈__ノ       /
    ノ  ノ

308:名前は開発中のものです。
08/08/07 04:59:45 3S2Xa5LT
DirectX等の使いやすいライブラリに慣れてるとDSはわけがわからりませんね(^^)
バンクとかビデオモードって何?ってかんじです(^^)

309:名前は開発中のものです。
08/08/07 12:05:39 Y8nTPA6r
PCと比べると激しくリソースが制限されてるし
GBからの歴史的経緯で妙な事になってたりするからな
単に携帯機でプログラム書きたいならPSPもありだと思う

310:名前は開発中のものです。
08/08/07 12:19:37 KK0q6wSe
まぁ携帯機器ってどれも対して変わらんと思うが

311:名前は開発中のものです。
08/08/09 16:27:29 vqJFqWae
iPhone/touchは携帯物の割に開発ラクらしいな
マック必須とか俺的には無いが

312:名前は開発中のものです。
08/08/10 10:12:54 G9d4jf9R
Mac必須よりも、Objective-Cとかいう言語を習得する方が面倒だ

313:名前は開発中のものです。
08/08/10 12:19:08 bnNN4Ddf
>>288
URLリンク(digital-haze.net)

日本語対応よろしくw

314:名前は開発中のものです。
08/08/13 01:54:52 mCa7yggb
マジコン検出ってどうやってんのかな
バカな俺がちょっと疑問に思ってみた。

315:名前は開発中のものです。
08/08/13 12:13:38 qx2eQaCK
>>314 あくまで俺の予想、ウソ度80%。手っ取り早いのは「DeSmuME うぃずぱっち」がやってるようなことじゃん?
ネットに流れてるROMは実際のものとヘッダが違うのでそこを調べる。
つかネットに流れてる奴って暗号化がすでに解かれてるんだろ?調べれば一発じゃん。
もっと詳しく調べたいならマジコンが置かれる領域をあらかじめ調べ
現物があるか調べる、但しこれは本来禁止されている行為(DSの意図しない領域へのアクセス)
なのでやる可能性は低い。それ以外だと昔ながらの方法で直にROM領域に書き込んでみるとか。
しかしROM領域に書き込む方法は無かったはず・・。

316:名前は開発中のものです。
08/08/13 22:50:38 uSr/SbZ8
ちなみにその理論で行くと、どーやっても任天堂の許可なしのプログラム、
というのは常に非合法、となってしまうわけか?
やり口うまいなぁ。

ちなみにNScriptなんかも危険なのかね?(エロゲ移植楽勝的な意味で

317:名前は開発中のものです。
08/08/14 11:59:48 AGQkLAj7
その辺はスレチなので別所で。非公式だが非合法ではないぞ。

318:名前は開発中のものです。
08/08/14 20:57:13 0ZgQNLEr
確かカートリッジの形が特許だか意匠登録だかがされているから
マジコンの販売は全部非合法のはず

ソフトの開発を完全に制限すると独禁法に引っかかるから制限していない
(1社につき何本、などはあり)

319:名前は開発中のものです。
08/08/15 16:48:44 Na0PYdPb
任店893の脅しで販売中止に追い込まれたエロゲは合法なんだよね・・・

320:名前は開発中のものです。
08/08/15 19:24:44 6cB068BM
983は573だぜ

321:名前は開発中のものです。
08/08/16 01:16:13 tqgEmnbZ
あー何言ってるか判らなかったが↓の見て判った
■DSの同人エロゲが発売中止に→制作者、任天堂に逆ギレ
URLリンク(blog.livedoor.jp)
これの事か。

322:名前は開発中のものです。
08/08/16 01:53:38 ZFcyT52e
それって業者と一体化してる(と取れる宣伝をした)ことが見つかって資格取消されただけでそ?
ブースでマジコン自体を売ろうとしてたという話もあるし
そりゃさすがにマズいだろという

323:名前は開発中のものです。
08/08/18 20:55:59 at+m9WaD
>>319
そりゃただのねつ造 ニンテンは圧力かけてないだろ

324:名前は開発中のものです。
08/08/18 21:36:11 HS9yFwFt
devkitで作ったromなら売ってもダイジョーブだよん

325:名前は開発中のものです。
08/08/19 03:14:07 cmsJU7X5
'ROMイメージ'ならな

326:名前は開発中のものです。
08/08/24 15:14:53 lq+jPbXw
>>325
devkitって書いてあるだろ

327:名前は開発中のものです。
08/08/24 18:39:27 xXzDezRG
焼いて売ればカートリッジによっては意匠権の侵害になる
devkitだろうとなんだろうとな

328:名前は開発中のものです。
08/08/24 20:02:54 8VfoSDG9
そこがソフトウェアのややこしいところでね、
CD-ROMに焼いたとか、量産できる媒体に対して著作権などが発生する

逆にソフトウェアそのものにはほぼそれらが発生しない。

>>325はそういうことが言いたかったんじゃないかな?

329:名前は開発中のものです。
08/08/24 23:51:10 xXzDezRG
325=327でな
もちろん、DSに刺してそのまま動くような媒体で配布するのでなければ
なんら問題ないとは思っているよ

330:名前は開発中のものです。
08/08/26 21:05:40 UH3fc3I7
PALIBの関数について日本語で解説とかしてるサイトってないですか?

331:名前は開発中のものです。
08/08/27 07:53:51 +r6/O9dO
>>330
お前が作れ

332:名前は開発中のものです。
08/08/27 19:59:55 0IBhzRAf
>>330
期待してるぞ

333:330
08/08/27 20:21:54 NY8U1MXK
作ってもいいんだけど、使い方を先に教えてくれ

334:名前は開発中のものです。
08/08/28 14:35:31 himZTe+5
教えたらそれをコピペしただけで作ったと言い出しそうだな

335:名前は開発中のものです。
08/08/28 14:45:58 itYkETsy
もうちょっと触ってから質問しようぜ

336:名前は開発中のものです。
08/08/30 18:10:45 OueHFlIw
PAlibの使い方が知りたいならサンプルを読めばいい。
ところで、PAlibの最新版が出てたんだ。
未だにr21のみの対応か、絶望した!

337:sage
08/08/31 12:53:15 NgWtUu+W
誰かデータ用にバイナリ作ってそれをdataフォルダに突っ込んで使っている人いない?
ビットマップを追加するごとに毎回インクルードするのめんどくさいから、
ファイルをアーカイブするツール作って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


338:名前は開発中のものです。
08/08/31 12:54:42 NgWtUu+W
名前をsageしてしまったorz

339:名前は開発中のものです。
08/08/31 13:05:48 RBkQ5Qjd
>>337
何が問題?どういう動作を求めてる?
memcpyの動作は正しいよな。pltはアライメントかな?

340:名前は開発中のものです。
08/08/31 16:54:02 NgWtUu+W
全てのデータをまとめてarchive.binというものを作成して、
管理するクラスが#include "archive_bin.h"しつつ、
archive_binのそれぞれのファイルの先頭ポインタを保存する仕組みを作成していたんです。
とりあえず手始めにビットマップのコンバートからやってたのですが、
indexとpalleteのポインタをそのままSPRITE_PALETTEとSPRITE_GFXにdmcCopyしても、
なぜか絵がうまく出ないんです。(色が変だったり所々が欠けたような絵になります)
AGBGFXConverterで吐き出したソースと同じ様に配置したつもりなんですけど…

ちなみにAGBGFXConverterで同じ絵をコンバートして、
インデックスを両方1タイル分ずつprintfして見ているんですけど、
インデックスの並びは全く一緒でした。
なので色はバグってても同じ絵は出ると思ったのですが…

で今度はパレットの中身を見たらあれ?みたいな感じになったわけです。

341:名前は開発中のものです。
08/09/01 23:08:04 /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 ];
}
// ----------------------------------------------

342:名前は開発中のものです。
08/09/01 23:09:40 /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 ];
見たいな書き方してるんですけど、間違えて書いたら普通にビルドが通るので使ってました。

343:名前は開発中のものです。
08/09/01 23:19:54 JD3+KZZh
最近ndsのプログラムを始めたのだが
メインメモリ4MBってつまり
libfat使わない限りはndsファイルのサイズつかプログラム+データを
4MBに収めないといけないってこと?
プログラムとメモリの関係が良くわからんです・・・

344:名前は開発中のものです。
08/09/01 23:25:31 v+MMQ4cs
>>340
つ swiCopy()

345:名前は開発中のものです。
08/09/01 23:29:46 wvhb43Po
バス幅間違ってない?8bitでコピーすると正しくて16bit/32bitでコピーすると化けるのは大抵アライメントが原因です。
iprintf("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として使えたから便利だったんだけどね。



次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

5001日前に更新/251 KB
担当:undef