Статьи > Русифицирование РОМов (Базовый РОМ хакинг)
Русифицирование РОМов (Базовый РОМ хакинг)

Начнём с самого начала. И так в этой статье я постараюсь обьяснить как можно русифицировать РОМ на примере игры Chip And Dale (NES).
Что же для этого нужно? Ну, во-первых сам РОМ, программы и много терпения.

Инструменты:

1) Эмулятор игровой консоли.
2) Title Layer Pro (редактор графики). [Скачать]
3) Hexpose (HEX редактор). [Скачать]

Программы (Использование):

*Title Layer Pro:
Эта программа предназначена для редактирования графики в игре (персонажи, шрифты, рисунки и т.д.). Запустим Title Layer Pro и откроем наш РОМ. Появится окошко с рисунками (графика из игры). Нам нужно найти здесь шрифт. Крутите ползунок вниз, пока не увидите вот это:

P.S. Если вы не обнаружили шрифт, то попробуйте сменить формат на 1BPP. Если и после этого вы не обнаружили его, то на переводе этой игры придется поставить крест. Шрифт, вероятно, запакован и тут уже надо будет прибегать к знанием Ассемблера, но это большая морока.

Замете что после английских букв идут японские (или китайские, я не особо понимаю) знаки. В игре они явно не используются, так что я решил заменить их на русские буквы (просто перерисуйте их). Вот так:

P.S. Так же бывает, что все знаки используются, и тут нам приходиться ухищряться, рисовать по верх английских букв (не забывайте использовать одинаковые буквы, например: H, M, P, T, A, C, O, E и т. д. а так же незабывайте сохранять оригинальный ром, чтобы просматривать в нём текст).

В таких случаях у каждого своя тактика.

*HEXpouse:
Эта программа предназначена для редактирования текста в игре (пожалуй, самое сложное :) ).

Запустим программу:

Далее найдём наш РОМ:

(Я переименовал Chip And Dale.nes в CD.nes для удобства).
Откроем РОМ и увидим это:

Так, а теперь я в теории расскажу, что это такое и с чем его едят. Вы видите 3 окошка, первое я не знаю для чего (оно в принципе и ненужно) а вот второе и третье нам очень пригодятся. Во втором окошке, коды шестнадцатеричной системы счисления (в этой системе счисления присутствуют 16 знаков): 00,01,02,03,04,05,06,07,08,09,0A,0B,0C,0D,0E,0F

10,11,12,13…1A,1B,1C и так далее…

Каждая клеточка с рисунком (будь то буква или кусок персонажа) имеет свой номер.

В третьем окне будет отображаться текст.

И так наша задача найти эти буквы и узнать их номера.

Для этого открываем игру и ищем там какой-нибудь текст. Я выбрал слово little:

Далее возвращаемся в HEXpose и жмём на F6, и в открывшемся окне вводим наше слово:

Жмём Enter, и он предлагает создать таблицу:

Смело давите на “Y” :), и вот оно чудо-чудное, диво-дивное:

Драгоценный текст из игры :)))

Давите на F9 (сохранение таблицы) и вводите имя вашей таблице (желательно, чтобы название рома и таблице совпадали, тоесть CD.nes – CD.tbl).

Открывайте таблицу, она лежит в той же папке где и ром:

(Как вы видите, в данной игре используются только маленькие буквы).

P.S. Некоторые игры использую 2 шрифта: Заглавный и не заглавный :). Вычислить коды заглавных букв очень просто. Например: мы видим слово .arry, в игре оно отображается как Harry, тоесть та точка и есть буква H. Посмотрите её код в среднем окошке и допишите коды заглавных букв. Например: C1=H ну и по логике C2=I и т.д.

Нам придется доделать эту таблицу.

Откройте HEXpose, и найдите там место пробела в тексте (т.к. по умолчанию пробела в таблице нет, и в программе он может отображаться точкой, например: hello.garry, где точка является пробелом). В этом случае код пробела A4, занесём его в таблицу:

A4=

(не забудте поставить пробел).

Так же нам нужно узнать код переноса текста (посмотрите в игре где текст переносится на другую строчку, и узнайте его код. В этом случае его код FE, запишем его таким образом:

*=FE

Есть еще код окончания вывода текста. Желательно и его вычислить, чтобы знать наверняка, где заканчивается один диалог/реплика и начинается новый. Обозначается он знаком "/". В нашем случае его код FF и как вы уже наверно догадались надо записать его так:

/=FF

Далее нужно внести в таблицу остальные знаки.

Для этого вернёмся в Title Layer Pro и снова найдём наш шрифт:

После буквы “Z” идёт пробел, точка, тире т.д.

Чтобы внести их в табицу надо просто продолжить её:

A1=x
A2=y
A3=z
A4= (пробел)
A5=.
A6=-
A7==
A8=?
A9=!

И так далее до наших букв, их мы не вносим т.к. HEXpose их просто не увидит, ведь он работает в DOS кодировке, а БЛОКНОТ в Windows. Следовательно, надо доделать таблицу в DOS кодировке (я использовал FAR):

Таблица доделана и готова к использованию.

Перезапустите HEXpose и на этот раз нажмите F3 и введите наше слово “little”.

Появились запятые и прочие знаки, теперь гораздо удобнее работать.

Давайте введём в текст пару русских букв :). Для этого просто выберите любое слово и начинайте набирать коды русских букв:

Жмите на F5 (сохранение изменений) и открывайте наш ром в эмуляторе, вот что вы должны увидеть:

Если кто-то еще не понял как же собственно осуществляется перевод игры, то я объясню. Вся суть в том, что вы должны вместо англ. слов вводить коды русских букв (ну конечно по смыслу :) а не просто, так как я :)). Я надеюсь, что доступно разъяснил принцип работы этого всего.

Автор: limnique
Статьи > Русифицирование РОМов (Базовый РОМ хакинг)
Играем по сети

Kaillera server:
 gs.emu-land.net:27888

Mednafen server:
 gs.emu-land.net:4046

Подробнее...

Случайный скриншот
Champion Boxing

Champion Boxing
Игры Sega Master System

Случайное видео
Вход
Поиск игр
Активные темы на форуме
Франшиза компьютерного клуба - стоимость и подробности. , Виртуальные развлечения для детей
Веб-сайт использует cookie, чтобы обеспечить вам максимальное удобство на нашем веб-сайте. Используя наш сайт, вы соглашаетесь на использование нами файлов cookie. Узнать больше.

Want to switch to English version of the site?