GUYVERperevod - перевод приставочных игр на русский язык

GUYVERGUYVERperevod

"ПЕРЕВОД ПРИСТАВОЧНЫХ ИГР НА РУССКИЙ ЯЗЫК" 
 НАВИГАЦИЯ >>
ГЛАВНАЯ ПЕРЕВОДЫ ПРОЕКТЫ ПРОГРАММЫ F.A.Q.
ПРОХОЖДЕНИЯ РАЗНОЕ ФОРУМ ГОСТЕВАЯ ССЫЛКИ
ПОИСК
Для поиска по сайту введите информацию в текстовое поле, затем нажмите на кнопку "поиск"
N.E.S.
История приставки
Nintendo Entertainment System (NES) начала свою славную историю в августе 1985 года на территории США, то есть практически на два года позже своего японского аналога - Famicom.
Превосходная для того времени графика, 5 канальный звук и огромное количество игр-шедевров создали такую атмосферу вокруг консоли, что приставка выпускается до сих пор, не смотря на официальное (?) прекращение выпуска NES в 1995 году!
Характеристики
Ядро NES - 8-битный процессор NMOS 6502, работает на частоте 1.7734 МГц, что в сочетании с двумя Килобайтами видео памяти позволяло консоли поддерживать разрешение экрана 256 x 240 с 16-тью цветами на экране из 52 возможных.
Встроенный звук был 5-ти канальным. NES комплектовалась 2-мя джойстиками, но при желании к приставке можно было легко подключать самое разное оборудование, разработанное для Nintendo. Носителями информации служили картриджи и дискеты (Famicom).
Аксессуары NES
Для NES было создано большое количество специальных игровых устройств. Среди них: Power Pad - коврик с сенсорными кнопками, на которые нужно было наступать, таким образом осуществляя управление игрой; Uforce - сенсорный контроллер, который фиксировал движения руки игрока над своей поверхностью; Power Glove - перчатку, представляющую собой гибрид джойстика и перчатки; а так же легендарный робот Robotic Operating Buddy (R.O.B.), для которого выпустили всего 2 игры.
СИНЕГОРЬЕ // 2010 г.
Редактирование звуков и музыки в NES играх!


joystick NES————————————————NES————————————————joystick NES


Вспомните, Рано или поздно у каждого из тех людей, которые переводят (или пытаются переводить) Rom'ы возникает вопрос: А можно ли изменить в игре звуки и музыку? И им как правило отвечают следующее: нужно разобраться в формате хранения музыки. Дизассемблер и дебаггер в руки, и вперёд! При ужасном слове "Ассемблер" у большинства вопрошающих опускаются руки, а зря!!! Знание ассемблера это конечно хорошо, но что делать тем, кто его не знает? Учить? Нет уж, дудки! Учиться некоторым ещё в школе надоело так, что выучить хоть что-то новое они не в состоянии (как я например) ;о) Поэтому нужно запастись терпением и кое-какими инструментами...

 

Итак, нам понадобятся: Rom, который мы будем ломать (не забудьте сделать его резервную копию), любой хекс редактор (я использую Translhextion) и Корруптирующая Экспертная Система ПОГАНКА (эту программу можно скачать на сайте группы MagicTeam). Неплохо бы ещё иметь под рукой какую-нибудь музыкальную программу (например Guitar Pro) для того, чтобы сначала сочинить в ней вашу новую мелодию, а уже потом перенести её в Rom.

 

Как в Rom'е хранится музыка? В каждом роме по-разному, так что универсального способа изменения музыки нет! Но всё-таки в большинстве игр алгоритм примерно следующий: в каждом Rom'е есть свой "плеер", есть блок инструментов в котором по-порядку идут все используемые в игре звуки, есть наконец сами блоки с музыкой, данные из которых и берёт "плеер" при проигрывании той или иной мелодии. Причём данные эти могут иметь в каждой игре свой вид. Так же нужно помнить и о том, что у мелодии может быть вступление, куплет, припев, окончание - поэтому где-то в Rom'е должны быть указатели на разные места в блоке с музыкой. Тут всё очень похоже на обычный текст в игре, с поинтерами на начало каждой фразы.

 

С чего нужно начинать? Допустим вы хотите изменить музыку в игре. Для начала нужно найти те самые блоки с музыкой, данные из которых и берёт "плеер" при проигрывании мелодии. В нелёгком поиске нам поможет программа ПОГАНКА, которую разработал Virtual Killer. В качестве подопытного кролика будем использовать игру Lode Runner, так как она довольно мало весит и поиск не отнимет у нас очень много времени.

 

Начнём. Откроем программой Rom Lode Runner. Найдём место в игре, где лежит музыка из начального экрана игры. ПОГАНКА использует для удобства две системы счисления - десятичную (Decimal) и шестнадцетиричную (HexaDecimal). Я работаю с десятичной ситемой, так как она мне более понятна. Программой мы будем "поганить" Rom и после этого смотреть - не изменилась ли музыка, если она изменилась - то мы нашли место, где лежат "музыкальные" данные, если не изменилась - будем продолжать поганить Rom дальше. Даже самая маленькая мелодия в любой игре занимает, как правило, больше чем 40 подряд идущих символов, так что я обычно поганю от 10 до 15 символов (если поганить например больше символов, то существует опасность того, что кроме данных с музыкой будут испорчены и другие данные и игра просто зависнет). Забиваем Rom либо случайными байтами (вместо музыки будет беспорядочный набор звуков), либо увеличенными/уменьшенными на определённой число (в этом случае музыка просто транспонируется вверх/вниз по октаве на это число или опять же будет представлять из себя беспорядочный набор звуков).

 

