Общий вид программы V_KLay Программа предназначена для: Патчер - записи в файл флеша телефона или напрямую в телефон данных из патча, записанного в .vkp файле. Редактор раскладки клавиатуры - изменения раскладки клавиатуры некоторых телефонов, напрямую в телефоне (если он подключен к компьютеру) или в файле фуллфлеша телефона. Флешер - запись / чтение прошивки телефона (фуллфлеш) в файл / из файла. При этом работать можно с блоками флеша любого размера (от 1 байта до размера фуллфлеша) и по любым адресам, а не только кратным размеру блока микросхем флеш в телефоне Работа с внешними программами. В верхней правой части окна программы находятся кнопки запуска внешних программ. Особенностью такого метода запуска программ (на, не, например из меню пуск Windows) является то, что внешним программам при этом через командную строку в качестве аргумента передается файл фуллфлеша выбранного телефона. При этом он считывается из телефона перед запуском программы. После завершения внешней программы, V_KLay автоматически может применить патч, сделанный этой внешней программой на основе переданного ей фуллфлеша. Все это происходит в автоматическом режиме и вам не следует заботится о поиске сохраненных промежуточных файлов на диске. Временные файлы фуллфлешей для внешних программ храняться в подкаталоге temp в каталоге где установлен V_KLay. Если, он не достпен, то временные файлы фуллфлешей записываются в корне диска, где установлена Windows. Самая последняя кнопка (со стрелочкой вниз) на панели кнопок внешних программ вызывает меню, в котором вы можете выбрать, что будет происходить при нажатии на кнопку с иконкой внешней программы, а также вызвать диалог настройки путей (размещения) к внешним программам. Иконки на кнопках появляются именно те, которые принадлежать внешним программам, поэтому вы их сможете легко идентифицировать. Также, название запускного файла внешней программы отображается во всплывающем окошке, если навести курсор мыши на интересующую кнопку. Варианты запуска внешних программ, которые можно выбрать в меню по кнопке со стрелкой вниз: 1. Читать фуллфлеш и открывать его во внешних программах. При этом по нажатию на кнопку внешней программы V_KLay: - Формирует имя временного файла фуллфлеша, которое состоит из 2-х частей: 1-я - уникальная для программы V_KLay, 2-я - имя типа текущего телефона. - читает весь флеш (фуллфлеш) с прошивкой телефона, - сохраняет фуллфлеш во временный файл. - Запускает внешнюю программу с полным путем и именем файла фуллфлеша в командной строке. - Затем V_KLay ожидает завершения работы внешней программы. - По завершению внешней программы V_KLay проверяет наличие файла патча в том же каталоге где и временный файл фуллфлеша и с тем же именем что и временный файл фуллфлеша (но, ясное дело, с расширением .vkp). - Если такой файл патча найден, то он применяется на прошивку телефона и на временный файл фуллфлеша. Последнее необходимо в тех случаях, когда вы хотите постоянно что-то переделывать в прошивке телефона, но не желаете долго ждать когда считается весь фуллфлеш для того чтобы запустить эту же или другую внешнюю программу с целью внесения новых изменений в прошивку. Для этого, перед запуском следующей внешней программы, вызовите меню кнопкой со стрелкой вниз и выберите другой режим работы: "Открывать ранее прочитанный фуллфлеш во внешних программах". 2. Открывать ранее прочитанный фуллфлеш во внешних программах. При этом по нажатию на кнопку внешней программы V_KLay: - Формирует имя временного файла фуллфлеша, которое состоит из 2-х частей: 1-я - уникальная для программы V_KLay, 2-я - имя типа текущего телефона. - Проверяет существует ли такой файл, т.е. проверяет считывался ли ранее фуллфлеш с текущего выбранного телефона. - Если файл не найдет, то предлагает "Читать фуллфлеш и открывать его во внешних программах". Иначе: - запускает внешнюю программу с полным путем и именем временного файла фуллфлеша в командной строке. - и затем ожидает завершения работы внешней программы. - По завершению внешней программы V_KLay проверяет наличие файла патча в том же каталоге где и временный файл фуллфлеша и с тем же именем что и временный файл фуллфлеша (но, ясное дело, с расширением .vkp). - Если такой файл патча найден, то он применяется на прошивку телефона и на временный файл фуллфлеша. Последнее необходимо в тех случаях, когда вы хотите постоянно что-то переделывать в прошивке телефона, но не желаете долго ждать когда считается весь фуллфлеш для того чтобы запустить эту же или другую внешнюю программу с целью внесения новых изменений в прошивку. И поэтому при следующем запуске внешней программы вы увидите свои предыдущие изменения, даже без необходимости считывания фуллфлеш телефона. А новый файл патча, сделанный внешней программой будет содержать правильные данные для отмены его в будущем. 3. Только запуск внешних программ, без параметров При этом по нажатию на кнопку внешней программы V_KLay, внешняя программа просто запускается на выполнение и все. Замечания к работе внешних программ. Исходя из вышеизложенных алгоритмов работы V_KLay с внешними программами можно сформулировать следующие замечания / требования к работе внешних программ (это к разработчикам внешних программ, использующих фуллфлеш) или к работе с внешними программами (это к пользователям внешних программ): 1) Внешняя программа должна при запуске открыть файл фуллфлеша, который передается ей в командной строке и работать с ним. Имя файла фуллфлеша передается с полным путем и в кавычках. Все имена каталогов в пути и имя файла фуллфлеша - длинные, т.е. стандартные для Windows. V_KLay вызывает внешнюю программу, указывая для нее в качестве текущего рабочего каталога тот каталог, в котором эта внешняя программа находится. 2) Если внешняя программа может делать .vkp файл патча на основе переданного ей фуллфлеша, то при сохранении его на диск внешняя программа по умолчанию должна предлагать пользователю сохранить этот файл патча в тот же каталог и под тем же именем что и файл фуллфлеша, переданный ей в командной строке (только c расширением .vkp). Эти требования не обязательные, но при их выполнении можно добиться максимального удобства и автоматизации процесса изменения прошивки телефона с использованием внешних программ. Режимы работы V_KLay с прошивкой телефона: Возможны 2 режима работы: Pабота с телефоном напрямую или с файлом флеша. Работа с телефоном напрямую. Т.е. с телефоном, подключенным к компьютеру. В этом режиме вы должны выбрать: Тип вашего телефона. Выбирайте именно тот тип телефона с которым вы хотите работать. Программа не проверяет соответствие выбранного типа телефона с реально подключенным, поэтому возможен выход из строя телефона, если вы попытаетесь в него что-нибудь записать. Последовательный порт, к которому подключен телефон. Скорость связи по последовательному порту, на которой вы хотите работать с телефоном. Также в этом режиме работы вы можете использовать: Кнопка "Сброс" - для завершения работы с телефоном и подготовки его к включению обычным способом. Старайтесь не отключать телефон от дата-кабеля, предварительно не нажав на кнопку "Включить" или не закрыв программу (кнопка "Выход"). Иначе для включения телефона вам возможно придется отключить от него аккумулятор, а затем подключить его вновь. И только после этого телефон сможете включить кнопкой включения на телефоне. Кнопка "Обновить ->", - для обновления информации о телефоне, которая появляется правее этой кнопки. Эта информация, так же, автоматически обновляется при первом же обращении к телефону на чтение или запись флеш. Она будет полезна при возникновении проблем с записью данных во флеш телефона. Выбор телефона В выпадающем списке телефонов вы выбираете драйвер (лоадер) телефона, который будет загружен в телефон в начале работы с ним (на этапе подключения к телефону, т.е. соединения V_KLay с телефоном) В этом списке после имени телефона вы можете увидеть следующие слова (символы): без слов (просто название телефона) - это драйвер для обыкновенного телефона, в котором не делалось никаких ни аппаратных ни программных изменений относящихся к способу связи его с компьютером и программами-флешерами. (with Test Point) - (с тест поинтом) - означает что это драйвер для телефона, который был разобран и определенные тест поинты (контакты на плате) были подключены к общему проводнику. Подробнее, что и куда подключается, можно найти, например, здесь. (online) - (или, (online on 19200) и т.п.. ) - означает что телефон можно флешить не выключая его, т.е. в процессе его нормальной работы. На SL45 это возможно только если установлен патч от Mamaich (качайте отсюда или с сайта автора, где вы можете найти самые последние версии этого патча). Обратите внимание на то что для активации этого режима работы телефона его модему посылается специальная AT команда на той скорости на которой работает модем. Стандартно модем работает на скорости 19200, но если вы ставили патч ускорения работы модема, то должны изменить параметр BootPortSpeed vkd файла драйвера (для "SL45 (online on 19200)" это data\Loaders\SL45_online19200.vkd) на нужную скорость модема. В программе уже есть 2 варианта лоадеров: "SL45 (online on 19200)" - для обыкновенного телефона и "SL45 (online on 115К)" - для телефонов у которых скорость модема повышена до 115K патчем того же многоуважаемого Mamaich. Причем, скорость, на которой у вас работает модем телефона никак не зависит от скорости передачи данных при чтении / записи флеш, которую вы указываете в поле "Скорость". Скорость модема должна быть указана в параметре BootPortSpeed vkd файла драйвера (или после слов online on ). Скорость чтения/записи флеш - указывается поле "Скорость". На данный момент поддерживаются такие скорости чтения/записи флеш в патче от Mamaich: 19200, 57600, 115200, 234000, 460800. Другие скорости не поддерживаются и установка их приведет к ошибке передачи данных. Соединение телефона с V_KLay Это самый важный этап в работе V_KLay с телефоном, т.к. если программа V_KLay не увидит - ничего вы с ним не сделаете. V_KLay автоматически поддерживает 2 типа autoingition (когда ничего не нужно делать кроме как подключить телефон в дата-кабелю с autoingition) но в большинстве случаев дата-кабели такой возможности не имеют, поэтому нужно это делать вручную. 1-й способ соединения вручную - через стакан (кредл) от SL45i или через дата-кабели с возможностью подзарядки телефона (USB-кабели например). 1. Возьмите телефон в руки, выключите его, в стакан не вставляйте (не подключайте к дата-кабелю (USB-кабелю, т.е. сам USB кабель к компьютеру подключите, но другой его конец к телефону не подключайте)). 2. Нажмите в V_KLay кнопку с нужным вам действием над телефоном, или просто кнопку "Обновить ->". 3. Появится окно состояния в котором будет отображаться текущее действие программы. 4. Дождитесь, когда в окне состояния появится надпись "Соединение... Жмите Выкл. или отключите-подключите кабель при выключенном телефоне." 5. Выключенный телефон вставьте в стакан (подключите к дата-кабелю (USB-кабелю)). 6. Если через 5-10 секунд надпись в окне состояния не изменилась, значит программа телефон не определила. Тогда нужно пп. 1-6 повторить заново. 2-й способ соединения вручную - через дата-кабель без autoingition и без возможности подзарядки телефона. 1. Выключите телефон и подключите его к дата кабелю. 2. Нажмите в V_KLay кнопку с нужным вам действием над телефоном, или просто кнопку "Обновить ->". 3. Появится окно состояния в котором будет отображаться текущее действие программы. 4. Дождитесь, когда в окне состояния появится надпись "Соединение... Жмите Выкл. или отключите-подключите кабель при выключенном телефоне." 5. Кратко (примерно на пол секунды), но четко нажмите на кнопку включения телефона. 6. Если через 1-3 секунды надпись в окне состояния не изменилась, значит программа телефон не определила. Тогда нужно пункт 5 повторить заново. Автоматическое соединение через дата-кабели с autoingition. Т.к. соединение происходит автоматически, то от вас ничего не требуется, кроме как убедиться что ваш дата-кабель действительно с autoingition. V_KLay поддерживает autoingition 2-х видов: - обычный (когда сигнал COM порта DTR соединен с входом для зарядного напряжения телефона через диод) - оригинальный от Siemens, который можно получить взяв стакан от SL45i и соединив сигнал DTR COM порта компьютера с выводом №4 разъема последовательного порта (RJ-45) стакана так как показано красным на рисунке с сайта Werefox. После этого сигналом DTR можно подключать/отключать подачу напряжения зарядки на телефон. Порядок действий: 1. Выключите телефон и подключите его к дата кабелю (в стакане от слика он при этом войдет в режим зарядки аккумулятора). 2. Нажмите в V_KLay кнопку с нужным вам действием над телефоном, или просто кнопку "Обновить ->". 3. Появится окно состояния в котором будет отображаться текущее действие программы. 4. Через некоторое время окно состояния исчезнет и телефон будет готов к работе. 5. Если окно состояния не исчезло а появилась надпись "Соединение... Жмите Выкл. или отключите-подключите кабель при выключенном телефоне.", то либо autoingition не сработал, либо кабель у вас без autoingition. Поэтому либо повторите пп. 1-4, либо пользуйтесь способами соединения вручную. Соединение с телефоном при выборе типа телефона с (online). С этим драйвером в прошивку телефона можно производить изменения не выключая его, т.е. в процессе его нормальной работы. На SL45 это возможно только если установлен патч от Mamaich (качайте отсюда или с сайта автора, где вы можете найти самые последние версии этого патча). Т.к. все операции с телефоном производятся в процессе его нормальной работы, то тип дата-кабеля не имеет значения, и выключать телефон не надо. Обратите внимание на то что для активации этого режима работы телефона его модему посылается специальная AT команда на той скорости на которой работает модем. Стандартно модем работает на скорости 19200, но если вы ставили патч ускорения работы модема, то должны изменить параметр BootPortSpeed vkd файла лоадера (для "SL45 (online on 19200)" это data\Loaders\SL45_online19200.vkd) на нужную скорость модема. В программе уже есть 2 варианта лоадеров: "SL45 (online on 19200)" - для обыкновенного телефона и "SL45 (online on 115К)" - для телефонов у которых скорость модема повышена до 115K патчем того же многоуважаемого Mamaich. Порядок действий при подключении к телефону в использованием данного драйвера. 1. Подключите работающий телефон к дата кабелю. 2. Нажмите в V_KLay кнопку с нужным вам действием над телефоном, или просто кнопку "Обновить ->". 3. Появится окно состояния в котором будет отображаться текущее действие программы. 4. Через некоторое время окно состояния исчезнет и телефон будет готов к работе. После подключения к телефону выполнение его внутренней программы приостанавливается, изображение на экране замирает, телефон при этом теряет сеть. Поэтому никакие внешние звонки и д.р. не могут нарушить процесс записи/чтения флеш телефона. После окончания работы с телефоном нажимайте кнопку "Включить" в V_KLay, телефон моментально находит сеть и дальше работает как обычно. Работа с файлом флеша. Т.е. с фуллфлешем (или его частью), считанного из телефона ранее. Этот режим может быть очень полезен, например для применения патчей на новые модели телефонов, для которых в V_KLay нет драйверов (.vkd файла), но есть другие программы, позволяющие читать/записывать флеш таких телефонов. В этом режиме вы должны указать: По кнопке "..." вы должны выбрать файл флеша с которым хотите работать В поле "С адреса" вы должны указать с какого адреса считана данная часть флеша телефона (адрес равен 0x000000 для фуллфлеша) В поле "Размер" автоматически отображается размер выбранного вами файла флеша. Порядок настройки данного режима работы. Прочитать из телефона часть флеша нужную для патча (или весь флеш) программой-флешером (Этой же программой, вкладка Флешер или Unisiemens, например; как это сделать можно прочитать здесь) и сохранить ее в .bin файл. Имя файла лучше задавать в виде ИмяФайла_AA.bin, где ИмяФайла - любые символы, АА - первые 2 шестнадцатеричные цифры адреса, с которого считана часть флеша (например 1А0000 => 1А). Если имя файла имеет такой формат, то программа V_KLay пропишет начальный адрес в поле "С адреса" автоматически. Затем загрузите часть флеша (или фуллфлеш) в программу V_KLay: нажать кнопку "..." в разделе "Работать с Файлом части флеш", выбрать файл. Убедитесь что в окошке "С адреса" прописан именно тот адрес, откуда был считан данный кусок флеша (адрес равен 0x000000 для фуллфлеша). Настройка V_KLay По нажатию на кнопку "Опции" появляется диалог, в котором вы можете настроить основные параметры V_KLay. Раздел "Общие" Здесь находятся настройки, общие для всей программы V_KLay. Отключить предупреждения и уведомления - если данная опция включена всякие не критические сообщения и вопросы к пользователю показываться не будут. Язык интерфейса - выбор языка интерфейса программы. Автор перевода - автор выбранного языка интерфейса. Внешний редактор / программа ... - укажите здесь путь к запускному файлу каждой внешней программы. Писать его можете вручную, либо нажав кнопку "..." выбрать его при помощи стандартного диалога выбора файла. Иконка на кнопке в панели кнопок внешних программ берется из запускного файла этой внешней программы, поэтому вы очень просто можете ее идентифицировать. Раздел "Вкладка Патчи" Здесь находятся настройки, специфичные для вкладки "Патчи". Кодировка текста - кодировка текста патча (точнее его комментариев). Используется при открытии текста патча, в котором нет идентификатора кодировки, в которой он написан. Также в этой кодировке происходит запись патча на диск, при этом идентификатор этой кодировки добавляется в текст патча. Поэтому на любом компьютере при открытии такого патча, его текст будет отображен корректно. По умолчанию этот параметр равен значению "(как в системе)" - т.е. выбирается та кодировка, которая установлена в системе. "Расширенные" опции. По нажатию на кнопку "Расширенные" на диалоге "Опции" появляется диалог, в котором вы можете настроить расширенные параметры V_KLay. Создание нового языка интерфейса Если вашего языка нет в списке, или он есть, но при его выборе интерфейс все равно остается на английском, или он есть в списке, интерфейс изменяется, но некоторые сообщения не переведены, это означает что для вашего языка нет файла языкового пакета или он есть, но переведен не полностью. Файлы языковых пакетов имеют расширение .h и находятся в подкаталоге data\Lang в каталоге где установлен V_KLay. Создание .h файла. Если файла языкового пакета для вашего языка не существует - свяжитесь со мной (например по e-mail ValeraVi@mail.ru) и я вам вышлю шаблон для вашего языка. Если же вы не имеете возможности связаться со мной, вы можете создать такой файл, просто скопировав его из уже имеющегося файла языкового пакета для другого языка, например из English.h. При этом вы должны изменить заголовок этого нового файла, чтобы он отображался в списке языков в V_KLay. Для этого: 1) Найдите в .h файле секцию для исходника !=- language file info =-!.cpp. Это должны быть строки вида: // Source: d:\my\_design_\v_klay\visual c++\v_klay\!=- language file info =-!.cpp // // ===: L0001_0900b20a8ee "In this section for source file you do not must translate somethig ... - Затем, в этой секции, содержащей параметры языкового пакета вы должны исправить их значения. Каждый параметр занимает 2 строки: 1-я строка - имя параметра. Начинается эта строка с символов // ===: (или // +++:), дальше идет некий набор служебных символов (например L0001_09afe86a371) - не обращайте на них внимания, затем в кавычках - собственно имя параметра (например VLP_LANGUAGE_NAME), затем двоеточие (:) и через пробел краткое описание назначения параметра. 2-я строка (следующая) - значение параметра. Начинается эта строка с символов #define, дальше идет некий набор служебных символов (например L0419_09afe86a371) - не обращайте на них внимания, затем в кавычках - собственно значение параметра (например Russian). Пример: // ===: L0001_09afe86a371 "VLP_LANGUAGE_NAME: (name of this language in english)" #define L0419_09afe86a371 "Russian" где: VLP_LANGUAGE_NAME - имя параметра, (name of this language in english) - комментарий (описание) параметра, Russian - значение параметра. 2) Исправьте имя языка на имя вашего языка (оно должно быть написано по английски). Имя параметра: VLP_LANGUAGE_NAME. 3) Исправьте locale string языка на locale string вашего языка. Locale string определяется кодировку текста при помощи которой написан текст перевода. Имя параметра: VLP_LOCALE. Locale string записывается в формате: Lang[_CountryRegion[.CodePage]], например: chinese-simplified_china.936 или: English_United States.1252 Если вы не знаете как ее написать, можете оставить этот параметр с пустым значением и V_KLay будет использовать locale string, которая установлена по умолчанию для того компьютера, где запускается V_KLay. Но тогда при использовании данного языкового пакета вам придется настроить саму Windows на кодировку, используемую в данном файле перевода. Самый простой способ узнать полную locale string, установленную в вашей системе такой: Запустить V_KLay. Перейти на вкладку "Патчи", Нажать там "Новый" для создания нового патча. В окне текста патча, написать что-нибудь, например слово "test". Зайти в "Опции" и убедиться что в разделе "Вкладка Патчи" значение настройки "Кодировка текста" установлена в "(как в системе)". Выйти из опций. Нажать "Сохранить..." на вкладке "Патчи". Потом открыть полученный .vkp файл в любом текстовом редакторе (например, Notepad) и найти строку, начинающуюся на ;locale= (например ;locale=English_United States.1252) . После равно (=) в этой строке и будет locale string, установленная в вашей системе, ее и скопируйте в значение параметра VLP_LOCALE. 4) Исправьте авторство перевода на свое. Имя параметра: VLP_AUTHOR. Свое имя пишите на английском языке, иначе оно может неправильно отобразиться в V_KLay. Перевод. Каждая фраза для перевода занимает в файле языкового пакета 2 строки. Записи для фраз разделены пустой строкой. Пример: // ===: L0001_0101ca19eaf "Nothing to read." #define L0419_0101ca19eaf "Не выбрано, что нужно читать." // ===: L0001_010c6d58513 "&About V_KLay..." #define L0419_010c6d58513 "&O программе V_KLay..." // ===: L0001_017ed919591 "File with part of Flash" #define L0419_017ed919591 "Файлом части флеш" Назначение строк для каждой фразы: 1-я строка - фраза на английском. В этой строке ничего исправлять переводить и т.п.. не надо. Она предназначена просто для справки - чтобы было видно что переводить. Строка начинается с идентификатора строки с фразой на английском (// ===:, // +++: или // ++!:), дальше идет некий набор служебных символов (например L0001_09afe86a371) - не обращайте на них внимания, затем в кавычках - собственно фраза на английском (например &About V_KLay...). Обратите внимание, что если идентификатора строки с фразой на английском равен // ++!:, то эта фраза не имеет 2-й строки, в которую нужно вписывать перевод. Это означает, что данная фраза уже встречалась и вы ее перевели ранее. Ни в коем случае не следует самостоятельно создавать 2-ю строку с переводом, если вы встретили такой идентификатор (// ++!:). Просто игнорируйте ее. 2-я строка - фраза, переведенная на ваш язык. В этой строке вы должны между кавычками вписать перевод фразы, записанной на английском в 1-й строке. Строка начинается с идентификатора строки с переводом фразы (#define), дальше идет некий набор служебных символов (например L0001_09afe86a371) - не обращайте на них внимания, затем в кавычках - собственно перевод фразы (например &O программе V_KLay...). В этой строке вы должны вносить изменения только в текст между кавычками. Нельзя исправлять или удалять другие элементы этой строки, такие как идентификатор или набор служебных символов. После перевода всего файла, убедительна просьба - пришлите мне его по е-mail ValeraVi@mail.ru. Я включу его в следующую версию инсталляционного пакета, с вашим авторством. Другая информация о V_KLay Другую полезную информацию о V_KLay, сможете найти в подкаталоге doc в каталоге, где установлена программа V_KLay: V_KLay_command_line_format.txt - описание формата командной строки V_KLay. V_KLay может открывать патчи, раскладки клавиатуры, файлы флеш телефона, имена файлов которых указаны в командной строке. При этом автоматически распознается тип файла и открывается соответствующая вкладка. При помощи командной строки также можно управлять процессом применения и отмены патчей, выбирать режим работы программы, тип телефона и др. VKD_File_Fromat.txt - описание формата файла драйвера телефона для V_KLay. Если у вас есть драйвер с необходимым протоколом передачи данных про COM порту, вы легко сможете преобразовать его в вид драйвера телефона в V_KLay. VKD_Loaders_protocol.txt - описание протокола, по которому обмениваются данными лоадер в телефоне и V_KLay. Если вы хотите написать свой лоадер к телефону, то придерживаясь этого простого протокола вы сможете подключить свой лоадер к V_KLay. VKP_File_Format.txt - описание формата .vkp файл патча. Для тех кто хочет оформить свой патч в виде .vkp файла патча. Это позволит вам в будущем легко применить его на другом телефоне. INI_File_format.txt - описание формата .ini файла изменения раскладки клавиатуры телефоне. Если хотите ввести в V_KLay поддержку изменения раскладки клавиатуры вашего телефона - создайте для него .ini файл. |