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

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

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

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


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

А с какой целью то ?

Я примерно представляю как извне прервать ожидания MCC_USER_…

Но далее то какой-то MCC-код обязательно должен быть…

Нужен какой-то патч на C3322i, C3322, C3592, B5722, S5610, E1080, E1081, и прочие Swift/Infineon ? Обращайтесь в ЛС или E.F2065@gmail.com

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

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

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

Если попытаться кратко:

Хочу тройным нажатием кн. гарнитуры поставить плеер (не свернутый) на паузу. Нашел кучу стандартных mcc, сделал thumb-код для вкл./выкл. паузы. Через CSGN все работает без проблем, в патче же - сначала вроде срабатывает пауза, но через где-то пол-секунды воспроизведение возобновляется.

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

 

А когда из thumb-кода вкл. паузу, то после таймера сразу mcc_exit. А результат одинаковый. Вот и грешу уже на таймер. Уже кучу вариантов испробовал. HELP!

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

  • 3 недели спустя...

А как у дуоса что-нибудь прочитать из памяти slave ?

 

Я так понял что как-то это связано с функциями tipc…

 

Хочу добратся до нетмонитора slave…

 

в *324# всё изучил со стороны вызова - edp1_118SearchPhilipsIdentifier находит код, а затем всё через некоторое время упирается в Rtk05_2SendMsgToProcess PROCESS_EDP PROCESS_TIPC APPI_EDP_ACTIVATION_DBG_STR_IND.

Сделав эту же SendMsgToProcess - я могу запустить сам целый нетмонитор… Но мне то он целиком не нужен.

 

Раскопки с другой стороны - с MCC… там тоже тупик. По некому флагу в цикле из lk1_4idle_screen вызывается mcc_lk_idle_screen_mat которая просто печатает текстовый буфер на экран. Далее откуда-то вызывается tat71_71DisplayRxLev которая наполняет текстовый буфер. Но самое интересное - данные slave кто-то кладёт в s_SlaveDebugScreen (откуда они и берутся для вывода текста). Но только пока эта всё это работает - данные там есть, а иначе данных в s_SlaveDebugScreen нет.

 

Поиск точек использования s_SlaveDebugScreen - кроме печати на экран из две:

 

Tipc7_01MakeL1MsgToWriteDpram - но она сама перекидывает массив данных из s_SlaveDebugScreen

 

Tipc7_02L1MsgSendToModule - там наоборот, массив данных непонятно откуда перекидывается в s_SlaveDebugScreen

Но там не ясно откуда массив берётся и как это всё вызывается, вышестоящие вызовы линейны и никаких понятных аргументов нет вроде: Tipc2_02MakeMmiRxMsg - Tipc1_07MmiRxMsgHandler - Tipc1_81UserCallBackOnReadForNormal - Tipc1_77ICSLOpen - Tipc1_02InitReq - ar_Tipc_FsmTable - Tipc1_00DefaultCase

Нужен какой-то патч на C3322i, C3322, C3592, B5722, S5610, E1080, E1081, и прочие Swift/Infineon ? Обращайтесь в ЛС или E.F2065@gmail.com

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

  • 3 недели спустя...

Хочу в меню перед текстовыми строками добавить иконки (как например в меню выбора профилей).

 

lk_AddFocusItem/lk_AddMenu соответствующие аргументы посмотрел, но главная проблема - идентификатор иконки.

 

Вопрос в том, где и как называется эта таблица иконок, по которой берутся идентификаторы для lk_AddFocusItem или lk_AddMenu…

туда даётся просто номер иконки… причём номера большие - типа 0x2340…

 

Upd. Вопрос решён, эти иконки подсовываются через lk_GetIconInfo, там есть незанятые диапазоны (например с 1 до 1000) куда можно вставить свою таблицу IFG-иконок. Правда надо ещё формат иконок раскапывать, некоторые например при наведении меню становятся монохромными а некоторые остаются цветными.

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

Нужен какой-то патч на C3322i, C3322, C3592, B5722, S5610, E1080, E1081, и прочие Swift/Infineon ? Обращайтесь в ЛС или E.F2065@gmail.com

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

  • 1 месяц спустя...

А в чём разница между _sprintf и sprintf ?

Смотрю все используют в патчах _sprintf, а я использую sprintf и вроде всё тоже самое.

Код их сравнил - всё идентичное, это надстройки к _vfprint, но какой-то из аргументов для _vfprint разный.

Нужен какой-то патч на C3322i, C3322, C3592, B5722, S5610, E1080, E1081, и прочие Swift/Infineon ? Обращайтесь в ЛС или E.F2065@gmail.com

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

' date='27.01.2009, 2:55' post='414750']

