OUT-CLUB.RU

OUT-CLUB.RU (https://out-club.ru/board/index.php)
-   Outlander XL 2007 - 2012 г.в. - Электроника, мультимедиа, навигация (https://out-club.ru/board/forumdisplay.php?f=271)
-   -   Исследование механизма работы ПО MMCS (https://out-club.ru/board/showthread.php?t=37735)

AS21 21.02.2014 10:14

Re: Исследование механизма работы ПО MMCS
 
Цитата:

Сообщение от MadLord (Сообщение 1633639)
посмотрел файлы MAP.txt сделанные Remaker от holod и jRemaker из н04 - показания не совсем понятны

Читать карту не сложно - в ней привязки есть не только к адресу в памяти (вторая колонка), но и к адресу, где этот параметр физически находится в loading.kwi (первая колонка)

MadLord 21.02.2014 10:17

Re: Исследование механизма работы ПО MMCS
 
вот еще: в help написано, что для "Modern from out" есть ограничение, чтобы размеры были одинаковы, а для "Modern from Donor" такого ограничения нет...я так понимаю, процедуры ведь аналогичны?....

Добавлено через 3 минуты
Цитата:

Сообщение от AS21 (Сообщение 1633665)
Читать карту не сложно - в ней привязки есть не только к адресу в памяти (вторая колонка), но и к адресу, где этот параметр физически находится в loading.kwi (первая колонка)

кхм, вот например:
Код:

|Адресс в        |Начало в        |Конец в        |Длинна                |Дополнительная информация
|loading        |RAM/ROM        |RAM/ROM        |                |данные/назначение...
---------------------------------------------------------------------------------
--------        03fa0000        03ff5000        00055000        :Vbase for (coredll.dll)
--------        03fa1000        03fea6d8        000496d8        : (coredll.dll) O32_realaddr for section(0)
--------        03fec000        03fef3b8        000033b8        : (coredll.dll) O32_realaddr for section(2)
--------        03ff0000        03ff0210        00000210        : (coredll.dll) O32_realaddr for section(3)
--------        04000000        --------        --------        :End: slot # 1
--------        88240000        88267000        00027000        :Start: RAM start address
--------        88240000        88241c00        00001c00        : (nk.exe) O32_realaddr for section(1)
--------        88241c00        88266264        00024664        : Copy Section Dest from 8daabac8 Len = 0000052d
--------        88241c00        88266264        00024664        : (nk.exe) O32_realaddr for section(2)
--------        88267000        8c000000        03d99000        :Start: RAMFree adress
--------        8c000000        --------        --------        :End: RAMEnd adress

и как тут понять свободный размер до начала RAM?...или я туплю...

AS21 21.02.2014 10:22

Re: Исследование механизма работы ПО MMCS
 
Цитата:

Сообщение от MadLord (Сообщение 1633669)
"Modern from out" есть ограничение, чтобы размеры были одинаковы, а для "Modern from Donor" такого ограничения нет.

- для файлов ограничений нет - это было временное
- ограничения осталсь только для dll - из-за reloc
Я не успеваю писать Help - если бы кто-то помог - я был бы благодарен


Цитата:

Сообщение от MadLord (Сообщение 1633659)
в 105 версии то работает?...я что-то проверил "Modern from Donor" - файл *_NEW.KWI опять не создался....

У меня создался, там просто процесс по времени немнго большой - издержки универсальности (WinCe 3-6) + зависит от скорости работы твоего HDD - все делается на нем

Добавлено через 1 минуту
Цитата:

Сообщение от MadLord (Сообщение 1633669)
свободный размер до начала RAM?

расшифруй
Там где "------" в первой колонке - это виртуальная память
Там где заполнена первая колонка - это физическая память

MadLord 21.02.2014 10:40

Re: Исследование механизма работы ПО MMCS
 
Цитата:

Сообщение от AS21 (Сообщение 1633675)
расшифруй
Там где "------" в первой колонке - это виртуальная память
Там где заполнена первая колонка - это физическая память

я вот про это:
Цитата:

Если мы посмотрим конец файла MAP.txt, то увидим следующее:

8d5dc68c - 8d5dc68c L00000000 End: highest physical address

8d5dc68c - 8d5e0000 L00003974 NUL

8d5e0000 - 8d5e0000 L00000000 Start: start of RAM
8d5e0000 - 8d5e6000 L00006000 uninitialized data of region_1 nk.exe
8d5e6000 - 8d609000 L00023000 initialized data of region_2 nk.exe
8d609000 - 8d609000 L00000000 ------ start of RAM free space
8d609000 - 90000000 L029f7000 NUL
90000000 - 90000000 L00000000 End: end of RAM

Расстояние между концом прошивки (highest physical address) и началом RAM (Start: start of RAM) равно 0х3974 (14709) байт. Т.е. мы можем добавить файл, размер которого в сжатом виде не будет превышать 0х3974 (14709) байт.
Добавлено через 7 минут
Цитата:

Сообщение от AS21 (Сообщение 1633675)
У меня создался, там просто процесс по времени немнго большой - издержки универсальности (WinCe 3-6) + зависит от скорости работы твоего HDD - все делается на нем

подождал несколько минут - тишина :(
ты бы хоть лог какой выводил....

mitsubi 21.02.2014 11:24

Re: Исследование механизма работы ПО MMCS
 
Цитата:

Сообщение от AS21 (Сообщение 1633657)
Для меня остался еще вопрос - кому и насколько надо править (вставлять и редактировать модули/файлы для WinCe3.. ?

у меня есть интерес для такой задачи применительно к пред-MMCS (MDS), поэтому было бы хорошо, если бы Вы сохранили поддержку и WinCE-3

MadLord 21.02.2014 12:00

Re: Исследование механизма работы ПО MMCS
 
Цитата:

Сообщение от mitsubi (Сообщение 1633720)
поэтому было бы хорошо, если бы Вы сохранили поддержку и WinCE-3

Может сделать просто отдельные ремейкеры для этого?

mitsubi 21.02.2014 12:37

Re: Исследование механизма работы ПО MMCS
 
Цитата:

Сообщение от MadLord (Сообщение 1633753)
Может сделать просто отдельные ремейкеры для этого?

если "сделать", то это у уважаемому AS21, а если интересно мое мнение, то, как я понял, основная задача Николая -- разбор лоадингов от MMCS среднего поколения J-0x, N-0x и R-03 для последующего сбора лоадинга с максимальным функционалом, например, поддержка блока кругового обзора, при этом попутно изучить и другие поколения MMCS как в большую сторону, например, W-12/J-11, так и в меньшую (начальное MMCS) на предмет выявления полезного функционала. Однако, насколько Николаю удобно параллельно делать несколько версий под разные версии WinCE может ответить только он сам. Лично мне интересна одна универсальная версия, т.к. у меня есть MMCS-ы всех поколений.

AS21 21.02.2014 13:51

Re: Исследование механизма работы ПО MMCS
 
Цитата:

Сообщение от MadLord (Сообщение 1633689)
ты бы хоть лог какой выводил....

После заврешения - выходит сообщение

Добавлено через 3 минуты
Цитата:

Сообщение от mitsubi (Сообщение 1633784)
мне интересна одна универсальная версия,

Мне тоже, не знаешь с чем работать будешь завтра
А сразу делать один раз проще чем потом доделывать
Вопрос остался - ??? нужна для редакции WinCe 3.. ??
Или оставить только просмотр??
мне ее проверить не на чем

mitsubi 21.02.2014 14:16

Re: Исследование механизма работы ПО MMCS
 
Цитата:

Сообщение от AS21 (Сообщение 1633836)
Мне тоже, не знаешь с чем работать будешь завтра
А сразу делать один раз проще чем потом доделывать
Вопрос остался - ??? нужна для редакции WinCe 3.. ??
Или оставить только просмотр??
мне ее проверить не на чем

1) лично мне -- НУЖНА, поэтому если это возможно с Вашей стороны, то прошу оставить такую поддержку для редактирования WinCE версии 3;
2) я отправлял Вам пару лоадингов от пред-MMCS, поэтому проверять можете на них -- если нужно могу отправить повторно.

AS21 21.02.2014 15:06

Re: Исследование механизма работы ПО MMCS
 
Цитата:

Сообщение от mitsubi (Сообщение 1633864)
если нужно могу отправить повторно.

Ok! напомните через неделю

Добавлено через 2 часа 12 минут
если кто где увидит, мне надо:
1) CEDecompressROM для WinCe 3 - как туда так обратно
2) Мало вероятно, а вдруг - описание или откыітый код Compress.dll под любой winCe

AS21 23.02.2014 10:25

Re: Исследование механизма работы ПО MMCS
 
https://out-club.ru/board/showpost.p...5&postcount=29

Если тко знает об этотм больше - расскажите, я уже готов с этим поработать

elitelive 23.02.2014 12:04

Re: Исследование механизма работы ПО MMCS
 
Всем привет ! Может вопрос не в эту тему но попробую : Как из европейской версии R-0EE перетащить на русскую R-03 красивый компас ??

AS21 23.02.2014 13:48

Re: Исследование механизма работы ПО MMCS
 
Цитата:

Сообщение от elitelive (Сообщение 1635258)
Может вопрос не в эту тему но попробую : Как из европейской версии R-0EE перетащить на русскую R-03 красивый компас ??

В тему. Попозже займемся

vadimus_ca 23.02.2014 19:10

Re: Исследование механизма работы ПО MMCS
 
По неподтвержденной информации от Отаку, J-01 содержат необходимое железо для подключения MMCS компьютеру.

MadLord 23.02.2014 19:16

Re: Исследование механизма работы ПО MMCS
 
Цитата:

Сообщение от vadimus_ca (Сообщение 1635468)
По неподтвержденной информации от Отаку, J-01 содержат необходимое железо для подключения MMCS компьютеру.

JTAG? Откуда инфа? Только J-01 или просто только она упоминается?
Я тут, кстати, нашел интересные файлики под названием "Win CE 5 OBSP for Renesas SH7770"...пытаюсь выкачать...

vadimus_ca 23.02.2014 19:18

Re: Исследование механизма работы ПО MMCS
 
От Отаку. Подробностей пока мало, плюс он на меня несколько обиделся...
Но буду продолжать.

AS21 23.02.2014 19:57

Re: Исследование механизма работы ПО MMCS
 
Цитата:

Сообщение от vadimus_ca (Сообщение 1635472)
От Отаку. Подробностей пока мало, плюс он на меня несколько обиделся...
Но буду продолжать.

На обиженных воду возят
Новое это просто недочитанное старое
Вот более полный список подборки!!
https://out-club.ru/board/showpost.p...5&postcount=29

https://out-club.ru/board/showpost.p...7&postcount=31

https://out-club.ru/board/showpost.p...037175&postcou
Заканчиваю релок, осталось немного и займусь этим, если получится - решение было всегда на поверхности

MadLord 24.02.2014 06:49

Re: Исследование механизма работы ПО MMCS
 
Цитата:

Сообщение от AS21 (Сообщение 1635489)
Новое это просто недочитанное старое
Вот более полный список подборки!!

вот только так и не нашли выводы для JTAG....может Отаку про что-то другое говорит?...
Цитата:

Сообщение от AS21 (Сообщение 1635489)
Заканчиваю релок, осталось немного

ждем, ждем :good:

AS21 24.02.2014 08:35

Re: FAQ по штатной MMCS (Все вопросы в одной теме)
 
Цитата:

Сообщение от Bedolaga (Сообщение 1031695)
Позволю себе небольшую мутную ремарку, касающуюся технического аспекта взлома кода MMCS:

В теле исследуемой программы можно в нужные места вставлять инструкцию "BRK" и я так полагаю, что после нее управление переходит аккурат в модуль "jitdbgr.exe", где можно как-то это событие обработать.

JTag я нашел, но для него надо еще программу, и он нужен на этапе отладки ядра
Мы это прошли. У нас нет уже вечного ребут
Далее -> вставлять инструкцию "BRK"...

Добавлено через 1 минуту
Цитата:

Сообщение от MadLord (Сообщение 1635767)
может Отаку про что-то другое говорит?.

именно...

MadLord 24.02.2014 09:38

Re: FAQ по штатной MMCS (Все вопросы в одной теме)
 
Цитата:

Сообщение от AS21 (Сообщение 1635786)
JTag я нашел

прямо контакты на плате?...можешь показать?...

AS21 24.02.2014 09:55

Re: FAQ по штатной MMCS (Все вопросы в одной теме)
 
Цитата:

Сообщение от MadLord (Сообщение 1635822)
прямо контакты на плате?...можешь показать?...

См почту

Добавлено через 2 минуты
Кто может помочь разобраться взаголовке PE format:
Для запуска файл должен быть в формате PE, минимально необходимо для этого, чтобы он был: во-первых EXE (байты по смещению 0h равны 5A4Dh – "MZ"), во-вторых, слово по смещению 18h должно быть >=40h, тогда и только тогда поле смещения PE Header по адресу 3Ch имеет смысл.

Для нахождения заголовка PE в файле воспользуемся полем Offset to PE Header, находящемуся по смещению 3Ch от начала файла.
1) 00h - 40h - dosHeader
2) 40h - 80h - dosCode
3) 80h - E0h - ???

