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

Начнём с самого начала. И так в этой статье я постараюсь обьяснить как можно русифицировать РОМ на примере игры 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

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

Случайный скриншот
Freedom Fighter (1988)(The Power House)

Freedom Fighter (1988)(The Power House)
Игры ZX Spectrum

Случайное видео
Вход
Поиск игр
Активные темы на форуме
Мебель из массива мебельная фабрика верба мебель. , Покраска, кастомизация PlayStation, Xbox, Компьютер, PC и геймпад в студии дизайна, LiviToys , panatta официальный сайт , Новости спорта главные спортивные события и Новости
Веб-сайт использует cookie, чтобы обеспечить вам максимальное удобство на нашем веб-сайте. Используя наш сайт, вы соглашаетесь на использование нами файлов cookie. Узнать больше.

Want to switch to English version of the site?