Клуб фанатов BenQ-Siemens E71/EL71
Начало | ПК-версия | Регистрация Приветствуем Вас, Гость | RSS
[ Обновления • Участники • Правила форума • Поиск ]


MySMSYS
sim_emrom25.09.2008, 13:30
Человек
Сообщений: 1758

Offline
[Отправить ЛС]
All about MySMSYS © BingK :)

Remember: you always need to have up-to-date library to use MSS ;)


Отредактировано sim_emrom - Вторник, 24.03.2009, 22:16
huteusz25.09.2008, 18:23
Генерал-лейтенант
Сообщений: 490

Offline
[Отправить ЛС]
sim_emrom, do you have this elf? Can you put it here?
sim_emrom25.09.2008, 20:05
Человек
Сообщений: 1758

Offline
[Отправить ЛС]
I have this elf shy But I can't put it here (now). It's not ready yet and I have no rights... But you can ask BingK in private message ;) I think he easily give you link.
huteusz25.09.2008, 23:02
Генерал-лейтенант
Сообщений: 490

Offline
[Отправить ЛС]
Ok, no problem :)
BingK26.09.2008, 09:21
Подполковник
Сообщений: 100

Offline
[Отправить ЛС]
now the text of the ems could be shown well, but the picture is skipped.

sources updated here: http://sieelf.googlecode.com/svn/SieELF/MySMSYS

new function, 0x2B0:SetMenuSoftKey is needed.

St@lker26.09.2008, 09:37
Полковник
Сообщений: 202

Offline
[Отправить ЛС]
2 BingK: can you make patterns for ELKA? In EL71v45 I found only this functions:

Code
+0074000
#pragma enable old_equal_ff
A8C: 0xA095D09D  ; 2A3: __thumb void UpdateMenuCursorItem(void *gui, int n)
A98: 0xA09594BD  ; 2A6: __thumb void SetHeaderToMenu(void *gui, const HEADER_DESC *hdr, void *malloc_adr)
AA0: 0xA095ACB7  ; 2A8: __thumb int GetMenuItemCount(void *gui)
AB8: 0xA095EBC1  ; 2AE: __thumb void *GetHeaderPointer(void *gui)
ABC: 0xA0A31F49  ; 2AF: __thumb void SetHeaderText(void *hdr_pointer, WSHDR *txt, void *malloc_adr, void *mfree_adr)
AC0: 0xA095FDB5  ; 2B0: __thumb void SetMenuSoftKey(void *gui, const SOFTKEY_DESC *,int n)
#pragma disable old_equal_ff
+0

Another patterns do not approach.

BingK30.09.2008, 09:01
Подполковник
Сообщений: 100

Offline
[Отправить ЛС]
to St@lker
sorry, the pattern is hard to find.

------------------------------------------

now the new version may be the better.

SVN - update

sim_emrom30.09.2008, 17:08
Человек
Сообщений: 1758

Offline
[Отправить ЛС]
BingK, we found these functions by port from E71, but have still got pikoff on EL71 at starting MYSMSYS gui. We don't know whether it depended on lib or not, cause S-Exit don't show function number.
Put MYSMSYS.elf and your swilib.h here please, 'cause we can't make swilib update... :(

And it's very hard to understand something on your forum. I can't even get registration, and see forum themes without it.

BingK30.09.2008, 19:16
Подполковник
Сообщений: 100

Offline
[Отправить ЛС]
sim_emrom
swilib.h:
http://sieelf.googlecode.com/svn/SieELF/inc/swilib.h

try http://mobile.0110.cn/archiver/?fid-182.html, registration is not neened there.

sim_emrom01.10.2008, 00:56
Человек
Сообщений: 1758

Offline
[Отправить ЛС]
BingK, there were no thing I understood :sorry:
How to translate it from Chinese?.. Or how to learn Chinese...
And from Archive we unfortunately don't see any links.

I've got compiled MySMSYS v.1.3! Thanks very much, the problem was not only in swilib.h, but also in obs.h (I haven't it).

