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

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

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

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


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

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

Лучше работать завтра, чем сегодня...

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

  • Ответов 947
  • Создана
  • Последний ответ

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

А разве обработка цифровухи/звездочки/решетки не происходит в самой lk_MoveMenu ? Ведь по нажатию звездочки, телефон переходит на 11-й пункт меню.. Решетки - на 12-й.. И я думаю там глобальней это сделано.

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

ну это ещё не мой уровень :roll: поэтому и оставим пока как есть... когда нибудь мож вернёмся к этому...

Лучше работать завтра, чем сегодня...

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

Разобрался с be и rxt для прошивки C5212XEIK1

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

 

Возник вопрос: исходя из каких соображений выбирается свободное место для патча? Как создать глобальную переменную? Где взять файлы SYM и т.п. хотя бы для других прошивок (или даже на схожие телефоны)?

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

FRAER, надоело мне играться с калькулятором... мозги закипают...

я как обычный пользователь, а не программист, сделал себе маленькую помощь для масок :roll: файл прикреплен :60:

 

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

Параметр №3

бит 0 - вызов

бит 1 - отбой

бит 2 - C

бит 3 - удержание С

бит 4 - вверх

бит 5 - вниз

бит 6 - влево

бит 7 - вправо

бит 8 - левый софт

бит 9 - правый софт

бит A - ?

бит B - ?

бит C - *

бит D - #

бит E - любая цифровая

бит F - удержание цифр

 

я это только предполагаю... но удержание С у меня заработало при соответствующем изменении маски... коряво правда и вовсе не так. как мне хотелось бы, но если в маске его убрать, то оно вообще не срабатывает...

а биты С и Д могут быть качелькой...

_____.rar

Изменено пользователем BaRsupillamy
  • Like 1

Лучше работать завтра, чем сегодня...

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

исходя из каких соображений выбирается свободное место для патча?

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

если поискать - найдешь еще пару десятков ненужных картинок...

Как создать глобальную переменную?

раньше было проще - выбирался любой адрес из конца ОЗУ и нужные данные писались туда, ну например 0x30FFFFF0

 

но сейчас, по крайней мере на м3510, трудно найти неиспользуемую ОЗУ, проверка показала, что, например, при работе PV или просмотре видео используется вся ОЗУ, вплоть до адреса 0x30FFFFFF

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

Где взять файлы SYM и т.п. хотя бы для других прошивок (или даже на схожие телефоны)?

попросить у кого-нить или искать эквиваленты самому по имеющимся в свободном доступе симам (например, к E740)

хотя, по сравнению с E740, многие функции будут отличаться, а некоторых не будет вообще, вместо них будут уже какие-то другие, свои...

 

 

вот тебе для начала :132:

;C5212XEIB5.sym
0x2058A440 T Reg_Draw_Title
0x3053BCD6 D gv_ImageTitleIconStart
0x20639D90 T lk_get_text
0x20639D58 T lk_get_sofk
0x2058A3DC T Reg_Draw_Softkey
0x20EFA3C8 T lk_AddMenu
0x201C5C54 T lk_PutMenuExtInfo
0x20A8E088 T lk_CreateMenu
0x30502D30 D gs_DspMenu
0x30350858 D gv_BTActivateState
0x20EE2700 T hmel6_16SetMultiPolyMelodyVibrator
0x21626362 T Rtk06_3DetermineTaskNumber
0x305F097B D mmi_vib_on_flag
0x21626C8A T RtkStartTimer

 

и вот еще http://OldPh.one/ipb.html?act=Attach&am...st&id=96407

 