Если у меня слово по смещению 3Сh =E0h -> далее идет PE и т.д.
Для чего адрес 80h - E0h - я находил как мин 2 варианта заполнения, на что его содержание влияет?

// followed by something unknown

// 0000080: bf 1a f4 da fb 7b 9a 89 fb 7b 9a 89 fb 7b 9a 89 .....{...{...{..

// 0000090: fb 7b 9b 89 fa 7b 9a 89 66 5b ba 89 f8 7b 9a 89 .{...{..f[...{..

// 00000a0: 82 5a be 89 fa 7b 9a 89 52 69 63 68 fb 7b 9a 89 .Z...{..Rich.{..

// 00000b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................

Во 2-м варианте
0x0e, 0xdb, 0x6d, 0xde, 0x4a, 0xba, 0x03, 0x8d, 0x4a, 0xba, 0x03, 0x8d, 0x4a, 0xba, 0x03, 0x8d,
0x5a, 0xb2, 0x5a, 0x8d, 0x49, 0xba, 0x03, 0x8d, 0x4a, 0xba, 0x02, 0x8d, 0x69, 0xba, 0x03, 0x8d,
0x64, 0x9f, 0x33, 0x8d, 0x55, 0xba, 0x03, 0x8d, 0x5a, 0xb2, 0x5b, 0x8d, 0x4b, 0xba, 0x03, 0x8d,
0x23, 0xb3, 0x3b, 0x8d, 0x4b, 0xba, 0x03, 0x8d, 0x5a, 0xb2, 0x55, 0x8d, 0x4b, 0xba, 0x03, 0x8d,
0x52, 0x69, 0x63, 0x68, 0x4a, 0xba, 0x03, 0x8d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };


