トップページgamedev
981コメント326KB

NintendoDS(NDS)非公式開発 Part3

■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。2008/04/08(火) 07:05:13ID:MngpkM4u
NDSで何やら作ってみようという人の為のスレ。ライセンス不要。
初心者歓迎。質問歓迎。英語苦手な人歓迎。冷やかし歓迎。ネカマ歓迎。

資料、リンク等
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/
0671名前は開発中のものです。2009/02/22(日) 00:07:52ID:HFKbZOsM
>>669
TGMとM原の信者乙
0672名前は開発中のものです。2009/02/22(日) 00:25:50ID:wOpJ9pB4
ベラボーマンはダウンロードできないのか・・・
0673名前は開発中のものです。2009/02/22(日) 07:31:34ID:VExqFJq1
マリオ64移植できてるってことはDSの方が性能上なのか
0674名前は開発中のものです。2009/02/22(日) 12:53:44ID:8un20adA
性能上のところもあれば下のところもある
(解像度やテクスチャの問題もあるが)
将来的にSNESとN64を完全に再現出来る携帯機が欲しいところ
0675名前は開発中のものです。2009/02/22(日) 15:07:28ID:PC4UB1Nx
開発環境の構築について教えて頂きたい事があるのですが、
参考サイト等に記載のやり方でやってもまったく上手くいきません。

例えば>>78氏のサイトにあるような1.4.4をインストールしても
レミングス等はコンパイル不可でした。("SOUND_8BIT"が定義されていない、とか関数の引数がおかしい、とか)

最新の1.4.9も同様で、Palibフォルダ内のexamplesフォルダのテキスト"Hello World"等もコンパイル出来ないです。
(構造体メンバの"aux"が無いとか)

どうやったらちゃんと開発環境出来ますか?
(ちなみに当方WinVISTAです)
0676名前は開発中のものです。2009/02/22(日) 16:02:25ID:uwaKrkXC
レミングスDSは公式にDevKitPro r20と書いてあるだろう
ここからr20を探して入れろ
http://sourceforge.net/project/showfiles.php?group_id=114505&package_id=124207

Palibも同様に080823版を使う場合はr21を入れろ
06776752009/02/22(日) 22:34:35ID:PC4UB1Nx
>>676
devkitPRO 1.4.9
devKITARM r21
Palib 080823
の組み合わせでも不可です。

C:/devkitPro/palib/lib/include/nds/arm9/PA_General.h:402: warning: 'getIPC' is deprecated (declared at c:/devkitPro/libnds/include/nds/ipc.h:64)
C:/devkitPro/palib/lib/include/nds/arm9/PA_General.h:402: error: 'TransferRegion ' has no member named 'aux'
C:/devkitPro/palib/lib/include/nds/arm9/PA_General.h:403: warning: 'getIPC' is deprecated (declared at c:/devkitPro/libnds/include/nds/ipc.h:64)
C:/devkitPro/palib/lib/include/nds/arm9/PA_General.h:403: error: 'TransferRegion ' has no member named 'aux'
In file included from C:/devkitPro/palib/lib/include/nds/PA9.h:58, from c:/devkitPro/palib/examples/Text/Normal/HelloWorld/source/ main.c:3:
C:/devkitPro/palib/lib/include/nds/arm9/PA_Keyboard.h: At top level:
C:/devkitPro/palib/lib/include/nds/arm9/PA_Keyboard.h:45: error: 'Keyboard' redeclared as different kind of symbol
c:/devkitPro/libnds/include/nds/arm9/keyboard.h:113: error: previous declaration of 'Keyboard' was here

という感じで、auxが無いだの、Keyboardの定義がおかしいだのでエラーです。


組み合わせるバージョンの指定は厳しいんですね・・・。
0678名前は開発中のものです。2009/02/23(月) 00:00:14ID:Ie1BTwA3
・・・もしかしてdevkitPRO 1.4.9を入れた上からdevkitARM r21を上書きした?
06796752009/02/23(月) 00:29:52ID:4p6+MeQR
>>678
いえ、devkitPRO 1.4.9入れてからです。
devkitARMをリネームして退避 → r21を導入。

という流れです。
0680名前は開発中のものです。2009/02/23(月) 03:33:49ID:DlqqnuXR
libndsのバージョン合わせてないオチじゃないよな?
0681名前は開発中のものです。2009/02/24(火) 00:28:19ID:hxRbqK/7
>>680
libndsのバージョン合わせまで必要なんですか?
(そこまで言及してる解説サイト様も無かったので・・・・)