I put ELKA-elf here, for everybody shy Now it reads EMS correctly and so gets right message-list. And it reads EMS with attachment better than SMSman - we can see text before attach. and after it - that's great! Waiting for image-support.

I think we need to make User's Want-list (ToDo).

E71 users, don't forget to install lib-addiction patch from first message. EL71 still waiting, as St@lker have pik...

Вложения: MySMSYS_elka_en.elf (26.1 Kb) · swilib.h (135.9 Kb) · obs.h (4.2 Kb)
PaulS01.10.2008, 02:13
Chemist
Сообщений: 421

Offline
[Отправить ЛС]
Quote (sim_emrom)
How to translate it from Chinese?.. Or how to learn Chinese..

на русский
into english
By Google...
But still a lot of work for our mind to understand this "translation"
sim_emrom01.10.2008, 10:55
Человек
Сообщений: 1758

Offline
[Отправить ЛС]
Thanks, PaulS ;) But failed to follow links on translated pages.

We ported lib-sms to EL71 so:

Code
+0074000
#pragma enable old_equal_ff
0A8C: 0xA095D09D   ; 2A3: void UpdateMenuCursorItem(void *gui, int n)
0A90: 0xA0959EA9   ; 2A4: void *GetMenuGUI(void *malloc_adr, void *mfree_adr)
0A94: 0xA09611FD   ; 2A5: void *GetMultiLinesMenuGUI(void *malloc_adr, void *mfree_adr)
0A98: 0xA09594BD   ; 2A6: void SetHeaderToMenu(void *gui, const HEADER_DESC *hdr, void *malloc_adr)
0A9C: 0xA095DE5F   ; 2A7: void SetMenuToGUI(void *gui, const void *menu_desc)
0AA0: 0xA095ACB7   ; 2A8: int GetMenuItemCount(void *gui)
0AA4: 0xA0958645   ; 2A9: int CreatePopupGUI(int flag, void *user_pointer, const POPUP_DESC *, int lgp_msg)
0AA8: 0xA0958587    ; 2AA: int CreatePopupGUI_ws(int flag, void *user_pointer, const POPUP_DESC *, WSHDR *msg)
0AAC: 0xA096107D   ; 2AB: void *GetPopupUserPointer(void *gui)
0AB0: 0xA0B6579F   ; 2AC: int DeleteSMS(int index, int n)
0AB4: 0xA0B65DB1   ; 2AD: int SetNewSMSToRead(int index, int _1)
0AB8: 0xA095EBC1   ; 2AE: void *GetHeaderPointer(void *gui)
0ABC: 0xA0A31F49   ; 2AF: void SetHeaderText(void *hdr_pointer, WSHDR *txt, void *malloc_adr, void *mfree_adr)
0AC0: 0xA095FDB5   ; 2B0: void SetMenuSoftKey(void *gui, const SOFTKEY_DESC *,int n)
#pragma disable old_equal_ff   
+0
THIS IS NOT TESTED!!!

I also made kinda-patterns for ELKA (librsms.ini for Smelter):

Code
;Library SMS-functions by BingK for ELKA

[Library]
Version=01.10.2008

2A3:void UpdateMenuCursorItem(void *gui, int n) = ??,B5,??,1C,_blf(??,B5,??,1C,??,1C,??,??,??,??,??,1C,??,34,??,69,??,22,??,32,??,42,??,59),??,1C+1   

2A4:void *GetMenuGUI(void *malloc_adr, void *mfree_adr) = ??,B5,??,1C,89,20,??,1C,??,00,??,47,??,1C,??,1C,??,??,??,??,??,BD+1   

2A5:void *GetMultiLinesMenuGUI(void *malloc_adr, void *mfree_adr) = ??,B5,??,1C,45,20,??,1C,??,00,??,47,??,1C,??,1C,??,??,??,??,??,BD+1   