и еще:
что это за код: 52 69 63 68 -> Rich
Может этот участок зависии от процессора? Вряд ли

MadLord 24.02.2014 11:19

Re: FAQ по штатной MMCS (Все вопросы в одной теме)
 
Цитата:

Сообщение от AS21 (Сообщение 1635835)
и еще:
что это за код: 52 69 63 68 -> Rich
Может этот участок зависии от процессора? Вряд ли

http://exelab.ru/art../?action=view&id=146
Адрес таблицы отладочной инфы - не оно?

Добавлено через 5 минут
Хотя нет, это вроде что то недокументированное
http://rcecafe.net/?p=27

ValeraVV 24.02.2014 11:54

Re: Исследование механизма работы ПО MMCS
 
Доброе утро всем! Вот наткнулся на такую прогу (сам в этом не силен), но может кому пригодиться : построения новых карт для штатных GPS-приемников японских автомобилей.
Данная программа предназначена для построения новых карт для штатных GPS-приемников японских автомобилей, соответствующих стандарту KIWI 1.22.
Настоящая версия это незаконченная программа, а инструмент для экспериментов. Она позволяет удалять с диска отдельные файлы и директории, а также удалять KIWI-блоки из отдельных файлов, не нарушая работоспособности диска.

2. Основные понятия и термины, используемые в данном описании.

2.1 ISO файл. Файл содержащий образ диска навигационной системы, записанный в формате ISO, имеющий расширения .iso, содержащий partitition стандарат ISO-9660. Содержание диска должно соответсвовать стандарту KIWI-map 1.22. На диске должен находиться файл /ALLDATA.KWI.. Файл отвечающий данным требованиям может быть загружен в программу KiwiExplorer.

2.1.2 Первичный ISO. ISO файл созданный с DVD диска, прилагаемому к вашей навигационной системе. Файл должен создаваться специальными программами умеющими создавать образ с DVD-диска, создание образа путем копирования ранее записанных на винчестер каталогов не допускается. Диск может содержать partition стандарта UDF, в качестве дополнительной.

2.1.3 Вторичный ISO. Образ созданный программой KiwiExplorer, при компиляции загруженного файла проекта.

2.2.1 Файл Проекта (Проект, Project file). Файл специального формата формируемый программой KiwiExplorer c первичного ISO командой Create Project, или при компиляции Вторичного ISO. Файл проекта всегда связан с ISO файлом. Файл имеет расширения .kwp и содержит:
- Ссылку на связанный ISO-файл.
- Список файлов с информацией об адресах, размерах, свойствах основных, загрузочных и вспомогательных Kiwi файлов в связанном ISO файле.
- Для каждого Основного Kiwi-файла записывается полная Таблица Дисковых Блоков с информацией о местоположении, размере, свойствах и атрибутах дисковых KIWI-блоков, внешних дисковых KIWI-блоках, новых дисковых KIWI-блоках и белых пятен.
Создание файла проекта необходимо для большинства функций программы, поэтому если Ваш Первичный ISO открылся нормально, я рекомендую начать работу с создания файла проекта. Вместе с проектом создается Директорий проекта, в котором хараняться рабочие файлы проекта. Файл проекта может находиться в любом месте на вашем компьютере, вместе с Директорием проекта, вы можете переносить их вместе куда угодно. Если вы решили перенести куда-то связанный ISO файл, файл проекта придется переносить заново.
Все изменения, которые вы делаете в программе не отражаются на связанном ISO, а фиксируются в файле проекта и учитываются при компиляции Вторичного ISO.
Физический размер файла проекта на диске в пределах 30Мб.

