Локализация текста Pioneer Carrozzeria AVIC-ZH0009cs (HDD)

Раздел форума посвященный Локализации (русификации), а так же переводу на другие языки.
Аватара пользователя
pppoe1
Сообщения: 210
Зарегистрирован: 04 дек 2017, 13:20
Откуда: Vladivostok

Локализация текста Pioneer Carrozzeria AVIC-ZH0009cs (HDD)

Сообщение pppoe1 »

ank0l0g писал(а):
15 май 2020, 16:14
перевели initDB.dat с помощью translate.c
Да, большинство фраз стандартные, плюс там добавлены фразы для MRZ и VH/ZH.
ank0l0g писал(а):
15 май 2020, 16:14
А как собирали прошивку
С помощью BinMody заменил исправленный initDB.dat, дополнительно сжал ещё один файл, так как места для initDB.dat не хватало.
С помощью правленного makever.c создал конечные файлы для прошивки.
ank0l0g
Сообщения: 55
Зарегистрирован: 13 апр 2020, 12:44

Локализация текста Pioneer Carrozzeria AVIC-ZH0009cs (HDD)

Сообщение ank0l0g »

pppoe1 писал(а):
14 май 2020, 16:45
Вторая попытка, сделал для PS120
TESTMODE.KEY.zip
Ключ не подошел.
ank0l0g
Сообщения: 55
Зарегистрирован: 13 апр 2020, 12:44

Локализация текста Pioneer Carrozzeria AVIC-ZH0009cs (HDD)

Сообщение ank0l0g »

pppoe1 писал(а):
16 май 2020, 00:13
С помощью BinMody заменил исправленный initDB.dat, дополнительно сжал ещё один файл, так как места для initDB.dat не хватало.
С помощью правленного makever.c создал конечные файлы для прошивки.
Возникли вопросы.
Подытожу что же надо сделать для перевода с JN на EN язык. Собрано из форумов.


Шаг 1: Нужно слить вашу текущую прошивку с аппарата.
Как это сделать я описал тут: http://avic411.com/ind…Comment&comment=350259

В результате у вас будет набор каталогов/файлов, нас интересует файл: NAVIVUP\AVICRZ09\PLATFORM\PS140PLT.PRG

Шаг 2: Разбираем файл PS140PLT.PRG.
Сначала надо отрезать от него заголовок длиной 0x200.
Я использовал для этого тулу https://sourceforge.ne…iles/1-swissfileknife/
Команда:
sfk195x64.exe partcopy PS140PLT.PRG -allfrom 0x200 output.nb0 -yes

Далее надо распаковать наш полученный файл прошивки .NB0.
Делается это с помощью тулзы dumpromx.exe, она относительно легко ищется на просторах сайта avic411.
Команда:
mkdir DUMP
dumpromx.exe -d DUMP -v -5 output.nb0 >output.txt

Там внутри много интересного, но нас интересует файл initDB.dat.

Шаг 2.1
copy DUMP/initDB.dat initDB.dat

Шаг 3. Патчим файл initDB.dat
Для этого нужно скачать исходник translate.c, подправить адреса начала и длины блока данных (их можно найти в заголовке initDB.dat):
const long OFFSET = 0x18C8D0L;
const long BLOCK_LEN = 0xAF00BL;

translate.exe
Ну и потом собрать из translate.c exe-шник и запустить в каталоге, где его уже ждут файлы initDB.dat и translation.txt.
На выходе получим исправленный файл initDB_out.dat, который нам понадобится для новой прошивки.

Шаг 3.2
Заменяем initDB.dat внутри прошивки:
copy /Y initDB_out.dat initDB.dat
dumpromx.exe -a initDB.dat output.nb0

Шаг 4. Собираем обновленную прошивку.
Берем и собираем исходник makever.c, при необходимости правим версию сборки (моя FW была 1.04, и я не стал менять версию):
h.version = 0x01004000;

Далее выполняем командочки:
del /Q fw_104.nb0
ren initDB.dat.nb fw_104.nb0
makever.exe
mkdir NAVIVUP\AVICRZ09\PLATFORM
copy /Y PS140PLT.PRG NAVIVUP\AVICRZ09\PLATFORM\PS140PLT.PRG
copy /Y PS140PLT.VER NAVIVUP\AVICRZ09\PS140PLT.VER

Получаем на выходе 2 файла:
PS140PLT.PRG - новая прошивка платформы
PS140PLT.VER - VER-файл для прошивки платформы

И получаем готовую папку NAVIVUP и структурой, которую можно залить на SD-карту и пробовать шить нашего пионера.

Шаг 5. Собственно зашиваем обновленную прошивку в аппарат.
Делается это через TESTMODE, там пункт меню "Program forced write", и далее - "Platform update", в качестве источника - SD.
В этом случае у вас на Internal SD останется оригинальная прошивка, которую можно при необходимости вернуть назад и получить оригинальный аппарат.
Ну либо прошить той прошивкой, которая была слита на 1м шаге.


Но возникает проблема на этапе "Шаг 3.2"
Взял файл translation.txt от shtirlitz838
Удалил из него все кроме первой строки в initDB.dat
00000014 サウンドセッティング Sound Sett
Скомпилил translation.c
Запустил. Вижу работу:

d:\Docs\Honda\Магнитола\new2>translate.exe
Processed input strings = 1
Good strings = 1
Bad strings (len > 1024) = 0
Processed strings in data file = 11031
Found strings in data file = 1

Проверил в WinHex файл initDB.dat. Увидел изменения сделанные translate.exe
Далее:
copy /Y initDB_out.dat initDB.dat
Затем:
dumpromx.exe -a initDB.dat output.nb0
и и получаем:
d:\>dumpromx.exe -a initDB.dat output.nb0
img 00000000 : hdr=8bb860fc base=884a1000 commandlineoffset=884a1000
ERROR: could not find pointer for ofs 00000000
ERROR: could not find pointer for ofs 8bb88334
No space to add all files