結局のところ、コンパイルするやつに合わせてバージョン変えるしかない、ですか・・?
かなり、不便なんですね・・・。
06826752009/02/24(火) 00:44:19ID:hxRbqK/7
>>680
書き忘れましたが、ご指摘されたlibndsについて libnds-20071023 等も試してみましたが、
fat.hが無い等のI/Fエラーで結局コンパイル出来ません。

もう何が正しいやらサッパーリです(TヘT)
0683名前は開発中のものです。2009/02/24(火) 01:00:03ID:9qOCdOaY
libfatインスコしてないやんけ。
0684名前は開発中のものです。2009/02/24(火) 01:17:29ID:GC6o6RLt
環境構築すら人に頼らないとできない時点で、
この先の困難さを思い知ったほうがいいなw
0685名前は開発中のものです。2009/02/24(火) 01:30:53ID:l7+IouWc
ぽまいら冷たいお(´;ω;`)
0686名前は開発中のものです。2009/02/24(火) 01:44:08ID:GC6o6RLt
あったくしょうがねぇな
ほらよw
ttp://forum.palib.info/index.php?PHPSESSID=b8d07f5e567d8f3cd592ab1f8fefa6ac&topic=6319
0687名前は開発中のものです。2009/02/24(火) 01:49:19ID:hxRbqK/7
>>683
libndsフォルダをリネーム退避 → ゲットしたlibndsを導入で、消えてたみたいです。

結局のところ、どのソフトのどのバージョンを入れるのが正解なんですか?
0688名前は開発中のものです。2009/02/24(火) 07:38:19ID:9o3pnbz7
どのバージョン使ってるか作者も把握してないのはよくあること。
0689名前は開発中のものです。2009/02/24(火) 07:42:34ID:9o3pnbz7
むしろどのライブラリのどのバージョンの組み合わせでどのバージョンのHomebrewをコンパイルできたか情報もらえたら助かる。
0690名前は開発中のものです。2009/02/24(火) 14:06:11ID:9qOCdOaY
なんかいろいろ酷くて疲れたわ。
0691名前は開発中のものです。2009/02/24(火) 15:01:15ID:l7+IouWc
ぽまいら死ねぇぇ(´;ω;`)
0692名前は開発中のものです。2009/02/24(火) 15:34:21ID:yD6D+5sj
ID:l7+IouWcが一番何もしてない件
0693名前は開発中のものです。2009/02/24(火) 17:53:30ID:6cmZpWTE
単発が言う件
0694名前は開発中のものです。2009/02/24(火) 18:13:58ID:jZRLhqc7
6cmの奴がうるさいぜ
0695名前は開発中のものです。2009/02/25(水) 06:27:33ID:rYtUGQFi
DSLua(v0.7)のソケット関数が使えないんだが、未実装なの?
Wifiの初期化は出来るみたいなんだが
0696名前は開発中のものです。2009/02/26(木) 00:46:51ID:KPhZLOYY
過疎り杉ワロタw
0697名前は開発中のものです。2009/02/26(木) 08:42:13ID:w5iYbh+j
元からこんなんじゃ
0698名前は開発中のものです。2009/02/26(木) 10:02:08ID:Jd9bcMX/
DSってサウンドは普通にいいな
DQ4やDQ5も結構音質よくてクオリティよかったし
0699名前は開発中のものです。2009/02/26(木) 10:50:13ID:w5iYbh+j
スピーカーはだめ
イヤホンだとそれが判る
0700名前は開発中のものです。2009/02/26(木) 23:06:26ID:LTHzrsdh
soundPlaySample(const void* data, SoundFormat format, u32 dataSize, u16 freq, u8 volume, u8 pan, bool loop, u16 loopPoint);
この関数を使用して、1分程度のPCMを再生しようとするのですが、
20秒程度で停止してしまいます
容量制限などあるのでしょうか?ご存知の方、お教えいただけないでしょうか
ポインタもサイズも渡してるんでメモリなめてるだけだと思ってるんですが…
0701名前は開発中のものです。2009/02/27(金) 02:01:00ID:wr3mrhBf
メモリ足りてる?
0702名前は開発中のものです。2009/02/27(金) 02:08:04ID:G1JMczya
(;^ω^)
0703名前は開発中のものです。2009/02/27(金) 02:16:05ID:w0XRUM04
近ごろはライブラリ部分を疑って、自分のプログラム部分は疑わないのがトレンディ?
そういう質問が続くよね。
0704名前は開発中のものです。2009/02/27(金) 12:47:20ID:l9Udippu
7度デバッグしてから人を疑えと祝一平が言ってた
0705名前は開発中のものです。2009/02/27(金) 19:33:44ID:8EIL6nuq
皆ってどんな思いでプログラムしてる?