2.2.2 Директорий проекта (Project dir): Всегда находится в том же каталоге, что и файл проекта, имеет тоже имя, что и файл проекта, только без расширения. В случае если Вы изменяете дисковый Kiwi-блок, блок становиться внешним дисковым Kiwi-блоком, измененная версия блока копируется в рабочий файл проекта находящийся в одном из вложенных директориев Директория проекта. При обращении к данному блоку, программа будет использовать сохраненный блок из рабочего файла. Также в рабочих файлах храняться новые дисковые блоки, добавленные пользователем в программу.
На момент создания руководства алгоритм добавления новых блоков не реализован.

2.2.3 Рабочие файлы проекта (Template Project files): Каждому измененному дисковому Kiwi-блоку соответсвует рабочий файл проекта. Путь и имя этого файла определяется свойствами дисковому Kiwi-блоку и уникально для каждого блока:
//ProjectDir/[Volume]/[TypeCode]/[Level]/[BlockSet]/b[Block]i[Index]s[SubIndex]t[SubType]
где:
ProjectDir – директория Проекта
Volume – свойство Volume блока в виде четырехзначного шестнадцатиричного беззнакового целого (%04X);
TypeCode – свойство TypeCode блока в виде четырехзначного шестнадцатиричного беззнакового целого (%04X);
Level – свойство Level блока в виде знакового десятичного целого (%d).
BlockSet - свойство BlockSet блока в виде четырехзначного шестнадцатиричного беззнакового целого (%04X);
SubIndex - свойство SubIndex блока в виде четырехзначного шестнадцатиричного беззнакового целого (%04X);
SubType - свойство SubIndex блока в виде четырехзначного шестнадцатиричного беззнакового целого (%04X);
Пример (DataVolume):
F:/Iso/MyProject/0000/0001/0/0000/b0000i0000s0000t0


2.3 Kiwi-файлы. Все файлы находящиеся в ISO файле. Каждый файл имеет адрес и размер, определяющий его местоположение в образе. В соответствии со спецификацией ISO 9660, файлы непрерывные. Каждый файл имеет соответствующую запись директория. Адрес файла задается в ISO-sectors = 2048 байт (т.е абсолютное смещение от начала ISO файла всегда должно быть кратно 2048 байт, каждый файл занимает минимум 1 ISO-sector).

2.3.1 Kiwi-директории. Директории находящиеся в ISO файле. Фактически это те же KIWI-файлы, только в них хранится информация о вложенных файлах и директориях. Обладают теми же свойствами атрибут, что Kiwi-файлы.

2.3.2 Основные Kiwi файлы: Kiwi-файлы содержащие дисковые KIWI-блоки, известные KIWI-explorer. Эти файлы как правило имеют расширение .kwi.

2.3.3 Загрузочные Kiwi файлы: Kiwi-файлы содержащие код для загрузки диска в операционную систему. KiwiExplorer считает загрузочными все файлы, находящиеся физически до ALLDATA.KWI. Такие файлы программа считает непереносимыми.

2.3.4 Вспомогательные Kiwi файлы: Kiwi-файл находящиеся на Вашем дискe, не содержащие дисковые KIWI-блоки, не известные KIWI-explorer и не являющиеся Загрузочными. К таким файлам относятся также .html, .jpg, .gif и.т.п.

2.3.5 Список файлов (filelist): при чтении ISO файла программа формирует полный список Kiwi-файлов и Kiwi-директориев, содержащий информацию об его адресе, размере, и атрибутах файла. При создании файла проекта, список сохранятся в проекте вместе с атрибутами. Вы можете изменить атрибуты файла, повлияв этим на построение Вторичного ISO. При открытии проекта, список файлов загружается из файла проекта.
В текущей версии FileList инкапсулирован в вспомогательном Kiwi-объекте [IsoFileName]->FileList (TKiwiIso->TKiwiIsoFiles);

2.3.6 Атрибуты Kiwi файлов (директориев): В настоящее время KiwiExplorer поддерживает 2 основные атрибуты файла: непереносимый (unmovable) и удаленный (deleted). При чтении ISO файла программа задает для всех файлов адрес которых младше или равен ALLDATA.KWI атрибут «непереносимый». При формировании Вторичного ISO, адреса таких файлов(директориев) останутся неизменными. Для непереносимого файла Вы можете задать размер вручную, отредактировав соответствующую запись в списке filelist.
Для любого файла(директория) можно задать атрибут «удаленный». Тогда при формировании Вторичного ISO, файл (директорий) в него включен не будет. При задании атрибута «удаленный» для директория, все вложенные директории и файлы тоже получат атрибут «удаленный».
Внимание: при отмене атрибута «удаленный», атрибуты вложенных файлов автоматически не меняются.
При формировании Вторичного ISO, программа автоматически обнуляет ссылки на удаленные файлы, однако все ответственность за работоспособность Вторичного ISO лежит на Вас.


2.4 Дисковые Kiwi-блоки (Disk kiwi-blocks, Kiwi-iso blocks, File blocks). Основные Kiwi файлы, состоят из связанных блоков. Блоки организованы в структуры в виде дерева. Каждый дисковый KIWI-блок имеет свой адрес и размер. Адрес задается в виде пары чисел Sector:Logical sector определяющих смещение от начала соответствующего Основного Kiwi-файла. Абсолютное смещение в байтах от начала Kiwi-файла = Sector*2048+ Logical sector*32. Размер блока задается в единицах Logical sector и составляет Logical sector*32 байт (всегда кратен 32 байтам).
Далее под дисковыми Kiwi-блоками мы будем понимать структуру, которая создается для каждого известного программе Дискового Kiwi-блока и хранится в специальной Таблице Дисковых Блоков. Помимо информации об адресе и размере блока, эта запись содержит информацию о Свойствах и Атрибутах Дискового Блока.


