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

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

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

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


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

Спасибо, я нашёл другим способом.

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

 

А не готов патч потому, что ещё раз повторюсь, не знаю, где находится индекс текстового ресурса.

 

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

1) Заставка по-умолчанию

2) Фотографии

3) Мои фотографии

 

При этом, если входишь в 1-й, то открываются 2-й и т.п.

 

Мне просто нужно где-то сместить индекс текстового ресурса, чтобы стало

 

1) Фотографии

2) Мои фотографии

3) Загруженные изображения

 

А индекс со словами "Заставка по умолчанию" сместить на 4-й, но ведь он же не отображается, и всё будет, как надо.

 

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

 

Насколко я понял, в строках МСС на старых СВИФТах не пишется, где расположен текст, как на телефонах SYSOL.

В тумб-коде? Опять же, как его найти...

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

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

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

karas,

Нашел строку в МСС, отвечающую за прорисовку белого прямоугольника

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

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

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

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

 

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

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

В тумб-коде? Опять же, как его найти...

Да именно в тумбе.

111EF4C0  7D 0A 0900 0400 0100 00000000 0000 0000  Меню 0xA из 4 пунктов

На вкладке МСС находим 7D0A --> 104A5D98-set0_6menu,далее в таблице касе-переходов находим 0009 и переходим по нему -->

	
	loc_104A6434: ; CASE 0x0009	