vvyura: чтобы записать текст и в нем еще чтобы можно было указывать символы самому, надо писать не .string, а .byte. например, .byte "текст",0xD0,"продолжение текста".

.start	0x2153D33A
.byte "Л",0xD3,0xB1,"мер"

на выходе даёт:

2153D33A: D09B00D3B1D0BCD0B5D18000

после первого текста 0, и дальше текствый ресурс теряется. :az: Как можно попробовать исправить?

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

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

  • 2 недели спустя...

.start	0x2153D33A
.byte "Л",0xD3,0xB1,"мер"

на выходе даёт:

2153D33A: D09B00D3B1D0BCD0B5D18000

после первого текста 0, и дальше текствый ресурс теряется. :60: Как можно попробовать исправить?

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

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

  • 2 недели спустя...

Подскажите, как можно выводить графику в png с прозрачностью?

Я думаю такое вряд ли кто из текущих подскажет.

Такое все дело Freeman сделал иначе - у них есть свой формат графического файла (ani2) - rgb+альфа канал. Таким образом и получилась у них нормальная прозрачность. + еще в том, что файл не сжат, как png, т.е. требуется меньшее процессорное время. А именно png с прозрачностью вывести - хз вообще, смогет ли телефон это сделать (имею ввиду, что есть ли функция, рисующая png именно с прозрачностью). В Java прозрачность заменяется белым вроде фоном.. да и при просмотре картинок png тоже самое происходит.

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

Дело в том, что в просмотрщике добавляется фон, а вот в фоторедакторе png накладывается с прозрачностью как и нужно, поэтому и заинтересовался...

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

а меня интерисует другое,но тоже про графику:

у меня телефон C3300k в нём для иконок меню используется qmg картинки, причём одна картина для всех иконок (в ней 27 кадров)

телефон нормальна открывает qmg созданные при помощи Samsung Theme Designe, но он не может создавать многокадровые qmg

собственно вопрос: можно ли сделать так чтобы каждая иконка бралась из из отдельного файла (не важно qmg или ifg)?

 

Дело в том, что в просмотрщике добавляется фон, а вот в фоторедакторе png накладывается с прозрачностью как и нужно, поэтому и заинтересовался...

а ты побывал просто подменит ifg файл нужным png, я в c3300k так делал только разница в том что я менял qmg на ifg и телефон открывал их коректно, от сюда вывод что тело определяет декодер не по разширению,а по сигнатуре

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

Дело в том, что в просмотрщике добавляется фон, а вот в фоторедакторе png накладывается с прозрачностью как и нужно, поэтому и заинтересовался...

Эм.. честно говоря - не знал. У нас на G600 кстати при просмотре в папке "Мои фотографии" и "Загруженные картинки" одного и того же png - сразу видны различия. В моих фотах ощущение, что там с прозрачностью и рисуется он.

собственно вопрос: можно ли сделать так чтобы каждая иконка бралась из из отдельного файла (не важно gmg или ifg)?

Конечно можно. Напиши патч соответствующий и все будет)

а ты побывал просто подменит ifg файл нужным png, я в c3300k так делал только разница в том что я менял qmg на ifg и телефон открывал их коректно, от сюда вывод что тело определяет декодер не по разширению,а по сигнатуре

На обычном свифте это не сработает. Сигнатура не смотрится у нас - формат файла записан соответствующим байтом в таблице иконок - raw или ifg.

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

' date='31.08.2011, 11:11' post='593018']

Конечно можно. Напиши патч соответствующий и все будет)

мда, не так вопрос поставил

собственно хоте узнатать как найти это место в прошивке которое за это отвечает

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

телефон нормальна открывает qmg созданные при помощи Samsung Theme Designe, но он не может создавать многокадровые qmg
А выложи те qmg… Оригиналы и созданные в STD… Есть ряд разработок по созданию многостраничных qmg… он у 5722 например не отличается от единичных

Нужен какой-то патч на C3322i, C3322, C3592, B5722, S5610, E1080, E1081, и прочие Swift/Infineon ? Обращайтесь в ЛС или E.F2065@gmail.com

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

А выложи те qmg… Оригиналы и созданные в STD… Есть ряд разработок по созданию многостраничных qmg… он у 5722 например не отличается от единичных

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

 

записал значения чуть иначи, в итог отобразилась только первая иконка вместо всех в меню

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

  • 2 недели спустя...

А в чём разница между _sprintf и sprintf ?

смотрю M3510DDHJ1, сравним :)

		sprintf:
