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

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

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

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


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

Прошу разобрать патч Memory Size in Java v.3.0

А именно:

1) между чем и чем распределяется память (как я понял, там между двумя функциями)?

2) каким образом (там всего 2 строчки, неужели так легко?) это делается?

3) как перераспределить память между другими функциями?

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

Заранее спс...

[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

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

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

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

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

Память правильно была перераспределена в первой версии. Вторую сделали от нефиг делать, а третья - последствия от второй :135:

1) между чем и чем распределяется память (как я понял, там между двумя функциями)?

Между всеми функциями телефона и явой. Если Java работает, то от общей памяти отхватывется кусок в размере 983040 байт (это в первой версии патча), в результате чего остальной памяти хватает, чтобы, например, делать фото (что в остальных версиях патча нельзя - зависает из-за большей памяти под Java).

Пожертвования отправлять сюда R256859050930

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

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

[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

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

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

Появился вопрос:

Есть патч Key Lock, для с3.

Я не могу найти, где производится нажатие левой софт клавиши при разблокировке клавиатуры. Хотел посмотреть в Key Lock 1, но там патч корявый (опций вообще нет) Как искал:

1. По текстовым ресурсам нашел адрес сообщения "клав. разблок" - 1113A770

2. Поднялся повыше, до подготовки окна (1113A750) и начал искать ссылки на адрес

3. Бинедит нашел всего один адрес - 10C4A084. Ползунком долистал до 10C4A07C и увидел строчку "Если цифровая кнопка "*" в то переход....."

4. Поднялся выше до подготовки окна (10C4A04C), но левую софт не увидел.

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

Объясните, как и где изменить_на_i или отменить_(сделать_разблокировку_одним_нажатием) левую софт

[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

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

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

Обработка левого софта лежит в тумбе, а не в МСС. Стучи в асю, объясню :ad:

Пожертвования отправлять сюда R256859050930

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

Привет!

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

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

Пример: Если по адресу 0х000000 байт равен OB, то переход на адрес 0х100000 (иначе продолжать)

Заранее спасибо!

[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

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

=Dem0n13=,

   ldr r1,=adr; в r1 адрес, где лежит необходимый байт
  ldrb r0,r1; в r0 значение по этому адресу (байт)
  if r0 == 1 goto; если байт в r0 равен 1 переход на метку goto
 ; иначе продолжаем

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

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

[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

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

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

Да, только соответственно заменяй необходимое на свои значения.

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

Уважаемые знатоки, внимание вопросы:

1. Патч MemorySize в Java распределяет память между Java и функциями телефона. А сложно ли объединить эту память, чтобы она распределялась динамически?

2. Старался, но так и не нашел описание меню второго уровня. Как я понял оно состоит:

- подготовка окна :az:

- описание меню (!!!)

- пункты меню

- обработчик нажатий клавиш

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

[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

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

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

Какое конкретно меню?

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

Например приложения или мультимедия

[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

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

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

Например приложения

Смотрим какой mcc_menu_config отвечает за создание меню. В данном случае это mcc_menu_config 0x1D 0x1B. На вкладке MCC ищем MCC_MENU_CONFIG 1D (0x116FFE70) - переходим на него двойным кликом л. кн. мыши. Далее ищем нужный нам кейс переход, в данном случае это case 0x1B (0x11703256).

Тут описывается название меню (Приложения).

R0, =0x114E3EAC
LDRH	R0, [R0, #4]

Берётся 4 байт по адресу 0x114E3EAC, там лежит текстовый индекс 0x017B - Приложения.

 

А вот тут текстовые индексы названий меню:

117032DE:		MOV	R0, #0x8F
117032E0:		LSL	R0, R0, #4			  ;MP3-плеер

117032F4:		LDR	R0, =0x0000105E
117032F6:		SUB	R0, #0xA9			  ;Диктофон

11703320:		LDR	R0, =0x0000056D
11703322:		ADD	R0, #0x71			  ;FM-радио

11703336:		LDR	R0, =0x0000105E
11703338:		SUB	R0, #0x52			  ;Мировое время

и т. д. :dash:

 

З.Ы. X700XEFC3.

Пожертвования отправлять сюда R256859050930

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

Из описания Мастер-патча:

Библиотека включает в себя:

...Функцию расширения текстовых ресурсов: lk_get_my_text...

...Таблица обработчиков MCC_MENU_CONFIG 0x13...

Внимание, вопросы:

1. Как можно легко добавлять (не изменять!) текстовые ресурсы

2. Каким образом можно быстро создать новое меню (наподобие описанного выше), не тратя много сил на конфиг этого меню, при этом используя текстовые ресурсы как существующие в прошивке, так и Мастер-патча (новые)

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

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

1. Как можно легко добавлять (не изменять!) текстовые ресурсы

Собственно это одна из возможностей Мастер-патча. В нем есть функция lk_get_my_text, принцип работы прост, в r0 ей передаётся индекс дополнительного текстового ресурса. Возврат тоже в r0, соответственно его адрес.

 

Пример:

   mov r0,17
  bl lk_get_my_text

 

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

 

   .start LangTab+(индекс_строки/ячейка)*4
   .word метка/указатель

 

Для нашего примера:

 

   .start LangTab+17*4
   .word str_17_NewText

 

А дальше описываем сам текстовый ресурс:

 

str_17_NewText:
  .string "New Text"
  .string "New Text"

 

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

 

2. Каким образом можно быстро создать новое меню (наподобие описанного выше), не тратя много сил на конфиг этого меню, при этом используя текстовые ресурсы как существующие в прошивке, так и Мастер-патча (новые)

Что значит быстро? Не тратя времени и сил? Такое невозможно :)

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

Итак, как я понял, чтоб добавить, надо написать в компиляторе примерно следующее:

.start LangTab+17*4

   .word str_17_NewText

str_17_NewText:

  .string "New menu";Новый текст на англ

  .string "Абажюр"	;Новый текст на франц

  .string "Новое меню";Новый тескт на русском

А чтобы пользоваться этим текстом:

mov r0,17

  bl lk_get_my_text

Правильно?

Вопрос: а откуда брать цифру 17, а точнее то, что должно стоять вместо нее?

Что значит быстро? Не тратя времени и сил?

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

[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

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

Правильно?

Правильно.

 

Вопрос: а откуда брать цифру 17, а точнее то, что должно стоять вместо нее?

Что значит вместо нее? 17 в данном случае - это индекс ячейки в которой лежит ссылка на твой текстовый ресурс. Предположим, что 17 уже кто то занял своим патчем, значит бери 18, соответственно ссылку надо прописать в 18 ячейке.

 

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

Существует несколько типов меню, все они имеет собственную спецификацию.

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

Итак, описываю выды меню, которые мне нужны:

1. Обычное меню второго уровня:

55470-25-10-07)1193326802_thumb.jpg

- есть заблокированные пункты (на скрине пункт 1 - пока можно и без этого)

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

- есть обычные пункты (для начала хватит и этого)

2. Меню выбора пунктов:

55470-25-10-07)1193326836_thumb.jpg

- надпись над каждым пунктом

- собственно, и сам выбор клавишами ВПРАВО и ВЛЕВО

- иконка (на скрине это листочек) мне не нужен совершенно

P.S.: Спасибо за помощь и терпение!

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

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

=Dem0n13=,

ну так и посмотри код в этих меню :roll: Это же самый настоящий шаблон!!!

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

ну так и посмотри код в этих меню :-) Это же самый настоящий шаблон!!!

Извиняюсь, что я такой тупой, но вы мне можете подсказать, КАК сделать С НУЛЯ конфиг своего меню? Что там надо прописывать? Какие параметры и что нужно указывать? Как я понял, это можно как-то сделать через мастер-патч. Обьясните пожалуйста на примере предыдущего моего поста.

[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

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

Извиняюсь, что я такой тупой, но вы мне можете подсказать, КАК сделать С НУЛЯ конфиг своего меню? Что там надо прописывать? Какие параметры и что нужно указывать? Как я понял, это можно как-то сделать через мастер-патч. Обьясните пожалуйста на примере предыдущего моего поста.

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

Расскажу как я у себя менюшки делаю :hunter:

В качестве шаблона я взял конфиг меню "Настройки" (т.к. в этом конфиге присутствуют самые различные меню).

Добавил в прошивку (в пустую ячейку MCFN_MCC_MENU_CONFIG) подобную MCC_MENU_CONFIG. И теперь, если мне нужно сделать какое-нибудь меню, то я ищу его код в конфиге set0_6menu (меню настройки), и переношу в свой конфиг. Ну а потом уже редактирую, делаю шаблоны и т.п. :gun_gun:

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

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

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

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

Здорово всем!

Решил сделать патчик Remove `C` (удаление файлов по клавише С).

Начал вроде вообще неплохо, но столкнулся с серьезной проблемой.

После удаления файла идет команда MCC_RETURN_MENU: меню то нету, ну он и выходит аж в меню картинок.

Как мне избавиться от этого? Два варианта:

1. Сделать, чтоб меню все-таки было, но оно не показывалось и никак не влияло на происхолящее

2. Похимичить с этой командой MCC_RETURN_MENU. Правда я уже пробовал вместо нее и MCC_EXIT, MCC_RETURN, а он вообще на рабочий стол выходит в обоих случаях.

Спасибо!

[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

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

=Dem0n13=,

Вот те для режима "Просмотр", делал для Е730...:59:

В режиме "Список" сделать не удалось :bx:

Delete_C__preview_2007_11_06___14.49.16_.rar

Пожертвования отправлять сюда R256859050930

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

После удаления файла идет команда MCC_RETURN_MENU: меню то нету, ну он и выходит аж в меню картинок.

Я конечно далек от патчеписания, но всеже, а если сделать по нажатию С меню скажем из 2х пунктов:

1) Удалить

2) Отменить

По моему, так ты обойдешь эту проблему. Вобщем, удачи тебе.

X100( похерил ) --> X700(исдох аккум) --> m3510

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

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

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

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

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

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

Войти

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

Войти



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