2.4.1 Таблица Дисковых Блоков. Для каждого Основного Kiwi файла программа создает Таблицу Дисковых Блоков, содержащую Дисковые Kiwi-блоки.
При загрузке ISO файла, программа записывает информацию о всех зарегистрированных на текущий момент Дисковых Kiwi-блоков в специальную Таблицу Дисковых Блоков для каждого Основного Kiwi-файла. В этом случае таблица не является полной.
При Создании Проекта программа читает и регистрирует в Таблицы Дисковых Блоков все дисковые Kiwi-блоки ISO файла, после чего сохраняет эти Таблицы в проекте.
При загрузке Проекта, программа, для каждого Основного файла, загружает Таблицы из проекта.

Свойства Дисковых Kiwi-блоков. При регистрации дискового блока, помимо адреса и размера, программа присваивает блоку ряд свойств, используемых для сортировки, при построении Вторичного ISO.
- Tома (Volume). Значение тома в соответствует номеру записи в management records, к которой относится данный Блок. Диапазон значений от 0 до 64, значение по умолчанию 0.
- Тип (TypeCode, Класс). Каждый тип Kiwi-объекта (класс) имеет свой код типа (класса). Значение этого типа заносится в свойство типа.
- Уровень (Level). Для записей относящихся к Тому №0 (основной карту) и Тому №1 (маршрутизации) значение соответствует номеру уровня (Level rec), к которому относится данный блок. Диапазон значений от -32 до 32, по умолчанию 0.
- Группа блоков (Block Set). Для записей относящихся к Тому №0 (основной карту) значение соответствует номеру группы блоков (Block Set), к которому относится данный блок. Диапазон значений от 0 до 32 767, по умолчанию 0.
- Блок (Block). Для записей относящихся к Тому №0 (основной карту) значение соответствует номеру блока в группе блоков (Block), к которому относится данный дисковый блок. Диапазон значений от 0 до 32 767, по умолчанию 0.
- Индекс (Index). Для объектов Main Map Parcel b PMIRecords относящихся к Тому №0 (основной карту) значение соответствует номеру (индексу) в блоке (Index), к которому относится данный дисковый блок. Для записей относящихся к Тому №1 (маршрутизации) значение соответствует индексу в уровне (Index), к которому относится данный дисковый блок. Диапазон значений от 0 до 32 767, по умолчанию 0.
- Подиндекс (SubIndex). Для объектов разделенных (divided) Main Map Parcels, подиндекс определяет местоположение в дополнительном PMIRecord. По умолчанию равен 0.
- Подтип (SubType). В данной версии не используется, по умолчанию всегда равно 0.
Совокупность вышеперечисленных свойств определяют уникальный идентификатор блока (за исключением блоков «белых пятен»). В случае, если программа встречает не уникальный идентификатор на этапе компляции Вторичного ISO возникает исключительная ситуация.

