Начнём с самого начала. И так в этой статье я постараюсь обьяснить как можно русифицировать РОМ на примере игры 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 (сохранение изменений) и открывайте наш ром в эмуляторе, вот что вы должны увидеть:
Если кто-то еще не понял как же собственно осуществляется перевод игры, то я объясню. Вся суть в том, что вы должны вместо англ. слов вводить коды русских букв (ну конечно по смыслу :) а не просто, так как я :)). Я надеюсь, что доступно разъяснил принцип работы этого всего.
Champion Boxing
Игры Sega Master System
» Kinbeas vs. Charmy Games 11:49
» Наши домашние животные ;) 11:29
» [NES/SNES/Sega/PCE] Списки пройденных игр и обсуждение 10:46
» Во что поиграть на старом пк? 10:41
» PCSX2: Эмулятор Sony PS2 (продолжение) 10:16
» Клон Сеги 07:42
» Пройденные игры 07:11
» SSD против HDD 04:20
» Редактирование внутриигровых параметров Alien 3 на NES 03:38
» Пройденные игры 03:19
» Двухчастотный осциллятор (DFO) для PS1+xStation 00:26
» [PS1/PS2/3DO/DС/GC/N64/SAT] Списки пройденных игр и обсуждение 23:50
» Эмуляция Nintendo Switch 22:34
» [NES/SMD/SNES] Отзывы и мнения об играх от Petenokor 22:16