3

これは少し普通ではないことはわかっていますが、ニンテンドー DS ゲームのメタデータを読み取る方法を試してみたいと思いますか? コンピューター上では、.nds拡張子があります。

私は自分が持っているいくつかの自作ゲームで作業しようとしていますが、ライブラリを作成したいと考えています。C# は、私が使用したい言語です。

インターネットで調査してみましたが、見つけた最も近いオプションはファイルヘッダーを読み取ることです。ただし、ゲーム ファイルにはタイトルと画像が必要であることを考えると、最も近いのはタイトルの一部を取得することです。

C# で書かれたいくつかのプログラムがそれを行っているので、私はこれができることを知っています。それで、誰かが方法を知っていますか?助けていただければ幸いです。

4

1 に答える 1

5

すべてのメタデータ (タイトル/画像を含む) は、ファイルの最初の 512 バイトである ROM ヘッダーに格納され.ndsます。.ndsファイルをバイナリ ファイルとして読み込み、特定のオフセットに格納されている値を調べる必要があります。

たとえば、offset で始まる 4 バイト0x68hには、ゲームのタイトル/アイコン データが格納されるオフセットを指定する 32 ビット値が含まれます。0x340h英語のタイトルは、その0x68オフセットから256 バイト (16 ビット Unicode でエンコード) に格納されます。

同様に、アイコン ビットマップ (32x32 ピクセル) はオフセット0x20hから512 バイトに格納され0x68h、ビットマップのパレットはオフセット0x220hから32 バイトに格納されます0x86。アイコンとそのパレットは、標準の GBA カラー スキーム/パレットにエンコードされています ( http://www.cs.rit.edu/~tjh8300/CowBite/CowBiteSpec.htm#Graphics%20Hardware%20Overviewの「カラー フォーマット」セクションを参照)。

.ndsヘッダー形式の詳細については、 http://nocash.emubase.de/gbatek.htm#dscartridgeheaderを参照してください。

これndstoolは、nds ヘッダー データを表示し、DS ファイル システムからファイルを抽出するための便利なユーティリティです。これはオープンソースであり、http: //sourceforge.net/projects/devkitpro/ で入手可能な devkitPro ツールチェーンの一部として含まれています。

于 2013-03-31T04:29:33.233 に答える