1.漠然と解析して動かしたい(ex.動かしたら満足)
2.DSという媒体をいかして遊びたい
  (ex.タッチペン等を使ったアイディアを生かし任天堂に企画持込)
3.オリジナルでゲーム作りたい(ex最終目標は販売)
4.同人でゲーム作りたい(exコミケで販売)
0706名前は開発中のものです。2009/02/27(金) 22:12:19ID:wkWc0+ir
>>705
1と2。
だけど、任天堂に企画を持ち込む気はない。
0707名前は開発中のものです。2009/02/27(金) 22:14:48ID:lHmooKwd
Nスクの不完全再現
実現出来れば多くのアレがアレできるので個人的に嬉しい
しかし道は長い
0708名前は開発中のものです。2009/02/28(土) 01:19:19ID:Uk8XxPzh
仮に販売できる作品が出来たとしても、客はマジコンを持ってることが前提になる?
0709名前は開発中のものです。2009/02/28(土) 03:06:41ID:YWGCCuBr
そのレベルのスキルの持ち主なら、普通にwinで作って堂々と販売すればいいじゃない
0710名前は開発中のものです。2009/02/28(土) 07:12:29ID:IJaRMG7X
何かとマジコン問題視されてるし、
非公式開発用の代用品があればなぁ。
0711名前は開発中のものです。2009/02/28(土) 12:51:37ID:OixSpQER
ゲーム作ったものの配布するかどうかで結構迷ったな
まだ弄れるところがあるってことで結局見送ったけど
実機での動かし方とか質問されても答えにくい…
0712名前は開発中のものです。2009/02/28(土) 17:13:12ID:9WcANibW
公開してる人は使い方の分かる人だけとか書いてるし
特に動かし方は何も書かなくておk
何か質問されたらグーグルのアドレスを貼る
0713名前は開発中のものです。2009/02/28(土) 17:41:38ID:Uk8XxPzh
いずれにしても金儲けは出来そうにないよな
0714名前は開発中のものです。2009/02/28(土) 18:43:28ID:8f7b0xkm
その昔ジーコサッカーというのがあってだな・・・
0715名前は開発中のものです。2009/02/28(土) 21:12:53ID:8s2n0430
>>670
くっ、消えてたか。
どのくらいのポリゴンまで使えるのかな・・・(メタセコのデータサイズ的に)
0716名前は開発中のものです。2009/03/01(日) 01:32:11ID:Mf/Aa5l/
4000604h - RAM_COUNT - Polygon List & Vertex RAM Count Register (R)

0-11 Number of Polygons currently stored in Polygon List RAM (0..2048)
12-15 Not used
16-28 Number of Vertices currently stored in Vertex RAM (0..6144)
13-15 Not used

の制限は超えられないと思うよ

ttp://blog.livedoor.jp/orenos/archives/cat_50041571.html
をみると2000ぐらいじゃないかな?
0717名前は開発中のものです。2009/03/01(日) 08:53:29ID:NCPT6IzU
>>716
なるほど・・・。ありがたう。
その辺に落ちている初音ミクとかDSに、とかは全然無理って事だな。
0718名前は開発中のものです。2009/03/01(日) 09:43:01ID:FCLhxfXA
60fpsで動かそうとすればな…
今市場に出ているDSの3Dゲーはほとんど30fpsで
3Dと3Dキャプチャとの合成をよく使う
0719名前は開発中のものです。2009/03/06(金) 04:12:52ID:TOXTdHLF
フォントを入れてみて、SJISの漢字を表示できるようにしてみたのですが、
漢字のファイル名も使えるファイラーを作ろうと思ったところ、
diropen、dirnextで取ってくる2バイトコードば不規則に壊れているように思えるのです。
(最初の18バイトは3バイトごとに0xC2が入り込み、その後 0x20 なども入り込む)

この理由って何でしょうか?
なにか対処法とか知ってる方いらっしゃいますか?
0720名前は開発中のものです。2009/03/06(金) 11:22:53ID:yjbnJ68z
>>719
お前がSJISと思い込んでるだけでファイル名は実はUTF-8で書かれていたりする
07217192009/03/06(金) 12:22:56ID:TOXTdHLF
>>720
文字コード表で比較したのですがUTF-8ではないと思うのですが・・・
http://ash.jp/code/unitbl1.htm
というか単に1バイト文字列として判定しながら、
最上位ビットが立っていると、自動的にその直前に「0xC2」を追加しているだけ
のように見える。