2A6:void SetHeaderToMenu(void *gui, const HEADER_DESC *hdr, void *malloc_adr) = ??,B5,??,1C,??,22,_blf(??,B5,??,1C,??,1C,??,1C,??,??,??,??,??,28,??,D1,??,2A),??,BD+1   

2A7:void SetMenuToGUI(void *gui, const void *menu_desc) = ??,B5,??,1C,??,1C,??,F0,??,F8,??,21,??,1C,_blf(??,??,??,??,??,??,??,??,??,??,??,??,??,??,??,??),??,1C,??,36,??,36,??,28,??,D0,+1          

2 A8:int GetMenuItemCount(void *gui) = ??,21,??,31,??,58,??,30,??,69,??,29,??,D0,??,38,??,47+1   

2A9:int CreatePopupGUI(int flag, void *user_pointer, const POPUP_DESC *, int lgp_msg) = ??,??,??,A0,FF,FF,??,7F,??,??,??,A0,??,B5,??,4C,??,1C,??,1C+D   

2AA:int CreatePopupGUI_ws(int flag, void *user_pointer, const POPUP_DESC *, WSHDR *msg) = ??,B5,??,1C,??,1C,??,1C,??,49,??,B0,??,48,??,??,??,??,??,1C,??,1C,??,??,??,??,??,49,??,1C,??,??,??,??,??,1C,??,1C,??,??,??,??,??    ,1C,??,1 C,??,??,??,??,??,1C,??,99,??,??,??,??,??,B0,??,BD+1   

2AB:void *GetPopupUserPointer(void *gui) = C0,30,??,68,70,47,80,30,??,68,70,47+1   

2AC:int DeleteSMS(int index, int n) = ??,B5,??,1C,89,B0,??,1C,??,1C,??,1C,??,91,??,49,??,A0,??,92,??,22+1   

2AD:int SetNewSMSToRead(int index, int _1) = ??,B5,??,B0,??,AB,??,1C,??,1C,??,8B,??,92,??,A0,??,91,??,49,??,90+1

2AE:void *GetHeaderPointer(void *gui) = ??,B5,02,21,_blf(??,B5,??,??,??,??,??,28,??,D0,??,68,??,BD,??,20,??,BD),??,BD+1
2AF:void SetHeaderText(void *hdr_pointer, WSHDR *txt, void *malloc_adr, void *mfree_adr) = ??,B5,??,1C,??,1C,??,1C,??,1C,??,28,??,D0,??,2E,??,D0,??,2D,??,D0,??,6A,??,28,??,D0,??,??,??,??,??,90,??,28,??,D0,??,1C,??,6A+1
2B0:void SetMenuSoftKey(void *gui, const SOFTKEY_DESC *,int n) = ??,BD,??,21,??,??,??,??,??,1C,??,1C,_blf(??,B5,??,68,??,00,??,19,??,68,??,68,??,60,??,60,??,1C,??,??,??,??,??,BD),??,BD,-39

They are much compatible with E/EL71 sw45. But on EL71sw38 Smelter don't find 2 functions (SetMenuToGUI, SetNewSMStoRead), so they are not the best. Try manually if you want to make port on another ELKAs' firmwares.

P.S. I don't make patterns for CreatePopupGUI_ws, because it is very big function and english version of MySMSYS don't need it. Maybe later.

Отредактировано sim_emrom - Среда, 01.10.2008, 10:59
snoopyhzy01.10.2008, 13:31
Сержант
Сообщений: 27

Offline
[Отправить ЛС]
SetNewSMStoRead

Can't use newsgold's "??,B5,??,B0,??,AB,??,1C,??,1C,??,8B,??,92,??,A0,??,91,??,49,??,90+1"

maybe you can port it from "http://mobile.0110.cn/archiver/?tid-382555.html" E71Cv41

