Список форумов shedevr.org.ru shedevr.org.ru
Группа перевода приставочных игр "ШЕДЕВР"
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 

Перевод GB игр

 
Начать новую тему   Ответить на тему    Список форумов shedevr.org.ru -> Базовый ромхакинг
Предыдущая тема :: Следующая тема  
Автор Сообщение
donuts



Зарегистрирован: 05.12.2003
Сообщения: 57
Откуда: Тверь

СообщениеДобавлено: Пт Дек 05, 2003 8:56 pm    Заголовок сообщения: Перевод GB игр Ответить с цитатой

Люди помогите!
Решил перевести Final Fantasy Adventure на GB.
Вопросы такие:
1) Таблица, которую я создал (именно для англю рома), содержит не только буквы, символы и цифры, но и пары букв...Т.е. некоторые хекс-коды обозначают две буквы! Как спрашивается такое чудо на русский перевести?
2) Вопрос по поинтерам. Чему равен header у GB ромов? Я знаю что на NES'e он равен 10, на SNES'e - 200. Подскажите! А то никак не могу поинтеры найти... Или на GB их нет...???
3) Реально ли этот ром вообще перевести?
Спасибо.
P.S. Тольке не предлагайте ФАКи на Зофаре там вес примеры даются для НЕСа и СНЕСа. А про то, что хекс-код может содержать 2 или 3 буквы, и что с этим делать вообще ничего не сказано(хотя может я не видел просто). Хочеться чтоб все по-русски объяснили Rolling Eyes
Вернуться к началу
Посмотреть профиль Отправить личное сообщение MSN Messenger
Axel
Советник


Зарегистрирован: 14.11.2003
Сообщения: 680

СообщениеДобавлено: Пн Дек 08, 2003 7:30 pm    Заголовок сообщения: Re: Перевод GB игр Ответить с цитатой

donuts писал(а):
Решил перевести Final Fantasy Adventure на GB.

и чего вас сразу на подвиги тянет ? :)

Цитата:
1) Таблица, которую я создал (именно для англю рома), содержит не только буквы, символы и цифры, но и пары букв...Т.е. некоторые хекс-коды обозначают две буквы! Как спрашивается такое чудо на русский перевести?

это значит текст сжат, и тебе нужно прочитать что такое MTE/DTE...

Цитата:
2) Вопрос по поинтерам. Чему равен header у GB ромов? Я знаю что на NES'e он равен 10, на SNES'e - 200. Подскажите! А то никак не могу поинтеры найти... Или на GB их нет...???

размер хедера 192 байта (такой же как у GBA)
только он тебе не поможет ;)

поинтеры для GBC 2х байтовые и лежат либо чуть выше, чибо чуть ниже собственно "текста" ссылаются они на адреса в пределах
16k блоков (а может 32k, АнС поправь если я не прав...)
которые называют "банками", соответсвенно двигать их
можно тоже только в этих пределах...

увидеть границы банка довольно легко - разглядывая ром
в чем нибудь типа TileMolester'a будет видно, что Ром "полосатый"
т.е. там будут видны черные зоны...это и есть границы банков...


Цитата:
3) Реально ли этот ром вообще перевести?

если ты еще не переводил ни одной игрушки, я бы не советовал начинать именно с такой...


...хотя нереального ничего нет... но нужно оооочень хотеть
и быть готовым потратить на этот перевод месяцев 6... Wink
(понимая, что игры для GBA переводятся ЛЕГЧЕ при условии, что это не Golden Sun и не FFTA... Wink )
_________________
Всех их вместе переведём!
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
donuts



Зарегистрирован: 05.12.2003
Сообщения: 57
Откуда: Тверь

СообщениеДобавлено: Пн Дек 08, 2003 10:52 pm    Заголовок сообщения: Ответить с цитатой

1) А почему 6 месяцев... текст я весь выдрал, перевел его уже почти!
2) Да и где почитать про MTE\DTE, чтоб все хорошо было написано...
3) Дык, что получается, что изменить длину строки я не смогу???
Еще раз Тхэнкс.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение MSN Messenger
Axel
Советник


Зарегистрирован: 14.11.2003
Сообщения: 680

СообщениеДобавлено: Вт Дек 09, 2003 9:16 am    Заголовок сообщения: Ответить с цитатой

donuts писал(а):
1) А почему 6 месяцев... текст я весь выдрал, перевел его уже почти!

ну, может я и погорячился (на почве предыдущей дискуссии)

Цитата:
2) Да и где почитать про MTE\DTE, чтоб все хорошо было написано...

с этим сложнее Sad
для начала попробуй почитать в хелпе для Translhextion,
там довольно сносно...(в разделе о таблицах)

Цитата:
3) Дык, что получается, что изменить длину строки я не смогу???

не то, чтобы совсем не можешь, но это сильно зависит от разработчиков игры...

вобщем, я посоветовал бы, не кидаться на амбразуру (переводить весь текст), а перевести 2-3 предложения и подвигать их туда-сюда...
_________________
Всех их вместе переведём!
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
АнС
RRC2008
RRC2008


Зарегистрирован: 08.11.2003
Сообщения: 2818

СообщениеДобавлено: Вт Дек 09, 2003 4:28 pm    Заголовок сообщения: Ответить с цитатой

Цитата:
ссылаются они на адреса в пределах
16k блоков (а может 32k, АнС поправь если я не прав...)


64K

Цитата:
текст я весь выдрал, перевел его уже почти!


представляю я...

Цитата:
игры для GBA переводятся ЛЕГЧЕ


Да, но только потому, что есть такие мощные эмуляторы, как VBA.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Axel
Советник


Зарегистрирован: 14.11.2003
Сообщения: 680

СообщениеДобавлено: Вт Дек 09, 2003 4:45 pm    Заголовок сообщения: Ответить с цитатой

АнС писал(а):
64K

ты уверен ?.... вроде получается, что банки по 16kb

Код:
GB Memory Map
--------------------------- FFFF  | 32kB ROMs are non-switchable and occupy
 I/O ports + internal RAM         | 0000-7FFF are. Bigger ROMs use one of two
--------------------------- FF00  | different bank switches. The type of a
 Internal RAM                     | bank switch can be determined from the
--------------------------- C000  | internal info area located at 0100-014F
 8kB switchable RAM bank          | in each cartridge.
--------------------------- A000  |
 16kB VRAM                        | MBC1 (Memory Bank Controller 1):
--------------------------- 8000  | Writing a value into 2000-3FFF area will
 16kB switchable ROM bank         | select an appropriate ROM bank at
--------------------------- 4000  | 4000-7FFF. Writing a value into 4000-5FFF
 16kB ROM bank #0                 | area will select an appropriate RAM bank
--------------------------- 0000  | at A000-C000.
                                  |
                                  | MBC2 (Memory Bank Controller 2):
                                  | Writing a value into 2100-21FF area will
                                  | select an appropriate ROM bank at
                                  | 4000-7FFF. RAM switching is not provided.


Цитата:
Да, но только потому, что есть такие мощные эмуляторы, как VBA.

нет, потому что там проще поинтеры искать Wink
_________________
Всех их вместе переведём!
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
АнС
RRC2008
RRC2008


Зарегистрирован: 08.11.2003
Сообщения: 2818

СообщениеДобавлено: Вт Дек 09, 2003 4:54 pm    Заголовок сообщения: Ответить с цитатой

Цитата:
ссылаются они на адреса в пределах 16k


2 байта адресуют смещение от 0 до 65535.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
АнС
RRC2008
RRC2008


Зарегистрирован: 08.11.2003
Сообщения: 2818

СообщениеДобавлено: Вт Дек 09, 2003 4:58 pm    Заголовок сообщения: Ответить с цитатой

Цитата:
нет, потому что там проще поинтеры искать


Нееет! Razz Поинтеры везде легко искать, а вот карту тайлов, палитру и сжатую графику гораздо легче ломать с таким инструментом.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Fish



Зарегистрирован: 15.11.2003
Сообщения: 425
Откуда: издалека...

СообщениеДобавлено: Вт Дек 09, 2003 5:43 pm    Заголовок сообщения: Ответить с цитатой

АнС писал(а):
Цитата:
ссылаются они на адреса в пределах 16k

2 байта адресуют смещение от 0 до 65535.
Это факт, но доступно может быть только окно какого-то размера (например - 16кб, как на Спектруме(?)). Такие ограничения имеют место быть у GB?
АнС писал(а):
Цитата:
игры для GBA переводятся ЛЕГЧЕ

Да, но только потому, что есть такие мощные эмуляторы, как VBA.
Это тоже факт. Smile Жаль, что г-да программеры чаще всего 'забывают' встроить в эмулятор отладчик...
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
donuts



Зарегистрирован: 05.12.2003
Сообщения: 57
Откуда: Тверь

СообщениеДобавлено: Вт Дек 09, 2003 11:59 pm    Заголовок сообщения: Ответить с цитатой

Так люди, я совсем ламак в этом деле...
Так сколько байт нужно отнимать от адреса конкретной чтобы найти поинтер для этой конкретной строки..
Помогите, мне очень хочется перевести.
Я начал дело...не могу бросить на середине...
Вернуться к началу
Посмотреть профиль Отправить личное сообщение MSN Messenger
Axel
Советник


Зарегистрирован: 14.11.2003
Сообщения: 680

СообщениеДобавлено: Ср Дек 10, 2003 9:45 am    Заголовок сообщения: Ответить с цитатой

donuts писал(а):
Так сколько байт нужно отнимать от адреса, чтобы найти поинтер для этой конкретной строки...

я испытаний не проводил, но видимо алгоритм такой:
1. режешь РОМ на кусочки по 16k (нумеруя имена файлов...)
2. с каждым "кусочком" обращаешся как с ROMом, в нем
поинтеры по идее указывают на смещение относительно начала файла
(считая с нуля Smile )...

то есть, если у тебя есть файл в котором "строка" начинается
с адреса 03E8h, то вероятно поинтер выглядит как два байта E803h
или 03E8h... соответственно если ты двигаешь такую строку "назад"
на 10 байт то поинтер станет F203 (или наоборот, не помню я как у GB
дела с индианностью Smile (big endian или little endian))

...после этого склеиваешь все кусочки обратно и пробуешь получилось или нет Wink
_________________
Всех их вместе переведём!
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов shedevr.org.ru -> Базовый ромхакинг Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001, 2005 phpBB Group