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


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

NintendoDS(NDS)非公式開発 Part2



167 名前:Moonlight mailto:sage [2007/07/20(金) 20:25:55 ID:H4HcI83W]
読み返すと日本語が不自由なひとで恥ずかしいです。長文失礼します。

>>148

DLDIからキャパシティを取得するときは、リージョンIDをメインメモリ全域から32bit単位で検索してDLDI本体を探しだし、そこを基点にして0x64バイト目にFEATUREフラグセットが32bit値で入っているので、そこを読み込めばOKです。
リージョンIDは、リトルエンディアンの32bit定数で(0xBF8DA5ED)です。
検索する際、自分自身はスキップしてくださいね。
DLDIパッチファイルから直接取得するなら、ファイル先頭から同じく0x64バイト目になります。
DLDIフォーマットの詳細についてはDLDIテンプレートか、
chishm.drunkencoders.com/DLDI/
の'Default (No device)'辺りのソースの'/specs/dldi_crt0.s'か、'/source/default.s'を見てみてください。

一応フラグの意味だけ抜き出すと、
#define FEATURE_MEDIUM_CANREAD (0x00000001)
#define FEATURE_MEDIUM_CANWRITE (0x00000002)
#define FEATURE_SLOT_GBA (0x00000010)
#define FEATURE_SLOT_NDS (0x00000020)
こんな感じになっています。

とりあえず、バイナリエディタで開いてみて0x64バイト目を見たら概要が掴めるかもです。
ちなみに、オフセット0x60から32bit値がデバイスID(MPCFとかM3CFとか)になります。
libfatを書き換えて細かくDLDIをコントロールするのとどっちがスマートかは微妙です…。







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

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

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