104A6434:	3522	MOV	R2, #0x35
104A6436:	6F49	LDR	R1, =0x111EEB2E
104A6438:	12A8	ADD	R0, SP, #0x48
104A643A:	5CF752EA	BLX	___rt_memcpy
104A643E:	7B20	MOV	R0, #0x7B
104A6440:	4001	LSL	R0, R0, #5
104A6442:	BCF769F9	BL	hfd2_30ReadBlockNameInRamImage
104A6446:	071C	MOV	R7, R0
104A6448:	6B48	LDR	R0, =0x00001D13
104A644A:	BCF765F9	BL	hfd2_30ReadBlockNameInRamImage
104A644E:	041C	MOV	R4, R0
104A6450:	3821	MOV	R1, #0x38
104A6452:	12A8	ADD	R0, SP, #0x48
104A6454:	5BF784EF	BLX	___rt_memclr_w
104A6458:	534A	LDR	R2, =0x111EDE18
104A645A:	0021	MOV	R1, #0x0
104A645C:	863A	SUB	R2, #0x86
104A645E:	0192	STR	R2, [sP, #0x4]
104A6460:	4622	MOV	R2, #0x46
104A6462:	0091	STR	R1, [sP]
104A6464:	0623	MOV	R3, #0x6
104A6466:	281C	MOV	R0, R5
104A6468:	6449	LDR	R1, =0x00000C83
104A646A:	69F7B8EC	BL	_set2_5NormalMenu1LineList
104A646E:	3878	LDRB	R0, [R7]
104A6470:	0628	CMP	R0, #0x6
104A6472:	12D2	BCS	loc_104A649A
104A6474:	6148	LDR	R0, =0x00000C83
104A6476:	5FF788EE	BL	_lk_get_text
104A647A:	3B78	LDRB	R3, [R7]
104A647C:	021C	MOV	R2, R0
104A647E:	12A8	ADD	R0, SP, #0x48
104A6480:	5F49	LDR	R1, =0x111EECF0
104A6482:	0133	ADD	R3, #0x1
104A6484:	5EF7BCEF	BL	__sprintf
104A6488:	0022	MOV	R2, #0x0
104A648A:	0092	STR	R2, [sP]
104A648C:	0322	MOV	R2, #0x3
104A648E:	0021	MOV	R1, #0x0
104A6490:	301C	MOV	R0, R6
104A6492:	12AB	ADD	R3, SP, #0x48
104A6494:	64F722EA	BL	_lk_AddMenu
104A6498:	2DE0	B	loc_104A64F6
	loc_104A649A:	
104A649A:	0828	CMP	R0, #0x8
104A649C:	0DD1	BNE	loc_104A64BA
104A649E:	3422	MOV	R2, #0x34
104A64A0:	211D	ADD	R1, R4, #4
104A64A2:	12A8	ADD	R0, SP, #0x48
104A64A4:	5CF702ED	BL	_strncpy
104A64A8:	0022	MOV	R2, #0x0
104A64AA:	0092	STR	R2, [sP]
104A64AC:	0322	MOV	R2, #0x3
104A64AE:	0321	MOV	R1, #0x3
104A64B0:	301C	MOV	R0, R6
104A64B2:	12AB	ADD	R3, SP, #0x48
104A64B4:	64F712EA	BL	_lk_AddMenu
104A64B8:	1DE0	B	loc_104A64F6
	loc_104A64BA:	
104A64BA:	2088	LDRH	R0, [R4, #0]
104A64BC:	2428	CMP	R0, #0x24
104A64BE:	0DD1	BNE	loc_104A64DC
104A64C0:	3422	MOV	R2, #0x34
104A64C2:	211D	ADD	R1, R4, #4
104A64C4:	12A8	ADD	R0, SP, #0x48
104A64C6:	5CF7F2EC	BL	_strncpy
104A64CA:	0022	MOV	R2, #0x0
104A64CC:	0092	STR	R2, [sP]
104A64CE:	0322	MOV	R2, #0x3
104A64D0:	0121	MOV	R1, #0x1
104A64D2:	301C	MOV	R0, R6
104A64D4:	12AB	ADD	R3, SP, #0x48
104A64D6:	64F702EA	BL	_lk_AddMenu
104A64DA:	0CE0	B	loc_104A64F6
	loc_104A64DC:	
104A64DC:	3422	MOV	R2, #0x34
104A64DE:	211D	ADD	R1, R4, #4
104A64E0:	12A8	ADD	R0, SP, #0x48
104A64E2:	5CF7E4EC	BL	_strncpy
104A64E6:	0022	MOV	R2, #0x0
104A64E8:	0092	STR	R2, [sP]
104A64EA:	0322	MOV	R2, #0x3
104A64EC:	0221	MOV	R1, #0x2
104A64EE:	301C	MOV	R0, R6
104A64F0:	12AB	ADD	R3, SP, #0x48
104A64F2:	64F7F4E9	BL	_lk_AddMenu
	loc_104A64F6:	
104A64F6:	3349	LDR	R1, =0x111EEEE8
104A64F8:	3A78	LDRB	R2, [R7]
104A64FA:	6431	ADD	R1, #0x64
104A64FC:	2E20	MOV	R0, #0x2E
104A64FE:	5FF7CEEA	BL	_tra1_3trace
104A6502:	3049	LDR	R1, =0x111EEEE8
104A6504:	2288	LDRH	R2, [R4, #0]
104A6506:	2C31	ADD	R1, #0x2C
104A6508:	2E20	MOV	R0, #0x2E
104A650A:	5FF7C8EA	BL	_tra1_3trace
104A650E:	6FE4	B	loc_104A5DF0

Это как раз описание данного меню,

104A6474: 6148 LDR R0, =0x00000C83---например загрузка текстового ресурса "Заставка"

/ Чтобы боялись чужие, не обязательно бить своих.../
Ссылка на комментарий
Поделиться на другие сайты

Объясните кое-что пожалуйста для....хм....отстающих учеников...

 

Во-первых, перешёл я во вкладке МСС на скрипт с параметром 7D0A. Открылся код. А где же находится таблица case-переходов?

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

 

 

2) Ищём 0009 а не 0900, потому что на SWIFT байты пишутся задом наперёд?

 

 

3) Открыли нужный код...

 

Насколько я понял, это код того самого меню с 4-мя пунктами, т.е.

 

--Заставка--

1 Заставка по умолчанию

2 Фотографии

3 Мои фотографии

4 Загруж. изображ.

 

 

Но я здесь н нашёл нужных индексов текстовых ресурсов. Если точнее....

 

Вот в примере

104A6474: 6148 LDR R0, =0x00000C83

 

Здесь считывается и помещается в регистр R0 данные (в данном случае текст), которые располагаются по индексу 830C (ведь байты задом наперёд пишутся)

 

А в коде не обнаружил нужных индексов..

А это, если не изменяет память...

 

Заставка по умолчанию - 0334

Фотографии - не помню

Мои фотографии - 070F

Загр. изобр. - 03A0

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

***Рейнджер***, смотри внимательно код...

 

Видишь строку?

LDR	R2, =0x111EDE18

далее от нее отнимается 0x86:

SUB	R2, #0x86

То есть, переходишь на адрес 0х111EDD92, и видишь нужные тебе ресурсы :28:

3403 4F08 0F07 A003

 

Здесь считывается и помещается в регистр R0 данные (в данном случае текст), которые располагаются по индексу 830C (ведь байты задом наперёд пишутся)

"0C83" будет. BinEdit автоматических их переводит :)

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