the e71c v41 firmware you can download in
http://www.zgsyhlzz.com/siediyer/Fubu/bs/APAC_E71C_2006_09_20_RIDB_SO_SVN41_V131.1.rar

BingK01.10.2008, 14:17
Подполковник
Сообщений: 100

Offline
[Отправить ЛС]
tkanks very much to sim_emrom .
Code
#pragma swi_number=0x2A7
__swi __arm void SetMenuToGUI(void *gui, const void *menu_desc);//MENU_DESC,ML_MENU_DESC
//thumb
//pattern_NSG=??,B5,??,1C,??,1C,??,??,??,??,??,21,??,1C,_blf(??,1C,??,68,??,20,??,69,??,43,??,D0,??,20,??,47),??,1C,??,36,??,36,??,28,??,D0,+1  
//thumb
//pattern_ELKA=??,B5,??,1C,??,1C,??,??,??,??,??,21,??,1C,_blf(??,29,??,D1,??,20,??,47,??,68,??,22,??,69,??,43,??,D0,??,22,??,1C,??,47),??,1C,? ?,36,??,36,??,28,??,D0,+1

#pragma swi_number=0x2AC
__swi __arm int DeleteSMS(int index, int n); //return 0x3E8
//thumb
//pattern_NSG=??,B5,??,4E,??,1C,??,1C,??,1C,??,49,??,B0,??,??,??,??,??,1C,??,1C+1
//thumb
//pattern_ELKA=??,B5,??,1C,??,B0,??,1C,??,1C,??,1C,??,91,??,49,??,A0,??,92,??,22,??,90,??,23,??,31,??,48,??,??,??,??,??,4F,??,49,??,1C,+1

# pragma swi_number=0x2AD
__swi __arm int SetNewSMSToRead(int index, int _1); //return 0x3E8
//thumb
//pattern_NSG=??,B5,??,1C,??,4C,??,49,??,B0,??,1C,??,??,??,??,??,AB,??,8A,??,1C+1
//thumb
//pattern_ELKA=??,B5,??,B0,??,AB,??,1C,??,1C,??,8B,??,92,??,A0,??,91,??,49,+1
St@lker01.10.2008, 15:32
Полковник
Сообщений: 202

Offline
[Отправить ЛС]
2 BingK: can you add function DeleteSMS in SMSman elf (only DeleteSMS, not more)? Because your elf doesn't work at EL71 :(

Sources in attached archive.

Вложения: smsman_src_013f.zip (52.4 Kb)
BingK01.10.2008, 16:16
Подполковник
Сообщений: 100

Offline
[Отправить ЛС]
to St@lker
smsman doesn't read the EMS_Admin.dat, we can't get the correct index of the sms, so the delete work can't be done.
sorry.
sim_emrom01.10.2008, 17:31
Человек
Сообщений: 1758

Offline
[Отправить ЛС]
BingK, I'm not very good at assembler and I prefer not use IDA (it's very slow), so I don't know where the functions' ends. I just made port and set the NSG length shy I see, you fixed my mistakes... thumb_up
I want to understand, if functions in NSG and ELKA are different (length??), how do you use them? Both for that platforms...

At EL71 really doesn't work. And somebody with E71 has problems... But I don't dontknow I hope they don't use patches for 200 or 1000 sms (both are incorrect and make sms unread by AT-commands).

BingK, is there any way to make SMSman read EMS_Admin? Or to get index by another code?

snoopyhzy, try BingK patterns version.


It seems patterns for SetNewSMSToRead is still not good. Smelter don't find it in EL71v38 and EL71v31 pardon


Отредактировано sim_emrom - Среда, 01.10.2008, 18:09
snoopyhzy01.10.2008, 19:49
Сержант
Сообщений: 27

Offline
[Отправить ЛС]
Quote
both are incorrect and make sms unread by AT-commands

Undo 1000 sms patch