もうちょっと調査してみます。
0722名前は開発中のものです。2009/03/06(金) 12:51:34ID:yjbnJ68z
libfatのソース見たけど
〜\libfat-src-1.0.3\source\directory.c
if (_FAT_directory_ucs2tombs (entry->filename, lfn, MAX_FILENAME_LENGTH) == (size_t)-1) {
// Failed to convert the file name to UTF-8. Maybe the wrong locale is set?
return false;
}
UTF8に変換してるんじゃないの
0723名前は開発中のものです。2009/03/06(金) 13:00:17ID:yjbnJ68z
バージョンで違うかもと思って昔のソース見たらやっぱり違ってたわ
昔のは変換処理が無かった
07247192009/03/06(金) 13:11:00ID:TOXTdHLF
>>722-723
ありがとうございます。
なるほどlibfatのバージョン上げるとUTF-8に変換してくれると・・・
でも既にSJISの表示ができてるので、まぁ今のままでいいかなとw
(0xC2の除去は簡単にできましたので)
0725名前は開発中のものです。2009/03/06(金) 15:34:15ID:s9e7Y5/A
8.3形式で収まるファイル名はそのまま書き込まれ
それに収まらないファイル名はロングファイルネームとしてUnicodeで格納される

FAT関係のフォーマット解説あさった方がいい
0726名前は開発中のものです。2009/03/07(土) 12:15:01ID:Spw06Iei
Kingdom Hearts 358/2 Days - Special Trailer
http://www.youtube.com/watch?v=rYRXf5DDrn8

DSって凄いんだな
0727名前は開発中のものです。2009/03/07(土) 15:22:32ID:P2NlkDFd
>>726
ほとんどプリレンダの動画だな
ゲーム画面は1分もないじゃないか
まあDSにしては頑張ってるんだろうけど
07287242009/03/08(日) 17:48:39ID:H3Gxp9K9
>>725
そのとおりでした。
エミュ(ideas)で開発していたら、単にSJISにC2のゴミが入るだけでしたが、
実機ではUnicodeに変換されているようです。

素直に変換プログラムを組んでみます・・・・
07297242009/03/08(日) 17:50:21ID:H3Gxp9K9
ちなみに、実行ターゲットって取得できないものでしょうか・・・・

エミュではC2除去したSJIS表示、
実機ではUnicode表示と切り替えたいとも思うのですけど、
0730名前は開発中のものです。2009/03/08(日) 20:35:07ID:3YB+hXPZ
それこそC2入ってたらエミュとかでいいんでないの
07317242009/03/08(日) 21:14:06ID:H3Gxp9K9
>>730
確かに!
調べてみたら、C2付きに置き換えられたSJIS(C28xxx,C29xxx,C2Exxx,C2Fxxx)
に対応するUTF-8コード(SJIS内)はないのでエミュ起動とみなして良いようです。
http://ash.jp/code/unitbl21.htm

UTF-8⇒SJIS変換プログラムを探したけど、
結局自分でUTF8⇒SJISテーブルを持たないとダメそう
(nkfのソースとかは見たけどわけわからんw)

Windowsのツールならすぐ作れるし、
7630文字の3バイトなので、データ容量としてもDSに十分入ると思うんだけど、
UTF8の方がビット幅が広いので、
テーブルが虫食い状態になるのをどうしよう
ハッシュテーブルにしてもどうしたら均一になる取り方が思いつかない・・・・・

他のツール作者さんたちはどうやってるんだろう
0732名前は開発中のものです。2009/03/09(月) 00:39:57ID:SXSH5WYs
>731
思いっきりはずしてるかもだけど、MoonShellのunicode/sjis.tblが
何かヒントになるかも?
http://mdxonline.dyndns.org/


ところで...
http://www35.atwiki.jp/hikipuro/pages/33.html
http://www.bottledlight.com/ds/index.php/FileFormats/NDSFormat
ここに書いてあるNDSファイルフォーマットの、「FAT オフセット」に
セットされているアドレスにはFATデータがあるんだろうけど、
このFATのフォーマットはどうなってんの?
解説したサイトとかある?

ファイル名テーブルや実ファイルデータをどうやって
管理しているのかよくわからない...