так же покопайся в исходниках, там тоже можно найти некоторые эквы :(

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

бит F - удержание цифр

не подтверждаю

а биты С и Д могут быть качелькой...

тоже нет

бит 3 - удержание С

а вот это вполне возможно, но я проверить не могу, т.к. у меня С нету... :132:

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

ну и ладно :132: я тольк опредположил... ну удержание С похоже...

в любом случае, благодаря этой твоей информации в нужном мне месте я сумел включить для обработки зелёную трубку :52:

Лучше работать завтра, чем сегодня...

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

FRAER, Спасибо!

Если у меня получится портировать основные патчи на C5212XEIK1 имеет ли смысл их выкладывать во всеобщий доступ?

Я хочу портировать все патчи просто чтобы разобраться в структуре прошивок.

 

Лично для себя я хочу добавить поддержку аккумулятора от моего полугодовалого CDMA телефона. Механически он подходит, а электрически — нет.

 

На каком этапе лучше выкладывать патчи, и кого вписывать в авторов, ведь в исходниках и smp достаточно серьёзная путаница.

Я портирую патчи одновременно с C5212XEIB5 и D780XEHE1 т.к. проще найти общие функции и переменные.

В последствии я хочу сам писать патчи, главное чтобы у меня хватило духа.

 

И еще вопрос: если делать патчи, то какие языки актуальны? RU, UA, EN, DE всё?

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

Если у меня получится портировать основные патчи на C5212XEIK1 имеет ли смысл их выкладывать во всеобщий доступ?

конечно, почему нет :77:

Я хочу портировать все патчи просто чтобы разобраться в структуре прошивок.

:)

В общем, на каком этапе лучше выкладывать патчи

да на любом, главное, чтоб они работали...

и кого вписывать в авторов, ведь в исходниках и smp достаточно серьёзная путанница.

с того smp и вписывай с какого ты именно портируешь...

 

И еще вопрос: если делать патчи, то какие языки актуальны? RU, UA, EN, DE всё?

ну самые основные - Ru, Ua и En, при желании можно делать все

но я, например, добавляю только эти языки, для остальных оставляю Английский вариант

а если уж кто-то попросит конкретную локализацию - всегда можно быстро поправить исх - дело-то минутное... :)

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

помню ещё во времена х700 видел прогу, которая позволяла как проверить не мешают ли друг другу патчи и в каких блоках?

подскажите, есть ли такая?

Лучше работать завтра, чем сегодня...

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

помню ещё во времена х700 видел прогу, которая позволяла как проверить не мешают ли друг другу патчи и в каких блоках?

подскажите, есть ли такая?

Думаю, ты о программе CLAB от Pako777

Сам правда ей не пользуюсь, но насколько знаю - подойдёт для твоих целей.

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

не... похоже не она... а мож такая прога только задумывалась? там кто то хотел сделать цветовое отображение пересекающихся блоков в патчах...

Лучше работать завтра, чем сегодня...

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

не... похоже не она... а мож такая прога только задумывалась? там кто то хотел сделать цветовое отображение пересекающихся блоков в патчах...

Testing_patch_block V1.5, Программа для определения конфликтов между патчами(и не только).

  • Like 2

Обожаю свою жену Анюточку! =)

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

Программа именно та :(

вот и помогла найти, откуда косяк с возвращением назад из опций в приложениях явы... хочу его исправить, знаю как... но возникает конфликт с патчем "Ява в фоне"...

так как сам ещё не умею разобраться, не мог ли кто нибудь помочь... там в патче переход вот по этому адресу 202EEF84 на адрес 20848B64... и по этому адресу следующее:

 

20848B64 18 20 0300 0500 0000 C80A4B21 0000 0000 Если x1=32 x2=3 x3=5 то переход на 0x214B0AC8

20848B74 7B 00 0100 0000 0000 00000000 0000 0000 Возврат из меню на 1 уровень

 

вот что это за If и для чего он? никто не сможет объяснить? в оригинале по адресу, где сделан переход, был просто возврат из меню на 1 уровень... т.е. так:

 

202EEF84 7B 00 0100 0000 0000 00000000 0000 0000 Возврат из меню на 1 уровень

 

для чего сделан этот иф :) а то я от него у себя избавился, теперь нормально работает возврат, но хочу узнать, зачем его делали...

Лучше работать завтра, чем сегодня...

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

BaRsupillamy,

этот IF там для проверки, сворачивали ли яву и если яву сворачивали, то переход на десктоп, иначе возврат в меню явы

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

вот объяснение необходимости этого ифа из патча "Ява в фоне" от f2065

 

 
; при выходе из ранее свёрнутого приложения - родительского меню то нету!, 
; и потому экран не обновляется потом (потому что мобила хочет вернутся в список ява-программ).
; Для решения этой проблемы:
.start 0x202EEF84
.mcc MCC_TRANSF 0 0 0 0 mcc_sjava_SmartExit