2.4.3. Атрибуты Дисковых Kiwi-блоков.
- Неперемещаемый (Unmovable). При формировании Вторичного ISO адрес такого блока остается неизменным (такой же как в первичном ISO.
- Удаленный (Deleted). При формировании Вторичного ISO такой блок в него не копируется. Все ссылки на удаленный блок устанавливаются в NULL (FFFFFFFF:0000).
- Внешний (). Данный блок был изменен, код хранится в Рабочих файлах проекта. При формировании Вторичного ISO, размер блока будет установлен равный размеру рабочего файла проекта, выравненный по модулю 32.
- Новый. (New Block). Данный флаг всегда используется совместно с атрибутом Внешний. Флаг означает, что данный блок добавлен к проекту, адресация будет начинаться с виртуального смещения 0х7000000000000000, тело блока храниться в Рабочем файле проекта. Формирование вторичного ISO будет аналогично внешнему блоку.

2.4.4. Дисковые блоки «Белые пятна» (White holes)
При создании файла проекта программа сначала создает полный список всех известных дисковых Kiwi-блоков основных Kiwi-файлов. Вторым проходом она ищет промежутки между ними, исходя из соображений, что в этих промежутках находятся недокументированные блоки, адресация между которыми нам неизвестна. Для каждого такого промежутка создается спициальный блок «White hole», который по умолчанию является неперещаемым. Визуально анализируя эти блоки, можно догадаться об их назначении. Для файла ALLDATA.KWI это как правило код данных недокументированных (Extended) Data Frames. Если вы удаляете такой управляющий фрейм, то можете смело удалить следующий за ним «White hole» блок.


2.5 Объекты Kiwi.

Все типы данных Kiwi, описанные в документации стандарта Kiwi1.22, инкапсулированы в объекты, унаследованные от базового класс TKiwiNode (или его наследника TKiwiList). Отличие этих двух классов – TKiwiList имеет подчиненные дочерние объекты (Childs), TKiwiNode нет. Верхний в этой иерархии стоит объект TKiwiHeader, инкапсулирующий приложение, в окне ExplorerForm он не отображается, в верхней части ExplorerForm его дочерние объекты.
При чтении ISO-файла создается иерархическая структура объектов. При этом в оперативную память при загрузке ISO-файла считывается только верхний уровень этой структуры, остальные объекты создаются по мере продвижения по иерарархии вниз в окне ExplorerForm.
При процессе создания проекта, иерархическая структура последовательно рекурсивно загружается, регистрируется в Таблице Дисковых Блоков и выгружается обратно.
Объект содержащий ссылки на подчиненный объекты, для подчиненных объектов, далее по тексту называется «родительским» (Parent), подчиненные объекты – дочерними (Child).

2.5.1 Виды Kiwi-объектов
Kiwi объекты делятся на:
- дисковые (disk objects), код которых непосредственно читается в буфер из ISO-файла. Каждому из таких объектов соответствует запись в Таблице Дискового Блоков;
- memory objects - дочерние дисковых объекты, код которых находиться в буфере родительского дискового объекта. Memory objects могут иметь вложенные memory objects, код которых находиться в буфере того же родительского объекта, а также содержать ссылки на дисковые объекты. В обоих случаях такие объекты будут дочерними.
- вспомогательные (non-Kiwi objects), не являются объектами KIWI-map, инкапсулируют управляющие объекты структуры ISO-9660, файла проекта. Унаследованы от TKiwiList для визуализации в окне ExplorerForm;

2.5.2 Общие свойства Kiwi-объектов.
Нижеперечисленные свойства актуальны для объектов вида disk и memory. Для каждого такого объекта они отображены в окне ExplorerForm/Class.
- Статус загрузки (флаг Loaded): для disk objects флаг установлен, если буфер прочитан, для memory object равен флагу родительского disk object.
- FileName: имя Kiwi Файла, из которого загружен код объекта (или родительского объекта для memory objects).
- KiwiAddress( _Addr): адрес кода объекта для disk objects (или родительского объекта для memory objects) в Kiwi Файле, в формате сектор:логический сектор. Соответствует адресу указанному в связанном Дисковом Блоке.
- KiwiSize: размер блока объекта для disk objects (или родительского объекта для memory objects) в байтах. Соответствует размеру указанному в связанном Дисковом Блоке.
- RecordOffset (_boffset): смещение кода memory object в буфере родительского объекта (для disk objects =0).
- RecordOffsetInFileName: абслолютное смещение (адрес записи в байтах) в Kiwi файле FileName. (=сектор*2048+лог.сектор*32+RecordOffset.
- RecordOffsetInISO: абслолютное смещение (адрес записи в байтах) в ISO файле. (=Offset(FileName)+RecordOffsetInFileName).
- RecordSize (_bsize): Размер кода данного объекта в байтах. Для disk objects равен размеру дискового блока.
- Deleted. Для дискового объекта, означает что связанный с объектом KIWI-блок имеет атрибут Удаленный. Для Memory-objects – родительский дисковый объект имеет атрибуи удаленный.


2.5.3 Уникальные свойства Kiwi-объектов.
Каждый класс объекта имеет свои уникальные свойства, отображены в окне ExplorerForm/Properties. Для описание значений этих свойств обратитесь к документации KIWI 1/22e.

2.5.4 Общие атрибуты Kiwi-объектов
- Loadable. (Загружаемый объект). Если установлен, значит объект вида disk object.
- Deletable. (Удаляемый объект). Объект может быть удален командой Delete контекстного меню ExplorerForm/Tree. Memory objects не могут быть удаляемыми.
- Editable. (Редактируемый объект). Для данного объекта существует редактор свойств, который открывется из контекстного меню ExplorerForm/Edit.
- Clearable. (Очищаемый объект). Объект может быть «очищен» командой Clear контекстного меню ExplorerForm/Tree. При этом удаляются все дочерние дисковые объекты.
- Graph. Для объекта содержащий этот атрибут может быть открыто окно просмотра карты (MapViewForm).


3. Интерфейс KiwiExporer

Программа позволяет загрузить один ISO файл или Проект. При этом программа является многооконным приложением (MDI), вы можете создавать любое количество Рабочих Окон. Это удобно для сравнение различных свойств объектов.

3.1 Главное меню.

Расположено в верхней части окна программы. Ниже описаны действующие значимые элементы меню.

3.1.1 Меню Files.

Files->Open. Загружает ISO-файл или Проект.
Files->Close. Выгружает ISO-файл или Проект. Лучше выходить из программы и загружать ее заново.
Files->Save Project. Сохраняет текущий проект.
Files->Print. Распечатывает содержимое активной части рабочих окон. В настоящей версии работает с ExplorerForm/Properties, ExplorerForm/Class, ExplorerForm/Additional.

3.1.2 Меню Project.

Project->Create Project. Создает Проект для загруженного ISO файла. Активно только при загруженном ISO файле.
Project->Compile Iso. Создает Вторичный ISO и файл проекта Вторичного ISO (c одноименным именем в том же директории).

3.1.3 Меню Iso.

Iso->Show blocks. Открывает окно просмотра Таблицы Дисковых Блоков (FileBlocks).

3.1.4 Меню Edit

3.1.5 Меню View

View->Zoom->Zoom Plus. В режиме просмотра карты уменьшает масштаб просмотра. Аналогично нажатию клавиши “+”.
View->Zoom->Zoom Plus. В режиме просмотра карты увеличивает масштаб просмотра. Аналогично нажатию клавиши “-”.
View->Zoom->Fit in view. Устанавливает масштаб 1:1.

3.2 Main Toolbar

Расположена в верхней части окна программы под главным меню.

Кнопка Открыть. Аналогично меню File->Open. Активна, если в программу ничего не загружено.
Кнопка ExplorerForm. Открывает окно ExplorerForm. Активна, когда в программу загружен Iso-файл или Проект.
Кнопка MapViewForm. Открывает окно Просмотра карты. Активна, когда активный объект имеет атрибут просмотра карты (VIEWGRAPH).
Кнопка SelectMode. Активна в окне просмотра карты. Устанавливает режим «Выбора объектов» указателем мыши.
Кнопка ZoomMode. Активна в окне просмотра карты. Устанавливает режим «Выбора зоны просмотра» указателем мыши.
Кнопка DistanceMeasureMode. Активна в окне просмотра карты. Устанавливает режим «Измерения расстояния» указателем мыши
Кнопка ZoomPlus. Аналогично команде меню View->Zoom->Zoom Plus. Активна в окне просмотра карты
Кнопка ZoomMinus. Аналогично команде меню View->Zoom->Zoom Minus. Активна в окне просмотра карты
Кнопка ViewPoligons. Активна в окне просмотра карты. Устанавливает режим просмотра «закрашенных полигонов»
Кнопка ViewLines. Активна в окне просмотра карты. Устанавливает режим просмотра «только линии»

3.3 Строка Статусу.

Расположена в нижней части программы. В левой части строки состояния отражается ход выполнения вычислений. В середине строки указан объем занимаемой программой памяти в байтах.

3.4 Рабочее окно ExplorerForm

Основное рабочее окно программы. Открывается при открытии ISO-файла или Проекта. Вы можете открыть дополнительные копии окна, кнопкой ToolBar->ExplorerForm. При закрытии окна загруженный файл из программы не выгружается.

3.4.1 Браузер объектов Tree.

3.4.2 Вкладка Properties

3.4.3 Вкладка Class

3.4.4 Вкладка RawView

3.4.5 Вкладка Additional

3.5 Рабочее окно FileBlocks.

3.6 Рабочее окно Просмотра карты (Map View).

4. Работа c программой KiwiExplorer

4.1 Начало работы. Открытие Первичного ISO.

Загрузите программу. Выберите команду меню File->Open. Загрузите ISO файл, созданный с диска навигационной системы. Если загрузка прошла нормально в открывший Браузер Объектов загрузяться следующие обязательный объекты:
*.iso - Объект TKiwiIso, инкапсулирующий свойства файловой системы диска.
DataVolume.
Management Table. Таблица управляющих фреймов.
Parcel Data Management Frame (PDMF). Управляющий фрейм данных карты.
Region Data Management Frame (RDMF). Управляющий фрейм данных автороутинга.

4.2 Создание проекта

Выберите команду меню Project->Create Project. Введите имя файла проекта (советую, чтобы не запутаться, ввести имя Первичного ISO файла). Построение проекта занимает в среднем 15-30 минут. По окончанию вычислений, выйдете из программы и перейдите к шагу 4.3.


4.3. Открытие файла проекта.

Полностью аналогично открытию ISO файла, за тем только исключением, что вы выбираете только что созданный файл *.kwp. Если проект загрузился нормально, программа готова к внесению изменений. Настоятельно рекомендую следующим шагом построить Вторичный ISO, без изменений и проверить его на Вашей навигационной системе.

4.4 Компиляция Вторичного ISO.

Загрузив проект, выберете команду Project->Compile ISO. Введите путь Вторичного ISO файла. Помните, что для созданию ISO программе может потребовать свободное дисковое пространство равное удвоенному размеру Первичного ISO, на том носителе где Вы создаете Вторичный.
Процесс компиляции занимает 2-3 часа.
По окончанию компиляции будет создан Вторичный ISO файл и файл Проекта Вторичного ISO с тем же именем, с расширением *.kwp.
Загрузите файл вторичного проекта, если загрузился нормально, проверьте созданный образ на Вашей навигационной системе.

4.5 Внесение изменений в проект

Совет: перед внесением изменений, скопируйте исходный проект вместе с одноименным директорием в другую папку, чтобы не строить каждый раз его снова.

4.5.1 Удаление KIWI файлов.

Вы можете удалить не нужные по Вашему мнению KIWI-файлы из проекта. Для этого в Браузере откройте *.iso->FileList.->. Выберите в списке нужный файл (или директорий). Выберите из контекстного меню команду Edit, откроется диалоговое окно. Установите галочку на флажке FileDeleted и нажмите Ok. Повторите эту операцию если нужно с другим файлом. При удалении директория, удаляются все вложенные файлы и директории, это может занять определенное кол-во времени.
Теперь Вы можете откомпилировать проект или Сохранить его, чтобы откомпилировать в другое время.


Добавлено через 2 минуты
http://compcar.ru/forum/showthread.php?t=3964

MadLord 24.02.2014 12:39

Re: Исследование механизма работы ПО MMCS
 
Цитата:

Сообщение от ValeraVV (Сообщение 1635907)
Доброе утро всем! Вот наткнулся на такую прогу (сам в этом не силен), но может кому пригодиться

пробовал ее - ничего не получается...

Добавлено через 7 часов 5 минут
Цитата:

Сообщение от AS21 (Сообщение 1635835)
Кто может помочь разобраться взаголовке PE format:

Кстати, вот - свежая статья...

vadimus_ca 24.02.2014 20:59

Re: Исследование механизма работы ПО MMCS
 
Похоже, KiwiExplorer рассчитан на работу с ДВД версиями карт (как на Denso MMCS, A-01).

mitsubi 24.02.2014 22:56

Re: Исследование механизма работы ПО MMCS
 
Цитата:

Сообщение от vadimus_ca (Сообщение 1636344)
Похоже, KiwiExplorer рассчитан на работу с ДВД версиями карт (как на Denso MMCS, A-01).

по австралийским картам от A-01 и т.п. ничего пока сказать не могу, но подменял карты между собой (Америка<-->Россия, Европа<-->Россия) между дисковыми вариантами MMCS (N-03, R-03) и ДВД-ишными пред-MMCS -- все полностью работает за малым исключением (при замене на карты России русские надписи на карте отображаются кракозябрами), а в остальном все отлично работает, а это значит, что формат карт одинаков и не зависит от типа носителя DVD или HDD (за исключением последних на SD в W-12, которые похоже чем-то припакованы)

vadimus_ca 24.02.2014 23:14

Re: Исследование механизма работы ПО MMCS
 
Цитата:

Сообщение от mitsubi (Сообщение 1636465)
подменял карты между собой (Америка<-->Россия, Европа<-->Россия) между дисковыми вариантами MMCS (N-03, R-03) и ДВД-ишными пред-MMCS

Можно по-подробнее? Я пробовал записывать на диск карты Австралии - при старте навигации (или при загрузке MMCS) кнопка ОК в предупреждении неактивна, версия карт отсутствует

к сожалению, изображение утрачено

mitsubi 25.02.2014 00:59

Re: Исследование механизма работы ПО MMCS
 
Цитата:

Сообщение от vadimus_ca (Сообщение 1636479)
Можно по-подробнее? Я пробовал записывать на диск карты Австралии - при старте навигации (или при загрузке MMCS) кнопка ОК в предупреждении неактивна, версия карт отсутствует

0) где-то на форумах я наткнулся на то, что кто-то переносил карты из Volvo (навигация производства MELCO) на MMCS, что послужило поводом для моих следующих экспериментов;
1) сначала я пробовал брать карты одного региона и переносить между разными поколениями MMCS, т.е. DVD и HDD, а именно, брал карты Америки из N-03 и записывал их на DVD для пред-MMCS на Мицубиси Эндеавор, потом наоборот -- результат положительный;
2) потом я пробовал брать карты одного региона и переносить между разными поколениями MMCS, т.е. DVD и HDD, а именно, брал карты Европы из E-02 и записывал их на DVD для пред-MMCS на Мицубиси L200, потом наоборот -- результат положительный;
3) вдохновленный результатом я попробовал перенести карты России из R-03 в пред-MMCS, т.е. записывал их на DVD и проверял на Endeavor и L200 -- в обоих случаях карты исправно работают, но единственная проблема с отображением русских надписей на карте России, которые отображаются кракозябрами.
Мои выводы:
-- можно обновлять карты пред-MMCS (которые, похоже, официально уже не обновляются) для Mitsubishi Endeavor (Америка) и L200 (Европа) используя более свежие карты из соответствующих MMCS N-0x (Америка) E-0x (Европа) с полным сохранением всего штатного функционала пред-MMCS. Однако, я в России и это для меня не имеет практической пользы, при этом есть сложность, что последние версии карт не умещаются на DVD;
-- можно заливать и эти карты между собой, т.е. на европейке будут американские карты, и наоборот, на американке будут европейские карты, что также не имеет для меня практической пользы, при этом также есть сложность с втискиванием в размер DVD и выбором нужного часового пояса;
-- можно заливать русские карты в пред-MMCS для авто, привезенные из Америки (Endeavor) и Европы (L200), что для меня уже имеет реальную полезность, если бы не две проблемы -- кракозябры на карте вместо русских букв и невозможность выбора часового пояса для России (проблем с размером карты нет, т.к. карта России без проблем умещается на DVD). Вот, если бы с помощью уважаемого AS21 удалось бы поправить кодировку в картах или в лоадинге -- это было бы здорово!
-- самое ГЛАВНОЕ = формат карт пред-MMCS и первого поколения MMCS одинаков!
P.S.
неудача с картами от австралийки вероятно связана с тем, что она не от MELCO, а от Kenwood-а

