Вернуться   Motorola Форум LetsMoto > Телефоны Motorola > Мануалы (FAQ) по E398 и ROKR
Имя
Пароль
Объява
Объявление
Если ты первый раз здесь - прочти правила
Если у тебя есть вопросы и проблемы с телефоном, и тебе хочется написать о них на форуме - посмотри сначала раздел с мануалами (FAQ) по своей модели
Пользуйся поиском по форуму! Наверняка, на твои вопросы уже были даны исчерпывающие ответы!
Кто еще раз запостит на форуме тему "ПАМАГИТЕ!!!! ВЫЛЕТАЕТ ИЗ СИЛЕЙ ОПОВЕЩЕНИЯ!!!" или "КАК ПЕРЕПРОШИТЬ!!!???" или "ПАРБЛЕМА С СМС НА РУССКАМ!!!" получит годовой бан. Читайте раздел FAQ!
ТЕМЫ с названиями "ХЕЕЕЛП", "ПАМАГИТЕ!!!" и тому подобные будут немедленно удаляться а автор получит предупреждение! Попытайтесь в названии темы отразить суть проблемы!
Закрытая тема
 
Опции темы
Старый 17.02.2007, 17:02   #1
Координатор
Адекватный
 
Аватар для Black Scorpio

Регистрация: 29.09.2005
Адрес: svchost.exe
Phone: E390=>E790=>E1 iTuns
Прошивка: Black The best made by Black Scorpio©
Сообщения: 190
Уровень респекта: 384
Отправить сообщение для  Black Scorpio с помощью ICQ
Post Что такое Opcode? Делаем своими руками.

За убитые по неосторожности телефоны я ответственности не несу! Внимательно читаем, вникаем и только потом эксперементируем с созданием опкодов.

В данном мануале я хочу исправить досадную ошибку, связанную с тем, что все юзают меню Opcode, но не знают что это такое и откуда вообще беруться опкоды. Ниже я расскажу, что это такое и как можно самому написать любой опкод. (конечно сейчас уже существует много программ, делающих опкоды, но надо хотябы иметь понятие о том что они делают, да и сделать что-то своими руками всегда приятнее )

И так, что же такое Opcode и какова их связь с настройками, которые мы меняем при помощи программы P2kTools и других?
Ответ очень прост. Opcode представляет собой последовательность команд, вводимых нами в телефон, записанных в десятичной системе исчисления. И всё бы хорошо, если бы не пара НО. Все команды в меню Opcode надо вводить в десятичной системе исчисления, а телефон нам показывает все числа в шестнадцатеричной. Ну а если мы по опкоду хотим восстановить те биты, которые изменяем (ставим галочки в P2kTools), то потребуется ещё и перевод в двоичную систему исчисления. В общем, придётся помучить стандартный инженерный виндосовский калькулятор по полной . Давайте перейдём к наглядному примеру для лучшего усвоения материала.
Вход в меню Opcode (сервисное меню) осуществляется быстрым нажатием кнопок Меню048263* Если всё введено правильно – появляется надпись ”Opcode:”. На данный момент мне известно четыре сервисные команды:
• 10 – установить
• 18 - выполнить
• 32 – чтение
• 47 – запись
Нам понадобятся только две последние (32 и 47) т.к с остальными пока не всё ясно .

Ещё раз хочу предупредить о том, что опкоды надо вводить очень аккуратно, особенно команду 47. стоит вам ошибиться хоть в одной цифре и вы уже не сможете вернуть всё назад при помощи телефона!

Пример: посмотрим в FAQ тему Карта правки seem Motorola RokrE1 и выберем интересующий нас пункт (в моём примере это будет включение поддержки голосовых меток).

В карте правки seem мы видим, что для активации данного пункта меню нам надо в SEEM 0032_0001 присвоить значение 1 (в двоичной системе исчисления) биту 0 в байте 1E (шестнадцатеричная система исчисления).