mcc_sjava_SmartExit:
;при выходе из явы, штатно возврат по стеку меню... 
;но если яву сворачивали-разворачивали, то стека меню уже нет, 
;и тогда надо корректно инициализировать экран, иначе он будет 
;висеть пока часы не обновят минуту
.mcc MCC_IF 32 3 5 0 0x214B0AC8; процедура ожидания на десктопе
.mcc MCC_RETURN_MENU 0 1; иначе возврат по стеку меню
;------------------------------

Обожаю свою жену Анюточку! =)

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

ничего не понял, если честно :(

 

213FE468  5D 00 0000 0000 0000 00000000 0000 0000  Подготовка окна

213FE478  4A 59 2D00 3B02 0100 00000000 0203 0000  Вопрос "POP3"

 

откуда здесь берётся текст "Удалить?"

Лучше работать завтра, чем сегодня...

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

ничего не понял, если честно :(

 

213FE468  5D 00 0000 0000 0000 00000000 0000 0000  Подготовка окна

213FE478  4A 59 2D00 3B02 0100 00000000 0203 0000  Вопрос "POP3"

 

откуда здесь берётся текст "Удалить?"

 

0x023B - здесь текстовый ресурс удалить, а BE определил что индекс текстовый это 0x002D (POP3)

 

P.S. текст в BE формируется из binedit.ini, в твоем случае:

MCCKey id="MCC_QUESTION" coment="Вопрос ""$$2$"""

 

как её исправить я не знаю, хотя и просто. А вот почему у окошек разных один и тот же адрес.. этим вопросом ты меня загнал в ступор.. :)

 

P.P.S. Лучше объясни како-й(-е) именно файл(сообщение) хочешь удалить, ятобы было легче самому отыскать это окошко и возможно найти объяснение.

Изменено пользователем SantaX

Обожаю свою жену Анюточку! =)

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

ну, я знаю что там типа текстовый ресурс :( но это же не он :)

я тебе говорил, что точь в точь этот запрос идёт в двух случаях: и когда защищенный элемент, и когда нет... текст разный, а мсс одна... значит текст как то иначе получается...

Лучше работать завтра, чем сегодня...

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

BaRsupillamy,

BinEdit.ini правь, на разных моделях разные параметры играют роль индексов текстового ресурса...

 

MCCKey id="MCC_QUESTION" coment="Вопрос ""$$3$"""

 

- так исправь и будет у тебя нормально отображать, но перестанет нормально отображать на прошивках других моделей...

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

блин... вопрос... думал, всё получится...

почему вот так вот работает

.start 0x202eef84

.mcc mcc_transf 0 0 0 0 0x218C7958

 

а вот так вот нет???

если это проверка на сворачивание, то у меня же ничего не сворачивалось...

я думал сработает...

 

.start 0x202eef84

.mcc MCC_IF 0x20 0x3 0x5 0 0x20848B64

.mcc mcc_transf 0 0 0 0 0x218C7958

Лучше работать завтра, чем сегодня...

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

.start 0x202eef84

.mcc MCC_IF 0x20 0x3 0x5 0 0x20848B64

.mcc mcc_transf 0 0 0 0 0x218C7958

 

обьяснить врядли смогу.. но всё же, ошибку скажу.. раз ты условие поставил до пересылки, то в пересылке адрес измени на 0x218C7968, иначе у тебя эта проверка 2 раза происходит.. и к тому же заметь что этот иф от мастер патча, хотя здесь это наверно не важно

Обожаю свою жену Анюточку! =)

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

вообще тебя не понимаю...

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

я тут вообще не руководствовался никакими знаниями...

на мой взгляд тут вообще всё на приницпах простейшего алгоритма... идём по коду... стоит if... он не срабатывает и мы переходим на следующую строку...

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

может тут проверка от обратного идёт? типа не "если ява свёрнута", а "если ява не свернута"??

как же тяжело ничего не зная, что то делать пытаться :( люблю метод научного тыка...

Лучше работать завтра, чем сегодня...

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

Расскажите пожалуйста как пользоваться мастер патчем

Я его как бы портировал на C5212XEIK1, но проверить не могу т.к. нет информации.

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

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

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

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

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

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

Войти

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

Войти



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