КС Поганка

 

Вот такими нехитрыми манипуляциями и прогоняем весь Rom: сначала поганим его с 00 по 15 и смотрим что вышло - как и следовало ожидать ром виснет, так как блоки с музыкой не располагаются в самом начале Rom'a, потом поганим Rom с 15 до 30, потом с 30 до 45 и так далее, пока не найдём место, где лежит необходимая нам мелодия. Рано или поздно мы находим мелодию - её начало располагается по адресу Decimal 8917. Переводим это число в шестнадцетиричную систему счисления - получаем HexaDecimal 22D5. Ура! Теперь открываем Rom в хекс-редакторе и смотрим, что представляют собой блоки с музыкой:

 

Мелодия на начальном экране игры

 

Мы видим, что в наборе знаков есть некая закономерность, одни знаки могут повторяться чаще, чем другие, или стоять в строго определённых местах. Но сначала просто берём и заменяем символы в Rom'e (начиная с 22D5) на другие и смотрим что получается. Пытаемся вычислить алгоритм - какому символу какая нота соответствует. Путём нехитрых манипуляций и логического мышления мы можем понять, что символ 00 обозначает окончание очередного музыкального фрагмента (если в середине мелодии поставить 00, то она на этом месте и оборвётся), символ 81 обозначает отсутствие звука, а остальные символы - это те или иные ноты в гамме. Причём запись нужно вести так, чтобы между нотами обязательно были знаки 81, иначе ноты не будут "обрываться" и никакой музыки у вас не получится. Через каждые два знака должен стоять как минимум один знак 81, что можно заметить при просмотре Rom'а в хекс-редакторе. Что ещё можно заметить? Если знаки стоят рядом, то в мелодии они играются одновременно, например в начале мелодии: 81 81 20 81 81 81 81 37 34 81 81 знаки 37 и 34 будут играться одновременно... Как вы могли заметить - длительности нот (шестнадцатая, восьмая, четвертная, половинная, целая) задаются с помощью знака отсутствия звука, например в записи: 20 81 81 21 81 81 22 81 81 81 81 81 23 81 81 81 81 81 81 81 81 24 ... знаки 20 и 21 будут восьмыми, знак 22 - четвертной, знак 23 - половинный и т.д.

 

Забиваем мелодию

 

Следующий шаг - забиваем по-немногу всю мелодию в игре знаками 81 и таким образом чётко устанавливаем где она начинается, и где заканчивается. После того, как вся мелодия забита этими знаками, необходимо по-порядку забить в мелодию все знаки, начиная с 01 и заканчивая FF, чтобы составить соответствие каждого знака определённой ноте в гамме.

 

Ищем соответствие символов и звуков

 

В составлении схемы соответствия нам может помочь только музыкальный слух (надеюсь он у вас есть?). Ещё при воспроизведении Rom'а в эмуляторе желательно замедлить скорость игры, для того чтобы успевать заметить - какой знак какой ноте соответствует. Для удобства я составляю подобную схему:

 

Схема соответствия символов нотам

 

Как видно из схемы - не все знаки используются в гамме, например нота ля диез имеет код 2F, а нота си код 34, а не 30 как можно было бы ожидать... Встречаются и другие исключения - у многих разных знаков может быть одно и то же звучание и т.д. Таким образом я составляю схему на все используемые ноты в игре.

 

Теперь осталось написать в какой-нибудь музыкальной программе свою мелодию, перевести её в шестнадцетиричный код и вставить в игру. При этом вы можете столкнуться с некоторыми трудностями - сочиняя новую мелодию необходимо помнить о том, что она должна быть не длиннее оригинальной мелодии. Так же не забывайте о том, что оригинальная мелодия - это не один непрерывный блок с данными. Это несколько блоков, каждый из которых может повторяться в определённое время определённое количество раз, т.е. где-то в Rom'е находятся указатели на то, какой фрагмент из блока с данными будет проигран, сколько раз он будет повторяться, какой фрагмент с данными будет играть после него и т.д. В соответствии с этими указателями вы и должны составить новую мелодию, а если вы хотите поменять указатели - нужно искать их так же, как и поинтеры на фразы из игр. Правила тут будут одинаковые...

 

Для пробы изменим музыку на титульном экране игры: напишем коротенькую мелодию из игры Марио, она будет выглядеть так:

 

Мелодия из серии игр Марио

 

После того, как мы вставим её в Rom, она будет выглядеть следующим образом:

 

Изменённая мелодия

 

Таким способом находятся и заменяются все мелодии в игре. Это конечно дело не двух часов - чтобы получились качественные мелодии нужно потратить не один день, если процесс поиска всех мелодий может занять у вас весь день, то при их изменении, записи сначала в нотах, а потом в шестнадцетиричном коде, дело одним днём может и не ограничиться. Самые продвинутые могут написать специальные программы для облегчения процесса редактирования мелодий для конкретной игры. Вот такие у нас пироги. Для того, чтобы убедиться в том, что всё написанное мной верно - вы можете скачать игру, в которой я изменил оригинальную музыку на свою, получилось это вроде даже и не очень плохо... ;о) Удачи!

Скачать игру:


 Скачать ром Mario Runner  размер zip архива 16.133 кБ


Внимание! Данный ром уже переведён на русский язык и не требует патча. Для того, чтобы поиграть в эту игру, вам понадобится эмулятор NES. Например VirtuaNES, который можно скачать по следующей ссылке: VirtuaNES


joystick NES————————————————NES————————————————joystick NES

Телефон: +79140372151
 

Hosted by uCoz