Перейти к содержанию
Old Phone Forum
  • Вход

    Вы сейчас не залогинены на форуме.

    Для возможности комментариев, загрузки файлов, подписок на ответы - вам надо войти.

Задаем вопросы по теме "Создание патчей, для начинающих"


Рекомендуемые сообщения

Помогите, пожалуйста, разобраться! Портирую патч с прошивки X700XEEK6 на X700XEFA1 и у меня что-то не получается, вместо мелодии играет только вибра, хотя должна играть мелодия. Посмотрите, выкладываю патч и мой порт, объясните, что я не правильно сделал!

Patch.zip

Siemens M35 -> C45 -> Samsung X100 -> X120 -> E300 -> E710 -> X700 -> E200 -> I710 -> D780 -> I9100

Ссылка на комментарий
Поделиться на другие сайты

  • Ответов 1,4 тыс
  • Создана
  • Последний ответ

Топ авторов темы

Если же выбрать "Нет", должен происходить возврат на набор СМС-сообщения (переход на mcc_sms_text_editor), туда же, куда возвращает из меню Опции. Он (возврат) собственно и происходит, но некорректно (см. скриншот). Т.е. экран как бы не обновляется.
В коде, по нажатию Вкл./Выкл. сначала очищается буфер ввода, а потом уже передается управление по адресу в шестом параметре!
PS.Если это же самое окошко повесить допустим на левую софт-клавишу (просто для проверки), то все работает. И выходит, и возвращает назад. Причем набранный текст остается на месте.
Ну что и требовалось доказать! При нажатии на правый и левый софт буфер не очищается, поэтому мы спокойно возвращаемся из меню опций!
Всё ещё будет...
Ссылка на комментарий
Поделиться на другие сайты

В коде, по нажатию Вкл./Выкл. сначала очищается буфер ввода, а потом уже передается управление по адресу в шестом параметре!

Но если на Вкл./Выкл назначить сохранение СМС (без всяких промежуточных окон), то оно нормально сохраняется. Его потом можно редактировать и т.д. Казус?

Сделал дело, вымой тело...

Нужна помощь? Ждем на irc-канале #sgh

Ссылка на комментарий
Поделиться на другие сайты

Но если на Вкл./Выкл назначить сохранение СМС

Т.е.? Меню опций отправки? Тогда точно казус...

Ссылка на комментарий
Поделиться на другие сайты

Привет все великим создателям! Скажите, пожалуйста, а вообще кто-нибудь занимается реализацией патч "прикрепление картинки из папки "изображения" на абонента"? Или это не реально?

Ссылка на комментарий
Поделиться на другие сайты

Помогите мне если сможете, каким образом работать с eeprom, где можно посмотреть карту памяти eeprom, чтобы сохранять туда данные не затронув других нужных данных.

Как работать с адресной книгой (нужно найти номер телефона по имени), и тоже самое только с быстрым вызовом.

SiemensC45->SiemensC55 +patch->SiemensCX65+patch + Samsung x460 (у жены :) )

Ссылка на комментарий
Поделиться на другие сайты

Т.е.? Меню опций отправки? Тогда точно казус...

Да нет. Просто, нажал Вкл./Выкл и сообщение сразу же сохраняется, а затем происходит возврат на раб. стол. И если верить тому, что написал dimastyj:

В коде, по нажатию Вкл./Выкл. сначала очищается буфер ввода

то это сохраненное СМС должно быть пустым. Но не тут то было.

 

 

Кстати, нашел как избавиться от того бага. Но при этом и текст тоже исчезает.

Сделал дело, вымой тело...

Нужна помощь? Ждем на irc-канале #sgh

Ссылка на комментарий
Поделиться на другие сайты

Кстати, нашел как избавиться от того бага. Но при этом и текст тоже исчезает.

Ну так поделись! :shock: Там может додумаем чего! :idea:

Всё ещё будет...
Ссылка на комментарий
Поделиться на другие сайты

Vadiks, подскажи, пожалуйста, какой начальный индекс у GetDefaultMenuValue, у МСС_ADD_LIST 87 это я нашел, а вот у GetDefaultMenuValue не нашел. МСС_ADD_LIST не подходит, так как меню я создавал через команды NAVIG, вот и не могу никак найти где эта МСС. Подскажи, если нетрудно.

Ссылка на комментарий
Поделиться на другие сайты

Ну так поделись!  Там может додумаем чего!

 

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

 

007F25F8  1C 08 001F 0010 0000 00000000 0000 0000  Выполнить 0x8 x2=31 x3=16 x4=0 x5=0 x6=0

007F2608  1C 08 000C 0015 0000 00000000 0000 0000  Выполнить 0x8 x2=12 x3=21 x4=0 x5=0 x6=0