Now the lastest version can auto save sms as a file when you view the sms.
In the way,you can store unlimited numbers of sms.
v1.4 2008.10.01
1.key "9" save as file in list
2.When view sms,if sms is in phone momeny,it will auto save it as file, and you can set it in bcfg.Dafault is open.
3.when viewing sms ,press key * to show sms detail
4.Fix a bug
5.Add number from contact

v1.3 2008.09.30
1.fix ems
2.add MySMSYS.bcfg

...............

My english is poor. It is hard to translate ...

BingK01.10.2008, 19:55
Подполковник
Сообщений: 100

Offline
[Отправить ЛС]
to sim_emrom
Quote
I want to understand, if functions in NSG and ELKA are different (length??), how do you use them? Both for that platforms...

mostly, all the SGold platforms have the same functions, even though they are in different patterns.

Specially, such as this function, we should use #ifdef, #else, #endif, :

Code

#pragma swi_number=0x296
#ifdef NEWSGOLD
__swi __arm void getProfileNameByN(WSHDR *ws, int n, int _0);
//thumb
//pattern_NEWSGOLD/ELKA=??,B5,??,1C,??,1C,??,B0,??,1C,??,22,??,A9,??,46,??,??,??,??,??,1C,??,2D,??,D1,??,21,+ 1
#else
__swi __arm void getProfileNameByN(int n, WSHDR *ws, int _0);
//thumb
//pattern_SGOLD=??,B5,??,1C,??,1C,??,1C,??,??,??,??,??,1C,??,??,??,??,??,1C,??,??,??,??,??,2E,??,D0,+ 1
#endif

Quote
is there any way to make SMSman read EMS_Admin? Or to get index by another code?