Теперь нам нужно прочесть этот байт, чтобы в случае неудачи можно было вернуть байту его исходное значение. Вводим команду чтения (32) и жмём ОК.
На экране появляется ”страшная” надпись «Field 1:». Field 1 – это номер seem. В моём примере им является 0032. Переводим его в десятичную систему исчисления и получаем цифру 50, которую вводим и жмём ОК.
Теперь на экране не менее ”страшная” надпись «Field 2:». Field 2 – номер записи. В примере им является 0001. Т.к 1 в любой системе исчисления 1, то переводить её никуда не нужно. Смело пишем 1 и тыркаем ОК.
Следующая надпись - «Field 3:». Field 3 – это байт, с которого мы хотим увидеть содержимое записи 0001. В нашем случае это 1E. При переводе в десятичную систему получаем 30, вводим и жмём ОК.
Появляется надпись «Field 4:». Field 4 – количество байт, отображаемых на экране, начиная с указанного в Field 3. Нам требуется только 1, что мы вводим и жмём ОК.
На экране видим следующее:

F1:0
F2(D):07


07 в поле F2(D) и является значением нужного нам байта записи 0001 в SEEM 0032 (не забываем, что число в шестнадцатеричной системе исчисления. PS У меня на телефоне поддержка включена, так что у вас будет другое значение (скорее всего или 06 или 0), отличное от 07, его и надо запомнить для отката!). Переводим число в поле F2(D) в двоичную систему отсчёта и получаем 111 (у вас другое число, начинающееся с 0 справа!).
Нам нужно присвоить биту 0 значение 1. Тут главное не ошибиться. ВНИМАНИЕ: отсчёт битов ведётся справа с нуля!!! (самое правое число соответствует нулевому биту)

Для наглядности напишу так:
Что у меня получилось : 0 0 0 0 0 1 1 1
Соответствующие биты: 7 6 5 4 3 2 1 0

Как видно из моего примера, у меня включены биты 0,1 и 2, а все остальные выключены. У вас вместо 1 над битом 0 будет тоже стоять 0.

Для присвоения биту 0 значение 1 надо просто записать то, что у вас получилось с заменой 0 на 1 справа (в моём случае без изменений). Далее переводим то, что у нас получилось в десятичную систему исчисления, в моем случае получается 7 и запоминаем его.

Теперь приступаем к созданию своего первого опкода и записи его не телефон .

Для записи значения на телефон нам нужно воспользоваться командой 47, что мы и делаем. Ну а дальше делаем всё так же как было описано для команды чтения. В конце у нас появляется надпись «Field 5 (D):». Тут-то мы и вводим получившееся у нас число (в моём примере 7).
Далее видим надпись F1:0, которая означает, что всё прошло успешно. Остаётся только перезагрузить телефон и радоваться появившейся поддержке голосовых меток меню

PS Для тех кто ещё не понял какой опкод у нас получился: 47*50*1*30*1*7.
__________________
Хочешь сказать "Спасибо" - жми "Респект".
Нужна помощь - стучи в асю.

Последний раз редактировалось Black Scorpio, 04.08.2007 в 12:20.
Black Scorpio вне форума  

Мотосъездная медаль: Выдается участникам мотосъездов - Причина вручения: Участник мотосъезда За активное участие в жизни сайта: Участникам, принимающим активное и грамотное участие в жизни проекта =) - Причина вручения:    Медаль  
Профиль пользователя Black Scorpio
Следующие 16 пользователя(ей) выразили Респект Black Scorpio:
Старый 01.01.2007, 00:00  
Мотоспонсор
 
Аватар для Yandex

Зарегистрированным пользователям реклама не отображается.
Закрытая тема


Здесь присутствуют: 2 (пользователей - 1 , гостей - 1)
DM19
Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Все для Motorola L7, V3, E398 и др. Программы для Motorola, бесплатные java-игры, драйвера
Letsmoto.inc


  Rambler's Top100
 
 
Часовой пояс GMT +4, время: 22:15.
Letsmoto.com inc. - Сделано в России
Все для телефонов Motorola
Копирование материалов сайта только с согласия администрации!
Дизайн-студия Онтона Пуха, 2005