007F2618  1C 08 0025 0000 0000 00000000 0000 0000  Выполнить 0x8 x2=37 x3=0 x4=0 x5=0 x6=0

 

Разумно предположить, что какая-то из них и "очищает" (не знаю как точно выразиться) экран. После метода научного тыка выяснилось, что вторая. Попробовал вставить её перед возвратом на SMS_text_editor и ,О ЧУДО! - экран чист. Но и набранного заранее текста на нем нет. В принципе, все.

 

А вот так выглядит код патча:

006DD558  92 15 009A 009B 04C8 00000000 0306 0000  Запрос "Вы уверены?"

006DD568  1D 09 0001 000E 0000 007F79C8 0000 0000  Если x1=9 x2=1 x3=14 то переход на mcc_sms_exit -> 0x7F79C8

006DD578  1E 09 0001 000F 0000 006DD598 0000 0000  Или если x1=9 x2=1 x3=15 то переход на 0x6DD598

006DD588  1E 09 0001 0009 0000 007F79C8 0000 0000  Или если x1=9 x2=1 x3=9 то переход на mcc_sms_exit -> 0x7F79C8

006DD598  1C 08 000C 0015 0000 00000000 0000 0000  Выполнить 0x8 x2=12 x3=21 x4=0 x5=0 x6=0

006DD5A8  21 00 0000 0000 0000 007F2918 0000 0000  Переход на адрес mcc_sms_text_editor -> 0x7F2918

post-24111-1142458170_thumb.gif

Сделал дело, вымой тело...

Нужна помощь? Ждем на irc-канале #sgh

Ссылка на комментарий
Поделиться на другие сайты

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

Да это не имеет никакого значения! Без разницы - менюшка или окно! Дело не в этом!

А вот так выглядит код патча:
Да с кодом все ясно как день, только не пойму где у тебя MCC C8?
Всё ещё будет...
Ссылка на комментарий
Поделиться на другие сайты

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

1C 0A 0023 0000 0000 00000000 0000 0000

1C 0A 000A 0017 0000 00000000 0000 0000

1C 0A 005F 0000 0000 00000000 0000 0000 но откуда что берется я так и не понял. Расшифруйте, пожалуйста, какие параметры и как задаются.

Ссылка на комментарий
Поделиться на другие сайты

Pahanych, это по большому счету MCC инструкции, которые указывают какой THUMB код выполнить!

Например: 1C 0A 0023 0000 0000 00000000 0000 0000

указывает что следует выполнить код по адресу 0x000C2D52

Всё ещё будет...
Ссылка на комментарий
Поделиться на другие сайты

Зайди в BinEdit на вкладку MCC и найди там 1C 0A - это и будет то, что нужно

r200s (отдал) -> e100 (отдал) -> v360 (убил) -> 6131 (поменял по гарантии) -> v3i (убил) -> Z6 + x460

Ссылка на комментарий
Поделиться на другие сайты

Зайди в BinEdit на вкладку MCC и найди там 1C 0A - это и будет то, что нужно

и ещё обязательно смотри смещение case 0x23

тогда и получится то, что нужно выполнить код по адресу 0x000C2D52

Живём не на радость, а просто пришибить некому!

Ссылка на комментарий
Поделиться на другие сайты

Что МСС 1С0А это я знал, я не понимаю, откуда берется 23, 17, 5F и т.д. Они ведь что-то обозначают? Для более понятного объяснения предлагаю опять же:

1C 0A 0023 0000 0000 00000000 0000 0000 это когда звук соединения включен

1C 0A 0022 0000 0000 00000000 0000 0000 а это уже когда выключен. Почему 22, откуда оно взялось ведь что-то на это должно указывать. Если кто-нибудь может, то напишите как должен выглядеть код включения и выключения приветствия в телефоне прямо в пункте меню 4.1(Приветствие).Меня интересуют параметры которые надо указать при выборе пункта выключено и включено. Патч, вернее его основа уже сделана мной, но я не знаю как сделать(какие параметры указать) чтобы при выборе пункта “включено” было приветствие, при выборе пункта “выключено” его не было. Всю инфу и недоделанный патч я могу выложить на форуме для тех, кто хочет мне помочь. Если я разберусь с этими параметрами, то впоследствии хочу написать хелп по этому патчу, наверняка этот хелп поможет многим. Так что выручайте и если можно, пожалуйста, поподробнее, т.к. я еще всего лишь начинающий. ;)

Ссылка на комментарий
Поделиться на другие сайты

т.к. я еще всего лишь начинающий.

Тогда сначала прочти хелп от AlexeyK тут (мне енто помогло) http://OldPh.one/

Живём не на радость, а просто пришибить некому!

Ссылка на комментарий
Поделиться на другие сайты