ここがわかれば、1つのNDSファイルだけで4MBを超えられる
方法がわかるような気がするんだけど。
07337242009/03/09(月) 04:10:07ID:omb2zf0w
>>732
ヒントになりました。ありがとうございます。

あくまで推測の範囲ですが、
データを見る限り、2バイト区切りになっているのでUnicodeビット⇒SJISのデータを格納しているように見える。
かなりの多くのかたまった0x00があるので、圧縮やハッシュ化はしていない模様。
2バイト区切りだとすると、65536文字ほどの空間を保持していることになるが、
10万文字を超えるといわれるUnicodeの空間すべてをテーブルを持っているわけでなく、
日本語や中国語などの漢字(SJISに載っている)部分だけのテーブルと思われる。
2バイト区切りではありそうだが、SJISの生データではない。

Unicodeの漢字部分がこの程度(128kbytesに収まる)なら、
まず自分でやってみて確認してみたいと思います。
ありがとうございました。
07347242009/03/09(月) 04:11:44ID:omb2zf0w
>>732
ちなみに私はフォントのビットデータなどを別ファイルで読み込ませていますが、
特にフォーマットやファイル名に規則はないように思います。
まだ特にフォーマットを決めてないので生データをそのまま読ませています。

  // FAT初期化.
  if ( !fatInitDefault() ) {
    iprintf( "Cant't Init Fat !" );
    return -1;
  }
  // 読み込み
  FILE* file = fopen( "FAT1:/GOTHIC24.DAT", "rb" );
  if( file != NULL ){
    fread( byFont24Data, FONT24FILESIZE, 1, file );
    fclose( file );
  } else {
    iprintf( "File Load false !" );
  }

で読み込めてます。
(byFont24Dataは読み込むデータ分の空き容量へのポインタ)
07357322009/03/09(月) 21:30:46ID:SXSH5WYs
>734
それはlibfatを使ったときの話ですよね。
ndsファイルとGOTHIC24.DATを別々に用意して読み込むっていう。

そうではなくて、devkitproのexample/embedded_gbfsみたいに、
ndsファイル内に埋め込めるファイルシステムを商用のndsファイルは
使ってると理解してるんですが、その形式・方式ってどうなってんのかな、
というのを知りたいんです。1ファイルに全部入れたいな、と。

embedded_gbfsでは、ndsヘッダのFATデータにもファイルテーブルにも
何も書かれないので目的のものとはちょっと違うと思ってます。

最終的には、過去ログの>>609-614にあるような、自身のndsファイルを
開くのではなくて、nds内の必要なデータだけメモリにロードするような
方式が知りたいんです。
0736名前は開発中のものです。2009/03/09(月) 22:23:03ID:FcNM6iim
個人で楽しむ範囲で市販のROMを解析してみれば。
07377342009/03/09(月) 23:06:08ID:omb2zf0w
>>735
そうでしたか。なんか当たり前の事を講釈してしまってすいませんm(_ _)m

ふと思いついたのが、ndsプログラムから、自分のndsをfopenして、
fseekして目的の位置だけをfreadとかできないかなぁと。
ファイルポインタは4GB制限はないだろうと。
(もしかしたら自分は開けないのかもしれないけど)

4GBオーバーしたndsを通常起動しても、
おそらく4GBまでロードして、エントリポイントからプログラムが動き始める
4GB周辺のデータはスタックに壊されながら使われる。
このときデータが壊されることよりもスタック周辺データでプログラムが不安定な動きをしないように
予めスタック周辺のデータはNULL(0)を入れておく(念のため)

あとはリンカにマップファイルを読み込ませて、ヒープ領域を明示的に指定しておく
(もしかしたらスタック領域も指定しないといけないかもしれない)
(もちろんデータ読み込み用アドレスをマップファイルで指定してもいいけど)

こうすればスタック、ヒープ以外にとっておいた空き領域に
読み込ませて起動できるのではないかと
あくまで全部推測ですけど・・・・

(ちなみにファイル名UTF8をSJISに変換して漢字表示できました。ありがとうございました。)
07387322009/03/10(火) 00:17:00ID:FyCLTQRk
過去ログの>>609-614がまさに自ファイルをfopenして、目的のデータだけを
freadして4MB以上のndsファイルを実現しているって話みたいです。

リンカの制御についてちょっとお勉強してみます。
あと、ndsファイルももうちょっと調査してみます。
(ちょっと確認したところでは、FATデータには、各アドレスの
先頭アドレス(4Byte)がずらずら格納されているだけのようでした。)
07397322009/03/10(火) 00:23:24ID:FyCLTQRk
書き忘れました。
自ファイルをopenしてfreadするやり方だと、ndsファイル名を変更できないし、
ファイルを置く場所も固定になってしまうので嫌だなあと思ってるだけです。

