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

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

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

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


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

Eugine,

описание компилятора тут: http://binedit.sgh.ru/readme3.php

А поместить в компилятор надо весь код патча (скопировать в главном окне ВЕ в режиме код), лучше без адресов и коментариев.

Потом меняешь свой адресс на эквивалентный и компилируешь патч.

Вот пример кода простейшего патча (Убрать прозрачность):

.start 0x20104E98 ;1
B 0x20104F0E

.start 0x20104F38 ;2
b 0x20104F4C

.start 0x20104F80 ;3
b 0x20104FAE

.start 0x20104F98 ;4
b 0x20104FAE

.start 0x20104FF2 ;5
MOV R2, 0x25

Тормозит Gravity Defiended? Тебе

сюда. Любишь музыку, но не влазит новый альбом? Тебе сюда.

Хочешь смотреть качественное видео на мобильном? Тебе

СЮДА!

Кризис?! Нету денег на хорошие наушники? Тебе СЮДА!

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

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

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

Привет .Вопрос такой.Что делать если

from="00000000000000000000000000000000000000000000 ?????

Адресов вискакивает немерено.Что нада делать в таких случаях?Виравнивать код как мсс?

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

Привет .Вопрос такой.Что делать если

from="00000000000000000000000000000000000000000000 ?????

Адресов вискакивает немерено.Что нада делать в таких случаях?Виравнивать код как мсс?

ничего :)

это просто свободное место, бери любое не занятое в прошиве

Siemens A50 -> Samsung C100 -> Samsung X100 -> LG 1800 -> Samsung E590 -> Nokia 6220c

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

Спасибо.

Ет ясно.А если from="5D000000000000000000000000000000 что ето означает????

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

Привет.

Ну чтож

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

Вот вертаюсь к патчу Переключения треков

SerDemon

Если у тебя возможность проверить все адреса,проверь пжл

Вроде уже все будет правильно,но есть ? со вторим адресом

Глянь пжл

И вопроси

ид прошивки firmware=какой ставить нада.Я просто менял на прошивку для которой патч портирован,как впрочем и всех остальних патчей.Если не прав ,поправь

2)и в третьих адреса вызываемых операций ты оставил от е200, хотя в е590 они другие

Где ет адреса глянуть ,как изменить.На что изменить.

Со вторим вопросом если можна больше внимание привлеч.Здесь пока не знаю ничего.Заранье спасибо

_____________________________.rar

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

2)и в третьих адреса вызываемых операций ты оставил от е200, хотя в е590 они другие

Где ет адреса глянуть ,как изменить.На что изменить.

Со вторим вопросом если можна больше внимание привлеч.Здесь пока не знаю ничего.Заранье спасибо

 

Ну это уже или самому искать)) или же если есть в карте функции клавиш там посмотреть адреса те которые тебе нада)) :)

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

Тоесть адреса которие в е590.Тоесть например адрес 2068600C .После етого адреса пишется По кнопке "i" переход на адрес 0x2023A97C .Ет то?.Я ж попросил поподробней если можна

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

Тоесть адреса которие в е590.Тоесть например адрес 2068600C .После етого адреса пишется По кнопке "i" переход на адрес 0x2023A97C .Ет то?.Я ж попросил поподробней если можна

 

Сотри, ты вроде треки преключать надумал!!! так )) нахош в проше меню плеера.... потом смотриш где прописана работа клавиши вправо.... там будет типа чето при нажати.... переход по адресу УУУУУУ вот это адрес тебе и нада... я патч не рассматривало но там нада и удерживание на сколько помню.. так что ищищ и место обработки и удерживани... :ad:

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

Всем привет.Принципи Мсс функции разобрал.

Остались вопроси

1)Прошивка е200(д6)Адрес 2154A180 -последовательность 1F 00 1F00 1F00 1F00 1F001F00 1F00 1F00

Копирую в е590 .Тисячи адресов показивает.Последовательность таже 1F 00 1F00 1F00 1F00 1F001F00 1F00 1F00

Беру в е200 Виравниваю мсс.Ничего хорошого не дает.Как вибрать адрес для е590? Смотрим патч 1

2)В некоторих патчах заметил.Есть опции.По умолчанию стоит плеер. В опциях можно поменять

<list title="Кнопка -=Mode=-" offset="0xD2A090" type="data" values="Главное меню=9C5F2C20;MP3 плеер=48F3B020;

Стоить плеер.Как поменять на главное меню например?Что нада изменить?.В ресмане такая опция есть,но на нее перейти никак не получается

3)Как самому сделать опции в патче(адреса опций как портировать иль как найти для другой прошивки)?

SerDemon

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

Momental_Backlight_OFF.rar

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

1F00 1F00 - это свободное место, бери любое не занятое.

 

на примере добавление функций на левый софт. По умолчанию стояло гл меню. я ставил мп3 плеер.

 

<nord offset="0x00EE2078" from="9C5F2C20" to="48F3B020" />

 

