Можно ли копировать игровые ресурсы из файла.smc?

Можно ли копировать игровые ресурсы из файла.smc? В частности, искусство, музыка, спрайты и т. Д. Как эмулятор копирует систему, которую он эмулирует?

1 ответ

Решение

Это возможно, в том смысле, что информация находится там каким-то образом. Но файл smc - это, по сути, скомпилированная программа со встроенными ресурсами, и даже нет стандартного компилятора или стандартного формата для хранения ресурсов, с которых вы можете начать.

Что касается данных изображения, то есть большая вероятность, что они будут в формате палитры и листов, используемом PPU, хотя также не исключено, что они будут каким-либо образом сжаты. Но палитра, вероятно, будет почти невозможно найти статическим анализом, и карты тайлов, вероятно, генерируются из данных уровня, а не хранятся в явном виде в любом месте. Возможно, вам повезет, запустив его в эмуляторе и извлекая данные из VRAM.

Для музыки ситуация еще более обескураживающая. Аудио SNES больше всего похоже на файл MOD: сэмплы инструментов, а затем отдельные сэмплы корректируются по высоте и микшируются для генерации выходного звука. SNES предоставляет аппаратное обеспечение для декодирования сэмплов инструментов, манипулирования высотой тона и их микширования, но нет высокоуровневой программы (т.е. нет эквивалента мод-файла "tracker") для воспроизведения реальных песен. Таким образом, вы можете найти сэмплы инструментов в кодировке BRR таким же образом, как вы можете найти данные фрагмента изображения, но данные песни могут и будут отформатированы совершенно по-разному в разных играх. Опять же, ваша удача может состоять в извлечении состояния APU в виде файла SPC и работе с ним.

Что касается вашего другого вопроса, см. Как работают эмуляторы и как они написаны? для предыдущего ответа на ту же тему.

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