fopen("./hoge.nds", ...)みたいにカレントディレクトリ指定でopenきれば
まだいけるのですが...

ごちゃごちゃ言っているうちに、なんか興味がわいてきたので調べてみます。
0740名前は開発中のものです。2009/03/10(火) 01:01:12ID:WT0mcKmk
スタートアップのmain()のargvで自分自身の名前が返ってくりゃスッキリするのにな。
0741名前は開発中のものです。2009/03/10(火) 01:02:30ID:bFNIRTD6
以下、転載

OCNがアクセス規制だったのでこっちで…。気付かなかったら気にしない。(笑

To 737
実行中のNDSプログラムから自分自身のファイル名を知る方法はないと思います。
(一応コマンドラインから受け取れるようになっているようですが、それを渡してくれるように作られたファームウェアを(私は)知りません)
それができればたくさんのデータファイルをコピーさせなくても自作アプリが公開できるのですが…。

(これ以下はリンクで

ttp://home.att.ne.jp/blue/moonlight/to737.html
0742名前は開発中のものです。2009/03/10(火) 01:22:01ID:0zF3GRcV
ちょっと思いついた自分自身のndsを見つける強引な方法ですが、

現在のディレクトリをdiropenで開いて、
dirnextで次々と開いてファイルサイズを調べて、同じ大きさなら自分のnds

ファイルサイズの調べかたですが、fseekでSEEK_ENDを指定して、
ファイル終端にファイルポインタを設定して、
ftellで得られると思います。

まぁ、片っ端から調べるんなら、ndsファイルヘッダでも何か固有情報は埋められるような気もしますが・・・・
0743名前は開発中のものです。2009/03/10(火) 11:00:57ID:g2TKFoHz
それならファイル終端に識別子入れたほうが楽
07447322009/03/10(火) 23:30:35ID:FyCLTQRk
ndstoolのソースを見ると、NDSファイルのヘッダにあるFATテーブル
がどういう形式なのかわかりました。
「ファイルの先頭アドレス(4byte), ファイルの最後のアドレス+1(4byte)」
がずらずら並んでいるようです。

>741の内容(ファイルを全部メモリにロードしてSWI0(soft reset)する)と、
http://nocash.emubase.de/gbatek.htm#biosresetfunctions
を見ると、要するにBIOSがNDSヘッダを読んでよきに計らってくれるのだ
と理解しました。

ということは、NDSヘッダにFATデータもBIOSを使ってうまく取り回せるの
かな、と思うのですが・・・これ以上は資料も見つけられず・・・

やっぱりlibfat使って自ファイルをfreadするとか、うまいこと面倒を見る
ランチャ(というかシェルと呼んだ方がいいのかな?実現可能かも不明)
を作るとか、が現実的かもしれないですね。
0745名前は開発中のものです。2009/03/11(水) 14:21:25ID:tSVd9IUE
MoonShell2のバグトラックに
「フォルダ名またはファイル名の先頭に「蟲」を含むとき、ディスクチェックが停止するバグがある。」
とあるが、FATではファイル名の先頭の0xE5は削除されたことを表すから、
その0xE5がShift_JISの第1バイトと重なってしまうため、
FATの日本語ファイル名では0xE5の代わりに0x05を使用している、
という話を聞いたことがある。
もしかしたら、0xE5と0x05辺りのバグかもしれない。

以下問題ありそうな文字リスト
蕁蘂蕋蕕薀薤薈薑薊薨蕭薔薛藪薇薜蕷蕾薐藉薺藏薹藐藕藝藥藜藹蘊蘓蘋
藾藺蘆蘢蘚蘰蘿虍乕虔號虧虱蚓蚣蚩蚪蚋蚌蚶蚯蛄蛆蚰蛉蠣蚫蛔蛞蛩蛬
蛟蛛蛯蜒蜆蜈蜀蜃蛻蜑蜉蜍蛹蜊蜴蜿蜷蜻蜥蜩蜚蝠蝟蝸蝌蝎蝴蝗蝨蝮蝙蝓
蝣蝪蠅螢螟螂螯蟋螽蟀蟐雖螫蟄螳蟇蟆螻蟯蟲蟠蠏蠍蟾蟶蟷蠎蟒蠑蠖蠕蠢
蠡蠱蠶蠹蠧蠻衄衂衒衙衞衢衫袁衾袞衵衽袵衲袂袗袒袮袙袢袍袤袰袿袱裃
裄裔裘裙裝裹褂裼裴裨裲褄褌褊褓襃褞褥褪褫襁襄褻褶褸襌褝襠襞
0746名前は開発中のものです。2009/03/11(水) 16:31:29ID:13ayMoIc
>>745
FATのlfnはUCS2だから0xE000-0xE8FFは私用領域で使われてない
0747名前は開発中のものです。2009/03/11(水) 16:41:13ID:cohO+OUe
8.3形式の話だと思うが
0748名前は開発中のものです。2009/03/11(水) 20:32:17ID:13ayMoIc
FATを調べたけどファイル名の1バイト目に意味があるのはロングファイルネームに対応していないFATでファイル名には英数文字しか使えない
ロングファイルネームに対応しているVFATではファイル名は2バイト目から始まるようだ
0749名前は開発中のものです。2009/03/11(水) 23:43:28ID:Zqyue3/y
M3さくら日本語版ではv5しか起動できません。
v6 v6.1 v6.1fix を読み込むとローディングのまま黒画面で停止する・・バグ?
0750名前は開発中のものです。2009/03/12(木) 00:09:43ID:Ad+ZYM8b
>>749
多分K氏のソフトと同じ理由。
0751名前は開発中のものです。2009/03/12(木) 02:05:01ID:DfGJMFjQ
やっぱ手書き入力が欲しいなぁ
挑戦してみようかなぁ
0752名前は開発中のものです。2009/03/14(土) 14:51:11ID:wlXU4AeS
ちょっと表示について質問させてください

メイン、サブ共に16ビットグラフィックを使いたくて、
どちらもMODE_5_2Dで、VRAM_AとVRAM_Cを使ってBG3を表示させているのですが、
製作時はやはりデバッグ表示もしたくて
consoleDemoInitのようなテキスト表示を使いたいのです。

しかしconsoleDemoInitだと強制的にVRAM_Cを壊してサブ画面をMODE_0_2Dに
してしまいます。

consoleInit関数ならモード変更させずに、BG0,BG3重ね表示はできたのですが、
VRAM領域が同じために、画面描画しているうちに、フォント領域やテキストスクリーン領域
を壊してしまって表示がおなしくなります。
(2k,16kのbaseによる小さい移動はできたのですが結局同じ領域なので)

BG0,BG3に別々のVRAM領域の割り当てがいくら調べてもわかりません・・・・
どなたかご存知の方がおりましたらご教授ください。m(_ _)m
0753名前は開発中のものです。2009/03/14(土) 16:44:35ID:X1fTgUj5
>>752
VRAM_Bとかつかってないところにコンソール用の領域を用意して
bgInitでmapbaseをソコにすればいいだけじゃない?

あ、コンソールはmapbase0でグラフィック用をずらす方がよかったかもしれない。
0754名前は開発中のものです。2009/03/14(土) 22:54:07ID:wlXU4AeS
>>753
助言ありがとうございます。
グラフィック用のmapbaseをずらすことで対応できました。

しかし、
いろいろやったのですが結局VRAM_Bは活用できませんでした・・・
0755名前は開発中のものです。2009/03/15(日) 04:35:28ID:G1D5J/z+
VRAM_Bが活用できなかったってのがよくわからんなぁ
こういう話?

  videoSetMode(MODE_5_2D);
  vramSetBankA(VRAM_A_MAIN_BG);
  vramSetBankB(VRAM_B_MAIN_BG);

  bg3 = bgInit(3, BgType_Bmp16, BgSize_B16_256x256, 8, 0); // 後半128k(16k*8)使用
  dmaCopy(img_bin, bgGetGfxPtr(bg3), img_bin_size); // 適当に画像データ読み込ませる
 
  con = *consoleInit(0, 0, BgType_Text4bpp, BgSize_T_256x256, 31, 0, true);
  consoleSelect(&con);
0756名前は開発中のものです。2009/03/16(月) 16:01:19ID:I+GA/8Ir
MoonShell2 v7だが、Bボタンを押しても上位のフォルダに移動できなくなった。
上位階層のフォルダを選択してAボタンを押しても、ピーと音が鳴るだけ。
どうやってもその階層から外に出られないorz
強制的にルートに戻す裏機能とかない?

0757名前は開発中のものです。2009/03/16(月) 16:08:16ID:qr26iN7J
>>756
それ、俺もなったことがある。原因不明だけどフォルダ名とかに関係するのかな?
ただ、しばらくは普通に動いてて、あるとき急に上のフォルダへ移動できなくなってしまった。
完全なデッドロック状態。moonshelを全部消して入れ直して復帰したけど。
0758Moonlight2009/03/16(月) 18:58:16ID:4ZsOBpZi
外出中なので書けたらいいな
元に戻せない状態になってしまったら、L+R+A+Bボタンを押しながら起動すると、MoonShell2の設定をすべて標準に戻してから起動します。(設定変更部分だけではなく、プレイリストや壁紙、スキンなども標準状態になります)
操作手詰まりになってしまうバグのようなので、できれば原因追求して直したいと思います。
暇で暇で仕方がないとかあったら、気まぐれで一通だけでもいいのでレポートメール頂けたら嬉しいです。それでは。
0759名前は開発中のものです。2009/03/16(月) 19:53:18ID:r6dRqUJi
>>758
私もたまになることがありますので、今度現象が発生したらL+R+A+Bボタンを押しながら起動を試してみますね。
0760名前は開発中のものです。2009/03/17(火) 11:22:17ID:SZwA68ad
>>758
サンクス
07617562009/03/17(火) 12:02:22ID:OkVTHgYh
>>758

L+R+A+Bボタンを押しながら起動で見事階層から脱出成功しました。ありがとうございました。

取りあえず何も環境を変えずにまた使い始めてますが、今のところまだ問題はないです。

0762名前は開発中のものです。2009/03/18(水) 23:24:55ID:tEzRUtGM
NDS雑談242
http://changi.2ch.net/test/read.cgi/download/1237195975/788

788 名前:[名無し]さん(bin+cue).rar[sage] 投稿日:2009/03/18(水) 21:26:36 ID:7bnC9PI80
【NDSのROMやPSPのISOを爆速でダウソする方法】 

1. FocalPriceでアカウントを作りログオンする。
http://Google.zz.tc/FocalPrice

2. Keyword PSP を入れて検索する。

3. 最後から3番目の商品のレビューを見る(状況により順番が変わる可能性あり)

4. KMCのSuper MemberのIDとパスワードをゲット!!

5. KMC(http://www.jpmp3.com)に4.で得たIDでログイン。

6. Super Memberの特権でGame Zone(ゲーム配信) スレへ入ることができる。

7. [NDS] ★★★ NDSロム アップロード専用トピック [NDS Software only] ★★★その2 へGO!

8. DSのROMが腐るほど置いてあるわ。ウマーwww

※ PSPのROMの場合は7.で [PSP] ★★★ PSPロム アップロード専用トピック [PSP Software only] ★★★ その2 へGO!

0763名前は開発中のものです。2009/03/19(木) 17:27:14ID:E81sti42
あぁ春休みだっけ?
0764名前は開発中のものです。2009/03/21(土) 07:11:55ID:eJxS3Zxd
soundPlaySampleでSEを鳴らしているんですけど、

再生終了しているかどうかをチェックできないものですかねぇ・・・
(sound.hを見てもなさそう)
0765名前は開発中のものです。2009/03/22(日) 01:31:10ID:iQYsEZiB
>>764
割り込みハンドラも使わずfifoに投げてるだけだからむりっぽ。
めらまんとこにSEドライバが・・と思ったら未完成だった。
つーわけで自分で書け
0766名前は開発中のものです。2009/03/22(日) 03:54:40ID:Q4FneF3/
>>765
情報ありがとうございます。

なんか調べてもわからないことだらけで、
終了はファイル長から22050Hzで割って推測することにしました。

ただ、新たな問題が・・・・
約300Kbyte以下は再生できるのに、それより長くなると
途中まで(それもほんの最初の50KByteほど)だけしか再生してくれない・・・

soundPlaySample内でどんなことしているか知りたいよ〜
0767名前は開発中のものです。2009/03/22(日) 04:13:21ID:/KXj0OER
>766
libndsはソース公開されてるど。
0768名前は開発中のものです。2009/03/22(日) 06:53:17ID:Q4FneF3/
>>767
マジですか!
探してきます!
0769名前は開発中のものです。2009/03/22(日) 09:50:42ID:w03/KkKP
なんか言ってることぽまえら難しすぎ
いまどきRAMとかSEEKとかアホくさい
BASICみたいな言語無いの?
テキトーにハナクソほじりながらなんか作りたい
0770名前は開発中のものです。2009/03/22(日) 10:30:32ID:AgCN+BDA
おかえりくださいw
■ このスレッドは過去ログ倉庫に格納されています