нашел вот такую программу. не подскажешь с помощью нее можно заменить карты навигации на японских навигациях на русские??????
вот ее описание:
Данная программа предназначена для построения новых карт для штатных 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. Повторите эту операцию если нужно с другим файлом. При удалении директория, удаляются все вложенные файлы и директории, это может занять определенное кол-во времени.
Теперь Вы можете откомпилировать проект или Сохранить его, чтобы откомпилировать в другое время.
если теоритически можно и есть интерес скажите куда можно сбросить саму программу.