Да, спасибо, всё нашёл.

 

Только где всё-таки находится таблица case-переходов? И это вообще, проверка параметров или что?

И по коду,откуда узнать что именно

104A6458: 534A LDR R2, =0x111EDE18

это то, что нужно?

 

Ведь я думал, командой SUB выделяется место в стеке.

 

Сам патчик выложу завтра\послезавтра в ветке с патчами для D500.

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

И это вообще, проверка параметров или что?

Вернее сказать обработка,какого-то параметра,заданного в МСС.

где всё-таки находится таблица case-переходов

Сразу за функцией,после таблицы идут собственно сами обработки конкретного значения заданного параметра.Из примера выше:

104A5D98- начало set0_6menu,

104A5DF2- конец set0_6menu,

104A5DF4-начало таблицы case-переходов...

/ Чтобы боялись чужие, не обязательно бить своих.../
Ссылка на комментарий
Поделиться на другие сайты

1) Вопрос возможно глупый, но... существует ли какой-нить док по описания ф-ций для МСС скриптов?

2) Где можно посмотреть коды Функций (ну типо 8F-ShowMessage и т.п.)?

3) Почитал Хелпы по созданию патчей, вроде въехал немного, собрался делать патч "подсветка инв. часов при заблок. клавиатуре", но возник вопрос: надо рассматривать событие KeyPressed и смотреть адрес перехода на сообщение о блокировке в случает блокировки иначе выполнение функции клавиши, но куда переходить после нажатия ри блокировке... в вызов DigitalClock чтоли?

зы проха X620XEH4.

ззы заранее спасибо, надеюсь на помощь...

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

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

Как поменять местами пункты меню.ТОчнее как сделать что бы пометь Местами слова.Я поменял пункты меню,а слова остались на месте

Жизнь - игра, задумка хреновая, но графика обалденная!

Делай, что должен - свершится, что суждено...

40ia7.jpg

Все патчи для Е830

Все патчи для D900

 

я бы себя переписал, но Бог не дает исходники...

Помогите кто чем может...

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

ТОчнее как сделать что бы пометь Местами слова.

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

Перебить ссылки на их идексы в тумбе соответствующего конфига меню(конкретное меню дай для конкретной прошивки)

Прошивка Д900К2

114136AC: 79000100000000006C37411100000000 DCM MCC_MENU_SELECT 0 0x1 0 0 loc_1141376C

114136BC: 79000200000000007830BC1000000000 DCM MCC_MENU_SELECT 0 0x2 0 0 loc_10BC3078

114136CC: 79000300000000009C3C411100000000 DCM MCC_MENU_SELECT 0 0x3 0 0 loc_11413C9C

114136DC: 7900040000000000C095FF1000000000 DCM MCC_MENU_SELECT 0 0x4 0 0 loc_10FF95C0

114136EC: 7900050000000000E44B331100000000 DCM MCC_MENU_SELECT 0 0x5 0 0 loc_11334BE4

114136FC: 79000600000000003CA53B1100000000 DCM MCC_MENU_SELECT 0 0x6 0 0 loc_113BA53C

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

Жизнь - игра, задумка хреновая, но графика обалденная!

Делай, что должен - свершится, что суждено...

40ia7.jpg

Все патчи для Е830

Все патчи для D900

 

я бы себя переписал, но Бог не дает исходники...

Помогите кто чем может...

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

tema172,чуть выше описание этого меню

1141367C  7C 22 0000 0700 0200 00000000 0000 0000  Меню 0x22 из 7 пунктов

7С22-это messages0_6menu,нас интересует самый первый касе-переход(7C 22 0000)

		messages0_6menu:
10E18268:	F0B5	PUSH	{R4-R7,LR};Сохранить регистры R4-R7,LR
.......
10E18298:	F0BD	POP	{R4-R7,PC};Загрузить регистры R4-R7,PC
10E1829A:	0000	LSL	R0, R0, #0;R0 = R0 << 0
10E1829C:	2300	DCD	0x0023;B loc_10E182DE;при 0x0000;Переход по адресу 0x10E182DE

		loc_10E182DE:; CASE 0x0000; Переход с адреса 0x10E1829C
10E182DE:	0A2F	CMP	R7, #0xA;Сравнить R7 и 10
...
10E1832E:	3EF72CE8	BL	_lk_PutMenuExtInfo
10E18332:	0024	MOV	R4, #0x0;R4 = 0
10E18334:	C04F	LDR	R7, =0x102D9B76

Вот по адресу 102D9B76 и лежат индексы твоих ресурсов

102D9B76:	4D09	
102D9B78:	9709	
102D9B7A:	0508	
102D9B7C:	EE0F	
102D9B7E:	6E07	
102D9B80:	2501	
102D9B82:	A604

переделай

102D9B76: 9709

102D9B78: 4D09 и первым станет Мои сообщения,а вторым Создать сообщения

/ Чтобы боялись чужие, не обязательно бить своих.../
Ссылка на комментарий
Поделиться на другие сайты

tema172,чуть выше описание этого меню

1141367C 7C 22 0000 0700 0200 00000000 0000 0000 Меню 0x22 из 7 пунктов

7С22-это messages0_6menu,нас интересует самый первый касе-переход(7C 22 0000)

		messages0_6menu:
10E18268:	F0B5	PUSH	{R4-R7,LR};Сохранить регистры R4-R7,LR
.......
10E18298:	F0BD	POP	{R4-R7,PC};Загрузить регистры R4-R7,PC
10E1829A:	0000	LSL	R0, R0, #0;R0 = R0 << 0
10E1829C:	2300	DCD	0x0023;B loc_10E182DE;при 0x0000;Переход по адресу 0x10E182DE

		loc_10E182DE:; CASE 0x0000; Переход с адреса 0x10E1829C
10E182DE:	0A2F	CMP	R7, #0xA;Сравнить R7 и 10
...
10E1832E:	3EF72CE8	BL	_lk_PutMenuExtInfo
10E18332:	0024	MOV	R4, #0x0;R4 = 0
10E18334:	C04F	LDR	R7, =0x102D9B76

Вот по адресу 102D9B76 и лежат индексы твоих ресурсов

102D9B76:	4D09	
102D9B78:	9709	
102D9B7A:	0508	
102D9B7C:	EE0F	
102D9B7E:	6E07	
102D9B80:	2501	
102D9B82:	A604

переделай

102D9B76: 9709

102D9B78: 4D09 и первым станет Мои сообщения,а вторым Создать сообщения

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

Жизнь - игра, задумка хреновая, но графика обалденная!

Делай, что должен - свершится, что суждено...

40ia7.jpg

Все патчи для Е830

Все патчи для D900

 

я бы себя переписал, но Бог не дает исходники...

Помогите кто чем может...

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

tema172, по адресу

119A2F60: 48AC2D10

119A2F64: 78AA2D10 поменяй их местами

119A2F60: 78AA2D10

119A2F64: 8AC2D10....не удивляйся если при вводе этого адреса у тебя откроется адрес в оперативке 180160D0

По-моему,таблица всплывающих меню загружается все в том же messages0_6menu case_0000 по адресу 10E183F6,и далее идет вычисление и считывание из нее адреса соответсвующего наведенному курсору

 

.......

[color="#FF0000"]10E183F6:	934E	LDR	R6, =0x180160D0[/color]
10E183F8:	8F4F	LDR	R7, =0x102D9B76
10E183FA:	16E0	B	loc_10E1842A
	loc_10E183FC:	
10E183FC:	6000	LSL	R0, R4, #1
10E183FE:	385A	LDRH	R0, [R7, R0]
10E18400:	36F74AEF	BL	_lk_get_text
10E18404:	0022	MOV	R2, #0x0
10E18406:	031C	MOV	R3, R0
10E18408:	211C	MOV	R1, R4
10E1840A:	281C	MOV	R0, R5
10E1840C:	0092	STR	R2, [sP]
10E1840E:	3DF7C2EF	BL	_lk_AddMenu
10E18412:	0122	MOV	R2, #0x1
10E18414:	0092	STR	R2, [sP]
[color="#FF0000"]10E18416:	A000	LSL	R0, R4, #2
10E18418:	3358	LDR	R3, [R6, R0][/color]
10E1841A:	4D22	MOV	R2, #0x4D
10E1841C:	211C	MOV	R1, R4
10E1841E:	281C	MOV	R0, R5
10E18420:	3DF7B8EF	BL	_lk_AddMenu
10E18424:	0134	ADD	R4, #0x1
10E18426:	2406	LSL	R4, R4, #24
10E18428:	240E	LSR	R4, R4, #24
	loc_10E1842A:	
10E1842A:	072C	CMP	R4, #0x7
10E1842C:	E6D3	BCC	loc_10E183FC

.......

Как то так...

/ Чтобы боялись чужие, не обязательно бить своих.../
Ссылка на комментарий
Поделиться на другие сайты

tema172, по адресу

119A2F60: 48AC2D10

119A2F64: 78AA2D10 поменяй их местами

119A2F60: 78AA2D10

119A2F64: 8AC2D10....не удивляйся если при вводе этого адреса у тебя откроется адрес в оперативке 180160D0

По-моему,таблица всплывающих меню загружается все в том же messages0_6menu case_0000 по адресу 10E183F6,и далее идет вычисление и считывание из нее адреса соответсвующего наведенному курсору

 

.......

[color="#FF0000"]10E183F6:	934E	LDR	R6, =0x180160D0[/color]
10E183F8:	8F4F	LDR	R7, =0x102D9B76
10E183FA:	16E0	B	loc_10E1842A
	loc_10E183FC:	
10E183FC:	6000	LSL	R0, R4, #1
10E183FE:	385A	LDRH	R0, [R7, R0]
10E18400:	36F74AEF	BL	_lk_get_text
10E18404:	0022	MOV	R2, #0x0
10E18406:	031C	MOV	R3, R0
10E18408:	211C	MOV	R1, R4
10E1840A:	281C	MOV	R0, R5
10E1840C:	0092	STR	R2, [sP]
10E1840E:	3DF7C2EF	BL	_lk_AddMenu
10E18412:	0122	MOV	R2, #0x1
10E18414:	0092	STR	R2, [sP]
[color="#FF0000"]10E18416:	A000	LSL	R0, R4, #2
10E18418:	3358	LDR	R3, [R6, R0][/color]
10E1841A:	4D22	MOV	R2, #0x4D
10E1841C:	211C	MOV	R1, R4
10E1841E:	281C	MOV	R0, R5
10E18420:	3DF7B8EF	BL	_lk_AddMenu
10E18424:	0134	ADD	R4, #0x1
10E18426:	2406	LSL	R4, R4, #24
10E18428:	240E	LSR	R4, R4, #24
	loc_10E1842A:	
10E1842A:	072C	CMP	R4, #0x7
10E1842C:	E6D3	BCC	loc_10E183FC

.......

Как то так...

Спасибо.А раскажи как ты узнал этот адрес???

Жизнь - игра, задумка хреновая, но графика обалденная!

Делай, что должен - свершится, что суждено...

40ia7.jpg

Все патчи для Е830

Все патчи для D900

 

я бы себя переписал, но Бог не дает исходники...

Помогите кто чем может...

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

Пожалусто разберите вот это код

7900000000000000A821881100000000

А особенно что обозначает вот это

A8218811

И вот это еще 7C0A00000B0002000000000000000000

Жизнь - игра, задумка хреновая, но графика обалденная!

Делай, что должен - свершится, что суждено...

40ia7.jpg

Все патчи для Е830

Все патчи для D900

 

я бы себя переписал, но Бог не дает исходники...

Помогите кто чем может...

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

 

А особенно что обозначает вот это

A8218811

 

 

Это адрес.

 

На сфивтах же байты перевёрнуто отображаются, то есть истинный адрес будет 118821A8

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

7900000000000000A821881100000000

При выборе(MCC_MENU_SELECT) первого пункта меню будет выполняться функция по адресу 118821A8-mcc_org_set_timedate

7C0A00000B0002000000000000000000

7С0A-MCC_MENU_CONFIG_0A-на вкладке МСС кликаем по соотв адресу и попадаем на

		set0_6menu:
1125437C:	F1B5	PUSH	{R0,R4-R7,LR}
1125437E:	FFB0	SUB	SP, SP, #0x1FC
11254380:	D9B0	SUB	SP, SP, #0x164
11254382:	0024	MOV	R4, #0x0
11254384:	D898	LDR	R0, [sP, #0x360]
11254386:	8588	LDRH	R5, [R0, #4]
11254388:	D898	LDR	R0, [sP, #0x360]
1125438A:	C088	LDRH	R0, [R0, #6]
1125438C:	C490	STR	R0, [sP, #0x310]
1125438E:	D898	LDR	R0, [sP, #0x360]
11254390:	E849	LDR	R1, =mmi_quiet_mode_onoff
........

0000-первый case-переход

........
	loc_11254434:	
11254434:	7FB0	ADD	SP, SP, #0x1FC
11254436:	5AB0	ADD	SP, SP, #0x168
11254438:	F0BD	POP	{R4-R7,PC}
1125443A:	0000	LSL	R0, R0, #0
1125443C:	5700	DCD	0x0057 ;B loc_[color="#3333FF"]112544E4[/color]  ;при 0x[color="#3333FF"]0000[/color]
1125443E:	0001	DCD	0x0100 ;B loc_11254636  ;при 0x0001
11254440:	D702	DCD	0x02D7 ;B loc_112549E4  ;при 0x0002
........

перейдя по которому попадаем на построение нашего конкретного меню

		loc_112544E4: ; CASE 0x0000	
112544E4:	C498	LDR	R0, [sP, #0x310]
112544E6:	0A28	CMP	R0, #0xA
112544E8:	38D1	BNE	loc_1125455C
112544EA:	0620	MOV	R0, #0x6
112544EC:	05F76AEC	BL	_lk_get_sofk
112544F0:	C390	STR	R0, [sP, #0x30C]
112544F2:	4820	MOV	R0, #0x48
112544F4:	05F766EC	BL	_lk_get_sofk
........

0B00-количество пунктов меню(11)

последний параметр 02-не знаю :5:

Ржунимагу,все вместе разбирались по буквам,а ты вываливаешь патч на другой форум,указав себя автором... :Laie_67: Пеши исчо... :28:

/ Чтобы боялись чужие, не обязательно бить своих.../
Ссылка на комментарий
Поделиться на другие сайты

5C000000000000000000000000000000              подготовка окна
78000000000000000000000000000000              это я так понял всегда одно и тоже
170AD100000000000000000000000000
750001000041000000000000B0000000               здесь на сколько я понял 01 всегда одно,41 тоже,вот почему меняется B ???
7C0A01000A0002000000000000000000    
760A0100000002020000000010000000
790000000000000078C1811100000000              78C18111 это куда переходить
7900010000000000DC042B1000000000
790002000000000080CFF81000000000
7900040000000000AC022B1000000000
7900030000000000584EB71000000000
79000500000000005CA03B1100000000
79000600000000005C182B1000000000
79000700000000009CBC3B1100000000
79000800000000009CB93B1100000000
7900090000000000DCAD3B1100000000
180901000F00000050F1721000000000                50F1721-куда этот переход?
190901000200000050F1721000000000
38000000000000000000000000000000              завершение мсс скрипта тоже всегда одно и тоже

Расскажите плиз подробно что обозначает каждый байт,а то пытался создать своё меню,но так нечего и не получилось :67::):67::ak: .

Жизнь - игра, задумка хреновая, но графика обалденная!

Делай, что должен - свершится, что суждено...

40ia7.jpg

Все патчи для Е830

Все патчи для D900

 

я бы себя переписал, но Бог не дает исходники...

Помогите кто чем может...

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

вот почему меняется B ???

Это ширина меню.Может быть F000=240,B000=176,7000=112,3000=48

78C18111 это куда переходить

Ну да,в зависимости от выбранного пункта меню

50F1721-куда этот переход?

переход на mcc_lk_return_menu_01 -> 0x1072F150.Возврат на один уровень выше.Рассматриваемое меню 9-2(Настройки-Телефон)-mcc_set_phone_settings.Следовательно по нажатию пр.софт возвращаемся на уровень выше-Настройки-mcc_settings_main_menu

/ Чтобы боялись чужие, не обязательно бить своих.../
Ссылка на комментарий
Поделиться на другие сайты

Допустим я зделал свое меню,А как зделать описание текстовых индексов для этого меню???Что бы текстовые индексы считовались от туда??Если можно то приведите пример

Жизнь - игра, задумка хреновая, но графика обалденная!

Делай, что должен - свершится, что суждено...

40ia7.jpg

Все патчи для Е830

Все патчи для D900

 

я бы себя переписал, но Бог не дает исходники...

Помогите кто чем может...

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

Допустим я зделал свое меню,А как зделать описание текстовых индексов для этого меню???Что бы текстовые индексы считовались от туда??Если можно то приведите пример

Текст. индексы задаются в thumb-коде конфига меню.

Чаще всего так:

ldr	r0, =0x00000CAE
bl	lk_get_text
mov	r2, 0
mov	r3, r0
mov	r1, 1;номер пункта меню
mov	r0, r6
str	r2, [sp]
bl	lk_AddMenu

т.е. там, где добавляется пункт меню...

Ссылку на свои яз. индексы проще всего делать с помощью функции lk_get_extended_text из мастер-патча...

В таблице яз. индексов мастер-патча добавляем ссылку на яз. ресурсы:

.start	Lang_tab+4;+4 указывает на вторую ячейку
.word	str_1_Volume_Key_Down

в конфиге меню будет так:

mov	r0, 1;единица указывает на номер ячейки в таблице
bl	lk_get_extended_text
mov	r2, 0
mov	r3, r0
mov	r1, 1
mov	r0, r6
str	r2, [sp]
bl	lk_AddMenu

ну и str_1_Volume_Key_Down:

str_1_Volume_Key_Down:
.string	"Lautstarketaste nach unten";Deu
.string	"Volume Key Down";Eng
.string	"Touches volume en bas";Fran
.string	"Кнопка громкости вниз";Rus
.string	"Кнопка гучностi вгору";UA

 

НО, данный способ работает не для всех меню!

Например, в том же меню Настройки-Телефон чтение яз.индексов осуществляется другим способом...

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

А может у кого нибудь есть мануал по мастер патчу?

какие функции он содержит и какие таблицы в нём имеються?

и в общем как им пользоваться?

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

VitaliyDV,

мне кажется функции -=Мастер-патча=- не раз, и достаточно подробно, были рассмотрены в этом форуме!

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

VitaliyDV, В описании патча предельно четко все изложено вроде

....

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

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

2. Расширение MMI и функций управления за счет использования дополнительных таблиц обработчиков MCC-скриптов:

- Таблица обработчиков MCC_ELSEIF 0x14 (MCC_IF 0x14)

- Таблица обработчиков MCC_TASK 0x14

- Таблица обработчиков MCC_MENU_CONFIG 0x14

3. Функции работы с конфигурационным файлом: LoadCFG, SaveCFG.

Ссылки на таблицы вбиты в неиспользуемые ячейки в таблице МСС.Пустые места в этой таблице есть(были до сих пор,по крайней мере :an: ) во всех Swift-ах,поэтому патч легко портируется между прошивками :( А что такое обработчики и как они работают-эт уже другая история.Это основы принципов работы прошивки,MaxKis и AlexeyK выкладывали это где-то в хелпах,поищи

/ Чтобы боялись чужие, не обязательно бить своих.../
Ссылка на комментарий
Поделиться на другие сайты

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

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

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

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

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

Войти

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

Войти



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