vadimus_ca 25.02.2014 01:04

Re: Исследование механизма работы ПО MMCS
 
Совпадал ли набор файлов от пред-MMCS c MMCS?

Был ли на DVD картах loading.kwi?

mitsubi 25.02.2014 01:21

Re: Исследование механизма работы ПО MMCS
 
Цитата:

Сообщение от vadimus_ca (Сообщение 1636559)
Совпадал ли набор файлов от пред-MMCS c MMCS?
Был ли на DVD картах loading.kwi?

-- полный набор файлов очень похож, но у пред-MMCS их несколько меньше;
-- перечень файлов картографии одинаков, формат файлов голосовых подсказок тоже совпадает;
-- конечно, на DVD присутствует файл LOADING.KWI, т.к. там такая же структура, что и на жестком диске, если бы все положили на один раздел = лоадинг + карты + POI + голоса и т.п. (обращаю внимание, что там, конечно, нет музыкального сервера) -- у меня напрашивается аналогия с вариантом Windows ХР Embedded, собранным не на жестком диске, а на CD/DVD...

vadimus_ca 25.02.2014 01:41

Re: Исследование механизма работы ПО MMCS
 
Хм, у австалийских карт, что я нашел - формат другой, тоже есть alldata.kwi, но сами файлы карт - другие, и лоадинг римейкером не открывается...

