Можно ли копировать игровые ресурсы из файла .smc? - PullRequest
11 голосов
/ 02 июля 2011

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

1 Ответ

12 голосов
/ 10 июля 2011

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

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

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

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

...