884a1000 - 884a1000 L00000000 rom_00 start
884a1000 - 884a1010 L00000010 unknown 00090009 0009d001 0009402b 884a7750
884a1010 - 884a1040 L00000030 NUL
884a1040 - 884a1048 L00000008 'ECEC' -> 8bb860fc
884a1048 - 8bb86088 L036e5040 unknown
8bb86088 - 8bb860fc L00000074 NUL
8bb860fc - 8bb86150 L00000054 rom_00 header: dlls=4001c001-4155c0e0 phys=884a1000-8bb88334, 237 modules, 39 files, 2 copyentries ext=884a2220 ram=8bb89000-8e8a1000 cputype=000001a6
8bb86150 - 8bb88334 L000021e4 unknown
8bb88334 - 8bb88334 L00000000 rom_00 end

Читаем в carrozzeria avic-mrz009 - Обсуждение (Пост shtirlitz838 #90373117)
Что якобы нет места в прошивке.
Смотрю winhex'ом initDB.dat и initDB_out.dat
У первого размер 1709548 байт у второго(измененного) 1709537. Т.е. второй меньше по длине чем первый. И проблем с местом в прошивке не должно быть.

Что делаю не так?
Может какой шаг пропустил или команды не те ввожу.
Аватара пользователя
pppoe1
Сообщения: 210
Зарегистрирован: 04 дек 2017, 13:20
Откуда: Vladivostok

Локализация текста Pioneer Carrozzeria AVIC-ZH0009cs (HDD)

Сообщение pppoe1 »

ank0l0g писал(а):
16 май 2020, 13:20
No space to add all files
Нет места для добавления всех файлов

Когда dumpromx.exe добавляет файл initDB.dat в прошивку output.nb0 - он (dumpromx.exe) сжимает файл initDB.dat, так как в прошивке initDB.dat лежит сжатый! Ваш новый файл initDB.dat после сжатия программой dumpromx.exe больше чем под него выделено места в прошивке output.nb0.
pppoe1 писал(а):
14 май 2020, 12:10
Решение от shtirlitz838 здесь:
https://4pda.ru/forum/index.php?showtop ... p=93951187
Что бы подправить эти циферки:
ank0l0g писал(а):
16 май 2020, 13:20
const long OFFSET = 0x18C8D0L;
const long BLOCK_LEN = 0xAF00BL;
их нужно вот так посчитать.

В 4 пункте
ank0l0g писал(а):
16 май 2020, 13:20
h.version = 0x01004000
это ещё тот квест. я поменял все несоответствующие циферки в получившейся новой прошивке корректируя makever.c и проверяя в WinHex (сравнивал новую и оригинальную прошивки), дабы случайно не получить кирпич.

И все таки, как рекомендует bellic, лучше использовать BinMody.
Аватара пользователя
pppoe1
Сообщения: 210
Зарегистрирован: 04 дек 2017, 13:20
Откуда: Vladivostok

Локализация текста Pioneer Carrozzeria AVIC-ZH0009cs (HDD)

Сообщение pppoe1 »

ank0l0g писал(а):
16 май 2020, 07:32
Ключ не подошел.
Неожиданно, подумаю как ещё можно его написать.
ank0l0g
Сообщения: 55
Зарегистрирован: 13 апр 2020, 12:44

Локализация текста Pioneer Carrozzeria AVIC-ZH0009cs (HDD)

Сообщение ank0l0g »

pppoe1 писал(а):
15 май 2020, 11:35
Скину в воскресенье, сейчас к ним нет доступа
Хотелось бы увидеть ваш initDB.dat оригинальный и поправленный.
Аватара пользователя
pppoe1
Сообщения: 210
Зарегистрирован: 04 дек 2017, 13:20
Откуда: Vladivostok

Локализация текста Pioneer Carrozzeria AVIC-ZH0009cs (HDD)

Сообщение pppoe1 »

ank0l0g писал(а):
16 май 2020, 07:32
Ключ не подошел.
Попытка 3
TESTMODE.KEY.zip
(649 байт) 857 скачиваний
ank0l0g
Сообщения: 55
Зарегистрирован: 13 апр 2020, 12:44

Локализация текста Pioneer Carrozzeria AVIC-ZH0009cs (HDD)

Сообщение ank0l0g »

pppoe1 писал(а):
16 май 2020, 14:49
И все таки, как рекомендует bellic, лучше использовать BinMody
Много где необходимо поправить CRC. Как бы не ошыбится.
Аватара пользователя
pppoe1
Сообщения: 210
Зарегистрирован: 04 дек 2017, 13:20
Откуда: Vladivostok

Локализация текста Pioneer Carrozzeria AVIC-ZH0009cs (HDD)

Сообщение pppoe1 »

ank0l0g писал(а):
16 май 2020, 17:21
Много где необходимо поправить CRC
CRC считает и автоматом прописывает makever.c.
В четырёх местах, если мне не изменяет память.
Аватара пользователя
pppoe1
Сообщения: 210
Зарегистрирован: 04 дек 2017, 13:20
Откуда: Vladivostok

Локализация текста Pioneer Carrozzeria AVIC-ZH0009cs (HDD)

Сообщение pppoe1 »

ank0l0g писал(а):
16 май 2020, 17:21
Ключ не подошел
Третий тоже не подойдёт не пробуйте.

Нужен вот этот номер:
3BD9C15E-FBDE-42A1-8024-D41DDE03747B.jpeg
Ответить

Вернуться в «Локализация (переводы)»

Кто сейчас на конференции

Сейчас этот форум просматривают: bellic и 70 гостей