20A275A4:		PUSH	{R0-R3}
20A275A6:		PUSH	{R4,R5,LR}
20A275A8:		SUB	SP, SP, #0x44
20A275AA:		STR	R0, [SP, #0x3C]
20A275AC:		LDR	R0, =0xFFB675F7
20A275AE:		ADD	R1, SP, #0x58
20A275B0:		STR	R1, [SP, #0x38]
20A275B2:		ADD	R0, PC
20A275B4:		STR	R0, [SP, #0x20]
20A275B6:		LDR	R0, =0xFFB675FF
20A275B8:		ADD	R0, PC
20A275BA:		STR	R0, [SP, #0x24]
20A275BC:		ADD	R5, SP, #0x3C
20A275BE:		MOV	R0, R5
20A275C0:		ADD	R3, SP, #0x4
20A275C2:		ADD	R2, SP, #0x38
20A275C4:		LDR	R1, [SP, #0x54]
20A275C6:		BL	___vfprintf
20A275CA:		MOV	R4, R0
20A275CC:		MOV	R1, R5
20A275CE:		MOV	R0, #0x0
20A275D0:		BL	__sputc
20A275D4:		MOV	R0, R4
20A275D6:		ADD	SP, SP, #0x44
20A275D8:		POP	{R4,R5}
20A275DA:		POP	{R3}
20A275DC:		ADD	SP, SP, #0x10
20A275DE:		BX	R3
20A275E0:		DCD	0xFFB675F7
20A275E4:		DCD	0xFFB675FF

	_sprintf:
2058D7F4:		PUSH	{R0-R3}
2058D7F6:		PUSH	{R4,R5,LR}
2058D7F8:		SUB	SP, SP, #0x44
2058D7FA:		STR	R0, [SP, #0x3C]
2058D7FC:		LDR	R0, =0x000013A7
2058D7FE:		ADD	R1, SP, #0x58
2058D800:		STR	R1, [SP, #0x38]
2058D802:		ADD	R0, PC
2058D804:		STR	R0, [SP, #0x20]
2058D806:		LDR	R0, =0x000013AF
2058D808:		ADD	R0, PC
2058D80A:		STR	R0, [SP, #0x24]
2058D80C:		ADD	R5, SP, #0x3C
2058D80E:		MOV	R0, R5
2058D810:		ADD	R3, SP, #0x4
2058D812:		ADD	R2, SP, #0x38
2058D814:		LDR	R1, [SP, #0x54]
2058D816:		BL	___vfprintf
2058D81A:		MOV	R4, R0
2058D81C:		MOV	R1, R5
2058D81E:		MOV	R0, #0x0
2058D820:		BL	_sputc
2058D824:		MOV	R0, R4
2058D826:		ADD	SP, SP, #0x44
2058D828:		POP	{R4,R5}
2058D82A:		POP	{R3}
2058D82C:		ADD	SP, SP, #0x10
2058D82E:		BX	R3
2058D830:		DCD	0x000013A7
2058D834:		DCD	0x000013AF

как видно код абсолютно одинаковый, за исключением констант, присмотримся поближе 8)

20A275AC:		LDR	R0, =0xFFB675F7
...
20A275B2:		ADD	R0, PC
20A275B4:		STR	R0, [SP, #0x20]

проделаем операции

0xFFB675F7 + 0x20A275B5 = 0x2058EBAC = _sputc

для _sprintf:

2058D7FC:		LDR	R0, =0x000013A7
...
2058D802:		ADD	R0, PC
2058D804:		STR	R0, [SP, #0x20]

0x000013A7 + 0x2058D805 = 0x2058EBAC = _sputc

ну и, как не трудно подсчитать, в SP+0x24 в обоих функциях попадает одно и тоже значение 0x2058EBBA = _serror

 

получается функции АБСОЛЮТНО идентичны :)

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

А куда бы врезаться чтобы организовать автозапуск для некого патча ?

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

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

Нужен какой-то патч на C3322i, C3322, C3592, B5722, S5610, E1080, E1081, и прочие Swift/Infineon ? Обращайтесь в ЛС или E.F2065@gmail.com

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

f2065, для такого рода задач я врезался в районе mcc_lk_init_poweron_settings. Там уже tfs загружена.

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

по-моему все основные настройки загружаются в mcc_set_init, там и я врезался для загрузки настроек Extra Desktop :(

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

  • 4 недели спустя...

интересует работа mcc_edit, всю голову уже сломал...

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

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

так вот, где эти все маски-фильтры настраиваются? я так понял в прошивке где-то должна лежать таблица с параметрами полей ввода для разных ID? или они всесоздаются по индивидуальной программе? :)

помогите разобраться... :(

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

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

Не знаю насколько поможет, но вот я здесь собирал различные схемы ввода для инпута на G600. Тут и ввод даты, и только цифр и т.д. Но не уверен что они подойдут для других моделей - к примеру, когда портировал Dates calculator, значения поля ввода даты у G600 и M3510 различны.

Add_FocusItem.rar

  • Like 1

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

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

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

Есть такая буква, зовется ga_EditorInfoTable.

SantaX собирал собственно айдишники редакторов, если есть эльф от прошивки, то это енумератор t_EditorTypeIndex.

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

вот я здесь собирал различные схемы ввода для инпута на G600. Тут и ввод даты, и только цифр и т.д.
Я для B5722 собирал… И кстати заметил что они отличаются от D780 и от C5212…

Spoiler

lk_AddFocus ; p_DspFocus, v_FocusIndex, v_FocusType, v_FocusHeight, v_NbFocusItem

 

;-----

v_FocusType=1 - инпутбокс, v_FocusHeight указано либо 0x35 одинарная высота или 0x3E двойная высота.

 

v_ItemType=0 текст заголовка в p_Item

 

v_ItemType=6 текст для редактирования в p_Item

 

v_ItemType=7 в p_Item текст выводимый при пустом поле

 

v_ItemType=8 в v_Item указан код режима:

коды режима (decinal) -

0-12 47 ввод пароля (кнопки большие, как при вводе PIN), только цифры, вверху заголовок

13-16 панель набора номера

17 ввод цифр и точки (на #), без заголовка

18 ввод текста и цифр, но без переключения рус/eng

39 ввод цифр, но можно переключится на буквы и на т9, но нельзя переключить язык

22 ввод ДД/ММ/ГГГГ но заголовок встроенный - "перейти к дате"

21 23 24 ввод ДД/ММ/ГГГГ

25 ввод ЧЧ:ММ

34 ввод пароля, доступны только кнопки телефонного номера (*# и цифры)

20 29 37 ввод только цифр

40 панель ввода калькулятора

41 ввод цифр и точки (на *), ещё есть минус (на #) но он серый.

42 ввод ЧЧ:ММ:СС с заголовком "установит таймер"

26 28 30 31 32 33 48 51 53 59-61 66 74 ввод телефонных цифр, без заголовка

19 27 35 36 38 43 44 45 46 49 50 54 57 58 62-65 67-69 72 ввод текста полный, без заголовка

52 55 ввод цифр, можно переключится на буквы (но нельзя переключится между рус/eng - они стоят как были выбраны где-то ранее)

56 текстовая панель, но ввода нет, пищит DTMF

70 ввод только английского текста и цифр, т9 есть, без заголовка

71 ввод только английского текста и цифр, без т9, без заголовка, вместо "готово" кнопка "добавить"

73 ввод для www-адресов (кнопки / и .com), без заголовка

75 ввод IPv4-адресов, заголовок при вводе

76 пароль (eng, цифры), без т9 и без рус, без заголовка при вводе

 

v_ItemType=9 в v_Item тип шрифта или выравнивания, обычно 0x30 выравнивание по левому краю, бывает 0x15 и 0x19 - выравнивание по центру.

 

;-----

v_FocusType=2 - чекбокс, v_FocusHeight=0x35 (при 0x3E чекбокс высокий но текст пропадает)

v_ItemType=0x1C текст чекбокса, указавается в p_Item

 

;-----

v_FocusType=2 - спинбокс, v_FocusHeight=0x35 или 0x3E, v_NbFocusItem = кол-во позиций

v_ItemType=0x0E текст заголовка, указавается в p_Item

v_ItemType=0x16 текст одного из значений указавается в p_Item, а в v_FocusItemIdex его позиция (начиная с 0)

v_ItemType=0x15 иконка одного из значений указывается в v_Item, а в v_FocusItemIdex его позиция (начиная с 0)

 

;-----

v_FocusType=4 - линк на спадающее меню, v_FocusHeight=0x3E - двухстрочное, 0x35 - однострочное

v_ItemType=0x21 текст заголовка в p_Item, v_ItemType=0x29 или 0x27 текст в рамке в p_Item

 

;-----

v_FocusType=5 - ?

v_FocusType=6 - ?

 

;-----

v_FocusType=7 - поле со скроллируемым текстом, ссылки меню или редактирования нет, v_FocusHeight=0x13E с заголовком, 0x35 - однострочное.

v_ItemType=0 текст указавается в p_Item

v_ItemType=0x31 текст заголовка указавается в p_Item

v_ItemType=0x35 текст поля указавается в p_Item

v_ItemType=0x37 и v_Item=0x44 - видимо так надо.

Нужен какой-то патч на C3322i, C3322, C3592, B5722, S5610, E1080, E1081, и прочие Swift/Infineon ? Обращайтесь в ЛС или E.F2065@gmail.com

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

  • 1 месяц спустя...

а где взять адрес таблицы MCC для.....например S5620XEJE1?

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

а где взять адрес таблицы MCC для.....например S5620XEJE1?

MCC это для свифтом, у броадкомов нет такого понятия. Не нужно оно тебе.

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

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

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

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

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

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

Войти

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

Войти



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