September 14, 2023

MSU-1 ромхаки — топовый звук для SNES

База

MSU-1 это дополнительный чип для картриджа, который работает подобно SuperFX, SDD-1, CX4 или DSP, позволяющий расширить возможности SNES в области аудио-видео. Но в отличие от перечисленных сопроцессоров это современная разработка, автором указан byuu. По информации из сети, разрабатывался для флешки sd2snes.

С его помощью SNES может воспроизводить видео в 240x160 и аудио 44.1KHz 1 в PCM формате.

Это не вся техническая инфа, подробней можно посмотреть здесь: http://helmet.kafuka.org/msu1.htm

Так что мы от этого можем получить?

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

Например такое

или такое

Где работает?

Работают эти чудеса в эмуляторах или на элитных флеш-картриджах с FXPak (SD2SNES).

Подходят следующие эмуляторы:

  • bsnes
  • bsnes plus
  • Snes9x

Нужны самые свежие версии. Если вы выбираете ядра для retroarch, то те версии, в которых есть года выпуска (например snes9x 2010) обычно не подходят. Я рекомендую snes9x.

Запустить на китайских портативках можно, нужно лишь выбрать подходящий эмулятор / ядро. А ещё разложить все файлики по правильным директориям. Общий принцип должен быть такой же как я описываю здесь, все особенности и нюансы для конкретной приставки нужно гуглить.

Как патчить ромы и что вообще делать?

  1. Ищем патч для интересующей нас игры
  2. Читаем его описание и если требуется, то удаляем заголовок рома специальной программой
  3. Применяем патч и кладём ром файл к заранее скачанному музыкальному паку
  4. Играем

Всё нижеописанное применимо к windows системам, как удалять заголовок ромов в маке я не знаю, возможно есть утилиты. Если вы знаете - пишите.
Пропатчить ром в маке можно через web приложение, смотри далее.

Патчи

Самая большая база патчей и саундпаков здесь:

https://www.zeldix.net/t2684-alphabetical-list-every-snes-msu-1-hack

Я скачал для пробы патч для первой Donkey Kong Country. В зип архиве лежает следующие файлы:

Файл с расширением *.IPS это патч, иногда они могут быть в других форматах, например например *.BPS. Именно его мы должны применить к игре.

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

Проверка файлов

Перед применением патча нужно посмотреть описание, требуется ли удалять заголовок в ром файле. Для выбранного мной DK это нужно. В описании сказано «apply to your non-headered rom»

Это можно сделать помощи утилиты SNESROMUTIL

Нажимаем file - open - выбираем нужный файл. И проверяем, доступна ли кнопка «remove header». Если она неактивна, значит файл не требует никаких дейсвтий и можно применять патч. Если активна, то ставим там галочку и жмём OK.

Пока что все игры которые мне попадались были без заголовка и не требовали никаких лишних действий.

Как применить патч к игре я подробнейшим образом описал здесь:

https://teletype.in/@famicombro/ipspatch

Раскладываем и переименовываем файлы

После того как мы получили пропатченный файл, качаем музкальный пак, обычно они лежат вместе. Вынимаем его из архива и укладываем в отдельную папку. Внутри у нас будет много файлов примерно следующего вида

Для нас важем файл *.msu, в моём случае это dkc_msu.msu, нужно переименовать ром в тоже имя что и этот файл.

У меня получилось dkc_msu.msu и dkc_msu.smc. Теперь запускаем игру (ром в формате *.smc) и всё, наслаждаемся звуком.

Иногда саундтрек запакован в один цельный *.msu1 файл, с ним всё тоже самое.

На этом у меня всё, пробуйте.

Продублирую некоторые ресурсы:

Соцсети:

  • Мой телеграмм канал: https://t.me/dmgdreams
  • Канал нашего кореша Винни: https://t.me/bear_play_on
  • Канал нашего кореша Винни в ВК: https://vk.com/graybear_games

Список всех материалов в телетайпе:

https://teletype.in/@famicombro/index