DimDimos,cпасибо за подсказку, но я его уже читал. Понимаешь дело в том что начинаю писать патч вроде бы все знаю как куда, но вдруг что-то не получается вот и хотелось бы понять как это все определить откуда берутся эти параметры?

Ссылка на комментарий
Поделиться на другие сайты

только не пойму где у тебя MCC C8

Да есть она конечно перед запросом. Не придал просто значения. (не выделил)

Сделал дело, вымой тело...

Нужна помощь? Ждем на irc-канале #sgh

Ссылка на комментарий
Поделиться на другие сайты

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

Ссылка на комментарий
Поделиться на другие сайты

Pahanych, по мойму я видел такой патч в разделе патчи для x100/600, посмотри как там это делали.

Ссылка на комментарий
Поделиться на другие сайты

1C 0A 0022 0000 0000 00000000 0000 0000 а это уже когда выключен. Почему 22, откуда оно взялось ведь что-то на это должно указывать.

MCC_TASK подфункция 0A, 0x22 - case смещение! Это просто инструкция, что делать дальше! MCC звуки не отключают! Все на уровне THUMB кода!

Всё ещё будет...
Ссылка на комментарий
Поделиться на другие сайты

MaxKis, там если набрано приветствие, то оно появляется при включении, а если нет, то и его нет. А я хочу чтобы было так: выбрал пункт включено и приветствие есть, а выбрал выключено, то и приветствия нет. Но трудность в том что я не знаю какие параметры задать к пунктам вкл./выкл. может подскажешь?

dimastyj, объясни,пожалуйста, для чего это смещение и как определить какое задать. Только пожалуйста поподробнее, а то я еще не въехал в эти смещения.

Ссылка на комментарий
Поделиться на другие сайты

Pahanych, я тебя понимаю, хочется все и сразу... :)

Когда то у меня было такое же ощущение :)

Этот патч для тебя трудновато будет реализовать, нужно сохранять вабраное значение в епром, а при загрузке загружать его. Потом анализировать и выполн. соответсвующий код(все на уровне THUMB).

22-это просто параметр котрорый передается в функцию(он может быть любым)

case переход-ну что сказать изучай програмирование...

на паскале синтаксис такой

case x of

1:

2:

..

end;

...

end.

где x значение которое анализируется, 1,2,3... возможные значения

На асме посложней там к PC прибавляется смещение по параметру(который ты вводишь у нас 22), и ты увидишь такой код.

000C26B8: 0612 DCD 0x0612 ;B loc_000C2C92 ;при 0x1C ;Переход по адресу 0xC2C92

000C26BA: 061E DCD 0x061E ;B loc_000C2C9E ;при 0x1D ;Переход по адресу 0xC2C9E

000C26BC: 065C DCD 0x065C ;B loc_000C2CDC ;при 0x1E ;Переход по адресу 0xC2CDC

000C26BE: 06A2 DCD 0x06A2 ;B loc_000C2D22 ;при 0x1F ;Переход по адресу 0xC2D22

000C26C0: 06AE DCD 0x06AE ;B loc_000C2D2E ;при 0x20 ;Переход по адресу 0xC2D2E

000C26C2: 06BA DCD 0x06BA ;B loc_000C2D3A ;при 0x21 ;Переход по адресу 0xC2D3A

000C26C4: 06C6 DCD 0x06C6 ;B loc_000C2D46 ;при 0x22 ;Переход по адресу 0xC2D46

000C26C6: 06D2 DCD 0x06D2 ;B loc_000C2D52 ;при 0x23 ;Переход по адресу 0xC2D52

000C26C8: 06DE DCD 0x06DE ;B loc_000C2D5E ;при 0x24 ;Переход по адресу 0xC2D5E

000C26CA: 06EC DCD 0x06EC ;B loc_000C2D6C ;при 0x25 ;Переход по адресу 0xC2D6C

при параметре 22 Переход по адресу 0xC2D46

вот че по этому адресу

000C2D46: 4977 LDR R1, =0x016DFB48 ;R1 = значение по адресу (PC + 476)=[0xFFF3D0DC]= 0x016DFB48

000C2D48: 2000 MOV R0, #0x0 ;R0 = 0

000C2D4A: 7008 STRB R0, [R1] ;байт по адресу [R1] = R0

000C2D4C: 4976 LDR R1, =gv_minute_minder ;R1 = значение по адресу (PC + 472)=[0xFFF3D0D8]= 0x016DF2AC

000C2D4E: 7008 STRB R0, [R1] ;байт по адресу [R1] = R0

000C2D50: E192 B loc_000C3078 ;Переход по адресу 0x000C3078

переменной gv_minute_minder и 016DFB48 присваевается значение 0.

А вообще советую перечитать еще раз хелпы, может поможет.

Ссылка на комментарий
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

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

Создать аккаунт

Зарегистрируйте новый аккаунт в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти



×
×
  • Создать...