<options>

<list title="Другие функции" offset="0xEE2078" type="data" values="Главное меню=9C5F2C20;MP3 плеер=48F3B020

</options>

адреса опций - это мсс адреса в перевернутом виде (9C5F2C20 - 202С5А9С), найти их можно легко с помощью патча CGSN

 

правильный только первый адрес, сам адрес!

но только откуда ты взял A42E7221 и DC26A820

<nord offset="0x686014" from="A42E7221" to="DC26A820" type="CODE" />

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

Siemens A50 -> Samsung C100 -> Samsung X100 -> LG 1800 -> Samsung E590 -> Nokia 6220c

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

последовательность 1F 00 1F00 1F00 1F00 1F001F00 1F00 1F00

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

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

1)Прошивка е200(д6)Адрес 2154A180 -последовательность 1F 00 1F00 1F00 1F00 1F001F00 1F00 1F00

Копирую в е590 .Тисячи адресов показивает.Последовательность таже 1F 00 1F00 1F00 1F00 1F001F00 1F00 1F00

Беру в е200 Виравниваю мсс.Ничего хорошого не дает.Как вибрать адрес для е590? Смотрим патч 1

 

е200(j2) -сори D6 под рукой не оказалось((( ну думаю по аналогии разберешся))

20C96138 - вот перейди по этому адресу и на вкладку графика там размер 176 на 220 и сам поймеш почаму такая туча адресов!!!! бери любой тока сотри чтоб места хватило.

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

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

Очень нужна ваша помощь.Все кто займается портированием,помогите.Так вот.Все таки решился глянуть патч

Прошивка: E200XEGD6

Патч: Java Voodoo ex Machina

Никак не получается портировать адреса

По порядку 1,2,3,4 Последний 16 и портирован 10,но есть ? над его правильностей.Нада чтоби ви проверили

Так вот .Если у вас есть возможность портировать ети адреса,прошу помощи.Иль расказать как самому мне спортировать

Все остальние адреса были портровани.87%шо воны верны.Осталось мне портировать 6,7,8 адреса и бил би такой патчик на форуме....

И вопрос .Что в конце самого патча там пишется

<embedded>?

Вилаживаю патч где остальние адреса портировани мною

И сам патч без изменений

Всем откликнувшим .Заранье огромное спс.

Java_Voodoo_ex_Machina_e200_d6ART.rar

Java_Voodoo_ex_Machina_e200_d6.rar

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

сиспсон,

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

Siemens A50 -> Samsung C100 -> Samsung X100 -> LG 1800 -> Samsung E590 -> Nokia 6220c

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

Добре.Но всеже когда то в будущем ето будет моя цель

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

Добре.Но всеже когда то в будущем ето будет моя цель

Чтобы полностью в нем разобраться, нужно как минимум - портировать по исходнику,а не по SMP, просто изменяя адреса.

Пробуй портровать что-нибудь на мсс, без использования мастер-патча и асма.

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

" post=445328]

без использования мастер-патча и асма.

Кстати, насчёт мастер-патча..

Объясните, как его использовать? Как высчитывать адрес ячейки для Task`а?

Как применять if_else? Save\Load CFG? Lang_tab?

Интересно знать всё про него, желательно даже с примерами.

Тормозит Gravity Defiended? Тебе

сюда. Любишь музыку, но не влазит новый альбом? Тебе сюда.

Хочешь смотреть качественное видео на мобильном? Тебе

СЮДА!

Кризис?! Нету денег на хорошие наушники? Тебе СЮДА!

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

Кстати, насчёт мастер-патча..

Объясните, как его использовать? Как высчитывать адрес ячейки для Task`а?

Как применять if_else? Save\Load CFG? Lang_tab?

Интересно знать всё про него, желательно даже с примерами.

Объясняю. (буду рассказывать по старой версии мастер-патча).

1) AsteriX_task_tab. Таблица ячеек своих тасков мастер-патча. Узнаем адрес начала таблицы у патчмейкера, который портировал мастер-патч, а также номер нового таска.

Чтобы использовать нужную ячейку пишем следующий код: (досустим выбрали ячейку 0x10).

.start AsteriX_task_tab+0x10*4 ;;каждая ячейка составляет 4 байта, поэтому и умножаем на 4

.word my_task+1 ;;+1 обязателен.

В мсс пишем след.код:

.mcc mcc_task Номер_нового_таска номер_ячейки

а в тумбе уже описываем наш таск:

my_task:

бла_бла_бла

 

add sp,0x100 ;;это код выхода из таска мастера.

pop {r4-r7,pc}

======================

IF = ELSEIF одно и тоже. пользоваться также, как и тасками.

LoadCfg - загружаем файл настроек патчей в оперу.

Смысл работы с Cfg таков.

Если мы хотим изменить что-нибудь в файле,и сохранить то делаем следующее.