MadLord 25.02.2014 07:10

Re: Исследование механизма работы ПО MMCS
 
Цитата:

Сообщение от vadimus_ca (Сообщение 1636574)
лоадинг римейкером не открывается...

есть подозрение, что там не WinCE, а ремейкеры работают именно с ней...например, у Kenwood стоит вообще OS TRON....

Добавлено через 1 минуту
Цитата:

Сообщение от mitsubi (Сообщение 1636557)
но единственная проблема с отображением русских надписей на карте России, которые отображаются кракозябрами.

мои 5 копеек:
воткнул в американский лоадинг файл wince.nls от русского лоадинга - чуда не произошло, русские карты с кракозябрами....думаем дальше....

Добавлено через 4 минуты
вопрос ко всем:
правильно ли я понимаю что AVUnit.exe отвечает за всю мультимедию (радио, CD, Music Server, AUX, TV) и вызывается при нажатии кнопок "MODE" и "AUDIO", а Navi.exe это уже чисто навигация и вызывается кнопкой "NAVI"?....

vadimus_ca 25.02.2014 07:30

Re: Исследование механизма работы ПО MMCS
 
Моя версия такая - все кроме навигации - это AVUnit.

AS21 25.02.2014 09:23

Re: Исследование механизма работы ПО MMCS
 
Цитата:

Сообщение от mitsubi (Сообщение 1636557)
удалось бы поправить кодировку в картах или в лоадинг

Карты в планах, но после камер
До камер - полноценный инструмент JRemaker

PUSHIK 25.02.2014 11:16

Re: Исследование механизма работы ПО MMCS
 
Цитата:

Сообщение от vadimus_ca (Сообщение 1636605)
Моя версия такая - все кроме навигации - это AVUnit.

Очень похоже.

Ребята помогите человеку.

Цитата:

Сообщение от Unchained
Hi Pushik,
My names are Unchained i am a new member of outlander club (Russian), though am in Kenya. I have a 2007 JDM outlander with the J-01 MMCS and am looking for a way to change the language from Japanese to English.
One member directed me to a post you had of changing the MMCS to english,
https://out-club.ru/board/showpost.p...postcount=5412
The link quoted are "somehow dead"..., would you please be kind enough to re-activate the link, or host/upload the files somewhere, where i can download them?
Thanks in advance for your assistance.
Regards

У меня не осталось американского образа, поделитесь плиз. Загрузочный файл я ему скину.

MadLord 25.02.2014 11:19

Re: Исследование механизма работы ПО MMCS
 
американский образ - тык...

PUSHIK 25.02.2014 11:51

Re: Исследование механизма работы ПО MMCS
 
Спс. Алексей а ты лодинг не переделывал для прямой загрузки без СД?

MadLord 25.02.2014 12:10

Re: Исследование механизма работы ПО MMCS
 
переделывал, для J-01 тут...

PUSHIK 25.02.2014 12:13

Re: Исследование механизма работы ПО MMCS
 
Хочет пароль

MadLord 25.02.2014 12:35

Re: Исследование механизма работы ПО MMCS
 
пароль пустой для анонима (anonymous)...


Текущее время: 21:00. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.10
Copyright ©2000 - 2025, vBulletin Solutions, Inc. Перевод: zCarot
Использование материалов сайта разрешается только при условии размещения активной ссылки на OUT-CLUB.RU
Copyright ©2006 - 2025, WWW.OUT-CLUB.RU