Jump to content
Old Phone Forum
  • Login

    You are currently not logged in to the forum.

    To comment, download files, subscribe to answers - you need to login.

Sgh-x700 - совместная работа по созданию патчей


Recommended Posts

Опции я прописывал вручную, в блокноте. Я не нашел вообще ничего про опции в бинедите:)

В компиляторе можно...

 

dimastyj, то есть регулировка громкости радио должна осуществляется через MCC_IF. Только вот не могу найти где этот код(нашел обработку нажатий всех клавиш, кроме боковых :bx: ).

По идее, да. Надо просто хорошенько поискать :)

 

Интересно... а есть ли такая функция изменения прошивки? И как это делается? Помоему енто невозможно.

Не знаю что там за опции, но все можно сделать и через меню телефона ;)

Всё ещё будет...
Link to comment
Share on other sites

Нужно не прошивку менять :), почитай как работает if -else и сделай такое ассемблером :bx:

Бывших SGH`овцев не бывает.

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

Умный - для поддержания порядка. Мудрый - не применяет вообще!

 

Убийцу можно понять, но нельзя простить. Предателя можно простить, но нельзя понять. Бойтесь равнодушных - именно с их молчаливого согласия совершаются все предательства и убийства на земле.

Link to comment
Share on other sites

Нужно не прошивку менять <img src="style_emoticons/<#EMO_DIR#>/smile.gif" style="vertical-align:middle" emoid=":bx:" border="0" alt="smile.gif" />, почитай как работает if -else и сделай такое ассемблером <img src="style_emoticons/<#EMO_DIR#>/wink.png" style="vertical-align:middle" emoid=":)" border="0" alt="wink.png" />

Вам легко говорить, а я изучаю все это третий день:)

[siemens c65] > [samsung x700 + 512 mb] > [Nokia 3520 Xpress Music + 1 gb] +> [samsung Galaxy S]

JPB (Android 2.2) > ... > CyanogenMod 7 Nightly #139 (Android 2.3.7) + Glitch kernel v12b3 + xxjvs modem

Link to comment
Share on other sites

Не знаю что там за опции, но все можно сделать и через меню телефона ;)

+ задействовать конфиг Мастер-патча ;)

 

...регулировка громкости радио должна осуществляется через MCC_IF.

Нет. Скорее всего там идет вызов пользовательских событий. То есть через MCC_USER_KEY.

Скажи адрес пункта меню "Радио"... посмотрю :(

Link to comment
Share on other sites

Скажи адрес пункта меню "Радио"... посмотрю

Longhair, FM-радио=0x10F9D248.

Так, теперь поищу и MCC_USER_KEY... :(

Link to comment
Share on other sites

S_t_i_n_g_e_r, походу там нужно смотреть тумб-код, и искать gv_FmVolumeLevel.

Если не секрет для какой цели ты ищешь эту регулировку?

Link to comment
Share on other sites

Longhair,для того, чтобы в mp3-плеере и настройках громкости сделать не пошаговое изменение громкости(одно нажатие - одно деление шкалы), а как в радио: при нажатии громкость повышается, пока нажата клавиша...

Link to comment
Share on other sites

Извините, что надоедаю, но ошень хочется МНОГО знать.

1.Как прописываются с помощью MCC меню (заголовки, пункты, переходы)?

2.Как НУЖНОЕ меню искать в прошивке? У меня не получается...

3.Предположим я построил меню. Один из пунктов будет, например, Клавиатура заблок. - 1 сек

Я знаю, что это:

1154EBDC  47 0F 0200 0A00 8307 00000000 0000 0000  Сообщение "Клавиатyра заблок."

Но как мне сделать с этого пункта меню переход, чтобы

...0200...

поменялось на

...0100...

 

P.S.: Key Lock v.2.0b2 - добавил опций и выловил глюки при изменеии опций первой Beta.

 

P.P.S.: А где можно выкладывать патчи для тестирования?

[siemens c65] > [samsung x700 + 512 mb] > [Nokia 3520 Xpress Music + 1 gb] +> [samsung Galaxy S]

JPB (Android 2.2) > ... > CyanogenMod 7 Nightly #139 (Android 2.3.7) + Glitch kernel v12b3 + xxjvs modem

Link to comment
Share on other sites

P.P.S.: А где можно выкладывать патчи для тестирования?

 

Найди лучше пару человек кто любит свой x700 думаю они потестят. :(

С140, X100, X700, J210

Link to comment
Share on other sites

S_t_i_n_g_e_r, увы, помочь ничем не могу :) Там все очень запутано. Да и работать над патчами для изменения громкости это геморой. Помню еще по патчу Volume Control для X100.

 

=Dem0n13=,

1.Как прописываются с помощью MCC меню (заголовки, пункты, переходы)?

С меню я на свифтах мало работал. Да и я их по-своему делаю...

Как сделать меню с помощью Мастер-патча можешь посмотреть в патчах Ален'a :28:

 

2.Как НУЖНОЕ меню искать в прошивке? У меня не получается...

Ищешь главное меню, и идешь по пунктам к нужному тебе меню.

 

3.Предположим я построил меню. Один из пунктов будет, например, Клавиатура заблок. - 1 сек

...

Вот тут придется задействовать 1 task, 1 if, и конфиг Мастер-патча.

Конечно же 02 на 01 само в прошивке не поменяется. Поэтому необходимо в прошивку внести два MCC-скрипта. В одном будет:

1154EBDC  47 0F 0100 0A00 8307 00000000 0000 0000  Сообщение "Клавиатyра заблок."

а в другом:

1154EBDC  47 0F 0200 0A00 8307 00000000 0000 0000  Сообщение "Клавиатyра заблок."

Далее создаем новую Task, и берем один байт из конфиг-файла Мастер патча. Можешь взять, к примеру, CfgFile+0xA0. Надеюсь, что этот байт не задействован...

Как создавать новые task можешь посмотреть в исходнике патча Mp3 Shadow. Можешь взять, например, mcc_task 0x13 11.

Т.е. прописываешь в компиляторе это:

.start 0x10865858
.word	NewTask+1
.data

NewTask:
.start 0xXXXXXXXX;возьми свободное место в прошивке !!!
bl	LoadCFG
ldr	r7,=CfgFile+0xA0;18FC00A0
ldrh	r0, [r4,6]
strb	r0, [r7]
bl	SaveCFG
add	sp,sp,0x100
pop	{r4-r7,pc}
.data

То есть, теперь у нас есть новая таск. Будем использовать ее как две:

17 13 0B00 0000 0001 00000000 0000 0000 Помещает в конфиг байт 01

17 13 0B00 0000 0002 00000000 0000 0000 Помещает в конфиг байт 02

Первую будем использовать для

1154EBDC  47 0F 0100 0A00 8307 00000000 0000 0000  Сообщение "Клавиатyра заблок."

а вторую, соответственно, для

1154EBDC  47 0F 0200 0A00 8307 00000000 0000 0000  Сообщение "Клавиатyра заблок."

 

Ладно, что-то я разошелся :) Мне надо бежать... Потом расскажу как с If работать.

Link to comment
Share on other sites

Прошу ответить знающих людей:

Решил найти меню "Настройки", но через сканирование меню не получилось, тогда я хитро :100: взял карту *.rxt (Resman), нашел адрес главного меню (0x114e8414) и в BinEdit:

114E8414  5C 00 0000 0000 0000 00000000 0000 0000  Подготовка окна - Начало меню
......................
114E8454  77 21 0000 0000 0602 00000000 0000 0000  Отобразить меню 0x21 с параметром 206 - Что это такое и где эти параметры?
114E8464  7A 00 0000 0000 0000 A87C8611 0000 0000  По пункту меню 1 переход на адрес 0x11867CA8 - Переход на Журнал звонков
......................
114E84E4  7A 00 0800 0000 0000 1CDB5411 0000 0000  По пункту меню 9 переход на адрес 0x1154DB1C - МОЙ переход на Настройки
114E84F4  7A 00 0A00 0000 0000 AC695611 0000 0000  По пункту меню B переход на адрес 0x115669AC - Что это такое? В меню лишь 9 пунктов!

Просьба ответить на вопросы и исправить, если что :28:

Продолжаем... Перехожу по адресу 0x1154DB1C

1154DB1C  5C 00 0000 0000 0000 00000000 0100 0000  Подготовка окна
......................
1154DB3C  76 00 0100 0041 0000 00000000 3000 0000  Начало меню, ширина 48 - А может высота? А где 48?
1154DB4C  6D 03 0000 0000 0000 00000000 0000 0000  MCC_SET_KEYBOARD - Что это такое?
......................
1154DB7C  7A 00 0000 0000 0000 D84F1411 0000 0000  По пункту меню 1 переход на адрес 0x11144FD8
...................... - Пункты меню. В середине нужен новый пункт.
1154DC1C  18 09 0100 0F00 0000 3833BC10 0000 0000  Если кнопка "правая софт" в состояни 1 то переход на 0x10BC3338
1154DC2C  19 09 0100 0200 0000 3833BC10 0000 0000  Или если кнопка "С кратко" в состояни 1 то переход на 0x10BC3338
1154DC3C  19 09 0100 0600 0000 D8C0A210 0000 0000  Или если кнопка "Влево" в состояни 1 то переход на 0x10A2C0D8
1154DC4C  19 09 0100 0700 0000 A87C8611 0000 0000  Или если кнопка "Вправо" в состояни 1 то переход на 0x11867CA8

Можно ли добавить 1 пункт меню в середине (и как) путем замены адреса 1154DC3C на пункт, ведь когда я жму влево, ничего не происходит? или это не Влево, а Вниз?

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

Заранее спасибо. :42:

[siemens c65] > [samsung x700 + 512 mb] > [Nokia 3520 Xpress Music + 1 gb] +> [samsung Galaxy S]

JPB (Android 2.2) > ... > CyanogenMod 7 Nightly #139 (Android 2.3.7) + Glitch kernel v12b3 + xxjvs modem

Link to comment
Share on other sites

Можно ли добавить 1 пункт меню в середине...

Можно. Но лучше добавить где-нибудь в конце :)

А то всплывающие подсказки будут криво работать.

 

...(и как) путем замены адреса 1154DC3C на пункт, ведь когда я жму влево, ничего не происходит?

Как это "ничего не происходит"? Должен происходить переход по пунктам главного меню.

 

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

Нет. Чтобы добавить пункт тебе придется сделать врезку в Thumb-код конфига этого меню, добавить там один пункт, а затем переписать MCC-код этого меню уже с новым пунктом :)

Link to comment
Share on other sites

Как вариант, можно создать обособленное меню в неиспользуемой области, затем привязать адрес подготовки его окна(т.е. по сути вывод самого меню) к меню из патча fast menu. для начала можно ведь и как попроще... :)

Link to comment
Share on other sites

Как это "ничего не происходит"? Должен происходить переход по пунктам главного меню.

Прочти пожалуйста мои вопросы в тэге

 

тебе придется сделать врезку в Thumb-код конфига этого меню

А где находится Thumb-код конфига этого меню. Вообще, где находятся эти конфиги и как их искать? :)

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

Пойми правильно, вся задумка заключается именно в ДОБАВЛЕНИИ ПУНКТА В НАСТРОЙКАХ.

 

P.S.: мои вопросы остаются в силе. Особенно в тэге

 

:)

[siemens c65] > [samsung x700 + 512 mb] > [Nokia 3520 Xpress Music + 1 gb] +> [samsung Galaxy S]

JPB (Android 2.2) > ... > CyanogenMod 7 Nightly #139 (Android 2.3.7) + Glitch kernel v12b3 + xxjvs modem

Link to comment
Share on other sites

Понял, попытаюсь помочь, если где-то ошибусь, пусть меня поправят. Итак:

1.

114E8454 77 21 0000 0000 0602 00000000 0000 0000 Отобразить меню 0x21 с параметром 206 - Что это такое и где эти параметры?

Эта штука (MCC_DISPLAY_MENU) отвечает за внешний вид меню(расположение пунктов, например), буду разбираться как...

2.

114E84F4 7A 00 0A00 0000 0000 AC695611 0000 0000 По пункту меню B переход на адрес 0x115669AC - Что это такое? В меню лишь 9 пунктов!

Как это ни странно, но это адрес меню look test, видимо, есть какой-то хитрый переход...

3.Далее,

1154DB3C 76 00 0100 0041 0000 00000000 3000 0000 Начало меню, ширина 48 - А может высота? А где 48?

48, это ни что иное, как расстояние от верха экрана до первого пункта меню.

4.

1154DB4C 6D 03 0000 0000 0000 00000000 0000 0000 MCC_SET_KEYBOARD - Что это такое?

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

Link to comment
Share on other sites

=Dem0n13=, предлагаю заменить пункт "Приветственное сообщение" (Настройки->Настройки телефона->Приветственное сообщение) вместо добавления нового пункта в меню "Настройки". Так, на мой взгляд, будет уместнее. Тем более, я думаю, почти все установили патч "Убрать обои при вкл", так что проблем не будет.

Остается лишь ждать, пока Longhair объяснит, как работать с If... :ak:

Link to comment
Share on other sites

как работать с If... :ak:

Используя -=Мастер-патч=-, так:

 

Возьмем mcc_if 19 11 (продолжая Longhair :( )

 

Допустим, необходимо, в зависимости от значения байта в файле settings.cfg перейти по тому или иному адресу:

 

.mcc mcc_if 19 11 0 0 mcc_keylock_2sec
.mcc mcc_else 0 0 0 0 mcc_keylock_1sec

Т.е. нам необходимо проверить 160 байт в файле. Если он будет хранить значение 2, то переход на mcc_keylock_2sec, иначе на mcc_keylock_1sec.

 

Для этого прописываем в 11 ячейке if-таблицы адрес обработчика:

 

.start my0_4if_Table+11*4
  .word Check0_4if_Root+1

Тело обработчика (простейшее):

 

Check0_4if_Root:
  bl LoadCFG
  ldr r1,=CfgFile+160
  ldrb r0,r1
  cmp r0,2
  bne ext_false
  mov r6,1
ext_false:
  mov r0,r6
  add sp,256
  pop r4-r7,pc

Т.е. в теле обработчика mcc_if в r0 необходимо вернуть true (1) или false (0)...

Всё ещё будет...
Link to comment
Share on other sites

dimastyj, спасибо! Будем разбираться...

Link to comment
Share on other sites

dimastyj, спасибо! Будем разбираться...

Я вообще ничего понять не могу :roll:

Начну сначала:

1. Не могу понять, что такое конфиг

2. В объяснении Longhair'а "нужна новая task" имеется ввиду MCC_TASK?

3. Как я понял, в компиляторе прописыватся код, написанный на ассемблере?

 

.mcc mcc_if 19 11 0 0 mcc_keylock_2sec
.mcc mcc_else 0 0 0 0 mcc_keylock_1sec

Т.е. нам необходимо проверить 160 байт в файле. Если он будет хранить значение 2, то переход на mcc_keylock_2sec, иначе на mcc_keylock_1sec.

А откуда взялись .mcc mcc_if 19 11 0 0 mcc_keylock_2sec и .mcc mcc_else 0 0 0 0 mcc_keylock_1sec?

 

И еще, что такое обработчик?

 

 

Ууууххх... Я вернулся... :lol:

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

Link to comment
Share on other sites

1. Не могу понять, что такое конфиг

Конфиг чего? меню?

 

2. В объяснении Longhair'а "нужна новая task" имеется ввиду MCC_TASK?

Вот эта mcc_task 0x13 11.

 

3. Как я понял, в компиляторе прописыватся код, написанный на ассемблере?

И не только код... http://binedit.sgh.ru/readme3.php

 

А откуда взялись .mcc mcc_if 19 11 0 0 mcc_keylock_2sec и .mcc mcc_else 0 0 0 0 mcc_keylock_1sec?

Это mcc_if 19 11:

.start my0_4if_Table+11*4
  .word Check0_4if_Root+1

А mcc_else это переход по указанному адресу, в случае, если переход в mcc_if не сработал.

Link to comment
Share on other sites

Конфиг чего? меню?

Ну в данном случае - конфиг мастер-патча

 

 

И не только код... http://binedit.sgh.ru/readme3.php

Загрузииил... :):roll: - будем мучаться

 

 

Это mcc_if 19 11

Как я понял - это новая МСС, которую мы сами создаем в компиляторе?

 

 

А mcc_else это переход по указанному адресу, в случае, если переход в mcc_if не сработал.

Вобщем, пошел в мануал по асму... :lol::);)

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

Link to comment
Share on other sites

  • 1 month later...

Что то тут тихо... :) Я бьюсь над этим патчем уже около 2 - 3 месяцев. Портирую с Е730 на x700, патч "Вам звонили". Успехов 0,1 :59: . Раньше он хоть зависал при команды изъять адрес, но после того как я поправил MCC на правильные(вроде), то у меня вообще никаких изминений, все как было раньше. Подозреваю, что в нем все правильно, и где то надо что то поправить(немного :77: ). Предлагаю совместными усилиями добить этот патч. Кто это сделает, просьба тут отписаться что где и из - за чего было. Исходник прилагаю.

___________.zip

Я думаю, нужно подумать...

Link to comment
Share on other sites

Что то тут тихо...

Конечно, насобирали на х700, спасли его и дело сделано. Я сам возмущен!

Предлагаю совместными усилиями добить этот патч.

Согласен!

Исходник прилагаю.

Да... еще бы нацчили с какой стороны смотреть на него... Если бы у кого появились силы и много-много терпения объяснить че да как. Я вот, например, открыл в компиляторе этот исходник и смотрю на него, как баран на новые ворота! Вот так вот...

[siemens c65] > [samsung x700 + 512 mb] > [Nokia 3520 Xpress Music + 1 gb] +> [samsung Galaxy S]

JPB (Android 2.2) > ... > CyanogenMod 7 Nightly #139 (Android 2.3.7) + Glitch kernel v12b3 + xxjvs modem

Link to comment
Share on other sites

и смотрю на него, как баран на новые ворота! Вот так вот...

 

Я на него раньше также смотрел, да и сейчас тоже также смотрю. Вот и решил обратиться ко всем желающим добить этот патч.

 

Конечно, насобирали на х700, спасли его и дело сделано. Я сам возмущен!

Как я понимаю, эта тема скоро станет не актуальной?(прошу прощения за откровенность 8) ) Несогласен! Она всегда, я думаю, будет актуальной :67:

 

Да... еще бы нацчили с какой стороны смотреть на него

 

попробуй с верху вниз, я предплогаю - у тебя получиться (без обид) :ad:

Я думаю, нужно подумать...

Link to comment
Share on other sites

Я на него раньше также смотрел, да и сейчас тоже также смотрю. Вот и решил обратиться ко всем желающим добить этот патч.

Как я понимаю, эта тема скоро станет не актуальной?(прошу прощения за откровенность :51: ) Несогласен! Она всегда, я думаю, будет актуальной :lol:

 

Да ну что вы! вот сейчас NeO_2kX войдет в ряды x700 и обязательно вам поможет 8)

Ну мне так кажеться... Я хоть что то и пытался сделать, но оказалось в этом деле совсем не ма :D

С140, X100, X700, J210

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share




×
×
  • Create New...