NintendoDS(NDS)非公式開発 Part2at GAMEDEVNintendoDS(NDS)非公式開発 Part2 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト167:Moonlight 07/07/20 20:25:55 H4HcI83W 読み返すと日本語が不自由なひとで恥ずかしいです。長文失礼します。 >>148 DLDIからキャパシティを取得するときは、リージョンIDをメインメモリ全域から32bit単位で検索してDLDI本体を探しだし、そこを基点にして0x64バイト目にFEATUREフラグセットが32bit値で入っているので、そこを読み込めばOKです。 リージョンIDは、リトルエンディアンの32bit定数で(0xBF8DA5ED)です。 検索する際、自分自身はスキップしてくださいね。 DLDIパッチファイルから直接取得するなら、ファイル先頭から同じく0x64バイト目になります。 DLDIフォーマットの詳細についてはDLDIテンプレートか、 http://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をコントロールするのとどっちがスマートかは微妙です…。 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch