Самостоятельная русификация Etrex Vista C (он же Legend C)
Правила форума
Для предотврашения спама первые сообщения вновь зарегистрированных пользователей проходят ручную премодерацию.
Для предотврашения спама первые сообщения вновь зарегистрированных пользователей проходят ручную премодерацию.
-
- Сообщения: 347
- Зарегистрирован: 12 май 2012, 02:50
Re: Таблица смещений есть
По крайней мере в черно-белых приборах в _прошивке_ таблицы смещений нет. У них таблица смещений формируется в ОЗУ в процессе инициализации на основании массива строк языка.
|
||
Re: Таблица смещений есть
ок, устрою эксперимент, как писал выше, и станет ясно, есть таблица или нет
Re: Таблица смещений есть
ну что я могу сказать, четыре строки укоротил на 4 байта и соответственно 4 строки удлинил на 4 байта - прикола в работе прибора не заметил, пока склоняюсь к тому, что таблицы смещений все же нет
Re: Таблица смещений есть
Теперь сместил все строки на 4 байта - получил рваные строки... Остается два варианта - либо все же таблица есть, либо некоторые строки проверяются по длине и из-за этого начинает рвать их.
Но скорее все же, как это не прискорбно, первый вариант :(
Но скорее все же, как это не прискорбно, первый вариант :(
Re: Таблица смещений есть
Насчет таблицы смещений кто-то что-то подскажет? Или это коммерческая тайна?
И смещения для разных языков разные оказались... Короче я в тупике :(
Остается только вариант урезки русского перевода до необходимой длины и вставка его только вместо английского :(
И смещения для разных языков разные оказались... Короче я в тупике :(
Остается только вариант урезки русского перевода до необходимой длины и вставка его только вместо английского :(
|
||
-
- Сообщения: 347
- Зарегистрирован: 12 май 2012, 02:50
Re: Таблица смещений есть
Да, похоже что есть таблица смещений.
Пока самые предварительные результаты "исследования", возможно что не совсем так. Прошивка (второй регион из файла 031501000270.rgn) скорее всего располагается с адреса 0x04010000 (имеется в виду адресное пространство процессора). Таблица структур языков находится по адресу 0x042195b8. Представляет из себя:
struct
{
uint16_t unknown; // здесь я только нули видел
uint16_t codepage; // кодовая страница языка, в данном случае для всех 1252 (0x4e4)
char **ptr; // указатель на таблицу указателей на строки. Это для vista C, в других приборах у этого указателя немного другой смысл.
} lang_tab[17];
Таблица указателей на строки начинается с адреса 0x041f35a0. Собственно эти указатели уже и указывают на сами строки. Да, в несколькобайтовых типах мл. байт идет по младшему адресу (есть исключение для double в ч/б приборах, но это уже другая тема).
И вообще, настоятельно рекомендую разжиться дизассемблером (IDA, например) и разобраться с архитектурой ARM7.
Пока самые предварительные результаты "исследования", возможно что не совсем так. Прошивка (второй регион из файла 031501000270.rgn) скорее всего располагается с адреса 0x04010000 (имеется в виду адресное пространство процессора). Таблица структур языков находится по адресу 0x042195b8. Представляет из себя:
struct
{
uint16_t unknown; // здесь я только нули видел
uint16_t codepage; // кодовая страница языка, в данном случае для всех 1252 (0x4e4)
char **ptr; // указатель на таблицу указателей на строки. Это для vista C, в других приборах у этого указателя немного другой смысл.
} lang_tab[17];
Таблица указателей на строки начинается с адреса 0x041f35a0. Собственно эти указатели уже и указывают на сами строки. Да, в несколькобайтовых типах мл. байт идет по младшему адресу (есть исключение для double в ч/б приборах, но это уже другая тема).
И вообще, настоятельно рекомендую разжиться дизассемблером (IDA, например) и разобраться с архитектурой ARM7.
Re: Самостоятельная русификация Etrex Vista C (он же Legend C)
Всем огромное спасибо за помощь!!! Все работает, устраняю теперь нюансы перевода. А таблица смещений все же есть :)
Re: Самостоятельная русификация Etrex Vista C (он же Legend C)
А ты переводил меню сам или была основа? У тебя, случайно нет старой русской прошивки? Мне нужно было отображение кириллицы в приборе, я повозился и получилось, русские символы на карте отображаются, правда, файлы шрифтов не совсем соответствуют. Не знаю, может прибор и заглючит, но пока все нормально.
Re: Самостоятельная русификация Etrex Vista C (он же Legend C)
я брал за основу файлик с переводом с e-trex.info
Re: Самостоятельная русификация Etrex Vista C (он же Legend C)
Вот же ж человек устроен, все ему мало... Теперь мне стало не хватать русского поиска... Понимаю, что это гораздо сложнее, чем сделанная русификация :) Возникает вопрос, кто-то (не из официалов) смог довести до ума это дело? Читал уже не раз о проблеме с буквой "Ч", например...
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 72 гостя