Статьи - Русифікація РОМів (Базовий РОМ хакінг)
Почнемо із самого початку. І так у цій статті я постараюся пояснити, як можна русифікувати РОМ на прикладі гри Chip And Dale (NES). Що для цього потрібно? Ну, по-перше сам РОМ, програми та багато терпіння.
*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, занесемо його до таблиці:
(Не забудьте поставити прогалину).
Такж нам потрібно дізнатися код перенесення тексту (погляньте в грі де текст переноситься на інший рядок, і дізнайтеся його код. У цьому випадку його код FE, запишемо його таким чином:
Є ще код закінчення тексту. Бажано його обчислити, щоб знати напевно, де закінчується один діалог/репліка і починається новий. Позначається він знаком "/". У нашому випадку його код FF і як ви вже напевно здогадалися, треба записати його так:
Далі потрібно внести до таблиці інші знаки.
Для цього повернемося до Title Layer Pro і знову знайдемо наш шрифт:

Після літери "Z" йде пробіл, крапка, тире і т.д.
Щоб внести їх у табіцю, треба просто продовжити її:
І так далі наших літер, їх ми не вносимо т.к. HEXpose їх просто не побачить, адже він працює в DOS кодуванні, а БЛОКНОТ у Windows. Отже, треба доробити таблицю в кодуванні DOS (я використовував FAR):

Таблиця дороблена та готова до використання.
Перезапустіть HEXpose і натисніть F3 і введіть наше слово “little”.

З'явилися коми та інші знаки, тепер набагато зручніше працювати.
Давайте введемо в текст кілька українських літер :). Для цього просто виберіть будь-яке слово та починайте набирати коди українських літер:

Натисніть на F5 (збереження змін) і відкривайте наш ром в емуляторі, ось що ви повинні побачити:

Якщо хтось ще не зрозумів як саме здійснюється переклад гри, то я поясню. Вся суть у тому, що ви повинні замість англ. слів вводити коди українських букв (ну звичайно за змістом :) а не просто, тому що я :)). Я сподіваюся, що доступно роз'яснив принцип роботи цього всього.