:( , I can't find an other correct way.


Отредактировано BingK - Среда, 01.10.2008, 19:56
sim_emrom02.10.2008, 13:01
Человек
Сообщений: 1758

Offline
[Отправить ЛС]
BingK, ok, I understood, function's features are controlled by elf-code. But what about variables? Are they the same for that functions in SG/NSG/ELKA? I think not always... Hmm, forget it.

I know MySMSYS 1.3 can save messages to file. But what to do with that mss-files? Associate with what elf (cause MySMSYS is daemon)? I prefer to save msg to txt :( And it will be cool if smi and smo formats would be supported.
Address book in 1.3 didn't work at all. I will try 1.4 soon. I think SMSman address book support was cool, do you still want to add new functions of working with AB to lib?

snoopyhzy, your English is fine. We are not englishmen either pardon

snoopyhzy02.10.2008, 14:41
Сержант
Сообщений: 27

Offline
[Отправить ЛС]
Quote
mss

Update 2008.10.2 version.
Only he saved his working....Not released in our forum

Quote
txt

Maybe wait......I wish he doing it too.
snoopyhzy02.10.2008, 19:09
Сержант
Сообщений: 27

Offline
[Отправить ЛС]
Patch for E71v45

Run elf in background first.

Вложения: MySMSYSinsteado.vkp (5.9 Kb)
huteusz02.10.2008, 19:31
Генерал-лейтенант
Сообщений: 490

Offline
[Отправить ЛС]
Where the ELF will be public?

What are changes comparing to SMSMan?

Отредактировано huteusz - Четверг, 02.10.2008, 19:31
snoopyhzy02.10.2008, 19:42
Сержант
Сообщений: 27

Offline
[Отправить ЛС]
huteusz,
Such as del sms.

Other improve you will find,if you use patch.

ELF:
2008.10.2

add [mss] to extension.cfg

Вложения: 7208539.elf (37.4 Kb)


Отредактировано snoopyhzy - Четверг, 02.10.2008, 20:33
sim_emrom03.10.2008, 00:11
Человек
Сообщений: 1758

Offline
[Отправить ЛС]
I made my compilation of version 1.4-ELKA for Eng and Rus (attached).
What does MSSlinker.elf do? Must we run it for linking mss?
Quote (huteusz)
Where the ELF will be public?
What are changes comparing to SMSMan?
MySMSYS reads EMS_Admin.dat together with SMS.dat and uses Siemens functions to delete messages. The aim is the same as in SMSman - to substitude browser's sms system.

Positive sides (comparing to SMSman):
+ Notify about new messages and allows to immediately read them, of course, quicklier than in browser :)
+ Much correct work with EMS-messages (e.g.you can't see text after picture in SMSman, MySMSYS shows it normally)
+ Quick sms-reading mode: just listing them in category by Left-Right buttons
+ Saves sms to files (.mss format, reading by MySMSYS)
+ Deleting sms, of course

Negative sides:
- Still unstable, crashes on starting GUI (especially with EL71v45) dontknow
- Needs new library functions, still did not add officially to FL
- Can't use Address Book...

2 BingK: I translated to Russian only language.c file, because when making language.h translated too, with Russian config-file you will get phone-off changing beetween Russian and English version at starting GUI.

Code
#ifdef LANG_RU
const char LGP_OK[]="OK";
const char LGP_BACK[]="Назад";
const char LGP_ADRBK[]="Адр.книга";
const char LGP_ERR[]="Ошибка!";
const char LGP_SELECT[]="Выбрать";
const char LGP_QUIT[]="Выход";
const char LGP_NEW[]="Создать SMS";
const char LGP_IN_R[]="Вход.прочит.";
const char LGP_IN_N[]="Вход.новые";
const char LGP_IN_A[]="Входящие";
const char LGP_OUT[]="Отправленные";
const char LGP_DRAFT[]="Черновики";
const char LGP_ALL[]="Все сообщения";
const char LGP_OPTIONS[]="Опции";
const char LGP_ERR_0NUM[]="Нет номера !";
const char LGP_EXIT[]="Выйти";

const char LGP_CANCEL[]="Отмена";
const char LGP_SEND[]="Отправить";
const char LGP_DEL[]="Удалить";
const char LGP_SAVE_AS_FILE[]="Сохранить в файл";

const char LGP_SAVE_AS_DRAFT[]="Сохранить в черновики";

const char LGP_INSERT_ADRNUM[]="Вставить из адресной книги";
const char LGP_INSERT_BLANKNUM[]="Вставить пустой номер";
const char LGP_CHAR_COUNT[]="";

const char STR_VIEW[]="Смотреть";
const char STR_EDIT[]="Изменить";
const char STR_REPLY[]="Ответить";

const char STR_NEW_MSG[]="Новое сообщение!";
const char STR_FROM[]="От:";
const char LGP_SAVEALL[]="Сохранить всё как файл";
const char LGP_CONFIG_UPDATE[]="MySMSYS config updated!";
#endif

And since v.1.4 I often get pikoff when starting GUI... It somehow depends on config-file (only version, not proved!): without it program always starts fine, I disable popup New SMS and icon for it... Also I often get phone-off after starting it some time after phone-reboot.
Exit Info data:

Code
P-Exit
Code: 0x0205
Data_Abort!
Address: 0xAD4F5154 (also: 0xAD7E5154, 0xAD53D154, 0xAD5F5154, 0xAD5A5154)
0x4209 - MMI
CPSR: 0x80000010

Please, change default folder of MySMSYS in config from disk 0: to 4:
Address-book in 1.4 not works!!! Pikoff - always.

Set default message idle icon to 426, hmm... If you want.

I wish of AutoChanging Registry... and of mass delete and :D
There are always too many ideas. Let the author just work.

My screenshots of MySMSYS in Russian:

Вложения: 4069416.elf (29.3 Kb) · MySMSYS_elka_ru.elf (29.4 Kb) · MssLinker.elf (0.4 Kb) · 6932303.png (24.8 Kb)


Отредактировано sim_emrom - Пятница, 03.10.2008, 00:14

Использование материалов сайта возможно только при согласовании с администрацией