bl LoadCfg ;загружаем файл настроек в оперу. Причем в старых мастерах это опера постоянная, называется CfgFile (в первых версиях патча фалй настроек имеет размер в 2кб, в версиях, которые делал dimastyj и выше - уже 1кб.

 

ldr r1,=CfgFile+1000

mov r0,1

strb r0,[r1]

 

Здесь мы записывали в ячейку №1000 (ячейка - 1 байт) - единицу. Но мы это записали в оперу, а не файл. Поэтому, чтобы это отразилось в файле - пишем код:

bl SaveCfg

Ничего особого сложного.

Кстати, оперу CfgFile - также узнаем у патчмейкера.

=======================

LangTab. Работа с ним тоже проста.

Для начала забиваем ячейку, допустим - ту же 0x10

.start AsteriX_Lang_tab+0x10*4

.word my_text ;;+1 не нужно, так как это не код,а текстовый ресурс.

 

Где-нибудь в патче описываем этот ресурс:

my_text:

.string "ja ja, zuruck" ;;на немецком

.string "Forum SGH" ;;на английском

.string "La Samsung" ;;на французском

.string "Русский текст" ;;следоваьельно,на русском ) и т.д.

А когда нам нужно уже посадить куда-нибудь этот текст, то пишем следующий код:

mov r0,номер_ячейки ;;в данном случае - 0x10

поэтому

mov r0,0x10

bl lk_get_extended_text ;в R0 получаем адрес текста. Процедура lk_get_extended_text по смыслу равна проце lk_get_text, только ищем не в прошивке, а в нашей таблице. В очень старых версиях мастера - lk_get_extended_text, в версии от dimastyj и выше - lk_get_my_text.

Ну вот в прицнипе и все :)

========================

Кстате, может стоит оформлять уже шапку в этой теме? А то меня мучает сомнение, что я уже объяснял,как работать с мастером.

Самые важные вопросы и ответы - офомлять в шапку.

Например:

1) Как работать с мастером ;

2) Как добавить свой пункт меню ;

и т.д...

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

[AlaSToR], спасибище! :):)

" post=445349]

IF = ELSEIF одно и тоже. пользоваться также, как и тасками.

Я так понимаю, они должны что-то проверять, сравнивать, значит в код надо передовать какие-то параметры через МСС..

Расскажи про них, пожалуйста.

Тормозит Gravity Defiended? Тебе

сюда. Любишь музыку, но не влазит новый альбом? Тебе сюда.

Хочешь смотреть качественное видео на мобильном? Тебе

СЮДА!

Кризис?! Нету денег на хорошие наушники? Тебе СЮДА!

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

[AlaSToR], спасибище! :):)

 

Я так понимаю, они должны что-то проверять, сравнивать, значит в код надо передовать какие-то параметры через МСС..

Расскажи про них, пожалуйста.

Да, про них забыл указать.

В иф можно положить допустим какую-нить оперу.

Вот допустим наш иф:

.start AsteriX_if_tab+0x10*4

.word my_if+1

 

.mcc mcc_if 0x14 0x10 0 1 mcc_lk_main_menu

 

my_if:

ldr r0,=0x30123456

ldrb r0,[r0]

 

add sp,0x100

pop {r4-r7,pc}

.data

Забыл добавить про иф - что нам важен регистр R0 при выходе из ифа.

Вот мы описали наш иф.Вот допустим в этой опере будет единица - то тогда мы перейдем по адресу mcc_lk_main_menu. Если же в R0 будет чтото другое - то тогда будет иф будет ложен, и будет использован следующий мсс-скрипт.

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

.mcc mcc_if 0x14 0x10 0 1 mcc_lk_main_menu

Вот допустим в этой опере будет единица - то тогда мы перейдем по адресу mcc_lk_main_menu. Если же в R0 будет чтото другое - то тогда будет иф будет ложен, и будет использован следующий мсс-скрипт.

А если на МСС будет написано .mcc mcc_if 0x14 0x10 0 2 mcc_lk_main_menu, то R0 будет сравниваться с двойкой?

Тормозит Gravity Defiended? Тебе

сюда. Любишь музыку, но не влазит новый альбом? Тебе сюда.

Хочешь смотреть качественное видео на мобильном? Тебе

СЮДА!

Кризис?! Нету денег на хорошие наушники? Тебе СЮДА!

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

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

Тормозит Gravity Defiended? Тебе

сюда. Любишь музыку, но не влазит новый альбом? Тебе сюда.

Хочешь смотреть качественное видео на мобильном? Тебе

СЮДА!

Кризис?! Нету денег на хорошие наушники? Тебе СЮДА!

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

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

Т.е. дополнительные аргументы? кроме mcc_task 0x14 0x10? Да можно. будет в R4.

Вот например так:

.mcc mcc_task 0x14 0x10 1

в коде, чтобы получить эту единицу нужно:

ldrb r0,[r4,4] ;4 - смещение от начала мсс-скрипта.

Вот так в R0 мы получим единицу.

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

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

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

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

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

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

Войти

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

Войти



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