[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 03/31 14:51 / Filesize : 251 KB / Number-of Response : 979
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

NintendoDS(NDS)非公式開発 Part3



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/

77 名前:名前は開発中のものです。 mailto:sage [2008/05/03(土) 22:03:18 ID:h7+eVHMM]
>>70 != >>56
だろう常識的に(ry

78 名前:名前は開発中のものです。 mailto:sage [2008/05/04(日) 00:17:02 ID:uuRP6Trs]
じゃこの流れを変えるためにも、俺が自作を公開してみます
DS素人な上にゲーム制作の経験もないけど、
一番最初の入門者にとって参考になれば…と思ってます。
ttp://void-main.org/dsprogram/
全然更新していないんだけど、意見あればよろしく。

79 名前:名前は開発中のものです。 mailto:sage [2008/05/04(日) 01:20:28 ID:OhsOp0+3]
あんたえらいな。

80 名前:名前は開発中のものです。 mailto:sage [2008/05/04(日) 01:55:59 ID:EKIuBmQb]
プログラムなんてやったことなくても
意見いったり批判はしていいとおもうけどな

どんな人が書いたかよりも
内容で読んだ方が

81 名前:名前は開発中のものです。 mailto:sage [2008/05/04(日) 02:30:47 ID:/JCIQP6n]
>>78
乙、参考になります。
…って、元A○CCの方じゃないでつか?

82 名前:35 mailto:sage [2008/05/05(月) 02:34:17 ID:Uak3Varh]
久しぶりに来てみたら荒れててワロスw
実機でROMカートリッジの内容を読み込むの成功したんだけど
この雰囲気だと叩かれそうだw

先に結論から言うと、実機でROMを読み込んでも無駄です。
スロットに刺さってるのはマジコンのカートリッジなんだから
この状態で読み込んでも、読み込まれるのは・・・・・

なんでこんな単純なことに気がつかなかったんだろう orz

83 名前:名前は開発中のものです。 mailto:sage [2008/05/05(月) 07:34:21 ID:uyVcAzjN]
DSの開発するとき頼りになるのはサンプルのソースだけど
ソースの公開されてる自作ソフトがあると非常に助かるのは事実
>>82
ROM吸出しソフトはすでにあるよ
皇帝ルドルフとか言う人が作ってた
プログラム実行したらカートリッジ差し替えるんだよ


84 名前:35 mailto:sage [2008/05/05(月) 08:25:36 ID:Uak3Varh]
ROMを吸い出したいんじゃなくて
データを、コードに直接埋め込んだりlibfatを使わずに
カートリッジから直接読み込みたいっていうことじゃないかな?

まぁ結局、素直にlibfat使いなさいていうことですね・・・

85 名前:名前は開発中のものです。 mailto:sage [2008/05/05(月) 12:08:41 ID:CmhX5RoD]
Slot1を読み込みたいならSlot2のマジコンを使えばいい。
Slot2を読み込みたいならSlot2のマジコンを使えばいい。
読み込みたい方と別のSlotからブートすれば何も問題はなかろう。せっかく2つあるんだから。
使えるマジコンは限定されるけど。



86 名前:名前は開発中のものです。 mailto:sage [2008/05/05(月) 15:17:08 ID:rp/LnXOc]
開発時はlibfat+dldiを使ってテスト、リリース時には結合したデータを
gbfsで読み込むよう切り替えたいんだが、なんかいい方法はない?

87 名前:名前は開発中のものです。 mailto:sage [2008/05/05(月) 17:43:12 ID:Wi/Q4iyL]
尻ませんけど有ると重い増すよ

88 名前:名前は開発中のものです。 mailto:sage [2008/05/05(月) 19:44:29 ID:I85x8lIo]
>>82
起動中にDSカード抜くと一発でフリーズするんだね、残念。
PSみたいに途中でメディアを入れ替えられるようになっていれば、
GBAスロットの拡張メモリに一旦転送するとかできどうだけど。

それとも特定のAPIでメディアとの接続を切ったりできるのかな?

89 名前:名前は開発中のものです。 mailto:sage [2008/05/06(火) 02:18:31 ID:nbRAn1xU]
>>88
フリーズするのは主に商用のカートリッジだけですよ?
カートリッジの抜き差しでハードウェア割り込みが発生するので
公式の開発ツールは、カートリッジ割り込みを拾ったらフリーズするように
作られてるんでしょうきっと。

ためしにhomebrewなソフトで抜き差ししてみるといいです。

90 名前:名前は開発中のものです。 mailto:sage [2008/05/06(火) 03:34:18 ID:xOcS/gYs]
>>89
だとすると、割り込みハンドラを登録すればフリーズしないってことだな。
irqSet(IRQ_CARD_LINE, func);
のようにして、まずはテスト用のハンドラを登録して動作を試してみたらいいんじゃないか?

91 名前:つくりませんか [2008/05/07(水) 18:23:39 ID:p5xOjkEB]
だれかゲームをつくりませんか?

初心者ですが、お願いします。

自分で作ったソフトとか
www.geocities.jp/takahumi1102/nds.html


92 名前:名前は開発中のものです。 mailto:sage [2008/05/07(水) 19:00:29 ID:E+5aTInZ]
完全に丸投げしているのか
同好の士を募集しているのか
募集しているにしても何を求めているのか
それとも単なる自己紹介なのか
さっぱり分からんな

93 名前:つくりませんか [2008/05/07(水) 19:11:22 ID:p5xOjkEB]
>>92
つくってください・・・・・じゃなくて、
ただ単にゲームをつくりたいです。
求めているものは、教えあえることです。

94 名前:名前は開発中のものです。 mailto:sage [2008/05/07(水) 19:31:57 ID:Vb4M9it7]
>>93
とりあえず全部教えてください

95 名前:つくりませんか [2008/05/07(水) 21:38:50 ID:p5xOjkEB]
>>94
???????




96 名前:名前は開発中のものです。 mailto:sage [2008/05/07(水) 21:41:15 ID:qEv9eqFr]
>>95
依存する気100%で「教えあう」と言われても。

97 名前:名前は開発中のものです。 mailto:sage [2008/05/07(水) 22:11:19 ID:Vb4M9it7]
>>95
池沼なんだね

98 名前:つくりませんか [2008/05/07(水) 22:47:22 ID:p5xOjkEB]
>>94
全部教えてくださいというのはどういう意味ですか??

99 名前:名前は開発中のものです。 mailto:sage [2008/05/07(水) 23:35:21 ID:Vb4M9it7]
>>98
「教えあえることです。」の教えられる部分に決まってるだろjk

100 名前:名前は開発中のものです。 mailto:sage [2008/05/07(水) 23:52:12 ID:5piMHBxw]
何でゲ板は日本語の不自由な奴が多いんだ?

101 名前:名前は開発中のものです。 mailto:sage [2008/05/08(木) 02:19:41 ID:/70xYc+4]
まずはどういったものを作りたいのか示せるか?
それも決まってないようだと、話にならんが。

102 名前:名前は開発中のものです。 mailto:sage [2008/05/08(木) 02:38:50 ID:+FSp5Ju9]
>>93
どんな内容をやりとりするの?
ここや、他のサイトや掲示板でやらず
特定の人たちと情報交換するなら、
明確な目的とかルールを決めておかないと続かないぞ

プログラムメインの情報交換なのか
ゲーム内容メインの情報交換なのかとかさ

情報交換の内容も
初心者と一口にいっても
開発環境の揃え方から教えあうとか
基礎は出来てて一人じゃどうしても分からないことだけ教えあうのかとかも
考えてから募集したほうがいいんじゃない?



103 名前:名前は開発中のものです。 mailto:sage [2008/05/08(木) 06:49:45 ID:CP6QXV5y]
2ちゃんで一緒に作ろうといって出来たためしがない
1人でこつこつやるしかない

104 名前:つくりませんか [2008/05/09(金) 01:54:09 ID:m4y4FI3h]
なんか夢を失ったので、一人でコツコツつくります。
ありがとうございました。

105 名前:名前は開発中のものです。 mailto:sage [2008/05/09(金) 11:12:20 ID:b3Fzpyi8]
本人なら最低だな
こいつに関わった人カワイソ



106 名前:名前は開発中のものです。 mailto:sage [2008/05/09(金) 14:08:33 ID:iLaxCFqV]
まだ始まってすらいないのに関わった人カワイソ
電波もいいとこ

107 名前:名前は開発中のものです。 mailto:sage [2008/05/09(金) 15:11:34 ID:K5p3Vw/W]
>>104
具体的に何を作るかくらい示さないと釣りとしか思われませんよ。

108 名前:名前は開発中のものです。 mailto:sage [2008/05/09(金) 20:39:54 ID:C6IOMuha]
爆釣りしませんか?

109 名前:名前は開発中のものです。 mailto:sage [2008/05/10(土) 16:01:10 ID:Dsk0ZCGW]
まじめに答えた人カワイソ


110 名前:名前は開発中のものです。 mailto:sage [2008/05/14(水) 20:17:47 ID:HEb7Ld7s]
ndskybookの無線まわりがうちのDSで動かないので、色々なところを直してみた
基本的には、ただコンパイルして新しいdswifiとリンクさせてやるだけでネット回りの問題は解決する模様
しかし相当前の(2006年ごろ)のlibndsで動くように作られていたのでdevkitarm r23対応が地味に面倒くさい
今、ttfフォントファイルを使用した実装にしてみようかと改造中・・・

111 名前:名前は開発中のものです。 mailto:sage [2008/05/15(木) 01:55:24 ID:Y7BElhp0]
最近DSのHomebrewの開発を始めた日曜プログラマーなのですが、
SpriteEntry内のattribute2のタイルインデックスについてお聞きしたいことがあります。

VRAM上の特定の位置にある画像を指定する為にタイルインデックスを指定させ、
画像を設定していますがその上限は10ビット(1024)となっていました。

それ以上の大きいインデックス値に存在する画像を扱いたい場合、
タイルインデックス以外の指定方法はあるのでしょうか?
それとも、必要に応じて書き換えを?

ご教授お願いいたします。

112 名前:名前は開発中のものです。 mailto:sage [2008/05/15(木) 04:09:12 ID:9eTY5ohq]
>>111
基本的にはない。

変則的な方法だと
(1)別のBGに別のキャラクタベースを割り当て、そこに表示して合成する
(2)ラスタ割込みで、途中からキャラクタベースを書き換える
等があるが、
(1)はBGを無駄遣いする(空きBGがあるなら問題はないが)
(2)は同一ラスタ中で混在できない
という問題がある。
要するにキャラクタベースを切り替える方法。
だがそもそも、32x24=768 しか同時にキャラクタを表示できない(表示するスペースが
それしかない)のだから、1024で足りるじゃないか…って思う。
使う分だけ書き換えればいいじゃんって話。

あと揚げ足取りのようだがタイルインデックスの上限は1023。

113 名前:名前は開発中のものです。 mailto:sage [2008/05/15(木) 08:45:30 ID:r+DVA4aK]
ラスタ割り込み、ファミコンでは基本テクニックだったな

114 名前:名前は開発中のものです。 mailto:sage [2008/05/15(木) 09:56:18 ID:KSCa8HQG]
>>112
>>113
情報ありがとうございます。 基本的にはないんですね、開発者の技量次第ですか。
BGについては、まだ将来どう使用するか未定なので今は利用できそうにはありません。

もう一つのラスタ割り込み、ということはIRQ_HBLANKですか。
こちらはそういう用途でも利用できたんですね。
パレット書き換えによる多色表現とかだけだと思ってました。

私はキャラクターがぬるぬる動くアクションゲームでもと思っており、
1キャラのアニメーション量が多いのでこんな質問をしました。

8ビットのプレイヤーキャラだけでインデックス使い切る

4ビットまで減色

プレイヤーキャラの画像領域を縮小して特定範囲だけを使用

いや、知らないだけで実はスプライト用のバンク切り替えがあるんじゃないか?と思い >>111

このような流れです。


>タイルインデックスの上限は1023
0〜1023なので上限は確かに1023でしたね。 お恥ずかしい。

115 名前:名前は開発中のものです。 mailto:sage [2008/05/15(木) 11:49:15 ID:o6NuskXP]
今DevkitPro r21を使ってるんだけど、r22に更新すると何かメリットとかある?



116 名前:名前は開発中のものです。 mailto:sage [2008/05/15(木) 14:41:27 ID:cMc7dGA+]
それくらい自分で調べられないと
最後まで続かないと思われ


117 名前:名前は開発中のものです。 mailto:sage [2008/05/15(木) 15:41:28 ID:dIxlNCjs]
>>115
There are a number of improvements

* binutils updated to 2.18.50
* gcc updated to 4.3.0
* grit updated to 0.8
* ndstool now uses default.arm7 from libnds directory
* newlib multibyte code enabled with C-UTF8 locale

release 23が出てるけどね

118 名前:名前は開発中のものです。 mailto:sage [2008/05/15(木) 17:45:22 ID:993lGL+w]
>>114
アニメーションパターンが多いなら
表示するパターンだけVRAMに転送して毎回インデックスを更新すればいいんじゃない?
もしDISPLAY_SPR_2Dで作ってるならDISPLAY_SPR_1Dに切り替えた方が結果的に楽になると思うよ

119 名前:名前は開発中のものです。 mailto:sage [2008/05/15(木) 19:20:04 ID:dNoJ3Z5k]
>>118
当初から1Dでやっており、つい数日前にご指摘なさっている手法に至って
プレイヤーキャラのアニメーションをまかなうようになりました。

VRAM_AやBの128キロバイトをフルに活用できると思っていただけに
タイルインデックスの使用上限にはかなりショックを受けています。
画像のビット深度が倍になるとインデックスの消費量も倍(?)になりましたし

「あー、だからDSになっても16色っぽい主人公がドラキュラ退治するのか」と
納得したような、しないような。
(それでも開発自体は本業より楽しいから問題は無いのですが)

120 名前:名前は開発中のものです。 mailto:sage [2008/05/15(木) 20:01:41 ID:993lGL+w]
なにこの打てば響く完璧なレスw
まぁ元々GBAと互換を保つための機能だからその名残が残ってるのは仕方ないよね
SpriteEntry内にインデックス拡張フラグを入れる余地は全く無いし

121 名前:名前は開発中のものです。 mailto:sage [2008/05/15(木) 20:43:59 ID:9eTY5ohq]
>>114
ごめん。スプライトの話だったんですね。
よく見るとSpriteEntryと書いてありましたね。
BGの話かと思って勘違いしてました。

122 名前:名前は開発中のものです。 mailto:sage [2008/05/15(木) 23:17:24 ID:KSCa8HQG]
>>120
#include <nds/arm9/sprite.h>を覗いた上での
最後の悪あがき的な質問でしたから。

教えてくださる先達に横柄な態度はできませんよ。 こちらは無知ですし。
・・・まぁ、職場にいる先輩PGには慇懃無礼ですが(・∀・)

>>121
たとえ見当違いであっても、
お教えくださったその知識、知恵はありがたいものです。
いつか役立たせていただきます。

123 名前:名前は開発中のものです。 mailto:sage [2008/05/17(土) 21:44:28 ID:meJQ1fpF]
m3さくらはmoonさんが作ってるの?

124 名前:名前は開発中のものです。 mailto:sage [2008/05/20(火) 11:24:28 ID:xIWP/ob7]
この流れを見てると2chで協力つのるのは鬼門なのかね('A`)

125 名前:名前は開発中のものです。 mailto:sage [2008/05/20(火) 14:01:46 ID:Mu+Z8Ipo]
>>91は協力ではなく単なるクレクレ



126 名前:名前は開発中のものです。 mailto:sage [2008/05/20(火) 15:23:31 ID:RWit6ryT]
基本的にプログラムしか出来ない人ばかりな板だしなぁ
凄い勢いで絵を描くから中身を作ってくれ
ってんなら協力者は出てくるかもしれないけどなw

127 名前:名前は開発中のものです。 mailto:sage [2008/05/20(火) 16:44:47 ID:xIWP/ob7]
手書き文字認識モジュールつくったんだけど
学習データが圧倒的に足りないんです、悲しいぐらいに。
とりあえず今はTomoeのデータ使わせてもらってるんだけど
素のTomoeのデータはとてもじゃないけど普通に使えるレベル
じゃないんです。

例えば、書き順がめちゃくちゃ
「止」「上」は、縦線から書くのがたぶん正しい書き順なんだろうけど
tomoeのデータだと、この2つは横線から始まってるし
かとおもったら「歩」に乗っかってる「止」の部分は縦線から始まってる。
「斗」と「科」の書き順も逆になってたり、バラバラで統一されてないし。
まぁ書き順はエンジンの方でなんとでもなるんだけど
もっと酷いのが「旨」
「ヒ」の横棒の部分、は右から左にはらうのが正しい書き方だとおもうんだけど
「指」と「旨」でバラバラだったり、こういうの直してるだけで泣きそうになる。

128 名前:名前は開発中のものです。 mailto:sage [2008/05/20(火) 16:47:13 ID:xIWP/ob7]
せめてDSブラウザぐらいには漢字認識できるようにしたいね
まぁ出来る範囲でコツコツがんばるよ('A`)

129 名前:名前は開発中のものです。 mailto:sage [2008/05/20(火) 17:22:21 ID:sqxB6/mF]
>>127
「止」「上」って上側の横線から書くんじゃないの?

130 名前:名前は開発中のものです。 mailto:sage [2008/05/20(火) 17:25:19 ID:mzO2jUKQ]
> 「ヒ」の横棒
どっちが正しいか迷ったので、"カタカナ 書き順 ヒ"でぐぐってみた。
ttp://www.winttk.com/kakijun/katakana/10027.htm
右から左にはらうのが正しいようだけど、定着してない様子。
どっちからはらっても認識するようにしたほうがいいかも。
これ以外にもこういう文字はあるんだろうなぁ。

131 名前:名前は開発中のものです。 mailto:sage [2008/05/20(火) 18:23:20 ID:mk1SjfwX]
書き順認識はプログラムするほうからは強制したいけどユーザからは無いほうがいいんだよな
市販DSソフトで全然認識しなくていらいらしたことがある
書き順が違ってたらしく書き順変えたらすぐ認識した

132 名前:名前は開発中のものです。 mailto:sage [2008/05/20(火) 21:09:22 ID:xIWP/ob7]
まぁ、あれです
せめてSDカードに学習データを保存できるぐらいまでに完成したら
ここで協力募って学習データ集めさせて、っていうのはありですか('A`)

それよりも泣きたいのは、素のTomoeの辞書データに
カタカナ・ひらがなの濁音拗音がぜんぜん無いンですヴヴヴっヴ
今、がんばってシコシコ作成中 orz

>>127
大漢語林っていう、重さ5kぐらいある鈍器みたいな辞書で調べたら
「上」「止」「歩」いずれも縦の方が筆順が先でした。
筆順なんて国とか時代で違うかもしれないし、本当かどうかはワカンネ

>>131
今考えてるのは、デフォルトの検索は、筆順強制で
それで認識されなければ、書き順フリーで検索して結果を学習
できれば、その学習データをクレクレ君('A`)

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]
セックスフレンドのコンバーターどなたか作っていただけませんか?






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<251KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef