FAQ. Наиболее легкий способ портирования функций : Эльфостроение : Форум

Страница 15 из 16: « 1 ... 11 12 13 14 [15] 16 »

 zapret:
12.08.09, 17:49
 TahaSpawn, гугл юзай.

 MAVER145:
13.08.09, 02:10
 как на к600 с к750 портировать:
05DC: FFFFFFFF 3474094C ;8177: int get_VBUFFER(void);

это же адрес из рамы. а к600 это же дб2000. Как такие межплатформенно портировать?

 vodoo999:
28.09.09, 00:10
 Вроде все по инструкции сделал. Портировал вот эту функцию (с K810 R8BF003):
0DD4: 00000000 51AA4245 ; 375: BOOK *GUIonMessage_GetBook ( void *msg);


с K810 R8BF003, на K810 R8BA024.

Получил вот:
0DD4: 00000000 192A2E45 ; 375: BOOK *GUIonMessage_GetBook ( void *msg);
- для K810 R8BA024.

Добавил в lib.vkp для K810 R8BA024. Получилось так:
;K810 SW-R8BA024
;Библиотека функций
;v
;(c) Hussein , IronMaster
;(p) Victor_k, Ploik, diezil, MouSeX....

;0DC0: xxxxxxxx yyyyyyyy ; 370: void GUIObject_Softkey_ExecuteAction(void *gui, u16 actionID);
;0DC4: xxxxxxxx yyyyyyyy ; 371: int Request_ICA_ShutdownAllConnections(const int *sync);
0DC8: 00000000 55FD3E45 ; 372: int REQUEST_PROFILE_GETPROFILENAME(const int *SYNC,int unk,NAME *,char *error)
0DCC: 00000000 CDB0FD44 ; 373: int DataBrowserDesc_SetFocusToFILEITEM(void *DataBrowserDesc, FILEITEM *fi);
0DD4: 00000000 192A2E45 ; 375: BOOK *GUIonMessage_GetBook ( void *msg);



;locale=Russian_Russia.1251


Проверил FuncChecker v1.0.4 - пишет, что все пучком, т.е. теоретически портировал функцию правильно (на примере с эльфом Bookman):

до вписывания портированной функции -



после вписывания -



Добавил (заменил старую библиотеку на новую с новой функой) библиотеку на телефон.Но при запуске эльфа Bookmanager v2.98 - белый экран и перезагрузка. Что-то я упустил... Кстати на BookMan_mod вапще нет такой функи (точнее она не используется) и он работает без проблем.

PS: могу попытаться расписать с картинками все что я сделал для портирования функи более подробно.

[ Редактировано vodoo999 в 27.9.09 23:49 ]

 GaS:
28.09.09, 02:38
 vodoo999 писал:
т.е. теоретически портировал функцию правильно

прога всего лишь определяет наличие данной функции в библиотеке, но никак её правильность, и нафига портировать то что уже давно портануто http://supertrubka.org/newbb_plus/viewtopic.php?topic_id=2567&start=680

 flips:
15.01.10, 23:19
 Добрый вечер, Подходит ли этот способ дляпортирования между платформами ,чем можно проверить правильность портирования функций?

 ELECTRO-NIC:
16.01.10, 00:02
 flips писал:
Подходит ли этот способ для портирования между платформами ,

Да.
flips писал:
чем можно проверить правильность портирования функций?

Эльфом который использует данную функцию.

 RomaRi:
08.03.10, 14:18
 Возникла проблема при портирование 790E2A45
;K790 SW-R8BF003
(0D9C: 00000000 790E2A45 ; 367: void REQUEST_SETTING_ALLOWEDCALLERS_GET( const int* sync, int ProfileNum, char* state );)
На ;K770 SW-R8BA024

На К790 по адресу нахожу
B5 13 4F 04 1C 0D 1C 12 49 16 1C 3A 1C 14 20 2C

На К770 есть (последний бит отличается)
B5 13 4F 04 1C 0D 1C 12 49 16 1C 3A 1C 14 20 25
По адресах
12D8DC9, 12D8E71, 12D9039, 12D91B9, 12D9265, 12D930D, 12D9595

Как быть в этой ситуации

Ps: в английском не силен, но походу функция должна быть…

 den_po:
08.03.10, 15:28
 MNS81, не знаю, как RomaRi, но я тебя не понял :D

 RomaRi:
08.03.10, 15:32
 Спасибо, я не знал что што эти функции ищутся по другому

PS Я только вчера начал вникать как это делать (нехватает для Standby Mode 2.18 )

Попробовал на известной – не получилось (должно было бить 79 0E 2A 45 а у меня вышло C8 0E 2A 45),

Как найдешь двигай в начало функции
- Наверно здесь лажа? я несовсем понял как это.

[ Редактировано RomaRi в 8.3.10 14:55 ]

[ Редактировано RomaRi в 8.3.10 14:58 ]

 MNS81:
08.03.10, 17:33
 По многочисленным просьбам рассказываю более популярно.
Расскажу на примере того же 790-го и той же функи 367: void REQUEST_SETTING_ALLOWEDCALLERS_GET( const int* sync, int ProfileNum, char* state );

1. Открываем свой любимый гекс редактор
2. Открываем в нем свою прошу(K790 SW-R8BF003.raw)
3. включаем поиск по тексту и вбиваем туда REQUEST_SETTING_ALLOWEDCALLERS_GET
4. Нажимаем поиск
5. Находим все это по адресу 198087C
6. Прибавляем оффсет и переворачиваем 198087C+44140000=45AC087C-->7C08AC45
7. Включаем поиск по гексу и пишем туда 7C08AC45, жмем поиск
8. находим, далее ищем слева от найденного самую первую В5, это и будет начало функции. В проше от к790 самое первое В5 будет по адресу 1160E79
9. Прибавляем к адресу оффсет и переворачиваем 1160E79+44140000=452A0E79-->790E2A45
10. Теперь это самое 790E2A45 смело пишем в либу
Страница 15 из 16: « 1 ... 11 12 13 14 [15] 16 »

URL этой темы:
https://mobilefree.justdanpo.ru/newbb_plus/viewtopic.php?topic_id=3383&start=140

© 2005-2018 supertrubka.org