Читать заголовок игры NDS?

Я знаю, что это немного необычно, но я хочу попытаться выяснить, как я могу читать метаданные игры Nintendo DS? Когда на компьютере, у них есть .nds расширение.

Я пытаюсь работать с некоторыми доморощенными играми, которые у меня есть, и я хочу создать библиотеку. C# - это язык, который я бы предпочел использовать.

Я попытался исследовать это в Интернете, и самый близкий вариант, который я нашел, это чтение заголовка файла. Тем не менее, учитывая, что файл игры должен иметь заголовок и изображение, самое близкое, что я нашел, это просто получение части заголовка.

Я знаю, что это можно сделать, потому что есть некоторые программы, написанные на C#, которые сделали это. Так кто-нибудь знает как? Я очень признателен за любую помощь.

1 ответ

Все метаданные (включая заголовок / изображение) хранятся в заголовке ПЗУ, который является первыми 512 байтами .nds файл. Вам придется читать в .nds файл в виде двоичного файла и изучить значения, хранящиеся с определенными смещениями.

Например, 4 байта начинаются со смещения 0x68h содержит 32-битное значение, которое указывает смещение, в котором хранятся данные игры / название игры. Название на английском языке хранится в 256 байтах (закодированных в 16-битном Unicode), найденных в 0x340h От этого 0x68 смещение.

Аналогично, растровое изображение значка (32x32 пикселя) сохраняется в 512 байтах в 0x20h от 0x68h смещение, и палитра растрового изображения хранится в 32 байтах в 0x220h от 0x86 смещение. Значок и его палитра закодированы в стандартной цветовой схеме / палитре GBA (см. Раздел "Цветовой формат" по адресу http://www.cs.rit.edu/~tjh8300/CowBite/CowBiteSpec.htm).

Для получения дополнительной информации о .nds формат заголовка, см. http://nocash.emubase.de/gbatek.htm.

Если вы сомневаетесь, вы можете обратиться к ndstool, которая является удобной утилитой для просмотра данных заголовка nds и извлечения файлов из файловой системы DS. Он с открытым исходным кодом и входит в состав набора инструментов devkitPro, доступного по адресу http://sourceforge.net/projects/devkitpro/.

Другие вопросы по тегам